/* AFADOR Dice Cinematic Roll Patch v4 */
:root{
  --afador-die-card-w: 96px;
  --afador-die-card-h: 118px;
  --afador-die-gold: #d6ab67;
  --afador-die-gold-2: #f2cf92;
  --afador-die-bg: #120d0b;
  --afador-die-line: rgba(235,191,118,.55);
  --afador-die-glow: rgba(255,182,74,.22);
  --afador-d100-accent: rgba(148,119,255,.36);
}

.afador-dice-bar,.dice{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}

button.afador-dice-btn,.afador-dice-btn{
  position:relative!important;width:var(--afador-die-card-w)!important;min-width:var(--afador-die-card-w)!important;height:var(--afador-die-card-h)!important;
  padding:0!important;border:1px solid rgba(214,171,103,.52)!important;border-radius:14px!important;color:transparent!important;
  background:linear-gradient(180deg,#24150e,#100b09)!important;box-shadow:0 12px 25px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,235,197,.08),0 0 0 1px rgba(0,0,0,.28)!important;
  overflow:hidden!important;isolation:isolate;cursor:pointer!important;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease!important;
}
.afador-dice-btn::before{content:"";position:absolute;inset:6px 6px 24px 6px;border-radius:10px;background:var(--afador-die-image) center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(255,227,184,.06)}
.afador-dice-btn::after{content:"";position:absolute;inset:auto 0 0 0;height:24px;z-index:0;background:linear-gradient(180deg, rgba(64,34,16,.75), rgba(20,12,10,.98));border-top:1px solid rgba(214,171,103,.34)}
.afador-dice-btn>span{position:absolute;left:0;right:0;bottom:4px;z-index:2;color:var(--afador-die-gold-2)!important;text-align:center;font:700 13px/1 Georgia,serif!important;letter-spacing:.03em;text-shadow:0 1px 0 #000,0 0 10px rgba(255,204,123,.08);pointer-events:none}
.afador-dice-btn:hover{transform:translateY(-3px) scale(1.025)!important;box-shadow:0 16px 32px rgba(0,0,0,.4),0 0 26px var(--afador-die-glow),inset 0 1px 0 rgba(255,235,197,.12)!important;filter:brightness(1.06)!important}
.afador-dice-btn:active{transform:translateY(1px) scale(.985)!important}
.afador-dice-btn--d100{border-color:rgba(181,142,255,.55)!important;box-shadow:0 12px 25px rgba(0,0,0,.34),0 0 20px rgba(141,117,255,.10),inset 0 1px 0 rgba(255,235,197,.08),0 0 0 1px rgba(0,0,0,.28)!important}
.afador-dice-btn--d100::after{background:linear-gradient(180deg, rgba(65,34,89,.84), rgba(17,10,24,.98));border-top-color:rgba(176,145,255,.36)}
.afador-dice-btn--pending{filter:brightness(1.08) saturate(1.04)}

[data-open-dice-window]{min-height:42px;padding:0 14px!important;font:700 14px/1 Georgia,serif!important;border-radius:12px!important}

.afador-dice-result,[data-afador-dice-result]{position:relative;border-radius:18px!important;border:1px solid rgba(214,171,103,.28)!important;background:linear-gradient(180deg,rgba(25,14,11,.92),rgba(8,17,34,.95))!important;box-shadow:0 18px 36px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.04)!important;overflow:hidden}
.afador-dice-result::before,[data-afador-dice-result]::before{content:"";position:absolute;inset:8px;border-radius:12px;border:1px solid rgba(214,171,103,.14);pointer-events:none}
.afador-dice-result.afador-dice-result--flash{animation:afadorDiceResultPulse .82s ease}
@keyframes afadorDiceResultPulse{0%{transform:scale(.99)}38%{transform:scale(1.012);box-shadow:0 0 32px rgba(255,189,91,.18),0 18px 36px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,245,219,.08)}100%{transform:scale(1)}}
.afador-dice-chat-entry{border:1px solid rgba(214,171,103,.24)!important;background:linear-gradient(180deg, rgba(56,36,18,.22), rgba(20,16,21,.10))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 0 0 1px rgba(0,0,0,.08)}
.afador-dice-history-afx{scroll-behavior:smooth}.afador-dice-history-afx.afador-dice-history-afx--flash{animation:afadorDiceHistoryFlash .8s ease}@keyframes afadorDiceHistoryFlash{0%{box-shadow:0 0 0 rgba(0,0,0,0)}45%{box-shadow:0 0 24px rgba(255,189,91,.12)}100%{box-shadow:0 0 0 rgba(0,0,0,0)}}

