:root{color-scheme:light;--bg:#f5f6f9;--panel:#fff;--text:#202534;--muted:#7b8192;--line:#e6e9f0;--accent:#314bda;--accent2:#2337b0;--soft:#eef1ff;--green:#168458;--danger:#b53d47}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);font-size:14px;line-height:1.55}
button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}.shell{max-width:1190px;margin:auto;padding:22px 20px 70px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;min-height:50px}.brand{display:flex;gap:12px;align-items:center}.brand-icon{background:#20283f;color:#fff;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:800;font-size:24px;letter-spacing:-2px}.brand b{display:block;font-size:16px}.brand small{display:block;font-size:11px;color:var(--muted)}.quiet-link{font-weight:700;color:#4d5980}.panel{border:1px solid var(--line);background:var(--panel);border-radius:21px;box-shadow:0 8px 24px rgba(29,36,66,.025)}.padded{padding:24px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:#6974a2}.muted{color:var(--muted)}h1{font-size:clamp(25px,4vw,37px);line-height:1.2;letter-spacing:-.047em;margin:8px 0 8px}h2{font-size:17px;line-height:1.35;letter-spacing:-.02em;margin:0 0 9px}p{margin:7px 0 16px}.hero{padding:28px;display:flex;justify-content:space-between;gap:16px;align-items:center}.status-pill{border-radius:50px;padding:8px 12px;background:#edf5f0;color:var(--green);font-size:11px;font-weight:800;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.stat{padding:22px;display:flex;flex-direction:column;gap:5px}.stat small{font-size:12px;color:var(--muted)}.stat strong{font-size:32px;letter-spacing:-.06em;line-height:1.1}.stat span{font-size:11px;color:var(--muted)}.two-column{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:18px}.stack{display:flex;flex-direction:column;gap:12px}.stack .panel{margin:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-heading p{font-size:12px;margin:4px 0}.prizes{display:flex;flex-direction:column;gap:9px}.prize-row{border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;align-items:center;gap:13px;min-width:0}.prize-no{width:36px;height:36px;border-radius:10px;background:#f3f5f9;display:grid;place-items:center;font-size:12px;color:#677084;font-weight:800;flex-shrink:0}.prize-info{min-width:0;flex:1}.prize-info b{display:block;font-size:12px;overflow-wrap:anywhere}.prize-info small{font-size:11px;color:var(--muted)}.prize-row.done .prize-no{background:#eaf8f0;color:var(--green)}.prize-row.current{border-color:#b1bafb;background:#fafaff}.pill{background:#f3f5f9;border-radius:12px;padding:5px 9px;font-size:10px;color:#7b8192;flex-shrink:0}.pill.success{background:#eaf8f0;color:var(--green)}.button{border:0;border-radius:12px;padding:12px 14px;font-weight:800;font-size:12px;transition:transform .12s,background .12s}.button:active{transform:scale(.985)}.button.primary{color:white;background:var(--accent)}.button.primary:hover{background:var(--accent2)}.button.soft{color:var(--accent);background:var(--soft)}.button.ghost{background:transparent;color:#8b91a1}.button.wide{width:100%;margin:6px 0}.inline-form{display:flex;gap:8px;margin-top:16px}input{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;min-width:0;outline:none;width:100%;font-size:12px}input:focus{border-color:#93a3fb;box-shadow:0 0 0 3px #93a3fb20}.fine{color:#8c92a3;font-size:11px;line-height:1.6}.small-list{display:flex;flex-direction:column;gap:9px}.small-list>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #f0f2f5;font-size:12px}.small-list b{color:var(--green)}.small-list b.missing{color:var(--danger)}.toast{position:fixed;bottom:24px;right:24px;left:auto;max-width:min(440px,calc(100% - 30px));background:#222a40;color:white;border-radius:12px;padding:14px 17px;box-shadow:0 14px 36px #1f273e33;font-size:13px;z-index:5}.login-card{max-width:460px;margin:80px auto;padding:30px}.login-card label{font-weight:800;font-size:12px;display:flex;flex-direction:column;gap:5px}.login-card h1{font-size:27px}.error{color:var(--danger)}.viewer{max-width:940px}.viewer-hero{text-align:center;padding:28px 5px 18px}.viewer-hero h1{margin:9px 0}.viewer-hero p{max-width:600px;margin:12px auto}.wheel{padding:28px;margin:18px 0 20px;text-align:center;overflow:hidden}.wheel-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px}.wheel h2{font-size:clamp(22px,5vw,30px);margin:0 0 6px}.wheel .muted{font-size:12px}.reel{display:flex;justify-content:center;gap:10px;margin:30px auto 0;overflow:hidden}.reel-tile{font-size:clamp(23px,5vw,39px);font-weight:800;letter-spacing:-.04em;display:grid;place-items:center;padding:22px 12px;border-radius:16px;background:#f4f6fb;color:#a5acbc;min-width:0;flex:1;max-width:170px}.reel-tile.highlight{background:#ecf0ff;color:var(--accent);box-shadow:inset 0 0 0 2px #9ba9ff}.reel-pointer{color:var(--accent);font-size:20px;margin-top:8px}.winner-banner{border-radius:12px;background:#eef8f1;border:1px solid #d6eee0;color:#126e46;padding:15px;font-weight:800;margin-top:14px}.footer{text-align:center;color:#9ca1ae;font-size:11px;padding:28px 6px;max-width:700px;margin:auto}.viewer-brand{font-size:12px;color:var(--muted);font-weight:700}
@media(max-width:800px){.two-column{grid-template-columns:1fr}.shell{padding:16px 12px 55px}.padded{padding:17px}.hero{padding:20px}.stat{padding:16px}.stat strong{font-size:27px}.wheel{padding:18px}.stats{gap:9px}.login-card{margin:45px auto;padding:22px}}
@media(max-width:490px){.viewer-brand,.quiet-link{font-size:10px}.brand b{font-size:13px}.stats{gap:6px}.stat{padding:12px 10px}.stat strong{font-size:24px}.stat span{font-size:9px}.hero{display:block}.hero .status-pill{display:inline-block;margin-top:8px}.wheel-top{margin-bottom:18px}.wheel{padding:15px}.reel{gap:6px}.reel-tile{padding:15px 5px;font-size:22px}.inline-form{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
