*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#1b1714;font-family:Segoe UI,system-ui,-apple-system,Roboto,Noto Sans,sans-serif;color:#f4f4f5;user-select:none}#app,canvas{display:block}#app>canvas{width:100vw;height:100vh}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}#hud{position:fixed;inset:0;pointer-events:none}.panel{position:absolute;background:#0a0e14a8;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 12px;backdrop-filter:blur(4px)}.lbl{font-size:10px;letter-spacing:1.5px;color:#9ca3af;margin-right:6px;font-weight:700}.tl{top:12px;left:12px;min-width:150px}.tl .big{font-size:24px;font-weight:800;line-height:1.15;display:flex;align-items:baseline}.tl .big .lbl{width:34px}.stand{margin-top:6px;font-size:12px;line-height:1.55}.stand div{display:flex;align-items:center;gap:6px;color:#d1d5db;white-space:nowrap}.stand div.me{color:#ffe066;font-weight:700}.stand b{width:12px;color:#9ca3af}.stand i,td i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:2px}.tc{top:12px;left:50%;transform:translate(-50%);display:flex;gap:16px;font-size:16px;font-weight:700;align-items:baseline}.tc .best{color:#c084fc}.tr{position:absolute;top:12px;right:12px;display:flex;gap:6px;pointer-events:auto}.btn{pointer-events:auto;background:#0a0e14b8;color:#f4f4f5;border:1px solid rgba(255,255,255,.15);border-radius:10px;height:36px;padding:0 12px;font-size:14px;font-weight:700;cursor:pointer}.btn.sq{width:36px;padding:0;font-size:16px}.btn:hover{background:#282e38e6}.bl{bottom:12px;left:12px;width:280px}.meter{display:flex;align-items:center;margin:3px 0}.meter .lbl{width:76px}.bar{position:relative;flex:1;height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden}.fill{height:100%;border-radius:6px;transition:width .05s linear}.fill.thr{background:linear-gradient(90deg,#22c55e,#facc15 70%,#f97316)}.fill.fuel{background:linear-gradient(90deg,#0ea5e9,#22d3ee)}.fill.fuel.low{background:linear-gradient(90deg,#dc2626,#f87171);animation:blink .6s infinite alternate}.pct{position:absolute;right:6px;top:-1px;font-size:10px;font-weight:800}.chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;min-height:0}.chip{font-size:11px;font-weight:800;padding:3px 7px;border-radius:6px;letter-spacing:.5px}.chip.yel{background:#ffd23f;color:#222}.chip.cyan{background:#22d3ee;color:#062a33}.chip.org{background:#fb923c;color:#2a1305}.chip.red{background:#dc2626;color:#fff}.blink{animation:blink .5s infinite alternate}@keyframes blink{0%{opacity:1}to{opacity:.45}}.br{position:absolute;bottom:12px;right:12px}.toast{position:absolute;top:64px;left:50%;transform:translate(-50%,-10px);padding:9px 18px;border-radius:10px;font-size:16px;font-weight:700;background:#0a0e14d1;opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap;border-left:4px solid #60a5fa}.toast.show{opacity:1;transform:translate(-50%)}.toast.good{border-left-color:#22c55e}.toast.warn{border-left-color:#f59e0b}.toast.bad{border-left-color:#ef4444;color:#fecaca}.status{position:absolute;bottom:120px;left:50%;transform:translate(-50%);padding:8px 16px;border-radius:10px;background:#0a0e14cc;font-size:15px;opacity:0;transition:opacity .2s;white-space:nowrap}.status .red,.red{color:#f87171}.lights{position:absolute;top:110px;left:50%;transform:translate(-50%);display:flex;gap:12px;padding:12px 16px;background:#08080ad9;border-radius:14px;transition:opacity .3s}.lights i{width:36px;height:36px;border-radius:50%;background:#3a0d0d;box-shadow:inset 0 0 8px #000}.lights i.on{background:radial-gradient(circle at 40% 35%,#ff9b9b,#ff1a1a 50%,#a00);box-shadow:0 0 22px #ff2a2a}.go{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);font-size:96px;font-weight:900;color:#4ade80;text-shadow:0 4px 24px rgba(0,0,0,.6);opacity:0;pointer-events:none}.go.show{animation:go 1.3s ease-out}@keyframes go{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}.overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#00000059,#000000b3);z-index:10}.overlay.show{display:flex}.card{background:#0e121af0;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:26px 32px;min-width:380px;max-width:96vw;text-align:center;box-shadow:0 20px 60px #00000080}.card h2{margin:0 0 12px;font-size:30px}.logo{font-size:52px;font-weight:900;font-style:italic;letter-spacing:1px;background:linear-gradient(90deg,#ffd23f,#ff6b35,#e8322a);-webkit-background-clip:text;background-clip:text;color:transparent}.tag{color:#9ca3af;letter-spacing:3px;text-transform:uppercase;font-size:12px;margin-bottom:10px}.card p{color:#d1d5db;max-width:440px;margin:8px auto 14px;line-height:1.45}.controls{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;text-align:left;margin:10px auto 18px;max-width:560px;font-size:13px;color:#d1d5db}.krow{display:flex;align-items:center;gap:8px}.keys{min-width:92px;display:flex;gap:3px}kbd{background:#f4f4f5;color:#111;border-radius:5px;padding:1px 6px;font-size:12px;font-weight:800;font-family:inherit;box-shadow:0 2px #9ca3af}.cta{background:linear-gradient(180deg,#ffd23f,#f59e0b);color:#1a1205;font-weight:900;font-size:18px;border:0;border-radius:12px;padding:12px 30px;cursor:pointer;box-shadow:0 4px #b45309}.cta:hover{filter:brightness(1.08)}.cta.alt{background:linear-gradient(180deg,#e5e7eb,#9ca3af);box-shadow:0 4px #4b5563}.row{display:flex;gap:12px;justify-content:center}.results table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px}.results th{font-size:11px;letter-spacing:1px;color:#9ca3af;text-align:left;padding:4px 8px}.results td{padding:7px 8px;text-align:left;border-top:1px solid rgba(255,255,255,.07)}.results tr.me td{color:#ffe066;font-weight:800}.place{font-size:20px;font-weight:800;color:#ffe066;margin-bottom:6px}small{color:#9ca3af;font-weight:500}.lbl2{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#9ca3af;font-weight:700;margin:4px 0 8px}.tracks{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.track{display:flex;flex-direction:column;align-items:center;gap:4px;width:164px;padding:8px 8px 10px;background:#ffffff0a;border:2px solid rgba(255,255,255,.12);border-radius:14px;color:#f4f4f5;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s,transform .15s}.track:hover{background:#ffffff14;transform:translateY(-2px)}.track.sel{border-color:#ffd23f;background:#ffd23f1a;box-shadow:0 0 0 3px #ffd23f2e}.track svg{display:block}.track b{font-size:14px}.track small{font-size:11px;line-height:1.3;color:#9ca3af}.track em{font-style:normal;font-size:11px;color:#c084fc;font-weight:700}.card.title{max-height:94vh;overflow-y:auto}.setup{display:flex;gap:28px;justify-content:center;align-items:flex-start;margin:4px 0 10px;flex-wrap:wrap}.setup .lbl2{display:block}.ini input{width:92px;font:inherit;font-weight:800;font-size:18px;letter-spacing:3px;text-align:center;text-transform:uppercase;padding:6px 8px;border-radius:10px;border:2px solid rgba(255,255,255,.18);background:#ffffff0f;color:#ffe066;outline:none}.ini input:focus{border-color:#ffd23f}.cars{display:flex;gap:8px}.car{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:2px solid rgba(255,255,255,.12);background:#ffffff0a;color:#f4f4f5;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.car i{width:14px;height:14px;border-radius:4px}.car.sel{border-color:#ffd23f;background:#ffd23f1f}.row.wrap{flex-wrap:wrap}.cta.small{font-size:13px;padding:10px 14px}.round{font-size:11px;letter-spacing:1.5px;color:#c084fc;font-weight:800;margin-top:2px}.btn.off{opacity:.45}.tabs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:6px 0}.tab{font:inherit;font-size:12px;font-weight:700;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#d1d5db;cursor:pointer}.tab.sel{background:#ffd23f;color:#1a1205;border-color:#ffd23f}.tab.kind.sel{background:#22d3ee;border-color:#22d3ee;color:#062a33}.boards table,.champ table{min-width:460px}.results tr.fresh td{color:#ffe066;font-weight:800}.results td.empty{text-align:center;color:#9ca3af;padding:18px}.card h3{margin:10px 0 2px;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#9ca3af}.rounds{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:4px 0 8px}.rchip{font-size:11px;font-weight:700;padding:4px 8px;border-radius:8px;background:#ffffff0f;color:#9ca3af}.rchip.done{color:#4ade80;background:#4ade801f}.rchip.next{color:#ffe066;background:#ffe06624}.card.results{max-height:94vh;overflow-y:auto}.flag{display:inline-block;margin-left:5px;font-size:11px;font-weight:900;letter-spacing:0;color:#ffd23f;vertical-align:baseline}.flag.final{color:#fb923c}.flag.sg{padding:1px 5px;border-radius:5px;background:#dc2626;color:#fff;font-size:10px}.flag.tp{padding:1px 5px;border-radius:5px;background:#dc262640;color:#fca5a5;font-size:10px}.results td .flag:first-child{margin-left:0}.lineup{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:4px 0 12px}.rival{display:flex;gap:8px;align-items:flex-start;text-align:left;width:215px;padding:7px 10px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1)}.rival>i{flex:none;width:14px;height:14px;border-radius:4px;margin-top:2px}.rival b{font-size:13px}.rival em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#c084fc;margin-left:6px}.rival small{display:block;font-size:10.5px;line-height:1.3;color:#9ca3af;margin-top:2px}.fatal{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;background:#2b2420;color:#f3f0ea;font-family:system-ui,sans-serif}.fatal h1{margin:0 0 12px;font-size:28px}.fatal p{max-width:36em;margin:6px 0;font-size:17px;line-height:1.4}
