@charset "UTF-8";
:root{color-scheme:dark;--navy:#101127;--ink:#f8f4db;--cyan:#52eafa;--lime:#dfef5b;--pink:#fa6daa;--edge:#323b54}
*{box-sizing:border-box} [hidden]{display:none!important} body{margin:0;background:#101127;color:var(--ink);font-family:Arial,Helvetica,sans-serif} button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.7}button:focus-visible,a:focus-visible{outline:3px solid var(--pink);outline-offset:5px} .arcade{max-width:1560px;margin:auto;padding:20px 32px 12px}.masthead{height:62px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);font-size:17px;font-weight:900;letter-spacing:.05em;text-decoration:none}.brand small{display:block;color:#909ab5;letter-spacing:.24em;font:10px/1.8 monospace}.brand-mark{border:2px solid var(--cyan);border-radius:8px;padding:4px 5px;color:var(--cyan);font-style:italic;font-weight:1000;letter-spacing:-.11em}.brand-mark span{margin-left:3px;letter-spacing:0}.top-right{display:flex;align-items:center;gap:10px}.local-label{font:11px monospace;letter-spacing:.1em;color:#a4adc5;margin-right:15px;white-space:nowrap}.local-label i,.console-note i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-left:7px;box-shadow:0 0 9px #dfef5b66}.utility{background:#1d2338;color:#bac3d8;border:1px solid #343e57;border-radius:6px;font:bold 11px monospace;height:33px;min-width:34px;padding:0 12px}.cabinet{border:2px solid #435069;border-radius:17px;overflow:hidden;box-shadow:0 10px 0 #080b18,0 25px 60px #03030b70;background:#0b132b}.game-screen{position:relative;isolation:isolate;height:min(calc(100svh - 181px),820px);min-height:470px;overflow:hidden;background:#59b5e7}#road{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none}.scanlines{position:absolute;inset:0;pointer-events:none;opacity:.13;background:repeating-linear-gradient(0deg,#0000 0px,#0000 3px,#17224540 4px);z-index:8}.game-hud{position:absolute;top:23px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:start;pointer-events:none;z-index:10;text-shadow:2px 2px #142b46,0 1px 8px #18345580}.eyebrow{font:700 11px monospace;letter-spacing:.17em}.scoreboard>strong{display:block;font:italic 900 38px/.95 Impact,'Arial Black',sans-serif;letter-spacing:.03em;margin:4px 0 8px}.scoreboard>div{display:flex;gap:14px;font:10px monospace;letter-spacing:.06em}.route{text-align:center;margin-left:auto;margin-right:55px;max-width:40%}.route strong{display:block;font:italic 23px/1.5 Impact,'Arial Black',sans-serif;letter-spacing:.035em}.route-line{display:block;background:var(--lime);height:3px;width:45px;margin:0 auto;box-shadow:3px 3px #263c59}.pause-button{pointer-events:auto;border:2px solid #f5f1d47a;background:#15263a99;color:#fff2d4;width:35px;height:35px;border-radius:5px;font-size:18px}.menu{position:absolute;inset:0;display:flex;align-items:center;padding:60px 7%;z-index:11;background:linear-gradient(90deg,#07173075,transparent 66%)}.menu-panel{max-width:600px}.edition{display:block;font:700 11px monospace;letter-spacing:.16em}.menu .edition{color:#fff4c7;text-shadow:1px 2px #15365d}.menu h1{font:italic 100px/.78 Impact,'Arial Black',sans-serif;letter-spacing:-.03em;margin:23px 0 20px;color:#fff1c7;transform:rotate(-3deg);text-shadow:4px 4px #183154,8px 8px #f064a0}.menu h1>span{display:block;color:var(--lime);font-size:1.36em;margin-left:17px}.title-spark{color:var(--cyan);font-family:Arial;font-size:.7em;margin-left:5px}.menu-subtitle{font-size:17px;font-weight:700;text-shadow:1px 2px #193355;margin-top:34px}.primary-button{min-height:53px;background:var(--lime);color:#172337;border:3px solid #152239;box-shadow:5px 5px 0 #152239;border-radius:4px;font:900 16px monospace;letter-spacing:.025em;padding:12px 22px;transition:transform .1s,box-shadow .1s}.primary-button:hover{background:#ecff73;transform:translate(-1px,-1px);box-shadow:6px 6px 0 #152239}.primary-button:active{transform:translate(3px,3px);box-shadow:2px 2px 0 #152239}.start-hint{font:11px monospace;text-shadow:1px 1px #132642;letter-spacing:.025em;margin:14px 0 0}.howto{display:flex;gap:12px;margin-top:26px;max-width:520px}.howto>span{font:700 9px/1.6 monospace;max-width:140px;text-shadow:1px 1px #132642;letter-spacing:.08em}.howto b{display:block;color:var(--lime);font:italic 23px Impact,'Arial Black',sans-serif}.console{min-height:57px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 23px;background:#171d32;border-top:3px solid #52627a}.key-guide{display:flex;gap:21px;font:10px monospace;letter-spacing:.04em;color:#bdc4d3}.key-guide>span{display:flex;align-items:center;gap:4px}kbd{display:inline-grid;place-items:center;padding:4px;min-width:20px;background:#27314a;border:1px solid #536078;border-bottom:3px solid #475671;border-radius:4px;color:#f6f0d4;font:10px monospace}.console-note{font:9px monospace;color:#8c9bb8;white-space:nowrap}.console-note i{margin:0 7px 1px 0;width:4px;height:4px}.arcade-footer{display:flex;justify-content:space-between;margin:24px 1px 0;font:9px monospace;letter-spacing:.1em;color:#7f8aa5}.arcade-footer b{font-size:17px;color:var(--cyan);margin-left:5px}.status-overlay{position:absolute;inset:0;background:#10162ac9;backdrop-filter:blur(5px);display:grid;place-items:center;z-index:30;padding:24px}.dialog-panel{max-width:490px;text-align:center}.dialog-panel .edition{color:var(--cyan)}.dialog-panel h2,.service-card h2{font:italic 68px/.95 Impact,'Arial Black',sans-serif;letter-spacing:-.02em;margin:16px 0 20px}.dialog-panel p{font-size:16px;line-height:1.5;color:#d5dcdf}.dialog-panel .fine{font:11px monospace;color:#a4b3ca}.text-button{display:block;margin:24px auto 0;background:none;border:0;color:#d7e2ec;text-decoration:underline;font:12px monospace;padding:12px}.end-score{font:italic 70px Impact,'Arial Black',sans-serif;color:var(--lime)}.toast{position:absolute;left:50%;top:105px;transform:translate(-50%,-9px);max-width:78%;width:max-content;opacity:0;padding:11px 20px;border:2px solid #b1f8ed;border-radius:5px;background:#122c42f2;box-shadow:4px 4px #122337;color:#fff9da;font:bold 13px/1.4 monospace;text-align:center;z-index:20;transition:opacity .15s,transform .15s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.driving-ui{position:absolute;inset:0;pointer-events:none;z-index:10}.mission{position:absolute;left:23px;bottom:20px;display:flex;align-items:center;gap:10px;max-width:350px;min-width:235px;background:#162842ec;border:2px solid #85eef0;border-radius:8px;padding:12px 15px 16px;box-shadow:4px 4px #16284199}.mission-icon{font:bold 35px monospace;color:var(--cyan)}.mission-text>span{font:bold 10px monospace;color:var(--cyan);letter-spacing:.05em}.mission-text>strong{display:block;font:italic 24px Impact,'Arial Black',sans-serif;margin:3px 0}.mission-text p{font:11px/1.4 monospace;color:#faf1d4;margin:0}.hold-track{position:absolute;bottom:0;left:0;height:4px;width:100%;border-radius:3px;overflow:hidden}.hold-track span{height:100%;display:block;background:var(--lime);width:0}.mission.near{border-color:var(--lime);box-shadow:0 0 22px #a1e5b333}.instruments{position:absolute;right:25px;bottom:21px;display:flex;gap:15px;align-items:end;text-shadow:2px 2px #1a2d47;filter:drop-shadow(0 2px 4px #14345970)}.speed{text-align:right}.speed strong{font:italic 78px/.8 Impact,'Arial Black',sans-serif;display:block;letter-spacing:.015em}.speed>span{font:bold 11px monospace;display:block;margin-top:8px;letter-spacing:.12em}.bars{width:155px}.meter-label{display:flex;justify-content:space-between;gap:8px;font:bold 9px monospace;margin-bottom:5px;color:#dafcff}.meter-label b{font-weight:400}.meter{background:#182944;border:2px solid #143653;height:13px;transform:skewX(-9deg);box-shadow:1px 2px #091e32}.meter>span{display:block;height:100%;width:100%;background:repeating-linear-gradient(90deg,#62f3fc 0,#62f3fc 12px,#228997 13px,#228997 15px)}.condition-label{margin-top:10px;color:#fff2cc}.condition-meter{height:9px}.condition-meter>span{background:var(--lime)}.boosting .boost-meter{box-shadow:0 0 19px #83f9ff}.boosting .speed{color:#b8ffff}.touch-controls{display:none;justify-content:space-between;width:100%;gap:10px}.touch-controls>div{display:flex;gap:8px}.touch-controls button{min-height:50px;min-width:56px;padding:0 17px;border:2px solid #667691;border-bottom-width:5px;background:#2c3953;border-radius:9px;color:#fff5dc;font:bold 14px monospace;touch-action:none;user-select:none}.touch-controls .boost-control{background:#4ee2ed;color:#142a42;border-color:#71fcff}.touch-controls .brake-control{background:#e789a8;border-color:#ffa6c5;color:#3c1934}.touch-controls button.pressed{transform:translateY(3px);border-bottom-width:2px}.service-card{position:absolute;z-index:23;top:29%;left:50%;transform:translateX(-50%);padding:22px 32px;width:min(430px,88%);text-align:center;background:#112d48ee;border:3px solid var(--cyan);border-radius:8px;box-shadow:6px 6px #153a59}.service-card .edition{color:var(--cyan)}.service-card h2{font-size:47px;margin:12px 0}.service-card p{font:12px monospace}.service-progress{height:6px;background:#34566c;margin-top:17px;overflow:hidden}.service-progress span{display:block;background:var(--lime);height:100%;width:0}.flash{position:absolute;inset:0;background:#dcffff;opacity:0;pointer-events:none;z-index:28}.flash.pop{animation:photo .28s ease-out}@keyframes photo{0%{opacity:.6}100%{opacity:0}}.cabinet:fullscreen{border:0;border-radius:0;display:flex;flex-direction:column}.cabinet:fullscreen .game-screen{height:calc(100svh - 58px);flex:1}.cabinet:fullscreen .console{flex-shrink:0}
@media(min-width:1600px){.menu h1{font-size:125px}}@media(pointer:coarse){.touch-controls{display:flex}.key-guide,.console-note{display:none}.console{padding:10px 15px}.game-screen{height:calc(100svh - 203px)}}
@media(max-width:800px){.arcade{padding:12px 12px 8px}.masthead{height:52px}.brand{font-size:13px;gap:8px}.brand small{font-size:8px}.brand-mark{font-size:17px}.local-label{display:none}.top-right{gap:6px}.utility{padding:0 8px}.game-screen{min-height:400px;height:calc(100svh - 174px)}.key-guide{gap:13px;font-size:9px}.console-note{display:none}.arcade-footer{margin-top:19px;font-size:8px;letter-spacing:0}.game-hud{top:17px;left:17px;right:17px}.route{margin-right:27px}.route strong{font-size:18px}.menu{padding:60px 6%}.menu h1{font-size:78px}.menu-subtitle{font-size:15px}.howto{gap:16px}.scoreboard>strong{font-size:30px}.scoreboard>div{gap:10px;font-size:8px}.route .eyebrow{font-size:9px}.mission{left:14px;bottom:16px;min-width:205px;max-width:260px;padding:9px 10px 13px}.instruments{right:17px;bottom:17px;gap:10px}.speed strong{font-size:57px}.bars{width:115px}.meter-label{font-size:8px}.toast{top:87px;font-size:11px}.edition{font-size:10px}}
@media(max-width:540px){.cabinet{border-radius:12px}.game-screen{height:calc(100svh - 180px);min-height:430px}.game-hud{top:14px;left:12px;right:12px}.route{margin-right:12px;max-width:46%}.route .eyebrow{display:none}.route strong{font-size:15px;line-height:1.1}.route-line{margin-top:7px;width:30px}.pause-button{width:28px;height:28px;font-size:14px;flex-shrink:0}.scoreboard>strong{font-size:25px}.scoreboard>div{display:block;line-height:1.5}.scoreboard>div>span{display:block}.scoreboard .eyebrow{font-size:9px}.menu{align-items:center;background:linear-gradient(90deg,#0a2e5766,transparent);padding:75px 7% 110px}.menu h1{font-size:65px;margin:20px 0}.menu-subtitle{font-size:14px;max-width:230px;line-height:1.4;margin-top:28px}.primary-button{font-size:12px;min-height:46px;padding:10px 15px}.start-hint{font-size:9px;max-width:215px;line-height:1.5}.howto{display:none}.touch-controls{display:flex}.key-guide{display:none}.console{padding:8px 10px}.touch-controls button{min-width:48px;min-height:47px;padding:0 11px;font-size:11px}.arcade-footer>span:first-child{max-width:52%}.mission{bottom:auto;top:89px;left:12px;min-width:0;max-width:228px;padding:8px 11px 11px;gap:6px}.mission-icon{font-size:22px}.mission-text>span{font-size:9px}.mission-text>strong{font-size:20px}.mission-text p{font-size:9px}.instruments{left:14px;right:14px;bottom:14px;justify-content:space-between;align-items:end}.speed{text-align:left}.speed strong{font-size:59px}.bars{width:129px}.toast{top:184px;max-width:87%;padding:8px 12px;font-size:10px}.dialog-panel h2{font-size:52px}.end-score{font-size:59px}.dialog-panel .edition{font-size:9px;line-height:1.5}.service-card{top:38%;padding:18px 14px}.service-card h2{font-size:36px}.service-card p{font-size:10px}.end-score+p{font-size:14px}}
@media(max-height:570px) and (min-width:600px){.arcade{padding:8px 12px}.masthead{height:40px}.game-screen{height:calc(100svh - 112px);min-height:270px}.arcade-footer{display:none}.console{min-height:47px;padding:7px 13px}.menu{padding:40px 7%}.menu h1{font-size:46px;margin:12px 0}.menu-subtitle{margin:15px 0 9px;font-size:13px}.menu .edition{font-size:8px}.howto{display:none}.primary-button{min-height:38px;padding:7px 15px;font-size:11px}.start-hint{font-size:9px;margin-top:11px}.mission{bottom:10px;padding:7px 10px;min-width:170px;max-width:230px}.mission-text p{font-size:9px}.instruments{bottom:12px}.speed strong{font-size:48px}.game-hud{top:12px}.scoreboard>strong{font-size:25px}.route strong{font-size:17px}.toast{top:65px}.touch-controls button{min-height:35px}.status-overlay .dialog-panel h2{font-size:40px;margin:10px}.status-overlay .end-score{font-size:40px}.dialog-panel p{font-size:12px}.text-button{margin:10px auto 0}.service-card{top:27%;padding:10px 20px}.service-card h2{font-size:35px;margin:10px}.service-card p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.scanlines{display:none}.primary-button,.toast{transition:none}.flash.pop{animation:none}}

/* Heavy display lettering also remains bold on devices without Impact. */
.menu h1,.route strong,.dialog-panel h2,.service-card h2,.end-score,.speed strong,.mission-text>strong{font-weight:900}

.game-screen:not(.playing) .scoreboard{visibility:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.time-control select{font:bold 12px monospace;height:35px;border:1px solid #52637c;background:#1d2338;color:#f5f2d5;border-radius:6px;padding:0 8px;max-width:125px}.utility{font-size:12px;min-height:35px}.driver-label{display:block;font:bold 12px monospace;color:#fff3c9;margin:15px 0 7px;letter-spacing:.08em}.driver-input{width:255px;max-width:100%;font:bold 17px monospace;padding:10px 13px;color:#f8f4db;background:#11243aef;border:2px solid #52eafa;border-radius:5px}.driver-note{font:12px/1.4 monospace;max-width:300px;margin:7px 0 15px;color:#f9f3d6;text-shadow:1px 1px #172b43}.menu h1{font-size:clamp(60px,7.5vw,103px)}.menu-subtitle{margin:27px 0 5px}.menu{overflow:auto;padding-top:30px;padding-bottom:30px}.howto{margin-top:18px}.game-screen{min-height:600px}.social-hud{margin-top:7px!important;color:#f8d6ed!important;font-size:12px!important}.social-hud span+span{color:#ddf677}.fuel-label{margin-top:9px;color:#ffeac1}.fuel-meter{height:9px}.fuel-meter>span{background:#ffc772}.meter-label{font-size:11px}.condition-label{margin-top:8px}.mission-text p{font-size:12px;line-height:1.35}.mission-text>span{font-size:11px}.mission{max-width:340px}.bars{width:160px}.end-reason{font:bold 12px/1.4 monospace!important;color:#ffc78d!important}.score-breakdown{display:grid;grid-template-columns:1fr auto;gap:6px 32px;text-align:left;font:14px monospace;margin:18px auto;max-width:335px}.score-breakdown dt,.score-breakdown dd{margin:0}.score-breakdown dd{color:var(--lime);text-align:right}.status-overlay{overflow:auto}.dialog-panel{width:min(490px,100%);margin:auto}.dialog-panel h2{font-size:54px;margin:12px 0}.end-score{font-size:56px}.text-button{margin:8px auto 0;font-size:14px}.dialog-panel .fine{font:12px/1.45 monospace}.leaderboard-row{display:grid;grid-template-columns:25px 1fr auto;gap:12px;align-items:center;text-align:left;padding:12px 0;border-bottom:1px solid #43506c;font:14px monospace}.leaderboard-row b{color:var(--lime)}.leaderboard-row small{display:block;color:#b7c2d9;font-size:12px;margin-top:5px}.leaderboard-panel .primary-button{margin-top:18px}#leaderboardMenu{z-index:40}.menu .primary-button{min-height:48px}.instruments{bottom:18px}.scoreboard>div{font-size:12px}.eyebrow{font-size:12px}.start-hint{font-size:12px}.toast{font-size:14px}.game-screen.night .game-hud{text-shadow:1px 2px #000}.mission,.service-card{backdrop-filter:blur(4px)}
@media(max-width:800px){.arcade{padding:10px}.masthead{height:auto;min-height:72px;align-items:center;flex-wrap:wrap;padding-bottom:12px;gap:8px}.top-right{gap:5px;flex-wrap:wrap}.utility,.time-control select{font-size:11px;padding:0 7px}.game-screen{height:calc(100svh - 210px);min-height:550px}.menu h1{font-size:67px}.bars{width:135px}.scoreboard>div{font-size:11px}.social-hud{font-size:11px!important}.mission{max-width:260px}.route{margin-right:12px}}
@media(max-width:540px){.masthead{align-items:flex-start}.brand{font-size:13px}.top-right{width:100%;justify-content:space-between;flex-wrap:nowrap}.time-control select{max-width:106px}.utility{padding:0 7px;min-width:0}#fullscreenButton{font-size:17px;padding:0 8px}.game-screen{height:calc(100svh - 228px);min-height:530px}.menu{padding:25px 7% 45px}.menu h1{font-size:61px;margin:19px 0}.menu-subtitle{font-size:16px;max-width:270px}.driver-input{font-size:16px;width:245px}.driver-note{font-size:12px}.menu .primary-button{font-size:14px}.start-hint{font-size:12px}.driver-label{margin-top:12px}.mission{top:112px;max-width:255px}.mission-text>span{font-size:11px}.mission-text p{font-size:12px}.mission-text>strong{font-size:21px}.scoreboard>div{display:flex;gap:9px;font-size:11px}.scoreboard>div>span{display:inline}.scoreboard .eyebrow{font-size:11px}.scoreboard>strong{font-size:28px}.social-hud{font-size:11px!important;display:block!important}.social-hud span{display:block!important}.social-hud span+span{margin-top:3px}.route strong{font-size:14px}.route{max-width:35%;margin-left:8px}.game-hud{gap:6px}.toast{top:225px;font-size:12px;max-width:91%;padding:9px 12px}.bars{width:145px}.instruments{bottom:15px}.speed strong{font-size:59px}.touch-controls button{min-height:50px;font-size:12px}.dialog-panel h2{font-size:40px}.dialog-panel p{font-size:14px}.end-score{font-size:45px}.score-breakdown{font-size:12px;gap:5px 20px;margin:10px auto}.status-overlay{padding:18px}.end-reason{font-size:11px!important}.leaderboard-row{font-size:13px;padding:9px 0}.leaderboard-panel .fine{font-size:12px}.arcade-footer{font-size:9px}.pause-button{width:34px;height:34px}}
@media(max-height:570px) and (min-width:600px){.masthead{min-height:40px;flex-wrap:nowrap}.game-screen{height:calc(100svh - 116px);min-height:325px}.menu{padding:12px 6%;align-items:flex-start}.menu-panel{display:grid;grid-template-columns:240px 250px;column-gap:22px}.menu .edition,.menu h1,.menu-subtitle{grid-column:1}.menu h1{font-size:56px;margin:15px 0}.menu-subtitle{font-size:13px;margin:8px 0}.driver-label{grid-column:2;grid-row:1}.driver-input{grid-column:2;grid-row:2;align-self:start;margin-top:15px}.driver-note{grid-column:2;grid-row:2;align-self:end}.menu .primary-button{grid-column:2;grid-row:3}.start-hint{grid-column:2}.mission{bottom:10px;top:auto}.mission-text p{font-size:11px}.meter-label{font-size:10px}.bars{width:130px}.score-breakdown{grid-template-columns:1fr auto 1fr auto;gap:7px 18px;max-width:500px}.dialog-panel{max-width:650px}.dialog-panel h2{font-size:32px}.end-score{font-size:35px}.status-overlay{padding:12px}}

.arcade:fullscreen{max-width:none;width:100%;height:100%;overflow:auto;background:#101127}.mission-text p{font-size:14px}.mission-text>span{font-size:12px}.howto>span{font-size:12px}.touch-controls button{font-size:14px}

.speed-limit{font:12px monospace;opacity:.65}.speed small{display:block;font:bold 11px monospace;color:#bdf57c;margin-top:5px;min-height:14px}.touch-controls .accelerate-control{background:#dcf47a;color:#20352e;border-color:#f0ffa9}.pedal-controls{display:flex;gap:7px}.race-panel{position:absolute;z-index:24;top:85px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:5px;padding:10px 14px;background:#18243cf0;border:1px solid #dfff78;border-radius:7px;text-align:center;max-width:280px;font:12px monospace}.race-panel strong{color:#dfff78;font-size:12px}.race-panel span{color:#fff4d8;font-size:13px}.race-panel button{font:bold 14px monospace;padding:8px 20px;min-height:40px;background:#dfff78;color:#172941;border:0;border-radius:4px;cursor:pointer}.race-panel[hidden]{display:none}.key-guide{flex-wrap:wrap;gap:10px}.console-note{font-size:11px}.touch-controls{gap:10px}.steering-controls{display:flex;gap:7px}.touch-controls button{touch-action:none;user-select:none}
@media(max-width:650px){.race-panel{top:210px;max-width:260px;padding:8px 12px}.race-panel strong{font-size:11px}.race-panel span{font-size:12px}.race-panel button{min-height:38px;padding:7px 16px}.game-screen:has(.race-panel:not([hidden])) .toast{top:340px}.touch-controls .steering-controls{flex:0 0 auto}.touch-controls .pedal-controls{flex:1;justify-content:flex-end;gap:5px}.touch-controls button{font-size:12px;min-width:0;padding:0 10px}.touch-controls .steering-controls button{min-width:37px;padding:0 8px}.console-note{font-size:10px}.speed small{font-size:10px}}

.journey-panel{position:absolute;z-index:22;top:80px;left:50%;transform:translateX(-50%);background:#162a3ff2;border:1px solid #f4ce72;border-radius:8px;padding:10px 15px;max-width:340px;text-align:center;display:grid;gap:6px;font:13px/1.35 monospace}.journey-panel strong{color:#f4ce72;font-size:13px}.journey-panel span{color:#fff4d7}.journey-panel button{min-height:40px;border:0;border-radius:5px;background:#efce73;color:#183040;font:bold 14px monospace;padding:8px 16px}.journey-panel[hidden]{display:none}#revControl{background:#9be2eb;color:#123b4a;font-size:12px}.mission.secondary-mission{max-width:265px}.game-screen:has(.journey-panel:not([hidden])) .toast{top:180px}@media(max-width:650px){.journey-panel{top:202px;width:calc(100% - 28px);max-width:320px;padding:8px 12px;font-size:12px}.journey-panel strong{font-size:12px}.game-screen:has(.journey-panel:not([hidden])) .toast{top:329px}.touch-controls:has(#revControl:not([hidden])){flex-wrap:wrap}.touch-controls:has(#revControl:not([hidden])) .pedal-controls{flex-wrap:wrap;max-width:calc(100% - 90px)}.mission.secondary-mission{max-width:250px}}
.status-overlay{overflow:auto}.dialog-panel{margin:auto;padding:12px 0}.dialog-panel .text-button{min-height:42px;margin:10px auto 0}.driver-note{font:12px/1.45 monospace;max-width:320px}.leaderboard-panel{max-height:none}.time-control select{min-height:38px}@media(max-width:540px){.menu h1{font-size:57px}.menu-subtitle{margin-top:20px}.driver-note{max-width:260px}.driver-input{font-size:16px}.menu-panel{padding-bottom:10px}.game-screen{min-height:590px}.status-overlay{padding:15px}.dialog-panel .fine{font-size:12px;line-height:1.5}}
.speed-limit-badge{display:flex;align-items:center;gap:6px;font:11px monospace;color:#f2e9d3;margin-top:7px}.speed-limit-badge b{display:inline-grid;place-items:center;width:38px;height:38px;border:4px solid #ed5258;background:#fff9df;color:#26323f;border-radius:50%;font:bold 17px monospace}.speed-limit-badge.over-limit b{box-shadow:0 0 10px #ff5a60}.signal-button{position:absolute;top:145px;left:50%;transform:translateX(-50%);z-index:26;background:#c9ee8d;color:#21362b;font:bold 13px monospace;border:2px solid #f0ffd5;padding:12px;border-radius:6px;cursor:pointer}.signal-button[hidden]{display:none}.photo-controls{position:absolute;inset:auto 12px 12px;z-index:26;background:#12283bed;border:1px solid #80d9e6;border-radius:8px;padding:12px;color:#fff3d5;font:12px/1.35 monospace;display:grid;gap:7px}.photo-controls[hidden]{display:none}.photo-controls header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.photo-controls header strong{font-size:15px;color:#f0d780}.photo-ranges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.photo-ranges label{display:grid;gap:4px;font-size:12px}.photo-ranges input{width:100%;min-width:0;accent-color:#90e3e8;min-height:26px}.photo-actions{display:flex;flex-wrap:wrap;gap:8px}.photo-actions button{font:bold 12px monospace;min-height:39px;padding:8px 12px;border:0;background:#91e1e9;color:#183046;border-radius:4px;cursor:pointer}.photo-actions #capturePhoto{background:#e2f58a}.photo-focus{height:5px;background:#526777}.photo-focus span{height:100%;display:block}.photo-mode .mission,.photo-mode .instruments,.photo-mode .game-hud,.photo-mode .race-panel,.photo-mode .journey-panel,.photo-mode .toast{display:none}.service-mode .mission,.service-mode .race-panel{display:none}.service-mode .service-card{top:74px;padding:12px 18px;max-width:520px;box-shadow:none}.service-mode .service-card h2{font-size:26px;margin:7px 0}.service-mode .service-card p{font:13px/1.45 monospace;margin:7px 0}.service-mode .toast{top:auto;bottom:12px}.photo-mode .service-card{display:none}
@media(max-width:650px){.signal-button{top:300px;font-size:12px;max-width:90%;width:260px}.photo-controls{left:8px;right:8px;bottom:8px;padding:9px;gap:6px}.photo-ranges{gap:8px}.photo-ranges label{font-size:11px}.photo-controls header strong{font-size:13px}.photo-controls header span{font-size:10px}.photo-actions{gap:6px}.photo-actions button{font-size:10px;padding:7px 9px;min-height:36px}.service-mode .service-card{top:91px;width:calc(100% - 24px);padding:10px 12px}.service-mode .service-card h2{font-size:23px}.service-mode .service-card p{font-size:12px}.speed-limit-badge b{height:33px;width:33px;font-size:14px}}
.service-mode .service-card{top:135px;width:290px;max-width:85%;padding:10px 13px;pointer-events:none}.service-mode .service-card h2{font-size:19px;margin:4px 0}.service-mode .service-card p{font-size:12px}.merge-danger{border-color:#ff8090!important;background:#402735f5}.merge-danger strong{color:#ffacaa!important}@media(max-width:650px){.service-mode .service-card{top:120px;width:calc(100% - 30px);max-width:310px}.service-mode .service-card h2{font-size:18px}.service-mode .service-card p{font-size:11px}}
.curbside .instruments{display:none}
.passport-start{margin:9px 0 0;padding:0;font-size:10px}.passport-panel{width:min(650px,94vw);max-width:650px;max-height:90%;overflow:auto;padding:8px}.passport-panel h2{font-size:40px;margin:10px}.passport-panel .fine{font-size:12px}#passportGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0}.route-stamp{padding:12px 7px;border:1px dashed #62738b;border-radius:7px;color:#8b9bb0;font:bold 11px/1.4 monospace}.route-stamp.collected{border:2px solid #cde882;color:#e7fac4;background:#314b43}.shoot-button{top:193px;left:50%;font-size:12px;max-width:86%}@media(max-width:650px){#passportGrid{grid-template-columns:repeat(2,1fr)}.shoot-button{top:230px}.passport-panel{max-height:85%}}



/* v11 touch layout: two thumb groups, no extra listener system. */
.touch-actions{display:flex;grid-column:1/-1;justify-content:flex-end;gap:8px}
.touch-actions:not(:has(button:not([hidden]))){display:none}
.touch-controls [hidden]{display:none!important}
.touch-controls button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}
.photo-ranges input{touch-action:none;min-height:44px;cursor:ew-resize}
.photo-ranges input::-webkit-slider-thumb{min-width:24px;min-height:24px}
.photo-ranges input::-moz-range-thumb{width:24px;height:24px}
.photo-actions button{min-height:44px}
@media(pointer:coarse),(max-width:650px){
 .touch-controls{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:8px 14px;width:100%;max-width:780px;margin:auto}
 .touch-controls .steering-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}
 .touch-controls .pedal-controls,.touch-controls:has(#revControl:not([hidden])) .pedal-controls{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:6px;max-width:none;min-width:0}
 .touch-controls button{min-width:0;min-height:62px;padding:0 5px;font-size:12px;line-height:1.15;border-radius:10px}
 .touch-controls .steering-controls button{min-width:0;min-height:68px;padding:0;font-size:24px}
 .touch-controls .touch-actions button{min-height:42px;padding:6px 16px}
 .touch-controls .brake-control{background:#673a49;color:#ffedf0;border-color:#cf7386}
 .touch-controls .boost-control{background:#3d5971;color:#e9ffff;border-color:#7be8f3}
 .touch-controls button.pressed{transform:translateY(2px);filter:brightness(1.35)}
 .arcade.touch-driving .console{position:fixed;left:0;right:0;bottom:0;z-index:31;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#171b2af5;border-top:1px solid #608092;box-shadow:0 -5px 25px #09152555}
 .arcade.touch-driving{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
 .arcade.touch-driving .game-screen{height:calc(100svh - 228px);min-height:360px}
 .arcade.touch-photo .console{display:none}
 .photo-controls{bottom:max(8px,env(safe-area-inset-bottom));padding:10px}
 .photo-ranges{gap:12px}.photo-ranges label{font-size:11px}
 .photo-actions button{font-size:11px;min-height:44px;flex:1;padding:7px 8px}
}
@media(max-width:370px){.touch-controls{grid-template-columns:96px minmax(0,1fr);gap:8px}.touch-controls button{font-size:10px}.touch-controls .steering-controls{gap:6px}}
@media(pointer:coarse) and (max-height:520px){.arcade.touch-driving .game-screen{height:calc(100svh - 150px);min-height:250px}.touch-controls button,.touch-controls .steering-controls button{min-height:48px}.touch-controls{max-width:780px;grid-template-columns:128px minmax(0,1fr)}}


.start-tools{display:flex;gap:16px}.menu{overflow:auto}.driver-label{display:block;font:10px monospace;letter-spacing:.1em;margin:10px 0 6px}.driver-input{max-width:100%;width:100%;min-height:40px;background:#182c40;color:#f5edda;border:1px solid #7296a2;border-radius:5px;padding:8px;font:12px monospace}.driver-note{font:10px/1.4 monospace!important;margin:6px 0!important}.start-tools .text-button{font-size:11px;padding:8px 0}.status-overlay{overflow:auto}.status-overlay .dialog-panel{max-height:100%;overflow:auto}.cape-phone-overlay[hidden],.cape-phone-badge[hidden]{display:none!important}.photo-mode .cape-phone-launch{top:122px;bottom:auto}.cape-phone-launch{z-index:26}.touch-controls button:focus-visible{outline:3px solid #ff9dd0;outline-offset:2px}@media(max-width:650px){.menu{padding:16px!important}.intro{padding:14px!important}.menu h1{font-size:42px!important}.menu p{font-size:12px!important}.game-screen:has(#startMenu:not([hidden])){min-height:620px!important}.game-screen:has(#driverStatsMenu:not([hidden])){min-height:520px}.photo-controls{max-height:42%;overflow:auto}.photo-mode .cape-phone-launch{top:115px;right:8px}.cape-phone-launch{bottom:150px}}
@media(max-height:570px) and (min-width:600px){.menu-panel{display:block!important;max-width:440px}.menu{overflow-y:auto!important}.menu h1{font-size:42px;margin:10px 0}.driver-input{margin-top:0}.menu .driver-note{margin:5px 0}.menu .edition{font-size:10px}}
.game-screen.route-changing .mission{visibility:hidden}.game-screen.route-changing .secondary-mission{visibility:hidden}.game-screen.photo-mode .mission{display:none}.photo-mode .cape-phone-launch{top:80px!important}.photo-controls{z-index:29}

.cape-phone-launch{position:absolute;z-index:24;right:16px;bottom:158px;display:flex;align-items:center;gap:7px;min-height:44px;padding:0 13px;border:1px solid #8ad7e8;border-radius:11px;background:#142338ed;color:#eaf9f5;font:800 11px monospace;box-shadow:0 4px 15px #08101e4d;touch-action:manipulation}.cape-phone-launch svg{width:16px;height:22px}.cape-phone-badge{display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#e3f578;color:#172337;font:800 10px Arial}.cape-phone-overlay{position:absolute;inset:0;z-index:70;display:flex;align-items:center;justify-content:flex-end;padding:14px 3%;isolation:isolate}.cape-phone-scrim{position:absolute;inset:0;background:#081120b8;border:0;backdrop-filter:blur(5px);cursor:default;z-index:-1}.cape-phone-device{width:min(410px,100%);height:min(700px,100%);min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:2px solid #44516d;border-radius:26px;background:#10182a;color:#eff5e9;box-shadow:0 20px 60px #0009;font-family:Arial,Helvetica,sans-serif;animation:capePhoneRise .2s ease-out}.cape-phone-top{padding:18px 18px 12px;background:linear-gradient(120deg,#25374e,#172137);border-bottom:1px solid #35435b}.cape-phone-brand{display:flex;align-items:center;justify-content:space-between;gap:12px}.cape-phone-brand strong{font:italic 900 23px Impact,'Arial Black',sans-serif;letter-spacing:.02em;color:#e1f775}.cape-phone-brand small{display:block;font:10px monospace;color:#8fbed0;margin-top:4px}.cape-phone-close{display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;border:1px solid #52627c;border-radius:50%;background:#172638;color:#f4f5e6;font-size:22px;touch-action:manipulation}.cape-phone-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font:11px monospace;color:#b3c5da}.cape-phone-driver{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cape-phone-sim{border:1px solid #65c3c862;border-radius:20px;padding:5px 7px;color:#b2f0e1;white-space:nowrap;font-size:9px}.cape-phone-note{font:10px/1.45 monospace;margin:0;padding:9px 17px;color:#aebdd0;background:#182237;border-bottom:1px solid #2c3b50}.cape-phone-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:14px;scrollbar-width:thin;scrollbar-color:#536279 transparent}.cape-phone-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:8px 12px max(9px,env(safe-area-inset-bottom));border-top:1px solid #35445b;background:#162137}.cape-phone-tabs button{min-height:47px;border:0;border-radius:10px;background:none;color:#aebcd0;font:bold 12px Arial;touch-action:manipulation}.cape-phone-tabs button[aria-selected=true]{background:#e2f47d;color:#192738}.cape-phone-tabs span{display:block;font-size:10px;font-weight:400;margin-top:4px}.cape-phone-empty{display:grid;align-content:center;min-height:230px;padding:24px 17px;text-align:center}.cape-phone-empty .cape-phone-camera{font-size:36px;color:#84dce6}.cape-phone-empty h3{font-size:22px;line-height:1.1;margin:16px 0 8px}.cape-phone-empty p{font-size:13px;line-height:1.55;margin:0;color:#b4c2d5}.cape-phone-card{margin:0 0 15px;border:1px solid #344259;border-radius:15px;background:#1b273c;overflow:hidden}.cape-phone-card-head{padding:12px 13px;display:flex;align-items:center;gap:9px}.cape-phone-avatar{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;border-radius:50%;border:1px solid #89cbd9;background:#294453;color:#e9f49f;font:bold 11px monospace}.cape-phone-author{font-size:12px;font-weight:700;overflow:hidden}.cape-phone-author small{display:block;margin-top:3px;color:#a7bfd0;font-size:10px;font-weight:400}.cape-phone-image{display:block;width:100%;height:auto;max-height:275px;object-fit:contain;background:#111c2c;image-rendering:pixelated}.cape-phone-card-body{padding:12px 13px}.cape-phone-card-body p{font-size:12px;line-height:1.45;margin:0 0 10px;overflow-wrap:anywhere}.cape-phone-counts{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px;color:#c6f78d;font:700 11px monospace}.cape-phone-comments{display:grid;gap:7px;border-top:1px solid #344259;padding-top:10px;color:#b9c8d9;font-size:11px;line-height:1.4}.cape-phone-comments strong{color:#eff2df;margin-right:6px}.cape-phone-button{min-height:44px;border:1px solid #829b61;border-radius:9px;background:#ddef81;color:#172639;font:bold 12px Arial;padding:10px 13px;touch-action:manipulation}.cape-phone-button.secondary{border-color:#546882;background:#25354e;color:#f0f5e5}.cape-phone-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.cape-phone-actions>*{flex:1}.cape-phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cape-phone-thumb{padding:0;text-align:left;border:1px solid #40516b;border-radius:11px;overflow:hidden;background:#213047;color:#f0f3e4;touch-action:manipulation}.cape-phone-thumb img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover;image-rendering:pixelated}.cape-phone-thumb span{display:block;padding:9px;font:bold 11px/1.4 Arial;overflow-wrap:anywhere}.cape-phone-thumb small{display:block;font-size:10px;color:#a6c8cc;font-weight:400;margin-top:3px}.cape-phone-gallery-note{font:10px/1.5 monospace;color:#a6bad0;margin:0 0 12px}.cape-phone-field{display:block;font:10px monospace;color:#b8c7d7;margin-top:12px}.cape-phone-caption{display:block;width:100%;min-height:73px;resize:vertical;max-height:140px;margin-top:7px;padding:10px;border:1px solid #5e718d;border-radius:9px;background:#131f32;color:#f4f4df;font:14px/1.4 Arial;touch-action:pan-y}.cape-phone-story{padding:15px;margin-bottom:11px;border:1px solid #475675;border-left:3px solid #dded7a;border-radius:11px;background:linear-gradient(125deg,#2d3550,#1a293a)}.cape-phone-story strong{font:10px monospace;letter-spacing:.08em;color:#8fe0df}.cape-phone-story p{font-size:14px;line-height:1.5;margin:9px 0 4px;overflow-wrap:anywhere}.cape-phone-story small{font:10px monospace;color:#a9bed3}.cape-phone-feedback{font:11px/1.45 monospace;color:#dcf08d;margin:11px 0 0;min-height:0}.cape-phone-back{min-height:44px;padding:8px 0;background:none;border:0;color:#94e1e7;font:bold 12px Arial;text-align:left;touch-action:manipulation}.cape-phone-overlay button:focus-visible,.cape-phone-caption:focus-visible{outline:3px solid #ec81bc;outline-offset:2px}@keyframes capePhoneRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:540px){.cape-phone-launch{right:12px;bottom:173px;min-height:44px;padding:0 10px}.cape-phone-overlay{padding:7px}.cape-phone-device{width:100%;height:100%;border-radius:20px}.cape-phone-top{padding:12px 14px 10px}.cape-phone-brand strong{font-size:21px}.cape-phone-scroll{padding:11px}.cape-phone-note{font-size:9px;padding:7px 14px}.cape-phone-meta{margin-top:9px}.cape-phone-image{max-height:225px}.cape-phone-close{min-height:44px;min-width:44px}}
@media(max-height:570px) and (min-width:600px){.cape-phone-device{max-width:470px}.cape-phone-top{padding:8px 14px}.cape-phone-brand strong{font-size:20px}.cape-phone-meta{margin-top:3px}.cape-phone-note{padding:5px 14px}.cape-phone-tabs{padding:5px 12px}.cape-phone-tabs button{min-height:44px}.cape-phone-launch{bottom:132px}.cape-phone-image{max-height:185px}}
@media(prefers-reduced-motion:reduce){.cape-phone-device{animation:none}}


#garageMenu{z-index:55;align-items:start;padding:18px;background:#0d172bf2;overscroll-behavior:contain}.garage-panel{width:min(850px,100%);max-width:850px;margin:auto;text-align:left;padding:5px 0}.garage-header{display:flex;justify-content:space-between;align-items:start;gap:14px;position:sticky;top:-18px;z-index:2;background:#101c31;padding:15px 0 13px;border-bottom:1px solid #49617a}.garage-header h2{font-size:40px!important;margin:8px 0 6px!important}.garage-header .edition{color:#7ae9ee!important}.garage-close{flex:0 0 auto;min-height:42px;padding:9px 16px;background:#ddf579;color:#162a3d;border:0;border-radius:5px;font:bold 13px monospace}.garage-panel .garage-summary,.garage-panel .garage-notice{font:12px/1.5 monospace;color:#d5e7e6;margin:9px 0}.garage-panel .garage-notice{color:#eae89d}.garage-group{margin:22px 0}.garage-group h3{font:bold 19px monospace;margin:0 0 6px;color:#f4edc8}.garage-panel .garage-group-note{font:12px/1.5 monospace;color:#b0c4d8;margin:0 0 12px}.garage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.garage-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px;border:1px solid #526783;border-radius:8px;background:#1a2c44;box-shadow:0 3px 0 #0a1627}.garage-card.selected{border:2px solid #dff580;padding:13px;background:#233c43}.garage-card.locked{background:#15263c;border-style:dashed}.garage-item-title{display:flex;align-items:center;gap:8px;min-height:21px}.garage-item-title strong{font:bold 14px/1.35 monospace;color:#f6edcf;overflow-wrap:anywhere}.garage-swatch{width:15px;height:15px;flex:0 0 15px;border:1px solid #ffffff8a;border-radius:50%}.garage-panel .garage-card p{font:12px/1.5 monospace;color:#c2ceda;margin:0}.garage-goals{list-style:none;padding:0;margin:2px 0 5px;display:grid;gap:8px}.garage-goals li{display:grid;gap:4px;color:#b9c9da;font:11px/1.4 monospace}.garage-goals li.complete{color:#d5ed93}.garage-goals progress{appearance:none;width:100%;height:5px;border:0;border-radius:3px;overflow:hidden;background:#34475e;accent-color:#84dee3}.garage-goals progress::-webkit-progress-bar{background:#34475e}.garage-goals progress::-webkit-progress-value{background:#84dee3}.garage-goals progress::-moz-progress-bar{background:#84dee3}.garage-select{min-height:39px;padding:8px 10px;border:1px solid #87d6de;border-radius:4px;background:#81dce4;color:#142d3d;font:bold 12px monospace;margin-top:auto}.garage-select:disabled{cursor:default;background:#2b4057;color:#d1deeb;border-color:#5a6c82;opacity:1}.garage-card.selected .garage-select:disabled{background:#3c5545;color:#e1f89f;border-color:#849e67}.garage-panel .garage-included{color:#badeaf;font-size:11px;padding:5px 0 8px}.garage-storage{font:11px/1.5 monospace!important;color:#acc0d2!important;margin:18px 0 5px!important}@media(max-width:540px){#garageMenu{padding:12px}.garage-header{top:-12px;padding:12px 0;gap:10px}.garage-header h2{font-size:30px!important}.garage-header .edition{font-size:10px}.garage-close{padding:8px 11px;min-height:42px}.garage-grid{grid-template-columns:1fr}.garage-card{padding:13px}.garage-card.selected{padding:12px}.garage-group{margin:20px 0}.garage-goals{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.garage-goals li{font-size:10px}.garage-summary{max-width:260px}.garage-item-title strong{font-size:14px}.garage-select{min-height:43px}}@media(max-height:500px) and (min-width:600px){#garageMenu{padding:10px 18px}.garage-header{position:static;padding:6px 0 10px}.garage-header h2{font-size:30px!important}.garage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.masthead .brand:focus-visible{outline:3px solid #fa6daa;outline-offset:5px}

/* v15: viewport-fitted mobile cabinet with controls in their own row. */
.boost-tap{display:block;width:100%;min-height:44px;padding:5px 0 4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;pointer-events:auto;cursor:pointer;touch-action:manipulation;text-shadow:inherit}.boost-tap .meter{display:block}.boost-tap:focus-visible{outline:3px solid #fa6daa;outline-offset:4px}
.rotate-screen{position:fixed;inset:0;z-index:9990;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px;background:radial-gradient(ellipse at 50% 40%,#292343,#101127 75%);color:#fff4d6;text-align:center;font-family:monospace}
.rotate-screen h1{font:900 clamp(25px,7vw,38px)/1.1 monospace;margin:8px 0}.rotate-screen p{margin:0;font-size:14px;line-height:1.6}.rotate-screen .edition{font-size:10px;letter-spacing:.1em;color:#fa6daa}.rotate-screen .rotate-detail{max-width:320px;font-size:12px;color:#c1cbdb}.rotate-screen a{margin-top:20px;min-height:44px;padding:14px;color:#a5e1e9}.rotate-phone{width:112px;height:61px;border:3px solid #fa6daa;border-radius:13px;box-shadow:0 0 24px #fa6daa22;display:grid;place-items:center;transform:rotate(-9deg);margin-bottom:16px}.rotate-phone span{font-size:40px;color:#e4ef81}.rotate-screen a:focus-visible{outline:3px solid #fa6daa}
.drive-gesture-hint{margin:0;line-height:1.4;text-align:center;font:11px/1.5 monospace;color:#a9b9c9}.drive-gesture-hint strong{display:block;color:#eff2db;font-size:12px}.drive-gesture-hint span{display:block}.touch-held{cursor:grabbing}.touch-held+.console .drive-gesture-hint strong{color:#dbf386}
.horn-control{background:#edda9a!important;border-color:#fff0b4!important;color:#263045!important}
.desktop-horn{min-height:44px;white-space:nowrap}.desktop-horn.pressed{background:#fff1ad;color:#233042}
@media (pointer:coarse),(max-width:1024px){
 body{overscroll-behavior:none}
 .arcade,.arcade.touch-driving,.arcade:fullscreen{width:100%;max-width:none;height:100svh;height:100dvh;min-height:0;padding:max(7px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:flex;flex-direction:column;overflow:hidden}
 .masthead{height:auto;min-height:0;flex:0 0 auto;flex-wrap:wrap;gap:7px;padding-bottom:7px}
 .top-right{gap:5px;flex-wrap:wrap}.local-label{display:none}.utility{min-height:40px}
 .cabinet{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;box-shadow:none}
 .arcade .game-screen,.arcade .game-screen:has(#startMenu:not([hidden])),.arcade .game-screen:has(#driverStatsMenu:not([hidden])){height:auto!important;min-height:0!important;flex:1 1 0}
 .arcade .console,.arcade.touch-driving .console{position:relative;inset:auto;z-index:12;flex:0 0 auto;min-height:0;padding:7px 8px;background:#171d32;box-shadow:none}
 .arcade:not(.touch-driving) .console,.arcade.touch-photo .console{display:none}
 .arcade-footer,.key-guide,.console-note,.desktop-horn{display:none}
 .touch-controls{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:6px 10px;width:100%;max-width:1000px;margin:auto}
 .touch-controls .steering-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0}
 .touch-controls .pedal-controls,.touch-controls:has(#revControl:not([hidden])) .pedal-controls{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:5px;min-width:0;max-width:none}
 .touch-controls button,.touch-controls .steering-controls button{min-width:0;min-height:54px;padding:0 4px;font-size:12px;line-height:1.1}
 .touch-controls .steering-controls button{font-size:23px}
 .touch-controls .touch-actions{display:flex;grid-column:auto;gap:6px;justify-content:flex-end;flex-wrap:nowrap}
 .touch-controls .touch-actions button{min-height:54px;padding:5px 16px;font-size:12px}
 .pause-button{width:44px;height:44px;min-width:44px}
 .driver-input,#username,.cape-phone-caption,select{font-size:16px!important}
 .menu{display:block;overflow:auto;overscroll-behavior:contain;padding:18px!important}
 .menu-panel{max-width:580px;margin:0 auto;padding:0 0 16px}.menu h1{font-size:48px!important}
 .menu .start-tools{flex-wrap:wrap;gap:5px 18px}.menu .text-button{min-height:44px;margin:5px 0}
 .dialog-panel{max-height:100%;overflow:auto}.status-overlay{overscroll-behavior:contain}
 .photo-controls{max-height:44%;overflow:auto}.photo-ranges{gap:8px}
 .photo-actions button{min-height:44px}.cape-phone-device{max-height:100%;height:100%}.cape-phone-overlay{padding:8px}
}
@media (max-width:370px){.touch-controls{grid-template-columns:88px minmax(0,1fr);gap:6px}.touch-controls button{font-size:11px}.touch-controls .touch-actions button{padding:5px 9px;font-size:11px}.top-right{gap:4px}.utility{font-size:10px;padding:0 5px}.time-control select{max-width:102px}.menu h1{font-size:42px!important}}
@media (max-height:570px) and (min-width:600px){
 .arcade{padding:5px 8px}.masthead{flex-wrap:nowrap;align-items:center;gap:12px;padding-bottom:5px}.brand{font-size:11px}.brand small{display:none}.brand-mark{font-size:12px}.top-right{width:auto;margin-left:auto;flex-wrap:nowrap}.utility{min-height:34px;height:34px}.time-control select{min-height:34px}
 .touch-controls{grid-template-columns:80px minmax(0,1fr) auto;gap:8px;max-width:none}.touch-controls .touch-actions{grid-column:auto;flex-wrap:nowrap}.touch-controls button,.touch-controls .touch-actions button{min-height:44px}.touch-controls .touch-actions button{font-size:11px;padding:4px 14px}.drive-gesture-hint{font-size:9px}.drive-gesture-hint strong{font-size:11px}
 .game-hud{top:8px;left:10px;right:10px}.route{margin-right:10px}.route strong{font-size:15px}.scoreboard>strong{font-size:23px}.scoreboard>div{font-size:9px}.social-hud{display:none!important}
 .mission{top:64px;bottom:auto;left:10px;max-width:205px;min-width:0;padding:6px 9px}.mission-text>strong{font-size:17px}.mission-text>span,.mission-text p{font-size:10px}.mission-icon{font-size:22px}
 .instruments{bottom:8px;right:12px}.speed strong{font-size:42px}.bars{width:115px}.speed-limit-badge b{width:30px;height:30px;font-size:13px}.cape-phone-launch{top:64px;bottom:auto;right:10px;min-height:44px}
 .toast{top:63px;font-size:11px}.journey-panel,.race-panel{top:62px;font-size:11px;padding:7px 10px;max-width:300px}.signal-button{top:120px}.shoot-button{top:112px}
 .game-screen:has(.journey-panel:not([hidden])) .mission,.game-screen:has(.race-panel:not([hidden])) .mission{display:none}.game-screen:has(.journey-panel:not([hidden])) .toast,.game-screen:has(.race-panel:not([hidden])) .toast{top:auto;bottom:7px;max-width:45%;font-size:10px}
 .photo-controls{inset:auto 8px 5px;max-height:53%;padding:7px;gap:4px}.photo-controls header span,.photo-focus-label{display:none}.photo-ranges input{min-height:35px}.photo-actions button{padding:5px;min-height:44px}.photo-mode .cape-phone-launch{top:8px!important}
 .menu h1{font-size:40px!important}.menu-subtitle{margin-top:14px!important}
}

/* Live garage preview, with a permanent preview beside the choices. */
.garage-utility{background:#fa6daa;color:#17182f;border:1px solid #ffafd1;font-weight:900;box-shadow:0 0 16px #fa6daa22}
.garage-launch{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 20px;min-height:62px;background:#fa6daa;color:#17182f;border:1px solid #ffc5de;border-radius:7px;box-shadow:0 5px 0 #89365d;cursor:pointer;text-align:left;touch-action:manipulation}
.garage-launch strong{font:900 17px/1.2 monospace}.garage-launch span{font:700 11px/1.3 monospace;letter-spacing:.05em}.garage-launch:hover{background:#ff90bd}.garage-launch:focus-visible,.garage-tab:focus-visible{outline:3px solid #a8f3ff;outline-offset:3px}
.start-tools{align-items:center;flex-wrap:wrap;margin:14px 0 20px}.start-tools .garage-launch{order:-1;flex:1}.start-tools .text-button{flex:0 0 auto}
#garagePaused{width:100%;margin:14px 0}
#garageMenu{position:fixed;inset:0;padding:24px;background:#0b1020f7;display:flex;overflow:hidden;align-items:center;justify-content:center}
#garageMenu .garage-panel{width:min(1320px,100%);max-width:1320px;height:min(840px,100%);max-height:100%;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #62506a;border-radius:12px;background:#10182c}
#garageMenu .garage-header{position:relative;top:0;flex:none;padding:16px 22px;background:#181c32;align-items:center;border-bottom:1px solid #494158}
#garageMenu .garage-header h2{font-size:32px!important;margin:5px 0 0!important;line-height:1.15}.garage-header .edition{font-size:12px}
.garage-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,1fr);min-height:0;flex:1}
.garage-showroom{display:flex;flex-direction:column;justify-content:center;min-width:0;background:#101426;border-right:1px solid #464056;overflow:hidden}
.garage-scene{position:relative;aspect-ratio:1.5;width:100%;isolation:isolate;overflow:hidden}.garage-scene>img,.garage-scene>canvas{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated}
.garage-scene-label{position:absolute;top:16px;left:16px;font:700 12px monospace;letter-spacing:.12em;color:#fff0d7;background:#14152dcc;padding:8px 10px;border-left:3px solid #fa6daa}
.garage-build-info{padding:20px 24px 5px;display:grid;gap:10px;min-height:100px}.garage-build-info strong{color:#fff1d7;font:900 24px/1.2 monospace}.garage-build-info span{color:#b8d6e0;font:14px/1.55 monospace}
.garage-panel .garage-preview-note{font:13px/1.5 monospace;color:#fa9bc4;padding:4px 24px 22px;margin:0}
.garage-options{padding:0 20px 20px;overflow-y:auto;min-width:0;overscroll-behavior:contain;touch-action:pan-y}
.garage-tabs{position:sticky;top:0;z-index:3;display:flex;gap:5px;background:#10182cf5;padding:14px 0 10px;flex-wrap:wrap;border-bottom:1px solid #40415b}
.garage-tab{flex:1;padding:9px 5px;min-height:44px;border:1px solid #53617a;border-radius:5px;background:#222a42;color:#d5e2e9;font:700 14px monospace;cursor:pointer;touch-action:manipulation}.garage-tab[aria-pressed=true]{border-color:#ff9dc6;background:#fa6daa;color:#18182b}
#garageMenu .garage-grid{grid-template-columns:1fr}#garageMenu .garage-group{margin:18px 0}
#garageMenu .garage-summary,#garageMenu .garage-notice,#garageMenu .garage-group-note{font-size:14px;line-height:1.5}#garageMenu .garage-summary{color:#b6c7d7}
#garageMenu .garage-item-title strong{font-size:16px}#garageMenu .garage-card p{font-size:14px}#garageMenu .garage-select{min-height:44px;font-size:14px}#garageMenu .garage-goals li{font-size:12px}#garageMenu .garage-storage{font-size:12px!important}
@media(max-height:570px) and (min-width:600px){
 #garageMenu{padding:8px}#garageMenu .garage-panel{border-radius:8px}#garageMenu .garage-header{padding:8px 14px}#garageMenu .garage-header h2{font-size:23px!important}.garage-header .edition{font-size:10px}
 .garage-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr)}.garage-showroom{justify-content:flex-start;position:relative;padding-bottom:62px}.garage-scene{height:100%;aspect-ratio:auto;flex:1;min-height:0}.garage-scene>img{object-fit:cover;object-position:center 57%}.garage-scene>canvas{object-fit:contain;object-position:center 65%}
 .garage-scene-label{top:8px;left:10px;padding:5px 7px;font-size:10px}.garage-build-info{position:absolute;bottom:0;left:0;right:0;background:#101426ed;min-height:62px;padding:8px 12px;gap:4px}.garage-build-info strong{font-size:18px}.garage-build-info span{font-size:12px;line-height:1.35}.garage-panel .garage-preview-note{display:none}
 .garage-options{padding:0 12px 14px}.garage-tabs{padding:6px 0;gap:4px}.garage-tab{font-size:12px;padding:7px 3px}.garage-header .garage-close{min-height:44px}.garage-utility{padding:0 10px}
}
@media(max-width:599px){#garageMenu{padding:8px}.garage-layout{display:flex;flex-direction:column}.garage-showroom{flex:0 0 38%;border-right:0;border-bottom:1px solid #464056;position:relative}.garage-scene{height:100%;aspect-ratio:auto}.garage-scene>img{object-fit:cover}.garage-scene>canvas{object-fit:contain}.garage-build-info{position:absolute;bottom:0;background:#101426da;padding:8px 12px;width:100%;min-height:0}.garage-build-info strong{font-size:17px}.garage-build-info span{font-size:12px}.garage-panel .garage-preview-note{display:none}.garage-options{flex:1;min-height:0;padding:0 12px 12px}}

.garage-open .console,.garage-open .cape-phone-launch{visibility:hidden}

@media(max-height:570px) and (min-width:600px){#garageMenu .garage-summary,#garageMenu .garage-group-note{display:none}#garageMenu .garage-notice{font-size:12px;line-height:1.4;margin:8px 0}#garageMenu .garage-group{margin:10px 0}.garage-group h3{font-size:17px}}

.cape-privacy-note{margin:10px auto;max-width:80ch;padding:0 16px;color:#aebdce;font:12px/1.45 system-ui;text-align:center}body:has(.game-screen.playing) .cape-privacy-note{display:none}

.encounter-details{text-align:left;border:1px solid #43506c;border-radius:8px;margin:16px 0;padding:12px;font:14px/1.5 monospace}.encounter-details summary{cursor:pointer;padding:8px;font-weight:800;color:#e4ee78}.encounter-details p{font:14px/1.5 Arial,sans-serif;color:#b8c6d4}.encounter-details .passport-grid{display:grid;grid-template-columns:1fr;gap:6px}.encounter-details .route-stamp{font-size:13px;padding:9px}

.arcade{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.arcade input:not([type=range]),.arcade textarea,.cape-profile-code{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.arcade img{-webkit-user-drag:none;user-drag:none}
.photo-ranges input[type=range]{touch-action:none;min-height:44px;cursor:ew-resize;-webkit-user-select:none;user-select:none}
.photo-ranges input[type=range]::-webkit-slider-thumb{min-width:26px;min-height:26px}
.photo-ranges input[type=range]::-moz-range-thumb{width:26px;height:26px}
@media(pointer:coarse){.photo-controls{touch-action:pan-y}.photo-controls input[type=range]{touch-action:none}.photo-actions{gap:8px}}

.recovery-rescue{position:fixed;left:50%;bottom:max(4px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:95;min-height:32px;padding:6px 14px;border:1px solid #f4c37988;border-radius:6px;background:#102535ed;color:#ffe2a3;font:700 11px/1.2 monospace;touch-action:manipulation;white-space:nowrap}.recovery-rescue:disabled{opacity:.75}.rotate-screen:not([hidden])~.recovery-rescue{display:none}@media(pointer:coarse){.recovery-rescue{min-height:36px;bottom:max(3px,env(safe-area-inset-bottom));font-size:10px}}

.driver-identity{margin:16px 0;padding:15px;border:2px solid #ff7ba6;background:#132637;box-shadow:5px 5px 0 #ff7ba633;text-align:left}.driver-identity .driver-label{color:#ffd3e2;font-size:13px;letter-spacing:.13em}.driver-identity .driver-input{font-size:clamp(20px,3vw,28px);font-weight:800;background:#f1eedc;color:#213440;border:3px double #5b7079;text-transform:none;min-height:48px}.driver-identity .driver-note{margin:8px 0 0;line-height:1.4}.photo-controls input[type=range]::-webkit-slider-thumb{width:26px;height:26px}.photo-controls input[type=range]::-moz-range-thumb{width:26px;height:26px}

.start-tools .start-launch{order:-1;flex:1;min-height:62px;padding:14px 20px;text-align:left;font:900 17px/1.2 monospace}.garage-secondary{display:inline-flex;min-height:53px;padding:12px 22px;font:900 16px/1.2 monospace}.start-feedback{max-width:580px;margin:10px 0 18px;padding:14px;background:#142438;border:2px solid #ffd282;border-radius:7px;color:#fff3d6}.menu .start-feedback p{margin:0!important;font:700 14px/1.5 monospace!important;max-width:none}.start-feedback-actions{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;margin-top:12px}.start-feedback .primary-button{min-height:48px;font-size:14px}.start-feedback .text-button{margin:0;font-size:12px;text-align:left}.start-feedback-actions:has(button:not([hidden])){display:flex}.start-feedback-actions:not(:has(button:not([hidden]))){display:none}

/* Driving controls and reserved side notices. */
.brake-recovery-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.desktop-brake-hint{display:flex;align-items:center;gap:4px;color:#bdc4d3;font:10px monospace;white-space:nowrap}
.brake-recovery-controls .brake-control{display:none;min-width:76px;min-height:44px;padding:0 10px;border:2px solid #ffa6c5;border-bottom-width:5px;border-radius:9px;background:#e789a8;color:#3c1934;font:700 12px monospace;touch-action:none;user-select:none}
.brake-recovery-controls .brake-control.pressed{transform:translateY(3px);border-bottom-width:2px}
.brake-recovery-controls .recovery-rescue{position:static;inset:auto;transform:none;z-index:auto;width:140px;max-width:140px;min-height:44px;padding:6px 8px;white-space:normal;text-align:center;line-height:1.3;font-size:11px}
.arcade.has-road-controls .game-screen{height:min(calc(100svh - 181px),820px)}
.arcade.recovery-controls.has-road-controls .console{display:flex!important;justify-content:flex-start}
.recovery-controls .console .key-guide,.recovery-controls .console .console-note,.recovery-controls .console .desktop-horn,.recovery-controls .console .touch-controls,.recovery-controls .console .desktop-brake-hint,.recovery-controls .console .brake-control{display:none!important}
.game-screen.route-changing .journey-panel,.game-screen.route-changing .race-panel{top:calc(33% + 12px)}
@media(pointer:coarse),(max-width:1024px){
 .arcade.has-road-controls:not(.recovery-controls) .console{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
 .brake-recovery-controls{gap:6px}.desktop-brake-hint{display:none}.brake-recovery-controls .brake-control{display:block;width:82px;min-width:0;min-height:54px}
 .brake-recovery-controls .recovery-rescue{width:132px;max-width:132px;min-height:54px;font-size:11px}
 .console .touch-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}
 .drive-gesture-hint{min-width:0;overflow-wrap:break-word}
 .console .touch-actions{min-width:0}
 .drive-notifications{padding:5px 10px}
}
@media(max-height:570px) and (min-width:600px){
 .brake-recovery-controls .brake-control{width:72px;min-height:44px}
 .brake-recovery-controls .recovery-rescue{width:116px;max-width:116px;min-height:44px}
 .console .touch-controls .touch-actions button{padding:4px 10px}
}
@media(max-width:599px){
 .arcade.has-road-controls:not(.recovery-controls) .console{gap:7px}
 .brake-recovery-controls .brake-control{width:64px;min-height:44px}
 .brake-recovery-controls .recovery-rescue{width:100px;max-width:100px;min-height:44px}
 .console .touch-controls .drive-gesture-hint{display:none}
 .console .touch-controls{grid-template-columns:1fr}.console .touch-controls .touch-actions{flex-wrap:wrap}
}

/* One left-hand stack: notices and actions share flow instead of covering the road. */
.game-screen .drive-notifications{display:none;position:absolute;z-index:24;left:14px;bottom:14px;width:min(27%,280px);max-height:calc(65% - 14px);overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;gap:7px;padding:0;background:none;border:0;pointer-events:none}
.has-road-controls .game-screen .drive-notifications{display:flex}
.game-screen:has(.status-overlay:not([hidden])) .drive-notifications,.game-screen.photo-mode .drive-notifications{display:none}
.game-screen .drive-notifications>*{flex:0 0 auto;position:relative!important;inset:auto!important;transform:none!important;min-width:0;max-width:none!important;width:100%!important;margin:0;visibility:visible!important;text-align:left;box-shadow:none;overflow-wrap:break-word}
.drive-notifications .journey-panel,.drive-notifications .race-panel{align-items:stretch;gap:5px;padding:9px 10px;font:12px/1.35 monospace}
.drive-notifications .journey-panel strong,.drive-notifications .race-panel strong,.drive-notifications .race-panel span{font-size:12px}
.drive-notifications button{pointer-events:auto;touch-action:manipulation;min-height:44px;font-size:12px;padding:7px 8px}
.drive-notifications .mission{padding:8px 10px 12px;gap:7px}
.drive-notifications .mission-icon{font-size:24px}
.drive-notifications .mission-text{min-width:0}
.drive-notifications .mission-text>strong{font-size:22px}
.drive-notifications .mission-text p{font-size:12px;line-height:1.35;margin:3px 0 0}
.drive-notifications .toast,.drive-notifications .toast.show{opacity:1;padding:7px 9px;border:1px solid #8fc9d6;border-left:3px solid #8fe2e6;border-radius:6px;background:#122c42f2;font:700 12px/1.35 monospace;transition:none}
.drive-notifications .toast:not(.show){display:none}
.drive-notifications:has(.journey-panel:not([hidden]),.race-panel:not([hidden]),.signal-button:not([hidden])) .mission{display:none}
.drive-utilities{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.drive-utilities #hornButton{display:none;min-height:44px;padding:5px 12px;border:2px solid #fff0b4;border-radius:8px;font:700 12px monospace;touch-action:manipulation}
.console .drive-utilities .cape-phone-launch{position:relative!important;inset:auto!important;transform:none!important;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:8px;box-shadow:none}
.drive-utilities .cape-phone-launch svg{width:14px;height:21px}
.drive-utilities .cape-phone-badge{position:absolute;top:-5px;right:-4px;min-width:15px;height:15px;font-size:9px}
.recovery-controls .drive-utilities #hornButton{display:none!important}
.arcade.recovery-controls.has-road-controls .console{justify-content:space-between}
@media(pointer:coarse),(max-width:1024px){
 .arcade.has-road-controls:not(.recovery-controls) .console{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}
 .drive-utilities #hornButton{display:block}
 .console .touch-actions{flex-wrap:wrap;gap:5px}
}
@media(max-height:570px) and (min-width:600px){
 .game-screen .drive-notifications{left:10px;bottom:8px;width:min(29%,235px);max-height:calc(65% - 8px);gap:5px}
 .drive-notifications .journey-panel,.drive-notifications .race-panel{padding:6px 8px;gap:4px;font-size:12px;line-height:1.2}
 .drive-notifications .journey-panel span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .drive-notifications .mission-text p{display:none}
 .drive-notifications .mission{padding:6px 8px 10px}
 .drive-notifications .toast{padding:5px 7px;font-size:12px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .console .touch-controls .drive-gesture-hint{display:none}
 .console .touch-controls{display:flex;justify-content:flex-end}
}

@media(min-width:1025px) and (max-width:1250px){.console-note{display:none}.console .key-guide{flex:1;min-width:0}}

/* Landscape phones use the full height for the car, with controls alongside. */
@media(max-height:570px) and (min-width:600px) and (max-width:1024px),(pointer:coarse) and (max-height:570px) and (min-width:600px){
 .photo-mode .photo-controls{inset:8px 8px 8px auto;width:min(42%,280px);max-height:none;align-content:center;gap:5px;padding:8px;overflow:auto}
 .photo-mode .photo-controls header strong{font-size:12px;line-height:1.25}
 .photo-mode .photo-ranges{grid-template-columns:minmax(0,1fr);gap:2px}
 .photo-mode .photo-ranges label{grid-template-columns:65px minmax(0,1fr);align-items:center;gap:5px;font-size:11px;line-height:1.3}
 .photo-mode .photo-ranges input[type=range]{min-height:44px;margin:0}
 .photo-mode .photo-actions{gap:4px;flex-wrap:nowrap}
 .photo-mode .photo-actions button{min-width:0;min-height:44px;padding:5px 3px;font-size:11px;line-height:1.2;flex:1}
}
/* Match the actual fullscreen target, with a viewport fallback where unavailable. */
html.game-expanded,html.game-expanded body{width:100%;height:100%;margin:0;overflow:hidden;background:#101127}
html.game-expanded .arcade{width:100%;max-width:none;height:100vh;height:100dvh;min-height:0;padding:max(5px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:flex;flex-direction:column;overflow:hidden}
html.game-expanded .masthead{flex:0 0 auto;min-height:36px;height:auto;padding-block:2px 5px}
html.game-expanded .cabinet{min-height:0;flex:1;display:flex;flex-direction:column;box-shadow:none}
html.game-expanded .arcade .game-screen{height:auto!important;min-height:0!important;flex:1 1 0}
html.game-expanded .console{position:relative;flex:0 0 auto}
html.game-expanded .arcade-footer,html.game-expanded .cape-privacy-note{display:none}
.expanded-view-note{position:fixed;z-index:10002;left:50%;bottom:4px;transform:translateX(-50%);max-width:85%;padding:5px 10px;margin:0;border-radius:6px;background:#101127f2;color:#e6edce;font:10px/1.4 monospace;pointer-events:none;animation:expandedHint 6s forwards}
@keyframes expandedHint{0%,75%{opacity:1}100%{opacity:0}}
.cape-phone-overlay{position:fixed;inset:0;z-index:10020}
.cape-phone-open{overflow:hidden}
.cape-phone-overlay{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.cape-phone-overlay textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.touch-guide{position:fixed;inset:0;z-index:10010;display:grid;place-items:center;padding:20px;background:#081221f7;overflow:auto;touch-action:pan-y;color:#f3f5e2}
.touch-guide[hidden],.expanded-view-note[hidden]{display:none!important}
.touch-guide-card{max-width:600px;width:100%;text-align:center;font:15px/1.6 Arial,sans-serif}
.touch-guide-eyebrow{font:11px monospace;letter-spacing:.14em;color:#7ee0e9;margin:0 0 12px}
.touch-guide h2{font:900 36px/1.05 Impact,'Arial Black',sans-serif;margin:0 0 12px;color:#e2f47d}
.touch-guide-gesture{font:30px/1.4 monospace;letter-spacing:15px;color:#ec9dc7}
.touch-guide-gesture span{display:inline-block;animation:steerGuide 2s ease-in-out infinite}
.touch-guide-card>p strong{color:#fff}.touch-guide-extra{font-size:13px;color:#afc6d6;max-width:430px;margin:10px auto 18px}.touch-guide button{min-height:48px;padding:12px 34px}
@keyframes steerGuide{0%,100%{transform:translateX(-16px)}50%{transform:translateX(16px)}}
@media(pointer:coarse),(max-width:1024px){
 .cape-phone-overlay{padding:0;background:#10182a;align-items:stretch;justify-content:stretch}
 .cape-phone-device{width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none;animation:phoneSheetRise .32s cubic-bezier(.18,.8,.2,1)}
 .cape-phone-top{padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 9px max(16px,env(safe-area-inset-left))}
 .cape-phone-scroll{padding:16px max(16px,env(safe-area-inset-right)) 20px max(16px,env(safe-area-inset-left))}
 .cape-phone-scroll>*{max-width:740px;margin-left:auto;margin-right:auto}
 .cape-phone-tabs{padding:5px max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 .cape-phone-image{max-height:48dvh}
 .cape-phone-card-body p{font-size:14px;line-height:1.55}.cape-phone-comments{font-size:12px;line-height:1.5}
 .cape-phone-empty{min-height:0;padding:20px 17px}
 .cape-phone-empty h3{margin-top:8px}.cape-phone-empty .cape-phone-camera{font-size:26px}
}
@media(max-height:570px) and (min-width:600px){
 .cape-phone-top{padding-top:6px;padding-bottom:6px}.cape-phone-meta{margin-top:2px}.cape-phone-brand strong{font-size:21px}
 .cape-phone-note{font-size:9px;padding-block:5px}.cape-phone-scroll{padding-top:10px}
 .cape-phone-card{display:grid;grid-template-columns:1.1fr 1fr}.cape-phone-card-head{grid-column:1/-1}.cape-phone-card>.cape-phone-image{height:100%;max-height:none;object-fit:contain;align-self:start}.cape-phone-card-body{min-width:0}
 .touch-guide{padding:12px}.touch-guide-card{font-size:14px}.touch-guide h2{font-size:30px;margin-bottom:5px}.touch-guide-eyebrow{margin-bottom:7px}.touch-guide-gesture{font-size:24px}.touch-guide-extra{margin-bottom:10px}
}
@keyframes phoneSheetRise{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.cape-phone-device,.touch-guide-gesture span{animation:none}}

/* Keep the roadside service animation visible beside its short status card. */
.service-mode .service-card{left:auto;right:16px;top:102px;transform:none;width:245px;max-width:38%;padding:10px 12px;text-align:left}
.service-mode .service-card h2{font-size:20px;line-height:1.1;margin:4px 0}
.service-mode .service-card p{font:12px/1.35 monospace;margin:5px 0;overflow-wrap:anywhere}
.service-mode .service-progress{margin-top:8px}
@media(max-height:570px) and (min-width:600px){.service-mode .service-card{top:64px;right:12px;width:210px;max-width:34%;padding:8px 10px}.service-mode .service-card h2{font-size:17px}.service-mode .service-card p{display:none}.service-mode .service-card .edition{font-size:9px;line-height:1.2}.service-mode .service-progress{margin:6px 0 0}}
