:root{color-scheme:dark;--bg:#0d151f;--panel:#15212e;--line:#2a3744;--muted:#93a4b5;--text:#f4f5f4;--gold:#f8c87b;--teal:#57cabe}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 30%,#18333b80,transparent 48%),var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:5px}[hidden]{display:none!important}.topbar{max-width:1600px;margin:auto;height:110px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0d}.brand{display:flex;align-items:center;gap:19px}.brand>b{font-size:36px;letter-spacing:-3px}.brand>b span{color:var(--gold);font-size:32px;margin-left:3px}.brand>span:last-child{font-size:9px;letter-spacing:2px;line-height:1.6;font-weight:600}.brand-divider{height:31px;width:1px;background:#53606b}.live{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2px}.live i{background:#68d6a6;width:6px;height:6px;border-radius:100%;box-shadow:0 0 12px #68d6a6}.year{color:#6c7e8e;margin-left:14px}.sound{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:transparent;font-size:23px}.sound.enabled{color:var(--gold);border-color:var(--gold)}.spin-stage{max-width:1480px;margin:auto;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;padding:62px 5.2% 54px;gap:48px;min-height:calc(100vh - 185px)}.eyebrow{font-size:10px;letter-spacing:2.8px;font-weight:700;color:var(--gold);display:inline-block}.mini-star{font-size:18px;vertical-align:middle;margin-right:7px}h1{font-size:clamp(40px,4.1vw,66px);line-height:1.08;letter-spacing:-2.7px;margin:24px 0}h1 em{font-style:normal;color:var(--gold)}.lead{font-size:16px;line-height:1.9;color:var(--muted);margin-bottom:25px}.prize-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.prize-chips span{border:1px solid #34424a;border-radius:20px;padding:8px 12px;font-size:11px;color:#c7d5de}.prize-chips .gold{border-color:#f8c87b44;color:var(--gold)}.entry-card{max-width:440px;border:1px solid #344250;border-radius:16px;padding:23px;background:linear-gradient(120deg,#1c2a36,#14212d);box-shadow:0 14px 40px #0002}.entry-top{display:flex;align-items:center;gap:12px;margin-bottom:20px}.step-circle{width:31px;height:31px;border:1px solid #5e695f;border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--gold)}.entry-top b{font-size:14px}.entry-top small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.tiny-ticket{margin-left:auto;color:var(--gold);font-size:24px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:8px;padding:16px 20px;font-weight:750;letter-spacing:1px;font-size:12px;border:0;transition:filter .2s,transform .2s}.primary{color:#342612;background:linear-gradient(100deg,#f8d499,#f5bd67);box-shadow:0 6px 20px #f8c87b15}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary span{margin-left:auto;font-size:20px}.secondary{background:#233443;color:#d9e4eb;border:1px solid #3a4d5b;letter-spacing:0}.danger{background:#40232c;color:#ffb3be;border-color:#6a3542}.entry-card .primary{width:100%;margin-top:12px}.entry-card input{text-transform:uppercase;letter-spacing:2px;font-size:14px}.entry-card #play-status{font-size:10px;color:var(--muted);text-align:center;line-height:1.6;margin:14px 0 0;min-height:16px}.register-link{display:block;margin:19px 0 0 2px;font-size:11px;color:var(--muted)}.register-link strong{color:#d4e3e8;margin-left:4px}.wheel-scene{position:relative;display:flex;align-items:center;flex-direction:column;min-width:0;padding:45px 0 10px}.wheel-frame{position:relative;width:100%;max-width:590px;z-index:2;filter:drop-shadow(0 15px 26px #0006)}canvas{width:100%;display:block;aspect-ratio:1}.hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:7px solid #cfa66b;border-radius:50%;width:21%;aspect-ratio:1;background:radial-gradient(circle at 30% 20%,#283745,#0c1721);box-shadow:0 0 0 4px #4d3b2b,0 9px 16px #0006;display:flex;flex-direction:column;align-items:center;justify-content:center}.hub b{font-size:clamp(20px,2.7vw,38px);letter-spacing:-2px}.hub b span{color:var(--gold)}.hub small{font-size:8px;letter-spacing:1.8px;color:#b0b7b7;margin-top:6px}.pointer{position:absolute;top:-1.5%;left:50%;transform:translateX(-50%);transform-origin:50% 10%;width:40px;height:65px;background:linear-gradient(90deg,#d5a353,#ffe6ad,#b8863e);clip-path:polygon(10% 0,90% 0,90% 48%,50% 100%,10% 48%);z-index:4;filter:drop-shadow(0 4px 2px #000)}.wheel-base{width:43%;height:58px;background:linear-gradient(90deg,#15212d,#33414a,#14212c);clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);margin-top:-26px;border-bottom:5px solid #b58c56;z-index:1;box-shadow:0 40px 30px #000}.wheel-caption{display:flex;justify-content:space-between;width:88%;margin-top:32px;font-size:8px;letter-spacing:1.7px;color:#6e8290}.wheel-caption .live{font-size:8px}.floating-label{position:absolute;right:0;top:0;font-size:9px;letter-spacing:2px;color:var(--gold);border:1px solid #b4965844;border-radius:25px;padding:10px 16px;transform:rotate(8deg)}.orbit{position:absolute;border:1px solid #aac2b30b;width:110%;aspect-ratio:1;border-radius:50%;top:4%;pointer-events:none}.orbit-two{width:122%;top:-2%}.spin-copy{position:relative;z-index:2}footer{border-top:1px solid #ffffff0b;padding:23px 5.2%;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1.3px;color:#6d7d8c}footer b{color:var(--gold);margin:0 12px}.card{background:linear-gradient(140deg,#1a2836,#14212d);border:1px solid #33414e;border-radius:18px;padding:30px}h2{font-size:26px;letter-spacing:-.8px;margin:14px 0}.muted{color:var(--muted);line-height:1.7;font-size:13px}label{display:block;font-size:12px;font-weight:600;line-height:1.4;margin:20px 0 0}label small{color:#94a6b5;font-weight:400;margin-left:7px}input,select,textarea{width:100%;color:#ecf3f6;background:#0e1b27;border:1px solid #364756;border-radius:7px;padding:14px;outline:0;min-width:0}label input,label select{margin-top:8px}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f8c87b12}input::placeholder{color:#60778b}input[type=checkbox]{width:16px;height:16px;accent-color:var(--gold);flex-shrink:0}.check{display:flex;align-items:flex-start;gap:10px;color:#a8b8c4;font-size:11px;font-weight:400}.check input{margin-top:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.registration{max-width:1200px;margin:65px auto;display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:0 35px}.reg-intro h1{font-size:64px}.reg-intro>p{color:var(--muted);line-height:1.8}.reg-card form>.primary{width:100%;margin-top:25px}.fine{color:#8193a3;font-size:10px;line-height:1.7;margin-top:25px}.ticket-art{max-width:330px;background:var(--gold);color:#392817;transform:rotate(-6deg);border-radius:13px;margin:42px 0;padding:22px;box-shadow:15px 15px 0 #f8c87b0b;display:flex;flex-direction:column;position:relative}.ticket-art>span{font-size:9px;letter-spacing:3px}.ticket-art>b{font-size:74px;line-height:1.2}.ticket-art>strong{font-size:30px;letter-spacing:-1px}.ticket-art>small{margin-top:18px;padding-top:15px;border-top:1px dashed #39281766;font-size:9px;letter-spacing:2px}.steps{display:flex;gap:22px;font-size:11px;color:#b8c7cc}.steps b{color:var(--gold);display:block;margin-bottom:7px}.form-message{font-size:12px;color:#ffb5aa;line-height:1.6}#ticket{padding:55px 0;text-align:center}#ticket-code{display:block;font-size:27px;color:var(--gold);letter-spacing:2px;padding:25px 0}.locked{text-align:center;min-height:72vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px}.locked h1{font-size:40px;line-height:1.4;overflow-wrap:anywhere;max-width:100%}.lock-icon{font-size:90px;color:var(--gold);margin-bottom:20px}.locked .primary{margin-top:20px}.admin-shell{max-width:1250px;margin:45px auto;padding:0 25px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-heading h1{font-size:36px;letter-spacing:-1.4px}.login-card{max-width:460px;margin:40px auto 100px}.login-card .primary{width:100%;margin-top:25px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.stat{padding:23px}.stat span{color:var(--muted);font-size:11px}.stat strong{display:block;font-size:35px;color:var(--gold);margin-top:10px}.admin-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.admin-grid .full{grid-column:1/-1}.admin-grid h2{font-size:20px}.admin-grid textarea{margin-top:8px;min-height:100px;resize:vertical}.admin-grid .primary{margin-top:20px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--muted);font-weight:400;font-size:10px;letter-spacing:.5px}td,th{padding:13px 8px;border-bottom:1px solid var(--line)}table input,table select{padding:9px 6px;min-width:65px;font-size:12px}table input[data-field=name]{min-width:140px}table input[data-field=icon]{width:65px}.remove{border:0;background:transparent;color:#ff9b9b;font-size:20px}.pill{background:#4dc6aa1a;color:#6dd9c0;border-radius:10px;padding:4px 8px;font-size:10px}.device-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}.device-row button{padding:8px 12px}.admin-note{border-left:2px solid var(--gold);padding-left:12px;font-size:12px;color:#aabbc8;line-height:1.7}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:15px 25px;background:#eff5ef;color:#172a26;border-radius:10px;box-shadow:0 10px 40px #0008;z-index:50;max-width:90%;font-size:13px}dialog{background:radial-gradient(ellipse at top,#3d3840,#14212e 60%);color:var(--text);border:1px solid #d8b16a70;border-radius:24px;padding:50px 35px 30px;text-align:center;max-width:480px;width:90%;overflow:hidden;box-shadow:0 0 100px #edc47930}dialog::backdrop{background:#030b13c9;backdrop-filter:blur(9px)}dialog h2{font-size:38px;letter-spacing:-1.5px}dialog p{color:#b6c7d2;font-size:14px;line-height:1.7}dialog small{display:block;font-size:10px;color:#8399a9;margin-bottom:22px}dialog .primary{width:100%;position:relative;z-index:2}.result-icon{font-size:90px;margin-bottom:20px;animation:bounce 1.4s infinite}.big-result{border-color:#f8c87b;background:radial-gradient(ellipse at top,#695234,#13202e 70%)}.zonk-result .result-icon{animation:tease .6s infinite alternate}.big-result h2{color:var(--gold)}#confetti{position:absolute;inset:0;pointer-events:none}#confetti i{position:absolute;top:-20px;width:6px;height:12px;animation:fall 3s linear infinite}@keyframes fall{to{transform:translateY(620px) rotate(650deg)}}@keyframes bounce{50%{transform:translateY(-9px) rotate(-6deg)}}@keyframes tease{to{transform:rotate(15deg) scale(1.12)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1600px){.spin-stage{gap:80px}.wheel-frame{max-width:660px}}@media(max-width:1000px){.spin-stage{gap:20px;padding:45px 4%}.topbar{padding:0 4%;height:85px}h1{font-size:43px}.lead{font-size:13px}.wheel-scene{padding-top:35px}.floating-label{font-size:7px}.registration{gap:40px}.reg-intro h1{font-size:50px}.wheel-caption{letter-spacing:1px}.admin-grid{grid-template-columns:1fr}.admin-grid .full{grid-column:auto}}
@media(max-width:700px){.topbar{height:75px}.brand>b{font-size:30px}.brand>span:last-child{font-size:7px}.topbar>.live{display:none}.spin-stage{display:flex;flex-direction:column;padding:25px 6% 40px;gap:22px}.spin-copy{display:contents}.spin-copy>.eyebrow{order:0;font-size:8px}.spin-copy>h1{order:1;font-size:43px;text-align:center;margin:0}.lead{display:none}.prize-chips{order:3;justify-content:center;margin:0;gap:5px}.prize-chips span{font-size:9px;padding:7px 9px}.wheel-scene{order:2;width:100%;max-width:380px;padding-top:10px}.floating-label,.orbit{display:none}.wheel-caption{margin-top:15px;font-size:6px}.wheel-caption .live{font-size:6px}.wheel-base{height:35px}.entry-card{order:4;width:100%;padding:18px}.register-link{order:5;margin:0}.pointer{width:28px;height:45px}.hub b{font-size:27px}.hub{border-width:5px}.hub small{font-size:6px}.registration{display:block;margin:35px auto;padding:0 20px}.reg-intro h1{font-size:42px}.reg-intro h1 br:nth-child(2){display:none}.ticket-art{display:none}.steps{margin-bottom:30px}.card{padding:23px}.form-grid{grid-template-columns:1fr;gap:0}footer{font-size:7px;flex-direction:column;text-align:center;line-height:1.5;gap:8px}.stats{gap:8px}.stat{padding:15px}.stat strong{font-size:27px}.section-heading{align-items:flex-start}.section-heading h1{font-size:27px}.section-heading>.secondary{font-size:10px;padding:10px;white-space:nowrap}.locked h1{font-size:30px}.admin-shell{padding:0 15px}.year{display:none}}
@media(prefers-reduced-motion:reduce){.result-icon,#confetti i{animation:none!important}*{scroll-behavior:auto!important}}
@media(max-width:700px){.reg-intro h1 br:nth-child(2){display:initial}}
.admin-grid>*{min-width:0}
.special-card{border-color:#aa814c;background:linear-gradient(140deg,#302b2b,#172533)}.schedule-summary{margin-top:24px;border-top:1px solid var(--line);padding-top:14px;font-size:13px}.schedule-summary h3{font-size:15px}.special-card .pill{display:inline-block;margin-top:8px}
.pointer-mount{position:absolute;left:50%;top:-1.2%;width:0;height:0;z-index:5;filter:drop-shadow(2px 5px 3px #0008)}
.pointer-mount::before{content:"";position:absolute;left:-16px;top:-18px;width:32px;height:24px;border-radius:10px 10px 4px 4px;background:linear-gradient(90deg,#39454b,#7c878b 48%,#313d45);border:1px solid #adb5b7;box-shadow:inset 0 2px 2px #ffffff55}
.pointer-mount .pointer{position:absolute;top:0;left:0;width:12px;height:68px;clip-path:none;background:none;filter:none;transform-origin:50% 0;transform:translateX(-50%) rotate(0deg)}
.pointer-blade{position:absolute;left:0;top:-2px;width:100%;height:100%;border-radius:5px 5px 45% 45%;background:linear-gradient(90deg,#78552d 0%,#f9dda1 28%,#fff1ca 46%,#d3a966 65%,#79562d 100%);border:1px solid #e8c788;box-shadow:inset 0 1px 2px #fff9,2px 2px 2px #0005;clip-path:polygon(0 0,100% 0,79% 77%,64% 100%,36% 100%,21% 77%)}
.pointer-pivot{position:absolute;width:22px;height:22px;left:-11px;top:-11px;border-radius:50%;border:2px solid #f0d7a8;background:radial-gradient(circle at 35% 28%,#fff8d9,#c89c5e 45%,#684c2e 80%);box-shadow:0 2px 4px #0008,inset 0 0 0 3px #a47c48}
.pointer-pivot::after{content:"";position:absolute;inset:6px 2px;background:#57412a;border-radius:2px;transform:rotate(-35deg);box-shadow:0 1px 0 #ffe9bf}
/* Same wheel-space geometry at all screen sizes: pivot -12, tip 56, rim pin center 46. */
.wheel-frame{container-type:inline-size}
@supports(width:1cqw){.pointer-mount .pointer{width:1.2cqw;height:6.8cqw}.pointer-pivot{width:2.2cqw;height:2.2cqw;left:-1.1cqw;top:-1.1cqw;border-width:.2cqw}.pointer-pivot::after{inset:.6cqw .2cqw}.pointer-mount::before{left:-1.6cqw;top:-1.8cqw;width:3.2cqw;height:2.4cqw;border-radius:1cqw 1cqw .4cqw .4cqw}.pointer-blade{top:-.2cqw;border-width:.1cqw}}
