:root{--ink:#0f1a24;--paper:#f2efe6;--amber:#ffb347;--amber-deep:#e58a1f;--glass:#0a121a9e;--line:#ffffff24;--muted:#f2efe69e;--font-display:"Bahnschrift", "DIN Alternate", "Franklin Gothic Medium", "Arial Narrow", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Cascadia Mono", Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--ink);height:100%;color:var(--paper);font-family:var(--font-display);margin:0;overflow:hidden}#world{position:fixed;inset:0}#world canvas{width:100%;height:100%;display:block}.vignette{pointer-events:none;background:radial-gradient(#0000 55%,#050a1073 100%);position:fixed;inset:0}header,main,footer{pointer-events:none;position:fixed;left:0;right:0}header{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 24px;display:flex;top:0}header>*{pointer-events:auto}.brand{color:var(--paper);letter-spacing:.08em;align-items:center;gap:12px;font-size:20px;font-weight:700;line-height:1;text-decoration:none;display:flex}.brand-icon{background:linear-gradient(160deg, var(--amber), var(--amber-deep));width:44px;height:44px;color:var(--ink);border-radius:10px;place-items:center;font-size:24px;display:grid}.brand-light{margin-left:4px;font-weight:300}.brand small{letter-spacing:.3em;color:var(--muted);margin-top:5px;font-size:10px;display:block}.race-info{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(6px);border-radius:14px;gap:28px;padding:12px 22px;display:flex}.race-info strong{font-size:24px;font-family:var(--font-mono);letter-spacing:-.02em;display:block}.race-info i{color:var(--muted);font-size:16px;font-style:normal}.race-info strong span{color:var(--muted);font-size:16px}.eyebrow{letter-spacing:.3em;color:var(--muted);margin-bottom:4px;font-size:10px;display:block}.top-actions{align-items:center;gap:10px;display:flex}#renderer-status,#fps{font-family:var(--font-mono);letter-spacing:.12em;background:var(--glass);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:inline-flex}#renderer-status b{background:#888;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px}#renderer-status b.webgpu{color:#4ade80;background:#4ade80}#renderer-status b.webgl2{color:#facc15;background:#facc15}.icon-button{border:1px solid var(--line);background:var(--glass);width:40px;height:40px;color:var(--paper);cursor:pointer;border-radius:10px;font-size:18px}.icon-button.muted{color:var(--muted);text-decoration:line-through}main{top:0;bottom:0}.intro{pointer-events:auto;text-shadow:0 2px 24px #00000080;max-width:560px;position:absolute;top:50%;left:48px;transform:translateY(-50%)}.tag{letter-spacing:.3em;color:var(--amber);align-items:center;gap:10px;margin-bottom:18px;font-size:11px;display:inline-flex}.tag span{background:var(--amber);width:28px;height:2px}.tag b{color:var(--paper)}.intro h1{letter-spacing:-.02em;margin:0 0 18px;font-size:clamp(44px,7vw,92px);font-weight:800;line-height:.92}.intro h1 em{color:var(--amber);font-style:normal}.intro p{color:var(--muted);margin:0 0 26px;font-size:16px;line-height:1.5}.primary,.secondary{font:inherit;letter-spacing:.12em;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:12px;padding:16px 26px;font-weight:700;display:inline-flex}.primary{background:linear-gradient(160deg, var(--amber), var(--amber-deep));color:var(--ink);box-shadow:0 10px 30px #ffb3474d}.primary:hover{filter:brightness(1.08)}.secondary{color:var(--paper);border:1px solid var(--line);background:0 0;margin-left:10px}.route-facts{letter-spacing:.2em;color:var(--muted);gap:26px;margin-top:28px;font-size:12px;display:flex}.route-facts b{color:var(--paper);font-size:18px;font-family:var(--font-mono);margin-right:6px}.intro-hint{color:var(--muted);letter-spacing:.05em;margin-top:18px;font-size:12px}kbd{border:1px solid var(--line);min-width:20px;font-family:var(--font-mono);text-align:center;background:#ffffff14;border-radius:5px;margin-right:3px;padding:2px 6px;font-size:11px;display:inline-block}.leaderboard{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(6px);border-radius:14px;width:220px;padding:14px 16px;position:absolute;top:96px;right:24px}.leaderboard ol{margin:0;padding:0;list-style:none}.leaderboard li{border-top:1px solid var(--line);letter-spacing:.06em;align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.leaderboard li:first-child{border-top:0}.leaderboard li b{width:18px;font-family:var(--font-mono);color:var(--muted)}.leaderboard li i{border-radius:3px;width:10px;height:10px}.leaderboard li span{font-family:var(--font-mono);color:var(--muted);margin-left:auto;font-size:11px}.leaderboard li.me{color:var(--amber)}#countdown{color:var(--amber);opacity:0;text-shadow:0 10px 50px #0009;font-size:160px;font-weight:800;transition:opacity .15s,transform .25s;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)scale(.6)}#countdown.show{opacity:1;transform:translate(-50%,-50%)scale(1)}#notice{letter-spacing:.2em;background:var(--glass);border:1px solid var(--line);opacity:0;border-radius:12px;padding:10px 22px;font-size:20px;transition:opacity .2s;position:absolute;top:22%;left:50%;transform:translate(-50%)}#notice.show{opacity:1}.modal{border:1px solid var(--line);backdrop-filter:blur(10px);pointer-events:auto;text-align:left;background:#0a121ae0;border-radius:20px;width:min(520px,90vw);padding:34px 36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.modal h2{letter-spacing:-.02em;margin:6px 0 10px;font-size:44px}.modal p{color:var(--muted);margin:0 0 24px;line-height:1.5}.map-panel{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(6px);border-radius:16px;width:300px;padding:14px;position:absolute;bottom:72px;left:24px}.location{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.location-marker{color:var(--amber);font-size:18px}.location strong{letter-spacing:.1em;font-size:14px;display:block}.location span{color:var(--muted);letter-spacing:.1em;font-size:10px}#minimap{width:100%;height:auto;display:block}.map-footer{letter-spacing:.2em;color:var(--muted);justify-content:space-between;margin-top:6px;font-size:10px;display:flex}.map-footer i{background:var(--amber);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.vehicle-label{text-align:right;position:absolute;bottom:210px;right:24px}.vehicle-label strong{letter-spacing:.08em;font-size:22px}.vehicle-label strong span{color:var(--amber);font-weight:300}.vehicle-label div{letter-spacing:.2em;color:var(--muted);margin-top:4px;font-size:10px}.speed-panel{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(6px);border-radius:16px;width:260px;padding:16px 18px;position:absolute;bottom:72px;right:24px}.drive-mode{letter-spacing:.25em;color:#4ade80;align-items:center;gap:8px;font-size:10px;display:flex}.drive-mode span{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px}.drive-mode b.off,.drive-mode:has(b.off){color:var(--muted)}.speed-readout{align-items:flex-end;gap:12px;margin:8px 0 10px;display:flex}.speed-readout strong{font-size:64px;line-height:.9;font-family:var(--font-mono);letter-spacing:-.04em}.speed-readout div{flex-direction:column;gap:4px;padding-bottom:4px;display:flex}.speed-readout span{letter-spacing:.25em;color:var(--muted);font-size:10px}.speed-readout b{color:var(--amber);font-size:26px;font-family:var(--font-mono)}.rev-meter{background:#ffffff1a;border-radius:3px;height:6px;position:relative;overflow:hidden}.rev-meter:after{content:"";width:calc(var(--rev,0) * 100%);background:linear-gradient(90deg, #4ade80, var(--amber) 60%, #ef4444);transition:width 80ms linear;position:absolute;inset:0}.speed-footer{letter-spacing:.2em;color:var(--muted);font-size:10px;font-family:var(--font-mono);justify-content:space-between;margin-top:10px;display:flex}footer{letter-spacing:.25em;color:var(--muted);justify-content:space-between;padding:16px 24px;font-size:10px;display:flex;bottom:0}.controls{gap:22px;display:flex}.edition span{color:var(--amber)}.touch-controls{z-index:5;justify-content:center;gap:12px;display:none;position:fixed;bottom:18px;left:0;right:0}.touch-controls button{border:1px solid var(--line);background:var(--glass);width:64px;height:64px;color:var(--paper);touch-action:none;user-select:none;border-radius:16px;font-size:24px}.touch-controls button.held{background:var(--amber);color:var(--ink)}#loading{z-index:20;letter-spacing:.3em;background:radial-gradient(at 50% 40%,#1b3144,#0f1a24 70%);flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .6s;display:flex;position:fixed;inset:0}#loading .brand-icon{border-radius:16px;width:64px;height:64px;font-size:34px}#loading strong{font-size:14px}#loading span{color:var(--muted);letter-spacing:.15em;font-size:11px}.loading-line{background:#ffffff1f;border-radius:2px;width:240px;height:4px;margin-top:8px;overflow:hidden}#loading-bar{background:var(--amber);width:0%;height:100%;transition:width .2s}#loading.done{opacity:0;pointer-events:none}.hidden{display:none!important}@media (width<=900px),(pointer:coarse){.touch-controls{display:flex}.intro{max-width:none;left:20px;right:20px}.intro h1{font-size:44px}.race-info{gap:14px;padding:8px 12px}.race-info strong{font-size:18px}footer,.vehicle-label,.map-panel{display:none}.speed-panel{width:180px;padding:10px 12px;bottom:100px;right:12px}.speed-readout strong{font-size:40px}.leaderboard{width:150px;top:84px;right:12px}.brand small,#fps{display:none}}body.no-ui header,body.no-ui main,body.no-ui footer,body.no-ui .vignette,body.no-ui .touch-controls{display:none!important}
