@font-face{font-family:Arcade;src:local('Impact')}*{box-sizing:border-box}html{color-scheme:dark;background:#090e18}body{margin:0;color:#eef3fc;font-family:Inter,Arial,system-ui,sans-serif;font-size:16px;-webkit-tap-highlight-color:transparent}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button,dialog{border:0}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--crew-accent,#8ec5ff);outline-offset:4px}button{transition:background .18s,transform .18s,opacity .18s}button:active:not(:disabled){transform:scale(.97)}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}small{font-size:12px}h1,h2,h3,p{margin:0}em{font-style:normal;color:var(--crew-accent,#8ec5ff)}[hidden]{display:none!important}.app{min-height:100dvh;background:radial-gradient(ellipse at 50% 60%,#131e36 0,transparent 63%)}.topbar{height:90px;max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:0 48px;border-bottom:1px solid #ffffff0d}.brand{display:flex;gap:13px;align-items:center}.shield{display:flex;flex-direction:column;align-items:center;justify-content:center;width:43px;height:48px;background:#bdff62;color:#0a101c;border-radius:7px 7px 18px 18px;transform:rotate(-5deg);border:2px solid #d6ff9e}.shield small{font-size:6px;letter-spacing:1px;font-weight:900}.shield b{font-size:27px;line-height:1.1}.wordmark{font-size:17px;font-weight:900;letter-spacing:-.3px}.wordmark small{display:block;color:#778397;font-size:9px;letter-spacing:3px;margin-top:5px}.header-right{display:flex;align-items:center;gap:22px}.coin-count{font-size:14px;font-weight:800;letter-spacing:.5px;font-variant-numeric:tabular-nums}.coin-count i{color:#fbd36d;font-style:normal;margin-right:6px}.coin-count .desktop-only{color:#8792a4;font-size:11px}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:#ffffff08;border:1px solid #ffffff12;width:43px;height:43px;border-radius:14px;flex-shrink:0}.icon-button:hover{background:#ffffff18}.icon-button:disabled{opacity:.35}.game-layout{display:grid;grid-template-columns:minmax(210px,1fr) minmax(320px,450px) minmax(210px,1fr);gap:48px;max-width:1344px;margin:auto;padding:32px 48px 24px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#8a98ae}.left-panel h1{font-size:clamp(34px,3.5vw,52px);line-height:.99;letter-spacing:-2px;margin-top:18px;font-weight:950}.intro{font-size:14px;color:#8e9bb0;line-height:1.7;margin-top:17px}.mode-picker{display:grid;gap:8px;margin-top:34px}.mode{display:flex;align-items:center;gap:13px;text-align:left;padding:16px 12px;background:transparent;border:1px solid transparent;border-radius:13px}.mode>span{color:#5c6a7f;font-size:12px;font-weight:700}.mode>div{flex:1;font-weight:700;font-size:14px}.mode small{display:block;color:#76859d;font-size:11px;font-weight:400;margin-top:6px}.mode>b{color:#65738b;font-size:22px}.mode.active{background:rgba(var(--crew-rgb,142,197,255),0.035);border-color:rgba(var(--crew-rgb,142,197,255),0.188)}.mode.active>span,.mode.active>b{color:var(--crew-accent,#8ec5ff)}.route-preview{padding:23px 12px;margin-top:25px;border-top:1px solid #ffffff10}.route-preview strong{display:block;margin:12px 0;font-size:21px;font-weight:800}.route-track{height:3px;background:#ffffff0d;margin-bottom:9px;overflow:hidden;border-radius:10px}.route-track span{display:block;height:100%;background:var(--crew-accent,#8ec5ff);transition:width .5s}.route-preview small{color:#78879d;font-size:12px}.key-help{font-size:12px;color:#66758b;padding:8px 12px;display:flex;gap:9px;align-items:center}kbd{font:10px monospace;padding:5px 7px;border:1px solid #334053;border-radius:4px}.game-column{min-width:0}.stage{height:min(69vh,680px);min-height:420px;position:relative;border:1px solid #ffffff23;border-radius:28px;background:#111d36;overflow:hidden;isolation:isolate;box-shadow:0 32px 90px #0009,0 0 80px #99b4f308}.scene{position:absolute;inset:-2%;background:#111d36 url('/assets/city-detroit.webp') center bottom/cover no-repeat;transition:filter 2s,transform 2s;z-index:-3}.scene-shade{position:absolute;inset:0;background:linear-gradient(#070d1edb 0%,#0b173766 30%,#050e1c08 55%,#050b1bd9 100%);z-index:-2}canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;z-index:0;outline:none}.stage-top{position:absolute;top:18px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:2}.city-pill{display:flex;align-items:center;gap:7px;max-width:52%;height:36px;border:1px solid #ffffff1a;background:#0c16248c;border-radius:30px;padding:0 10px;font-size:11px;font-weight:800;letter-spacing:1px}.city-pill svg{width:15px}.route-dot{width:6px;height:6px;background:var(--crew-accent,#8ec5ff);border-radius:50%;box-shadow:0 0 12px var(--crew-accent,#8ec5ff)}.stage-tools{display:flex;gap:7px}.stage-tools .icon-button{background:#10182977;width:36px;height:36px;border-radius:50%}.stage-tools svg{width:17px}.hud{position:absolute;top:85px;left:0;right:0;text-align:center;pointer-events:none;transition:opacity .3s,transform .3s}.score-label{font-size:9px;letter-spacing:3px;color:#9ba8bd;font-weight:800}.score{font-weight:900;letter-spacing:-3px;font-size:61px;line-height:1.3;font-variant-numeric:tabular-nums;text-shadow:0 3px 22px #0005}.hud-meta{display:flex;gap:9px;justify-content:center;font-size:11px;color:#9aaac0}.divider{color:#50617b}.hud.idle{opacity:0;transform:translateY(-8px)}.timer{display:inline-block;margin-top:12px;padding:5px 12px;background:rgba(var(--crew-rgb,142,197,255),0.094);color:#d4ffab;border:1px solid rgba(var(--crew-rgb,142,197,255),0.2);border-radius:20px;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.timer.urgent{color:#ffb79b;border-color:#ff9c7444}.start-screen{position:absolute;inset:105px 18px auto;text-align:center;z-index:2}.start-screen .eyebrow{color:#d5e5fdaa;font-size:10px}.start-screen h2{font-size:68px;line-height:.83;letter-spacing:-4px;font-weight:950;margin:20px 0}.start-screen h2 em{display:inline-block}.start-screen p{font-size:13px;line-height:1.5;color:#acbdd5}.play-button{display:flex;justify-content:center;align-items:center;gap:8px;margin:25px auto 0;height:56px;width:min(260px,88%);border-radius:15px;background:var(--crew-accent,#8ec5ff);color:#0d1a0c;font-size:15px;font-weight:900;letter-spacing:1px;box-shadow:0 5px 0 #5c8629,0 15px 40px #9dfb4833}.play-button svg{fill:currentColor;stroke-width:0;width:19px}.play-button:hover{background:#d3ff8a}.start-screen>small{display:block;font-size:11px;margin-top:18px;color:#8c9cb3}.mode-mobile{display:none}.stage-bottom{position:absolute;bottom:18px;left:20px;right:20px;display:flex;justify-content:center;gap:10px;color:#7a90ae;font-size:8px;letter-spacing:1px;font-weight:700;pointer-events:none}.feedback{position:absolute;top:40%;left:8px;right:8px;text-align:center;pointer-events:none;color:var(--crew-accent,#8ec5ff);font-size:27px;font-weight:900;letter-spacing:-1px;opacity:0;text-shadow:0 2px 20px #121e40;z-index:2}.feedback.show{animation:feedback .9s ease-out both}.feedback small{display:block;color:#c6d5eb;font-size:12px;letter-spacing:1px;font-weight:600;margin-top:5px}@keyframes feedback{0%{opacity:0;transform:translateY(10px) scale(.8)}18%,70%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-14px)}}.combo-meter{position:absolute;top:210px;left:50%;transform:translateX(-50%);width:105px;text-align:center;font-size:9px;letter-spacing:1.3px;color:var(--crew-accent,#8ec5ff);pointer-events:none}.combo-meter>div{background:#ffffff18;height:3px;border-radius:3px;margin-top:7px;overflow:hidden}.combo-meter i{display:block;background:var(--crew-accent,#8ec5ff);height:100%;transition:width .25s}.play-controls{display:flex;gap:10px;padding-top:16px}.drop-button{flex:1;border:1px solid rgba(var(--crew-rgb,142,197,255),0.251);border-radius:15px;height:60px;background:var(--crew-accent,#8ec5ff);color:#101b11;font-size:14px;font-weight:900;letter-spacing:1.2px;box-shadow:0 4px 0 #557d2c}.drop-button small{display:block;font-size:8px;margin-top:5px;font-weight:800;letter-spacing:1px;opacity:.6}.drop-button:disabled{background:#172232;border-color:#27354a;color:#9daabe;box-shadow:0 3px 0 #0e1621}.focus-button{width:84px;border:1px solid #b1c9ff24;border-radius:15px;background:#192942;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;font-size:8px;font-weight:800;letter-spacing:1px}.focus-button svg{width:17px;height:20px;color:var(--crew-accent,#8ec5ff)}.focus-button small{font-size:8px;color:#8293ac;letter-spacing:0}.focus-button:disabled{opacity:.4}.focus-button.ready{border-color:rgba(var(--crew-rgb,142,197,255),0.4);box-shadow:0 0 18px rgba(var(--crew-rgb,142,197,255),0.071)}.bottom-nav{display:flex;justify-content:space-around;padding-top:23px}.bottom-nav button{display:flex;flex-direction:column;gap:7px;align-items:center;background:transparent;color:#90a0b7;font-size:10px;min-width:60px;min-height:45px}.bottom-nav button:hover{color:var(--crew-accent,#8ec5ff)}.bottom-nav svg{width:18px;height:18px}.record-card{padding:20px 0 26px;border-bottom:1px solid #ffffff10}.record-card>div{display:flex;gap:13px;align-items:center;margin-top:14px}.record-icon{color:var(--crew-accent,#8ec5ff);display:grid;place-items:center;font-size:28px;width:42px;height:42px;border:1px solid rgba(var(--crew-rgb,142,197,255),0.2);border-radius:50%}.record-card strong{font-size:36px;letter-spacing:-1.3px;font-variant-numeric:tabular-nums}.record-card p{color:#7a8aa1;font-size:12px;margin-top:12px}.missions{margin-top:26px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-heading h2{font-size:14px;font-weight:800}.panel-heading>span{font-size:8px;letter-spacing:1.5px;color:#8495af}.mission{display:flex;gap:12px;margin-top:22px}.mission-icon{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;border:1px solid #ffffff16;border-radius:9px;color:#9eb2d0;font-size:14px}.mission.done .mission-icon{color:var(--crew-accent,#8ec5ff);border-color:rgba(var(--crew-rgb,142,197,255),0.267);background:rgba(var(--crew-rgb,142,197,255),0.035)}.mission-body{flex:1}.mission strong{font-size:12px;display:block}.mission small{display:block;font-size:10px;margin-top:6px;color:#7889a1}.mission-progress{height:2px;background:#ffffff0b;margin-top:10px}.mission-progress i{display:block;height:100%;background:#849dbd}.mission.done .mission-progress i{background:var(--crew-accent,#8ec5ff)}.tip-card{margin-top:32px;padding:21px 18px;border-radius:18px;background:linear-gradient(120deg,#172638,#101a29);border:1px solid #ffffff0c}.tip-card .eyebrow{font-size:8px;letter-spacing:1.5px}.tip-card h3{font-size:17px;margin-top:11px}.tip-card p{font-size:12px;line-height:1.7;color:#8c9fba;margin-top:9px}.tip-icons{display:flex;align-items:center;gap:7px;margin-top:17px}.tip-icons span,.tip-icons b{display:grid;place-items:center;width:29px;height:26px;background:#273a40;color:var(--crew-accent,#8ec5ff);font-size:10px;border:1px solid #b8f55c26;border-radius:5px}.tip-icons b{margin-left:4px;background:var(--crew-accent,#8ec5ff);color:#13200d;font-size:20px}.site-links{display:grid;gap:15px;margin-top:27px}.site-links a{font-size:12px;color:#bdc7d6}.site-links small{font-size:9px;color:#5a6c85;line-height:1.5}.desktop-footer{max-width:1248px;padding:16px 0 24px;margin:auto;display:flex;justify-content:space-between;color:#485a75;font-size:8px;font-weight:700;letter-spacing:1.5px}.desktop-footer i{margin:0 6px;font-style:normal}.offline-indicator{font-size:11px;color:#e5bc86}dialog{background:#101b2c;color:#edf4ff;border:1px solid #3c4d65;border-radius:24px;padding:24px;width:min(94vw,460px);max-height:88dvh;box-shadow:0 40px 140px #000b;overscroll-behavior:contain}dialog::backdrop{background:#030712c7;backdrop-filter:blur(9px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.dialog-header h2{font-size:23px;font-weight:900;letter-spacing:-.7px}.dialog-header .icon-button{width:36px;height:36px}.dialog-header svg{width:19px}#dialog-body>p{font-size:14px;line-height:1.6;color:#9cb0cb;margin:10px 0 20px}.dialog-subtitle{font-size:12px;color:#99adc7;margin-bottom:14px;line-height:1.5}.dialog-action{display:block;width:100%;min-height:48px;margin-top:10px;padding:14px;border-radius:12px;background:var(--crew-accent,#8ec5ff);color:#132014;font-weight:800;font-size:14px;letter-spacing:.3px}.dialog-action.secondary{background:#21324b;color:#cfddf0;border:1px solid #364864}.dialog-action:disabled{opacity:.45}.result-hero{text-align:center;padding:10px 0 22px}.result-hero .eyebrow{color:var(--crew-accent,#8ec5ff)}.result-score{font-size:64px;font-weight:900;letter-spacing:-3px;margin:8px 0}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.result-grid>div{background:#18263b;border:1px solid #ffffff0a;border-radius:12px;padding:13px 5px}.result-grid strong{display:block;font-size:21px}.result-grid span{font-size:10px;color:#8da2be;display:block;margin-top:5px}.result-message{font-size:13px;color:#adc0d7;line-height:1.5;margin:17px 0}.skin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.skin-card{padding:15px 10px;border:1px solid #31425d;border-radius:14px;background:#18263c;text-align:center}.skin-art{height:65px;background:url('/assets/cash.webp') center/contain no-repeat;margin:0 8px 10px}.skin-card strong{display:block;font-size:14px}.skin-card small{display:block;color:#92a7c3;font-size:11px;margin:7px 0}.skin-card button{min-height:42px;border-radius:9px;background:#263c59;color:#e1eeff;width:100%;font-size:12px;font-weight:800}.skin-card.selected{border-color:var(--crew-accent,#8ec5ff)}.skin-card.selected button{background:var(--crew-accent,#8ec5ff);color:#132015}.route-row{display:flex;align-items:center;gap:14px;padding:17px 12px;border:1px solid #2b3f5a;border-radius:12px;margin:10px 0;background:#15233a;text-align:left;width:100%}.route-row>span{font-size:19px;color:var(--crew-accent,#8ec5ff);font-weight:900;min-width:32px}.route-row>div{flex:1}.route-row strong{font-size:16px}.route-row small{display:block;color:#8fa5c4;font-size:12px;margin-top:6px}.route-row.locked{opacity:.6}.route-row.selected{border-color:rgba(var(--crew-rgb,142,197,255),0.467)}.route-row>b{color:var(--crew-accent,#8ec5ff);font-size:15px}.setting{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #263850;gap:15px}.setting strong{font-size:14px}.setting small{display:block;color:#8ba0bc;margin-top:5px;font-size:11px}.setting input[type=checkbox]{appearance:none;width:43px;height:25px;border-radius:20px;background:#314059;position:relative;cursor:pointer;flex-shrink:0}.setting input[type=checkbox]:after{content:'';position:absolute;width:19px;height:19px;top:3px;left:3px;border-radius:50%;background:#90a0b9;transition:transform .2s}.setting input:checked{background:var(--crew-accent,#8ec5ff)}.setting input:checked:after{background:#182812;transform:translateX(18px)}.run-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;padding:14px 0;border-bottom:1px solid #293b55;gap:12px}.run-row>span{font-size:13px;color:#7991b0}.run-row strong{font-size:14px}.run-row small{display:block;font-size:11px;color:#8fa4bf;margin-top:5px}.run-row>b{font-size:18px;font-variant-numeric:tabular-nums}.empty-state{text-align:center;padding:30px 5px;color:#a0b5d0;font-size:14px;line-height:1.7}.toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);z-index:10;background:#d0ff8e;color:#14220c;font-size:13px;font-weight:700;padding:14px 22px;border-radius:12px;max-width:90vw;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 10px 30px #0005}.toast.visible{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.countdown{position:absolute;inset:0;background:#0a14287a;display:grid;place-items:center;font-weight:950;font-size:96px;color:var(--crew-accent,#8ec5ff);z-index:4}.mode-choice{width:100%;padding:18px;text-align:left;background:#18273e;border:1px solid #2d4262;border-radius:13px;margin-top:10px;font-size:16px;font-weight:700}.mode-choice small{display:block;font-size:12px;color:#92aaca;margin-top:7px}.mode-choice.selected{border-color:var(--crew-accent,#8ec5ff)}.achievement{border:1px solid rgba(var(--crew-rgb,142,197,255),0.267);background:rgba(var(--crew-rgb,142,197,255),0.031);border-radius:12px;padding:13px 16px;color:var(--crew-accent,#8ec5ff);font-size:13px;margin-top:15px}.help-list{padding-left:23px;color:#b2c5df;line-height:1.7;font-size:14px}.help-list li{margin:10px 0}.setting-note{font-size:11px!important;color:#8198b7!important}.balance-line{display:flex;justify-content:space-between;background:#192b44;padding:14px;border-radius:12px;font-size:14px;margin-bottom:16px}.balance-line b{color:#ffdd8c}.dialog-link{display:block;text-align:center;padding:14px;color:var(--crew-accent,#8ec5ff);font-size:13px}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media(min-width:1400px){.game-layout{gap:64px}.left-panel h1{font-size:54px}.stage{height:min(72vh,720px)}}
@media(max-width:1100px) and (min-width:761px){.game-layout{gap:25px;padding:25px}.topbar{padding:0 25px}.right-panel .tip-card{padding:16px 12px}.left-panel h1{font-size:36px}.mode{padding:13px 7px;gap:8px}.desktop-footer{padding:20px 25px}.intro{font-size:12px}.stage{min-height:470px}.game-layout{grid-template-columns:minmax(160px,1fr) minmax(300px,390px) minmax(160px,1fr)}}
@media(max-width:760px){html,body{overscroll-behavior:none}.app{height:100dvh;min-height:640px;display:flex;flex-direction:column}.topbar{height:64px;min-height:64px;width:100%;padding:env(safe-area-inset-top) 18px 0;border:0}.shield{width:30px;height:34px;border-radius:5px 5px 12px 12px}.shield b{font-size:21px}.shield small{font-size:4px;letter-spacing:.5px}.brand{gap:9px}.wordmark{font-size:13px}.wordmark small{font-size:7px;letter-spacing:2px;margin-top:3px}.header-right{gap:10px}.header-right .icon-button{width:35px;height:35px;border-radius:11px}.header-right svg{width:19px}.coin-count{font-size:13px}.desktop-only,.left-panel,.right-panel,.desktop-footer{display:none}.game-layout{display:block;width:100%;padding:0 12px;flex:1;min-height:0;margin:0;max-width:none}.game-column{height:100%;display:flex;flex-direction:column;min-height:0;max-width:480px;margin:auto}.stage{flex:1;height:auto;min-height:340px;border-radius:24px}.stage-top{top:16px;left:16px;right:16px}.stage-tools{gap:6px}.hud{top:76px}.score{font-size:54px}.start-screen{top:88px}.start-screen h2{font-size:clamp(53px,17vw,70px);margin:16px 0;letter-spacing:-3px}.start-screen p{font-size:12px}.play-button{height:52px;margin-top:20px;width:240px;font-size:14px}.start-screen>small{font-size:10px;margin-top:11px}.mode-mobile{display:flex;justify-content:center;gap:12px;background:transparent;font-size:10px;color:#879ab7;margin:18px auto 0;min-height:28px;align-items:center}.mode-mobile>span:first-child{color:#d6e1f2;font-weight:700}.stage-bottom{bottom:16px;font-size:7px;letter-spacing:1px}.play-controls{padding-top:12px;gap:8px}.drop-button{height:56px}.focus-button{width:74px}.bottom-nav{padding-top:14px;padding-bottom:max(10px,env(safe-area-inset-bottom));min-height:68px}.bottom-nav button{min-height:43px;font-size:10px}.bottom-nav svg{width:18px;height:18px}.combo-meter{top:187px}.feedback{font-size:24px}.toast{bottom:85px}.dialog-header h2{font-size:23px}.offline-indicator{font-size:10px}}
@media(max-width:760px) and (max-height:750px){.app{min-height:550px}.topbar{height:56px;min-height:56px}.start-screen{top:65px}.start-screen .eyebrow{font-size:8px}.start-screen h2{font-size:53px;margin:12px 0}.start-screen p{display:none}.start-screen>small{margin-top:8px}.play-button{margin-top:15px;height:47px}.mode-mobile{margin-top:10px}.hud{top:67px}.score{font-size:43px}.stage{min-height:290px}.stage-bottom{font-size:6px}.combo-meter{top:167px}.bottom-nav{padding-top:12px;min-height:63px}.play-controls{padding-top:10px}.drop-button{height:52px}}
@media(max-height:550px) and (orientation:landscape){.game-layout{grid-template-columns:1fr minmax(260px,350px) 1fr;padding:15px;gap:24px;align-items:start}.stage{height:470px}.app{height:auto}.topbar{height:58px}.left-panel h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}.feedback.show{animation:none;opacity:1}}
.eyebrow,.mode>span,.mode small,.route-preview small,.key-help,.coin-count .desktop-only,.city-pill,.score-label,.hud-meta,.start-screen>small,.stage-bottom,.combo-meter,.panel-heading>span,.mission small,.tip-card .eyebrow,.site-links small,.desktop-footer,.dialog-subtitle,.setting small,.run-row small,.setting-note,.tip-icons span{font-size:12px}
.intro,.tip-card p{font-size:14px}.mission strong,.panel-heading h2,.mode>div{font-size:14px}.bottom-nav button{font-size:12px}.drop-button small{font-size:10px;letter-spacing:.4px}.focus-button{font-size:10px}.focus-button small{font-size:10px}.stage-bottom{letter-spacing:.6px}.desktop-footer{font-size:10px;letter-spacing:1px}.score-label{letter-spacing:2px}.hud-meta{font-size:12px}.mode-mobile{font-size:12px;gap:10px}.start-screen p{font-size:14px}.result-grid span{font-size:11px}.skin-card small{font-size:12px}.tip-card p{line-height:1.55}.site-links small{line-height:1.6}.start-screen h2{font-family:Arial,system-ui,sans-serif;font-weight:950}.offline-indicator{font-size:12px}.stage-bottom span:first-child{max-width:75%;text-align:center;line-height:1.5}.tip-card .eyebrow{letter-spacing:1px}
@media(max-width:760px){.stage-bottom{font-size:10px}.stage-hint{font-size:10px}.city-pill{font-size:11px;letter-spacing:.7px}.start-screen>small{font-size:12px}.start-screen .eyebrow{font-size:11px}.start-screen p{font-size:14px}.score-label{font-size:11px}.mode-mobile{font-size:12px}.bottom-nav{padding-top:14px}.bottom-nav button{font-size:12px}.feedback small{font-size:12px}.combo-meter{font-size:10px}.focus-button{font-size:10px}}
.steer-button{width:48px;min-width:48px;min-height:56px;display:grid;place-items:center;background:#223551;border:1px solid #496083;border-radius:15px;box-shadow:0 3px 0 #0e1621}.steer-button:disabled{opacity:.3}.steer-button:not(:disabled):hover{background:#2d4967}.play-controls .drop-button{min-width:0}.play-controls .focus-button{width:66px;min-width:66px}.driving-hud{position:absolute;top:104px;left:18px;right:18px;display:flex;justify-content:space-between;pointer-events:none;z-index:2}.speedometer,.truck-health{width:68px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:3px}.speedometer strong{font-size:23px;font-weight:900;line-height:1.1;color:var(--crew-accent,#8ec5ff);font-variant-numeric:tabular-nums}.speedometer small{font-size:10px;margin-top:10px;color:#b5c3d9}.speedometer span,.truck-health span{width:100%;font-size:10px;color:#9eb3cf;margin-top:5px;font-variant-numeric:tabular-nums}.truck-health{justify-content:flex-end;text-align:right;width:83px}.truck-health small{font-size:10px;letter-spacing:1px;color:#a6b8d1}.truck-health>div{width:100%;display:flex;justify-content:flex-end;gap:4px;height:18px;padding-top:5px}.truck-health i{width:17px;height:7px;background:var(--crew-accent,#8ec5ff);border-radius:3px;box-shadow:0 0 8px rgba(var(--crew-rgb,142,197,255),0.102)}.truck-health i.lost{background:#ffffff18;box-shadow:none}.truck-health.low i:not(.lost){background:#ff8874}.driving-hud~.feedback{top:39%;font-size:25px}.lane-radar{position:absolute;bottom:39px;left:50%;transform:translateX(-50%);display:flex;gap:5px;padding:6px 8px;border-radius:9px;background:#07101fcc;pointer-events:none;z-index:2}.lane-radar i{width:22px;height:6px;border-radius:3px;background:#58708d66;border:1px solid #728dab55}.lane-radar i.selected{border-color:#ceffa0;background:rgba(var(--crew-rgb,142,197,255),0.533)}.lane-radar i.danger{background:#ff785b;border-color:#ffb18e}.stage .score{font-size:49px}.stage .combo-meter{top:185px}.stage .hud-meta{font-size:11px}.road-results{display:flex;justify-content:space-around;margin-top:15px;gap:8px;text-align:center}.road-results strong{display:block;font-size:18px;color:var(--crew-accent,#8ec5ff)}.road-results small{display:block;font-size:11px;color:#9bb1ce;margin-top:4px}.update-bar{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:14px;max-width:94vw;padding:12px 16px;border:1px solid #b4ee6544;border-radius:15px;background:#142034;box-shadow:0 10px 35px #0009;font-size:13px}.update-bar button{padding:10px 13px;border-radius:8px;background:var(--crew-accent,#8ec5ff);color:#152212;font-weight:800;white-space:nowrap}.update-bar button:disabled{background:#2c3e55;color:#9baec5}.stage .scene{background-position:center 65%;opacity:.7}.stage .scene-shade{background:linear-gradient(#071025ee 0%,#0b173755 34%,#050b1ba0 100%)}
@media(max-width:760px){.driving-hud{top:94px;left:14px;right:14px}.speedometer strong{font-size:21px}.stage .score{font-size:45px}.truck-health{width:76px}.stage .combo-meter{top:171px}.play-controls{gap:7px}.play-controls .focus-button{width:62px;min-width:62px}.steer-button{width:46px;min-width:46px;min-height:52px}.stage .feedback{font-size:21px}.stage .hud-meta{font-size:10px}.lane-radar{bottom:37px}.update-bar{top:8px;gap:8px;padding:10px;font-size:12px}}
@media(max-width:760px) and (max-height:750px){.stage .score{font-size:37px}.driving-hud{top:82px}.stage .combo-meter{top:155px}.start-screen>small{font-size:11px}.speedometer strong{font-size:19px}.truck-health span{font-size:9px}}

.music-setting{margin:22px 0 18px;padding:18px;border:1px solid rgba(var(--crew-rgb,142,197,255),0.169);border-radius:14px;background:rgba(var(--crew-rgb,142,197,255),0.027)}.music-credit{display:flex;align-items:center;gap:13px;margin-bottom:20px}.music-credit>span{font-size:26px;color:var(--crew-accent,#8ec5ff)}.music-credit strong{font-size:16px;display:block}.music-credit small{display:block;color:#9eafc7;font-size:12px;margin-top:5px;line-height:1.5}.music-setting label{display:flex;justify-content:space-between;font-size:14px;font-weight:700;gap:15px}.music-setting output{font-variant-numeric:tabular-nums;color:var(--crew-accent,#8ec5ff)}.music-setting input[type=range]{width:100%;height:36px;accent-color:var(--crew-accent,#8ec5ff);margin:6px 0;cursor:pointer;touch-action:pan-y}.music-setting .setting-note{margin:4px 0 0;line-height:1.5}

/* Cash routes and the earned-coin garage. */
.stage{--city-accent:var(--crew-accent,#8ec5ff)}.stage .scene{background-position:center 58%;opacity:1;filter:none;transition:none}#scene-transition{z-index:-3;opacity:0;transition:opacity 1.4s ease;pointer-events:none}.stage .scene-shade{background:linear-gradient(#071025ed 0%,#0b173733 38%,#050b1b30 70%,#050b1b9c 100%)}.route-dot{background:var(--city-accent);box-shadow:0 0 12px var(--city-accent)}.city-progress{position:absolute;top:184px;left:50%;transform:translateX(-50%);width:60%;max-width:250px;pointer-events:none;color:#c9d8ea}.city-progress>div{display:flex;justify-content:space-between;gap:6px;font-size:9px;line-height:1.5;font-weight:800;letter-spacing:.4px}.city-progress>div>span:last-child{color:var(--city-accent);white-space:nowrap;font-variant-numeric:tabular-nums}.city-progress>i{display:block;height:3px;border-radius:5px;background:#ffffff21;overflow:hidden;margin-top:5px}.city-progress b{display:block;height:100%;background:var(--city-accent);transition:width .4s}.stage .combo-meter{top:223px;font-size:10px;width:120px}.powerup-hud{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);max-width:96%;padding:7px 10px;border:1px solid rgba(var(--crew-rgb,142,197,255),0.267);border-radius:12px;background:#0b1628e8;color:#d9ffa4;font-size:10px;line-height:1.4;font-weight:800;white-space:nowrap;pointer-events:none;z-index:2;box-shadow:0 3px 15px #0006}.truck-health i{min-width:0;flex:1;max-width:17px}.stage .score{font-size:45px}.start-screen #route-mode{font-size:9px;letter-spacing:.7px;color:#c4d8ed}.tour-option{width:100%;display:block;padding:19px;text-align:left;border:1px solid #3c516e;background:linear-gradient(125deg,#253d32,#132537);border-radius:17px;margin:0 0 23px}.tour-option.selected{border-color:rgba(var(--crew-rgb,142,197,255),0.533)}.tour-option>.eyebrow{font-size:9px;color:#bed7a2}.tour-option strong{display:block;font-size:23px;margin:8px 0 10px;letter-spacing:-.6px}.tour-option strong b{float:right;color:var(--crew-accent,#8ec5ff)}.tour-option small{display:block;color:#b2c6df;font-size:12px;line-height:1.7}.tour-option em{display:block;margin-top:14px;font-size:12px;font-weight:800}.section-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:800;letter-spacing:1px;margin:22px 0 13px}.section-label span{font-size:8px;color:#90a6c1;letter-spacing:.5px}.city-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.city-card{display:block;background:#18283d;border:1px solid #354962;padding:0;border-radius:15px;overflow:hidden;text-align:left;min-width:0}.city-card img{display:block;width:100%;height:108px;object-fit:cover;object-position:50% 51%;opacity:.85}.city-card.selected{border-color:var(--card-accent);box-shadow:0 0 0 1px var(--card-accent)}.city-card.selected img{opacity:1}.city-card-body{display:block;padding:12px}.city-card strong{display:block;font-size:16px;letter-spacing:-.3px}.city-card small{display:block;color:#a5b9d2;font-size:11px;margin-top:5px}.city-state{display:block;color:var(--card-accent);font-size:9px;font-weight:800;letter-spacing:.5px;margin-top:12px}.city-detail{border:1px solid var(--card-accent);padding:18px;border-radius:16px;background:#18283d;margin-top:17px}.city-detail .eyebrow{color:var(--card-accent);font-size:9px;letter-spacing:1px}.city-detail h3{font-size:19px;line-height:1.35;letter-spacing:-.4px;margin-top:12px}.city-detail p{color:#d4dff0;font-size:13px;line-height:1.6;margin:12px 0}.city-detail>small{display:block;color:#9fb4d0;font-size:12px;line-height:1.5;margin-bottom:16px}.city-detail .dialog-action{font-size:13px}.city-detail .dialog-action:not(.secondary){background:var(--card-accent)}.garage-hero{display:flex;align-items:center;gap:16px;min-height:140px;background:radial-gradient(ellipse at 20% 80%,rgba(var(--crew-rgb,142,197,255),0.102),transparent 65%);padding:12px 5px}.garage-hero img{width:84px;height:110px;object-fit:contain;filter:drop-shadow(0 9px 12px #0007)}.garage-hero>div{min-width:0}.garage-hero .eyebrow{font-size:9px;letter-spacing:1.4px;color:var(--crew-accent,#8ec5ff)}.garage-hero h3{font-size:25px;line-height:1.1;letter-spacing:-.8px;margin:10px 0}.garage-hero p{font-size:10px;line-height:1.8;color:#a6bbd5}.garage-caption{font-size:12px!important;line-height:1.65!important;color:#a3b8d2!important;margin:10px 0 18px!important}.garage-tabs{display:flex;gap:4px;background:#0a1524;border:1px solid #2d405a;padding:4px;border-radius:13px;margin:18px 0}.garage-tabs button{flex:1;min-width:0;padding:12px 4px;font-size:11px;font-weight:800;border-radius:9px;background:transparent;color:#a7bbd5;min-height:44px}.garage-tabs button.active{background:#2b4236;color:#d9ffa8}.upgrade-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.upgrade-card{padding:15px 12px;border:1px solid #344961;background:linear-gradient(145deg,#20324a,#152338);border-radius:15px;display:flex;flex-direction:column;min-width:0}.upgrade-heading{display:flex;justify-content:space-between;gap:6px;align-items:center}.upgrade-icon{font-size:29px;line-height:1;color:var(--crew-accent,#8ec5ff);width:40px;height:42px;display:grid;place-items:center;background:rgba(var(--crew-rgb,142,197,255),0.051);border:1px solid rgba(var(--crew-rgb,142,197,255),0.165);border-radius:11px}.upgrade-heading small{font-size:10px;color:#b5c7de;white-space:nowrap}.upgrade-card h3{font-size:16px;margin:14px 0 12px;line-height:1.2;letter-spacing:-.2px;min-height:38px}.upgrade-levels{display:flex;gap:4px}.upgrade-levels i{height:4px;flex:1;background:#ffffff19;border-radius:3px}.upgrade-levels i.filled{background:var(--crew-accent,#8ec5ff)}.upgrade-card p{font-size:11px;line-height:1.6;color:#a4b9d5;margin:12px 0;min-height:36px}.upgrade-effect{font-size:13px;line-height:1.4;color:#deffb3;min-height:38px}.upgrade-current{font-size:10px;line-height:1.5;color:#9fb3cc;display:block;margin:10px 0 16px;min-height:30px}.upgrade-card button{min-height:45px;padding:10px 3px;background:var(--crew-accent,#8ec5ff);color:#14220f;font-size:12px;font-weight:800;letter-spacing:-.2px;border-radius:10px;width:100%;margin-top:auto}.upgrade-card button:disabled{background:#2c3e54;color:#a7bbd5;opacity:.8}.upgrade-card.maxed{border-color:rgba(var(--crew-rgb,142,197,255),0.333)}.upgrade-card.maxed button{color:var(--crew-accent,#8ec5ff)}.coins-needed{font-size:10px;text-align:center;line-height:1.4;color:#a7bad1;margin-top:9px}.purchase-notice{padding:13px 15px;background:rgba(var(--crew-rgb,142,197,255),0.082);border:1px solid rgba(var(--crew-rgb,142,197,255),0.267);color:#d7ffa5;font-size:12px;line-height:1.6;border-radius:12px;margin-bottom:15px}.powerup-guide>div{display:flex;align-items:center;gap:17px;border-bottom:1px solid #2b3e59;padding:17px 0}.powerup-guide>div>span{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;font-size:24px;font-weight:900;color:var(--pickup-color);border:2px solid var(--pickup-color);border-radius:50%;background:#15243a;box-shadow:0 0 15px #c3e0ff09}.powerup-guide h3{font-size:15px;margin-bottom:6px}.powerup-guide p{font-size:12px;line-height:1.5;color:#9fb5d2}.skin-card button:disabled{opacity:.55}
@media(max-width:760px){.stage .score{font-size:41px}.city-progress{top:169px;width:62%}.stage .combo-meter{top:207px}.powerup-hud{bottom:63px;font-size:9px}.city-progress>div{font-size:8px}.section-label span{font-size:7px}}
@media(max-width:760px) and (max-height:750px){.stage .score{font-size:35px}.city-progress{top:150px}.stage .combo-meter{top:183px}.powerup-hud{bottom:62px;padding:5px 8px}.start-screen #route-mode{font-size:8px}}
@media(max-width:360px){dialog{padding:18px}.upgrade-card{padding:12px 10px}.upgrade-card h3{font-size:14px}.garage-tabs button{font-size:10px}.garage-hero h3{font-size:22px}}
/* Mobile release: comfortable controls, safe-area support, and a compact HUD. */
.learn-button,.text-action{display:block;min-height:44px;padding:10px 14px;background:transparent;color:var(--crew-accent,#8ec5ff);font-size:.875rem;text-decoration:underline;text-underline-offset:4px;margin:8px auto 0}
.coach-tip{position:absolute;bottom:92px;left:16px;right:16px;z-index:3;border:1px solid rgba(var(--crew-rgb,142,197,255),0.333);border-radius:12px;background:#102018f0;color:#e6ffd0;padding:12px 14px;font-size:.875rem;line-height:1.4;text-align:center;pointer-events:none;box-shadow:0 6px 25px #0005}
.dialog-action.danger{background:#fdbaac;color:#34110b}.dialog-header .icon-button{min-width:44px;min-height:44px}dialog{max-height:calc(100dvh - 32px);overscroll-behavior:contain}#dialog-body>p{line-height:1.6}#dialog-body a{color:var(--crew-accent,#8ec5ff);text-decoration:underline;text-underline-offset:3px}.setting-note{font-size:.8125rem!important;line-height:1.5}.setting small,.garage-caption,.upgrade-card p,.upgrade-current,.mode-choice small,.run-row small{font-size:.875rem}.setting strong,.upgrade-card h3{font-size:1rem}.setting{gap:16px}.setting input{flex-shrink:0}
.info-page{padding:32px 20px max(40px,env(safe-area-inset-bottom));line-height:1.7}.info-page main{max-width:680px;margin:auto}.info-page h1{font-size:clamp(2rem,7vw,3.5rem);line-height:1.06;margin:16px 0 24px;letter-spacing:-.04em}.info-page h2{font-size:1.2rem;margin:28px 0 8px}.info-page p{margin:12px 0;color:#b9c9de}.info-page a{color:var(--crew-accent,#8ec5ff);text-decoration:underline;text-underline-offset:4px}.info-page .back-link{display:inline-block;padding:12px 0;margin-bottom:24px}
@media(max-width:760px){
 .app{min-height:620px;height:100dvh}.topbar{height:calc(56px + env(safe-area-inset-top));min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0}.header-right .icon-button{width:44px;height:44px}.wordmark{font-size:.875rem}.wordmark small{font-size:.625rem;letter-spacing:1.4px}.shield{display:none}.coin-count{font-size:.875rem}.game-layout{padding:0 10px}.stage{min-height:320px;border-radius:20px}.stage-top{top:12px;left:12px;right:12px}.stage-tools .icon-button{width:44px;height:44px}.city-pill{font-size:.875rem;min-height:44px;padding:8px 12px}.stage .hud{top:76px}.stage .score{font-size:2.65rem;line-height:1.05}.score-label,.stage .hud-meta{font-size:.75rem}.driving-hud{top:87px;left:14px;right:14px}.truck-health span{font-size:.75rem}.truck-health>small,.speedometer small{font-size:.75rem}.city-progress{top:158px;width:74%}.city-progress>div{font-size:.75rem;letter-spacing:0}.city-progress i{margin-top:6px}.stage .combo-meter{top:205px;font-size:.75rem}.stage .feedback{font-size:1.3rem}.powerup-hud{font-size:.75rem;bottom:66px;max-width:95%;white-space:normal;text-align:center}.stage-bottom{font-size:.75rem;letter-spacing:.2px;left:12px;right:12px}.stage-bottom #stage-hint{max-width:72%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.start-screen{top:72px}.start-screen h2{font-size:clamp(3rem,15vw,4rem);margin:10px 0;line-height:.92}.start-screen .eyebrow{font-size:.75rem;letter-spacing:1px}.start-screen p{display:none}.play-button{margin-top:16px;width:min(86%,280px);height:54px;font-size:1rem}.mode-mobile{font-size:.875rem;margin:4px auto 0;min-height:44px;gap:8px}.learn-button{margin:0 auto;font-size:.875rem}.start-screen #route-mode{font-size:.75rem;letter-spacing:.3px;margin-top:6px}.play-controls{gap:8px;padding-top:8px}.steer-button{min-height:56px;min-width:50px}.play-controls .focus-button{width:72px;min-width:72px;font-size:.75rem}.focus-button small{font-size:.75rem}.drop-button{height:56px}.drop-button small{font-size:.75rem}.bottom-nav{padding-top:6px;min-height:66px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.bottom-nav button{min-height:48px;font-size:.875rem}.bottom-nav svg{width:20px;height:20px}.garage-tabs button{font-size:.875rem;padding:10px 6px;min-height:44px}.section-label{font-size:.875rem}.section-label span{font-size:.75rem}.city-state,.city-card small{font-size:.75rem}.coach-tip{bottom:90px}.dialog-header h2{font-size:1.5rem}
}
@media(max-width:760px) and (max-height:740px){.start-screen{top:65px}.start-screen h2{font-size:3rem;margin:6px 0}.start-screen>.eyebrow{display:none}.start-screen #route-mode{display:none}.play-button{margin-top:12px}.stage .hud{top:70px}.stage .score{font-size:2.25rem}.driving-hud{top:80px}.city-progress{top:145px}.stage .combo-meter{top:183px}.stage .feedback{top:46%}.stage{min-height:320px}.coach-tip{font-size:.8125rem;padding:8px 10px}.start-screen .learn-button{min-height:40px}}
@media(orientation:landscape) and (max-height:600px){.app{height:auto;min-height:100dvh}.left-panel,.right-panel,.desktop-footer{display:none}.game-layout{display:block;padding:10px}.game-column{max-width:620px;margin:auto}.stage{height:560px;min-height:560px}.topbar{max-width:640px}.bottom-nav{padding-bottom:max(12px,env(safe-area-inset-bottom))}}

/* Baggtopia: sunset gold, streetwear color, and the player's crew. */
:root{--crew-accent:#8ec5ff;--crew-rgb:142,197,255;--crew-secondary:#ffc96b;--crew-deep:#2457aa}
html{background:#110f1c}body{color:#f5f1ff}.app{background:radial-gradient(ellipse at 4% 0%,#57345242,transparent 44%),radial-gradient(ellipse at 92% 90%,#1544554d,transparent 45%),radial-gradient(ellipse at 50% 45%,#24365b6b,transparent 65%)}
.topbar{border-color:#ffffff14}.wordmark small,.intro,.record-card p,.mission small,.route-preview small{color:#b0adc5}.eyebrow{color:#bbb1c8}.shield{background:#ffcf77;border-color:#ffe2ad;color:#24182a}.left-panel h1 em{color:#ffcf77}.coin-count i{color:#ffcf77}
.stage{min-height:560px;border-color:rgba(var(--crew-rgb),.36);box-shadow:0 28px 80px #0008,0 0 55px rgba(var(--crew-rgb),.08)}.stage[data-state=idle] .scene-shade{background:linear-gradient(#171727f5,#172244d9 54%,#241329e6)}.stage[data-state=idle] canvas{opacity:.2}.stage[data-state=idle] .stage-bottom{color:#c3b4d6}
.start-screen{top:77px;left:18px;right:18px}.start-screen>.eyebrow{color:#ffda96;font-size:10px;letter-spacing:1.6px}.start-screen h2{font-size:clamp(26px,3vw,40px);line-height:1.1;letter-spacing:-1.9px;margin:10px 0 15px;white-space:nowrap;text-shadow:0 3px 16px #0005}.start-screen h2 em{color:#ffd384}
.lobby-crew{position:relative;display:block;width:100%;height:clamp(150px,23vh,218px);padding:0;overflow:hidden;border-radius:18px;border:1px solid #f8c57877;background:#25213b;text-align:left;box-shadow:0 12px 30px #0004}.lobby-crew img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 10%}.lobby-crew-caption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:flex-end;padding:24px 14px 12px;background:linear-gradient(transparent,#151223f7);color:#fff}.lobby-crew-caption b{display:block;font-size:10px;letter-spacing:1.5px}.lobby-crew-caption small{display:block;font-size:12px;margin-top:4px;color:var(--crew-accent)}.lobby-crew-caption i{font-style:normal;font-size:24px;color:#ffd384}
.play-button{background:linear-gradient(110deg,#ffdb93,#ffb864);color:#28192b;box-shadow:0 4px 0 #99552f,0 13px 28px #e8a1532b;margin-top:16px;letter-spacing:.6px}.play-button:hover{background:#ffe4ae}.drop-button:not(:disabled){background:var(--crew-accent);color:#191728;box-shadow:0 4px 0 var(--crew-deep)}.focus-button{background:#26223c}.focus-button small{color:#c0b9d0}.focus-button.ready{background:linear-gradient(130deg,#35283d,#233447);border-color:var(--crew-secondary)}.focus-button.ready svg{color:var(--crew-secondary)}.learn-button{color:#e6d5ef;margin:4px auto 0}.start-screen>small{margin-top:12px}.mode-mobile{color:#d2c5de}.mode.active{background:linear-gradient(110deg,rgba(var(--crew-rgb),.1),#36233444)}.mode small{color:#b0adc5}.route-track span{background:linear-gradient(90deg,var(--crew-accent),var(--crew-secondary))}.record-icon{color:#ffc96b;border-color:#ffc96b55}.record-card strong{color:#ffe0a8}
.bottom-nav button{min-width:0;flex:1;color:#b8adc9}.bottom-nav button[data-dialog=crew]{color:var(--crew-accent)}.bottom-nav button:hover{color:#ffe0a8}dialog{background:linear-gradient(155deg,#262239,#171a2d);border-color:rgba(var(--crew-rgb),.3)}.dialog-action:not(.secondary):not(.danger){background:var(--crew-accent);color:#171627}.dialog-action.secondary{background:#302b44;border-color:#615571;color:#ece1f5}.coach-tip{background:#201e35f5;color:#fff0d8;border-color:#ffcf7780}.setting input{accent-color:var(--crew-accent)}
.crew-portrait{display:block;stroke:none;fill:none;width:100%;height:100%;overflow:hidden}.crew-driver{position:absolute;left:14px;bottom:37px;z-index:2;width:46px;height:46px;border:2px solid var(--crew-accent);border-radius:50%;padding:0;overflow:hidden;background:#25213b;box-shadow:0 3px 15px #0008}.stage[data-state=idle] .crew-driver{display:none}.crew-panel{margin-top:25px;padding:21px 17px;background:linear-gradient(140deg,#392638a6,#20273e);border:1px solid #ffcf7726;border-radius:18px}.crew-panel>.eyebrow{font-size:9px;letter-spacing:1.4px;color:#ffd08d}.crew-panel h3{font-size:20px;margin:10px 0}.crew-panel p{font-size:13px;line-height:1.6;color:#c6b8cd}.crew-panel-choice{margin-top:17px;display:flex;align-items:center;gap:12px;width:100%;padding:10px;background:#0f11224d;border:1px solid rgba(var(--crew-rgb),.3);border-radius:13px;text-align:left}.crew-panel-choice>.crew-portrait{width:48px;height:48px;flex-shrink:0;border-radius:50%;border:1px solid var(--crew-accent)}.crew-panel-choice strong{display:block;font-size:14px;color:var(--crew-accent)}.crew-panel-choice small{display:block;font-size:12px;margin-top:5px;color:#d2c4dc}
.crew-intro{color:#d2c3df;font-size:14px;margin:0 0 20px}.crew-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.crew-card{display:flex;flex-direction:column;overflow:hidden;min-width:0;padding:0;border:1px solid #615368;border-radius:15px;background:#211d32;text-align:left}.crew-card>.crew-portrait{height:auto;aspect-ratio:280/385;background:#38283b}.crew-card-info{display:block;width:100%;padding:12px 10px;background:linear-gradient(150deg,#30273b,#1b2036)}.crew-card strong{display:block;font-size:14px;line-height:1.3;color:#fff2e8}.crew-card small{display:block;font-size:11px;line-height:1.5;color:#c7b9cf;margin-top:5px;min-height:33px}.crew-card-state{display:block;font-size:10px;letter-spacing:.8px;font-weight:800;color:var(--card-accent);padding-top:11px}.crew-card[aria-pressed=true]{border-color:var(--card-accent);box-shadow:0 0 0 2px var(--card-accent),0 6px 24px #0004}.crew-card[aria-pressed=true] .crew-card-state{color:#fff1d8}.crew-note{color:#cbbdd7;margin:18px 0!important}.result-crew{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:20px;color:var(--crew-accent);font-size:13px;font-weight:700}.result-crew .crew-portrait{width:45px;height:45px;border-radius:50%;border:2px solid var(--crew-accent)}
@media(max-width:760px){.app{min-height:640px}.stage{min-height:430px}.start-screen{top:72px;left:14px;right:14px}.start-screen h2{font-size:clamp(26px,8.3vw,38px);letter-spacing:-1.4px;margin:9px 0 12px}.start-screen>.eyebrow{font-size:10px;letter-spacing:1.2px}.lobby-crew{height:clamp(150px,23dvh,218px)}.play-button{margin-top:12px;width:92%;height:54px}.start-screen .learn-button{font-size:13px;margin:0 auto;min-height:40px}.start-screen #route-mode{margin-top:7px;font-size:10px}.bottom-nav button{font-size:12px;gap:6px}.crew-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.crew-card strong{font-size:15px}.crew-card small{min-height:0;font-size:12px}.crew-card-state{font-size:11px}.crew-driver{width:44px;height:44px;left:10px}.lobby-crew-caption{padding:24px 12px 10px}}
@media(max-width:760px) and (max-height:740px){.start-screen{top:66px}.start-screen>.eyebrow,.start-screen #route-mode{display:none}.start-screen h2{font-size:28px;margin:4px 0 9px}.lobby-crew{height:132px}.lobby-crew-caption small{font-size:11px}.lobby-crew-caption b{font-size:9px}.start-screen .learn-button{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.stage{height:560px;min-height:560px}.lobby-crew{height:190px}}

/* Crew performances have their own space: no dialogue sits over a driving lane. */
.crew-comms{display:flex;align-items:center;gap:12px;height:78px;flex-shrink:0;margin-top:8px;padding:4px 12px 4px 4px;border:1px solid rgba(var(--crew-rgb),.25);border-radius:16px;background:linear-gradient(105deg,#39283e,#161b2d);overflow:hidden}
.comms-character{flex-shrink:0;height:74px;width:56px;padding:0;background:radial-gradient(ellipse at 50% 85%,rgba(var(--crew-rgb),.16),transparent 65%);border-radius:12px}
#comms-avatar{display:block;width:100%;height:100%}.action-portrait{display:block;width:100%;height:100%;stroke:none;overflow:hidden;fill:none;object-fit:contain}
.comms-dialogue{flex:1;min-width:0}.comms-dialogue>div{display:flex;align-items:center;gap:8px;justify-content:space-between}.comms-dialogue strong{font-size:12px;color:var(--crew-accent)}.comms-dialogue #comms-action{font-size:8px;letter-spacing:1px;color:#e7c88f;white-space:nowrap}.comms-dialogue p{font-size:12px;line-height:1.45;color:#f0e8f7;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.crew-comms[data-action=stack] #comms-avatar{animation:crew-lift .6s ease-out both}.crew-comms[data-action=celebrate] #comms-avatar,.action-preview[data-action=celebrate] .action-portrait{animation:crew-cheer .65s ease-out both}.crew-comms[data-action=brace] #comms-avatar{animation:crew-brace .4s ease-out both}
@keyframes crew-lift{0%{transform:translateY(5px) scale(.96)}60%{transform:translateY(-3px)}100%{transform:none}}@keyframes crew-cheer{0%{transform:translateY(3px) scale(.94)}50%{transform:translateY(-5px) rotate(-3deg)}100%{transform:none}}@keyframes crew-brace{0%{transform:translateX(4px) rotate(4deg)}50%{transform:translateX(-2px)}100%{transform:none}}
.action-preview{display:flex;align-items:center;gap:16px;margin:16px 0 8px;padding:10px 16px;background:#171929;border-radius:16px;border:1px solid rgba(var(--crew-rgb),.2)}.action-preview>div{width:78px;height:156px;flex-shrink:0}.action-preview p{font-size:14px;line-height:1.5}.action-preview strong,.action-preview span,.action-preview small{display:block}.action-preview strong{color:var(--crew-accent);margin-bottom:8px}.action-preview small{font-size:11px;color:#b9aec9;margin-top:10px}.action-buttons{display:flex;gap:6px}.action-buttons button{flex:1;min-width:0;min-height:44px;font-size:12px;background:#30283f;border:1px solid #635373;border-radius:9px}.action-buttons button[aria-pressed=true]{border-color:var(--crew-accent);color:var(--crew-accent)}.result-crew .action-portrait{height:108px;width:62px}.result-crew{margin-bottom:10px}
.academy-link{display:block;margin-top:18px;padding:20px 16px;width:100%;text-align:left;background:linear-gradient(120deg,#422947,#232b43);border:1px solid #ffcf773d;border-radius:16px}.academy-link .eyebrow{color:#ffcf77;font-size:9px}.academy-link strong{display:block;font-size:22px;margin:10px 0}.academy-link small{font-size:12px;color:#d7c8e3}.bottom-nav [data-dialog=academy]{color:#ffcf77}
.story-header h3{font-size:28px;letter-spacing:-.8px;margin:10px 0}.story-header>.eyebrow{font-size:9px;letter-spacing:1.1px;color:#ffcf77}.story-header p{font-size:12px;line-height:1.5;color:#c9bbd4}.story-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:18px 0}.story-badges>div{padding:10px 4px;border:1px solid #5a486b;border-radius:10px;text-align:center;opacity:.55}.story-badges b{display:block;color:var(--rival);font-size:19px}.story-badges span{display:block;margin-top:6px;font-size:10px;line-height:1.4}.story-badges .current{opacity:1;border-color:var(--rival)}.story-badges .earned{opacity:1;background:#8de7cd12;border-color:#8de7cd44}
.story-scene{padding:10px 12px;background:radial-gradient(ellipse at 0% 0%,#58264399,transparent 75%),#131728;border:1px solid #615270;border-radius:17px;overflow:hidden}.rival-card{display:flex;align-items:center;gap:12px}.story-portrait{width:72px;height:82px;stroke:none;flex-shrink:0;border-radius:12px;border:1px solid var(--rival)}.rival-card strong{color:var(--rival);font-size:14px}.rival-card p,.crew-reply p{font-size:13px;line-height:1.5;margin-top:6px;color:#eee2f4}.crew-reply{display:flex;align-items:center;flex-direction:row-reverse;gap:14px;text-align:right;margin-top:4px}.crew-reply>.action-portrait{width:58px;height:116px;flex-shrink:0}.crew-reply strong{font-size:13px;color:var(--crew-accent)}
.story-question,.story-goal{margin-top:22px}.story-question h4,.story-goal h4{font-size:17px;line-height:1.5;margin:10px 0 16px;font-weight:700}.story-question .eyebrow,.story-goal .eyebrow{font-size:10px;color:#ffcf77}.story-answers{display:grid;gap:9px}.story-answers button{display:flex;align-items:center;gap:12px;text-align:left;min-height:58px;padding:13px;background:#302b44;border:1px solid #6a587c;border-radius:12px;font-size:14px;line-height:1.45}.story-answers button b{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#ffcf77;background:#171728}.story-answers button.correct{border-color:#8de7cd;background:#8de7cd18}.story-answers button.incorrect{border-color:#ffac9b;background:#ffac9b12}.story-answers button:disabled{color:#ccc2d5}.story-goal p{font-size:12px;color:#bfb3ce}.story-goal .route-track{height:5px}.mentor-reply{margin-top:18px;padding:16px;background:#ffcf7710;border-left:3px solid #ffcf77;border-radius:0 12px 12px 0}.mentor-reply strong{color:#ffcf77;font-size:13px}.mentor-reply p{font-size:14px;line-height:1.6;margin-top:7px;color:#eee2f4}.choice-reaction{display:flex;align-items:center;gap:12px;margin:12px 0}.choice-reaction .action-portrait{width:58px;height:116px;flex-shrink:0}.choice-reaction p{font-size:14px;line-height:1.5}.choice-reaction span,.choice-reaction b{display:block;margin-top:6px}.choice-reaction strong,.choice-reaction b{color:var(--crew-accent)}.story-result{padding:16px;border:1px solid #ffd18c44;border-radius:13px;margin:16px 0;background:#ffcf7708}.story-result>.eyebrow{font-size:9px;color:#ffcf77}.story-result>strong,.story-result>small{display:block;margin-top:8px}.story-result>strong{font-size:15px}.story-result>small{font-size:12px;line-height:1.5;color:#c8b9d5}.story-complete{text-align:center}.story-complete>.action-portrait{width:110px;height:210px;margin:auto}.story-complete h3{font-size:28px;margin:12px 0}.story-complete p{font-size:14px;line-height:1.6;color:#d6c9df}
/* Keep play controls inside short phone viewports, including the crew strip. */
@media(max-width:760px) and (orientation:portrait){
 .app{height:100dvh;min-height:556px}.stage{min-height:300px}.game-layout{flex:1;min-height:0}.game-column{min-height:0}.crew-comms{height:72px;margin-top:6px;gap:10px;padding-right:10px}.comms-character{height:68px;width:48px}.comms-dialogue strong{font-size:12px}.comms-dialogue p{font-size:12px}.bottom-nav{min-height:62px}.bottom-nav button{font-size:11px}.play-controls{flex-shrink:0}.stage-bottom{font-size:10px}.lobby-crew{height:clamp(90px,calc(100dvh - 600px),180px)}.start-screen{top:66px}.start-screen h2{font-size:28px;margin:4px 0 9px}.start-screen>.eyebrow,.start-screen #route-mode{display:none}.start-screen .learn-button{font-size:12px;min-height:40px}.mode-mobile{font-size:12px}.stage .hud{top:70px}.stage .score{font-size:36px}.driving-hud{top:82px}.city-progress{top:145px}.stage .combo-meter{top:182px}.crew-driver{bottom:36px}.coach-tip{bottom:84px}.stage .feedback{top:43%}
}
@media(max-width:760px) and (max-height:640px) and (orientation:portrait){.lobby-crew{height:70px}.lobby-crew img{object-position:50% 20%}.start-screen{top:61px}.start-screen h2{font-size:25px;margin:3px 0 6px}.play-button{height:48px;margin-top:8px}.mode-mobile{min-height:40px}.crew-comms{height:64px;margin-top:4px}.comms-character{height:60px}.crew-comms #comms-action{display:none}.stage .hud{top:64px}.stage .score{font-size:31px}.city-progress{top:131px}.stage .combo-meter{top:166px}}
@media(prefers-reduced-motion:reduce){.crew-comms *,.action-preview *{animation:none!important;transition:none!important}}

.stage[data-state=paused]+.crew-comms *{animation-play-state:paused}

/* Keep crew callouts readable and fully visible at larger text sizes. */
.crew-comms{height:auto;min-height:88px;overflow:visible;padding-top:8px;padding-bottom:8px}
.comms-dialogue strong{font-size:.875rem}.comms-dialogue p{font-size:.875rem;line-height:1.45;display:block;overflow:visible;-webkit-line-clamp:unset}
.comms-dialogue #comms-action{font-size:.75rem;letter-spacing:.3px}.comms-dialogue>div{flex-wrap:wrap;gap:4px 8px}
.game-update-settings{margin-top:18px}.game-update-settings .setting-note{font-size:.875rem;line-height:1.5}
.update-bar{font-size:.875rem}.update-bar button{min-height:44px}

/* Optional song discovery stays separate from game playback. */
.song-link-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:14px 16px;margin-top:10px;background:#151e30;border:1px solid #ffffff18;border-radius:14px}.song-link-card strong{display:block;font-size:16px;line-height:1.4}.song-link-card>div>span{display:block;font-size:14px;line-height:1.5;color:#b2bdd0}.spotify-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #ffffff35;border-radius:24px;background:#202c41;color:#fff;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none}.spotify-link:hover{background:#30415c}.music-setting .spotify-link{margin-top:12px}

/* Clear-road layout: the canvas owns the road; all text and controls live outside it. */
.run-dashboard{height:98px;flex:0 0 98px;padding:4px 2px 6px;position:relative;min-width:0}
#run-dashboard .stage-top{position:static;inset:auto;display:grid;grid-template-columns:minmax(76px,1fr) minmax(72px,1fr) auto;gap:6px;height:44px;z-index:auto}
#run-dashboard .city-pill{max-width:100%;width:max-content;height:44px;min-height:44px;padding:0 9px;font-size:11px;letter-spacing:.3px;gap:5px;overflow:hidden}
#run-dashboard .city-pill #city-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#run-dashboard .city-pill svg{width:12px;flex-shrink:0}
#run-dashboard .stage-tools{gap:4px}#run-dashboard .stage-tools .icon-button{height:44px;width:44px}
#run-dashboard .hud{position:static;inset:auto;opacity:1;transform:none;transition:none;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;min-width:0}
#run-dashboard .score-label,#run-dashboard #best-inline,#run-dashboard .divider{display:none}
#run-dashboard .score{font-size:27px;line-height:1.05;letter-spacing:-1px;max-width:100%;font-variant-numeric:tabular-nums}
#run-dashboard .hud-meta{display:flex;font-size:10px;line-height:1.3;color:#d2c9df;gap:0}
#run-dashboard .timer{position:static;margin:0;padding:0;border:0;background:none;font-size:11px;line-height:1.2;color:#ffe0a8}
#run-dashboard .hud:has(.timer:not([hidden])) .hud-meta{display:none}
.run-readouts{display:flex;align-items:center;justify-content:space-between;gap:12px;height:26px;min-width:0}
#run-dashboard .driving-hud{position:static;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0}
#run-dashboard .speedometer{width:auto;display:flex;align-items:center;gap:3px;flex-wrap:nowrap}
#run-dashboard .speedometer strong{font-size:13px;line-height:1}#run-dashboard .speedometer small{font-size:9px;margin:0}
#run-dashboard #road-distance,#run-dashboard #near-misses,#run-dashboard .truck-health>small{display:none}
#run-dashboard .truck-health{width:58px;min-width:40px;display:flex;align-items:center}
#run-dashboard .truck-health>div{height:14px;padding:3px 0;gap:3px;width:100%}
#run-dashboard .lane-radar{position:static;inset:auto;transform:none;background:none;padding:0;gap:4px;border-radius:0;flex-shrink:0}
#run-dashboard .lane-radar i{width:16px;height:6px}
#run-dashboard .combo-meter{position:static;inset:auto;transform:none;width:auto;min-width:0;font-size:10px;letter-spacing:0;white-space:nowrap}
#run-dashboard .combo-meter>div{display:none}
.run-signals{height:18px;min-height:18px;overflow:hidden}
#run-dashboard .powerup-hud{position:static;inset:auto;transform:none;background:none;box-shadow:none;border:0;border-radius:0;margin:0;padding:0;font-size:10px;line-height:18px;color:#e2f9c1;max-width:100%;text-align:center;white-space:nowrap}
#run-dashboard .city-progress{inset:auto;transform:none;max-width:1px}
body[data-run-active=false] .run-dashboard{height:50px;flex-basis:50px}body[data-run-active=false] .run-readouts,body[data-run-active=false] .run-signals,body[data-run-active=false] .run-dashboard .hud{visibility:hidden}
body[data-run-active=false] .play-controls,body[data-run-active=false] .crew-comms{display:none}
body[data-run-active=true] .song-link-card,body[data-run-active=true] .bottom-nav{display:none}
body[data-run-active=true] .stage{min-height:200px}
#stage .start-screen{inset:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
#stage .start-screen h2{font-size:28px;margin:4px 0 10px;flex-shrink:0}#stage .start-screen>.eyebrow,#stage .start-screen>#route-mode{display:none}
#stage .lobby-crew{height:160px;min-height:64px;max-height:210px;flex:1;width:100%}
#stage .play-button{flex-shrink:0;height:50px;margin-top:12px}#stage .mode-mobile{flex-shrink:0;min-height:40px;margin:2px auto 0}
#stage .learn-button{flex-shrink:0;min-height:40px;margin:0;font-size:12px}
.play-controls{flex:0 0 auto;display:grid;grid-template-columns:56px minmax(76px,1fr) 56px 76px;gap:8px;padding:8px 0 0;min-width:0}
.play-controls .steer-button{width:56px;min-width:0;height:58px;min-height:58px}
.play-controls .drop-button{width:100%;height:58px;font-size:17px;letter-spacing:1px}
.play-controls .focus-button{width:76px;min-width:0;min-height:58px;font-size:11px;letter-spacing:.3px}
.play-controls .focus-button small{font-size:10px;line-height:1.2;white-space:nowrap}.play-controls .focus-button svg{height:18px;width:18px}
#crew-comms{height:76px;min-height:76px;flex:0 0 76px;margin:6px 0 0;padding:4px 10px 4px 4px;gap:10px;overflow:hidden}
#crew-comms .comms-character{width:42px;height:64px;min-width:42px;min-height:44px;flex-shrink:0}
#crew-comms .comms-copy{flex:1;min-width:0;max-height:66px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
#crew-comms .comms-dialogue{min-width:0}#crew-comms .comms-dialogue strong{font-size:12px}#crew-comms .comms-dialogue p{font-size:12px;line-height:1.4;margin-top:4px}
#crew-comms #comms-action{display:none}
#crew-comms .coach-tip,#crew-comms .feedback{position:static;inset:auto;transform:none;z-index:auto;margin:0;padding:0;text-align:left;border:0;border-radius:0;box-shadow:none;background:none;opacity:1;animation:none;letter-spacing:0;text-shadow:none;pointer-events:none;line-height:1.4}
#crew-comms .coach-tip{font-size:13px;color:#ffe5b9}#crew-comms .feedback{display:none;font-size:14px;color:var(--crew-accent)}
#crew-comms .feedback small{font-size:11px;letter-spacing:0;line-height:1.35;margin-top:3px}
#crew-comms.showing-feedback .comms-dialogue{display:none}#crew-comms.showing-feedback .feedback{display:block}
#crew-comms.showing-coach .comms-dialogue,#crew-comms.showing-coach .feedback{display:none}
body[data-play-state=paused] #crew-comms *{animation-play-state:paused}
.pause-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.pause-shortcuts button{min-height:48px;border:1px solid #675578;border-radius:12px;background:#29243a;color:#ecdfef;font-size:13px}
@media(max-width:760px){
 .app{height:100dvh;min-height:0}.game-layout{min-height:0;padding:0 8px}.game-column{min-height:0}.stage{flex:1 1 0;min-height:220px;height:auto}
 body[data-run-active=true] .topbar{display:none}body[data-run-active=true] .game-layout{padding-top:env(safe-area-inset-top);padding-bottom:max(6px,env(safe-area-inset-bottom))}
 body[data-run-active=true] .game-column{height:100%;max-width:480px}
 #run-dashboard .score{font-size:26px}.bottom-nav{flex-shrink:0}.song-link-card{flex-shrink:0;padding:8px 12px;margin-top:6px;gap:8px}.song-link-card strong{font-size:13px}.song-link-card>div>span{font-size:11px}.song-link-card .spotify-link{font-size:12px;min-height:44px;padding:6px 10px}
}
@media(max-width:360px){.play-controls{grid-template-columns:48px minmax(64px,1fr) 48px 68px;gap:6px}.play-controls .steer-button{width:48px}.play-controls .focus-button{width:68px}#run-dashboard .score{font-size:23px}#run-dashboard .city-pill{font-size:10px;padding:0 6px}.run-readouts{gap:8px}}
@media(max-width:760px) and (max-height:640px){#crew-comms{height:64px;min-height:64px;flex-basis:64px}#crew-comms .comms-character{height:56px}#crew-comms .comms-copy{max-height:54px}#stage .start-screen{inset:8px 12px}#stage .start-screen h2{font-size:24px;margin-bottom:6px}#stage .play-button{height:46px;margin-top:8px}#stage .learn-button,#stage .mode-mobile{min-height:36px}}
@media(orientation:landscape) and (max-height:600px){
 body[data-run-active=true] .app{height:100dvh;min-height:0}body[data-run-active=true] .topbar{display:none}body[data-run-active=true] .game-layout{padding:env(safe-area-inset-top) 12px max(4px,env(safe-area-inset-bottom));height:100%;min-height:0}body[data-run-active=true] .game-column{height:100%;max-width:720px;display:grid;grid-template-columns:minmax(0,1fr) 158px;grid-template-rows:72px minmax(0,1fr);gap:0 10px}body[data-run-active=true] .run-dashboard{grid-column:1;grid-row:1;height:72px;padding:0}body[data-run-active=true] .run-signals{display:none}body[data-run-active=true] .stage{grid-column:1;grid-row:2;height:100%;min-height:0}body[data-run-active=true] .play-controls{grid-column:2;grid-row:2;grid-template-columns:1fr 1fr;grid-template-rows:56px 56px;align-content:end;padding-bottom:4px;gap:8px}body[data-run-active=true] .play-controls .steer-button{width:100%;height:56px;min-height:56px}body[data-run-active=true] .play-controls #drop{grid-column:1;grid-row:2;height:56px}body[data-run-active=true] .play-controls #focus{grid-column:2;grid-row:2;width:100%;min-height:56px}body[data-run-active=true] #crew-comms{grid-column:2;grid-row:1;height:68px;min-height:68px;margin:0;padding:4px;gap:4px}body[data-run-active=true] #crew-comms .comms-character{width:30px;min-width:30px;height:50px}body[data-run-active=true] #crew-comms .comms-dialogue strong{font-size:10px}body[data-run-active=true] #crew-comms .comms-dialogue p,body[data-run-active=true] #crew-comms .coach-tip{font-size:11px}
}

body[data-run-active=true] .stage .scene-shade{background:linear-gradient(#0c12264d 0%,#08132118 42%,#050b1b77 100%)}
