:root{--bg:#070a16;--ink:#eaf6ff;--dim:#eaf6ff9e;--fox:#8fe9ff;--warm:#ffcf7a;--font:"Avenir Next", "Futura", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}canvas{display:block;position:fixed;inset:0}.hidden{display:none!important}#hud{padding:calc(env(safe-area-inset-top) + 12px) 16px 0;pointer-events:none;text-shadow:0 2px 10px #0009;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:0;left:0;right:0}.place{letter-spacing:-.02em;font-size:44px;font-style:italic;font-weight:800;line-height:1}.place small{color:var(--dim);margin-left:2px;font-size:18px;font-style:normal}.right{text-align:right;margin-right:138px}#lap{letter-spacing:.08em;text-transform:uppercase;font-size:17px;font-weight:700}#clock{font-variant-numeric:tabular-nums;color:var(--dim);margin-top:3px;font-size:15px}.corner{top:calc(env(safe-area-inset-top) + 10px);z-index:5;gap:8px;display:flex;position:fixed;right:12px}.icon{width:38px;height:38px;color:var(--ink);font:700 14px var(--font);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e1e8c;border:1px solid #ffffff2e;border-radius:50%;place-items:center;padding:0;display:grid}.icon.off{opacity:.45;text-decoration:line-through}.count{text-align:center;pointer-events:none;color:#fff;text-shadow:0 0 30px #8fe9ffe6,0 0 80px #8fe9ff80;font-size:96px;font-style:italic;font-weight:800;position:fixed;top:34%;left:0;right:0}.banner{text-align:center;pointer-events:none;opacity:0;letter-spacing:.12em;text-transform:uppercase;color:var(--warm);text-shadow:0 0 22px #ffaa50cc;font-size:30px;font-weight:800;transition:opacity .25s;position:fixed;top:22%;left:0;right:0}.banner.show{opacity:1}.wrong{text-align:center;pointer-events:none;letter-spacing:.14em;text-transform:uppercase;color:#ff7a7a;text-shadow:0 0 18px #ff3c3cb3;font-size:26px;font-weight:800;position:fixed;top:40%;left:0;right:0}.hint{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 28px);text-align:center;pointer-events:none;color:var(--ink);opacity:.85;text-shadow:0 2px 12px #000c;font-size:16px;font-weight:600;animation:2.4s ease-in-out infinite breathe;position:fixed}@keyframes breathe{50%{opacity:.45}}.overlay{z-index:4;background:radial-gradient(at 50% 45%,#070a1640,#070a16d1);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px 16px;display:flex;position:fixed;inset:0}#title{padding:calc(env(safe-area-inset-top) + 13vh) 16px calc(env(safe-area-inset-bottom) + 6vh);background:linear-gradient(#070a16bf 0%,#070a161a 40% 60%,#070a16d9 100%);justify-content:space-between}.logo{letter-spacing:.16em;background:linear-gradient(#fff 10%,#bdf4ff 55%,#5fd6ff 100%);color:#0000;filter:drop-shadow(0 0 18px #78dcffbf)drop-shadow(0 0 60px #50b4ff66);-webkit-background-clip:text;background-clip:text;padding-left:.16em;font-size:clamp(46px,15vw,96px);font-style:italic;font-weight:800}.tag{color:var(--dim);letter-spacing:.03em;margin-top:-6px;font-size:17px;font-weight:600}#title>.logo{margin-bottom:0}#title .head{flex-direction:column;align-items:center;display:flex}.buttons{flex-direction:column;gap:12px;width:min(300px,100%);display:flex}button{appearance:none;color:var(--ink);font:700 18px var(--font);letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#0e1428b3;border:1px solid #fff3;border-radius:14px;padding:15px 18px}button.primary{color:#06132a;background:linear-gradient(#c9f6ff,#6fd8ff);border-color:#0000;box-shadow:0 0 24px #6fd8ff8c,0 8px 24px #00000059}button:active{transform:scale(.97)}.foot{color:#eaf6ff73;letter-spacing:.05em;text-align:center;font-size:12px}.heading{text-shadow:0 0 26px #8fe9ffb3;font-size:56px;font-style:italic;font-weight:800}.results{flex-direction:column;gap:8px;width:min(320px,100%);margin:0;padding:0;list-style:none;display:flex}.results li{background:#0e142899;border-radius:12px;grid-template-columns:28px 14px 1fr auto;align-items:center;gap:10px;padding:10px 14px;font-size:16px;font-weight:600;display:grid}.results li.me{background:#28506e73;outline:1px solid #8fe9ff99}.results .pos{color:var(--dim);font-style:italic;font-weight:800}.results .dot{border-radius:50%;width:12px;height:12px;box-shadow:0 0 10px}.results .time{font-variant-numeric:tabular-nums;color:var(--dim)}.debug{color:#9fe;pointer-events:none;white-space:pre;background:#00000080;border-radius:4px;padding:4px 6px;font:11px ui-monospace,monospace;position:fixed;bottom:8px;left:8px}.trackpick{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px;display:flex}.trackpick button{letter-spacing:.08em;color:var(--dim);background:#0e142899;border:1px solid #ffffff29;border-radius:999px;padding:8px 12px;font-size:12px}.trackpick button.on{color:#06132a;background:var(--warm);border-color:#0000;box-shadow:0 0 18px #ffbe6e80}button small{letter-spacing:.04em;text-transform:none;opacity:.7;margin-top:3px;font-size:11px;font-weight:600;display:block}button small:empty{display:none}button:disabled{opacity:.6}.heading.small{font-size:40px}.sub{color:var(--dim);letter-spacing:.04em;text-align:center;font-size:15px;font-weight:600}#lobbyTrack{color:var(--warm);text-transform:uppercase;letter-spacing:.14em;margin-top:-10px}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 90px);text-align:center;opacity:0;pointer-events:none;z-index:9;word-break:break-all;background:#0e1428eb;border:1px solid #ffffff29;border-radius:12px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.linkish{text-transform:none;letter-spacing:.02em;color:var(--dim);-webkit-backdrop-filter:none;backdrop-filter:none;text-underline-offset:3px;background:0 0;border:none;padding:10px 6px 0;font-size:13px;text-decoration:underline}.nameform{flex-direction:column;align-items:center;gap:12px;width:min(320px,100%);display:flex}.nameform input{width:100%;color:var(--ink);font:700 20px var(--font);text-align:center;-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#0a1022d9;border:1px solid #8fe9ff73;border-radius:14px;outline:none;padding:14px 16px}.nameform input:focus{border-color:var(--fox);box-shadow:0 0 18px #8fe9ff59}.name-error{color:#ff8a8a;text-align:center;min-height:18px;font-size:14px;font-weight:600}.sub.small{max-width:300px;font-size:12px;font-weight:500;line-height:1.4}#nameSheet{z-index:6;background:#070a16f2}.standings{pointer-events:none;flex-direction:column;gap:3px;margin:8px 0 0;padding:0;list-style:none;display:flex}.standings li{color:var(--dim);align-items:center;gap:6px;max-width:46vw;font-size:13px;font-weight:600;line-height:1.25;display:flex}.standings li b{color:#eaf6ff80;width:12px;font-style:italic}.standings li i{border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 8px}.standings li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.standings li small{letter-spacing:.06em;text-transform:uppercase;opacity:.6;font-size:10px}.standings li.me,.standings li.me b{color:var(--ink)}.standings li.done span{text-decoration:none}
