.stage-viewport{touch-action:manipulation;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.stage-viewport.hide-cursor{cursor:none}.stage{width:2048px;height:858px;color:var(--text);font-family:var(--font-body), system-ui, sans-serif;transform-origin:50%;flex:none;transition:background 1.2s;position:relative;overflow:hidden}.stage .cap{letter-spacing:.2em;font-size:11px;font-weight:600}.stage .display{font-family:var(--font-display), serif}.stage-cols{gap:28px;padding:28px;display:flex;position:absolute;inset:0}.pill{white-space:nowrap;color:#e9e3d6;background:#ffffff08;border:1px solid #eadbb429;border-radius:999px;align-items:center;height:24px;padding:0 10px;font-size:13px;font-weight:500;transition:background .1s,box-shadow .1s,color .1s,border-color .1s,opacity .7s;display:inline-flex;position:relative}.pill.drawn{color:var(--dim);background:0 0;border-color:#eadbb40d;transition-duration:.9s}.pill.now{color:var(--bg);background:var(--brass);border-color:var(--champagne);transition-duration:.4s;box-shadow:0 0 0 3px #c9a55c2e,0 0 18px #c9a55c80}.pill.lit{color:#fff;background:#ffe2a029;border-color:#ffe3a3;box-shadow:0 0 16px #ffd68c99}.pill .badge{color:#c9a55cbf;letter-spacing:.04em;background:#0a0f1c;border:1px solid #c9a55c4d;border-radius:6px;height:12px;padding:0 3px;font-size:8px;font-weight:700;line-height:10px;animation:.5s cubic-bezier(.2,.8,.3,1.4) .5s both badgeIn;position:absolute;top:-6px;right:-4px}@keyframes badgeIn{0%{opacity:0;transform:scale(.3)}}.tight-1 .pill{height:22px;padding:0 9px;font-size:12.5px}.tight-2 .pill{height:20px;padding:0 8px;font-size:12px}.prog-row{height:23px;color:var(--muted);grid-template-columns:26px minmax(0,1fr) 14px;align-items:center;gap:6px;padding:0 8px;font-size:13.5px;font-weight:500;transition:background .6s,color .6s;display:grid}.prog-row .num{letter-spacing:.14em;color:var(--brass);font-size:10px;font-weight:700}.prog-row.done{color:var(--dim)}.prog-row.done .num{color:#c9a55c73}.prog-row.current{color:var(--text);background:#c9a55c2e}@keyframes bulb{0%,to{fill:#3b3627}35%{fill:#ffe6ae}}.chase circle{animation:.9s linear infinite bulb;animation-delay:var(--cd)}.chase-fast circle{animation:.45s linear infinite bulb;animation-delay:var(--cd)}@keyframes winPulse{0%,to{stroke-opacity:.35}50%{stroke-opacity:1}}@keyframes winFlash{0%{stroke-width:12px;stroke:#fff}to{stroke-width:2.5px}}@keyframes winIn{0%{opacity:0}30%{opacity:1;filter:drop-shadow(0 0 10px #ffe9b8e6)}to{opacity:1}}.win-in{animation:.9s ease-out both winIn}.win-pulse{animation:.6s ease-in-out infinite winPulse}.win-flash{filter:drop-shadow(0 0 8px #ffd68ccc);animation:1s ease-out winFlash}@keyframes hubRoll{0%{opacity:0;transform:translateY(70%)}}.hub-num{animation:.7s cubic-bezier(.2,.8,.3,1) both hubRoll;animation-delay:var(--hd,0s)}@keyframes bulbBg{0%,to{box-shadow:none;background:#4a4230}35%{background:#ffe6ae;box-shadow:0 0 8px #ffd98a}}.mq{border-radius:50%;width:6px;height:6px;animation:1.2s linear infinite bulbBg;position:absolute}@keyframes plaqueIn{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes plaqueOut{to{opacity:0;filter:blur(4px);transform:scale(1.12)}}@keyframes enterUp{0%{opacity:0;transform:translateY(14px)}}@keyframes enterRight{0%{opacity:0;transform:translate(36px)}}.announce{animation:.8s cubic-bezier(.2,.8,.3,1) both plaqueIn}.announce .line{animation:.7s cubic-bezier(.2,.8,.3,1) both enterUp;animation-delay:calc(.35s + var(--k) * .16s)}.announce.leaving{animation:.6s ease-in both plaqueOut}.sweep{pointer-events:none;z-index:20;mix-blend-mode:screen;background:linear-gradient(90deg,#ffe6aa00 0%,#ffe6aa1a 40%,#fff2d242 50%,#ffe6aa1a 60%,#ffe6aa00 100%);width:560px;animation:1.4s cubic-bezier(.45,0,.3,1) both sweep;position:absolute;top:-40px;bottom:-40px;left:-700px}@keyframes sweep{0%{transform:translate(0)skew(-14deg)}to{transform:translate(3500px)skew(-14deg)}}.swap-out{animation:.5s cubic-bezier(.5,0,.75,0) both swapOut}@keyframes swapOut{to{opacity:0;transform:translate(-28px)}}.swap-in>*{animation:.6s cubic-bezier(.2,.8,.3,1) both enterRight;animation-delay:calc(var(--sd,.1s) + var(--k,0) * 70ms)}.curtain-canvas{width:2048px;height:858px;display:block;position:absolute;inset:0}.spill{opacity:0;pointer-events:none;background:radial-gradient(50% 60% at 50% 30%,#ffe4aa6b,#ffe4aa1f 45%,#ffe4aa00 70%);width:1500px;height:1100px;margin-left:-750px;position:absolute;top:-12%;left:50%}.curtain.opening .spill{animation:2.8s .4s both spill}@keyframes spill{0%{opacity:0;transform:scaleX(.06)}35%{opacity:1;transform:scaleX(.45)}75%{opacity:.8;transform:scaleX(1)}to{opacity:0;transform:scaleX(1.3)}}.curtain.opening .curtain-title{animation:.75s cubic-bezier(.5,0,.75,0) .3s both titleAway}@keyframes titleAway{to{opacity:0;filter:blur(8px);transform:translateY(-26px)scale(1.08)}}.curtain.opening .curtain-title .mq{background:#fff1cc;animation:none;box-shadow:0 0 10px #ffd98a}.curtain.opening .curtain-hint{opacity:0;transition:opacity .3s}.curtain-flat{background:linear-gradient(90deg,#050b18,#14254a 50%,#091329);width:50%;position:absolute;top:0;bottom:0}.curtain.opening .curtain-flat{transition:transform 2.2s cubic-bezier(.6,0,.3,1) .4s}.curtain.opening .curtain-flat.L{transform:translate(-100%)}.curtain.opening .curtain-flat.R{transform:translate(100%)}.entering .enter-up{animation:.7s cubic-bezier(.2,.8,.3,1) both enterUp;animation-delay:var(--d,0s)}.entering .enter-right{animation:.8s cubic-bezier(.2,.8,.3,1) both enterRight;animation-delay:var(--d,0s)}.entering .pill{animation:.55s ease-out both pillIn;animation-delay:calc(2.3s + var(--i) * 10ms)}@keyframes pillIn{0%{opacity:0;filter:brightness(3)drop-shadow(0 0 6px #ffd68ce6);transform:scale(.85)}45%{opacity:1;filter:brightness(1.9)drop-shadow(0 0 8px #ffd68cb3);transform:scale(1.04)}to{opacity:1;filter:none;transform:none}}.entering .wheel-glow{animation:1.4s 3.7s both fadeIn}.entering .wheel-disc{animation:.8s 3.5s both fadeIn}.entering .wheel-frame{stroke-dasharray:1;animation:1.1s cubic-bezier(.5,0,.2,1) 3.5s both drawFrame}@keyframes drawFrame{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.entering .ring-enter{animation:1.1s cubic-bezier(.2,.8,.25,1) both ringIn;animation-delay:calc(3.75s + var(--ri) * .16s)}@keyframes ringIn{0%{opacity:0;transform:scale(1.12)rotate(-40deg)}}.entering .ring-lines{animation:.8s both fadeIn;animation-delay:calc(3.75s + var(--ri) * .16s)}.entering .bulbs circle{animation:.5s ease-out both bulbIn;animation-delay:calc(4.1s + var(--bi) * 10ms)}@keyframes bulbIn{0%{opacity:0}40%{opacity:1;fill:#fff3d6}to{opacity:1}}.entering .win-in{animation:.9s ease-out 4.6s both winIn!important}.entering .hub{animation:.7s cubic-bezier(.2,.8,.3,1.3) 4.8s both hubIn}@keyframes hubIn{0%{opacity:0;transform:scale(.4)}}@keyframes fallA{0%{transform:translateY(-60px)}to{transform:translate(60px,920px)}}@keyframes fallB{0%{transform:translateY(-60px)}to{transform:translate(-80px,920px)}}@keyframes fallC{0%{transform:translateY(-60px)}to{transform:translate(20px,920px)}}@keyframes flutter{0%{transform:rotate(0)rotateX(0)}to{transform:rotate(220deg)rotateX(360deg)}}@keyframes sweepL{0%{transform:rotate(-38deg)}to{transform:rotate(14deg)}}@keyframes sweepR{0%{transform:rotate(38deg)}to{transform:rotate(-14deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes burst{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(7)}}.beam{transform-origin:50% 0;mix-blend-mode:screen;clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);background:linear-gradient(#ffecbe6b,#ffecbe00 85%);position:absolute;top:-60px}.party .beams,.party .confetti{transition:opacity 2.2s}.party.soft .beams{opacity:0}.party.quick .beams,.party.quick .confetti{opacity:0;transition-duration:.9s}.name-in{animation:.55s cubic-bezier(.2,.8,.3,1) both nameIn;animation-delay:calc(var(--n,0) * .32s)}@keyframes nameIn{0%{opacity:0;filter:brightness(2.2);transform:translateY(8px)}60%{opacity:1;filter:brightness(1.6)}to{opacity:1;filter:none;transform:none}}.side-col{transition:opacity .7s,transform .9s cubic-bezier(.6,0,.3,1)}.finale .side-col{pointer-events:none;opacity:0!important}.side-col.L>div,.klass-head,.side-col.R>section:not(.cartel){transition:opacity .7s}.side-col.L.hush>div,.hush .klass-head,.hush .pill:not(.now),.side-col.R.hush>section:not(.cartel){opacity:.45}.finale .side-col.L{transform:translate(-60px)}.finale .side-col.R{transform:translate(60px)}.wheel-col{transition:transform 1.1s cubic-bezier(.6,0,.25,1) .25s}.finale-card{width:540px;height:620px;margin-top:-310px;position:absolute;top:50%}.finale-card.L{animation:.9s cubic-bezier(.2,.8,.3,1) .9s both finaleInL;left:50px}.finale-card.R{animation:.9s cubic-bezier(.2,.8,.3,1) 1.05s both finaleInR;right:50px}@keyframes finaleInL{0%{opacity:0;transform:translate(-50px)}}@keyframes finaleInR{0%{opacity:0;transform:translate(50px)}}@keyframes cardIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.stage-toast{border:1px solid var(--warn);color:#ffe2bd;z-index:50;background:#2a1a12;max-width:1100px;padding:14px 22px;font-size:18px;animation:.2s both fadeIn;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.stage-confirm{z-index:60;background:#050608bf;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}
