:root{--bg:#16110d;--panel:#261b14eb;--panel-edge:#4a3424;--ink:#f3e6d2;--ink-dim:#b59f85;--accent:#f08a1c;--accent-2:#ffc23d;--display:"Bebas Neue", "Oswald", Impact, sans-serif;--body:"Oswald", "Arial Narrow", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);font-family:var(--body);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#000;font-size:16px;line-height:1.4;overflow:hidden}button{font:inherit;color:inherit}code{font-family:ui-monospace,Consolas,monospace;font-size:.85em}.muted{color:var(--ink-dim)}.error{color:#ff8a73}.logo{font-family:var(--display);letter-spacing:.06em;background:linear-gradient(180deg, #fff1c9 0%, var(--accent-2) 38%, var(--accent) 62%, #8f3a0b 100%);color:#0000;filter:drop-shadow(0 4px #2b1307)drop-shadow(0 10px 18px #0009);-webkit-background-clip:text;background-clip:text;font-size:clamp(3.2rem,11vw,7.5rem);line-height:.9;transform:skew(-8deg)}.logo.small{font-size:clamp(2.2rem,7vw,3.6rem)}.loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;height:100%;padding:24px;display:flex}.spinner{border:5px solid #f08a1c33;border-top-color:var(--accent);border-radius:50%;width:46px;height:46px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.menu-screen,.garage-screen,.race-screen{touch-action:none;background:#000;position:fixed;inset:0;overflow:hidden}.menu-canvas,.garage-canvas,.race-canvas{position:absolute;inset:0}.menu-loading,.garage-loading{place-items:center;display:grid;position:absolute;inset:0}.overlay{padding:calc(12px + var(--safe-t)) calc(16px + var(--safe-r)) calc(12px + var(--safe-b)) calc(16px + var(--safe-l));z-index:10;background:#0a070599;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.panel{border:1px solid var(--panel-edge);background:var(--panel);text-align:center;border-radius:10px;max-height:100%;padding:18px;overflow-y:auto}.btn{background:linear-gradient(180deg, #ffa63c, var(--accent) 55%, #c4600d);color:#2a1203;min-height:44px;font-family:var(--display);letter-spacing:.08em;cursor:pointer;touch-action:manipulation;border:0;border-radius:6px;padding:.45em 1.2em;font-size:1.3rem}.rotate-prompt{display:none}@media (orientation:portrait) and (pointer:coarse) and (width<=700px){:is(body:has(.race-screen) .rotate-prompt,body:has(.garage-screen) .rotate-prompt,body:has(.menu-screen) .rotate-prompt){z-index:100;background:var(--bg);text-align:center;font-family:var(--display);letter-spacing:.06em;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:24px;font-size:1.6rem;display:flex;position:fixed;inset:0}}.rotate-icon{border:4px solid var(--accent);border-radius:10px;width:56px;height:92px;animation:2s ease-in-out infinite rotate-phone}@keyframes rotate-phone{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