/* cinematic roll window */
.afador-roll-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center, rgba(16,14,21,.34), rgba(4,6,11,.82));backdrop-filter:blur(2px);z-index:10000;opacity:0;pointer-events:none;transition:opacity .22s ease}
.afador-roll-overlay.show{opacity:1;pointer-events:auto}
.afador-roll-panel{position:relative;width:min(96vw,760px);min-height:480px;padding:20px 22px 18px;border-radius:28px;border:1px solid rgba(214,171,103,.45);background:linear-gradient(180deg, rgba(32,20,13,.98), rgba(11,14,22,.985));box-shadow:0 26px 70px rgba(0,0,0,.56), inset 0 0 0 1px rgba(255,255,255,.05);display:grid;justify-items:center;align-content:start;gap:12px;overflow:hidden}
.afador-roll-panel::before{content:"";position:absolute;inset:12px;border-radius:20px;border:1px solid rgba(214,171,103,.14);pointer-events:none}
.afador-roll-close-x{position:absolute;top:12px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(214,171,103,.32);background:linear-gradient(180deg,#402816,#1a120e);color:#f2cf92;font:700 22px/1 Georgia,serif;cursor:pointer}
.afador-roll-title{font:700 26px/1.1 Georgia,serif;color:#f2cf92;letter-spacing:.04em;text-align:center;text-transform:uppercase;margin-top:6px}
.afador-roll-hint{font:400 16px/1.35 Georgia,serif;color:#d8cdb8;text-align:center;min-height:22px}
.afador-roll-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;max-width:680px;padding:4px 4px 2px}
.afador-roll-pick{position:relative;height:138px;border-radius:18px;border:1px solid rgba(214,171,103,.5);background:linear-gradient(180deg,#25160f,#100b09);box-shadow:0 14px 28px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,235,197,.08);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;padding:0;overflow:hidden}
.afador-roll-pick:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 18px 34px rgba(0,0,0,.45),0 0 22px rgba(255,182,74,.16)}
.afador-roll-pick:disabled{opacity:.55;cursor:default;transform:none!important}
.afador-roll-pick__img{position:absolute;inset:8px 8px 28px 8px;border-radius:12px;background:var(--afador-die-image) center/cover no-repeat}
.afador-roll-pick__label{position:absolute;left:0;right:0;bottom:7px;text-align:center;color:#f2cf92;font:700 16px/1 Georgia,serif;letter-spacing:.03em;text-shadow:0 1px 0 #000}
.afador-roll-pick--d100{border-color:rgba(181,142,255,.58);box-shadow:0 14px 28px rgba(0,0,0,.34),0 0 24px rgba(141,117,255,.10), inset 0 1px 0 rgba(255,235,197,.08)}
.afador-roll-pick--d100:hover{box-shadow:0 18px 34px rgba(0,0,0,.45),0 0 24px rgba(158,125,255,.18)}
.afador-roll-stage{position:relative;width:320px;height:300px;display:grid;place-items:center;perspective:1400px;margin-top:2px}
.afador-roll-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(255,183,92,.24), rgba(118,67,16,.12) 46%, transparent 72%);filter:blur(18px)}
.afador-roll-shadow{position:absolute;bottom:34px;width:180px;height:34px;border-radius:50%;background:radial-gradient(circle, rgba(0,0,0,.46), transparent 70%);filter:blur(8px)}
.afador-roll-die{position:relative;width:216px;height:216px;transform-style:preserve-3d;display:grid;place-items:center;will-change:transform}
.afador-roll-die.rolling{animation:afadorRoll3D .96s cubic-bezier(.18,.88,.16,1) infinite}
@keyframes afadorRoll3D{0%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateY(0) scale(1)}12%{transform:rotateX(95deg) rotateY(86deg) rotateZ(-10deg) translateY(-7px) scale(1.02)}26%{transform:rotateX(175deg) rotateY(165deg) rotateZ(12deg) translateY(2px) scale(1.01)}40%{transform:rotateX(260deg) rotateY(250deg) rotateZ(-8deg) translateY(-6px) scale(1.03)}58%{transform:rotateX(352deg) rotateY(338deg) rotateZ(12deg) translateY(3px) scale(1.01)}76%{transform:rotateX(445deg) rotateY(430deg) rotateZ(-7deg) translateY(-4px) scale(1.02)}100%{transform:rotateX(540deg) rotateY(540deg) rotateZ(0deg) translateY(0) scale(1)}}
.afador-roll-face{width:200px;height:200px;border-radius:18px;position:relative;overflow:hidden;border:1px solid rgba(214,171,103,.45);box-shadow:0 16px 38px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06);background:linear-gradient(180deg,#281810,#100a08)}
.afador-roll-face::before{content:"";position:absolute;inset:0;background:var(--afador-roll-image) center/cover no-repeat}
.afador-roll-face::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(255,255,255,.10), transparent 22%, transparent 78%, rgba(255,201,126,.10));mix-blend-mode:screen}
.afador-roll-die[data-shape="d4"] .afador-roll-face{clip-path:polygon(50% 0%, 100% 82%, 0% 82%);border-radius:0}
.afador-roll-die[data-shape="d6"] .afador-roll-face{border-radius:16px}
.afador-roll-die[data-shape="d8"] .afador-roll-face,.afador-roll-die[data-shape="d10"] .afador-roll-face,.afador-roll-die[data-shape="d12"] .afador-roll-face,.afador-roll-die[data-shape="d20"] .afador-roll-face,.afador-roll-die[data-shape="d100"] .afador-roll-face{clip-path:polygon(50% 0%, 87% 14%, 100% 50%, 86% 86%, 50% 100%, 14% 86%, 0% 50%, 13% 14%);border-radius:0}
.afador-roll-die--d100 .afador-roll-face{border-color:rgba(180,144,255,.5);box-shadow:0 16px 38px rgba(0,0,0,.38),0 0 26px rgba(133,111,255,.16), inset 0 1px 0 rgba(255,255,255,.06)}
.afador-roll-sub{font:400 16px/1.35 Georgia,serif;color:#e7d8c0;text-align:center;min-height:24px}
.afador-roll-result{font:700 52px/1 Georgia,serif;color:#f8deb0;text-shadow:0 0 14px rgba(255,182,74,.22);text-align:center;min-height:56px}
.afador-roll-detail{font:400 15px/1.4 Georgia,serif;color:#d9cbb5;text-align:center;min-height:24px;max-width:88%}

@media (max-width: 900px){
  :root{--afador-die-card-w:84px;--afador-die-card-h:104px}
  .afador-roll-panel{width:min(96vw,640px);padding:18px 14px 16px;min-height:440px}
  .afador-roll-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .afador-roll-pick{height:126px}
  .afador-roll-stage{width:260px;height:250px}.afador-roll-die{width:180px;height:180px}.afador-roll-face{width:168px;height:168px}.afador-roll-result{font-size:44px}
}
@media (max-width: 560px){
  .afador-roll-title{font-size:22px}.afador-roll-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.afador-roll-pick{height:118px}
}


/* v10 — main player page dice buttons */
body.afador-portal-root .dice-box .dice-buttons{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:flex-end!important;gap:14px!important;padding:12px 0 8px!important;}
body.afador-portal-root .dice-box .dice-buttons .die,body.afador-portal-root .dice-box .dice-buttons .die.afador-dice-btn{width:92px!important;min-width:92px!important;height:112px!important;min-height:112px!important;padding:0!important;margin:0!important;clip-path:none!important;border-radius:14px!important;border:1px solid rgba(214,171,103,.58)!important;background:linear-gradient(180deg,#24150e,#100b09)!important;box-shadow:0 12px 26px rgba(0,0,0,.34),0 0 18px rgba(255,182,74,.08),inset 0 1px 0 rgba(255,235,197,.08)!important;color:transparent!important;overflow:hidden!important;transform:none!important;}
body.afador-portal-root .dice-box .dice-buttons .die.afador-dice-btn::before{inset:6px 6px 25px 6px!important;border-radius:10px!important;background:var(--afador-die-image) center/cover no-repeat!important;}
body.afador-portal-root .dice-box .dice-buttons .die.afador-dice-btn::after{height:25px!important;background:linear-gradient(180deg,rgba(66,37,18,.78),rgba(18,12,10,.98))!important;border-top:1px solid rgba(214,171,103,.34)!important;}
body.afador-portal-root .dice-box .dice-buttons .die.afador-dice-btn>span{bottom:5px!important;color:#f2cf92!important;font:700 13px/1 Georgia,serif!important;}
body.afador-portal-root .dice-box .dice-buttons .die.afador-dice-btn:hover{transform:translateY(-4px) scale(1.035)!important;filter:brightness(1.08)!important;box-shadow:0 16px 32px rgba(0,0,0,.42),0 0 28px rgba(255,182,74,.18),inset 0 1px 0 rgba(255,235,197,.12)!important;}
body.afador-portal-root .dice-box .dice-buttons .die.afador-dice-btn--d100{border-color:rgba(181,142,255,.62)!important;box-shadow:0 12px 26px rgba(0,0,0,.34),0 0 24px rgba(141,117,255,.14),inset 0 1px 0 rgba(255,235,197,.08)!important;}
@media(max-width:760px){body.afador-portal-root .dice-box .dice-buttons .die,body.afador-portal-root .dice-box .dice-buttons .die.afador-dice-btn{width:78px!important;min-width:78px!important;height:98px!important;min-height:98px!important;}}
