:root{--ink: #f2f4f3;--ink-dim: rgba(242, 244, 243, .62);--panel: rgba(14, 18, 22, .72);--panel-edge: rgba(255, 255, 255, .12);--accent: #ffcf6b;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{font-size:calc(16px * var(--hud-scale, 1))}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#0b0e12;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none}body.neon{--accent: var(--neon-accent, #ff3f96);--panel: rgba(16, 10, 30, .76);--panel-edge: var(--neon-accent-soft, rgba(255, 90, 170, .24))}body.neon .hud-auto.on{box-shadow:0 0 18px var(--neon-accent-soft, rgba(255, 63, 150, .35))}#viewport{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#ui-root{position:fixed;inset:0;pointer-events:none;z-index:10}.hud-auto,.hud-reset,.hud-sound,.hud-gear,.prompt,.pad button{pointer-events:auto}#boot{--boot-magenta: #ff2fb0;--boot-cyan: #22e8ff;--boot-violet: #7b2bff;--boot-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse 70% 50% at 50% 106%,rgba(255,47,176,.34),transparent 72%),radial-gradient(ellipse 95% 60% at 50% -12%,rgba(123,43,255,.3),transparent 70%),#05030a;transition:opacity .9s ease}#boot.done{opacity:0;pointer-events:none}.boot-grid{position:absolute;left:-25%;right:-25%;bottom:0;height:58%;background-image:repeating-linear-gradient(to right,rgba(34,232,255,.75) 0 1px,transparent 1px 58px),repeating-linear-gradient(to bottom,rgba(255,47,176,.65) 0 1px,transparent 1px 58px);transform:perspective(340px) rotateX(70deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(to top,#000 14%,transparent 90%);mask-image:linear-gradient(to top,#000 14%,transparent 90%);animation:boot-grid-run 2.6s linear infinite}@keyframes boot-grid-run{to{background-position:0 58px,0 58px}}.boot-scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#22e8ff0f,#22e8ff00 18%) 0 0 / 100% 220px no-repeat,repeating-linear-gradient(to bottom,#0000 0 2px,#00000042 2px 4px);animation:boot-sweep 6.5s linear infinite}@keyframes boot-sweep{0%{background-position:0 -220px,0 0}to{background-position:0 100vh,0 0}}.boot-inner{position:relative;text-align:center;width:min(86vw,460px);padding:1.9rem 1.6rem 1.7rem}.boot-inner:before,.boot-inner:after{content:"";position:absolute;width:26px;height:26px;border:1px solid var(--boot-cyan);opacity:.55}.boot-inner:before{top:0;left:0;border-right:0;border-bottom:0}.boot-inner:after{right:0;bottom:0;border-left:0;border-top:0}.boot-inner h1{position:relative;margin:0 0 .75rem;font-family:var(--boot-mono);font-size:clamp(1.35rem,5.4vw,2.2rem);font-weight:600;letter-spacing:.1em;text-transform:none;color:#fff;text-shadow:0 0 14px rgba(255,47,176,.7),0 0 44px rgba(123,43,255,.5)}.boot-inner h1:before,.boot-inner h1:after{content:attr(data-text);position:absolute;inset:0;mix-blend-mode:screen;pointer-events:none}.boot-inner h1:before{color:var(--boot-cyan);transform:translate(-2px);animation:boot-glitch-a 4.2s steps(1) infinite}.boot-inner h1:after{color:var(--boot-magenta);transform:translate(2px);animation:boot-glitch-b 4.2s steps(1) infinite}@keyframes boot-glitch-a{0%,86%,to{transform:translate(-2px);clip-path:none}88%{transform:translate(-7px);clip-path:inset(12% 0 52% 0)}91%{transform:translate(-3px);clip-path:inset(58% 0 16% 0)}94%{transform:translate(-8px);clip-path:inset(34% 0 40% 0)}}@keyframes boot-glitch-b{0%,86%,to{transform:translate(2px);clip-path:none}88%{transform:translate(7px);clip-path:inset(56% 0 14% 0)}91%{transform:translate(4px);clip-path:inset(10% 0 60% 0)}94%{transform:translate(9px);clip-path:inset(38% 0 36% 0)}}.boot-inner p{margin:0 0 1.35rem;font-family:var(--boot-mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--boot-cyan);text-shadow:0 0 12px rgba(34,232,255,.6)}#boot-status:before{content:"▸ "}#boot-status:after{content:" ▮";animation:boot-caret 1.05s steps(1) infinite}.boot-bar{height:4px;width:100%;background:#22e8ff1a;border:1px solid rgba(34,232,255,.28);overflow:hidden}.boot-bar span{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--boot-violet),var(--boot-cyan) 45%,var(--boot-magenta));box-shadow:0 0 12px #ff2fb0cc;transition:width .22s ease}@media (prefers-reduced-motion: reduce){.boot-grid,.boot-scan,.boot-inner h1:before,.boot-inner h1:after,#boot-status:after{animation:none}}.hud{position:absolute;left:0;right:0;bottom:0;padding:1.25rem max(1.5rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));display:flex;align-items:flex-end;justify-content:space-between;font-variant-numeric:tabular-nums;text-shadow:0 1px 12px rgba(0,0,0,.55);transition:opacity .4s ease;pointer-events:none}.hud.hidden{opacity:0}.hud-speed{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.hud-speed b{font-size:clamp(2rem,6vw,3.1rem);font-weight:300;line-height:1;letter-spacing:-.02em}.hud-speed span{font-size:.7rem;letter-spacing:.22em;color:var(--ink-dim);text-transform:uppercase}.hud-speed-alt{flex-basis:100%;margin-top:.15rem;font-style:normal;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);opacity:.72}.hud-right{text-align:right;display:grid;gap:.3rem}.hud-rpm{width:148px;height:2px;background:#ffffff29;margin-left:auto;overflow:hidden}.hud-rpm span{display:block;height:100%;width:0%;background:var(--accent);transition:width 60ms linear,background-color .2s ease}.hud-rpm.redline span{background:#ff6b5e}.hud-auto{display:flex;align-items:stretch;gap:2px;padding:2px;margin-left:auto;margin-bottom:.5rem;border:1px solid var(--panel-edge);border-radius:999px;background:var(--panel);backdrop-filter:blur(14px);pointer-events:auto;opacity:.6;transition:opacity .2s ease}.hud-auto.on{opacity:1}.hud-reset{margin-left:auto;margin-bottom:.45rem;padding:.4rem .8rem;border:1px solid var(--panel-edge);border-radius:999px;background:var(--panel);backdrop-filter:blur(14px);color:var(--ink-dim);font:inherit;font-size:.55rem;font-weight:500;letter-spacing:.2em;cursor:pointer;opacity:.6;transition:opacity .2s ease,color .14s ease}.hud-reset:hover{opacity:1;color:var(--accent)}.hud-reset:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auto-step,.auto-toggle{border:0;border-radius:999px;background:none;color:var(--ink);font:inherit;cursor:pointer;transition:background-color .14s ease}.auto-step:hover,.auto-toggle:hover{background:#ffffff1f}.auto-step:focus-visible,.auto-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auto-step{width:2.1rem;min-height:2.1rem;font-size:1.05rem;line-height:1}.auto-toggle{display:flex;flex-direction:column;align-items:center;gap:1px;padding:.28rem .6rem;min-width:5.6rem}.auto-toggle b{font-size:.55rem;font-weight:500;letter-spacing:.2em;color:var(--ink-dim)}.hud-auto.on .auto-toggle b{color:var(--accent)}.auto-toggle span{font-size:.82rem;font-variant-numeric:tabular-nums}body.touch-mode .auto-step{width:2.7rem;min-height:2.7rem;font-size:1.2rem}body.touch-mode .auto-toggle{padding:.45rem .75rem;min-width:6.2rem}body.touch-mode .auto-toggle span{font-size:.9rem}.stats{position:absolute;top:1rem;left:1rem;padding:.5rem .7rem;border-radius:8px;background:var(--panel);border:1px solid var(--panel-edge);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem;line-height:1.65;color:var(--ink-dim);white-space:pre;pointer-events:none}.stats[hidden]{display:none}.toast{position:absolute;left:50%;bottom:22%;transform:translate(-50%);padding:.5rem 1rem;border-radius:999px;background:var(--panel);border:1px solid var(--panel-edge);backdrop-filter:blur(14px);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:opacity .3s ease;pointer-events:none}.toast.show{opacity:1}.touch{position:absolute;inset:auto 0 0;height:auto;display:none;justify-content:space-between;align-items:flex-end;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom));gap:1rem}body.touch-mode .touch{display:flex}body.touch-mode .hud{padding-bottom:calc(6.65rem + env(safe-area-inset-bottom,0px))}.pad{display:flex;gap:.75rem}.pad button{width:4.4rem;height:4.4rem;border-radius:50%;border:1px solid var(--panel-edge);background:var(--panel);backdrop-filter:blur(10px);color:var(--ink);font-size:1.3rem;user-select:none;-webkit-user-select:none;touch-action:none}.pad button.active{background:#ffffff3d}@media (max-width: 430px){.touch{padding:.75rem .75rem max(.75rem,env(safe-area-inset-bottom));gap:.5rem}.pad{gap:.5rem}.pad button{width:3.5rem;height:3.5rem}}.hud-sound,.hud-gear{margin-left:auto;margin-bottom:.45rem;padding:.4rem .8rem;border:1px solid var(--panel-edge);border-radius:999px;background:var(--panel);backdrop-filter:blur(14px);color:var(--ink-dim);font:inherit;font-size:.55rem;font-weight:500;letter-spacing:.2em;cursor:pointer;opacity:.6;transition:opacity .2s ease,color .14s ease;min-width:5.4rem}.hud-sound:hover,.hud-gear:hover{opacity:1;color:var(--accent)}.hud-sound:focus-visible,.hud-gear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hud-sound.on{opacity:1;color:var(--neon-accent);border-color:var(--neon-accent)}body.touch-mode .hud-sound,body.touch-mode .hud-gear{font-size:.68rem;padding:.55rem .9rem;min-height:2.7rem;min-width:6.2rem}.about{--about-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;position:fixed;inset:0;z-index:60;display:flex;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));overflow-y:auto;background:#04020ab8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.about[hidden]{display:none}@keyframes about-in{0%{transform:translateY(10px)}to{transform:none}}.about-card{position:relative;margin:auto;width:min(92vw,520px);padding:2rem 1.9rem 1.7rem;background:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(123,43,255,.28),transparent 70%),#090514f0;border:1px solid rgba(255,47,176,.34);box-shadow:0 0 0 1px #22e8ff14 inset,0 24px 70px #0009;animation:about-in .22s ease}.about-close{position:absolute;top:.35rem;right:.55rem;width:2.4rem;height:2.4rem;font-size:1.35rem;line-height:1;color:#ffffff8c;background:none;border:0;cursor:pointer}.about-close:hover{color:#fff}.about-close:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.about-eyebrow{margin:0 0 .9rem;font-family:var(--about-mono);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:#22e8ff;text-shadow:0 0 12px rgba(34,232,255,.5)}.about-card h2{margin:0;font-family:var(--about-mono);font-size:clamp(1.7rem,6vw,2.3rem);font-weight:600;letter-spacing:.06em;color:#fff;text-shadow:0 0 16px rgba(255,47,176,.6),0 0 46px rgba(123,43,255,.45)}.about-role{margin:.3rem 0 1.25rem;font-family:var(--about-mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#ff2fb0}.about-body{margin:0 0 1.5rem;font-size:.95rem;line-height:1.62;color:#f2f4f3d1}.about-more{margin:0 0 1.4rem}.about-more>summary{list-style:none;width:max-content;margin-bottom:1rem;padding:.35rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#f2f4f38c;cursor:pointer}.about-more>summary::-webkit-details-marker{display:none}.about-more>summary:after{content:" +"}.about-more[open]>summary:after{content:" −"}.about-more>summary:hover{color:#fff}.about-links{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}.about-links a{display:flex;align-items:baseline;gap:.9rem;padding:.65rem .85rem;text-decoration:none;border:1px solid rgba(255,255,255,.1);background:#ffffff08;transition:border-color .14s ease,background .14s ease}.about-links a:hover,.about-links a:focus-visible{border-color:#ff2fb099;background:#ff2fb014;outline:none}.about-link-label{flex:0 0 4.5rem;font-family:var(--about-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#22e8ffe6}.about-link-value{font-family:var(--about-mono);font-size:.85rem;color:#fff;overflow-wrap:anywhere}.about-note{margin:1.3rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;line-height:1.55;color:#f2f4f399}body.no-webgl #boot,body.no-webgl .hud,body.no-webgl #viewport{display:none}body.no-webgl .about[hidden]{display:flex}body.no-webgl .about-close{display:none}@media (max-height: 620px),(max-width: 360px){.about-card{padding:1.5rem 1.25rem 1.25rem}.about-body{font-size:.88rem;line-height:1.55}}@media (max-width: 420px){.about-links a{flex-direction:column;align-items:stretch;gap:.3rem}.about-link-label{flex:none}}@media (prefers-reduced-motion: reduce){.about-card{animation:none}}.keycaps{position:absolute;left:max(1.5rem,env(safe-area-inset-left));bottom:7.6rem;display:grid;gap:3px;justify-items:center;opacity:.5;pointer-events:none}.keycaps[hidden]{display:none}.keycap-row{display:flex;gap:3px}.keycap{display:grid;place-items:center;width:20px;height:20px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.62rem;line-height:1;color:var(--ink);background:#ffffff0d;border:1px solid var(--panel-edge);border-radius:3px}@media (max-width: 899px){.keycaps{display:none}}body.race .hud-auto,#boot[hidden]{display:none}.lobby{--boot-magenta: #ff2fb0;--boot-cyan: #22e8ff;--boot-violet: #7b2bff;--boot-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lobby-accent: var(--boot-magenta);position:fixed;inset:0;z-index:60;display:grid;place-items:center;overflow:auto;padding:2rem 1rem;pointer-events:auto;background:radial-gradient(ellipse at 50% 120%,rgba(123,43,255,.35),transparent 60%),radial-gradient(ellipse at 50% -20%,rgba(255,47,176,.22),transparent 55%),linear-gradient(#07050f,#0b0616 45%,#120a26);color:#f2f4f3}.lobby[hidden]{display:none}.lobby-grid{position:absolute;left:-25%;right:-25%;bottom:-10%;height:55%;background-image:linear-gradient(rgba(34,232,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(34,232,255,.28) 1px,transparent 1px);background-size:64px 64px;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;mask-image:linear-gradient(transparent,#000 35%,#000);animation:boot-grid-run 2.2s linear infinite;pointer-events:none}.lobby-card{position:relative;width:min(100%,440px);padding:1.8rem 1.7rem 1.4rem;text-align:center;border:1px solid rgba(255,255,255,.1);background:#0a0616c7;backdrop-filter:blur(18px);box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff08 inset;display:grid;gap:.85rem}.lobby-card:before,.lobby-card:after{content:"";position:absolute;width:26px;height:26px;border:1px solid var(--boot-cyan);opacity:.6}.lobby-card:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.lobby-card:after{right:-1px;bottom:-1px;border-left:0;border-top:0}.lobby h1{position:relative;margin:0;font-family:var(--boot-mono);font-size:clamp(1.9rem,7vw,3rem);font-weight:700;letter-spacing:.14em;line-height:1;color:#fff;text-shadow:0 0 14px rgba(255,47,176,.7),0 0 44px rgba(123,43,255,.5)}.lobby h1:before,.lobby h1:after{content:attr(data-text);position:absolute;inset:0;mix-blend-mode:screen;pointer-events:none}.lobby h1:before{color:var(--boot-cyan);transform:translate(-2px);animation:boot-glitch-a 4.2s steps(1) infinite}.lobby h1:after{color:var(--lobby-accent);transform:translate(2px);animation:boot-glitch-b 4.2s steps(1) infinite}.lobby-lede{margin:0;font-size:.86rem;line-height:1.5;color:#f2f4f3ad}.lobby input{width:100%;padding:.7rem .85rem;border:1px solid rgba(255,255,255,.14);border-radius:4px;background:#ffffff0a;color:#fff;font:500 1rem var(--boot-mono);letter-spacing:.06em;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.lobby input:focus{border-color:var(--lobby-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--lobby-accent) 25%,transparent)}.lobby input::placeholder{color:#f2f4f34d;letter-spacing:0;font-family:var(--font)}.swatch{width:2.1rem;height:2.1rem;border-radius:50%;border:2px solid transparent;background:radial-gradient(circle at 40% 35%,#fff 0,var(--swatch) 32%,color-mix(in srgb,var(--swatch) 55%,#000) 100%);box-shadow:0 0 12px color-mix(in srgb,var(--swatch) 60%,transparent);cursor:pointer;transition:transform .14s ease,border-color .14s ease}.swatch:hover{transform:scale(1.08)}.swatch.on{border-color:#fff;transform:scale(1.12);box-shadow:0 0 18px var(--swatch)}.lobby-go,.lobby-alt,.race-ready,.race-chip-btn{font-family:var(--boot-mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:4px}.lobby-actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.lobby-go{padding:.85rem 1.5rem;border:0;background:linear-gradient(100deg,var(--lobby-accent),var(--boot-violet));color:#fff;font-size:.82rem;font-weight:700;box-shadow:0 0 24px color-mix(in srgb,var(--lobby-accent) 55%,transparent);transition:transform .14s ease,filter .14s ease}.lobby-go:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}.lobby-go:disabled,.lobby-alt:disabled{opacity:.5;cursor:wait}.lobby-alt{padding:.7rem 0;border:0;background:transparent;color:#f2f4f399;font-size:.7rem;text-decoration:underline;text-underline-offset:4px}.lobby-alt:hover:not(:disabled){color:#fff}.lobby-status{margin:0;min-height:1.2em;font-family:var(--boot-mono);font-size:.7rem;letter-spacing:.06em;color:var(--boot-cyan)}.lobby-status.error{color:#ff8a7a}.lobby-keys{margin:0;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.08);font-size:.68rem;color:#f2f4f373}.lobby-keys kbd{display:inline-block;min-width:1.3em;margin:0 1px;padding:.1em .35em;border:1px solid rgba(255,255,255,.18);border-radius:3px;font:600 .62rem var(--boot-mono);color:#f2f4f3cc;text-align:center}body.in-lobby .hud,body.in-lobby .touch,body.in-lobby .keycaps,body.in-lobby .tags{visibility:hidden}.race-chip{position:absolute;top:max(.9rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left));display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem .35rem .8rem;border:1px solid var(--panel-edge);border-radius:999px;background:var(--panel);backdrop-filter:blur(14px);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.12em;pointer-events:auto}.race-chip[hidden]{display:none}.race-chip-label{color:var(--ink-dim)}.race-chip b{font-weight:700;letter-spacing:.22em;color:var(--accent)}.race-chip.offline b{color:var(--ink)}.race-chip.offline .race-chip-btn:not(.race-chip-leave){display:none}.race-chip-ping{color:var(--ink-dim);font-size:.6rem;min-width:3.2em;text-align:right}.race-chip.offline .race-chip-ping{display:none}.race-chip-btn{padding:.3rem .6rem;border:1px solid var(--panel-edge);background:transparent;color:var(--ink);font-size:.58rem;border-radius:999px}.race-chip-btn:hover{border-color:var(--accent);color:var(--accent)}.race-chip-leave{color:var(--ink-dim)}body.race .stats{top:3.4rem}.race-top{position:absolute;top:max(.9rem,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:grid;justify-items:center;gap:.35rem;text-align:center;pointer-events:none;font-variant-numeric:tabular-nums;text-shadow:0 1px 12px rgba(0,0,0,.6);width:max(18rem,min(calc(100vw - 34rem),46rem))}.race-top[hidden]{display:none}.race-phase{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);min-height:1em}.race-big{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(4rem,16vw,9rem);font-weight:700;line-height:.95;letter-spacing:.06em;color:#fff;text-shadow:0 0 22px var(--accent),0 0 60px var(--neon-accent-soft, rgba(255, 63, 150, .4));min-height:0}.race-big:empty{display:none}.race-big.go{color:var(--accent);animation:race-go 1.4s ease-out forwards}@keyframes race-go{0%{transform:scale(.8);opacity:1}70%{transform:scale(1.1);opacity:1}to{transform:scale(1.25);opacity:0}}.race-line{display:flex;gap:1rem;align-items:baseline}.race-line:empty{display:none}.race-pos{font-size:clamp(1.1rem,3.4vw,1.6rem);font-weight:600;letter-spacing:.06em;color:var(--accent)}.race-pos:empty{display:none}.race-lap{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(.8rem,2.4vw,1.05rem);letter-spacing:.14em;color:var(--ink-dim)}.race-lap:empty{display:none}.race-timer{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1.1rem,3.4vw,1.6rem);font-weight:300;letter-spacing:.04em}.race-ready{margin-top:.6rem;padding:.85rem 2.2rem;border:1px solid var(--accent);background:#100a1eb3;color:var(--accent);font-size:.86rem;font-weight:700;pointer-events:auto;box-shadow:0 0 18px var(--neon-accent-soft, rgba(255, 63, 150, .35));transition:background .14s ease,color .14s ease,transform .14s ease;animation:race-ready-pulse 2.2s ease-in-out infinite}.race-ready[hidden]{display:none}.race-ready:hover{transform:translateY(-1px)}.race-ready.on{background:var(--accent);color:#0b0616;animation:none}@keyframes race-ready-pulse{0%,to{box-shadow:0 0 14px var(--neon-accent-soft, rgba(255, 63, 150, .3))}50%{box-shadow:0 0 30px var(--accent)}}.race-board{position:absolute;top:max(.9rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));width:min(46vw,250px);display:grid;gap:3px;pointer-events:none;font-variant-numeric:tabular-nums}.race-board[hidden]{display:none}.race-row{--tag: var(--accent);position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:.5rem;padding:.35rem .6rem .4rem;border:1px solid var(--panel-edge);border-radius:6px;background:var(--panel);backdrop-filter:blur(12px);font-size:.7rem;letter-spacing:.06em;transition:opacity .2s ease}.race-row.me{border-color:color-mix(in srgb,var(--tag) 70%,transparent)}.race-row.spec{opacity:.55}.race-row.done .race-row-meta{color:var(--tag)}.race-row i{width:.55rem;height:.55rem;border-radius:50%;background:var(--tag);box-shadow:0 0 8px var(--tag)}.race-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.race-row.me .race-row-name{color:#fff}.race-row-meta{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem;color:var(--ink-dim);white-space:nowrap}.race-row-track{grid-column:1 / -1;height:2px;margin-top:.3rem;background:#ffffff14;border-radius:2px;overflow:hidden}.race-row-track span{display:block;height:100%;width:0;background:var(--tag);box-shadow:0 0 6px var(--tag);transition:width .14s linear}.race-results{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,440px);padding:1.4rem 1.5rem 1.1rem;border:1px solid var(--panel-edge);border-radius:10px;background:var(--panel);backdrop-filter:blur(18px);box-shadow:0 30px 80px #00000080;pointer-events:none;animation:about-in .32s ease-out;font-variant-numeric:tabular-nums}.race-results[hidden]{display:none}.race-results h2{margin:0 0 .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 16px var(--neon-accent-soft, rgba(255, 63, 150, .4))}.race-results-body{display:grid;gap:4px}.race-result{--tag: var(--accent);display:grid;grid-template-columns:3.2em 1fr auto;align-items:baseline;gap:.6rem;padding:.45rem .6rem;border-radius:6px;background:#ffffff08;font-size:.82rem;border-left:3px solid var(--tag)}.race-result.me{background:#ffffff14}.race-result b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;color:var(--tag)}.race-result-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-result-time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;color:var(--ink-dim)}.race-results-next{margin:.9rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);text-align:right}.tags{position:absolute;inset:0;overflow:hidden;pointer-events:none}.tag{--tag: var(--accent);position:absolute;left:0;top:0;display:flex;align-items:center;gap:.35rem;padding:.2rem .55rem .2rem .4rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--tag) 50%,transparent);background:#0a061699;backdrop-filter:blur(6px);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.1em;white-space:nowrap;color:#fff;will-change:transform,opacity}.tag[hidden]{display:none}.tag i{width:.45rem;height:.45rem;border-radius:50%;background:var(--tag);box-shadow:0 0 8px var(--tag)}@media (max-width: 720px){.race-board{width:40vw}.race-row-name{font-size:.64rem}.race-chip{padding-left:.6rem;gap:.4rem}.race-chip-label{display:none}.race-chip-btn{padding:.25rem .45rem}.race-top{top:3.2rem}body.race .stats{top:5.8rem}}@media (prefers-reduced-motion: reduce){.lobby-grid,.lobby h1:before,.lobby h1:after,.race-ready{animation:none}.race-big.go{animation:none}}.lobby-layout{position:relative;display:grid;width:min(100%,440px)}.lobby-card{width:100%}.lobby-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.72rem;color:#f2f4f39e;cursor:pointer}.lobby-consent input{width:auto;margin:.15rem 0 0;accent-color:var(--lobby-accent)}.lobby-consent a{color:var(--boot-cyan)}.lobby-consent{justify-content:center;text-align:left}.lobby-actions{justify-content:center}.lobby-status{text-align:center}.lobby-more>summary{margin-inline:auto}.lobby-rooms,.lobby-board{text-align:left}.lobby-more h2{margin:.8rem 0 .2rem;font-family:var(--boot-mono);font-size:.62rem;letter-spacing:.24em;color:var(--boot-cyan)}.lobby-more h2:first-of-type{margin-top:.2rem}.lobby-rooms,.lobby-board{margin:0;padding:0;list-style:none;display:grid;gap:3px}.lobby-empty{color:#f2f4f373;font-size:.7rem;padding:.3rem 0}.lobby-roomrow{width:100%;display:flex;justify-content:space-between;gap:.6rem;padding:.45rem .6rem;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:#ffffff08;color:#fff;cursor:pointer;text-align:left}.lobby-roomrow:hover{border-color:var(--boot-cyan)}.lobby-roomrow b{font-family:var(--boot-mono);letter-spacing:.18em}.lobby-roomrow span{color:#f2f4f38c;font-size:.66rem;white-space:nowrap}.lobby-board li{--tag: var(--boot-magenta);display:flex;justify-content:space-between;gap:.6rem;padding:.3rem .6rem;border-left:2px solid var(--tag);background:#ffffff08;counter-increment:board}.lobby-board{counter-reset:board}.lobby-board-name:before{content:counter(board) "  ";color:#f2f4f366;font-family:var(--boot-mono)}.lobby-board-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-board-time{font-family:var(--boot-mono);color:#f2f4f3bf}.lobby-foot{margin:.8rem 0 0;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.08);font-family:var(--boot-mono);font-size:.62rem;letter-spacing:.12em;color:#f2f4f373}.lobby-foot a{color:#f2f4f3b3;text-decoration:none}.lobby-foot a:hover{color:#fff}.race-buttons{display:flex;gap:.6rem;align-items:center;justify-content:center;flex-wrap:wrap}.race-start{margin-top:.6rem;padding:.85rem 1.4rem;border:1px solid var(--ink-dim);background:#100a1eb3;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;letter-spacing:.18em;border-radius:4px;cursor:pointer;pointer-events:auto}.race-start[hidden]{display:none}.race-start:hover{border-color:var(--accent);color:var(--accent)}.race-presets{display:grid;gap:.45rem;justify-items:center;width:100%;margin-top:.7rem;padding:.6rem .8rem;border:1px solid var(--panel-edge);border-radius:8px;background:var(--panel);backdrop-filter:blur(12px);pointer-events:auto}.race-presets[hidden]{display:none}.race-presets.folded .race-presetrow,.race-presets.folded>.race-optlabel{display:none}.race-presets.folded{width:auto;padding:.2rem 0;border-color:transparent;background:transparent;backdrop-filter:none}.race-presetrow{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;width:100%}.race-preset{flex:1 1 9rem;display:grid;gap:.15rem;justify-items:center;text-align:center;padding:.5rem .6rem;border:1px solid var(--panel-edge);border-radius:8px;background:transparent;color:var(--ink);cursor:pointer}.race-preset b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.16em}.race-preset span{font-size:.62rem;line-height:1.25;color:var(--ink-dim)}.race-preset:hover{border-color:var(--accent)}.race-preset.on{background:var(--accent);border-color:var(--accent);color:#0b0616}.race-preset.on span{color:#0b0616;opacity:.75}.race-advanced{padding:.3rem .9rem;border:1px solid var(--panel-edge);border-radius:999px;background:transparent;color:var(--ink-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;letter-spacing:.16em;cursor:pointer}.race-advanced:hover{color:var(--ink);border-color:var(--accent)}.race-advanced.on{background:var(--accent);border-color:var(--accent);color:#0b0616}.race-options{display:flex;gap:.6rem .9rem;flex-wrap:wrap;justify-content:center;margin-top:.7rem;padding:.6rem .8rem;width:100%;max-height:max(7rem,calc(100vh - 34rem));overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--panel-edge);border-radius:8px;background:var(--panel);backdrop-filter:blur(12px);pointer-events:auto}.race-options[hidden]{display:none}.race-optgroup{display:grid;gap:.25rem;justify-items:center}.race-more{flex:1 0 100%;border-top:1px solid var(--panel-edge);padding-top:.5rem}.race-more>summary{list-style:none;text-align:center;padding:.15rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;letter-spacing:.22em;color:var(--ink-dim);cursor:pointer}.race-more>summary::-webkit-details-marker{display:none}.race-more>summary:after{content:" +"}.race-more[open]>summary:after{content:" −"}.race-more>summary:hover{color:var(--accent)}.race-morerow{display:flex;gap:.6rem .9rem;flex-wrap:wrap;justify-content:center;padding-top:.5rem}.race-optlabel{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;letter-spacing:.22em;color:var(--ink-dim)}.race-seg{display:flex;gap:2px;border:1px solid var(--panel-edge);border-radius:999px;padding:2px}.race-seg button{padding:.28rem .6rem;border:0;border-radius:999px;background:transparent;color:var(--ink-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;letter-spacing:.14em;cursor:pointer}.race-seg button.on{background:var(--accent);color:#0b0616}.race-optsummary{margin-top:.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.2em;color:var(--ink-dim)}.race-optsummary:empty{display:none}.race-row.host .race-row-name:after{content:" ★";color:var(--ink-dim);font-size:.6em;vertical-align:super}.race-nitro{position:absolute;left:50%;bottom:max(1.6rem,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:.6rem;opacity:0;transition:opacity .3s ease;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.22em;color:var(--ink-dim)}.race-nitro.show{opacity:1}.race-nitro[hidden]{display:none}.race-nitro-track{width:min(38vw,220px);height:6px;border:1px solid var(--panel-edge);border-radius:999px;background:#0006;overflow:hidden}.race-nitro-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),#fff);box-shadow:0 0 10px var(--accent);transition:width .12s linear}.race-nitro.boosting .race-nitro-fill{background:#fff;box-shadow:0 0 18px #fff,0 0 30px var(--accent)}.race-nitro.full span{color:var(--accent)}.race-slip{font-style:normal;padding:.2rem .5rem;border:1px solid transparent;border-radius:999px;opacity:0;transition:opacity .2s ease}.race-slip.on{opacity:1;border-color:var(--accent);color:var(--accent);box-shadow:0 0 12px var(--neon-accent-soft, rgba(255, 63, 150, .35))}body.touch-mode .race-nitro{bottom:max(8.6rem,calc(env(safe-area-inset-bottom) + 7.8rem))}.race-warn{position:absolute;left:50%;top:36%;transform:translate(-50%,-50%);padding:.5rem 1.4rem;border:2px solid #ff4d5e;border-radius:6px;background:#3c060eb3;color:#ffd7db;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1rem,3.4vw,1.6rem);font-weight:700;letter-spacing:.3em;animation:race-warn-blink .9s steps(2) infinite;pointer-events:none}.race-warn[hidden]{display:none}@keyframes race-warn-blink{50%{opacity:.45}}.race-spect{position:absolute;left:50%;bottom:max(9rem,calc(env(safe-area-inset-bottom) + 8rem));transform:translate(-50%);padding:.35rem .9rem;border:1px solid var(--panel-edge);border-radius:999px;background:var(--panel);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;letter-spacing:.18em;color:var(--ink-dim);pointer-events:none;white-space:nowrap}.race-spect[hidden]{display:none}.race-chat{position:absolute;left:max(1rem,env(safe-area-inset-left));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;pointer-events:auto}.race-chat[hidden]{display:none}.race-chat-toggle{align-self:flex-start;padding:.3rem .7rem;border:1px solid var(--panel-edge);border-radius:999px;background:var(--panel);color:var(--ink-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;letter-spacing:.2em;cursor:pointer}.race-chat.open .race-chat-toggle,.race-chat-toggle:hover{color:var(--accent);border-color:var(--accent)}.race-chat-lines{display:none;flex-direction:column;gap:3px}.race-chat.open .race-chat-lines{display:flex}.race-chat-lines button{display:flex;gap:.5rem;align-items:center;padding:.3rem .6rem .3rem .4rem;border:1px solid var(--panel-edge);border-radius:4px;background:var(--panel);color:var(--ink);font-size:.7rem;cursor:pointer;text-align:left}.race-chat-lines button:hover{border-color:var(--accent)}.race-chat-lines kbd{min-width:1.3em;padding:.05em .3em;border:1px solid var(--panel-edge);border-radius:3px;font:600 .58rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-dim);text-align:center}body.touch-mode .race-chat{top:auto;bottom:max(12rem,calc(env(safe-area-inset-bottom) + 11rem));transform:none}.race-chatlog{position:absolute;left:max(1rem,env(safe-area-inset-left));bottom:max(9.5rem,calc(env(safe-area-inset-bottom) + 8.6rem));display:grid;gap:3px;pointer-events:none;max-width:min(60vw,320px)}.race-chatlog[hidden]{display:none}.race-chatline{--tag: var(--accent);display:flex;gap:.5rem;align-items:baseline;padding:.3rem .6rem;border-left:2px solid var(--tag);border-radius:3px;background:#0a061699;backdrop-filter:blur(8px);font-size:.74rem;animation:about-in .2s ease-out;transition:opacity .5s ease}.race-chatline.fade{opacity:0}.race-chatline b{color:var(--tag);font-size:.66rem;letter-spacing:.08em}body.touch-mode .race-chatlog{bottom:auto;top:4.4rem}.race-results-pb{margin:.8rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.14em;color:var(--ink-dim)}.race-results-pb:empty{display:none}.race-results-pb.improved{color:var(--accent);text-shadow:0 0 12px var(--neon-accent-soft, rgba(255, 63, 150, .4))}.race-results-actions{display:flex;gap:.6rem;align-items:center;margin-top:.8rem;pointer-events:auto}.race-ready-next{margin-top:0;padding:.6rem 1rem;font-size:.68rem;animation:none}.race-share{padding:.6rem 1rem;border:1px solid var(--panel-edge);border-radius:4px;background:transparent;color:var(--ink-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.18em;cursor:pointer}.race-share:hover{border-color:var(--accent);color:var(--accent)}.race-results{pointer-events:auto}.tag-bubble{font-style:normal;margin-left:.3rem;padding:.05rem .45rem;border-radius:999px;background:var(--tag);color:#0b0616;font-weight:700;letter-spacing:.04em}.tag-bubble[hidden]{display:none}.minimap{position:absolute;left:max(1.5rem,env(safe-area-inset-left));bottom:max(7.4rem,calc(env(safe-area-inset-bottom) + 6.6rem));width:176px;height:176px;pointer-events:none;filter:drop-shadow(0 4px 16px rgba(0,0,0,.5))}.minimap[hidden]{display:none}body.touch-mode .minimap{width:128px;height:128px;left:auto;right:max(1rem,env(safe-area-inset-right));bottom:max(11rem,calc(env(safe-area-inset-bottom) + 10rem))}body.in-lobby .minimap{visibility:hidden}.pad-nitro{font-weight:700;color:var(--accent)}.settings{position:fixed;inset:0;z-index:55;display:grid;place-items:center;background:#04020a8c;backdrop-filter:blur(6px);pointer-events:auto;padding:1rem}.settings[hidden]{display:none}.settings-card{width:min(94vw,460px);max-height:92vh;overflow:auto;padding:1.2rem 1.4rem 1rem;border:1px solid var(--panel-edge);border-radius:10px;background:var(--panel);backdrop-filter:blur(18px);box-shadow:0 30px 80px #00000080;display:grid;gap:.6rem;animation:about-in .24s ease-out}.settings-head{display:flex;justify-content:space-between;align-items:center}.settings-head h2{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;letter-spacing:.26em;color:var(--accent)}.settings-close{width:2rem;height:2rem;border:1px solid var(--panel-edge);border-radius:50%;background:transparent;color:var(--ink);font-size:1.1rem;cursor:pointer}.settings-row{display:grid;grid-template-columns:6.2rem 1fr auto;align-items:center;gap:.7rem;min-height:2rem}.settings-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.22em;color:var(--ink-dim)}.settings-row input[type=range]{width:100%;accent-color:var(--accent)}.settings-row output{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;color:var(--ink-dim);min-width:2.6em;text-align:right}.settings-seg{grid-column:2 / -1;display:flex;gap:2px;flex-wrap:wrap;border:1px solid var(--panel-edge);border-radius:999px;padding:2px;justify-self:start}.settings-seg button,.settings-toggle{padding:.3rem .7rem;border:0;border-radius:999px;background:transparent;color:var(--ink-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.14em;cursor:pointer}.settings-seg button.on{background:var(--accent);color:#0b0616}.settings-toggle{grid-column:3;border:1px solid var(--panel-edge);min-width:4.6em}.settings-toggle.on{border-color:var(--accent);color:var(--accent)}.settings-row.solo .settings-toggle{grid-column:2 / -1;justify-self:start}.settings-foot{display:grid;gap:.5rem;padding-top:.6rem;border-top:1px solid var(--panel-edge)}.settings-leave{justify-self:start;padding:.55rem .9rem;border:1px solid var(--panel-edge);border-radius:4px;background:transparent;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;letter-spacing:.16em;cursor:pointer}.settings-leave:hover{border-color:var(--accent);color:var(--accent)}.settings-links,.settings-keys{margin:0;font-size:.66rem;color:var(--ink-dim)}.settings-links a{color:var(--ink);text-decoration:none}.settings-links a:hover{color:var(--accent)}@media (max-width: 720px){.race-options{gap:.5rem;padding:.5rem}.race-presets{padding:.4rem;gap:.3rem}.race-presetrow{gap:.3rem}.race-preset{flex:1 1 100%;padding:.34rem .5rem}.race-preset span{font-size:.56rem}}@media (max-width: 430px){.race-preset span{display:none}.race-chatlog{max-width:70vw}}.race-code{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:.2rem 0 .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none}.race-code[hidden]{display:none}.race-code-text{display:grid;justify-items:center;gap:.15rem}.race-code-text>span:first-child{font-size:.58rem;letter-spacing:.3em;color:var(--ink-dim)}.race-code b{font-size:clamp(2rem,7vw,3.4rem);font-weight:700;letter-spacing:.32em;padding-left:.32em;color:#fff;text-shadow:0 0 18px var(--accent),0 0 48px var(--neon-accent-soft, rgba(255, 63, 150, .4))}.race-code-hint{font-size:.6rem;letter-spacing:.12em;color:var(--ink-dim)}.race-start{border-color:var(--accent);color:var(--accent);font-size:.86rem;font-weight:700;padding:.9rem 2.2rem;box-shadow:0 0 18px var(--neon-accent-soft, rgba(255, 63, 150, .35));animation:race-ready-pulse 2.2s ease-in-out infinite}.race-start:hover{background:var(--accent);color:#0b0616}.lobby-modes{display:grid;gap:.5rem}.lobby-mode{display:grid}.lobby-mode .lobby-go{width:100%;padding:.9rem 1rem;font-size:.78rem}.lobby-join-row{display:flex;gap:.4rem}.lobby-join-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.22em}.lobby-join-row .lobby-go{padding:.7rem 1.1rem;font-size:.72rem;background:transparent;border:1px solid rgba(255,255,255,.18);color:#f2f4f3d9;box-shadow:none}.lobby-join-row .lobby-go:hover:not(:disabled){border-color:var(--boot-cyan);color:#fff}.lobby-more{display:grid;gap:.35rem;font-size:.74rem}.lobby-more>summary{list-style:none;width:max-content;padding:.2rem 0;font-family:var(--boot-mono);font-size:.62rem;letter-spacing:.26em;color:#f2f4f380;cursor:pointer}.lobby-more>summary::-webkit-details-marker{display:none}.lobby-more>summary:after{content:" +"}.lobby-more[open]>summary:after{content:" −"}.lobby-more>summary:hover{color:var(--boot-cyan)}.lobby-public{margin:0;font-size:.7rem;color:#f2f4f380}.lobby-public button{padding:.1rem .4rem;border:0;background:none;color:var(--boot-cyan);font:inherit;font-family:var(--boot-mono);letter-spacing:.12em;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.driver{position:absolute;left:50%;bottom:max(1.4rem,env(safe-area-inset-bottom));transform:translate(-50%);display:grid;grid-template-columns:auto auto;grid-template-areas:"label label" "name swatches" "cars cars" "liveries liveries" "lnote lnote";gap:.5rem .9rem;align-items:center;padding:.7rem .9rem .8rem;border:1px solid var(--panel-edge);border-radius:10px;background:var(--panel);backdrop-filter:blur(14px);pointer-events:auto;max-width:min(94vw,560px)}.driver[hidden]{display:none}.driver-label{grid-area:label;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;letter-spacing:.26em;color:var(--ink-dim)}.driver-namewrap{grid-area:name;display:grid;gap:.2rem}.driver-name{width:11rem;max-width:40vw;padding:.45rem .6rem;border:1px solid var(--panel-edge);border-radius:4px;background:#0000004d;color:#fff;font:500 .9rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;outline:none}.driver-name:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--neon-accent-soft, rgba(255, 63, 150, .25))}.driver-note{font-size:.62rem;color:var(--ink-dim);min-height:1em}.driver-note.error{color:#ff8a7a}.driver-swatches{grid-area:swatches;display:flex;gap:.35rem;flex-wrap:wrap}.driver .swatch{width:1.6rem;height:1.6rem}.driver-cars{grid-area:cars;display:flex;gap:3px;border:1px solid var(--panel-edge);border-radius:999px;padding:2px;justify-self:start}.driver-cars button{padding:.3rem .8rem;border:0;border-radius:999px;background:transparent;color:var(--ink-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;letter-spacing:.14em;cursor:pointer}.driver-cars button.on{background:var(--accent);color:#0b0616}body.touch-mode .driver{bottom:max(9rem,calc(env(safe-area-inset-bottom) + 8.2rem))}body.in-lobby .driver{visibility:hidden}@media (max-width: 520px){.driver{grid-template-columns:1fr;grid-template-areas:"label" "name" "swatches" "cars" "liveries" "lnote"}.driver-name{width:100%;max-width:none}}.driver-liveries{grid-area:liveries;display:flex;gap:3px;flex-wrap:wrap;justify-self:start}.driver-liveries .livery{padding:.3rem .7rem;border:1px solid var(--panel-edge);border-radius:999px;background:transparent;color:var(--ink-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.12em;cursor:pointer}.driver-liveries .livery.on{background:var(--accent);border-color:var(--accent);color:#0b0616}.driver-liveries .livery.locked{opacity:.42;cursor:help}.driver-liveries .livery.locked:after{content:" 🔒";font-size:.7em}.driver>.driver-note:last-child{grid-area:lnote}.race-series{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;letter-spacing:.16em;color:var(--accent);margin-top:.2rem;min-height:1em}.race-qr{margin-top:.55rem;line-height:0}.race-qr canvas{border-radius:4px;image-rendering:pixelated;box-shadow:0 2px 14px #00000080}.race-drift{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.16em;font-style:normal;padding:.1rem .45rem;border:1px solid transparent;border-radius:999px;opacity:0;transition:opacity .15s ease;white-space:nowrap}.race-drift.on{opacity:1;border-color:var(--accent);color:var(--accent)}.race-pad{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.16em;font-style:normal;padding:.1rem .45rem;border:1px solid transparent;border-radius:999px;opacity:0;transition:opacity .15s ease;white-space:nowrap}.race-pad.on{opacity:1;border-color:var(--panel-edge);color:var(--ink-dim)}.race-delta{position:absolute;left:50%;bottom:max(6.6rem,calc(env(safe-area-inset-bottom) + 5.8rem));transform:translate(-50%);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;letter-spacing:.08em;padding:.12rem .6rem;border-radius:4px;background:#06080c8c;text-shadow:0 2px 10px rgba(0,0,0,.8);pointer-events:none}.race-delta[hidden]{display:none}.race-delta.up{color:#6ff2b0}.race-delta.down{color:#ff8a7a}.race-delta.split{font-size:1.5rem;background:#06080cc7}body.touch-mode .race-delta{top:5.4rem;bottom:auto}body.touch-mode .captions{top:8.2rem;bottom:auto}.race-cull{position:absolute;top:3.4rem;left:max(1rem,env(safe-area-inset-left));font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.16em;color:var(--ink-dim);padding:.2rem .55rem;border:1px solid var(--panel-edge);border-radius:4px;background:#06080c99;pointer-events:none}.race-cull[hidden]{display:none}.race-cull.mine{color:#ff8a7a;border-color:#ff8a7a}.race-rematch{padding:.5rem .9rem;border:1px solid var(--panel-edge);border-radius:999px;background:transparent;color:var(--ink-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;letter-spacing:.16em;cursor:pointer}.race-rematch.on{border-color:var(--accent);color:var(--accent)}.race-row.out .race-row-name,.race-row.out .race-row-meta{opacity:.45;text-decoration:line-through}.race-row.bot .race-row-name:after{content:" CPU";font-size:.72em;opacity:.6;letter-spacing:.14em}.captions{position:absolute;left:50%;bottom:max(11.4rem,calc(env(safe-area-inset-bottom) + 10.4rem));transform:translate(-50%);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;letter-spacing:.1em;color:#fff;background:#06080cd1;border-radius:4px;padding:.25rem .7rem;pointer-events:none;transition:opacity .35s ease}.captions[hidden]{display:none}.captions.fade{opacity:0}body.calm .lobby-grid,body.calm .lobby h1:before,body.calm .lobby h1:after,body.calm .race-ready,body.calm .race-big.go,body.calm .race-warn,body.calm .about-card,body.calm .settings-card{animation:none!important}body.calm .race-nitro.boosting .race-nitro-fill,body.calm .race-slip.on,body.calm .race-drift.on{box-shadow:none}body.calm .race-code b{text-shadow:none}.settings-section{margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--panel-edge)}.settings-section h3{margin:0 0 .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.28em;color:var(--ink-dim);font-weight:600}.settings-hint{margin:-.3rem 0 .6rem;font-size:.62rem;color:var(--ink-dim)}.settings-more{display:block;margin-top:.9rem;border-top:1px solid var(--panel-edge)}.settings-more>summary{list-style:none;padding:.7rem 0 .2rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;letter-spacing:.26em;color:var(--ink-dim);cursor:pointer}.settings-more>summary::-webkit-details-marker{display:none}.settings-more>summary:after{content:" +"}.settings-more[open]>summary:after{content:" −"}.settings-more>summary:hover{color:var(--accent)}.settings-more>.settings-section:first-of-type{margin-top:.6rem}.settings-key{grid-column:2 / -1;justify-self:start;min-width:7em;padding:.3rem .7rem;border:1px solid var(--panel-edge);border-radius:4px;background:transparent;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;letter-spacing:.12em;cursor:pointer}.settings-key.listening{border-color:var(--accent);color:var(--accent)}.settings-keysreset{margin-top:.7rem}.lobby-watch{display:flex;gap:.5rem;align-items:flex-start;font-size:.72rem;color:var(--ink-dim);margin-top:.4rem}.lobby-watch input{width:auto;margin:.15rem 0 0;accent-color:var(--lobby-accent)}.lobby-stats{margin:.2rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.1em;color:var(--accent);min-height:1em}body.photo{cursor:none}body.photo #ui-root{pointer-events:none}@media (max-height: 620px),(max-width: 560px){.race-qr{display:none}.race-code b{font-size:1.7rem;letter-spacing:.22em}.race-code-hint{display:none}}.race-top{z-index:3}.driver{z-index:2}@media (max-width: 560px){#ui-root{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:max(.5rem,env(safe-area-inset-top)) .5rem max(.5rem,env(safe-area-inset-bottom))}.race-chip,.race-top,.race-board,.race-nitro,.minimap{position:static;transform:none;width:min(100%,26rem)}.race-nitro{justify-content:center;flex:0 0 auto}.minimap{flex:0 0 auto;align-self:center}.race-chip{justify-content:center;flex-wrap:wrap;flex:0 0 auto}.race-top{flex:0 0 auto}.race-board{flex:0 1 auto;min-height:0;overflow-y:auto}body.on-grid #ui-root{padding-bottom:7rem}body.on-grid.touch-mode #ui-root{padding-bottom:max(14rem,calc(env(safe-area-inset-bottom) + 13rem))}body.on-grid .hud-right{display:flex;flex-direction:row;align-items:flex-end;justify-content:flex-end;gap:.4rem}body.on-grid .hud-sound,body.on-grid .hud-gear{margin-left:0;margin-bottom:0}body.on-grid.touch-mode .driver{bottom:max(10.5rem,calc(env(safe-area-inset-bottom) + 9.6rem))}body.on-grid .hud-speed,body.on-grid .hud-rpm,body.on-grid .minimap,body.on-grid .race-nitro,body.on-grid .race-chat{display:none}body.on-grid .hud-right{margin-left:auto}}@media (max-height: 620px){body.on-grid .hud-speed,body.on-grid .hud-rpm,body.on-grid .minimap,body.on-grid .race-nitro,body.on-grid .race-chat{display:none}body.on-grid .hud-right{margin-left:auto;display:flex;flex-direction:row;align-items:flex-end;justify-content:flex-end;gap:.4rem}body.on-grid .hud-sound,body.on-grid .hud-gear{margin-left:0;margin-bottom:0}body.on-grid.touch-mode .driver{bottom:max(10.5rem,calc(env(safe-area-inset-bottom) + 9.6rem))}body:not(.on-grid) .hud-sound{display:none}body:not(.on-grid).touch-mode .minimap{bottom:max(13.2rem,calc(env(safe-area-inset-bottom) + 12.4rem))}}@media (max-height: 620px),(max-width: 560px){.driver{grid-template-columns:auto;grid-template-areas:"strip";grid-auto-flow:column;justify-content:start;max-width:96vw;padding:.45rem .6rem;gap:.5rem;overflow-x:auto;overscroll-behavior-x:contain}.driver-label,.driver>.driver-note:last-child{display:none}.driver-namewrap,.driver-swatches,.driver-cars,.driver-liveries{grid-area:strip;grid-row:1}.driver-namewrap{grid-column:1}.driver-swatches{grid-column:2;flex-wrap:nowrap}.driver-cars{grid-column:3}.driver-liveries{grid-column:4;flex-wrap:nowrap}.driver-name{width:7.5rem;padding:.3rem .45rem;font-size:.78rem}.driver .swatch{width:1.2rem;height:1.2rem}.driver-cars button,.driver-liveries .livery{padding:.25rem .5rem;font-size:.56rem}}.race-seg button.owned{opacity:.3;cursor:not-allowed;text-decoration:line-through}.race-seg button.owned.on{opacity:.75;text-decoration:none}.race-optgroup:first-child .race-seg{flex-wrap:wrap;max-width:34rem;justify-content:center}.race-slot{position:absolute;left:max(1rem,env(safe-area-inset-left));bottom:max(1.6rem,env(safe-area-inset-bottom));display:grid;gap:.1rem;padding:.4rem .7rem;min-width:9rem;border:1px solid var(--panel-edge);border-left:3px solid var(--panel-edge);border-radius:6px;background:#06080c99;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none}.race-slot[hidden]{display:none}.race-slot b{font-size:.9rem;letter-spacing:.18em;color:#fff}.race-slot-hint{font-size:.58rem;letter-spacing:.1em;color:var(--ink-dim)}.race-slot.armed{border-left-color:var(--accent)}.race-slot.armed b{color:var(--accent)}.race-slot.shielded{border-left-color:#6ff2b0}.race-slot.shielded b{color:#6ff2b0}.race-slot.spun{border-left-color:#ff8a7a}.race-slot.spun b{color:#ff8a7a}.race-air{position:absolute;left:50%;top:30%;transform:translate(-50%);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2.2rem;letter-spacing:.06em;color:#fff;text-shadow:0 0 24px var(--accent),0 2px 12px rgba(0,0,0,.8);pointer-events:none}.race-air[hidden]{display:none}body.touch-mode .race-slot{bottom:max(9rem,calc(env(safe-area-inset-bottom) + 8.2rem))}
