@font-face{font-family:Space;src:url(/assets/fonts/Space.ttf)format("truetype")}@font-face{font-family:Sono;src:url(/assets/fonts/Sono.ttf)format("truetype")}:root{--ink:#f4f1ea;--panel:#14181c9e;--accent:#f2c14e}*{box-sizing:border-box}html,body,#root{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;background:#9fc8ec;margin:0;font-family:Sono,system-ui,sans-serif;overflow:hidden}canvas{display:block}.loader{background:var(--panel);text-align:center;z-index:20;border-radius:10px;width:min(320px,80vw);padding:10px 14px;font-size:13px;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}.loader-bar{background:var(--accent);height:3px;margin-bottom:8px;transition:width .2s}.menu-backdrop{z-index:10;background:linear-gradient(#0000000d,#00000059);place-items:center;display:grid;position:fixed;inset:0}.menu{background:var(--panel);-webkit-backdrop-filter:blur(10px);border-radius:18px;width:min(520px,100vw - 32px);max-height:calc(100vh - 32px);padding:28px;overflow:auto;box-shadow:0 20px 60px #0000004d}.menu h1{letter-spacing:.02em;margin:0;font-family:Space,sans-serif;font-size:44px}.menu-sub{opacity:.75;margin:4px 0 18px}.menu label{opacity:.8;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 8px;font-size:13px;display:block}.seg{gap:6px;display:flex}.seg-wrap{flex-wrap:wrap}.seg button{cursor:pointer;min-width:88px;color:var(--ink);font:inherit;background:#ffffff0f;border:1px solid #ffffff26;border-radius:10px;flex:auto;padding:9px 10px;font-size:14px}.seg button small{opacity:.6;font-size:11px;display:block}.seg button:hover{background:#ffffff24}.seg button.on{background:var(--accent);color:#1d1d1d;border-color:var(--accent)}.menu input[type=range]{width:100%;accent-color:var(--accent)}.primary{background:var(--accent);color:#1d1d1d;cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:22px;padding:14px;font-family:Space,sans-serif;font-size:22px;display:block}.primary:disabled{opacity:.6;cursor:wait}.menu-keys{opacity:.6;text-align:center;margin:14px 0 0;font-size:12px}.hud{pointer-events:none;position:fixed;inset:0}.hud-top{flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:16px;left:16px}.hud-chip{background:var(--panel);border-radius:999px;padding:6px 12px;font-size:14px}.hud-auto{background:var(--accent);color:#1d1d1d}.hud-warn{background:#aa5a28cc}.hud-speed{background:var(--panel);border-radius:16px;align-items:baseline;gap:6px;padding:22px 18px 10px;display:flex;position:absolute;bottom:24px;right:24px}.hud-tach{background:#ffffff26;border-radius:3px;height:5px;position:absolute;top:9px;left:18px;right:18px}.hud-tach-fill{background:#ffffffd9;border-radius:3px;height:100%;transition:width .1s linear}.hud-tach-fill[data-red]{background:#ff5a45}.hud-tach-red{background:#ff5a4573;border-radius:0 3px 3px 0;position:absolute;top:-2px;bottom:-2px;right:0}.hud-speed strong{text-align:right;min-width:2.2ch;font-family:Space,sans-serif;font-size:52px;line-height:1}.hud-speed small{opacity:.7}.hud-speed em{background:#ffffff1f;border-radius:6px;margin-left:10px;padding:2px 8px;font-style:normal}.hud-help{opacity:.75;text-shadow:0 1px 2px #0009;max-width:60vw;font-size:12px;position:absolute;bottom:16px;left:16px}@media (width<=700px){.hud-help{display:none}}.hud-health{background:var(--panel);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex;position:absolute;top:16px;right:16px}.hud-health em{color:#ffb3a6;font-style:normal}.hud-bar{background:#ffffff26;border-radius:4px;width:120px;height:8px;overflow:hidden}.hud-bar div{height:100%;transition:width .2s,background .3s}.menu-credits{opacity:.5;text-align:center;margin:12px 0 0;font-size:11px}.hud-repair{pointer-events:auto;background:var(--accent);color:#1d1d1d;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:3px 10px;font-size:12px}.windshield{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.vehicle-select{width:100%;color:var(--ink);font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;padding:10px 12px;font-size:15px}.vehicle-select option{color:var(--ink);background:#22272d}.preview{background:radial-gradient(at 50% 70%,#3a434d,#15191d);border-radius:12px;height:190px;margin-top:8px;overflow:hidden}.vehicle-stats{flex-wrap:wrap;gap:6px;margin-top:8px;font-size:12px;display:flex}.vehicle-stats span{background:#ffffff14;border-radius:999px;padding:3px 8px}
