:root{--bg:#0a0820;--bg-2:#120e33;--panel:#ffffff0f;--panel-strong:#ffffff1a;--line:#ffffff1f;--line-strong:#ffffff38;--text:#f5f3ff;--muted:#a9a3d1;--dim:#7a74a8;--pink:#ff3d8b;--violet:#8b5cf6;--cyan:#22d3ee;--amber:#ffc542;--green:#34d399;--red:#fb7185;--grad:linear-gradient(100deg, var(--pink) 0%, var(--violet) 50%, var(--cyan) 100%);--grad-warm:linear-gradient(100deg, #ffc542, #ff7a59 45%, #ff3d8b);--radius:20px;--radius-sm:12px;--shadow:0 20px 60px -20px #0009;--font-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body:"DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100%;margin:0;padding:0;overflow-x:clip}body{overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}::selection{background:var(--violet);color:#fff}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.bg{z-index:0;pointer-events:none;background:radial-gradient(1200px 700px at 50% -10%, #1d1653 0%, transparent 60%), linear-gradient(180deg, var(--bg-2), var(--bg));position:fixed;inset:0;overflow:hidden}.bg .blob{filter:blur(80px);opacity:.42;mix-blend-mode:screen;border-radius:50%;width:46cqmax;height:46cqmax;animation:22s ease-in-out infinite alternate blob;position:absolute}.bg .b1{background:var(--pink);top:-18cqmax;left:-12cqmax}.bg .b2{background:var(--violet);animation-duration:26s;animation-delay:-6s;bottom:-22cqmax;right:-14cqmax}.bg .b3{background:var(--cyan);opacity:.25;width:30cqmax;height:30cqmax;animation-delay:-12s;top:30%;left:55%}@keyframes blob{0%{transform:translate(0)scale(1)}50%{transform:translate(6cqmax,4cqmax)scale(1.12)}to{transform:translate(-4cqmax,7cqmax)scale(.95)}}.bg .grid{background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:56px 56px;animation:14s linear infinite grid-move;position:absolute;inset:-50%;transform:perspective(700px)rotateX(58deg)translateY(10%);-webkit-mask-image:radial-gradient(at 50% 70%,#000 10%,#0000 60%);mask-image:radial-gradient(at 50% 70%,#000 10%,#0000 60%)}@keyframes grid-move{to{background-position:0 56px,0 0}}.bg .spark{background:#fff;border-radius:50%;width:3px;height:3px;animation:4s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 8px 2px #fff9}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:.9;transform:scale(1)}}.stage{isolation:isolate;grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid;position:relative;overflow-x:clip;container:stage/inline-size}.stage>:not(.bg):not(.bubbles){z-index:2;position:relative}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:clamp(10px,2.2cqh,18px) clamp(16px,3cqw,48px);display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:#140f3a;border:1px solid #ffffff2e;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 6px 18px #8b5cf673}.brand-mark img{width:64%;height:auto;display:block}.brand-wordmark{object-fit:contain;object-position:left center;width:auto;max-width:200px;height:13px;margin:2px 0 5px;display:block}.title-logo{line-height:0}.title-logo img{object-fit:contain;filter:drop-shadow(0 10px 40px #8b5cf68c);width:auto;max-width:100%;height:clamp(56px,min(13cqw,19cqh),300px);margin:4px auto;display:block}.brand-logo{object-fit:contain;flex:none;width:auto;max-width:180px;height:48px;display:block}@container stage (max-width:640px){.brand-logo{max-width:104px;height:36px}}.brand-text{flex-direction:column;min-width:0;line-height:1.05;display:flex}.brand-company{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.brand-event{font-family:var(--font-display);white-space:nowrap;font-size:22px;font-weight:800}.top-actions{align-items:center;gap:10px;display:flex}.pill{background:var(--panel);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.live-dot{background:var(--red);border-radius:50%;width:8px;height:8px;animation:1.6s infinite live;box-shadow:0 0 #fb7185b3}@keyframes live{70%{box-shadow:0 0 0 10px #fb718500}to{box-shadow:0 0 #fb718500}}.icon-btn{background:var(--panel);border:1px solid var(--line);width:40px;height:40px;color:var(--text);border-radius:12px;place-items:center;text-decoration:none;transition:background .2s,transform .2s;display:inline-grid}.icon-btn:hover{background:var(--panel-strong);transform:translateY(-1px)}.icon-btn.ghost{opacity:.45}.icon-btn.ghost:hover{opacity:1}.icon-btn svg{width:18px;height:18px}.stage-body{grid-template-columns:1fr;align-items:center;gap:24px;padding:0 clamp(16px,3cqw,48px) 16px;display:grid}.stage-body.with-board{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.center{text-align:center;place-items:center;min-height:50cqh;display:grid}.hero{flex-direction:column;align-items:center;gap:18px;max-width:920px;padding:clamp(12px,min(4cqw,4cqh),56px);display:flex;position:relative}.hero:before{content:"";z-index:-1;background:radial-gradient(closest-side,#0a0820eb,#0a082099 60%,#0000);border-radius:50%;position:absolute;inset:-12% -18%}.kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:700}.prize-pill{background:var(--grad-warm);color:#1a0b2e;letter-spacing:.02em;border-radius:999px;align-items:center;gap:10px;padding:10px 20px;font-size:clamp(14px,min(1.6cqw,2.6cqh),30px);font-weight:800;display:inline-flex;box-shadow:0 10px 40px -10px #ff7a59cc}.prize-pill svg{width:20px;height:20px}.title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(40px,min(10cqw,15cqh),220px);font-weight:800;line-height:.92}.title .year{display:block}.subtitle{color:var(--muted);max-width:34ch;margin:0;font-size:clamp(15px,min(2cqw,3cqh),36px)}.stats{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px;display:flex}.stat{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;min-width:120px;padding:12px 18px}.stat b{font-family:var(--font-display);font-size:clamp(22px,min(3cqw,4.4cqh),56px);line-height:1.1;display:block}.stat span{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:12px;font-weight:700}.draw-btn{background:var(--grad);color:#fff;font-family:var(--font-display);letter-spacing:.02em;background-size:200% 100%;border:0;border-radius:999px;margin-top:10px;padding:20px 46px;font-size:clamp(18px,min(2.2cqw,3.4cqh),40px);font-weight:800;transition:transform .2s,background-position .6s;animation:4s ease-in-out infinite btn-sheen;position:relative;box-shadow:0 18px 50px -12px #8b5cf6e6,inset 0 1px #ffffff59}.draw-btn:hover{background-position:100% 0;transform:translateY(-2px)scale(1.02)}.draw-btn:active{transform:scale(.98)}.draw-btn:disabled{opacity:.4;cursor:not-allowed;animation:none}.draw-btn:before{content:"";border-radius:inherit;border:2px solid #ffffff59;animation:2.2s ease-out infinite ring;position:absolute;inset:-6px}.draw-btn:disabled:before{display:none}@keyframes ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}@keyframes btn-sheen{0%,to{background-position:0 0}50%{background-position:100% 0}}.hint{color:var(--dim);font-size:13px}kbd{border:1px solid var(--line-strong);background:var(--panel);border-radius:6px;padding:2px 8px;font-family:inherit;font-size:12px}.empty-card{border-radius:var(--radius);background:var(--panel);border:1px dashed var(--line-strong);color:var(--muted);max-width:440px;padding:28px 32px}.bubbles{z-index:1;pointer-events:none;transition:opacity .8s,filter .8s;position:absolute;inset:80px 0 60px;overflow:hidden}.bubbles.hidden{opacity:0;filter:blur(8px)}.bubble-page{animation:1.2s both page-in;position:absolute;inset:0}@keyframes page-in{0%{opacity:0}to{opacity:1}}.bubble-wrap{animation:drift var(--dur) ease-in-out infinite alternate;animation-delay:var(--delay);position:absolute;transform:translate(-50%,-50%)}@keyframes drift{0%{translate:0}33%{translate:var(--dx) calc(var(--dy) * -1)}66%{translate:calc(var(--dx) * -.6) var(--dy)}to{translate:calc(var(--dx) * .4) calc(var(--dy) * .6)}}.bubble{font-weight:700;font-size:var(--fs);white-space:nowrap;color:#fff;background:radial-gradient(120% 140% at 25% 20%, hsla(var(--h), 95%, 72%, .55), hsla(var(--h), 85%, 50%, .22) 55%, hsla(var(--h), 80%, 40%, .1));border:1px solid hsla(var(--h), 95%, 80%, .45);box-shadow:inset 0 2px 6px #ffffff59, inset 0 -6px 14px hsla(var(--h), 90%, 30%, .35), 0 8px 30px -10px hsla(var(--h), 90%, 55%, .7);text-shadow:0 1px 6px #00000059;animation:.9s cubic-bezier(.2,1.5,.4,1) both pop;animation-delay:var(--pop);opacity:.88;border-radius:999px;padding:.55em 1.05em;transition:transform .6s cubic-bezier(.2,1.5,.4,1),box-shadow .6s;display:inline-block}.bubble.lit{opacity:1;box-shadow:inset 0 2px 6px #ffffff80, 0 0 0 4px hsla(var(--h), 95%, 70%, .25), 0 0 40px 6px hsla(var(--h), 95%, 60%, .75);transform:scale(1.25)}@keyframes pop{0%{opacity:0;scale:0}}.spin-wrap{flex-direction:column;align-items:center;gap:22px;width:min(900px,100%);display:flex}.reel{--rows:5;--item:clamp(48px, min(10cqw, 12cqh), 180px);width:100%;height:calc(var(--item) * var(--rows));border:1px solid var(--line);box-shadow:var(--shadow), inset 0 0 80px #8b5cf626;background:linear-gradient(#ffffff0a,#ffffff14,#ffffff0a);border-radius:28px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 28% 72%,#0000);mask-image:linear-gradient(#0000,#000 28% 72%,#0000)}.reel-track.back{opacity:.55;filter:blur(calc(var(--item) * .1))}.reel-clip{left:0;right:0;top:calc(var(--item) * (var(--rows) - 1) / 2);height:var(--item);z-index:2;position:absolute;overflow:hidden}.reel-clip .reel-track{top:calc(var(--item) * (var(--rows) - 1) / -2)}.reel-window{z-index:3;left:12px;right:12px;top:calc(var(--item) * (var(--rows) - 1) / 2);height:var(--item);background:linear-gradient(100deg,#ff3d8b33,#8b5cf640,#22d3ee33);border:2px solid #ffffff80;border-radius:18px;position:absolute;box-shadow:0 0 40px #8b5cf699,inset 0 0 30px #ffffff1a}.reel-window:before,.reel-window:after{content:"";border:12px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.reel-window:before{border-left-color:var(--amber);left:-4px}.reel-window:after{border-right-color:var(--amber);right:-4px}.reel-track{will-change:transform;position:absolute;top:0;left:0;right:0}.reel-item{height:var(--item);font-family:var(--font-display);font-weight:800;font-size:calc(var(--item) * .42);white-space:nowrap;text-overflow:ellipsis;color:#ffffffd9;place-items:center;padding:0 28px;display:grid;overflow:hidden}.reel-item span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.reel.done .reel-item.win{color:#fff;animation:.6s both lockin}@keyframes lockin{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.picking{color:var(--muted);font-size:clamp(14px,min(1.6cqw,2.6cqh),30px)}.picking b{color:var(--text)}.winner-card{border:1px solid var(--line-strong);width:min(880px,100%);box-shadow:0 40px 120px -30px #ff3d8b8c, var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(160deg,#ffffff24,#ffffff0a);border-radius:32px;padding:clamp(18px,min(5cqw,5cqh),72px) clamp(20px,4cqw,64px);position:relative;overflow:hidden}.winner-card:before{content:"";border-radius:inherit;background:conic-gradient(from var(--angle,0deg), var(--pink), var(--amber), var(--cyan), var(--violet), var(--pink));-webkit-mask-composite:xor;pointer-events:none;padding:2px;animation:4s linear infinite spin-border;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes spin-border{to{--angle:360deg}}.rays{z-index:-1;background:repeating-conic-gradient(from 0deg, #ffc5421f 0 8deg, transparent 8deg 22deg);pointer-events:none;animation:30s linear infinite rays;position:absolute;inset:-50%;-webkit-mask-image:radial-gradient(circle,#000 10%,#0000 55%);mask-image:radial-gradient(circle,#000 10%,#0000 55%)}@keyframes rays{to{transform:rotate(360deg)}}.trophy{filter:drop-shadow(0 10px 30px #ffc542b3);width:clamp(48px,min(9cqw,11cqh),150px);height:clamp(48px,min(9cqw,11cqh),150px);margin:0 auto 10px}.congrats{font-family:var(--font-display);letter-spacing:.04em;margin:6px 0 4px;font-size:clamp(18px,min(3cqw,4.4cqh),52px);font-weight:800}.winner-name{font-family:var(--font-display);letter-spacing:-.02em;word-break:break-word;margin:12px 0 14px;font-size:clamp(34px,min(8cqw,13cqh),180px);font-weight:800;line-height:1}.winner-name .word{white-space:nowrap;display:inline-block}.winner-name .ch{white-space:pre;background-image:var(--name-grad,var(--grad));color:#0000;filter:drop-shadow(0 6px 24px #8b5cf673);-webkit-background-clip:text;background-clip:text;display:inline-block}.winner-meta{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.meta-chip{background:var(--panel-strong);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:15px;font-weight:600}.winner-meta .meta-chip{overflow-wrap:anywhere;border-radius:18px;max-width:100%;padding:.45em .9em;font-size:clamp(15px,min(1.9cqw,3.2cqh),36px)}.winner-meta .meta-chip.org{font-weight:700}.winner-meta .meta-chip.code{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.winner-meta .meta-chip.code small{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:.3em;font-size:.7em}.verify{color:var(--muted);letter-spacing:.04em;margin-top:18px;font-size:12px}.next-btn{z-index:1;border:1px solid var(--line-strong);background:var(--panel-strong);border-radius:999px;margin-top:20px;padding:12px 26px;font-weight:700;transition:background .2s,transform .2s;position:relative}.next-btn:hover{background:#ffffff2e;transform:translateY(-1px)}.board{border-radius:var(--radius);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e0a28a6;flex-direction:column;align-self:start;max-height:calc(100cqh - 160px);padding:18px;display:flex}.board h2{font-family:var(--font-display);align-items:center;gap:8px;margin:0 0 12px;font-size:18px;display:flex}.board h2 svg{width:20px;height:20px;color:var(--amber)}.board ol{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.board li{background:var(--panel);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.board .who{text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.2;overflow:hidden}.board .what{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.trust{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 22px;padding:clamp(8px,1.6cqh,14px) clamp(16px,3cqw,48px) clamp(10px,2cqh,18px);font-size:13px;display:flex}.trust span{align-items:center;gap:7px;display:inline-flex}.trust svg{width:15px;height:15px;color:var(--green);flex:none}.trust code{color:var(--text);letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.toast-wrap{z-index:50;pointer-events:none;justify-content:center;display:flex;bottom:70px;left:0;right:0;position:fixed!important}.toast{z-index:50;border:1px solid var(--line-strong);box-shadow:var(--shadow);background:#1f1a4a;border-radius:14px;max-width:calc(100cqw - 32px);padding:12px 20px;font-weight:600}.sound-chip{z-index:40;font-size:12px;bottom:16px;right:16px;position:fixed!important}.prize-left{background:#1a0b2e29;border-radius:999px;padding:2px 10px;font-size:.8em;font-weight:700}.countdown{--rows:5;height:calc(clamp(48px, min(10cqw, 12cqh), 180px) * var(--rows));font-family:var(--font-display);place-items:center;font-size:clamp(100px,min(26cqw,36cqh),480px);font-weight:800;line-height:1;display:grid}.showcase{text-align:center;flex-direction:column;align-items:center;gap:18px;width:min(1200px,100%);max-height:100%;display:flex}.showcase .trophy{width:clamp(48px,min(7cqw,9cqh),130px);height:auto}.showcase .title{font-size:clamp(36px,min(7cqw,10cqh),150px)}.showcase-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;width:100%;padding:4px;display:grid;overflow-y:auto}.showcase-group{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 18px}.showcase-group h2{font-family:var(--font-display);color:var(--amber);align-items:center;gap:8px;margin:0 0 10px;font-size:18px;display:flex}.showcase-group h2 svg{width:18px;height:18px}.showcase-group ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.showcase-group li{flex-direction:column;display:flex}.showcase-group .who{font-family:var(--font-display);font-size:clamp(18px,min(1.8cqw,3cqh),34px);font-weight:700}.showcase-group .what{color:var(--muted);font-size:13px}.help-chip{z-index:40;cursor:pointer;font-size:12px;bottom:16px;left:16px;position:fixed!important}.help-panel{z-index:45;border-radius:var(--radius);border:1px solid var(--line-strong);min-width:260px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#120e33eb;padding:16px 18px;position:fixed;bottom:60px;left:16px}.help-panel h3{font-family:var(--font-display);margin:0 0 10px;font-size:16px}.help-panel dl{grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:14px;display:grid}.help-panel dt{white-space:nowrap}.help-panel dd{color:var(--muted);margin:0}.join-qr{border:1px solid var(--line-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#120e33e0;border-radius:16px;align-items:center;gap:12px;padding:10px 14px 10px 10px;display:flex;bottom:60px;right:16px;z-index:35!important;position:fixed!important}.join-qr .qr{background:#fff;border-radius:8px;width:clamp(88px,min(9cqw,14cqh),200px);overflow:hidden}.join-qr span{flex-direction:column;font-size:15px;line-height:1.3;display:flex}.join-qr small{color:var(--muted)}.qr svg{width:100%;height:auto;display:block}.qr-full{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#08061adb;place-items:center;padding:2cqh 2cqw;display:grid;inset:0;z-index:70!important;position:fixed!important}.qr-full-card{text-align:center;flex-direction:column;align-items:center;gap:clamp(8px,2cqh,24px);max-width:100%;max-height:100%;display:flex}.qr-full-card h2{font-family:var(--font-display);margin:0;font-size:clamp(22px,min(4.4cqw,6cqh),72px);font-weight:800;line-height:1.05}.qr-full-card p{color:var(--muted);margin:0;font-size:clamp(14px,min(1.8cqw,2.6cqh),30px)}.qr-full-code{background:#fff;border-radius:clamp(14px,2cqh,28px);width:min(64cqh,80cqw);max-width:900px;padding:clamp(10px,1.6cqh,24px);box-shadow:0 0 0 6px #ffffff26,0 30px 90px -20px #8b5cf6cc}@container canvas (max-height:600px){.qr-full-card p,.qr-full-card .hint{display:none}.qr-full-code{width:min(74cqh,80cqw)}}.live-msg{z-index:2;text-align:center;max-width:460px;margin:auto;padding:24px;position:relative}.live-msg h1{font-family:var(--font-display);margin:12px 0 8px;font-size:clamp(28px,6cqw,40px)}.live-msg p{color:var(--muted);margin:0}.live-status.live .live-dot{background:var(--red)}.live-status.reconnecting .live-dot,.live-status.connecting .live-dot{background:var(--amber);animation:none}.live-status.ended .live-dot,.live-status.notfound .live-dot{background:var(--dim);animation:none}.admin{isolation:isolate;min-height:100dvh;position:relative}.admin>:not(.bg){z-index:1;position:relative}.admin-top{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#0a0820c7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px clamp(16px,3vw,32px);display:flex;position:sticky;top:0;z-index:10!important}.admin-title{align-items:center;gap:12px;display:flex}.admin-title h1{font-family:var(--font-display);margin:0;font-size:20px;line-height:1.1}.admin-title small{color:var(--muted);font-size:12px;font-weight:500;display:block}.status{align-items:center;gap:8px;display:inline-flex}.status .dot{background:var(--dim);border-radius:50%;width:9px;height:9px}.status.on .dot{background:var(--green);box-shadow:0 0 0 4px #34d39933}.admin-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px;max-width:1440px;margin:0 auto;padding:20px clamp(16px,3vw,32px) 48px;display:grid}.col{flex-direction:column;gap:20px;min-width:0;display:flex}.card{border-radius:var(--radius);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);background:#141034b8;min-width:0;padding:20px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.card h2{font-family:var(--font-display);align-items:center;gap:10px;margin:0;font-size:18px;display:flex}.card h2 .num{background:var(--grad);border-radius:8px;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.card p.help{color:var(--muted);margin:-6px 0 14px;font-size:13px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.kpi b{font-family:var(--font-display);font-size:26px;line-height:1.1;display:block}.kpi span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:11px;font-weight:700}.kpi.accent b{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.chip:hover{border-color:var(--line-strong)}.chip.active{background:var(--grad-warm);color:#1a0b2e;border-color:#0000}.chip .x{opacity:.6;background:0 0;border:0;padding:0 0 0 2px;font-size:16px;line-height:1}.chip .x:hover{opacity:1}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--line);background:var(--panel);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s,border-color .2s;display:inline-flex}.btn:hover{background:var(--panel-strong);border-color:var(--line-strong)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn.primary{background:var(--grad);color:#fff;border-color:#0000;box-shadow:0 10px 30px -10px #8b5cf6cc}.btn.primary:hover{filter:brightness(1.08)}.btn.warm{background:var(--grad-warm);color:#1a0b2e;border-color:#0000}.btn.danger{color:var(--red);border-color:#fb718559}.btn.danger:hover{background:#fb71851f}.btn.sm{border-radius:10px;padding:7px 11px;font-size:13px}.btn.big{font-size:18px;font-family:var(--font-display);border-radius:16px;width:100%;padding:18px 26px;font-weight:800}.btn.big svg{width:22px;height:22px}.input,.textarea,.select{border:1px solid var(--line);background:#00000040;border-radius:12px;width:100%;padding:11px 14px;transition:border-color .2s,box-shadow .2s}.input:focus,.textarea:focus,.select:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px #8b5cf640}.textarea{resize:vertical;min-height:160px;font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.6}.input::placeholder,.textarea::placeholder{color:var(--dim)}label.field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.tabs{border:1px solid var(--line);background:#00000040;border-radius:14px;gap:4px;max-width:100%;margin-bottom:14px;padding:4px;display:inline-flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:9px 14px;font-size:14px;font-weight:600;display:inline-flex}.tab svg{width:16px;height:16px}.tab.active{background:var(--panel-strong);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.drop{border:2px dashed var(--line-strong);text-align:center;cursor:pointer;background:#0000002e;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 20px;transition:border-color .2s,background .2s;display:flex}.drop:hover,.drop.over{border-color:var(--cyan);background:#22d3ee12}.drop svg{width:38px;height:38px;color:var(--cyan)}.drop strong{font-size:16px}.drop span{color:var(--muted);font-size:13px}.preview{background:#22d3ee0f;border:1px solid #22d3ee4d;border-radius:16px;margin-top:14px;padding:14px}.preview h3{margin:0 0 4px;font-size:15px}.preview .sub{color:var(--muted);margin:0 0 10px;font-size:13px}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 12px}th{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);z-index:1;background:#0003;font-size:11px;position:sticky;top:0}tr:last-child td{border-bottom:0}.people{max-height:520px}.people td.name{white-space:normal;min-width:160px;font-weight:600}.people tr.off td{opacity:.45}.people tr.off td.name{text-decoration:line-through}.people tr.off td:first-child{opacity:1}.badge{letter-spacing:.04em;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.badge.win{color:var(--amber);background:#ffc5422e}.badge.out{color:var(--red);background:#fb718526}.badge.in{color:var(--green);background:#34d39924}.switch{flex:none;width:42px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.switch .track{background:#ffffff26;border-radius:999px;transition:background .2s;position:absolute;inset:0}.switch .track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .25s cubic-bezier(.3,1.5,.5,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0000004d}.switch input:checked+.track{background:var(--green)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{outline:2px solid var(--cyan);outline-offset:2px}.setting{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.setting:last-child{border-bottom:0}.setting div b{font-size:14px;display:block}.setting div span{color:var(--muted);font-size:12px}input[type=range]{width:100%;accent-color:var(--violet)}.seg{border:1px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);background:0 0;border:0;padding:7px 11px;font-size:13px;font-weight:600}.seg button+button{border-left:1px solid var(--line)}.seg button.active{background:var(--panel-strong);color:var(--text)}.seg button:disabled{opacity:.4;cursor:not-allowed}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar .input{flex:220px;width:auto}.note{color:var(--muted);font-size:13px}.alert{color:#ffe2a3;background:#ffc5421a;border:1px solid #ffc54259;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:13px;display:flex}.alert svg{flex:none;width:18px;height:18px;margin-top:1px}.win-list{flex-direction:column;gap:8px;max-height:380px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.win-list li{background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.win-list .who{overflow-wrap:anywhere;min-width:0;font-weight:700;line-height:1.25}.win-list .what{color:var(--muted);font-size:12px;font-weight:500}.win-list li.forfeited{opacity:.6}.win-list li.forfeited .name{text-decoration:line-through}.prize-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.prize-list li{background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-columns:auto auto 1fr auto auto auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.prize-list .prize-name{overflow-wrap:anywhere;min-width:0;font-weight:700}.input.qty{text-align:center;flex:none;width:72px;padding-left:10px;padding-right:6px}.chip-count:empty{display:none}.chip-count{opacity:.75;font-size:12px}.chip.done:not(.active){opacity:.55}.name-preview-box{border:1px solid var(--line);text-align:center;background:#00000040;border-radius:12px;padding:10px 14px}.name-preview{font-family:var(--font-display);letter-spacing:-.02em;background-image:var(--name-grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:800;line-height:1.1;display:inline-block}.swatch{cursor:pointer;border:2px solid #0000;border-radius:10px;width:64px;height:36px;position:relative;box-shadow:inset 0 0 0 1px #00000040}.swatch span{color:var(--muted);text-align:center;font-size:11px;position:absolute;inset:auto 0 -18px}.swatch.active{border-color:#fff}.color-pick{color:var(--muted);align-items:center;gap:6px;margin-top:14px;font-size:13px;display:inline-flex}.color-pick input{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:8px;width:36px;height:28px;padding:0}.live-share{grid-template-columns:132px 1fr;align-items:start;gap:14px;display:grid}.live-share .qr{background:#fff;border-radius:10px;overflow:hidden}.live-link{border:1px solid var(--line);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#0000004d;border-radius:8px;padding:8px 10px;font-size:12px;display:block}@media (max-width:480px){.live-share{grid-template-columns:1fr}.live-share .qr{width:160px}}.logo-preview{object-fit:contain;background:#ffffff14;border-radius:6px;max-width:96px;height:32px}.gate{isolation:isolate;place-items:center;min-height:100dvh;padding:20px;display:grid;position:relative}.gate>:not(.bg){z-index:1;position:relative}.gate form{text-align:center;flex-direction:column;gap:14px;width:min(400px,100%);display:flex}.gate .brand-mark{width:64px;height:64px;margin:0 auto}.gate h1{font-family:var(--font-display);margin:0}.gate .input{text-align:center;letter-spacing:.3em;font-size:20px}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-3{grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:10px;display:grid}.grid-4{grid-template-columns:1fr 1fr 1fr 1.4fr auto;align-items:end;gap:10px;display:grid}.bar{background:#ffffff1a;border-radius:999px;height:8px;margin:4px 0 14px;overflow:hidden}.bar>span{background:var(--grad);height:100%;transition:width .5s;display:block}.num-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.num-grid .input{padding:9px 10px}.sub-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px;font-size:12px;font-weight:700}@media (max-width:640px){.num-grid{grid-template-columns:repeat(2,1fr)}}.screen-host{background:#000;position:fixed;inset:0;overflow:hidden}.screen-box{background:var(--bg);position:absolute;overflow:hidden}.screen-content{position:absolute;top:0;left:0;overflow:hidden;container:canvas/size}.screen-content .stage{height:100%;min-height:100%}.screen-host.plain,.screen-host.plain .screen-box,.screen-host.plain .screen-content{background:0 0;width:auto;height:auto;position:static;inset:auto;overflow:visible;transform:none;container-type:normal}.screen-host.plain .screen-content .stage{height:auto;min-height:100dvh}.confetti-canvas{pointer-events:none;z-index:60;width:100%;height:100%;position:absolute;inset:0}.plain .confetti-canvas{position:fixed}.guides{z-index:80;pointer-events:none;border:3px dashed #22d3ee;position:absolute;inset:0}.plain .guides{position:fixed}.guides .g-corner{border:0 solid #ffc542;width:60px;height:60px;position:absolute}.g-corner.tl{border-top-width:8px;border-left-width:8px;top:0;left:0}.g-corner.tr{border-top-width:8px;border-right-width:8px;top:0;right:0}.g-corner.bl{border-bottom-width:8px;border-left-width:8px;bottom:0;left:0}.g-corner.br{border-bottom-width:8px;border-right-width:8px;bottom:0;right:0}.guides .g-cross{background:linear-gradient(#ffc542,#ffc542) 50%/4px 100% no-repeat,linear-gradient(#ffc542,#ffc542) 50%/100% 4px no-repeat;width:80px;height:80px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.guides .g-label{color:#ffc542;white-space:nowrap;background:#000000bf;border-radius:8px;padding:6px 12px;font:700 14px/1.3 ui-monospace,Menlo,monospace;position:absolute;top:calc(50% + 56px);left:50%;transform:translate(-50%)}.finale-list{flex-wrap:wrap;justify-content:center;gap:8px;max-width:900px;margin-top:4px;display:flex}.progress{background:#ffffff1a;border-radius:999px;width:min(420px,100%);height:8px;overflow:hidden}.progress>span{background:var(--grad);border-radius:inherit;height:100%;transition:width .6s;display:block}.prize-count{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:clamp(12px,min(1.2cqw,2cqh),22px);font-weight:700}@container stage (max-width:1100px){.stage-body.with-board{grid-template-columns:1fr}.board{max-height:none}}@container canvas (max-height:600px){.stage .kicker,.stage .hint,.stage .subtitle,.stage .verify,.stage .trust .opt,.stage .trophy,.stage .stats{display:none}.stage .hero{gap:1.6cqh}.stage .reel,.stage .countdown{--rows:3}.stage .showcase .trophy,.stage .help-chip{display:none}.stage .stats{margin-top:0}.stage .stat{padding:6px 14px}.stage .draw-btn{margin-top:0;padding:2.4cqh 40px}.stage .winner-name{margin:1cqh 0}.stage .next-btn{margin-top:1.4cqh}.stage .bubbles{inset:60px 0 40px}}@media (max-height:600px){.plain .stage .kicker,.plain .stage .hint,.plain .stage .subtitle,.plain .stage .trust .opt,.plain .stage .trophy,.live-view .kicker,.live-view .hint,.live-view .subtitle,.live-view .trophy{display:none}.plain .stage .reel,.plain .stage .countdown,.live-view .reel,.live-view .countdown{--rows:3}}@container stage (max-width:640px){.stage .hide-sm{display:none!important}.brand-event{font-size:18px}.brand-mark{width:36px;height:36px}.hide-sm{display:none!important}.center{min-height:60cqh}.stat{flex:28%;min-width:0;padding:10px 6px}.stat span{letter-spacing:.08em;font-size:10px}.bubble{opacity:.6}.sound-chip{top:74px;bottom:auto}.draw-btn{width:100%;padding:18px 32px}.reel{--item:58px;border-radius:20px}.countdown{height:calc(58px * var(--rows))}.reel-item{padding:0 18px;font-size:24px}.trust{gap:6px 14px;font-size:12px}}@media (max-width:1100px){.admin-grid{grid-template-columns:1fr}}@media (max-width:640px){.admin .hide-sm,.gate .hide-sm{display:none!important}.kpis{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.card{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.logo-preview.wide{max-width:220px;padding:4px 8px}.register-page{isolation:isolate;place-items:center;min-height:100dvh;padding:24px 16px 40px;display:grid;position:relative}.register-wrap{flex-direction:column;align-items:center;gap:18px;width:min(440px,100%);display:flex}.register-wrap .title{text-align:center;margin:0;font-size:clamp(30px,9vw,44px)}.register-wrap .title-logo img{max-width:min(320px,80vw);max-height:120px}.register-card{width:100%}.register-card h1{margin:0 0 4px;font-size:20px}.register-card .input{font-size:16px}.register-error{color:var(--red);margin:0;font-size:14px}.register-done{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.register-done .note{margin:0}.register-tick{width:56px;height:56px;color:var(--green);background:#22c55e2e;border-radius:50%;place-items:center;margin-bottom:6px;font-size:30px;font-weight:800;display:grid}.register-name{margin:0 0 8px;font-size:22px;font-weight:800}.register-code{border:1px dashed var(--line);letter-spacing:.18em;border-radius:12px;margin:0 0 10px;padding:8px 18px;font-family:ui-monospace,Menlo,monospace;font-size:26px;font-weight:800}.reg-box{flex-direction:column;gap:10px;display:flex}.register-once{font-size:13px;margin-top:6px!important}.reg-list{border:1px solid var(--line);border-radius:12px;max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.reg-list li{justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.reg-list li+li{border-top:1px solid var(--line)}.reg-list .who{min-width:0}.reg-list .name{font-weight:700}.reg-list .what{color:var(--muted);font-size:12px}.dialog-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#060414a8;place-items:center;padding:16px;animation:.15s ease-out page-in;display:grid;position:fixed;inset:0}.dialog{flex-direction:column;gap:14px;width:min(460px,100%);display:flex}.dialog h2{margin:0;font-size:19px}.dialog-message{color:var(--muted);white-space:pre-line;margin:0;line-height:1.5}.dialog-actions{justify-content:flex-end}.btn.danger.solid{background:var(--red);border-color:var(--red);color:#fff}.btn.danger.solid:disabled{opacity:.45}.admin>.dialog-backdrop{z-index:200;position:fixed}
