.cinematic-dice-overlay{z-index:220;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cinematic-dice-backdrop{cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.cinematic-dice-overlay[data-crit=true] .cinematic-dice-backdrop{background:radial-gradient(#ffce6b1f 0%,#0000 55%)}.cinematic-dice-overlay[data-fumble=true] .cinematic-dice-backdrop{background:radial-gradient(#b8202f24 0%,#0000 55%)}.cinematic-dice-stage{z-index:1;pointer-events:none;position:absolute;inset:0}.cinematic-dice-overlay[data-phase=exit] .cinematic-dice-stage{animation:.7s forwards cinematic-dice-exit}.cinematic-dice-label{letter-spacing:.08em;text-transform:uppercase;color:#d6b67a;text-shadow:0 1px 6px #000c;margin:0;font-size:.72rem;position:absolute;top:4.5rem;left:50%;transform:translate(-50%)}.cinematic-dice-canvas-wrap{width:100%;height:100%;position:absolute;inset:0}.cinematic-dice-canvas-wrap--pool{width:min(72vw,420px);height:min(56vw,340px);inset:50% auto auto 50%;transform:translate(-50%,-50%)}.cinematic-dice-result{text-align:center;background:#0c0716eb;border:1px solid #ff7a1a66;border-radius:14px;flex-direction:column;align-items:center;gap:.15rem;padding:.7rem 1.3rem;display:flex;position:absolute;bottom:9%;right:4%;box-shadow:0 8px 30px #0009}.cinematic-dice-result:empty{display:none}.cinematic-dice-pool-faces{flex-wrap:wrap;justify-content:center;gap:.45rem;max-width:min(88vw,28rem);display:flex}.cinematic-dice-pool-face{color:#f4e7cf;min-width:2.35rem;height:2.35rem;font-family:var(--font-display,"Cinzel", Georgia, serif);opacity:0;background:#0805108c;border:1px solid #d6b67a73;border-radius:.55rem;justify-content:center;align-items:center;padding:0 .35rem;font-size:1.08rem;font-weight:700;display:inline-flex;transform:translateY(6px)scale(.85)}.cinematic-dice-overlay--pool[data-phase=reveal] .cinematic-dice-pool-face[data-revealed],.cinematic-dice-overlay--pool[data-phase=exit] .cinematic-dice-pool-face[data-revealed]{animation:.38s cubic-bezier(.22,1,.36,1) forwards cinematic-pool-face-in}.cinematic-dice-pool-total{color:#c9bca0;opacity:0;margin:.35rem 0 0;font-size:.92rem}.cinematic-dice-overlay--pool[data-phase=reveal] .cinematic-dice-pool-total,.cinematic-dice-overlay--pool[data-phase=exit] .cinematic-dice-pool-total{animation:.45s .2s forwards cinematic-result-in}.cinematic-dice-face{font-family:var(--font-display,"Cinzel", Georgia, serif);color:#ffce9e;opacity:0;text-shadow:0 2px 16px #ff7a1a80;font-size:clamp(2.5rem,8vw,4rem);font-weight:700;line-height:1;transform:scale(.6)}.cinematic-dice-overlay[data-phase=reveal] .cinematic-dice-face,.cinematic-dice-overlay[data-phase=exit] .cinematic-dice-face{animation:.55s cubic-bezier(.22,1,.36,1) forwards cinematic-result-in}.cinematic-dice-overlay[data-crit=true] .cinematic-dice-face{color:#ffd86b;text-shadow:0 0 22px #ffce6bd9}.cinematic-dice-overlay[data-fumble=true] .cinematic-dice-face{color:#e0556b;text-shadow:0 0 18px #e0556bb3}.cinematic-dice-mod,.cinematic-dice-total-label{color:#c9bca0;opacity:0;font-size:.9rem}.cinematic-dice-mod strong{color:#e7ddc9}.cinematic-dice-overlay[data-phase=reveal] .cinematic-dice-mod,.cinematic-dice-overlay[data-phase=reveal] .cinematic-dice-total-label,.cinematic-dice-overlay[data-phase=exit] .cinematic-dice-mod,.cinematic-dice-overlay[data-phase=exit] .cinematic-dice-total-label{animation:.5s .15s forwards cinematic-result-fade}.cinematic-dice-badge{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;margin-top:.15rem;padding:.15rem .5rem;font-size:.68rem}.cinematic-dice-badge--crit{color:#ffd86b;border:1px solid #ffce6b80}.cinematic-dice-badge--fumble{color:#e0556b;border:1px solid #e0556b8c}.cinematic-dice-skip-hint{color:#b9ae93;opacity:.7;text-shadow:0 1px 5px #000c;margin:0;font-size:.62rem;position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%)}@keyframes cinematic-dice-exit{to{opacity:0;transform:scale(.92)translateY(-12px)}}@keyframes cinematic-result-in{to{opacity:1;transform:scale(1)}}@keyframes cinematic-result-fade{to{opacity:1}}@keyframes cinematic-pool-face-in{to{opacity:1;transform:translateY(0)scale(1)}}.dice-canvas{width:100%;height:88px;display:block}.dice-canvas--cinematic{filter:drop-shadow(0 10px 30px #00000080);width:100%;height:100%;display:block}.dice-canvas-label{text-align:center;color:#d6b67a;margin:.1rem 0 0;font-size:.72rem}@media (prefers-reduced-motion:reduce){.cinematic-dice-overlay,.cinematic-dice-stage,.cinematic-dice-face,.cinematic-dice-pool-face,.cinematic-dice-pool-total{animation:none!important}}.dice-result-card{--dice-tint:#c81830;border:1px solid color-mix(in srgb, var(--dice-tint) 45%, transparent);background:color-mix(in srgb, var(--dice-tint) 9%, #0c071699);border-radius:10px;flex-direction:column;gap:.2rem;max-width:100%;padding:.45rem .7rem;font-family:inherit;display:inline-flex}.dice-result-card[data-crit]{border-color:#ffd86b;box-shadow:0 0 12px #ffce6b59}.dice-result-card[data-fumble]{border-color:#e0556b}.drc-head{align-items:baseline;gap:.4rem;font-size:.7rem;display:flex}.drc-roller{color:var(--dice-tint);font-weight:700}.drc-label{color:#b9ae93;text-transform:uppercase;letter-spacing:.04em}.drc-body{align-items:center;gap:.6rem;display:flex}.drc-groups{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.drc-group{align-items:baseline;gap:.2rem;display:inline-flex}.drc-die{color:#8a8577;font-size:.68rem}.drc-rolls{color:var(--dice-tint);font-weight:600}.drc-mod{color:#c9bca0;font-size:.76rem}.drc-total{color:var(--dice-tint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:1.15rem;font-weight:800;line-height:1}.dice-result-card[data-crit] .drc-total{color:#ffd86b}.dice-result-card[data-fumble] .drc-total{color:#e0556b}.drc-badge{letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:.05rem .4rem;font-size:.6rem}.drc-badge--crit{color:#ffd86b;border:1px solid #ffce6b80}.drc-badge--fumble{color:#e0556b;border:1px solid #e0556b8c}.dice-skin-picker{grid-template-columns:repeat(4,1fr);gap:.4rem;width:max-content;max-width:100%;display:grid}.dice-skin-swatch{--skin:#c81830;cursor:pointer;background:#ffffff08;border:1px solid #0000;border-radius:9px;flex-direction:column;align-items:center;gap:.28rem;padding:.32rem .3rem .36rem;transition:border-color .12s,filter .12s,opacity .12s,background .12s;display:flex;position:relative}.dice-skin-swatch:hover:not(:disabled){filter:brightness(1.12);border-color:color-mix(in srgb, var(--skin) 50%, transparent);background:#ffffff0f}.dice-skin-swatch[data-selected]{border-color:var(--skin);box-shadow:0 0 10px color-mix(in srgb, var(--skin) 45%, transparent);background:color-mix(in srgb, var(--skin) 12%, transparent)}.dice-skin-swatch[data-locked]{opacity:.5;cursor:not-allowed}.dice-skin-chip{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--skin) 85%, white) 0%, var(--skin) 55%, color-mix(in srgb, var(--skin) 60%, black) 100%);border:1px solid color-mix(in srgb, var(--skin) 60%, black);border-radius:7px;width:32px;height:32px;position:relative}.dice-skin-tag{color:#2a1c08;background:linear-gradient(160deg,#ffe6a0,#d6b67a);border-radius:999px;justify-content:center;align-items:center;min-width:13px;height:13px;padding:0 2px;font-size:8px;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px;box-shadow:0 1px 3px #00000080}.dice-skin-swatch[data-locked] .dice-skin-tag{box-shadow:none;background:0 0;font-size:9px}.dice-skin-swatch[data-fx=fire] .dice-skin-chip{background:radial-gradient(circle at 50% 75%,#ffdf8f 0%,#e0701a 35%,#a81018 75%,#4a0806 100%);animation:1.1s ease-in-out infinite alternate dice-skin-fire}@keyframes dice-skin-fire{0%{box-shadow:0 0 4px #c2440f}to{box-shadow:0 0 11px #e0701a}}.dice-skin-swatch[data-fx=blood] .dice-skin-chip{background:radial-gradient(circle at 45% 28%,#c0303a 0%,#7a0f18 42%,#3a060c 100%);animation:1.7s ease-in-out infinite alternate dice-skin-blood}@keyframes dice-skin-blood{0%{box-shadow:0 0 3px #5a0a10}to{box-shadow:0 0 10px #8a1018}}.dice-skin-label{color:#c9bca0;letter-spacing:.02em;white-space:nowrap;font-size:.58rem}.dice-skin-swatch[data-selected] .dice-skin-label{color:var(--skin);font-weight:700}.dnd-dice-tray{z-index:220;color:#e8dabc;background:linear-gradient(#1b1130fc,#0c0716fc);border:1px solid #d6b67a75;border-radius:.8rem;flex-direction:column;gap:.7rem;width:min(22.5rem,100vw - 1.5rem);padding:.9rem;font-family:inherit;animation:.16s cubic-bezier(.25,.8,.4,1) dnd-dice-tray-in;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 1.1rem 3rem #00000094,inset 0 0 1.4rem #532e7d33}@keyframes dnd-dice-tray-in{0%{opacity:0;transform:translateY(-.35rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.dnd-dice-tray__head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dnd-dice-tray__head strong{color:#d6b67a;letter-spacing:.02em;font-size:1rem}.dnd-dice-tray__close{color:#c9bca0;cursor:pointer;background:0 0;border:1px solid #d6b67a40;border-radius:.45rem;place-items:center;width:1.7rem;height:1.7rem;padding:0;font-size:1.25rem;line-height:1;display:inline-grid}.dnd-dice-tray__close:hover{color:#fff4de;border-color:#d6b67a99}.dnd-dice-tray__dice{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.dnd-dice-tray__dice button,.dnd-dice-tray__advantage button,.dnd-dice-tray__stepper button,.dnd-dice-tray__style-toggle,.dnd-dice-tray__mode{color:#c9bca0;cursor:pointer;background:#ffffff09;border:1px solid #d6b67a40}.dnd-dice-tray__dice button{border-radius:.5rem;min-height:2.25rem;font:700 .75rem/1 inherit}.dnd-dice-tray__dice button:hover,.dnd-dice-tray__dice button[data-active],.dnd-dice-tray__advantage button:hover,.dnd-dice-tray__advantage button[data-active]{color:#fff4de;border-color:#d6b67aad}.dnd-dice-tray__dice button[data-active],.dnd-dice-tray__advantage button[data-active]{color:#e2c67f;background:#d6b67a24;box-shadow:inset 0 0 .65rem #d6b67a14}.dnd-dice-tray__advantage button[data-kind=adv][data-active]{color:#8fe6b0;background:#6fe6a01f;border-color:#6fe6a0}.dnd-dice-tray__advantage button[data-kind=dis][data-active]{color:#ef9da4;background:#b8202f29;border-color:#e37680}.dnd-dice-tray__steppers{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.dnd-dice-tray__stepper{gap:.3rem;display:grid}.dnd-dice-tray__stepper>span{color:#a9a08d;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:700}.dnd-dice-tray__stepper>div{background:#0003;border:1px solid #d6b67a33;border-radius:.5rem;align-items:center;display:flex}.dnd-dice-tray__stepper button{border-color:#0000;width:2rem;height:1.9rem;font-size:1rem}.dnd-dice-tray__stepper button:hover:not(:disabled){color:#e2c67f;background:#d6b67a21}.dnd-dice-tray__stepper button:disabled{opacity:.35;cursor:not-allowed}.dnd-dice-tray__stepper b{color:#fff4de;font-variant-numeric:tabular-nums;text-align:center;flex:1;font-size:.9rem}.dnd-dice-tray__advantage{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.dnd-dice-tray__advantage button{border-radius:.45rem;min-height:2rem;padding:.3rem;font:600 .68rem/1 inherit}.dnd-dice-tray__roll{color:#fff4de;cursor:pointer;background:linear-gradient(#bd3a2d,#7d171f);border:1px solid #ffde9e9e;border-radius:.6rem;min-height:2.75rem;font:800 1rem/1 inherit;box-shadow:0 .4rem 1.1rem #7e171f59}.dnd-dice-tray__roll:hover{filter:brightness(1.12);transform:translateY(-1px)}.dnd-dice-tray__note{color:#a9a08d;text-align:center;margin:-.25rem 0 0;font-size:.68rem;line-height:1.35}.dnd-dice-tray__style-toggle{border-color:#0000;border-radius:.4rem;align-self:center;padding:.3rem .5rem;font:.68rem/1 inherit}.dnd-dice-tray__style-toggle:hover{color:#fff4de;border-color:#d6b67a61}.dnd-dice-tray__style{border-top:1px solid #d6b67a2e;gap:.6rem;padding-top:.65rem;display:grid}.dnd-dice-tray__mode{text-align:left;border-radius:.45rem;min-height:2rem;padding:.35rem .55rem;font:600 .72rem/1 inherit}.dnd-dice-tray__mode:hover{color:#fff4de;border-color:#d6b67aa6}.dnd-dice-tray__footer{border-top:1px solid #d6b67a2e;gap:.45rem;padding-top:.65rem;display:grid}.dnd-dice-tray :focus-visible{outline-offset:2px;outline:2px solid #f0c867}@media (max-width:480px){.dnd-dice-tray{max-height:calc(100dvh - 1.5rem);position:fixed;top:auto;bottom:.75rem;right:.75rem;overflow:auto}}
