#opening-roll{padding:0;border:1px solid #a78e5566;border-radius:18px;width:min(720px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);color:#fff3d6;background:#0c191c;box-shadow:0 24px 100px #000b;overflow:auto}
#opening-roll::backdrop{background:#041015c9;backdrop-filter:blur(7px)}
#opening-roll .opening-stage{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;padding:25px 36px 18px;overflow:hidden;background:radial-gradient(ellipse at 50% 15%,#a452ff24,transparent 40%),radial-gradient(ellipse at 50% 76%,#39bfff24,transparent 43%),linear-gradient(135deg,#15212d,#0a141a)}
#opening-roll .opening-stage:before{content:'';position:absolute;inset:65px 20px 60px;border:1px solid #a4a57720;z-index:-1;clip-path:polygon(0 0,30% 0,30% 1%,1% 1%,1% 99%,30% 99%,30% 100%,0 100%,0 0,100% 0,100% 100%,70% 100%,70% 99%,99% 99%,99% 1%,70% 1%,70% 0)}
#opening-roll .opening-heading{width:100%;display:flex;justify-content:space-between;gap:12px;color:#c5b68d;font-size:10px;letter-spacing:.22em}
#opening-roll .opening-eyebrow{font-size:10px;letter-spacing:.25em;font-weight:700;color:#bba977}
#opening-roll .opening-contestant{--die:#9952db;--light:#e1b5ff;--dark:#3c195f;display:flex;align-items:center;flex-direction:column;gap:4px;perspective:700px;padding:14px 0 10px;width:100%}
#opening-roll .opening-you{--die:#319ddd;--light:#b4edff;--dark:#123d76;padding-top:10px}
#opening-roll .opening-name{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;max-width:100%;overflow-wrap:anywhere;text-align:center;color:#e5d9bd}
#opening-roll .opening-die-wrap{width:clamp(105px,19vh,165px);height:clamp(115px,21vh,181px);position:relative;filter:drop-shadow(0 12px 14px #0008)}
#opening-roll .opening-die{display:block;width:100%;height:100%;overflow:visible;transform-origin:50% 50%}
#opening-roll .opening-die path{stroke:var(--dark);stroke-width:1.4;stroke-linejoin:round}
#opening-roll .die-outline{fill:var(--die);stroke:var(--light);stroke-width:2}
#opening-roll .die-top{fill:var(--light)}
#opening-roll .die-left{fill:var(--die);filter:brightness(.82)}
#opening-roll .die-right{fill:var(--dark)}
#opening-roll .die-bottom{fill:var(--die);filter:brightness(.72)}
#opening-roll .die-center{fill:var(--die)}
#opening-roll .die-facet{fill:var(--light);opacity:.55}
#opening-roll .opening-die .die-etch{fill:none;stroke:var(--light);stroke-width:1.3;opacity:.65}
#opening-roll .die-value{font:700 39px Georgia,serif;fill:#f5f3ff;text-anchor:middle;paint-order:stroke;stroke:var(--dark);stroke-width:1.4}
#opening-roll .die-small{font:700 17px Georgia,serif;fill:var(--light);opacity:.85;text-anchor:middle}
#opening-roll .opening-roll-label{color:var(--light);font-size:9px;letter-spacing:.24em;min-height:14px;opacity:.65}
#opening-roll .opening-verdict{text-align:center;position:relative;width:100%;padding:16px 12px;border-block:1px solid #bea16b66;background:linear-gradient(90deg,transparent,#c6a3560e,transparent)}
#opening-roll h2{margin:6px 0;font:500 clamp(22px,3vw,32px)/1.15 Georgia,serif;color:#fff2ce;text-wrap:balance}
#opening-roll .opening-help{font-size:12px;color:#adbbb7;line-height:1.5;margin:8px auto 0;max-width:390px;text-wrap:balance}
#opening-roll .opening-actions{display:flex;justify-content:center;gap:14px;width:100%;margin:20px auto 0;max-width:520px}
#opening-roll .opening-actions:empty{display:none}
#opening-roll .opening-choice{flex:1;min-width:0;padding:17px 14px;border:2px solid #c9ad70;border-radius:8px;color:#fff1ce;background:linear-gradient(#665032,#302b22);font-size:16px;letter-spacing:.02em;box-shadow:inset 0 1px #fff2}
#opening-roll .opening-choice strong{display:block;font-size:23px;line-height:1.2;white-space:nowrap}
#opening-roll .opening-choice small{display:block;margin-top:7px;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:0;text-wrap:balance}
#opening-roll .opening-choice:nth-child(2){background:#122d2a;border-color:#568c7a;color:#cfebdf}
#opening-roll .opening-choice:hover{filter:brightness(1.2)}
#opening-roll .opening-skip{padding:10px 15px 0;font-size:11px;font-weight:400;background:none;color:#a3b1ac}
#opening-roll .is-winner .opening-die-wrap{filter:drop-shadow(0 0 24px color-mix(in srgb,var(--die) 45%,transparent));transform:scale(1.07)}
#opening-roll .is-winner .opening-roll-label{opacity:1}
#opening-roll.is-rolling .opening-die{animation:opening-tumble .65s cubic-bezier(.2,.7,.3,1) both}
#opening-roll.is-rolling .opening-you .opening-die{animation-name:opening-tumble-own}
#opening-roll.is-revealed .opening-skip{display:none}
#opening-roll.is-assigned .opening-die-wrap,#opening-roll.is-assigned .opening-roll-label{display:none}
#opening-roll.is-assigned .opening-stage{padding-block:32px}
@keyframes opening-tumble{from{transform:translateY(-24px) rotateZ(-300deg) scale(.8)}to{transform:none}}
@keyframes opening-tumble-own{from{transform:translateY(24px) rotateZ(300deg) scale(.8)}to{transform:none}}
@media(max-width:480px){#opening-roll .opening-stage{padding:18px 16px 12px}#opening-roll .opening-choice{padding:13px 7px}#opening-roll .opening-choice strong{font-size:clamp(16px,4.5vw,20px)}#opening-roll .opening-actions{gap:10px;margin-top:16px}#opening-roll .opening-heading{font-size:9px}#opening-roll .opening-verdict{padding:12px 5px}}
@media(max-height:650px){#opening-roll .opening-die-wrap{width:85px;height:94px}#opening-roll .opening-contestant{padding:7px 0;gap:2px}#opening-roll .opening-stage{padding-block:12px}#opening-roll .opening-verdict{padding-block:9px}#opening-roll h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){#opening-roll *,#opening-roll *:before{animation:none!important;transition:none!important}}
