:root{--ink:#fff;--panel:#121418b8;--accent:#ffd23f;font-family:system-ui,Segoe UI,sans-serif}html,body{height:100%;color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;background:#9fd3f0;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;font-variant-numeric:tabular-nums;position:fixed;inset:0}.panel{background:var(--panel);border-radius:10px;padding:10px 14px;line-height:1.35;position:absolute}.dim{opacity:.85;font-size:13px}#speedo{min-width:190px;bottom:16px;left:16px}#speed{letter-spacing:-1px;font-size:54px;font-weight:800}#speedo small{opacity:.8;margin-left:6px;font-size:16px}.bar{background:#ffffff2e;border-radius:3px;height:6px;margin:4px 0 6px;overflow:hidden}.bar i{background:var(--accent);width:0;height:100%;display:block}#boost-row{align-items:center;gap:6px;margin-top:4px;font-size:14px;display:flex}#boost-row .bar{flex:1;height:8px;margin:0}#boost-row .bar i{background:#6fd3ff}#boost-row.on .bar i{background:#fff;box-shadow:0 0 8px #6fd3ff}#boost-row.low .bar i{background:#8a96a0}#damage-row{align-items:center;gap:6px;margin-top:4px;font-size:14px;display:flex}#damage-row .bar{flex:1;height:8px;margin:0}#damage-row .bar i{background:#7ed36f}#damage-row.low .bar i{background:#e2513c}#damage-row small{opacity:.85;white-space:nowrap;font-size:12px}#laps{font-size:18px;top:16px;left:16px}#shop{text-align:right;max-width:290px;padding:6px 12px;top:16px;right:16px}.money{font-size:22px}.money b{color:var(--accent)}@keyframes pulse{to{transform:scale(1.04)}}#toast{text-align:center;text-shadow:0 2px #000,0 0 14px #0009;opacity:0;max-width:90vw;font-size:30px;font-weight:800;transition:opacity .4s;position:absolute;top:18%;left:50%;transform:translate(-50%)}#toast.show{opacity:1;transition:none}#toast small{margin-top:4px;font-size:17px;font-weight:600;display:block}#banner{text-align:center;pointer-events:none;opacity:0;background:#0a0c10d1;border-radius:18px;max-width:calc(100vw - 32px);padding:22px 40px;transition:opacity .4s,transform .4s;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%)scale(.9)}#banner.show{opacity:1;transform:translate(-50%,-50%)scale(1)}#banner b{color:var(--accent);text-shadow:0 3px #000;font-size:clamp(30px,6vw,64px);font-weight:900;display:block}#banner small{margin-top:8px;font-size:clamp(15px,2vw,20px);font-weight:600;display:block}#lights{background:#15161a;border-radius:16px;gap:14px;padding:14px 18px;display:flex;position:absolute;top:26%;left:50%;transform:translate(-50%);box-shadow:0 4px #000}#lights i{background:#33363c;border-radius:50%;width:46px;height:46px}#lights i.on{background:#e2513c;box-shadow:0 0 18px #e2513c}#lights.go i{background:#58d06a;box-shadow:0 0 18px #58d06a}#pending{color:var(--accent);font-size:14px;font-weight:700}#stunt{background:var(--panel);color:var(--accent);opacity:0;pointer-events:none;white-space:nowrap;border-radius:8px;padding:4px 12px;font-size:18px;font-weight:800;transition:opacity .25s;position:absolute;top:64%;left:50%;transform:translate(-50%)}#stunt.show{opacity:1}#flipped,#wrecked{background:#c22a2a;border-radius:10px;padding:10px 18px;font-size:20px;font-weight:700;position:absolute;top:42%;left:50%;transform:translate(-50%)}#help{text-align:right;max-width:46vw;bottom:16px;right:16px}kbd{font:inherit;background:#ffffff2e;border-radius:4px;margin:1px;padding:0 5px;font-size:12px;display:inline-block}#touch{pointer-events:none;--b:clamp(54px, 15vmin, 84px);position:fixed;inset:0}#touch>*{pointer-events:auto;position:absolute}#touch,#touch *{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#touch button{width:var(--b);height:var(--b);font-size:calc(var(--b) * .36);color:#fff;background:#1214188c;border:0;border-radius:50%}#touch button:active{background:#ffd23f8c}#touch-steer{left:max(16px, env(safe-area-inset-left,0px));bottom:max(14px, env(safe-area-inset-bottom,0px));width:42vw;max-width:320px;height:calc(var(--b) * 1.05);background:#12141873;border-radius:999px;place-items:center;display:grid}#touch-steer i{width:calc(var(--b) * .8);height:calc(var(--b) * .8);background:#ffffffbf;border-radius:50%}#touch .small{left:max(16px, env(safe-area-inset-left,0px));bottom:calc(max(14px, env(safe-area-inset-bottom,0px)) + var(--b) * 1.05 + 12px);gap:10px;display:flex}#touch .small button{width:calc(var(--b) * .72);height:calc(var(--b) * .72);font-size:calc(var(--b) * .28);flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex}#touch .small small{opacity:.8;margin-top:2px;font-size:9px}#touch .pedals{right:max(16px, env(safe-area-inset-right,0px));bottom:max(14px, env(safe-area-inset-bottom,0px));grid-template:auto auto/auto auto;place-items:end;gap:10px;display:grid}#touch-boost{background:#2878aa99!important}#touch-gas{width:calc(var(--b) * 1.25)!important;height:calc(var(--b) * 1.25)!important;background:#3c8c4699!important}#touch-menu{left:max(16px, env(safe-area-inset-left,0px));top:calc(env(safe-area-inset-top,0px) + 84px);width:46px!important;height:46px!important;font-size:20px!important}.tap-only{display:none}body.touch .tap-only{display:inline}body.touch .keys-only{display:none}body.touch #flipped,body.touch #wrecked{pointer-events:auto;cursor:pointer}#rotate{display:none}@media (pointer:coarse){#help{display:none}html,body{overscroll-behavior:none}#game{touch-action:none}#speedo{left:50%;top:max(8px, env(safe-area-inset-top,0px));text-align:center;min-width:0;padding:4px 12px;bottom:auto;transform:translate(-50%)}#speed{font-size:28px}#speedo .dim{font-size:12px}#laps{font-size:14px}#shop{max-width:220px;font-size:13px}#shop .money{font-size:17px}#menu .keys,body.racing #rotate{display:none}}@media (pointer:coarse) and (orientation:portrait){body.racing #rotate{pointer-events:none;background:#0a0c10cc;border-radius:12px;padding:10px 16px;font-weight:700;display:block;position:fixed;top:40%;left:50%;transform:translate(-50%)}}@media (max-width:700px) and (pointer:fine){#speed{font-size:40px}#shop{max-width:200px}}#touch.off{display:none}[hidden]{display:none!important}#menu{-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#0a0c10b8,#0000 45% 62%,#0a0c1099);grid-template:"head head head""left.right"1fr"left menubar right"/clamp(300px,30vw,380px) minmax(0,1fr) clamp(220px,24vw,340px);gap:12px 16px;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}#menu header{flex-wrap:wrap;grid-area:head;align-items:baseline;gap:18px;display:flex}#menu h1{letter-spacing:-2px;color:var(--accent);text-shadow:0 3px #000;margin:0;font-size:56px;font-weight:900}#menu .tagline{opacity:.9;text-shadow:0 1px #000;margin:0;font-size:17px}#menu .purse{background:var(--panel);border-radius:10px;margin:0;padding:6px 14px;font-size:20px}#menu .purse b{color:var(--accent)}#menu .who{background:var(--panel);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;display:flex}#menu .tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}#menu .tool,#menu .garage-btn{font:inherit;color:var(--ink);background:var(--panel);cursor:pointer;border:0;border-radius:10px;padding:6px 10px;font-size:14px}#menu .tool:hover,#menu .garage-btn:hover:not(:disabled){background:#3c424ef2}#menu .note{color:var(--accent);text-shadow:0 1px #000;font-size:14px}#menu .garage-btn{color:#111;background:var(--accent);font-size:16px;font-weight:700}#menu .garage-btn:disabled{opacity:.4;cursor:default}#menu .board{opacity:.9;margin:4px 0 0;padding-left:20px;font-size:12px;line-height:1.5}#menu h2{letter-spacing:2px;text-transform:uppercase;opacity:.75;margin:0 0 8px;font-size:13px}#menu .col{flex-direction:column;min-height:0;display:flex}#menu .col:first-of-type{grid-area:left}#menu .col:last-of-type{grid-area:right}#menu .cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}#menu .cards.tracks{scrollbar-width:thin;grid-template-columns:1fr;min-height:0;overflow:hidden auto}#menu .cards.tracks .card:not(.on) span{display:none}#menu .cards.tracks .card:not(.on){flex-direction:row;justify-content:space-between;align-items:baseline;gap:10px;padding-block:5px}#menu .cards.tracks{gap:6px}#menu .card{--tint:var(--accent);border:2px solid #0000;border-left:6px solid var(--tint);background:var(--panel);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:2px;padding:9px 12px;display:flex}#menu .card small{letter-spacing:1px;text-transform:uppercase;opacity:.7;font-size:11px}#menu .card strong{font-size:16px}#menu .card span{opacity:.85;font-size:13px;line-height:1.3}#menu .card em{opacity:.8;font-size:12px;font-style:normal}#menu .card.on{border-color:var(--accent);border-left-color:var(--tint);background:#282c34eb}#menu .card.locked{filter:grayscale();background:#1e2024d9}#menu .card.locked strong,#menu .card.locked small,#menu .card.locked span{opacity:.45}#menu .card.locked em.lock{opacity:.9;font-weight:600}#menu .card.locked.can{filter:none}#menu .card.locked.can em.lock{color:var(--accent);opacity:1}#menu .col:first-of-type{scrollbar-width:thin;padding-right:4px;overflow:hidden auto}#menu .picker{grid-template-columns:auto 1fr auto;align-items:stretch;gap:8px;display:grid}#menu .picker .arrow{font:inherit;width:48px;color:var(--ink);background:var(--panel);cursor:pointer;border:0;border-radius:10px;font-size:28px;font-weight:700;line-height:1}#menu .picker .arrow:active{background:#ffd23f66}#menu .picked{--tint:var(--accent);background:var(--panel);border-left:6px solid var(--tint);border-radius:10px;flex-direction:column;justify-content:center;gap:1px;min-width:0;padding:8px 12px;display:flex}#menu .picked small{letter-spacing:1px;text-transform:uppercase;opacity:.75;font-size:11px}#menu .picked strong{overflow-wrap:anywhere;font-size:20px}#menu .chips{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}#menu .chip{font:inherit;color:var(--ink);background:var(--panel);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:12px}#menu .chips.cats .chip{letter-spacing:.5px;text-transform:uppercase;opacity:.8;font-size:11px}#menu .chip.on{border-color:var(--accent);color:var(--accent);opacity:1}#menu .chip.locked:not(.on){opacity:.55}#menu .chip.locked.can{opacity:1}#menu .chips.rides .chip{font-size:13px}#menu .stage-arrow{width:56px;height:96px;font:inherit;color:var(--ink);cursor:pointer;background:#12141873;border:0;border-radius:14px;font-size:44px;font-weight:700;position:absolute;top:46%;transform:translateY(-50%)}#menu .stage-arrow:hover{background:#121418b3}#menu .stage-arrow.left{left:calc(clamp(300px,30vw,380px) + 52px)}#menu .stage-arrow.right{right:calc(clamp(220px,24vw,340px) + 52px)}#menu .detail{background:var(--panel);border-radius:10px;min-width:0;margin-top:10px;padding:12px 14px;font-size:14px;line-height:1.4}#menu .detail h3{margin:0;font-size:20px}#menu .detail p{margin:4px 0 0}#menu .detail .kind{opacity:.75;font-size:12px}#menu dl{grid-template-columns:auto 1fr auto 1fr;gap:4px 12px;margin:10px 0 6px;font-size:13px;display:grid}#menu dt{opacity:.85}#menu dd{align-items:center;gap:4px;margin:0;display:flex}#menu dd i{background:#ffffff2e;border-radius:2px;flex:0 22px;height:8px}#menu dd i.on{background:var(--accent)}#menu .start{font:inherit;color:#1a1300;background:var(--accent);cursor:pointer;border:0;border-radius:12px;margin-top:14px;padding:14px;font-size:24px;font-weight:900}#menu .start:disabled{color:#2a2c30;box-shadow:none;cursor:default;background:#6b6e74}#menu .nope{animation:.3s shake}#menu .actions{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;display:flex}#menu .actions .garage-btn{margin:0}#menu .unlock{font:inherit;color:var(--ink);cursor:pointer;background:#ffffff1a;border:2px solid #ffffff40;border-radius:10px;padding:6px 12px;font-size:15px;font-weight:700}#menu .unlock.can{color:#111;background:#fff;border-color:#fff}#menu .col>.unlock{margin-top:8px}#menu .modes{flex-direction:column;gap:6px;min-height:0;display:flex;overflow:hidden auto}#menu .mode,#menu .mode-pick{font:inherit;color:var(--ink);background:var(--panel);cursor:pointer;text-align:left;border:2px solid #0000;border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}#menu .mode strong,#menu .mode-pick strong{font-size:16px}#menu .mode span,#menu .mode-pick span{opacity:.8;font-size:12px;line-height:1.3}#menu .mode.on{border-color:var(--accent)}#menu .mode.on strong{color:var(--accent)}#menu .mode.locked{color:#8a8d93;filter:grayscale();opacity:.6;cursor:default;background:#1e2024d9}#menu .mode-pick{border-color:var(--accent)}#menu .mode-pick strong{color:var(--accent)}#menu .modes .trial{flex-direction:column;gap:6px;display:flex}#menu .modes .trial small{letter-spacing:1px;text-transform:uppercase;opacity:.6;margin-top:4px;font-size:11px}#menu .modes .trial .mode{border-style:dashed;border-color:#ffffff40}#menu .modes .trial .mode.on{border-color:var(--accent)}#menu .mode-back{font:inherit;color:var(--ink);cursor:pointer;background:#ffffff1a;border:0;border-radius:10px;align-self:flex-start;padding:6px 12px;font-size:14px}#menu .mode-blurb{opacity:.85;text-shadow:0 1px #000;margin:6px 0 10px;font-size:13px;line-height:1.35}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}#menu .keys{opacity:.8;text-align:center;margin:10px 0 0;font-size:12px}@media (max-width:900px),(max-height:500px){#menu .col{min-height:auto}#menu .col:first-of-type{overflow:visible}#menu .stage-arrow{display:none}#menu{background:#0a0c108c;grid-template:"head""left""right""menubar"/1fr;padding:14px}#menu h1{font-size:40px}#menu .keys{display:none}}#garage{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:center;padding:20px;display:flex;position:fixed;inset:0}#garage .panel{pointer-events:auto;flex-direction:column;gap:8px;width:min(380px,100%);max-height:100%;padding:16px;display:flex;overflow:auto}#garage h2{color:var(--accent);margin:0;font-size:22px}#garage h3{letter-spacing:1px;text-transform:uppercase;opacity:.7;margin:8px 0 0;font-size:14px}#garage .money{margin:0;font-size:15px}#garage .ladder{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}#garage .ladder li{border-radius:8px;grid-template-columns:1.6em 1fr auto auto;align-items:baseline;gap:8px;padding:4px 8px;font-size:14px;display:grid}#garage .ladder li.done{opacity:.55}#garage .ladder li.now{outline:1px solid var(--accent);background:#ffd23f2e}#garage .ladder li.next{background:#ffffff14}#garage .ladder li.later{opacity:.7;filter:grayscale()}#garage .ladder .kmh{opacity:.8;font-variant-numeric:tabular-nums}#garage .ladder .price{text-align:right;min-width:6.5em;font-size:13px}#garage button{font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:#ffffff1a;border:0;border-radius:10px;padding:8px 12px}#garage button:disabled{opacity:.45;cursor:default}#garage .buy{color:#111;background:var(--accent);text-align:center;font-weight:700}#garage .buy:disabled{color:var(--ink);background:#ffffff1a}#garage .profiles{flex-direction:column;gap:4px;display:flex}#garage .profile{flex-direction:column;gap:1px;display:flex}#garage .profile span{opacity:.75;font-size:12px}#garage .profile.on{outline:2px solid var(--accent)}#garage .said{min-height:1.3em;color:var(--accent);margin:0;font-size:14px}#garage .back{align-self:flex-start}@media (max-width:700px){#garage{align-items:flex-end;padding:10px}#garage .panel{max-height:60vh}}#menu header .purse{margin-left:auto}#menu .menubar{left:50%;bottom:max(14px, env(safe-area-inset-bottom,0px));z-index:2;flex-wrap:wrap;grid-area:menubar;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}#menu .menubar .tool.on{outline:2px solid var(--accent)}#menu .settings{background:#121418eb;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:6px;width:max-content;max-width:min(92vw,560px);padding:10px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}#menu .settings .toggle{align-items:center;gap:4px;display:flex}#menu .col:last-of-type{flex-direction:column;display:flex}#menu .col:last-of-type .cards.tracks{flex:auto}#menu .track-head{align-items:center;gap:6px;display:flex}#menu .track-head .step{font:inherit;color:var(--ink);background:var(--panel);cursor:pointer;border:0;border-radius:8px;margin-left:auto;padding:3px 9px;font-size:12px}#menu .track-head .step+.step{margin-left:0}@media (max-width:900px),(max-height:500px){#menu .menubar{justify-self:center;margin-bottom:8px;position:relative;bottom:auto;left:auto;transform:none}}@media (pointer:coarse){#menu .detail .words{display:none}#menu .detail dl{margin-top:0}}
