body.stage-mode{overflow:hidden;background:#e9dfca}
body.stage-mode #app,body.stage-mode #app .workspace{display:block;width:100%;height:100dvh;min-height:0;margin:0;padding:0}
body.stage-mode #sidebar,body.stage-mode .appbar,body.stage-mode .skip{display:none}
body.stage-mode #main{margin:0;padding:0;width:100%;height:100dvh;max-width:none;overflow:hidden}
.live-stage-shell,.live-stage-frame{width:100%;height:100dvh;aspect-ratio:auto;border:0;border-radius:0;overflow:hidden;background:#e9dfca}
.live-stage-shell{--prize-drawer-width:clamp(240px,15vw,576px);--prize-panel:#14151dd9;--prize-secondary:#f3ddb6;--prize-counter:#ead2a3;--live-ink:#ffe9c3;--live-muted:#ecd7b199;--live-wash:#14070b20;--live-hover:#fff1ce16;position:relative}
.live-stage-shell.live-light{--prize-panel:#fff9eee6;--prize-secondary:#57422d;--prize-counter:#6e5439;--live-ink:#35241c;--live-muted:#503a26a6;--live-wash:#fff8e33d;--live-hover:#4d302018}
.live-controls{font:12px/1.4 "PingFang SC","Microsoft YaHei",sans-serif;transition:opacity .2s,visibility .2s;color:var(--live-ink)}
.live-controls button,.live-controls select,.live-controls input{font:inherit;color:inherit}
.live-toolbar{position:absolute;inset:14px 18px auto;z-index:12;display:flex;justify-content:space-between;gap:10px;pointer-events:none}
.live-toolbar>div{display:flex;align-items:center;gap:3px;pointer-events:auto}
.live-controls .button{min-height:28px;padding:5px 9px;border:1px solid transparent;background:var(--live-wash);border-radius:4px;color:var(--live-ink);font-size:12px;box-shadow:none;white-space:nowrap}
.live-toolbar .button i{height:15px;width:15px}
.live-corners{position:absolute;inset:0;z-index:12;pointer-events:none}.live-corners .live-corner{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));width:32px;height:32px;min-height:0;padding:7px;display:grid;place-items:center;pointer-events:auto;border:0;background:none;border-radius:50%;opacity:.65}.live-corner i{width:17px;height:17px}.live-corners .live-corner:hover,.live-corners .live-corner:focus-visible{opacity:1}.live-glory{left:14px}.live-settings{right:14px}
.live-controls .button:hover:not(:disabled){background:var(--live-hover);border-color:#e7c79438}
.live-controls .button:disabled,.live-controls select:disabled,.live-controls input:disabled{opacity:.4;cursor:default}
.live-controls button:focus-visible,.live-controls select:focus-visible,.live-controls input:focus-visible,.live-menu summary:focus-visible{outline:1px solid #d7ba80;outline-offset:3px}
.live-session-label{font-size:11px;color:var(--live-muted);padding-left:8px}
.live-dock{position:absolute;z-index:12;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);display:flex;align-items:center;justify-content:center;gap:7px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.live-dock select,.live-count{height:30px;min-height:0;background:var(--live-wash);border:1px solid #e7c79420;border-radius:4px;color:var(--live-ink)}
.live-dock select{width:104px;padding:3px 8px;font-size:12px;color-scheme:dark}
.live-dock select[hidden],.live-count[hidden]{display:none}
.live-dock select option{background:#1c1e24;color:#f6ead2}
.live-count{display:flex;align-items:center;gap:3px;padding:0 7px}
.live-count input{appearance:textfield;width:34px;text-align:center;padding:0;border:0;background:transparent;min-height:0;height:28px;font-size:13px}
.live-count span{font-size:11px;color:var(--live-muted)}
.live-count input::-webkit-inner-spin-button,.live-count input::-webkit-outer-spin-button{appearance:none;margin:0}
.live-dock .live-draw{background:linear-gradient(135deg,#e6ca8c24,#d3a65312);border:1px solid #e2bb6f80;border-radius:clamp(14px,1.5vh,32px);color:var(--live-ink);font-size:clamp(16px,1.65vh,32px);font-weight:600;padding:clamp(8px,1vh,20px) clamp(24px,1.7vw,56px);min-height:clamp(44px,4.4vh,88px);min-width:clamp(144px,8.4vw,280px)}
.live-dock .live-draw:hover:not(:disabled){background:#e6ca8c38}
.live-dock .live-draw.is-running{background:#ba30433d;border-color:#f0a0a880;color:#ffe5d1}
.live-dock .live-secondary{font-size:11px;padding:4px 6px;color:var(--live-muted)}
.live-remaining,.live-page{font-size:10px;color:var(--live-muted);white-space:nowrap}
.live-menu{position:relative}.live-menu summary{list-style:none;width:28px;height:28px;display:grid;place-items:center;cursor:pointer;border-radius:4px;font-size:16px;color:var(--live-ink)}
.live-menu summary::-webkit-details-marker{display:none}.live-menu[open] summary{background:var(--live-hover)}
.live-menu>div{position:absolute;top:35px;right:0;min-width:136px;display:grid;gap:3px;padding:7px;border:1px solid #d3b27b30;border-radius:6px;background:#17191ff0;backdrop-filter:blur(14px);box-shadow:0 12px 35px #0003}
.live-menu>div .button{justify-content:flex-start;color:#ffe6bb;background:none}
.live-show-tools{display:none;position:absolute;z-index:13;right:12px;bottom:10px;width:24px;height:20px;min-height:0;padding:0;border:0;background:transparent;color:#e9d1a875;cursor:pointer;font:15px/1 system-ui}
.live-show-tools:hover{color:#f8e9c5}
body.stage-tools-hidden .live-controls{opacity:0;visibility:hidden;pointer-events:none}
body.stage-tools-hidden .live-show-tools{display:block}
body.stage-mode #toast{bottom:68px;font-size:12px;padding:9px 14px;max-width:calc(100vw - 32px)}
.live-prize-list{position:absolute;z-index:11;top:50%;transform:translateY(-50%);max-height:70dvh;left:0;width:var(--prize-drawer-width);display:flex;flex-direction:column;padding:0;overflow:hidden;background:var(--prize-panel);border:1px solid #efd59d35;border-left:0;border-radius:0 12px 12px 0;backdrop-filter:blur(8px)}
.live-prize-list[hidden]{display:none}.live-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;padding:clamp(10px,1.2vh,24px) clamp(12px,.8vw,30px);border-bottom:1px solid #efd59d26;color:var(--live-ink)}
.live-list-heading>strong{display:flex;align-items:center;gap:8px;font-size:clamp(15px,min(1.65vh,1.5vw),34px);font-weight:600;white-space:nowrap}.live-list-heading>strong i{flex:none;width:1.2em;height:1.2em;color:#e7c170}.live-list-heading>div{display:flex;flex:none;align-items:center;gap:7px}.live-list-heading .live-prize-add{width:clamp(26px,min(2.8vh,3vw),58px);height:clamp(26px,min(2.8vh,3vw),58px);min-height:0;padding:0;display:grid;place-items:center;border:1px solid #ead09b38;border-radius:50%;background:#ebc57a12}.live-prize-add i{width:clamp(16px,min(1.8vh,2vw),36px);height:clamp(16px,min(1.8vh,2vw),36px)}.live-list-heading .live-order-done{padding:3px 5px;font-size:11px;min-height:24px}
.live-prize-items{min-height:0;overflow:auto;scrollbar-width:thin;padding:clamp(8px,.85vh,18px);overscroll-behavior:contain}.live-prize-empty{padding:24px 8px;text-align:center;color:var(--prize-secondary);font-size:14px}
.live-winner-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;padding:8px 12px;border-top:1px solid #efd59d26;font-size:clamp(11px,1.15vh,24px);color:var(--prize-secondary)}.live-winner-pages>div{display:flex;align-items:center;gap:8px}.live-winner-pages .live-page{font-size:inherit;color:inherit}.live-winner-pages .button{min-height:28px;min-width:28px;padding:2px 7px;border-radius:8px;font-size:18px}
.live-prize-entry{border:1px solid #efd59d20;border-radius:8px;margin-bottom:clamp(7px,.8vh,16px);background:#ffffff04;overflow:hidden}.live-prize-entry.selected{border-color:#e5c174b3;background:#e0b15f1a;box-shadow:inset 2px 0 #f3d793,0 0 18px #e8c7780b}.live-prize-entry.complete:not(.selected){background:#e9d5a80c;border-color:#efd59d38}.live-prize-entry.complete:not(.selected) .live-prize-thumb img{opacity:.72}
.live-prize-main>.live-prize-select{display:flex;align-items:center;gap:clamp(9px,.7vw,24px);min-height:0;padding:clamp(10px,1.1vh,24px) clamp(9px,.65vw,24px) clamp(8px,.8vh,18px);width:100%;text-align:left;border:0;background:none;color:var(--live-ink);cursor:pointer}.live-prize-main>.live-prize-select:disabled{cursor:default;opacity:1}.live-prize-info{min-width:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(5px,.6vh,13px)}
.live-prize-thumb{width:clamp(44px,3.3vw,128px);display:flex;flex-direction:column;align-items:center;gap:clamp(2px,.25vh,5px);flex:none}.live-prize-thumb img{width:100%;height:clamp(43px,min(5.1vh,5.7vw),110px);object-fit:contain;filter:drop-shadow(0 4px 6px #0003)}.live-prize-thumb>i{width:65%;height:clamp(43px,min(5.1vh,5.7vw),110px);color:#d9bc83}.live-prize-count{display:block;max-width:100%;font:600 clamp(11px,min(1.35vh,1.1vw),29px)/1.4 system-ui;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--prize-counter);background:#f4d59a12;padding:0 5px;border-radius:5px}.live-prize-count[data-compact]{font-size:clamp(9px,min(1vh,.9vw),22px)}.live-prize-thumb:has(.live-prize-count[data-compact]){width:clamp(70px,4.3vw,166px)}.selected .live-prize-count{background:#ebc16c2b;color:#ffe4a0}
.live-prize-title{display:flex;align-items:center;gap:7px;justify-content:space-between}.live-prize-title strong{display:block;min-width:0;font-size:clamp(17px,min(1.95vh,1.35vw),42px);font-weight:650;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-prize-info>small{display:block;font-size:clamp(14px,min(1.45vh,1.2vw),31px);font-weight:400;line-height:1.3;color:var(--prize-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-prize-progress{display:block;width:100%;height:clamp(6px,.7vh,15px);border-radius:30px;background:#f0d29d26;overflow:hidden}.live-prize-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c4764d,#f4cb6c);transition:width .3s}.selected .live-prize-progress>span{background:linear-gradient(90deg,#e8a34d,#ffe398)}.complete .live-prize-progress>span{background:linear-gradient(90deg,#b9945a,#dfc590)}
.live-prize-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.live-prize-foot{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:clamp(2px,.35vh,7px);padding-right:clamp(6px,.5vw,19px);color:var(--prize-secondary);font-size:clamp(13px,min(1.6vh,1.15vw),34px);line-height:1.35}.live-prize-foot .button{font-size:inherit;font-weight:500;line-height:1.35;min-height:0;padding:clamp(2px,.3vh,6px) 4px;border-radius:4px;background:none;color:inherit}.live-prize-foot .button:hover:not(:disabled){color:var(--live-ink);background:var(--live-hover)}
.live-order-buttons{display:flex;justify-content:flex-end;border-top:1px solid #e5ce9c18;padding:2px 4px;gap:3px}.live-order-buttons .button{min-height:23px;font-size:12px;padding:2px 10px}
.prize-presentation{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;visibility:hidden;background:transparent;overflow:hidden;transition:opacity .55s,visibility .55s}
.prize-presentation.is-presenting{opacity:1;visibility:visible}.prize-orbit{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:min(40vw,58vh);min-width:210px;max-width:1000px;aspect-ratio:1;perspective:900px;isolation:isolate}
.prize-aura{position:absolute;inset:-17%;border-radius:50%;background:radial-gradient(circle,#ffd68128 0,#ffc6571c 27%,#ffbc2f0d 45%,transparent 68%);filter:blur(8px)}
.prize-orbit-line{position:absolute;inset:6%;border:1px solid #ffe9a75e;border-radius:50%;box-shadow:0 0 12px #ffd26973,inset 0 0 14px #ffbf4c47}
.prize-orbit-ring{position:absolute;inset:4%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,#ffcf5d 50deg,#fff7cf 73deg,transparent 106deg,transparent 178deg,#ffbd3c 230deg,#fff4b6 251deg,transparent 282deg);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));filter:drop-shadow(0 0 8px #ffcb53)}
.prize-orbit-tilt{position:absolute;inset:0;transform:rotateX(64deg) rotateZ(-25deg);transform-style:preserve-3d}.prize-orbit-tilt .prize-orbit-ring{inset:-4%;background:conic-gradient(transparent 0deg,#fff7d2 75deg,transparent 145deg,transparent 190deg,#f8bf49 280deg,transparent 330deg);opacity:.8}
.prize-sparks{position:absolute;inset:0}.prize-sparks i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff0ac;box-shadow:0 0 9px 3px #ffc8418c;opacity:.7}
.prize-presentation-product{position:absolute;inset:17%;display:grid;place-items:center;transform-style:preserve-3d}.prize-presentation-product img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 22px #2603096b) drop-shadow(0 0 20px #ffdf872e)}.prize-presentation-product>i{width:55%;height:55%;color:#edcb87}
.prize-presentation-caption{position:absolute;left:-10%;right:-10%;bottom:-4%;text-align:center;font:500 clamp(15px,1.6vw,30px)/1.5 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.16em;color:#ffebbb;text-shadow:0 2px 10px #31060b,0 0 15px #ffc55a38}
.is-presenting .ring-one{animation:prize-orbit-spin 7s linear infinite}.is-presenting .ring-two{animation:prize-orbit-spin 11s linear infinite reverse}.is-presenting .prize-sparks{animation:prize-orbit-spin 18s linear infinite}.is-presenting .prize-sparks i{animation:prize-twinkle 2.6s var(--delay) ease-in-out infinite alternate}.is-presenting .prize-aura{animation:prize-glow 4s ease-in-out infinite}.is-presenting .prize-presentation-product img{animation:prize-product-float 5s ease-in-out infinite}
@keyframes prize-orbit-spin{to{transform:rotate(360deg)}}@keyframes prize-product-float{0%,100%{transform:translateY(0) rotateY(-9deg) rotateZ(-2deg)}50%{transform:translateY(-10px) rotateY(10deg) rotateZ(1deg)}}@keyframes prize-glow{0%,100%{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@keyframes prize-twinkle{from{opacity:.25;transform:scale(.7)}to{opacity:.9;transform:scale(1.2)}}
@media(max-width:800px){.live-stage-shell{--prize-drawer-width:216px}.live-toolbar{inset:10px 12px auto}.live-dock{gap:5px}.live-remaining{display:none}.prize-orbit{width:min(55vw,58vh);left:57%}}
@media(max-width:540px){.live-stage-shell{--prize-drawer-width:178px}.live-list-heading{padding:9px}.live-list-heading>strong{font-size:14px;gap:5px}.live-prize-items{padding:6px}.live-prize-main>.live-prize-select{gap:7px;padding:8px 7px;min-height:0}.live-prize-thumb{width:34px;gap:2px}.live-prize-thumb img,.live-prize-thumb>i{height:37px}.live-prize-count{font-size:11px;padding:0 3px}.live-prize-count[data-compact]{font-size:8px}.live-prize-thumb:has(.live-prize-count[data-compact]){width:58px}.live-prize-title{gap:4px}.live-prize-title strong{font-size:16px}.live-prize-info>small{font-size:12px}.live-prize-foot{font-size:13px;gap:2px;padding-right:5px}.live-prize-foot .button{padding:3px}.live-prize-info{gap:5px}.live-dock select{width:83px}.live-dock .live-draw{padding:5px 12px}.live-count{padding:0 4px}.live-count input{width:27px}.prize-orbit{width:62vw;min-width:190px;left:61%;top:52%}}
@media(prefers-reduced-motion:reduce){.live-controls,.prize-presentation{transition:none}.prize-presentation *{animation:none!important}}
.live-prize-entry:last-child{margin-bottom:0}.live-prize-toggle{position:absolute;z-index:12;top:50%;left:0;transform:translateY(-50%);width:18px;height:42px;min-height:0;margin:0;padding:0;border:1px solid #efca8345;border-left:0;border-radius:0 4px 4px 0;background:#18090d55;color:var(--live-ink);font:22px/1 system-ui;cursor:pointer;opacity:.6}.live-prize-toggle.is-open{left:var(--prize-drawer-width);opacity:.85}.live-prize-toggle:hover,.live-prize-toggle:focus-visible{opacity:1;background:#18090d88}.live-prize-toggle:focus-visible{outline:1px solid #dfbb74;outline-offset:2px}
.live-light .live-prize-count{background:#f0e1c7;color:var(--prize-counter)}.live-light .live-prize-entry{border-color:#9c703d40}.live-light .live-prize-entry.selected{border-color:#aa7c39;background:#dbb66a22;box-shadow:inset 2px 0 #b48b48}.live-light .selected .live-prize-count{color:var(--live-ink);background:#c69b4d24}.live-light .live-prize-progress{background:#936d3826}.live-light .selected .live-prize-progress>span{background:linear-gradient(90deg,#ac712f,#d4a04d)}
.prize-presentation[data-phase]{transition:none}.prize-presentation[data-phase=exit]{opacity:1;visibility:visible}.prize-presentation[data-phase=idle]:not(.is-presenting){opacity:0;visibility:hidden}.prize-presentation[data-phase=enter] .prize-orbit,.prize-presentation[data-phase=exit] .prize-orbit{will-change:transform,opacity}.prize-presentation-settings{align-items:center;margin:18px 0 24px}.prize-presentation-settings .field{margin-bottom:0}

/* Small floating controls borrow the stage finish without adding a dock panel. */
.live-stage-shell{--live-accent:#d4b87c;--live-line:#d4b87c38;--live-panel:#17191ff0;--live-progress-start:#a8844d;--live-progress-end:#edd5a0}
.live-stage-shell.live-light{--prize-panel:#f8f1e3e8;--prize-secondary:#735936;--prize-counter:#70512c;--live-ink:#544028;--live-muted:#735936b8;--live-wash:#fffaf020;--live-hover:#98713612;--live-accent:#9d773b;--live-line:#9d773b4d;--live-panel:#fbf6eaf2;--live-progress-start:#9b7539;--live-progress-end:#cdb27b}
.live-stage-shell[data-palette=glacier]{--prize-panel:#0b2335db;--prize-secondary:#c0e3ef;--prize-counter:#cbefff;--live-ink:#e8f7fc;--live-muted:#bdd9e5ad;--live-accent:#aed9e9;--live-line:#aed9e942;--live-panel:#0b2335f2;--live-progress-start:#548ba8;--live-progress-end:#c7eaf5}
.live-stage-shell[data-palette=jade]{--prize-panel:#112e27db;--prize-secondary:#d5dfc6;--prize-counter:#dfd4ab;--live-ink:#f1ecd4;--live-muted:#c9d2b7ad;--live-accent:#cabb8c;--live-line:#cabb8c42;--live-panel:#112e27f2;--live-progress-start:#819263;--live-progress-end:#dbd3ac}
.live-prize-list,.live-list-heading,.live-winner-pages{border-color:var(--live-line)}
.live-list-heading>strong i,.live-prize-thumb>i{color:var(--live-accent)}
.live-prize-entry{border-color:var(--live-line);background:color-mix(in srgb,var(--live-ink) 2%,transparent)}
.live-prize-entry.selected,.live-light .live-prize-entry.selected{border-color:var(--live-accent);background:color-mix(in srgb,var(--live-accent) 10%,transparent);box-shadow:inset 2px 0 var(--live-accent)}
.selected .live-prize-count,.live-light .selected .live-prize-count{color:var(--live-ink);background:color-mix(in srgb,var(--live-accent) 14%,transparent)}
.live-prize-progress{background:color-mix(in srgb,var(--live-accent) 18%,transparent)}
.live-prize-progress>span,.selected .live-prize-progress>span,.complete .live-prize-progress>span,.live-light .selected .live-prize-progress>span{background:linear-gradient(90deg,var(--live-progress-start),var(--live-progress-end))}
.live-prize-toggle{background:color-mix(in srgb,var(--prize-panel) 72%,transparent);border-color:var(--live-line)}
.live-prize-toggle:hover,.live-prize-toggle:focus-visible{background:var(--prize-panel)}
.live-menu>div{background:var(--live-panel);border-color:var(--live-line)}
.live-menu>div .button{color:var(--live-ink)}
.live-dock .live-draw{border-color:color-mix(in srgb,var(--live-accent) 72%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--live-accent) 14%,transparent),color-mix(in srgb,var(--live-accent) 5%,transparent));box-shadow:inset 0 1px 0 #ffffff20}
.live-dock .live-draw:hover:not(:disabled){background:color-mix(in srgb,var(--live-accent) 22%,transparent)}
.live-light .live-dock select{color-scheme:light}.live-light .live-dock select option{background:#f8f1e3;color:#544028}
.live-light .prize-presentation-caption{color:#69502c;text-shadow:0 1px 0 #ffffff80}
.live-controls button:focus-visible,.live-controls select:focus-visible,.live-controls input:focus-visible,.live-menu summary:focus-visible,.live-prize-toggle:focus-visible{outline-color:var(--live-accent)}

.live-light .live-dock .live-draw.is-running{background:#9d773b1f;border-color:#8f672e;color:#544028}
