.player-name-form{margin:0 0 24px;text-align:left}.player-name-form label,.board-filters label{display:block;font-size:19px;letter-spacing:1px;color:var(--arcade-mint,#92d6c8)}.player-name-form input,.board-filters select{box-sizing:border-box;display:block;width:100%;min-height:44px;margin-top:8px;padding:10px;background:#071b20;color:#fff2c6;border:2px solid #71b9a6;border-radius:0;font:22px VT323,monospace}.player-name-edit{display:flex;gap:12px;align-items:center}.player-name-edit input{min-width:0}.player-name-edit .secondary{margin:8px 0 0;min-height:44px}.player-name-form p,.player-storage-note{font:18px/1.35 VT323,monospace;color:#bdc9c1}.player-storage-note{margin-bottom:0}#player-dialog .secondary{font-size:19px;min-height:44px;margin:8px auto}#leaderboard-dialog{box-sizing:border-box;width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:28px;background:#092329;color:#fff2c6;border:3px solid #71b9a6;overflow-y:auto;font-family:VT323,monospace}#leaderboard-dialog::backdrop{background:#020b0bdd}.board-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.board-heading h2{font:44px/1 VT323,monospace;color:#f0d966;margin:10px 0 24px}.board-heading .route-label{font-size:17px}.board-heading button{min-height:44px}.board-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.board-filters [hidden]{display:none}#board-status,#board-footnote{font-size:19px;line-height:1.3;color:#bdc9c1;margin:22px 0}.board-columns,#board-rows li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px}.board-columns{font-size:17px;color:#92d6c8;border-bottom:2px solid #71b9a6}#board-rows{padding:0;margin:0;list-style:none}#board-rows li{font-size:24px;border-bottom:1px solid #ffffff20;min-height:48px}#board-rows strong{font-weight:400;overflow-wrap:anywhere}#board-rows small{display:block;font-size:16px;opacity:.8;margin-top:4px}#board-rows .is-player{background:#f0d966;color:#112526}#board-rows .board-gap{display:block;font-size:17px;color:#92d6c8;padding-top:28px}#leaderboard-dialog .secondary{margin:16px auto 0;min-height:44px;font-size:21px}#leaderboard-result{border-top:1px solid #92d6c855;margin-top:22px;padding-top:18px;text-align:center}#leaderboard-result[hidden]{display:none}#leaderboard-result-label{color:#f0d966;font-size:20px}#leaderboard-ranks{font-size:22px;line-height:1.3;margin:8px 0}#leaderboard-result .secondary{font-size:20px;margin:8px auto;min-height:44px}#leaderboard-result [hidden],body[data-mode=playing] #leaderboard-menu,body[data-mode=paused] #leaderboard-menu,body[data-mode=over] #leaderboard-menu{display:none}@media(max-width:559px){#leaderboard-dialog{width:calc(100% - 24px);height:fit-content;max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:24px 16px;border:0;border-top:4px solid #71b9a6}.board-heading h2{font-size:36px}.board-filters{gap:12px}.board-columns,#board-rows li{gap:8px;padding:12px 8px;grid-template-columns:30px minmax(0,1fr) auto}#board-rows li{font-size:22px}#leaderboard-menu{font-size:13px}#leaderboard-ranks{font-size:20px}}#player-dialog [hidden]{display:none}#board-city{display:block;width:100%;min-height:44px;margin:0;padding:8px 12px;background:#071b20;color:#fff2c6;border:2px solid #71b9a6;border-radius:0;font:22px VT323,monospace}.board-heading{align-items:center;margin-bottom:16px}.board-heading h2{margin:0;font-size:36px}#board-status{margin:16px 0;font-size:18px}#board-footnote{margin:14px 0;font-size:17px}#leaderboard-dialog [hidden]{display:none}@media(max-width:559px){#leaderboard-dialog{padding:16px}.board-heading{margin-bottom:12px}.board-heading h2{font-size:30px}}#leaderboard-dialog{width:min(540px,calc(100vw - 24px));height:auto;max-height:min(560px,calc(100dvh - 48px));padding:18px;overflow:hidden}#leaderboard-dialog[open]{display:flex;flex-direction:column}.board-heading{flex:none;margin-bottom:10px}.board-heading h2{font-size:30px}#board-city{flex:none;font-size:20px;padding:6px 10px}#board-status{flex:none;margin:10px 0;font-size:16px}#board-table{display:flex;flex-direction:column;min-height:0;overflow:hidden}.board-columns,#board-rows li{grid-template-columns:28px minmax(0,1fr) 90px;gap:8px;padding:7px 8px}.board-columns{flex:none;font-size:15px}.board-columns span:last-child,#board-rows li>span:last-child{text-align:right}#board-rows{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#71b9a6 #092329}#board-rows li{min-height:44px;font-size:21px;line-height:1.05}#board-rows small{font-size:15px;margin-top:3px;line-height:1.1}#board-footnote{flex:none;margin:10px 0 0;font-size:15px}@media(max-width:559px){#leaderboard-dialog{padding:14px;max-height:min(520px,calc(100dvh - 32px))}.board-columns,#board-rows li{grid-template-columns:24px minmax(0,1fr) 78px;padding:7px 4px}.board-heading h2{font-size:28px}}#board-city{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23fff2c6' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px 8px}@font-face{font-family:Russo One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/russo-one.ttf) format("truetype")}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/vt323.ttf) format("truetype")}:root{font-family:VT323,monospace;color:#eee7cd;background:#0a0e0b;font-synthesis:none;--dash-height:clamp(135px,17.8vw,205px)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid #e9d16e;outline-offset:4px}button:active{transform:translateY(2px)}#scene{position:fixed;inset:0;background:#0c120d}body[data-mode=start] #scene{bottom:0}canvas{display:block;width:100%;height:100%}.vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #05130d30}.screen-grain{position:fixed;inset:0;pointer-events:none;z-index:7;opacity:.04;background:repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 3px)}.hidden,.screen.hidden{display:none!important}.topbar{position:fixed;top:16px;left:20px;right:20px;z-index:8;display:flex;justify-content:space-between;align-items:center}.wordmark{font-family:Russo One,sans-serif;font-size:15px;letter-spacing:.3px;filter:drop-shadow(2px 2px #000)}.utilities{display:flex;gap:5px}.icon-btn{padding:5px 9px;background:#192017;border:2px solid #6f755e;border-right-color:#080d08;border-bottom-color:#080d08;box-shadow:0 0 0 1px #060a06;font-size:17px;line-height:1;color:#c2c6af}.icon-btn:hover{color:#fff1aa;background:#303b29}body[data-mode=playing] .wordmark,body[data-mode=paused] .wordmark,body[data-mode=over] .wordmark{visibility:hidden}.screen{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#04120d6e;text-align:center}.intro{width:min(940px,94vw);padding:50px 20px 24px;text-shadow:2px 2px #09110b;transform:translateY(-8px)}.route-label{font-size:23px;letter-spacing:4px;color:#e6cf7e;margin-bottom:15px}h1{font-family:Russo One,sans-serif;font-size:clamp(56px,7.8vw,114px);line-height:.98;letter-spacing:-3px;color:#f3ebd3;margin:0;filter:drop-shadow(5px 6px #09100b);-webkit-text-stroke:1px #e6dcc0;text-shadow:0 2px #aaa98d}h1 br{display:block}h1 br:after{content:" "}.title-rule{display:flex;justify-content:center;gap:26px;margin:25px auto 0;border-top:3px solid #c9bd83;border-bottom:1px solid #c9bd8380;padding:7px 24px;width:max-content;max-width:100%;font-size:22px;letter-spacing:3px;color:#ddd5b4}.title-rule span:last-child{font:15px Arial,sans-serif;letter-spacing:0;align-self:center}.menu-options{margin:58px auto 0}.primary{font-family:VT323,monospace;background:#101c12e8;border:3px solid #a8ad82;border-right-color:#3b432d;border-bottom-color:#3b432d;box-shadow:0 0 0 3px #090e08,4px 5px #050a07;color:#f3e5a8;font-size:32px;letter-spacing:2px;padding:9px 32px;min-width:278px;text-align:left}.primary:hover{background:#334329;color:#fff6ca}.menu-cursor{display:inline-block;margin-right:20px;font-size:21px;animation:cursor-blink 1.1s steps(1) infinite}.press-start{font-size:18px;letter-spacing:4px;color:#d5d5b3;margin-top:15px}.controls{display:flex;justify-content:center;gap:26px;margin:35px 0 0}.control{display:flex;flex-direction:column;gap:6px;align-items:center;font-size:17px;color:#cecbb2}.control kbd{font-family:VT323,monospace;border:2px solid #b4b396;border-right-color:#3b4434;border-bottom-color:#3b4434;background:#1d291ee6;box-shadow:2px 2px #090e08;padding:4px 9px;color:#eeebd8;font-size:21px}.menu-caption{margin-top:28px;font-size:19px;letter-spacing:1px;color:#c7c7ab}.footer{position:fixed;bottom:15px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:15px;letter-spacing:2px;color:#c7c9b0;z-index:6;pointer-events:none}body:not([data-mode=start]) .footer{display:none}.hud{position:fixed;inset:0;z-index:2;pointer-events:none}.score-panel{position:absolute;top:18px;left:23px;background:#10170bc4;border-left:4px solid #abb769;padding:5px 12px 7px;min-width:160px;text-shadow:2px 2px #070b06}.label{font-size:17px;letter-spacing:2px;color:#e7e5cc}.score{font-size:35px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:3px;color:#f7df8b}.combo{font-size:21px;margin-top:3px;color:#f2d983}.combo-line{width:130px;height:5px;background:#070c07;margin-top:3px;border:1px solid #4f5d3e}.combo-line i{display:block;background:#d9b754;height:100%;width:0}.pursuit{position:absolute;top:58px;right:23px;text-align:right;text-shadow:2px 2px #000}.wanted{font-size:27px;color:#df7a4b;letter-spacing:4px}.pursuit .label{font-size:16px}.cockpit{height:var(--dash-height);position:absolute;bottom:0;left:0;right:0;background:transparent}.instruments{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:min(1100px,100%);height:100%;overflow:visible}.dial-number{font:18px VT323,monospace;fill:#252b23}.dial-unit{font:9px Russo One,sans-serif;fill:#474b38;letter-spacing:1px}.lcd-number{font:25px VT323,monospace;fill:#e8d895}.gear-label{font:12px Russo One,sans-serif;fill:#8d9a6c;letter-spacing:2px}.gear-number{font:52px VT323,monospace;fill:#e5985f}.distance-number{font:21px VT323,monospace;fill:#b9c784}.rider-status,.rival-status{position:absolute;bottom:16px;width:17%;max-width:176px;text-shadow:2px 2px #030803}.rider-status{right:calc(50% + min(260px,24vw))}.rival-status{left:calc(50% + min(260px,24vw));text-align:right}.rider-name{font:17px Russo One,sans-serif;color:#e2e6c7;margin-bottom:7px}.health{display:flex;gap:3px;border:2px solid #8a9175;border-bottom-color:#0c130b;border-right-color:#0c130b;background:#090e08;padding:3px;height:18px}.health i{flex:1;background:#9aa853;border-right:1px solid #b4bd6b}.health i.empty{background:#293222;border-color:#293222}.rival-health{height:18px;border:2px solid #727c66;background:#172017;padding:3px}.rival-health i{height:8px;display:block;background:#c2733d;width:0}.lives{font-size:17px;color:#bcc5a2;margin-top:5px;white-space:nowrap}.rival-status .lives{font-size:14px}.toast{position:absolute;top:20%;left:50%;transform:translate(-50%);font-family:Russo One,sans-serif;font-size:clamp(18px,2.2vw,30px);color:#f7e8a1;letter-spacing:.4px;text-shadow:3px 3px #172011,-1px -1px #172011;white-space:nowrap}.pause-box{width:min(620px,90vw);padding:40px;background:#101a11ee;border:5px solid #73815c;box-shadow:0 0 0 5px #071007,9px 10px #0008}.pause-box h2{font:clamp(40px,5vw,65px) "Russo One",sans-serif;color:#ece7cc;margin:14px 0 35px;text-shadow:4px 4px #000}.secondary{display:block;margin:22px auto;border:0;background:none;color:#c0c6a9;font-size:24px}.secondary:hover{color:#f1dda1}.pause-controls{font-size:19px;line-height:1.45;color:#a9b798;margin-top:26px}.results{margin:15px 0 30px;text-align:left;font-size:24px}.results>div{display:flex;justify-content:space-between;margin:12px 0}.results strong{color:#e8d591;font-weight:400}.help{position:fixed;bottom:calc(var(--dash-height) + 6px);left:50%;transform:translate(-50%);z-index:3;font-size:15px;color:#e6e9cf;background:#081008a6;padding:2px 8px;white-space:nowrap}.hit-flash{position:fixed;inset:0;pointer-events:none;opacity:0;box-shadow:inset 0 0 160px #cb391b99;z-index:9}.diagnostics{position:fixed;top:112px;right:20px;font:12px monospace;z-index:10;color:#e3f2d0;background:#0b180be0;padding:8px;white-space:pre}.touch{display:none}@keyframes cursor-blink{0%,70%{opacity:1}71%,to{opacity:.25}}@media(min-width:1500px){h1{font-size:116px}}@media(max-width:850px){:root{--dash-height:150px}.intro{padding-top:80px}h1{font-size:70px;letter-spacing:-2px}h1 br{display:block}.route-label{font-size:19px;letter-spacing:2px}.title-rule{margin-top:15px}.menu-options{margin-top:30px}.controls{gap:12px;margin-top:28px}.rider-name{font-size:12px}.lives{font-size:14px}.rival-status .lives{font-size:10px}.rider-status,.rival-status{bottom:15px;width:16%}.instruments{min-width:700px}.health{gap:1px;padding:2px;height:15px}.rival-health{height:15px}.rival-health i{height:6px}}@media(max-width:550px){:root{--dash-height:130px}.topbar{left:10px;right:10px;top:10px}.wordmark{display:none}.utilities{margin-left:auto}.icon-btn{font-size:14px;padding:4px 6px}.intro{padding:65px 8px 20px}.route-label{font-size:17px;letter-spacing:1px}h1{font-size:56px;line-height:1.02}.title-rule{font-size:17px;gap:14px;padding:7px 10px}.title-rule span:last-child{font-size:12px}.controls{gap:10px;flex-wrap:wrap}.control{font-size:14px}.control kbd{font-size:17px;padding:3px 5px}.primary{font-size:27px;min-width:250px}.menu-caption{font-size:15px}.instruments{min-width:630px;width:630px}.rider-status,.rival-status{display:none}.score-panel{left:10px;top:45px;min-width:122px;padding:4px 8px}.score{font-size:27px}.combo{font-size:17px}.label{font-size:14px}.combo-line{width:104px}.pursuit{top:46px;right:10px}.wanted{font-size:23px}.help{font-size:10px;bottom:calc(var(--dash-height) + 3px)}.footer{left:12px;right:12px;font-size:12px;letter-spacing:1px}.pause-box{padding:25px 15px}.toast{top:27%;font-size:17px}.pause-controls{font-size:16px}}@media(prefers-reduced-motion:reduce){.menu-cursor{animation:none}.screen-grain{display:none}}.game-logo{height:clamp(210px,30vh,320px);width:min(840px,88vw);margin:auto;filter:none;text-shadow:none;-webkit-text-stroke:0}.game-logo img{display:block;width:100%;height:100%;object-fit:contain}.intro .menu-options{margin-top:24px}.intro .title-rule{margin-top:5px}@media(max-height:700px){.game-logo{height:205px}.intro{padding-top:40px}.menu-caption{margin-top:18px}.controls{margin-top:22px}}@media(max-width:550px){.game-logo{width:96vw;height:215px;margin-left:-4vw}.intro .menu-options{margin-top:28px}}:root{--arcade-cream:#fff2c7;--arcade-yellow:#ffd447;--arcade-orange:#ff7137;--arcade-cyan:#64e0d2;--arcade-red:#ff5b4f;--arcade-green:#65dc74;--arcade-ink:#101b1c}.screen{background:#050f153d}.screen-grain{opacity:.014;background:repeating-linear-gradient(0deg,#071117 0 1px,transparent 1px 4px)}.vignette{box-shadow:inset 0 0 72px #050c112e}.wordmark{color:var(--arcade-orange);text-shadow:2px 2px #101b1c}.icon-btn{background:#12272b;border-color:var(--arcade-cyan);border-right-color:#0a1518;border-bottom-color:#0a1518;color:var(--arcade-cream);box-shadow:0 0 0 1px #081316}.icon-btn:hover{background:#1b4850;color:#fff6cf;border-color:var(--arcade-yellow)}.route-label{color:var(--arcade-cyan);text-shadow:2px 2px #102225}.title-rule{border-top-color:var(--arcade-orange);border-bottom-color:#64e0d2a6;color:var(--arcade-yellow)}.primary{background:var(--arcade-orange);border-color:#ffd35b;border-right-color:#b63f23;border-bottom-color:#b63f23;box-shadow:0 0 0 3px #11191a,4px 5px #091012;color:#1d1711;text-shadow:none}.primary:hover{background:var(--arcade-yellow);color:#171515;border-color:#fff2ab}.menu-cursor{color:#1d1711}.press-start{color:var(--arcade-yellow)}.controls .control{color:#d8fff1}.control kbd{border-color:var(--arcade-cyan);border-right-color:#257a7a;border-bottom-color:#257a7a;background:#102d33;color:var(--arcade-cream);box-shadow:2px 2px #091517}.control kbd:hover{border-color:var(--arcade-yellow);background:#19454a}.menu-caption{color:#ffb64c}.footer{color:var(--arcade-cyan)}.score-panel{background:#0b2121d6;border-left-color:var(--arcade-orange);text-shadow:2px 2px #071214}.label{color:#d7fff3}.score{color:var(--arcade-yellow)}.combo{color:#ffb74a}.combo-line{background:#081517;border-color:#2f7770}.combo-line i{background:linear-gradient(90deg,var(--arcade-orange),var(--arcade-yellow))}.wanted{color:var(--arcade-red);text-shadow:2px 2px #251215}.pursuit .label{color:var(--arcade-cyan)}.rider-name{color:var(--arcade-cream)}.health{border-color:var(--arcade-green);background:#0b2119}.health i{background:var(--arcade-green);border-right-color:#b6f39b}.health i.empty{background:#33463e;border-color:#33463e}.lives{color:#c6f2d0}.rival-health{border-color:var(--arcade-red);background:#29191a}.rival-health i{background:var(--arcade-red)}.toast{color:var(--arcade-yellow);text-shadow:3px 3px #16262b,-1px -1px #16262b}.gear-number{fill:var(--arcade-orange)}.distance-number{fill:var(--arcade-yellow)}.pause-box{background:#0b2329f0;border-color:var(--arcade-cyan);box-shadow:0 0 0 5px #071416,9px 10px #050a0ccc}.pause-box h2{color:var(--arcade-cream);text-shadow:4px 4px #0b2023}.secondary{color:var(--arcade-cyan)}.secondary:hover{color:var(--arcade-yellow)}.pause-controls{color:#b9f2df}.results strong{color:var(--arcade-yellow)}.help{color:var(--arcade-cream);background:#092428d1;border:1px solid #3aa79e}.hit-flash{box-shadow:inset 0 0 160px #ff3f2594}.ride-objective{position:absolute;left:50%;top:24px;transform:translate(-50%);max-width:44vw;text-align:center;font-size:21px;color:#ffe8a0;text-shadow:2px 2px #112729;background:#112729c9;padding:5px 12px;border-bottom:2px solid #5cbeb5;pointer-events:none}.ride-objective:empty{display:none}@media(max-width:700px){.ride-objective{top:132px;max-width:90vw;white-space:nowrap;font-size:16px}}.start-intro{padding-top:24px;transform:translateY(-2px)}.start-intro .game-logo{margin-bottom:16px}.start-intro .menu-options{margin-top:0}.topbar{justify-content:flex-end}.city-menu{width:min(980px,92vw);padding:36px 28px 30px;background:#0b2329e6;border:4px solid var(--arcade-cyan);box-shadow:0 0 0 4px #071416,9px 10px #050a0cc2}.city-menu h2{margin:3px 0 26px;font:clamp(34px,4.8vw,58px) "Russo One",sans-serif;letter-spacing:1px;color:var(--arcade-cream);text-shadow:4px 4px #0b2023}.city-menu .route-label{margin-bottom:8px;font-size:20px}.city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;text-align:left}.city-card{display:flex;min-height:164px;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:20px 18px;background:#102d33;border:3px solid #4faaa0;border-right-color:#245b5e;border-bottom-color:#245b5e;box-shadow:3px 4px #091517;color:var(--arcade-cream);text-align:left}.city-card:hover:not(:disabled),.city-card.selected{background:#17464c;border-color:var(--arcade-yellow);border-right-color:#b67b25;border-bottom-color:#b67b25}.city-card:focus-visible{outline-color:var(--arcade-yellow)}.city-card:disabled{cursor:default;opacity:.55;filter:saturate(.58)}.city-name{font:24px Russo One,sans-serif;letter-spacing:1px;color:var(--arcade-yellow)}.city-route{margin-top:9px;font-size:18px;line-height:1.1;color:#d7fff3}.city-status{margin-top:16px;font-size:18px;letter-spacing:1px;color:var(--arcade-cyan)}.city-card:disabled .city-status{color:#ffb64c}.city-actions{display:flex;align-items:center;justify-content:flex-start;gap:18px;margin-top:27px}.city-actions .secondary{margin:0;padding:9px 4px;font-size:23px}.city-menu>.press-start{margin-top:18px}@media(max-width:760px){.start-intro{padding-top:48px}.city-menu{padding:28px 16px 22px}.city-grid{grid-template-columns:1fr;gap:10px}.city-card{min-height:88px;padding:12px 14px}.city-card .city-route{margin-top:4px}.city-card .city-status{margin-top:5px}.city-actions{margin-top:20px}.city-actions .primary{min-width:0;flex:1}.city-actions .secondary{font-size:20px}.city-menu>.press-start{font-size:16px}}@media(max-width:550px){.start-intro .game-logo{height:205px;margin-bottom:12px}.start-intro .controls{margin-top:24px}.start-intro .menu-caption{margin-top:20px}.city-menu h2{margin-bottom:18px}.city-menu .route-label{font-size:17px}.city-name{font-size:21px}.city-route,.city-status{font-size:16px}}#graphics-loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center}#graphics-loader[hidden]{display:none}#loading-retry[hidden]{display:none!important}.loading-card{text-align:center;color:#fff2c7;padding:28px;width:min(420px,90vw);background:#0b2029ed;border:2px solid #64e0d2;box-shadow:5px 5px #071016}.loading-title{font-size:36px;letter-spacing:4px;color:#ffd447;margin-bottom:12px}#loading-stage{font-size:22px;min-height:28px}.loading-track{height:8px;background:#20383c;margin-top:20px;overflow:hidden}.loading-track i{display:block;width:35%;height:100%;background:#ff7137;animation:loading-sweep 1.1s ease-in-out infinite alternate}@keyframes loading-sweep{0%{transform:translate(-100%)}to{transform:translate(285%)}}@media(prefers-reduced-motion:reduce){.loading-track i{animation:none;width:100%}}.life-stock{position:fixed;left:50%;bottom:calc(var(--dash-height) - 31px);transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:10px;padding:7px 12px;background:#10181cf2;border:2px solid #746c65;box-shadow:0 2px 8px #000b;pointer-events:none}.life-label{font-size:19px;color:#fff2d0;letter-spacing:2px}.life-lights{display:flex;gap:9px}.life-light{display:block;width:20px;height:20px;border-radius:50%;border:2px solid #ff9f8d;background:radial-gradient(circle at 35% 30%,#ffe0cd 0,#ff7560 17%,#ff3028 48%,#ad090e);box-shadow:0 0 10px #ff352dcc,inset 0 0 3px #ffb69b}.life-light.off{background:#291c1b;border-color:#55413c;box-shadow:inset 0 2px 5px #000}.life-light.lost{animation:life-blink .55s steps(1,end) 3}.life-message{position:absolute;left:50%;top:-26px;transform:translate(-50%);white-space:nowrap;color:#fff0d0;font-size:22px;text-shadow:2px 2px #64100a}.life-stock.life-loss{border-color:#ff5b4f}@keyframes life-blink{0%,49%{background:#ff453a;border-color:#ffe2ce;box-shadow:0 0 18px #ff392e}50%,to{background:#291c1b;border-color:#55413c;box-shadow:none}}@media(max-width:550px){.life-stock{bottom:calc(var(--dash-height) + 5px);padding:5px 10px}.life-label{font-size:17px}.life-light{width:18px;height:18px}.life-message{font-size:19px}}@media(prefers-reduced-motion:reduce){.life-light.lost{animation:none;border-color:#ffb69b}.life-message{color:#ffb69b}}.life-stock{inset:54px 20px auto auto;transform:none}.life-message{top:100%;margin-top:5px}.pursuit{top:108px;right:20px}.life-stock.life-loss~.pursuit{opacity:0}@media(max-width:550px){.life-stock{inset:46px 10px auto auto;transform:none}.pursuit{top:91px;right:10px}.life-stock .life-label{font-size:16px}.life-lights{gap:7px}}.loading-signal{display:flex;flex-direction:column;gap:10px;background:#11171b;border:4px solid #343e42;border-radius:18px;width:70px;margin:20px auto 0;padding:10px;box-shadow:5px 5px #0008}.loading-signal i{width:42px;height:42px;border-radius:50%;display:block;background:#25302c;border:2px solid #48504b;box-shadow:inset 0 4px 8px #000}.loading-signal[data-signal=green] .signal-green{background:#6ce772;box-shadow:0 0 20px #3fe859}.loading-signal[data-signal=yellow] .signal-yellow{background:#ffdc54;box-shadow:0 0 20px #efc322}.loading-signal[data-signal=red] .signal-red{background:#ff4d3f;box-shadow:0 0 24px #ff3124}body[data-mode=start] #scene{background-color:#17131c;background-image:linear-gradient(90deg,#090a111a,#090a1105),var(--asset-menu-title-cities);background-position:center;background-size:cover}body[data-mode=city] #scene{background-color:#17131c;background-image:linear-gradient(90deg,#05081033,#0508100a),var(--asset-menu-city);background-position:center;background-size:cover}body[data-mode=start] #scene canvas,body[data-mode=city] #scene canvas{visibility:hidden}#start{background:linear-gradient(90deg,#0609110a,#06091133 72%,#06091180)}#city-screen{align-items:stretch;justify-content:stretch;text-align:left;background:linear-gradient(180deg,#05081014 10%,#0508100d 52%,#050810bd)}.city-menu{-webkit-text-size-adjust:100%;text-size-adjust:100%;position:relative;width:100%;height:100%;min-height:100%;padding:0;background:transparent;border:0;box-shadow:none;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.city-info{position:absolute;top:clamp(74px,12vh,128px);left:clamp(22px,7vw,108px);width:min(600px,52vw);text-shadow:3px 3px #11121b}.city-info .route-label{margin-bottom:12px;font-size:clamp(17px,1.8vw,24px);letter-spacing:3px}.city-info h2{margin:0;color:var(--arcade-cream);font:clamp(52px,7vw,100px)/.9 "Russo One",sans-serif;letter-spacing:-2px;text-shadow:5px 5px #11121b}.city-route-name{margin-top:16px;color:var(--arcade-yellow);font:clamp(23px,2.6vw,38px)/1 "Russo One",sans-serif;letter-spacing:2px}.city-info p{max-width:360px;margin:14px 0 0;color:#f2e8d0;font-size:clamp(18px,1.65vw,24px);line-height:1.15}.city-meta{display:flex;gap:18px;margin-top:23px;color:var(--arcade-cyan);font-size:16px;letter-spacing:2px}.city-selection{width:min(1020px,72vw);margin:0 0 clamp(22px,4vh,46px) clamp(22px,7vw,108px);text-align:left}.city-selection-label{margin-bottom:8px;color:#f9d87c;font-size:17px;letter-spacing:3px;text-shadow:2px 2px #11121b}.city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:left;min-width:0}.city-card{flex:1;min-width:0;min-height:108px;justify-content:flex-end;padding:15px 17px;background:#091d24e0;border-color:#61c3b4;border-right-color:#255c62;border-bottom-color:#255c62;box-shadow:3px 4px #071016;text-shadow:2px 2px #071016;transition:background .15s ease,border-color .15s ease,transform .15s ease}.city-card:hover:not(:disabled),.city-card.selected{background:#19484df2;border-color:var(--arcade-yellow);border-right-color:#b67b25;border-bottom-color:#b67b25;transform:translateY(-3px)}.city-card:disabled{opacity:.72;filter:saturate(.58)}.city-name{font-size:clamp(19px,1.9vw,28px)}.city-route{font-size:clamp(16px,1.35vw,20px)}.city-status{font-size:clamp(15px,1.3vw,19px)}.city-actions{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}.city-actions .secondary{margin:0;padding:0;font-size:22px;text-shadow:2px 2px #11121b}.city-actions .press-start{margin:0;font-size:16px}#graphics-loader{background:linear-gradient(90deg,#070a124d,#070c12c7),var(--asset-menu-city) center/cover no-repeat}.loading-card{background:#071b23f0;border-color:var(--arcade-cyan);box-shadow:5px 5px #050b11}.loading-title{color:var(--arcade-yellow)}@media(max-width:760px){body[data-mode=city] #scene{background-position:58% center}.city-menu{min-height:0;overflow-y:auto;overscroll-behavior:contain;justify-content:space-between;gap:24px;padding:62px 18px max(48px,env(safe-area-inset-bottom))}.city-info{position:static;flex:none;width:100%}.city-info .route-label{margin-bottom:9px;font-size:15px}.city-info h2{font-size:clamp(38px,11.5vw,64px);letter-spacing:-1px}.city-route-name{margin-top:11px;font-size:clamp(20px,5.5vw,25px);letter-spacing:1px}.city-info p{max-width:360px;margin-top:10px;font-size:18px;line-height:1.15}.city-meta{margin-top:12px;font-size:12px;gap:10px;letter-spacing:1.2px}body[data-mode=city] .city-selection{flex:none;width:100%;margin:0}.city-selection-label{font-size:14px;letter-spacing:1.5px}.city-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding:3px 0}.city-card{min-height:82px;padding:10px 11px;justify-content:center}.city-name{font-size:clamp(16px,4.5vw,21px);letter-spacing:0}.city-route{font-size:14px;line-height:1.05}.city-card .city-route{margin-top:5px}.city-card .city-status{display:none}.city-actions{margin-top:8px}.city-actions .secondary{min-height:44px;min-width:80px;text-align:left;font-size:19px}.city-actions .press-start{display:none}.city-card:hover:not(:disabled),.city-card.selected{transform:none}}@media(max-width:550px)and (max-height:650px){.city-menu{gap:14px;padding-top:56px;padding-bottom:38px}.city-info h2{font-size:38px}.city-info p{display:none}.city-meta{margin-top:9px}.city-card{min-height:74px;padding:8px 10px}}@media(min-width:560px)and (max-height:560px){.city-menu{min-height:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);align-items:start;gap:24px;overflow-y:auto;overscroll-behavior:contain;padding:56px max(20px,env(safe-area-inset-right)) 42px max(20px,env(safe-area-inset-left))}.city-info{position:static;width:100%}.city-info .route-label{font-size:14px;margin-bottom:10px}.city-info h2{font-size:clamp(30px,4.8vw,46px);letter-spacing:-1px}.city-route-name{font-size:20px;margin-top:12px;letter-spacing:1px}.city-info p{font-size:16px;margin-top:10px;line-height:1.1}.city-meta{font-size:12px;margin-top:12px;gap:8px;letter-spacing:1px;flex-wrap:wrap}body[data-mode=city] .city-selection{width:100%;margin:0}.city-selection-label{font-size:14px;letter-spacing:1px}.city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:visible;padding:3px 0}.city-card{min-height:82px;padding:9px 7px;justify-content:center}.city-name{font-size:16px;letter-spacing:0}.city-card .city-route{font-size:13px;line-height:1.05;margin-top:5px}.city-card .city-status{display:none}.city-actions{margin-top:8px}.city-actions .secondary{font-size:18px;min-height:44px;min-width:80px;text-align:left}.city-actions .press-start{display:none}}@media(max-width:550px){#graphics-loader{background-position:58% center}.loading-card{padding:22px 15px}.loading-title{font-size:31px}.loading-signal{margin-top:16px}}@media(prefers-reduced-motion:reduce){.city-card{transition:none}.city-card:hover:not(:disabled),.city-card.selected{transform:none}}.loading-signal[data-signal=loading] i{animation:loading-light-cycle 1.2s steps(1,end) infinite;will-change:opacity;opacity:.12;background:var(--signal-color);box-shadow:0 0 24px var(--signal-glow)}.loading-signal .signal-red{--signal-color:#ff4d3f;--signal-glow:#ff3124}.loading-signal .signal-yellow{--signal-color:#ffdc54;--signal-glow:#efc322}.loading-signal .signal-green{--signal-color:#6ce772;--signal-glow:#3fe859}.loading-signal[data-signal=loading] .signal-yellow{animation-delay:.4s}.loading-signal[data-signal=loading] .signal-green{animation-delay:.8s}@keyframes loading-light-cycle{0%,33.32%{opacity:1}33.33%,to{opacity:.12}}@media(prefers-reduced-motion:reduce){.loading-signal[data-signal=loading] i{animation:none}.loading-signal[data-signal=loading] .signal-yellow{opacity:1}}.maker-footer{display:none;position:fixed;left:0;right:0;bottom:12px;z-index:7;text-align:center;font-size:18px;letter-spacing:.4px}.maker-footer a{color:#fff2d0;text-decoration:underline;text-underline-offset:4px;text-shadow:0 2px 4px #000}.maker-footer a:hover{color:var(--arcade-yellow)}body[data-mode=start] .maker-footer,body[data-mode=city] .maker-footer{display:block}body[data-mode=city] .city-selection{margin-bottom:52px}body[data-loading=true] .maker-footer{display:none}@media(max-width:550px){.maker-footer{bottom:9px;font-size:16px}body[data-mode=city] .city-selection{margin-bottom:40px}}@media(max-width:760px),(min-width:560px)and (max-height:560px){body[data-mode=city] .city-selection{margin-bottom:0}}body{user-select:none;-webkit-user-select:none}@media(pointer:coarse){.cockpit{display:none}body[data-mode=playing] .help{display:none!important}.touch{position:fixed;display:block;height:210px;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:6;pointer-events:none;user-select:none;-webkit-user-select:none}.touch button{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:52px;height:52px;padding:3px;pointer-events:auto;touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#10232d65;border:1px solid #e3e8cf80;border-radius:50%;color:#fff0cb;box-shadow:0 1px 5px #0003;font-size:11px;line-height:1;text-shadow:0 1px 2px #000}.touch button img{width:29px;height:29px;object-fit:contain;pointer-events:none}.touch-boost{left:0;top:0}.touch-punch{right:0;top:0}.touch-kick{left:0;top:76px}.touch .touch-wheelie{left:50%;top:82px;transform:translate(-50%);width:82px;height:46px;border-radius:24px;flex-direction:row;gap:2px}.touch .touch-wheelie img{width:32px;height:30px}.touch-left{left:0;bottom:0}.touch-right{left:64px;bottom:0}.touch-brake{left:52%;bottom:0}.touch .touch-gas{right:0;bottom:0;width:70px;height:70px;background:#24574375;border-color:#dbefbaaa}.touch .touch-brake{background:#57362b65}.touch-gas img{width:35px!important;height:35px!important}.touch button.pressed{background:#d2ab477d;border-color:#fff0ad;box-shadow:0 0 12px #e8c26844}.touch .tilt-toggle{left:50%;top:2px;transform:translate(-50%);width:84px;height:44px;background:#10232d45;font-size:12px;border-color:#e3e8cf45;border-radius:22px}.touch .tilt-toggle[aria-pressed=true]{border-color:#b5e0a0;color:#c9f3b2}}@media(pointer:coarse)and (orientation:landscape){.touch{height:188px;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}.touch-boost{left:64px;top:0}.touch-punch{right:0;top:0}.touch-kick{left:0;top:64px}.touch .touch-wheelie{left:auto;right:140px;top:82px;transform:none;width:52px;height:52px;border-radius:50%;flex-direction:column}.touch-brake{left:auto;right:86px;bottom:0}.touch .tilt-toggle{top:auto;bottom:0}}.pause-box{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}@media(pointer:coarse){.touch button img{width:23px;height:23px;filter:grayscale(1) brightness(0) invert(94%) sepia(10%) saturate(280%);opacity:.95}.touch .touch-wheelie img{width:26px;height:26px}.touch .touch-gas img{width:28px!important;height:28px!important}}.mobile-telemetry{display:none}@media(pointer:coarse){.mobile-telemetry{display:flex;align-items:baseline;gap:7px;margin:3px 0 4px;color:#eee7cd;font-size:20px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.mobile-telemetry .speed-unit{font-size:14px;color:#c0cfc6}#mobile-speed{display:inline-block;min-width:3ch;text-align:right}#mobile-gear{color:#f7df8b}}.start-intro .game-logo{position:relative;left:50%;transform:translate(-50%);width:min(1000px,94vw);height:clamp(280px,40vh,390px);margin:0 0 12px}body[data-mode=start] .game-logo img{transform-origin:50% 58%;animation:logo-arrive .65s cubic-bezier(.2,.8,.2,1) both,logo-idle 4.2s ease-in-out .65s infinite}@keyframes logo-arrive{0%{opacity:0;transform:translateY(16px) scale(.91) rotate(-2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes logo-idle{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-.65deg) scale(1.015)}}@media(max-width:550px){.start-intro .game-logo{width:98vw;height:clamp(220px,30svh,265px);margin-bottom:12px}}@media(max-height:600px)and (min-width:551px){.start-intro .game-logo{height:clamp(180px,43vh,255px)}.start-intro{padding-top:8px;padding-bottom:8px}.start-intro .controls{margin-top:20px}}@media(prefers-reduced-motion:reduce){body[data-mode=start] .game-logo img{animation:none;transform:none}}.busted-art{display:none}#over.busted{background:#030706b8;padding:60px 20px 24px}#over.busted .result-card{width:min(960px,100%);max-height:calc(100dvh - 84px);padding:0;overflow:auto;border:1px solid #60766e;box-shadow:0 16px 70px #0009;background:#091511}#over.busted .result-scene{position:relative;aspect-ratio:1.7;min-height:300px;isolation:isolate;overflow:hidden;background:#080a09}#over.busted .busted-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;z-index:-2}#over.busted .result-scene:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#05090733 30%,#050907ed);z-index:-1;pointer-events:none}#over.busted .result-content{position:absolute;inset:auto 32px 24px}#over.busted #over-label{display:none}#over.busted h2{font-size:clamp(52px,7.5vw,96px);line-height:1;margin:0 0 24px;color:var(--arcade-yellow);letter-spacing:2px;text-shadow:3px 4px 0 #402419,0 4px 25px #000a}#over.busted .results{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;text-align:center;font-size:20px}#over.busted .results>div{display:flex;flex-direction:column;gap:4px;margin:0}#over.busted .results>div>span{color:#c8c8b4;letter-spacing:2px;font-size:17px}#over.busted .results strong{font-size:30px;line-height:1;color:#f4ebd0;font-variant-numeric:tabular-nums}#over.busted .result-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 24px;border-top:1px solid #71807544}#over.busted .result-actions button{display:block;min-width:0;width:100%;min-height:46px;margin:0;padding:10px 8px;font-size:22px;letter-spacing:1px;text-align:center;box-shadow:none;border:1px solid #71807566}#over.busted .result-actions .secondary{background:transparent;color:#d0d5c7}#over.busted .result-actions .secondary:hover{background:#26352c;color:#fff5cf}@media(max-width:600px){#over.busted{padding:58px 12px 20px}#over.busted .result-card{max-height:calc(100dvh - 78px)}#over.busted .result-scene{aspect-ratio:1.12;min-height:290px}#over.busted .result-content{inset:auto 12px 20px}#over.busted h2{font-size:56px;margin-bottom:20px}#over.busted .results{gap:8px}#over.busted .results>div>span{font-size:14px;letter-spacing:1px}#over.busted .results strong{font-size:24px}#over.busted .result-actions{gap:8px;padding:12px}#over.busted .result-actions button{font-size:17px;letter-spacing:0;padding:10px 4px}}@media(max-height:550px)and (min-width:601px){#over.busted{padding:48px 16px 12px}#over.busted .result-card{width:min(760px,100%);max-height:calc(100dvh - 60px)}#over.busted .result-scene{aspect-ratio:auto;height:calc(100dvh - 132px);min-height:220px}#over.busted .result-content{bottom:16px}#over.busted h2{font-size:52px;margin-bottom:14px}#over.busted .result-actions{padding:12px 20px}}.ride-mode-picker{display:flex;gap:8px;margin-bottom:9px}.ride-mode{flex:1;padding:11px 14px;background:#10211de6;border:1px solid #6a8b7c;color:#c6d5c7;font-size:24px;letter-spacing:2px}.ride-mode.selected{background:var(--arcade-yellow);border-color:var(--arcade-yellow);color:#142016}.ride-mode-hint{font-size:16px;letter-spacing:1px;color:#c7cab1;margin-bottom:20px}.race-hud{position:absolute;top:16px;left:50%;transform:translate(-50%);display:grid;grid-template-columns:1fr 1fr 1fr;width:340px;gap:14px;padding:10px 18px 15px;background:#09201be8;border-top:3px solid var(--arcade-yellow);text-align:center}.race-hud>div>span{display:block;font-size:14px;letter-spacing:1.5px;color:#b9c9b9}.race-hud strong{display:block;font-size:30px;line-height:1.15;color:#f8e8b5;font-variant-numeric:tabular-nums;white-space:nowrap}.race-hud .race-distance strong{font-size:22px;line-height:1.6}.race-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#283c30}.race-progress i{display:block;width:0;height:100%;background:var(--arcade-yellow)}.race-hud.running-out #race-clock{color:#ff8059}.race-countdown{position:absolute;z-index:20;top:40%;left:50%;transform:translate(-50%,-50%);font:clamp(120px,16vw,220px)/1 "Russo One",sans-serif;color:var(--arcade-yellow);text-shadow:6px 8px #102219,0 0 24px #0008;pointer-events:none}.racer-marker{position:absolute;transform:translate(-50%,-100%);padding:3px 7px;background:#071710dc;color:#fff2ce;border-bottom:3px solid var(--racer-color);font-size:16px;white-space:nowrap;text-shadow:1px 1px #000}.race-results{margin-top:20px;text-align:left}.race-results p{font-size:17px;letter-spacing:1px;color:#b6c5b7;text-align:center;margin:0 0 14px}.race-results ol{list-style:none;padding:0;margin:0}.race-results li{display:grid;grid-template-columns:30px 1fr auto;gap:12px;padding:6px 12px;border-bottom:1px solid #78917a28;font-size:22px}.race-results .is-player{background:#eed057;color:#172417;border-color:transparent}#over.race-result .result-card{width:min(660px,92vw);padding:26px}#over.race-result h2{margin:8px 0 20px;font-size:48px}#over.race-result .route-label{margin-bottom:8px;font-size:18px}#over.race-result .results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;font-size:19px}#over.race-result .results>div{display:flex;flex-direction:column;gap:4px;text-align:center;margin:0}#over.race-result .results strong{font-size:24px}#over.race-result .result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}#over.race-result .result-actions button{display:block;margin:0;padding:10px 8px;min-height:44px;min-width:0;width:100%;font-size:23px;text-align:center;box-shadow:none}#over.race-result .result-actions .secondary{border:1px solid #68857266}#over.busted.race-session .result-actions{grid-template-columns:repeat(4,1fr)}body[data-ride-mode=race] #objective{display:none}@media(max-width:600px){.ride-mode{font-size:21px;padding:10px}.ride-mode-hint{font-size:14px;letter-spacing:0;margin-bottom:14px}.race-hud{top:112px;width:calc(100% - 32px);max-width:360px;gap:8px;padding:7px 12px 12px}.race-hud strong{font-size:26px}.race-hud>div>span{font-size:12px;letter-spacing:1px}.race-hud .race-distance strong{font-size:21px;line-height:1.4}body[data-ride-mode=race] #toast{top:34%;font-size:18px}.racer-marker{font-size:13px;padding:2px 5px}#over.race-result .result-card{padding:20px 16px}#over.race-result h2{font-size:39px;margin-bottom:16px}#over.race-result .results{font-size:15px;gap:8px}#over.race-result .results strong{font-size:21px}.race-results p{font-size:14px;letter-spacing:0}.race-results li{font-size:19px;padding:5px 9px}#over.race-result .result-actions{margin-top:18px}#over.race-result .result-actions button{font-size:20px}#over.busted.race-session .result-actions{grid-template-columns:1fr 1fr}}@media(max-height:500px)and (min-width:601px){.race-hud{top:12px;width:310px;padding:5px 10px 8px}.race-hud strong{font-size:24px}.race-hud>div>span{font-size:12px}.race-hud .race-distance strong{font-size:19px}}body[data-mode=city] .city-menu{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:24px;overflow-y:auto;overscroll-behavior:contain;padding:clamp(72px,10vh,110px) clamp(24px,7vw,108px) 48px}body[data-mode=city] .city-info{position:static;flex:none;width:min(760px,75vw)}.city-info h2{font-size:clamp(48px,6vw,84px);line-height:.98;letter-spacing:-1.5px;color:var(--arcade-yellow)}.city-info .route-label{font-size:18px;margin-bottom:12px}.city-route-name{font-size:clamp(21px,2.1vw,30px);line-height:1.15;letter-spacing:1px;margin-top:16px;color:var(--arcade-cream)}.city-info p{max-width:510px;font-size:24px;line-height:1.2;margin-top:18px}.city-meta{display:none}body[data-mode=city] .city-selection{flex:none;width:100%;margin:auto 0 0;padding:18px 24px 0;background:transparent}.ride-mode-row{display:flex;align-items:center;gap:20px;margin-bottom:14px}.ride-mode-picker{flex:0 0 270px;margin:0;gap:0}.ride-mode{font-size:21px;letter-spacing:1px;padding:9px 18px;min-height:44px}.ride-mode-hint{margin:0;font-size:16px;line-height:1.2;letter-spacing:.5px;color:#dedcc4;max-width:420px}.city-selection-label{font-size:14px;letter-spacing:2px;margin-bottom:8px}.city-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px}.city-grid .city-card{position:relative;min-height:52px;padding:8px 8px 8px 34px;justify-content:center;background:transparent;border:0;box-shadow:none;color:var(--arcade-cream);text-shadow:3px 3px #060a10;transform:none;transition:color .12s}.city-grid .city-card:before{content:"➜";position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:30px;color:var(--arcade-yellow);visibility:hidden}.city-grid .city-card.selected,.city-grid .city-card:hover{color:var(--arcade-yellow);background:transparent;transform:none}.city-grid .city-card.selected:before{visibility:visible}.city-grid .city-name{color:inherit;font-family:VT323,monospace;font-size:clamp(25px,2.7vw,40px);letter-spacing:1px;line-height:1}.city-grid .city-route{display:none}.city-actions{margin-top:8px;min-height:44px}.city-actions .secondary{min-height:44px;font-size:22px}@media(max-width:760px){body[data-mode=city] .city-menu{gap:24px;padding:70px 20px 42px}body[data-mode=city] .city-info{width:100%}.city-info h2{font-size:clamp(39px,9vw,60px)}.city-info .route-label{font-size:15px;margin-bottom:10px}.city-route-name{font-size:21px;margin-top:12px}.city-info p{display:block;font-size:20px;max-width:390px;margin-top:12px}body[data-mode=city] .city-selection{padding:14px 12px 0}.ride-mode-row{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}.ride-mode-picker{flex:0 0 auto;width:100%}.ride-mode-hint{font-size:14px;max-width:none}.city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px}.city-grid .city-card{min-height:48px;padding-left:22px;padding-right:0}.city-grid .city-card:before{font-size:22px}.city-grid .city-name{font-size:25px;letter-spacing:0}.city-selection-label{font-size:12px;letter-spacing:1px}.city-actions .secondary{font-size:19px}}@media(max-height:560px)and (min-width:560px){body[data-mode=city] .city-menu{display:flex;gap:16px;padding:52px 28px 32px}body[data-mode=city] .city-info{width:100%}.city-info .route-label{display:none}.city-info h2{font-size:36px}.city-route-name{font-size:19px;margin-top:6px}.city-info p{display:none}body[data-mode=city] .city-selection{padding:8px 16px 0}.ride-mode-row{flex-direction:row;align-items:center;gap:16px;margin-bottom:4px}.ride-mode-picker{flex:0 0 230px;width:auto}.ride-mode{font-size:18px;padding:6px 12px}.ride-mode-hint{font-size:13px}.city-selection-label{display:none}.city-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.city-grid .city-card{min-height:44px;padding-top:4px;padding-bottom:4px}.city-grid .city-name{font-size:26px}.city-actions{margin-top:0;min-height:32px}.city-actions .secondary{min-height:32px;font-size:18px}}.race-hud{background:#08120ff2;border:2px solid #ecdc70;border-top:4px solid #ffe64d;width:390px;gap:16px;padding:9px 16px 13px;box-shadow:0 3px 12px #0007}.race-hud>div>span{font-size:16px;color:#fff;letter-spacing:1px}.race-hud strong{font-size:42px;color:#fff;line-height:1.1}.race-hud #race-position{color:#ffe64d}.race-hud .race-distance strong{font-size:29px;line-height:1.6}.race-hud.running-out #race-clock{color:#ff675c}#minimap{position:absolute;left:18px;bottom:calc(var(--dash-height) + 14px);width:160px;height:176px;pointer-events:none;filter:drop-shadow(0 2px 3px #0008)}.help{bottom:16px!important;font-size:18px;z-index:9}@media(max-width:600px){.race-hud{width:calc(100% - 24px);gap:8px;padding:8px 10px 12px}.race-hud strong{font-size:34px}.race-hud>div>span{font-size:14px}.race-hud .race-distance strong{font-size:25px}#minimap{left:7px;bottom:218px;width:108px;height:119px}}@media(max-height:500px)and (min-width:601px){.race-hud{width:340px}.race-hud strong{font-size:32px}#minimap{width:100px;height:110px}}.maker-footer{left:18px!important;right:18px!important;bottom:12px!important;width:auto!important;transform:none!important;display:none;justify-content:space-between;font-size:16px!important;letter-spacing:.3px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:14px}.primary .menu-cursor{position:static!important;margin:0!important;transform:none!important;display:inline-block;font-size:.65em;line-height:1;flex:none}.help{left:20px!important;right:20px!important;width:auto!important;transform:none!important;display:flex;justify-content:space-between;background:none;border:0;text-align:left;pointer-events:none;line-height:1.25}.help>span{padding:6px 10px;background:#092428dc;border:1px solid #3aa79e}.help>span:last-child{text-align:right}@media(max-width:600px){.maker-footer{left:12px!important;right:12px!important;font-size:14px!important}}body[data-mode=start] .maker-footer,body[data-mode=city] .maker-footer{display:flex}#graphics-loader{background:linear-gradient(90deg,#071014ec 10%,#071014b0 65%,#07101480),var(--asset-menu-city) center/cover no-repeat}.loading-card{position:relative;width:min(780px,88vw);padding:36px 40px 28px;text-align:left;background:#081b20ed;border:0;border-left:7px solid #ffe348;box-shadow:12px 12px #0007}.loading-kicker{display:flex;align-items:center;gap:12px;color:#7df3e0;font-size:21px;letter-spacing:2px}#loading-route-number{margin-left:auto;color:#f5eed3;font-size:16px;letter-spacing:1px}.loading-checker{width:28px;height:20px;background:repeating-conic-gradient(#fff2ce 0% 25%,transparent 0% 50%) 0/10px 10px}.loading-title{font-family:Russo One,sans-serif;font-size:clamp(36px,6.5vw,76px);letter-spacing:-2px;line-height:1.05;color:#ffe348;margin:30px 0 10px;overflow-wrap:anywhere;text-shadow:3px 4px #0008}#loading-route{font-size:22px;color:#fff3ce;letter-spacing:1px;line-height:1.2}.loading-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:40px 0 24px;border-top:1px solid #7dd9ca45;padding-top:26px}.loading-callout{font:28px/1.2 Russo One,sans-serif;color:#fff3ce}#loading-rules{font-size:19px;color:#8fc7bf;margin-top:8px}.loading-signal{flex-direction:row;gap:12px;border:3px solid #3f5654;border-radius:9px;width:auto;margin:0;padding:10px;background:#061010;box-shadow:4px 5px #0008}.loading-signal i{width:34px;height:34px;border:2px solid #33433e}.loading-track{height:12px;margin:0;background:#020c0e;border:2px solid #496057;transform:skew(-18deg)}.loading-track i{width:var(--load-progress,8%);background:repeating-linear-gradient(90deg,#ffe348 0 16px,#c5ab30 16px 19px);animation:none;transform:none;transition:width .3s ease-out}.loading-status{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:#ffe348}#loading-stage{font-size:18px;min-height:22px;letter-spacing:1px}.loading-dots{letter-spacing:5px;font-size:22px}.loading-tip{margin-top:30px;font-size:17px;letter-spacing:1px;color:#94b7ac}#loading-retry{margin-top:18px}.race-hud{gap:3px;padding:4px 4px 10px;background:#071916;border:0;border-bottom:3px solid #f5f0cf;box-shadow:4px 5px #06120db3}.race-hud>div:not(.race-progress){padding:5px 4px 3px;background:#ffe348}.race-hud>div:nth-child(2){background:#6be9e2}.race-hud>div:nth-child(3){background:#ffac59}.race-hud>div>span{color:#173027;text-shadow:none;font-weight:700}.race-hud strong,.race-hud #race-position{color:#071b16;text-shadow:none}.race-hud.running-out>div:nth-child(2){background:#ff5345}.race-hud.running-out #race-clock{color:#fff8dc;text-shadow:1px 2px #7a1710}.race-hud .race-progress{left:4px;right:4px;bottom:3px;background:#344a3b}.race-hud .race-progress i{background:#ffe348}@media(max-width:600px){.loading-card{width:90vw;padding:24px 22px 22px;border-left-width:5px}.loading-kicker{font-size:16px;gap:8px;letter-spacing:1px}#loading-route-number{font-size:13px}.loading-title{font-size:clamp(32px,10vw,52px);margin-top:26px;letter-spacing:-1px}#loading-route{font-size:19px}.loading-grid{margin-top:26px;gap:14px;align-items:flex-start;flex-direction:column;padding-top:22px}.loading-callout{font-size:24px}#loading-rules{font-size:17px}.loading-signal{align-self:flex-end;padding:7px;gap:10px}.loading-signal i{width:27px;height:27px}.loading-tip{font-size:14px;margin-top:24px}#loading-stage{font-size:15px}.race-hud{padding:3px 3px 10px;gap:3px}.race-hud>div:not(.race-progress){padding:4px 2px 2px}}@media(max-height:500px)and (min-width:601px){.loading-card{padding:18px 28px;width:min(720px,90vw)}.loading-title{font-size:42px;margin-top:14px}.loading-grid{margin:16px 0;padding-top:14px}.loading-tip{margin-top:12px}}@media(prefers-reduced-motion:reduce){.loading-track i{transition:none}}body[data-mode=start] .game-logo img{animation:mayhem-arrive .8s cubic-bezier(.16,.85,.24,1) both,mayhem-idle 5s ease-in-out .8s infinite;filter:drop-shadow(0 7px 3px #001b29aa) drop-shadow(0 0 13px #06dcee30)}body[data-mode=start] .game-logo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 36%,#fff9c900 42%,#fffde9c9 48%,#fff 50%,#fff9c900 58%,transparent 65%);background-size:350% 100%;mask:var(--asset-logo) center/contain no-repeat;-webkit-mask:var(--asset-logo) center/contain no-repeat;mix-blend-mode:screen;opacity:0;animation:mayhem-sweep 6s ease-in-out 1.1s infinite,mayhem-idle 5s ease-in-out .8s infinite}@keyframes mayhem-arrive{0%{opacity:0;transform:translate(-70px,14px) scale(.88) rotate(-4deg)}65%{opacity:1;transform:translate(7px,-3px) scale(1.025) rotate(.6deg)}to{opacity:1;transform:translate(0) scale(1) rotate(0)}}@keyframes mayhem-idle{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-.35deg)}}@keyframes mayhem-sweep{0%,9%{background-position:100% 0;opacity:0}12%{opacity:.75}29%{background-position:0% 0;opacity:0}to{background-position:0% 0;opacity:0}}@media(prefers-reduced-motion:reduce){body[data-mode=start] .game-logo img{animation:none;transform:none}body[data-mode=start] .game-logo:after{display:none;animation:none}}.about-game-button{margin-right:auto}body:not([data-mode=start]):not([data-mode=city]) .about-game-button{display:none}.about-dialog{position:fixed;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:40px 36px 34px;background:#092329;color:#fff0cf;border:0;border-top:5px solid #ffe348;box-shadow:8px 9px #020a0dcc;text-align:left}.about-dialog::backdrop{background:#010c13c9;backdrop-filter:blur(5px)}.about-close{position:absolute;right:14px;top:14px}.about-kicker{font-size:16px;letter-spacing:2px;color:#67e7e0;margin:0 35px 12px 0}.about-dialog h2{font:clamp(25px,5vw,34px)/1.15 "Russo One",sans-serif;letter-spacing:-.5px;margin:0 0 26px;color:#ffe348}.about-dialog p{font-size:25px;line-height:1.3;margin:0 0 20px;letter-spacing:0;text-shadow:none}.about-website{display:inline-flex;align-items:center;gap:14px;margin-top:8px;font-size:20px;color:#72f0e5;text-decoration:underline;text-underline-offset:5px}.about-website:hover{color:#ffe348}@media(max-width:600px){.about-game-button{font-size:14px;padding:5px 7px}.about-dialog{padding:36px 24px 28px}.about-dialog p{font-size:23px}}.mobile-dashboard{display:contents}@media(pointer:coarse){.mobile-dashboard{position:absolute;display:grid;grid-template-columns:minmax(104px,.8fr) minmax(0,1.7fr) auto;align-items:stretch;gap:3px;top:calc(max(6px,env(safe-area-inset-top)) + 44px);left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));padding:4px;background:#09201bf2;border-bottom:2px solid #6be9e2;box-shadow:0 3px 10px #02090788}.mobile-dashboard .score-panel{position:static;min-width:0;padding:2px 5px 1px;display:grid;grid-template-columns:auto 1fr;column-gap:6px;background:#102b29}.mobile-dashboard .score-panel .label{font-size:10px;grid-column:1}.mobile-dashboard .score{font-size:22px;letter-spacing:1px;grid-column:1}.mobile-dashboard .mobile-telemetry{grid-column:2;grid-row:1 / 3;align-self:center;margin:0;font-size:18px;gap:4px}.mobile-dashboard .mobile-telemetry .speed-unit{font-size:11px}.mobile-dashboard .combo{grid-column:1;grid-row:3;font-size:12px;margin:0}.mobile-dashboard .combo-line{grid-column:2;grid-row:3;width:100%;height:3px;align-self:center;margin:0}.mobile-dashboard .life-stock{position:static;transform:none;align-self:center;padding:3px 2px 2px;gap:3px;background:none;border:0;box-shadow:none;flex-direction:column}.mobile-dashboard .life-label{font-size:10px;letter-spacing:1px}.mobile-dashboard .life-lights{gap:3px}.mobile-dashboard .life-light{width:12px;height:12px}.mobile-dashboard .life-message{position:absolute;top:100%;right:0;font-size:16px}.mobile-dashboard .race-hud{position:relative;grid-column:auto;grid-row:auto;top:auto;left:auto;transform:none;width:auto;max-width:none;box-shadow:none;border:0;padding:0 0 5px;gap:2px;align-self:stretch}.mobile-dashboard .race-hud strong{font-size:22px;line-height:1.05}.mobile-dashboard .race-hud>div>span{font-size:10px;letter-spacing:.7px}.mobile-dashboard .race-hud .race-distance strong{font-size:18px;line-height:1.25}.mobile-dashboard .race-hud>div:not(.race-progress){padding:3px 2px 2px}.pursuit{top:126px;right:10px}.ride-objective{top:116px;max-width:90vw;font-size:14px}}@media(pointer:coarse){.touch{--button:72px;--step:80px;height:228px;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.touch button{width:var(--button);height:var(--button);font-size:14px}.touch button img{width:36px;height:36px}.touch .touch-boost{left:0;right:auto;top:0}.touch .touch-wheelie{left:var(--step);right:auto;top:0;transform:none;width:var(--button);height:var(--button);border-radius:50%;flex-direction:column}.touch .touch-kick{left:0;right:auto;top:var(--step)}.touch .touch-punch{left:var(--step);right:auto;top:var(--step)}.touch .touch-brake{inset:auto 0 96px auto;width:88px;height:72px}.touch .touch-left{left:0;top:auto;bottom:0}.touch .touch-right{left:var(--step);top:auto;bottom:0}.touch .touch-gas{right:0;bottom:0;width:88px;height:88px}.touch .tilt-toggle{inset:auto 0 178px auto;transform:none;width:88px;height:44px}#minimap{left:auto;right:12px;bottom:274px;width:72px;height:80px}}@media(pointer:coarse)and (orientation:landscape){.mobile-dashboard{top:52px;left:50%;right:auto;transform:translate(-50%);width:290px;padding:4px}.touch{--button:70px;--step:78px;height:222px}.touch .touch-gas{width:86px;height:86px}.pursuit{top:110px}.ride-objective{top:106px}#minimap{bottom:246px;right:16px;width:65px;height:72px}}@media(pointer:coarse){.controls,.press-start,.pause-controls,body[data-mode=playing] .help{display:none!important}}@media(pointer:coarse)and (orientation:landscape)and (max-width:740px){.mobile-dashboard{top:52px;width:270px}}@media(pointer:coarse){body[data-mode=playing] .topbar,body[data-mode=paused] .topbar{top:max(6px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));min-height:44px;padding:0 4px;background:#071916f2;border-bottom:2px solid #6be9e2;box-shadow:0 3px 10px #02090788}body[data-mode=playing] .utilities,body[data-mode=paused] .utilities{width:100%;gap:0;justify-content:flex-end}body[data-mode=playing] .utilities .icon-btn,body[data-mode=paused] .utilities .icon-btn{min-height:44px;padding:5px 7px;background:transparent;box-shadow:none}body[data-mode=playing] .utilities .icon-btn+.icon-btn,body[data-mode=paused] .utilities .icon-btn+.icon-btn{border-left:1px solid #6be9e255}}@media(pointer:fine){html,body{cursor:var(--asset-cursor-arrow) 2 2,default}button,a,[role=button]{cursor:var(--asset-cursor-hand) 10 2,pointer}}@media(max-width:559px)and (max-height:680px){body[data-mode=city] .city-menu{padding-top:60px;gap:14px}.city-info p{display:none}.city-info h2{font-size:36px}.city-route-name{font-size:19px;margin-top:8px}.city-info .route-label{font-size:13px;margin-bottom:8px}.ride-mode-row{margin-bottom:8px}}.ride-mode-picker{position:relative;isolation:isolate;gap:0;padding:4px;background:#071b1aeb;border:0;border-radius:0;clip-path:var(--pixel-edge);box-shadow:inset 0 2px #698879,inset 0 -2px #304c40}.ride-mode-picker:before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/2);border-radius:0;clip-path:var(--pixel-edge);background:var(--arcade-yellow);transition:transform .18s ease}body[data-ride-mode=free] .ride-mode-picker:before{transform:translate(100%)}.ride-mode-picker .ride-mode{position:relative;min-width:0;border:0;border-radius:0;clip-path:var(--pixel-edge);padding:10px 14px;font-family:VT323,monospace;font-size:23px;line-height:1;letter-spacing:1px;background:transparent;color:#dce8d4;box-shadow:none;text-shadow:none;transition:color .18s ease}.ride-mode-picker .ride-mode.selected{background:transparent;color:#142016;box-shadow:none;text-shadow:none}.ride-mode-picker .ride-mode:hover{filter:none;color:#fff9dd}.ride-mode-picker .ride-mode.selected:hover{color:#142016}.ride-mode-picker .ride-mode:focus-visible{outline:2px solid #fff9dd;outline-offset:-3px;box-shadow:none}.selection-step-label{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:#fff1c7;font-size:18px;line-height:1;letter-spacing:1px;text-shadow:1px 1px #071b1a}.selection-step-label span{color:#a9bdb0;font-size:14px;letter-spacing:1.5px}@media(max-height:560px)and (min-width:560px){.ride-mode-picker .ride-mode{font-size:20px;padding:8px 12px}.selection-step-label{font-size:16px;margin-bottom:5px}}@media(prefers-reduced-motion:reduce){.ride-mode-picker:before,.ride-mode-picker .ride-mode{transition:none}}:root{--pixel-edge:polygon(8px 0, calc(100% - 8px) 0, calc(100% - 8px) 4px, calc(100% - 4px) 4px, calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px) , calc(100% - 4px) calc(100% - 8px) , calc(100% - 4px) calc(100% - 4px) , calc(100% - 8px) calc(100% - 4px) , calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px) ,4px calc(100% - 4px) ,4px calc(100% - 8px) ,0 calc(100% - 8px) ,0 8px,4px 8px,4px 4px,8px 4px)}body button,body .touch button,body .touch .touch-wheelie,body .touch .tilt-toggle{clip-path:var(--pixel-edge);border-radius:0}body button:focus-visible{outline:0;box-shadow:inset 0 0 0 3px #fff3a0}body .primary,body .icon-btn{border:0;box-shadow:inset 0 3px #6bc8b4,inset 3px 0 #6bc8b4,inset -3px 0 #071b1a,inset 0 -3px #071b1a}body .icon-btn{padding:8px 10px}body .secondary{background:#112923cc;padding:10px 18px;box-shadow:inset 0 2px #547e70,inset 0 -3px #071b1a}body .city-actions .secondary{padding:8px 14px}body .touch button{border:0;box-shadow:inset 0 3px #c8dec799,inset 3px 0 #c8dec766,inset -3px 0 #06151299,inset 0 -3px #061512bb}body .touch button.pressed{box-shadow:inset 0 0 0 4px #ffe34d}body .pause-box,body #over .result-card,body .about-dialog,body .loading-card{clip-path:var(--pixel-edge);border-radius:0;border:0;box-shadow:inset 0 4px #71b9a6,inset 4px 0 #71b9a6,inset -4px 0 #04130f,inset 0 -4px #04130f}body .pause-box h2,body #over h2,body .about-dialog h2,body .loading-title{font-family:VT323,monospace;font-weight:400;font-size:clamp(56px,8vw,112px);line-height:.9;letter-spacing:1px;text-shadow:4px 0 #071915,0 4px #071915,4px 4px #071915,6px 6px #020b09}body .pause-box h2{margin:14px 0 28px}body .about-dialog h2{font-size:clamp(42px,6vw,58px)}body .loading-title{font-size:clamp(48px,8vw,88px)}body .loading-callout{font-family:VT323,monospace;font-size:36px}body[data-mode] #toast{width:max-content;max-width:min(1120px,calc(100vw - 40px));padding:10px 20px;font-family:VT323,monospace;font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1;letter-spacing:1px;white-space:normal;text-align:center;color:#ffe34d;background:#071b20df;clip-path:var(--pixel-edge);box-shadow:inset 0 3px #ffe34d,inset 0 -3px #8f671c;text-shadow:2px 0 #061311,0 2px #061311,3px 3px #000}body[data-mode] #toast:empty{display:none}@media(max-width:600px){body .icon-btn{padding:8px 6px;font-size:13px}body .pause-box h2,body #over h2{font-size:clamp(52px,14vw,76px);letter-spacing:0}body[data-mode] #toast{max-width:calc(100vw - 24px);font-size:32px;padding:10px 12px;letter-spacing:0}}@media(pointer:coarse)and (orientation:landscape)and (max-height:560px){body[data-mode] #toast{top:39%;max-width:52vw;font-size:30px}}@media(pointer:coarse){body[data-mode=playing] #toast{top:calc(max(6px,env(safe-area-inset-top)) + 102px);left:calc(max(8px,env(safe-area-inset-left)) + 4px);transform:none;width:max-content;max-width:min(214px,calc(100vw - 20px));overflow:hidden;padding:4px 7px;font-size:16px;line-height:.95;letter-spacing:0;text-align:left;text-overflow:ellipsis;white-space:nowrap;z-index:3;box-shadow:inset 0 2px #ffe34d,inset 0 -2px #8f671c}}@media(pointer:coarse)and (orientation:landscape){body[data-mode=playing] #toast{top:112px;left:calc(50% - 141px);width:max-content;max-width:220px;padding:3px 5px;font-size:15px}}body .race-countdown{font-family:VT323,monospace;font-weight:400;text-shadow:4px 4px #071915,7px 7px #020b09}body[data-mode=city] .city-menu{width:min(1280px,100%);margin-inline:auto;padding:78px 28px 40px;gap:22px}body[data-mode=city] .city-info{width:min(760px,100%)}body[data-mode=city] .city-selection{width:100%;padding:0;margin:auto 0 0}.city-menu-back{position:absolute;top:14px;left:28px}.city-menu-back .secondary{margin:0;min-height:40px;font-size:20px}body[data-mode=city] .about-game-button{display:none}.city-actions{justify-content:flex-end;min-height:30px;margin-top:8px}.ride-mode-row{margin-bottom:10px}.difficulty-row{display:flex;gap:8px;width:min(390px,100%);margin:0 0 18px}.difficulty-row[hidden]{display:flex;visibility:hidden;pointer-events:none}.difficulty-option{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;padding:8px 12px;border:0;background:#112923e6;color:#dde5cc;font-size:22px;box-shadow:inset 0 3px #547e70,inset 0 -3px #071b1a}.difficulty-option span{font-size:14px;white-space:nowrap;color:#b8cbb8}.difficulty-option.selected{background:var(--arcade-yellow);color:#142016;box-shadow:inset 0 3px #fff3a0,inset 0 -3px #b98a18}.difficulty-option.selected span{color:#344126}.difficulty-option:hover{filter:brightness(1.12)}@media(max-width:760px){body[data-mode=city] .city-menu{padding:72px 20px 38px;gap:18px}.city-menu-back{left:20px;top:10px}.city-menu-back .secondary{font-size:18px;padding:8px 12px}.difficulty-row{width:100%;margin-bottom:14px}.difficulty-option{padding:7px 8px;font-size:21px;gap:3px;flex-direction:column}.difficulty-option span{font-size:13px}.city-actions{display:none}}@media(max-width:559px)and (max-height:680px){body[data-mode=city] .city-menu{padding-top:64px;gap:12px}.difficulty-row{margin-bottom:10px}.difficulty-option{min-height:42px}.city-info .route-label{display:none}}@media(max-height:560px)and (min-width:560px){body[data-mode=city] .city-menu{padding:58px 28px 28px;gap:12px}body[data-mode=city] .city-info h2{font-size:32px}.city-route-name{font-size:17px;margin-top:4px}.ride-mode-row{margin-bottom:6px}.difficulty-row{width:350px;margin-bottom:6px}.difficulty-option{min-height:36px;font-size:19px;padding:6px 10px;flex-direction:row;gap:6px}.city-actions{display:none}}#menu-art{position:fixed;inset:0;overflow:hidden;pointer-events:none;--parallax-x:0;--parallax-y:0}body:not([data-mode=start]) #menu-art{display:none}body[data-mode=start] #scene{background-image:none}.menu-art-background{position:absolute;inset:-18px;background:var(--asset-menu-background) center/cover no-repeat;transform:translate(calc(var(--parallax-x)*-6px),calc(var(--parallax-y)*-4px))}.menu-art-left,.menu-art-right{position:absolute;bottom:-28px;height:99%;width:auto;max-width:42vw;object-fit:contain;object-position:bottom;filter:drop-shadow(0 8px 12px #17131c55)}.menu-art-left{left:-3vw;transform:translate(calc(var(--parallax-x)*12px),calc(var(--parallax-y)*7px))}.menu-art-right{right:-3vw;transform:translate(calc(var(--parallax-x)*18px),calc(var(--parallax-y)*10px))}#start{background:linear-gradient(0deg,#080d1888,transparent 35%)}body[data-mode=start] .game-logo img{animation:none;transform:none}body[data-mode=start] .game-logo:after{animation:mayhem-sweep 6s ease-in-out 1.1s infinite}@media(max-width:760px)and (orientation:portrait){.menu-art-background{background-position:48% top}.menu-art-left,.menu-art-right{height:auto;width:65vw;max-width:none;bottom:-4vh}.menu-art-left{left:-18vw}.menu-art-right{right:-17vw}#start{align-items:flex-start;background:linear-gradient(0deg,#080d1877,transparent 30%,#080d1833 70%)}.start-intro{padding:68px 8px 0;transform:none;width:100%}.start-intro .game-logo{width:98vw;height:clamp(190px,29svh,290px);margin-bottom:0}.start-intro .menu-options{margin-top:0}.start-intro .controls{display:none}.start-intro .press-start{margin-top:12px}}@media(max-height:600px)and (orientation:landscape){.menu-art-left,.menu-art-right{height:106%;max-width:35vw}.start-intro .game-logo{width:65vw;height:43svh;margin-bottom:0}.start-intro .controls{margin-top:15px;gap:16px}}#over .result-card{max-height:calc(100dvh - 88px);overflow:auto}.result-personality{margin:18px 0;text-align:center}#result-rank{display:block;color:var(--arcade-yellow);font-size:30px;line-height:1.1}.result-personality p{margin:7px 0 0;font-size:21px;line-height:1.15}#result-offences{color:var(--arcade-cream);font-size:18px}#result-offences:empty{display:none}#result-joke{color:var(--arcade-cyan)}#over .result-actions,#over.busted.race-session .result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}#over .result-actions button{min-width:0;width:100%;margin:0;font-size:22px;padding:10px 6px;text-align:center}#over .result-actions button:disabled{opacity:.55;cursor:wait}#over.busted .result-scene{aspect-ratio:auto;min-height:380px;height:auto;padding:140px 24px 16px}#over.busted .result-content{position:relative;inset:auto}#over.busted h2{font-size:64px;margin-bottom:18px}#over.busted .result-scene:after{inset:0;background:linear-gradient(#05090711,#050907dd 42%,#050907)}#share-status{font-size:18px;color:var(--arcade-cyan);margin:8px 18px}#share-status:empty{display:none}#share-options{padding:16px;max-width:460px;margin:auto}#share-preview{width:100%;height:auto;display:block}.share-tools{display:flex;gap:12px;justify-content:center;margin:14px 0}.share-tools .primary{display:flex;align-items:center;justify-content:center;flex:1;min-width:140px;min-height:44px;padding:10px 12px;font:20px VT323;letter-spacing:0;text-align:center;text-decoration:none;clip-path:var(--pixel-edge)}.share-tools a:focus-visible{outline:0;box-shadow:inset 0 0 0 3px #fff3a0}#share-caption{width:100%;min-height:100px;background:#091b18;color:var(--arcade-cream);border:1px solid #60766e;padding:10px;font:16px/1.4 sans-serif;resize:vertical}@media(max-width:600px){#over.busted .result-scene{padding:105px 12px 16px;min-height:360px}#over.busted h2{font-size:50px}#result-rank{font-size:26px}#over .result-actions button{font-size:20px}}@media(max-height:500px){#over.busted .result-scene{padding-top:35px;min-height:310px}}.online-count{margin-top:12px;color:#c9d7bd;font:600 12px/1.4 monospace;letter-spacing:.04em;text-shadow:0 1px 4px #102521}.online-count[hidden]{display:none}#over .result-secondary-actions{grid-column:1/-1;display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:2px}#over .result-secondary-actions button{flex:1;min-width:90px;min-height:32px;width:auto;padding:6px 8px;font-size:17px;letter-spacing:0;border:0;background:transparent;color:#c8c8b4;box-shadow:none}#over .result-secondary-actions button:hover{color:var(--arcade-yellow);background:#26352c}#over.busted .result-actions{grid-template-columns:1fr 1fr}#over.race-result .result-secondary-actions button,#over.busted .result-secondary-actions button{flex:1;min-width:90px;min-height:32px;width:auto;padding:6px 4px;font-size:16px;letter-spacing:0;border:0;background:transparent;box-shadow:none}#share-options{max-width:600px;border-top:1px solid #60766e}.share-picker-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;color:var(--arcade-yellow);font-size:25px}#close-share{background:transparent;border:1px solid #60766e;padding:7px 10px;font-size:18px}.share-platforms{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.share-platforms a{display:block;padding:14px 10px;background:#19332e;border:1px solid #60766e;color:var(--arcade-yellow);font-size:23px;text-decoration:none}.share-platforms a:hover{background:#27483e}.share-platforms small{display:block;font:14px/1.4 sans-serif;color:var(--arcade-cream);margin-top:8px}#platform-help{font-size:19px;line-height:1.3;color:var(--arcade-cyan)}#share-preview{max-width:260px;margin:auto}.share-tools{flex-wrap:wrap;gap:8px}@media(max-width:600px){.share-platforms{grid-template-columns:1fr}.share-platforms a{font-size:21px;padding:10px}.share-platforms small{font-size:13px;margin-top:4px}}dialog#share-options{width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:22px;background:#102725;color:var(--arcade-cream);border:2px solid #71b9a6;box-shadow:0 20px 80px #0009;overflow:auto;text-align:center}dialog#share-options::backdrop{background:#020b0bba}dialog#share-options:not([open]){display:none}@media(max-width:600px){dialog#share-options{padding:16px;max-height:calc(100dvh - 32px)}}.difficulty-row{position:relative;isolation:isolate;gap:0;padding:4px;background:#071b1aeb;clip-path:var(--pixel-edge);box-shadow:inset 0 2px #698879,inset 0 -2px #304c40}.difficulty-row:before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/3);background:var(--arcade-yellow);clip-path:var(--pixel-edge);transition:transform .18s ease}body[data-difficulty=medium] .difficulty-row:before{transform:translate(100%)}body[data-difficulty=hard] .difficulty-row:before{transform:translate(200%)}.difficulty-row .difficulty-option,.difficulty-row .difficulty-option.selected{background:transparent;box-shadow:none}.difficulty-row .difficulty-option:hover{filter:none;color:#fff9dd}.difficulty-row .difficulty-option.selected:hover{color:#142016}.difficulty-row .difficulty-option:focus-visible{box-shadow:inset 0 0 0 2px #fff9dd}@media(prefers-reduced-motion:reduce){.difficulty-row:before{transition:none}}.mode-options{position:relative;display:flow-root}.free-ride-details{position:absolute;inset:0 0 auto;display:flex;align-items:center;width:min(390px,100%);height:calc(100% - 18px);color:#dedcc4;font-size:16px;line-height:1.2;letter-spacing:.5px}.free-ride-details[hidden]{display:none}body[data-ride-mode=free] .ride-mode-hint{visibility:hidden}@media(max-width:760px){.free-ride-details{width:100%;height:calc(100% - 14px);font-size:14px}}@media(max-width:559px)and (max-height:680px){.free-ride-details{height:calc(100% - 10px)}}@media(max-height:560px)and (min-width:560px){.free-ride-details{height:calc(100% - 6px)}}.graphics-setting{max-width:390px;margin:12px 0 18px;text-align:left}.graphics-label{font-size:17px;color:var(--arcade-cream);margin-bottom:6px;letter-spacing:1px}.graphics-options{display:flex;gap:0;padding:4px;background:#071b1aeb;clip-path:var(--pixel-edge);box-shadow:inset 0 2px #698879,inset 0 -2px #304c40}.graphics-option{flex:1;min-width:0;min-height:44px;padding:8px 6px;border:0;background:transparent;color:#dde5cc;font:20px VT323,monospace;clip-path:var(--pixel-edge)}.graphics-option.selected{background:var(--arcade-yellow);color:#142016}.graphics-option:hover{color:#fff9dd}.graphics-option.selected:hover{color:#142016}.graphics-option:focus-visible{box-shadow:inset 0 0 0 2px #fff9dd}.graphics-hint{min-height:18px;margin-top:6px;font-size:14px;color:#b8c9bb;letter-spacing:.3px}#pause-screen .pause-box{max-height:calc(100dvh - 32px);overflow-y:auto}@media(max-width:559px){.graphics-option{font-size:18px}.graphics-hint{font-size:13px}.graphics-setting{margin:10px 0 14px}}body[data-mode=playing] #settings-menu,body[data-mode=paused] #settings-menu,body[data-mode=over] #settings-menu{display:none}.settings-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:28px;background:#092329;color:var(--arcade-cream);border:0;clip-path:var(--pixel-edge);box-shadow:inset 0 4px #71b9a6,inset 4px 0 #71b9a6,inset -4px 0 #04130f,inset 0 -4px #04130f;overflow-y:auto}.settings-dialog::backdrop{background:#020b0bcc}.settings-dialog h2{margin:0 0 26px;color:var(--arcade-yellow);font:42px/1 VT323,monospace}.settings-dialog .graphics-setting{max-width:none;margin:0 0 26px}.settings-dialog .primary{display:block;min-width:0;width:100%;text-align:center;font-size:24px}@media(max-width:559px){.settings-dialog{padding:24px 16px}.settings-dialog h2{font-size:36px}}.topbar{pointer-events:none}.topbar button{pointer-events:auto}body .icon-btn,body .screen button,body dialog button{min-width:44px;min-height:44px;touch-action:manipulation}body .icon-btn,body .screen .secondary,body dialog button{clip-path:none}body .city-menu-back .secondary{min-height:44px}#pause-screen .secondary{width:100%;margin:10px auto}#pause-screen .primary{max-width:100%;min-width:0;width:100%}@media(max-width:559px){body[data-mode=city] .topbar{left:124px;right:10px}body[data-mode=city] .utilities{flex-wrap:wrap;justify-content:flex-end;gap:6px}body[data-mode=city] .city-menu{padding-top:120px}}#pause-screen{padding:72px 12px 12px}#pause-screen .pause-box{max-height:calc(100dvh - 84px)}@media(max-height:500px){#pause-screen .pause-box{padding:16px 24px}#pause-screen .pause-box h2{font-size:36px;margin:6px 0 12px}#pause-screen .pause-controls{display:none}}#pause-screen{background:#04120d2e}#pause-screen .pause-box{width:min(400px,calc(100vw - 40px));padding:22px 24px;background:#0b2329b8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:inset 0 2px #71b9a6aa,inset 2px 0 #71b9a6aa,inset -2px 0 #04130f99,inset 0 -2px #04130f99}#pause-screen .route-label{font-size:18px;letter-spacing:2px}#pause-screen .pause-box h2{font-size:54px;margin:8px 0 18px;line-height:1}#pause-screen .primary{font-size:28px;padding:7px 12px;min-height:44px;margin:0 0 6px}#pause-screen .secondary{font-size:22px;padding:5px 12px;min-height:44px;margin:4px 0;background:#0b232052}#pause-screen .pause-controls{font-size:14px;line-height:1.3;margin-top:16px}@media(max-height:500px){#pause-screen .pause-box{padding:14px 20px}#pause-screen .pause-box h2{font-size:36px;margin:4px 0 10px}#pause-screen .secondary{margin:2px 0}}#pause-screen .pause-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}#pause-screen #retry-pause{grid-column:1 / -1}#pause-screen .pause-actions .secondary{margin:0;font-size:20px;padding:7px 6px}#pause-screen{align-items:flex-end;justify-content:flex-end;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) 16px;background:transparent}#pause-screen .pause-box{max-height:calc(100dvh - 88px)}@media(max-width:559px){#pause-screen{padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) 12px}#pause-screen .pause-box{width:min(360px,calc(100vw - 24px))}}#pause-screen .pause-logo{position:fixed;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));width:140px;height:auto;pointer-events:none;filter:drop-shadow(0 2px 3px #0008)}@media(max-width:559px){#pause-screen .pause-logo{top:64px;left:max(12px,env(safe-area-inset-left));width:100px}}.menu-links{display:flex;gap:5px;margin-right:auto;align-items:center}.menu-links .about-game-button{margin-right:0}body:not([data-mode=start]):not([data-mode=city]) .menu-links{display:none}@media(max-width:600px){.menu-links{flex-direction:column;align-items:flex-start;flex-shrink:0;margin-right:12px}.topbar{align-items:flex-start}.utilities{flex-wrap:wrap;justify-content:flex-end}}#pause-screen .pause-actions .secondary{background:var(--control-green);color:var(--control-ink);box-shadow:inset 0 2px #4aa3a8,inset 0 -2px #092d32;text-shadow:none}#pause-screen .pause-actions .secondary:hover,#pause-screen .pause-actions .secondary:focus-visible{background:var(--control-green-hover);color:var(--control-ink)}#over.race-result .result-card{display:flex;flex-direction:column;width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px 24px 16px;overflow:hidden}#over.race-result .result-scene{display:flex;flex:none;overflow:visible}#over.race-result .result-content{display:flex;flex:none;flex-direction:column;width:100%}#over.race-result .route-label{margin-bottom:6px}#over.race-result h2{margin:4px 0 14px}#over.race-result .results{flex:none}#over.race-result .result-personality{flex:none;margin:10px 0}#over.race-result .result-personality p{margin-top:4px}#over.race-result .race-results{display:flex;flex:none;flex-direction:column;margin-top:10px;max-height:min(320px,39vh);overflow:hidden}#over.race-result .race-results p{flex:none;margin-bottom:8px}#over.race-result .race-results ol{flex:0 1 auto;max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#64e0d2 #102725}#over.race-result #leaderboard-result{flex:none}#over.race-result .result-actions{flex:none;margin-top:12px}#over.race-result .result-secondary-actions .secondary,#over.busted .result-secondary-actions .secondary{background:var(--control-green);color:var(--control-ink);box-shadow:inset 0 2px #4aa3a8,inset 0 -2px #092d32;text-shadow:none}#over.race-result .result-secondary-actions .secondary:hover,#over.race-result .result-secondary-actions .secondary:focus-visible,#over.busted .result-secondary-actions .secondary:hover,#over.busted .result-secondary-actions .secondary:focus-visible{background:var(--control-green-hover);color:var(--control-ink)}#over.busted .result-card{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);overflow:hidden}#over.busted .result-scene{position:relative;z-index:0;aspect-ratio:1.55;min-height:360px;height:auto;padding:190px 28px 20px;overflow:hidden}#over.busted .busted-art{z-index:0}#over.busted .result-scene:after{z-index:1}#over.busted .result-content{position:relative;z-index:2}#over.busted .result-actions{flex:none}#over.busted .result-personality{margin-bottom:0}@media(max-width:600px){#over.race-result .result-card{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px 12px 12px}#over.race-result h2{margin:3px 0 10px}#over.race-result .result-personality{margin:7px 0}#over.race-result .race-results{max-height:39vh}#over.race-result .result-actions{margin-top:10px}#over.race-result .result-actions button{font-size:20px}#over.busted .result-card{max-height:calc(100dvh - 24px)}#over.busted .result-scene{aspect-ratio:auto;min-height:390px;padding:125px 12px 16px}}@media(max-height:560px)and (min-width:601px){#over.race-result .result-card{max-height:calc(100dvh - 20px);padding:12px 20px 10px}#over.race-result .result-personality{margin:5px 0}#over.race-result .race-results{margin-top:6px}#over.race-result .result-actions{margin-top:7px}#over.busted .result-scene{min-height:300px;padding-top:135px}}#over.race-result h2{order:-2}#over.race-result .route-label{order:-1}#over.race-result .result-personality{display:block;text-align:center;font:21px/1.2 VT323,monospace;color:var(--arcade-cyan)}#over.race-result .result-personality #result-rank,#over.race-result .result-personality #result-joke{display:inline;font:inherit;color:inherit;margin:0}#over.race-result #result-joke:not(:empty):before{content:" · "}#over.race-result #result-leaderboard{background:var(--control-green);color:var(--control-ink);box-shadow:inset 0 2px #4aa3a8,inset 0 -2px #092d32;text-shadow:none;border:0}#over.race-result #result-leaderboard:hover,#over.race-result #result-leaderboard:focus-visible{background:var(--control-green-hover);color:var(--control-ink)}@media(min-width:701px){#over.race-result .result-card{width:min(920px,calc(100vw - 32px))}#over.race-result .result-content{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(5,auto);width:100%}#over.race-result .route-label{grid-column:1;grid-row:2;margin:6px 0 0;text-align:center}#over.race-result h2{grid-column:1;grid-row:1;margin:0;text-align:center}#over.race-result .results{grid-column:1;grid-row:3;gap:8px;margin-top:16px}#over.race-result .result-personality{grid-column:1/-1;grid-row:4;margin:14px 0 0;text-align:center}#over.race-result .race-results{grid-column:1/-1;grid-row:5;align-self:stretch;min-height:0;max-height:min(280px,34vh);margin:18px 0 0}#over.race-result .race-results ol{flex:1 1 auto;min-height:0;max-height:none}#over.race-result #leaderboard-result{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"label retry view" "ranks retry view";align-items:center;column-gap:12px;padding-top:10px;margin-top:12px}#over.race-result #leaderboard-result-label{grid-area:label;text-align:left}#over.race-result #leaderboard-ranks{grid-area:ranks;text-align:left;margin:2px 0;font-size:19px}#over.race-result #leaderboard-submit-retry{grid-area:retry;margin:0}#over.race-result #result-leaderboard{grid-area:view;margin:0}#over.race-result #leaderboard-result .secondary{font-size:18px;min-height:40px}}@media(max-width:700px){#over.race-result .result-card{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px 12px 12px}#over.race-result .result-content{display:flex;width:100%}#over.race-result .race-results{max-height:39vh;min-height:0}#over.race-result .race-results ol{flex:0 1 auto;max-height:100%}#over.race-result #leaderboard-result{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label view" "ranks view" "retry retry";align-items:center;column-gap:10px;padding-top:9px;margin-top:10px}#over.race-result #leaderboard-result-label{grid-area:label}#over.race-result #leaderboard-ranks{grid-area:ranks;margin:2px 0;font-size:18px}#over.race-result #leaderboard-submit-retry{grid-area:retry;margin:4px auto 0}#over.race-result #result-leaderboard{grid-area:view;margin:0}#over.race-result #leaderboard-result .secondary{font-size:18px;min-height:40px}}@media(min-width:0px){body:is([data-mode=playing],[data-mode=paused]){--hud-edge:max(8px,env(safe-area-inset-top));--hud-left:max(8px,env(safe-area-inset-left));--hud-right:max(8px,env(safe-area-inset-right));--hud-score-width:clamp(250px,36vw,440px);--hud-controls-width:220px;--hud-surface:#101c22eb;--hud-border:#b8c9be55;--hud-ink:#eee7cd}body:is([data-mode=playing],[data-mode=paused]) .topbar{top:var(--hud-edge);left:auto;right:var(--hud-right);width:var(--hud-controls-width);min-height:0;padding:0;background:none;border:0;box-shadow:none}body:is([data-mode=playing],[data-mode=paused]) .utilities{width:100%;display:flex;flex-wrap:nowrap;gap:4px}body:is([data-mode=playing],[data-mode=paused]) .utilities .icon-btn{flex:1;min-width:44px;min-height:44px;padding:5px;font-size:16px;background:var(--hud-surface);color:var(--hud-ink);border:1px solid var(--hud-border);border-radius:4px;box-shadow:0 2px 5px #02090740}body:is([data-mode=playing],[data-mode=paused]) .utilities .icon-btn:hover{background:#293a40;color:#ffe348}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard{position:absolute;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;top:var(--hud-edge);left:var(--hud-left);right:auto;transform:none;width:var(--hud-score-width);padding:8px;background:var(--hud-surface);border:1px solid var(--hud-border);border-radius:4px;box-shadow:0 2px 5px #02090740}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .score-panel{position:static;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:2px 8px;min-width:0;padding:0;background:none;border:0;box-shadow:none;text-shadow:none}body:is([data-mode=playing],[data-mode=paused]) .score-panel .label{grid-column:1;font-size:14px;letter-spacing:1px}body:is([data-mode=playing],[data-mode=paused]) .score-panel .score{grid-column:2;font-size:26px;letter-spacing:1px;line-height:1;color:#ffe348}body:is([data-mode=playing],[data-mode=paused]) .score-panel .combo{grid-column:3;grid-row:1;margin:0;font-size:16px;text-align:right}body:is([data-mode=playing],[data-mode=paused]) .score-panel .combo-line{grid-column:1/-1;grid-row:2;width:100%;margin:0;height:3px;border:0}body:is([data-mode=playing],[data-mode=paused]) .score-panel .mobile-telemetry{display:none}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .life-stock{position:relative;inset:auto;transform:none;grid-column:2;grid-row:1;display:flex;flex-direction:column;align-self:center;gap:3px;padding:0;background:none;border:0;box-shadow:none}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .life-label{font-size:14px;letter-spacing:1px}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .life-lights{gap:4px}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .life-light{width:18px;height:18px}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .life-message{position:absolute;top:100%;right:0;font-size:14px}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-hud{position:relative;inset:auto;transform:none;grid-column:1/-1;grid-row:2;width:auto;max-width:none;gap:8px;padding:7px 0 5px;background:none;border:0;border-top:1px solid var(--hud-border);box-shadow:none}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-hud>div:not(.race-progress){padding:0;background:none}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-hud>div>span{font-size:14px;letter-spacing:0;color:#b8c9be;font-weight:400}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-hud strong{font-size:24px;line-height:1.1;color:var(--hud-ink);text-shadow:none}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-hud #race-position{color:#ffe348}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-hud.running-out #race-clock{color:#ff8059}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-progress{left:0;right:0;bottom:0;height:2px}body:is([data-mode=playing],[data-mode=paused]) #toast,body:is([data-mode=playing],[data-mode=paused]) #objective{top:var(--hud-edge);left:calc(var(--hud-left) + var(--hud-score-width) + 8px);right:calc(var(--hud-right) + var(--hud-controls-width) + 8px);transform:none;width:auto;max-width:none;padding:12px 8px;min-height:44px;font:18px/1.1 VT323,monospace;letter-spacing:0;text-align:center;white-space:normal;overflow-wrap:anywhere;color:#ffe348;background:var(--hud-surface);border:1px solid var(--hud-border);border-radius:4px;box-shadow:0 2px 5px #02090740;text-shadow:none}body:is([data-mode=playing],[data-mode=paused]) #toast{z-index:3}body:is([data-mode=playing],[data-mode=paused]) .pursuit{top:calc(var(--hud-edge) + 52px);right:var(--hud-right)}}@media(orientation:landscape)and (max-width:740px){body:is([data-mode=playing],[data-mode=paused]){--hud-score-width:250px;--hud-controls-width:188px}body:is([data-mode=playing],[data-mode=paused]) .utilities .icon-btn{font-size:14px;padding:3px}body:is([data-mode=playing],[data-mode=paused]) #toast,body:is([data-mode=playing],[data-mode=paused]) #objective{font-size:16px;padding:8px 4px}}@media(orientation:portrait){body:is([data-mode=playing],[data-mode=paused]){--hud-score-width:calc(100vw - var(--hud-left) - var(--hud-right) - 104px);--hud-controls-width:96px}body:is([data-mode=playing],[data-mode=paused]) .utilities{display:grid;grid-template-columns:1fr 1fr;gap:4px}body:is([data-mode=playing],[data-mode=paused]) .utilities .icon-btn{font-size:14px;padding:4px 2px}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard{gap:8px;padding:8px}body:is([data-mode=playing],[data-mode=paused]) .score-panel{column-gap:4px}body:is([data-mode=playing],[data-mode=paused]) .score-panel .label{grid-column:1;grid-row:1;font-size:14px}body:is([data-mode=playing],[data-mode=paused]) .score-panel .score{grid-column:1;grid-row:2;font-size:26px}body:is([data-mode=playing],[data-mode=paused]) .score-panel .combo{grid-column:2;grid-row:2}body:is([data-mode=playing],[data-mode=paused]) .score-panel .combo-line{grid-row:3}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-hud{gap:4px}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-hud>div>span{font-size:13px}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard .race-hud strong{font-size:22px}body:is([data-mode=playing],[data-mode=paused]) #toast,body:is([data-mode=playing],[data-mode=paused]) #objective{top:calc(var(--hud-edge) + 132px);left:var(--hud-left);right:var(--hud-right);width:fit-content;max-width:calc(100vw - var(--hud-left) - var(--hud-right));padding:8px 12px;font-size:24px;min-height:0;text-align:left}body:is([data-mode=playing],[data-mode=paused]) .pursuit{top:calc(var(--hud-edge) + 182px)}}body .utilities #fullscreen{order:10}body[data-mode=start] .topbar,body[data-mode=city] .topbar{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}body[data-mode=start] #settings-menu{position:fixed;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left))}body[data-mode=start] .utilities{gap:4px;flex-wrap:nowrap}body[data-mode=start] .topbar .icon-btn{min-height:44px;min-width:44px;padding:6px 8px;background:#101c22eb;border:1px solid #b8c9be55;border-radius:4px;box-shadow:0 2px 5px #02090740;font-size:16px}body[data-mode=start] .menu-links{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(max(15px,env(safe-area-inset-bottom)) + 32px);display:flex;flex-direction:row;justify-content:space-between;margin:0}body[data-mode=start] .start-intro{transform:translateY(24px)}@media(orientation:portrait){body[data-mode=start] .start-intro{padding:0 8px;transform:none;position:absolute;top:20svh}body[data-mode=start] .start-intro .game-logo{height:30svh}body[data-mode=start] .start-intro .menu-options{margin-top:9svh}body:is([data-mode=playing],[data-mode=paused]) .utilities #fullscreen{order:0;grid-column:2;grid-row:1}body:is([data-mode=playing],[data-mode=paused]) .utilities #audio{grid-column:1;grid-row:1}body:is([data-mode=playing],[data-mode=paused]) .utilities #music{grid-column:1;grid-row:2}body:is([data-mode=playing],[data-mode=paused]) .utilities #pause{grid-column:2;grid-row:2}}body:is([data-mode=playing],[data-mode=paused]) #toast{clip-path:none}:root{--control-green:#a2d4b9;--control-green-hover:#c1ecd1;--control-orange:#ff873e;--control-orange-hover:#ffa56c;--control-ink:#10261e}body[data-mode] .topbar .icon-btn,body[data-mode] .city-menu-back .secondary{background:var(--control-green);color:var(--control-ink);border:1px solid #def4db;border-radius:4px;box-shadow:0 2px #294b3c;text-shadow:none;min-height:44px;min-width:44px;font-size:16px;padding:6px 8px}body[data-mode] .topbar .icon-btn:hover,body[data-mode] .city-menu-back .secondary:hover{background:var(--control-green-hover);color:var(--control-ink)}body[data-mode] .topbar #pause,body[data-mode] #select-city{background:var(--control-orange);color:var(--control-ink);border-color:#ffc38f}body[data-mode] .topbar #pause:hover,body[data-mode] #select-city:hover{background:var(--control-orange-hover)}body[data-mode=city] .topbar{left:auto;width:auto}body[data-mode=city] .utilities{display:flex;flex-wrap:nowrap;gap:4px}body[data-mode=city] .menu-links{position:fixed;top:60px;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));margin:0;display:block}body[data-mode=city] #leaderboard-menu{width:100%}body[data-mode=city] .city-menu-back{position:fixed;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));z-index:8}body[data-mode=city] .city-menu{padding-top:124px;padding-bottom:24px;gap:20px}body[data-mode=city] .city-selection{margin-top:auto}body[data-mode=city] .ride-mode-picker,body[data-mode=city] .difficulty-row{background:#101c22e8;border:1px solid #a2d4b970;border-radius:4px;clip-path:none;box-shadow:none;padding:2px;gap:2px}body[data-mode=city] .ride-mode-picker:before,body[data-mode=city] .difficulty-row:before{display:none}body[data-mode=city] .ride-mode,body[data-mode=city] .difficulty-option{min-height:44px;padding:4px 8px;font-size:18px;letter-spacing:0;border-radius:2px;clip-path:none;box-shadow:none;background:transparent;color:#e7f1e5;flex-direction:row;gap:6px}body[data-mode=city] .ride-mode.selected,body[data-mode=city] .difficulty-option.selected{background:var(--control-green);color:var(--control-ink);box-shadow:none}body[data-mode=city] .difficulty-option span{color:inherit;font-size:13px}body[data-mode=city] .ride-mode-row{margin-bottom:6px;gap:6px}body[data-mode=city] .difficulty-row{margin-bottom:16px}body[data-mode=city] .selection-step-label{font-size:16px;margin-bottom:6px}body[data-mode=city] .selection-step-label span{display:none}body[data-mode=city] .city-grid{gap:8px}body[data-mode=city] .city-grid .city-card{min-height:52px;padding:10px 8px;background:var(--control-green);color:var(--control-ink);text-shadow:none;border:1px solid #def4db;border-radius:4px;box-shadow:0 2px #294b3c}body[data-mode=city] .city-grid .city-card:before{display:none}body[data-mode=city] .city-grid .city-card.selected,body[data-mode=city] .city-grid .city-card:hover{background:var(--control-orange);color:var(--control-ink);border-color:#ffc38f}body[data-mode=city] .city-grid .city-name{font-size:26px;letter-spacing:0}@media(orientation:portrait){body[data-mode=start] .start-intro{top:28svh}body[data-mode=start] .start-intro .game-logo{height:clamp(160px,25svh,300px)}body[data-mode=start] .start-intro .menu-options{margin-top:0}}@media(max-width:760px),(pointer:coarse){body[data-mode=city] .footer{display:none}body[data-mode=city] .city-menu{padding:120px 12px 16px}body[data-mode=city] .city-info p{font-size:18px;line-height:1.2;margin:10px 0 0}body[data-mode=city] .city-route-name{font-size:20px;margin-top:8px}body[data-mode=city] .city-selection{margin-top:16px}body[data-mode=city] .city-info h2{font-size:40px}body[data-mode=city] .city-info .route-label{font-size:14px;margin-bottom:6px}body[data-mode=city] .topbar .icon-btn,body[data-mode=city] .city-menu-back .secondary{font-size:14px;padding:4px 6px}}@media(orientation:landscape)and (max-height:600px){body[data-mode=city] .city-menu{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.5fr);align-content:start;gap:12px;padding:116px 12px 16px}body[data-mode=city] .city-selection{margin:0}body[data-mode=city] .city-info h2{font-size:32px}body[data-mode=city] .ride-mode-hint{display:none}body[data-mode=city] .ride-mode-row,body[data-mode=city] .difficulty-row{width:100%}body[data-mode=city] .ride-mode-picker{flex:1}body[data-mode=city] .city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-mode=city] .city-grid .city-name{font-size:22px}body[data-mode=city] .city-grid .city-card{min-height:44px;padding:6px}}body[data-mode] :is(.screen,dialog,.topbar,.touch) button{border-radius:4px;clip-path:none;text-shadow:none}body[data-mode] :is(.screen,dialog) :is(.primary,.secondary),body[data-mode] #over .result-actions button,body[data-mode] #over .result-secondary-actions button,body[data-mode] .touch button,body[data-mode] dialog :is(.icon-btn,#close-share){background:var(--control-green);color:var(--control-ink);border:1px solid #def4db;box-shadow:0 2px #294b3c}body[data-mode] :is(.screen,dialog) .primary,body[data-mode] #over .result-actions .primary,body[data-mode] .touch .touch-gas{background:var(--control-orange);color:var(--control-ink);border-color:#ffc38f;box-shadow:0 2px #81411e}body[data-mode] :is(.screen,dialog) :is(.primary,.secondary):hover,body[data-mode] #over .result-actions button:hover,body[data-mode] #over .result-secondary-actions button:hover{filter:brightness(1.08);color:var(--control-ink)}body[data-mode] .touch button img{filter:brightness(0) saturate(100%) opacity(.88)}body[data-mode] .touch button.pressed{background:#ffe0a2;border-color:#fff0cc;box-shadow:inset 0 2px 3px #81411e55}body[data-mode] :is(.screen,dialog,.topbar,.touch) button:focus-visible{outline:3px solid #fff0bd;outline-offset:3px}body[data-mode] :is(.screen,dialog) button:disabled{opacity:.55;cursor:default}@media(orientation:landscape)and (max-height:380px)and (pointer:coarse){.touch{--button:52px;--step:58px;height:168px}.touch button img{width:26px;height:26px}.touch button{font-size:12px}.touch .touch-gas{width:64px;height:64px}.touch .touch-brake{width:64px;height:52px;bottom:72px}.touch .tilt-toggle{width:64px;height:44px;min-height:44px;bottom:132px}}@media(pointer:coarse)and (orientation:landscape){.touch{--button:clamp(44px,calc((100dvh - 160px)/3),70px);--step:calc(var(--button) + 6px);height:calc(var(--button)*3 + 12px)}.touch button{width:var(--button);height:var(--button);font-size:clamp(12px,3.4vh,14px)}.touch button img{width:calc(var(--button)*.48);height:calc(var(--button)*.48)}.touch .touch-gas{width:calc(var(--button) + 12px);height:calc(var(--button) + 12px)}.touch .touch-brake{width:calc(var(--button) + 12px);height:var(--button);bottom:calc(var(--button) + 20px)}.touch .tilt-toggle{width:calc(var(--button) + 12px);height:44px;min-height:44px;bottom:calc(var(--button)*2 + 28px);font-size:12px}}@media(max-width:760px),(pointer:coarse){body[data-mode=city] footer.footer,body[data-mode=city] .footer{display:none!important}}body[data-mode] .graphics-options{clip-path:none;border-radius:4px;box-shadow:none;border:1px solid #a2d4b970}body[data-mode] .graphics-option{border-radius:2px;clip-path:none}body[data-mode] .graphics-option.selected{background:var(--control-green);color:var(--control-ink)}:root{--control-green:#124b50;--control-green-hover:#19616a;--control-orange:#99350f;--control-orange-hover:#b74717;--control-ink:#fff0c9;--control-edge:polygon(0 4px,4px 4px,4px 0, calc(100% - 4px) 0, calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px) , calc(100% - 4px) calc(100% - 4px) , calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px) ,0 calc(100% - 4px) )}body[data-mode] :is(.screen,dialog,.topbar,.touch) button,body[data-mode] .city-grid .city-card,body[data-mode] .ride-mode-picker,body[data-mode] .difficulty-row,body[data-mode] .graphics-options{border-radius:0;clip-path:var(--control-edge)}body[data-mode] .topbar .icon-btn,body[data-mode] .city-menu-back .secondary,body[data-mode] :is(.screen,dialog) :is(.primary,.secondary),body[data-mode] #over .result-actions button,body[data-mode] #over .result-secondary-actions button,body[data-mode] .touch button,body[data-mode] dialog :is(.icon-btn,#close-share),body[data-mode] .city-grid .city-card{border:0;box-shadow:inset 0 2px #4aa3a8,inset 0 -2px #092d32}body[data-mode] :is(.screen,dialog) .primary,body[data-mode] .topbar #pause,body[data-mode] #over .result-actions .primary,body[data-mode] .touch .touch-gas,body[data-mode] .city-grid .city-card.selected,body[data-mode] .city-grid .city-card:hover{box-shadow:inset 0 2px #ed8542,inset 0 -2px #582207}body[data-mode] .touch button img{filter:none}body[data-mode] .touch button.pressed{background:#1d6970;color:#fff0c9;box-shadow:inset 0 2px #0c353b}body:is([data-mode=playing],[data-mode=paused]) .mobile-dashboard,body:is([data-mode=playing],[data-mode=paused]) #toast,body:is([data-mode=playing],[data-mode=paused]) #objective{border-radius:0;clip-path:var(--control-edge)}@media(max-width:760px),(pointer:coarse){body[data-mode=city] .maker-footer{display:none!important}body[data-mode=city] .city-selection{margin-bottom:0}}:root{--control-green:#236b68;--control-green-hover:#2b7c78;--control-orange:#b94b1b;--control-orange-hover:#cc5924;--control-edge:var(--pixel-edge)}body[data-mode] .touch button img{filter:brightness(0) invert(1)}@media(orientation:portrait)and (max-height:680px){body[data-mode=city] .city-menu{padding:112px 12px 8px;gap:8px}body[data-mode=city] .city-info h2{font-size:32px}body[data-mode=city] .city-route-name{font-size:16px;margin-top:4px}body[data-mode=city] .city-info p,body[data-mode=city] #mode-step-label{display:none}body[data-mode=city] .city-selection{margin:0}body[data-mode=city] .ride-mode-row{gap:4px;margin-bottom:4px}body[data-mode=city] .difficulty-row{margin-bottom:8px}body[data-mode=city] .selection-step-label{margin:0 0 4px;font-size:14px}body[data-mode=city] .city-grid{gap:6px}body[data-mode=city] .city-grid .city-card{min-height:44px;padding:6px}body[data-mode=city] .city-grid .city-name{font-size:23px}}body[data-mode=city] :is(.ride-mode-picker,.difficulty-row){background:transparent;border:0;box-shadow:none;padding:0;gap:6px;clip-path:none}body[data-mode=city] :is(.ride-mode,.difficulty-option){background:#102124;color:#c5d6cd;box-shadow:inset 0 0 0 1px #55867d;clip-path:none;border-radius:0}body[data-mode=city] :is(.ride-mode,.difficulty-option).selected{background:#193a3a;color:#b9f2d5;box-shadow:inset 0 0 0 2px #7ed3b4}body[data-mode=city] :is(.ride-mode,.difficulty-option):hover{background:#234c48;color:#dcffe8}body[data-mode=city] .city-grid .city-card{min-height:44px;padding:6px 8px}body[data-mode=city] .city-grid .city-name{font-size:22px}body[data-mode=city] .ride-mode-row{margin-bottom:6px}body[data-mode=city] .difficulty-row{margin-bottom:0}body[data-mode=city] .free-ride-details,body[data-mode=city] .difficulty-row[hidden]{display:none}body[data-mode=city] #ride-mode-hint{display:block;visibility:visible;margin:6px 0 14px;font-size:14px;line-height:1.2;color:#c5d6cd}body[data-mode=city] :is(.ride-mode,.difficulty-option){position:relative;isolation:isolate;clip-path:var(--control-edge);background:#55867d;box-shadow:none}body[data-mode=city] :is(.ride-mode,.difficulty-option):before{content:"";position:absolute;inset:1px;z-index:-1;clip-path:var(--control-edge);background:#102124}body[data-mode=city] :is(.ride-mode,.difficulty-option).selected{background:#7ed3b4;box-shadow:none}body[data-mode=city] :is(.ride-mode,.difficulty-option).selected:before{inset:2px;background:#193a3a}body[data-mode=city] :is(.ride-mode,.difficulty-option):hover:before{background:#234c48}@media(orientation:landscape)and (max-height:600px){body[data-mode=city] .city-menu{grid-template-columns:minmax(130px,.65fr) minmax(0,1.7fr)}body[data-mode=city] .city-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}body[data-mode=city] .city-grid .city-name{font-size:18px}body[data-mode=city] .city-grid .city-card{padding:4px;min-height:44px}body[data-mode=city] #mode-step-label{display:none}body[data-mode=city] .selection-step-label{font-size:14px;margin:0 0 4px}body[data-mode=city] #ride-mode-hint{margin:4px 0 6px;font-size:12px}#pause-screen .pause-box{width:min(560px,calc(100vw - 24px));padding:10px 12px;max-height:calc(100dvh - 72px)}#pause-screen .route-label{display:none}#pause-screen .pause-box h2{font-size:28px;margin:0 0 6px}#pause-screen .pause-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px}#pause-screen #retry-pause{grid-column:auto}#pause-screen .pause-actions .secondary{font-size:18px;padding:4px}#pause-screen .pause-controls{display:none}body[data-mode=over] #over{padding-top:60px;align-items:flex-start}body[data-mode=over] #over .result-card{max-height:calc(100dvh - 72px);overflow-y:auto}}:root{--control-green:#174c4bd9;--control-green-hover:#236562ed;--control-orange:#923b18db;--control-orange-hover:#ad4920ed}@media(orientation:landscape)and (max-height:600px){body[data-mode=city] .city-selection{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:6px}body[data-mode=city] .ride-mode-row{grid-column:1;margin:0;display:block}body[data-mode=city] .ride-mode-picker{width:100%;display:flex}body[data-mode=city] .mode-options{grid-column:2;min-width:0}body[data-mode=city] :is(.ride-mode,.difficulty-option){font-size:14px;padding:3px;min-width:0}body[data-mode=city] .ride-mode{flex:1}body[data-mode=city] .difficulty-row{margin:0;gap:3px}body[data-mode=city] #ride-mode-hint{grid-column:1/-1;margin:0 0 2px}body[data-mode=city] .selection-step-label{grid-column:1/-1;margin:0}body[data-mode=city] .city-grid{grid-column:1/-1}body[data-mode=city] .city-info h2{font-size:28px}body[data-mode=city] .city-route-name{font-size:17px;letter-spacing:0}}@media(orientation:landscape)and (max-height:600px){body[data-mode=over] #over .result-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:auto 1fr;gap:8px 14px;width:calc(100vw - 24px);height:calc(100dvh - 72px);padding:10px 12px;overflow:hidden}body[data-mode=over] #over .result-scene{grid-column:1;grid-row:1/-1;position:relative;display:flex;min-height:0;height:auto;aspect-ratio:auto;padding:0;overflow:hidden}body[data-mode=over] #over .result-content{position:relative;inset:auto;display:flex;flex-direction:column;min-height:0;width:100%;padding:0;overflow:hidden}body[data-mode=over] #over .route-label{font-size:14px;letter-spacing:0;margin:0 0 4px}body[data-mode=over] #over h2{font-size:28px;line-height:1;margin:0 0 8px}body[data-mode=over] #over .results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 8px}body[data-mode=over] #over .results>div{display:flex;flex-direction:column;gap:3px;margin:0;font-size:12px}body[data-mode=over] #over .results strong{font-size:18px}body[data-mode=over] #over .result-personality{display:none}body[data-mode=over] #over .race-results{flex:1;min-height:0;max-height:none;margin:0;overflow:hidden}body[data-mode=over] #over .race-results p{font-size:12px;margin:0 0 4px}body[data-mode=over] #over .race-results ol{flex:1;min-height:0;max-height:none;overflow-y:auto}body[data-mode=over] #over .race-results li{font-size:14px;padding:4px 6px;min-height:24px}body[data-mode=over] #over #leaderboard-result{grid-column:2;grid-row:1;display:flex;flex-direction:column;padding:0;margin:0;gap:3px;border:0}body[data-mode=over] #over #leaderboard-result-label{font-size:12px}body[data-mode=over] #over #leaderboard-ranks{font-size:14px;margin:0}body[data-mode=over] #over #result-leaderboard{min-height:44px;font-size:16px;margin:0;padding:4px;width:100%}body[data-mode=over] #over .result-actions{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;align-content:end;gap:6px;margin:0;min-height:0}body[data-mode=over] #over .result-actions button{min-height:44px;min-width:0;font-size:16px;padding:4px;margin:0}body[data-mode=over] #over .result-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}body[data-mode=over] #over #next-city-over{grid-column:1/-1}body[data-mode=over] #over .result-secondary-actions button{font-size:14px}}@media(orientation:landscape){body[data-mode=city] .topbar{gap:4px}body[data-mode=city] .menu-links{position:static;inset:auto;display:flex;margin:0;width:auto}body[data-mode=city] #leaderboard-menu{width:auto}body[data-mode=city] .city-menu{padding-top:72px}}@media(min-width:768px)and (min-height:700px){body[data-mode]{--large-button-height:clamp(52px,4vw,64px);--large-button-font:clamp(20px,1.65vw,26px)}body[data-mode] .topbar .icon-btn,body[data-mode] .city-menu-back .secondary{min-height:var(--large-button-height);min-width:var(--large-button-height);padding:8px 14px;font-size:var(--large-button-font)}body[data-mode] .utilities{gap:6px}body[data-mode] #select-city{min-width:260px;min-height:72px;padding:12px 32px;font-size:42px}body[data-mode=city] .city-menu{padding-top:88px}body[data-mode=city] :is(.ride-mode,.difficulty-option){min-height:52px;font-size:22px;padding:8px 14px}body[data-mode=city] .ride-mode-picker{flex-basis:320px}body[data-mode=city] .difficulty-row{width:min(440px,100%)}body[data-mode=city] .city-grid .city-card{min-height:56px;padding:10px 16px}body[data-mode=city] .city-grid .city-name{font-size:28px}body[data-mode=city] #ride-mode-hint{font-size:18px}body:is([data-mode=playing],[data-mode=paused]){--hud-controls-width:clamp(300px,27vw,392px)}#pause-screen .pause-box{width:min(460px,calc(100vw - 40px))}body[data-mode] #pause-screen :is(.primary,.secondary),body[data-mode] #over .result-actions button,body[data-mode] #over #result-leaderboard,body[data-mode] dialog :is(.primary,.secondary,.icon-btn){min-height:52px;font-size:24px;padding:8px 12px}body[data-mode] #over .result-secondary-actions button{font-size:20px}}@media(min-width:768px)and (min-height:700px)and (orientation:portrait){body:is([data-mode=playing],[data-mode=paused]){--hud-controls-width:144px;--hud-score-width:calc(100vw - var(--hud-left) - var(--hud-right) - 152px)}body:is([data-mode=playing],[data-mode=paused]) .utilities .icon-btn{padding:6px;font-size:20px}body[data-mode=city] .menu-links{top:76px}body[data-mode=city] .city-menu{padding-top:152px}}@media(min-width:768px)and (min-height:700px){body[data-mode=city] .city-selection{margin-top:auto}}body[data-mode=city] :is(.ride-mode,.difficulty-option).selected,body[data-mode=city] :is(.ride-mode,.difficulty-option).selected:hover,body[data-mode=city] :is(.ride-mode,.difficulty-option).selected:focus-visible,body[data-mode=city] :is(.ride-mode,.difficulty-option).selected:active{color:#d8ffe8}@media(orientation:landscape){body:is([data-mode=playing],[data-mode=paused]) #toast,body:is([data-mode=playing],[data-mode=paused]) #objective{left:calc((100vw + var(--hud-left) + var(--hud-score-width) - var(--hud-right) - var(--hud-controls-width))/2);right:auto;transform:translate(-50%);width:max-content;max-width:calc(100vw - var(--hud-left) - var(--hud-right) - var(--hud-score-width) - var(--hud-controls-width) - 16px)}}body[data-mode=city] .city-selection{margin-top:auto;align-self:flex-start;width:min(660px,100%)}@media(orientation:landscape)and (max-height:600px){body[data-mode=city] .city-menu{grid-template-rows:minmax(min-content,1fr);align-content:stretch}body[data-mode=city] .city-selection{align-self:end;margin-top:0;width:100%}}body:is([data-mode=start],[data-mode=city]) .topbar .icon-btn,body[data-mode=city] .city-menu-back .secondary{background:#39434bd9;color:#fff;box-shadow:inset 0 2px #89959f99,inset 0 -2px #111921aa}body:is([data-mode=start],[data-mode=city]) .topbar .icon-btn:hover,body[data-mode=city] .city-menu-back .secondary:hover{background:#505c65e8;color:#fff}body[data-mode=start] #select-city{background:linear-gradient(180deg,#ffe64d,#ffbb32 48%,#ff763b);color:#29180b;box-shadow:inset 0 3px #fff2a0,inset 0 -3px #b7441d}body[data-mode=start] #select-city:hover{background:linear-gradient(180deg,#fff077,#ffcc4b 48%,#ff8d4b);color:#29180b}body[data-mode] dialog:is(#leaderboard-dialog,#settings-dialog,#player-dialog,#share-options,.about-dialog){background:#242e35f2;color:#fff;border-color:#77838a;box-shadow:inset 0 2px #89959f99,0 12px 48px #080d1470}body[data-mode] dialog :is(h2,.about-kicker,.graphics-label,.player-name-form label,.board-columns,.share-picker-heading){color:#fff}body[data-mode] dialog :is(.primary,.secondary,.icon-btn,#close-share),body[data-mode] dialog .graphics-option.selected{background:#39434bd9;color:#fff;box-shadow:inset 0 2px #89959f99,inset 0 -2px #111921aa}body[data-mode] dialog :is(.primary,.secondary,.icon-btn,#close-share):hover{background:#505c65e8;color:#fff}body[data-mode] dialog :is(input,textarea,select,.graphics-options){background-color:#172027;color:#fff;border-color:#77838a}body[data-mode] #leaderboard-dialog #board-city{background-color:#172027;color:#fff;border-color:#77838a}body[data-mode] #leaderboard-dialog .board-columns{border-color:#77838a;color:#dce4ea}body[data-mode] #leaderboard-dialog #board-rows{scrollbar-color:#89959f #242e35}body[data-mode] #leaderboard-dialog #board-rows .is-player{background:#4c606f;color:#fff}body[data-mode] dialog :is(#board-status,#board-footnote,.player-name-form p,.graphics-hint,.player-storage-note){color:#c4cdd5}body[data-mode] dialog .share-platforms a{background:#39434bd9;color:#fff;border-color:#77838a}body[data-mode=city] .city-grid .city-card{padding-left:32px}body[data-mode=city] .city-grid .city-card:before{content:"";display:block;visibility:hidden;position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;background:#fff0c9;clip-path:polygon(0 29%,43% 29%,43% 0,64% 0,64% 21%,79% 21%,79% 36%,100% 36%,100% 64%,79% 64%,79% 79%,64% 79%,64% 100%,43% 100%,43% 71%,0 71%)}body[data-mode=city] .city-grid .city-card.selected:before{visibility:visible}@media(orientation:landscape)and (max-height:600px){body[data-mode=city] .city-grid .city-card{padding-left:22px}body[data-mode=city] .city-grid .city-card:before{left:6px;width:10px;height:10px}}body[data-mode] .control kbd{background:#39434bd9;color:#fff;border-color:#89959f;box-shadow:inset 0 -2px #111921aa;text-shadow:none}body[data-mode] .control{color:#e5e9ed;text-shadow:0 1px 3px #111921}body[data-mode] .topbar .icon-btn,body[data-mode] .topbar #pause,body[data-mode] #pause-screen .primary,body[data-mode] #pause-screen .pause-actions .secondary,body[data-mode] #over .result-actions button,body[data-mode] #over .result-secondary-actions .secondary,body[data-mode] #over #result-leaderboard{background:#39434bd9;color:#fff;box-shadow:inset 0 2px #89959f99,inset 0 -2px #111921aa}body[data-mode] .topbar .icon-btn:hover,body[data-mode] .topbar #pause:hover,body[data-mode] #pause-screen .primary:hover,body[data-mode] #pause-screen .pause-actions .secondary:hover,body[data-mode] #over .result-actions button:hover,body[data-mode] #over #result-leaderboard:hover{background:#505c65e8;color:#fff}body[data-mode] .loading-card,body[data-mode] #pause-screen .pause-box,body[data-mode] #over .result-card{background:#242e35ed;color:#fff;border-color:#77838a;box-shadow:inset 0 2px #89959f99,0 8px 24px #080d1450}body[data-mode] :is(.loading-kicker,.loading-title,.loading-callout,#loading-route,#loading-stage,#loading-rules,.loading-tip),body[data-mode] #pause-screen :is(h2,.route-label,.pause-controls){color:#fff;text-shadow:none}body[data-mode] .loading-grid{border-color:#77838a}body[data-mode] .loading-track{background:#172027;border-color:#77838a}body[data-mode] #pause-screen :is(#resume,#retry-pause),body[data-mode] #over .result-actions .primary,body[data-mode] dialog .primary{background:var(--control-orange);color:#fff;box-shadow:inset 0 2px #ed8542,inset 0 -2px #582207}body[data-mode] #pause-screen :is(#resume,#retry-pause):hover,body[data-mode] #over .result-actions .primary:hover,body[data-mode] dialog .primary:hover{background:var(--control-orange-hover);color:#fff}body:is([data-mode=playing],[data-mode=paused]) .score-panel .score{font-size:32px}@media(orientation:portrait)and (max-width:359px){body:is([data-mode=playing],[data-mode=paused]) .score-panel .score{font-size:28px;letter-spacing:0}}@media(orientation:landscape)and (max-width:740px){body:is([data-mode=playing],[data-mode=paused]) .score-panel .score{font-size:28px}}@media(min-width:1000px)and (min-height:600px){body:is([data-mode=playing],[data-mode=paused]) .score-panel .score{font-size:40px}}@media(orientation:landscape)and (max-height:600px){body[data-mode=city] .city-menu{display:flex;flex-direction:column;gap:6px;padding:64px 12px 12px}body[data-mode=city] .city-info h2{font-size:clamp(26px,6vh,36px)}body[data-mode=city] .city-route-name{font-size:16px;margin-top:4px}body[data-mode=city] .city-selection{align-self:flex-start;margin-top:auto;width:100%}}@media(pointer:coarse)and (orientation:portrait)and (max-width:380px),(pointer:coarse)and (orientation:portrait)and (max-height:700px){.touch{--button:clamp(44px,min(17vw,10vh),64px);--step:calc(var(--button) + 6px);height:calc(var(--button)*3 + 12px)}.touch button{width:var(--button);height:var(--button);font-size:12px}.touch button img{width:calc(var(--button)*.48);height:calc(var(--button)*.48)}.touch .touch-gas{width:calc(var(--button) + 12px);height:calc(var(--button) + 12px)}.touch .touch-brake{width:calc(var(--button) + 12px);height:var(--button);bottom:calc(var(--button) + 20px)}.touch .tilt-toggle{width:calc(var(--button) + 12px);height:44px;min-height:44px;bottom:calc(var(--button)*2 + 28px);font-size:12px}}@media(orientation:landscape)and (max-height:600px){body[data-mode=city] .maker-footer{display:none!important}}@media(orientation:portrait){body[data-mode=over] #over{align-items:flex-start;padding:72px 0 12px}body[data-mode=over] #over .result-card{max-height:calc(100dvh - 84px);overflow-y:auto}body[data-mode=over] #over.race-result .result-card{display:flex;height:calc(100dvh - 84px);overflow:hidden}body[data-mode=over] #over.race-result .result-scene,body[data-mode=over] #over.race-result .result-content{display:flex;flex:1;min-height:0;overflow:hidden}body[data-mode=over] #over.race-result .race-results{flex:1;min-height:60px;max-height:none;overflow:hidden}body[data-mode=over] #over.race-result .race-results ol{flex:1;min-height:0;max-height:none;overflow-y:auto}}@media(orientation:portrait)and (max-height:700px){body[data-mode=over] #over .result-card{padding:12px}body[data-mode=over] #over h2{font-size:30px;line-height:1;margin:0 0 6px}body[data-mode=over] #over .route-label{font-size:14px;margin:0 0 6px}body[data-mode=over] #over .results{margin:4px 0 8px;gap:6px}body[data-mode=over] #over .results>div{font-size:12px;margin:0}body[data-mode=over] #over .results strong{font-size:20px}body[data-mode=over] #over .result-personality{display:none}body[data-mode=over] #over .race-results{margin:0}body[data-mode=over] #over .race-results p{font-size:12px;margin:0 0 4px}body[data-mode=over] #over .race-results li{font-size:16px;padding:5px 6px;min-height:26px}body[data-mode=over] #over #leaderboard-result{margin:8px 0 0;padding:6px 0 0}body[data-mode=over] #over #leaderboard-result-label,body[data-mode=over] #over #leaderboard-ranks{font-size:14px}body[data-mode=over] #over #result-leaderboard{font-size:16px;min-height:44px;padding:4px}body[data-mode=over] #over .result-actions{gap:6px;margin-top:8px}body[data-mode=over] #over .result-actions button{font-size:18px;min-height:44px;padding:4px}body[data-mode=over] #over .result-secondary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0}body[data-mode=over] #over .result-secondary-actions button{min-width:0;font-size:14px;min-height:44px}}body[data-mode=over] #over.busted{padding:16px 12px;align-items:center}body[data-mode=over] #over.busted .result-card{display:flex;flex-direction:column;width:min(880px,100%);height:auto;max-height:calc(100dvh - 32px);padding:0;gap:0;overflow-y:auto}body[data-mode=over] #over.busted .result-scene{display:block;flex:none;aspect-ratio:auto;min-height:0;height:auto;padding:clamp(90px,16vh,155px) 24px 16px;overflow:visible}body[data-mode=over] #over.busted .result-content{display:block;overflow:visible;width:auto}body[data-mode=over] #over.busted .result-personality{display:block;margin:14px 0 0}body[data-mode=over] #over.busted #leaderboard-result{display:block;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #71807544;background:transparent}body[data-mode=over] #over.busted #leaderboard-result[hidden]{display:none}body[data-mode=over] #over.busted #leaderboard-ranks{margin:6px 0;font-size:20px}body[data-mode=over] #over.busted #result-leaderboard{width:auto;margin:6px auto 0;min-height:44px}body[data-mode=over] #over.busted .result-actions{flex:none;padding:14px 20px;margin:0;gap:8px}@media(max-width:600px){body[data-mode=over] #over.busted .result-scene{padding:90px 12px 12px}body[data-mode=over] #over.busted h2{font-size:46px;margin-bottom:14px}body[data-mode=over] #over.busted .results{gap:6px}body[data-mode=over] #over.busted .results>div>span{font-size:12px;letter-spacing:.5px}body[data-mode=over] #over.busted .result-actions{padding:12px}body[data-mode=over] #over.busted .result-actions button{min-height:44px}}@media(orientation:landscape)and (max-height:600px){body[data-mode=over] #over.busted .result-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;padding:10px 12px;align-items:center}body[data-mode=over] #over.busted .result-scene{grid-column:1;grid-row:1;padding:12px;min-height:0}body[data-mode=over] #over.busted .result-personality{margin:6px 0}body[data-mode=over] #over.busted #result-rank{font-size:20px}body[data-mode=over] #over.busted #result-offences,body[data-mode=over] #over.busted #result-joke{font-size:14px;margin:4px 0}body[data-mode=over] #over.busted #leaderboard-result{margin-top:8px;padding-top:6px}body[data-mode=over] #over.busted #leaderboard-ranks{font-size:16px}body[data-mode=over] #over.busted .result-actions{grid-column:2;grid-row:1;padding:0;border:0;align-content:center}}@media(max-width:600px)and (max-height:700px){body[data-mode=over] #over.busted .result-scene{padding-top:40px}body[data-mode=over] #over.busted h2{font-size:38px;margin-bottom:10px}body[data-mode=over] #over.busted .result-personality{margin-top:10px}body[data-mode=over] #over.busted #leaderboard-result{margin-top:10px;padding-top:8px}}@media(min-width:1000px)and (orientation:landscape){body:is([data-mode=playing],[data-mode=paused]){--hud-controls-width:clamp(344px,28vw,410px)}body:is([data-mode=playing],[data-mode=paused]) .utilities .icon-btn{flex:1 0 auto;white-space:nowrap}}body[data-mode] dialog#share-options{width:min(380px,calc(100vw - 24px),calc(100dvh - 120px));padding:14px;max-height:calc(100dvh - 24px)}#share-options .share-picker-heading{margin-bottom:10px;font-size:20px}body[data-mode] #share-options #close-share{min-width:44px;min-height:44px;padding:6px 8px;font-size:16px}#share-options #share-preview{display:block;width:100%;max-width:100%;height:auto;margin:0 auto 12px}#share-options .share-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.6fr);gap:8px;margin:0}body[data-mode] #share-options .share-platforms :is(a,button){display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:52px;padding:8px 2px;font-size:18px;line-height:1;letter-spacing:0;background:#39434bd9;color:#fff;border:1px solid #77838a;border-radius:0;box-shadow:none;text-decoration:none}body[data-mode] #share-options .share-platforms :is(a,button):hover{background:#4a5861}#share-options .share-platforms img{width:22px;height:22px;filter:invert(1)}#share-options .share-platforms svg{width:22px;height:22px;flex-shrink:0}#share-options #platform-help{margin:8px 0 0;font-size:14px;line-height:1.25;text-align:left}#share-options .share-tools{display:flex;flex-wrap:nowrap;justify-content:center;gap:6px;margin:0}body[data-mode] #share-options .share-tools .primary{flex:1;min-width:0;min-height:44px;padding:4px 6px;font-size:14px;letter-spacing:0;text-align:center}#share-options #share-caption{display:block;width:100%;height:64px;min-height:64px;margin:6px 0 0;padding:6px 8px;font-size:13px;line-height:1.25;resize:none;overflow:auto}#share-options #share-status:empty{display:none}#share-options #share-extras[hidden],#share-options #platform-help[hidden]{display:none}#share-options #share-extras{margin-top:8px}@media(max-height:420px){body[data-mode] dialog#share-options{width:min(300px,calc(100vw - 24px))}#share-options #share-preview{width:auto;max-width:100%;max-height:calc(100dvh - 162px)}}#share-options #share-status{margin:6px 0 0;font-size:14px;line-height:1.25}
