:root{--orange:#f97316;--orange-dark:#ea580c;--ink:#171717;--night:#120c33;--panel:#120c33d1;--line:#ffffff24;--muted:#ffffffad;--green:#22c55e;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{overscroll-behavior:none;background:var(--night);color:#fff;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;height:100%;margin:0;overflow:hidden}#c{touch-action:none;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}body.playing{cursor:none;-webkit-user-select:none;user-select:none;touch-action:none}#topbar{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));z-index:30;gap:8px;display:flex;position:fixed}.chip{border:1px solid var(--line);background:var(--panel);color:#fff;min-width:44px;height:44px;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:0 10px;font-size:14px;font-weight:700}body.playing #topbar{opacity:.55}body.playing #btn-lang{display:none}#hud{top:max(10px, env(safe-area-inset-top));pointer-events:none;z-index:20;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:0;right:0}#timer{font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-shadow:0 2px 12px #0000008c;font-size:clamp(34px,9vw,54px);font-weight:800}#dots{background:#120c338c;border-radius:999px;gap:5px;padding:6px 10px;display:flex}#dots i{background:#ffffff47;border-radius:50%;width:12px;height:12px;transition:background .15s,transform .15s;box-shadow:0 1px 4px #0006}#dots i.on{background:var(--green);transform:scale(1.15)}#fx{pointer-events:none;z-index:21;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.pop{color:var(--green);text-shadow:0 2px 8px #0009;font-size:30px;font-weight:800;animation:.7s ease-out forwards pop;position:absolute;transform:translate(-50%,-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}20%{opacity:1;transform:translate(-50%,-90%)scale(1.25)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}#countdown{text-shadow:0 6px 30px #0009;pointer-events:none;z-index:22;place-items:center;font-size:clamp(90px,30vw,200px);font-weight:900;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#countdown.tick{animation:.6s ease-out tick}@keyframes tick{0%{opacity:0;transform:scale(1.6)}25%{opacity:1;transform:scale(1)}to{opacity:.85;transform:scale(.9)}}#hint{left:50%;bottom:max(26px, env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--line);text-align:center;pointer-events:none;z-index:22;border-radius:999px;width:max-content;max-width:calc(100% - 32px);padding:10px 16px;font-size:15px;font-weight:600;position:fixed;transform:translate(-50%)}.overlay{padding:16px;padding-top:max(64px, env(safe-area-inset-top));z-index:25;background:linear-gradient(#120c3340,#120c3399);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.overlay.modal{z-index:40;background:#0a061eb8}.card{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);text-align:center;border-radius:22px;width:100%;max-width:400px;margin:auto;padding:24px 22px;box-shadow:0 20px 60px #00000073}.logo{align-items:center;gap:8px;font-size:18px;font-weight:800;display:inline-flex}.logo-mark{background:var(--orange);border-radius:6px;place-items:center;width:28px;height:28px;font-size:18px;display:grid}h1{letter-spacing:-.03em;text-wrap:balance;background:linear-gradient(100deg,#fff 30%,#fdba74);color:#0000;-webkit-background-clip:text;background-clip:text;margin:10px 0 4px;font-size:clamp(44px,13vw,60px);font-weight:900;line-height:1}h2{margin:0 0 12px;font-size:20px;font-weight:800}p{margin:0}.tagline{color:#fdba74;font-size:18px;font-weight:700}.intro{color:var(--muted);margin:12px 0 18px;font-size:15px;line-height:1.45}.prize{color:var(--muted);margin-top:16px;font-size:13.5px;line-height:1.4}.best{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:8px;font-size:14px}.best.new{color:var(--green);font-weight:700}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:700}.note{color:var(--muted);margin-bottom:10px;font-size:13.5px}.btn{border:1px solid var(--line);color:#fff;width:100%;min-height:50px;font:inherit;cursor:pointer;background:#ffffff1a;border-radius:14px;margin-top:10px;padding:12px 18px;font-size:16px;font-weight:700;transition:transform 80ms,background .15s;display:block}.btn:active{transform:scale(.98)}.btn.primary{background:var(--orange);border-color:#0000;font-size:18px;box-shadow:0 8px 24px #f9731666}.btn.primary:hover{background:var(--orange-dark)}.btn.ghost{background:0 0}.btn:disabled{opacity:.6;cursor:default}.btn:focus-visible{outline-offset:2px;outline:3px solid #fdba74}.chip:focus-visible{outline-offset:2px;outline:3px solid #fdba74}input:focus-visible{outline-offset:2px;outline:3px solid #fdba74}.time{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:clamp(56px,18vw,80px);font-weight:900;line-height:1.05}.time small{color:var(--muted);margin-left:4px;font-size:.4em}form{border-top:1px solid var(--line);text-align:left;margin-top:18px;padding-top:18px}form h2{text-align:center;font-size:17px}input[type=text],input[type=email]{border:1px solid var(--line);color:#fff;width:100%;height:48px;font:inherit;background:#ffffff14;border-radius:12px;margin-bottom:8px;padding:0 14px;font-size:16px;display:block}input::placeholder{color:#ffffff80}.consent{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;margin:6px 0;font-size:12.5px;line-height:1.4;display:flex}.consent input{width:22px;height:22px;accent-color:var(--orange);flex:none;margin:0}a{color:#fdba74}.error{color:#fecaca;background:#ef444433;border-radius:10px;margin:8px 0 0;padding:8px 12px;font-size:14px}#submitted{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.rank{color:var(--green);margin-bottom:10px;font-size:22px;font-weight:800}.board{text-align:left;max-height:46vh;margin:0 0 6px;padding:0;list-style:none;overflow-y:auto}.board li{font-variant-numeric:tabular-nums;border-radius:10px;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:9px 10px;font-size:15px;display:grid}.board li:nth-child(odd){background:#ffffff0f}.board li.you{outline:1px solid var(--orange);background:#f973164d}.board li.gap{text-align:center;color:var(--muted);background:0 0;padding:2px;display:block}.board .pos{color:var(--muted);font-weight:800}.board li:first-child .pos{color:#facc15}.board .who{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.board .ms{font-weight:800}.board .empty{text-align:center;color:var(--muted);background:0 0;display:block}.terms{text-align:left;color:var(--muted);max-height:56vh;font-size:13.5px;line-height:1.5;overflow-y:auto}.terms p{margin-bottom:10px}.terms strong{color:#fff}#screen{z-index:50;background:linear-gradient(100deg,#120c33e0,#120c3399);grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:4vw;padding:5vh 5vw;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.screen-left{text-align:center}.screen-left .logo{font-size:2.2vw}.screen-left .logo-mark{border-radius:.6vw;width:3vw;height:3vw;font-size:2vw}.screen-left h1{font-size:7.5vw}.screen-left .tagline{font-size:2.2vw}.screen-left .prize{font-size:1.4vw}#screen-qr{background:#fff;border-radius:1.2vw;width:min(24vw,38vh);height:auto;margin:3vh 0 1.5vh}.cta{font-size:2vw;font-weight:800}.screen-right{background:var(--panel);border:1px solid var(--line);border-radius:2vw;padding:3vh 2.5vw}.screen-right h2{text-align:center;margin-bottom:2vh;font-size:3vw}.board.big{max-height:none;overflow:visible}.board.big li{border-radius:1vw;grid-template-columns:4.5vw 1fr auto;padding:1.1vh 1.4vw;font-size:2.3vw}body.screen-mode #topbar{display:none}@media (max-height:640px){.card{padding:16px 18px}.intro{margin:8px 0 12px}}@media (prefers-reduced-motion:reduce){.pop,#countdown.tick{animation-duration:10ms}}
