*{box-sizing:border-box}html,body{color:#fff;-webkit-user-select:none;user-select:none;background:#cfe6ee;height:100%;margin:0;font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif;overflow:hidden}#app canvas{display:block}#help{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#282c3473;border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.6;position:fixed;top:14px;left:14px}#help strong{font-size:13px}.muted{opacity:.7}#hud-laps{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-variant-numeric:tabular-nums;background:#282c3473;border-radius:10px;gap:18px;padding:8px 16px;font-size:16px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}#hud-laps .label{text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-right:6px;font-size:11px}#hud-bottom{gap:6px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}#hud-bottom .box{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-variant-numeric:tabular-nums;background:#464a528c;border-radius:6px;align-items:center;gap:8px;padding:8px 18px;display:flex}#hud-speed,#hud-gear{text-align:right;min-width:2ch;font-size:30px}#hud-gear{min-width:1ch}.unit{opacity:.75;font-size:13px;font-style:italic}#hud-dots{gap:7px;display:flex}#hud-dots span{background:#ffffff40;border-radius:50%;width:14px;height:14px}#hud-dots span.on{background:#fff}#hud-dots span.on.red{background:#ff6b5e}#hud-nitro-charges{gap:5px;font-size:20px;display:flex}#hud-nitro-charges span{background:#4fc3ff;border-radius:3px;width:10px;height:18px}#hud-nitro-charges span.used{background:#fff3}.nitro-bar{background:#fff3;border-radius:3px;width:54px;height:6px;overflow:hidden}#hud-nitro-fill{background:#4fc3ff;width:0;height:100%;display:block}#hud-nitro.burning{background:#2878beb3}#hud-nitro.empty{opacity:.45}#hud-telemetry{opacity:.85;text-shadow:0 1px 2px #0006;font-size:12px;position:fixed;bottom:74px;left:50%;transform:translate(-50%)}#minimap{pointer-events:none;position:fixed;bottom:14px;left:14px}#toast{opacity:0;background:#282c34b3;border-radius:8px;padding:6px 14px;font-size:13px;transition:opacity .2s;position:fixed;top:64px;left:50%;transform:translate(-50%)}#toast.show{opacity:1}#help a{color:#fff}#race-exit{z-index:20;background:#282c34b3;padding:6px 12px;font-size:13px;position:fixed;top:12px;left:12px}#hud-lap-count-box[hidden]{display:none}button{font:inherit;color:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:8px;padding:8px 14px}button:hover{background:#ffffff29}button.primary{background:#ff6a1a;border-color:#ff6a1a;padding:10px 26px;font-weight:700}button.primary:hover{background:#ff7f38}.panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e222ab8;border-radius:12px;padding:14px 18px}.panel h2,.panel h3{text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin:0 0 10px;font-size:13px}#menu{-webkit-user-select:auto;user-select:auto;isolation:isolate;background:radial-gradient(70% 55% at 85% 105%,#ff6a1a8c,#0000 70%),radial-gradient(60% 50% at 0 -10%,#009cff59,#0000 70%),radial-gradient(circle at 50% 40%,#1d1f26 0%,#0c0d11 75%);flex-direction:column;gap:14px;padding:32px max(20px,50% - 460px);display:flex;position:fixed;inset:0;overflow-y:auto}#menu:after{content:"";z-index:-1;pointer-events:none;opacity:.85;background:repeating-conic-gradient(#f3f1ec 0 25%, #0c0d11 0 50%) 0 0 / 28px 28px;height:28px;animation:.9s linear infinite menu-checker;position:fixed;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 25% 75%,#0000);mask-image:linear-gradient(90deg,#0000,#000 25% 75%,#0000)}@keyframes menu-checker{to{background-position:-56px 0}}@media (prefers-reduced-motion:reduce){#menu:after{animation:none}}#menu header h1{letter-spacing:.01em;text-transform:uppercase;background:linear-gradient(100deg,#ffd23c 0%,#ff6a1a 45%,#ff2d55 100%);color:#0000;filter:drop-shadow(0 4px 18px #ff6a1a73);-webkit-background-clip:text;background-clip:text;margin:0;font-size:56px;font-style:italic;font-weight:900}#menu footer{padding-bottom:40px}#menu header p{margin:4px 0 8px}#menu .profile{flex-wrap:wrap;align-items:center;gap:10px;display:flex}#menu .profile h2{margin:0 8px 0 0}#menu input,#menu select{font:inherit;color:#fff;background:#00000040;border:1px solid #ffffff40;border-radius:8px;padding:7px 10px}#menu select option{color:#222}.hint{opacity:.75;font-size:12px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tabs button.active,.card.active{background:#ff6a1a59;border-color:#ff6a1a}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.card{text-align:left;flex-direction:column;gap:4px;font-size:13px;display:flex}.card strong{font-size:16px}.card .thumb{aspect-ratio:32/17;object-fit:contain;background:radial-gradient(at 50% 70%,#ffffff38,#ffffff0a 70%);border-radius:6px;width:100%}#menu .mode-panel{flex-wrap:wrap;align-items:center;gap:14px;display:flex}#menu .mode-panel h2{margin:0}.paint-row{align-items:center;gap:12px;margin-top:12px;display:flex}.paint-row h3{margin:0}.paints{flex-wrap:wrap;gap:6px;display:flex}button.swatch{border:1px solid #ffffff2e;border-radius:50%;width:24px;height:24px;padding:0;font-size:11px;font-weight:700;transition:transform .12s;box-shadow:inset 0 -3px 6px #00000040}button.swatch:hover{transform:scale(1.12)}button.swatch.factory{color:#fffc;background:#3a3f48}button.swatch.active{box-shadow:0 0 0 2px #1e222a,0 0 0 4px #ff6a1a}.time-of-day{align-items:center;gap:12px;margin-top:12px;display:flex}.time-of-day h3,.time-of-day .tabs{margin:0}.track-card{flex-direction:row;align-items:center;gap:12px}.track-card .outline{flex:none;width:96px;height:96px}.track-info{flex-direction:column;gap:4px;display:flex}#menu footer{justify-content:center;align-items:center;gap:18px;display:flex}#menu footer a{color:#fff;opacity:.8}.leaderboard{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.leaderboard td{border-top:1px solid #ffffff14;padding:4px 8px}.leaderboard td.time{text-align:right}.leaderboard tr.mine{background:#ff6a1a40}#race-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#race-overlay .panel{pointer-events:auto;text-align:center;min-width:360px;max-width:520px;max-height:90vh;overflow-y:auto}#race-overlay .panel h2{text-transform:none;letter-spacing:0;opacity:1;font-size:26px}#race-overlay .laps{font-variant-numeric:tabular-nums;margin:10px 0;padding:0;list-style:none}#race-overlay .laps li.best span{color:#b7f59a}#race-overlay .highlight{color:#ffd166;font-weight:700}#race-overlay .buttons{justify-content:center;gap:10px;margin-top:14px;display:flex}#start-lights{background:#14161ad9;border-radius:12px;gap:12px;padding:12px 16px;display:flex;position:fixed;top:22%;left:50%;transform:translate(-50%)}#start-lights[hidden]{display:none}#start-lights span{background:#3a2222;border-radius:50%;width:34px;height:34px}#start-lights span.on{background:#ff3b30;box-shadow:0 0 18px #ff3b30}.lil-gui.root{--width:290px;top:14px;right:14px}
