.fleet-art{display:block;width:100%;background-repeat:no-repeat;max-width:520px;margin:0 auto 24px;filter:drop-shadow(0 8px 5px #172d292d)}
.vehicle-card{display:flex;flex-direction:column}.vehicle-card>.fleet-art{flex:none;max-width:none;position:relative;overflow:hidden}
.vehicle-card>button{margin-top:auto}.vehicle-card>small{margin-bottom:18px}.garage-photo>.fleet-art{width:70%;margin:25px 0 40px;position:relative;z-index:1;filter:drop-shadow(0 5px 8px #000b)}
.garage-photo{background-blend-mode:multiply;background-color:#35443b}.npc-row{grid-template-columns:repeat(4,minmax(0,1fr))}.base-lower{grid-template-columns:1fr}
.dispatch-products{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:15px 20px 0;position:relative}.dispatch-products a{color:#f4e8c9;background:#173b36e8;border:1px solid #afbd9e70;padding:8px 13px;text-decoration:none;font:600 12px system-ui}.dispatch-products a:hover{background:#356059}
.braking-banner{position:absolute;top:20px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;background:#172e2bea;color:#fff1cd;border:1px solid #d1ad65;padding:13px 19px;z-index:3;font-size:14px;box-shadow:0 8px 25px #172e2b50;pointer-events:none}.braking-banner i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#eac374;margin-right:10px}
.drain-stakes{padding:10px 12px;border-left:3px solid #a94230;background:#a942300b;font-size:12px;line-height:1.5;color:#743729}.layby-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.layby-facts b{white-space:normal!important}.layby-decision .layby-facts{gap:12px}.layby-decision .layby-facts b{font-size:22px}
.item-card{min-width:0}.item-card h3{overflow-wrap:anywhere}.can-art{min-width:0}.can-art>.game-icon{flex-shrink:1}
@media(max-width:900px){.npc-row{grid-template-columns:repeat(2,minmax(0,1fr))}.layby-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.rail{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-grid,.items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-card{min-width:0}.vehicle-card h3{font-size:20px}.braking-banner{font-size:11px;padding:10px 12px;text-align:center;white-space:normal}.dispatch-products{gap:6px}.dispatch-products a{font-size:10px;padding:7px 9px}}

/* Common action states: readable on paper and on illustrated backgrounds. */
button,.button{min-width:0;white-space:normal;overflow-wrap:break-word;border-radius:4px;line-height:1.4}
button:focus-visible,.button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #328295;outline-offset:4px}
button:disabled{color:#62665c;background:#e0ddcf;border-color:#b8b7a6;opacity:1}
button.primary:not(:disabled){color:#fff8e9;background:#a93c2c;border-color:#853020;box-shadow:0 3px 0 #732b21}
button.primary:hover:not(:disabled){color:#fff;background:#873124;border-color:#672319;box-shadow:0 3px 0 #60241b}
button.secondary,.text-button,.paper-link{color:#283b34;background:#faf5e8;border:1px solid #a49c86;padding:11px 16px;min-height:44px;text-decoration:none;box-shadow:0 2px 0 #41493212}
button.secondary:hover:not(:disabled),.text-button:hover:not(:disabled),.paper-link:hover:not(:disabled){color:#1c3028;background:#e9e2cf;border-color:#617367;box-shadow:0 2px 0 #41493220}
.cover-start{align-items:stretch;flex-wrap:wrap;gap:12px}
.cover-start>.primary{min-width:min(100%,300px);flex:1 1 290px;max-width:390px}
.cover-start>.cover-restart{flex:0 1 175px;min-height:69px;font-size:14px;line-height:1.4;padding:16px 20px}
.cover .cover-restart,.cover .cover-settings{background:#20382fe8;color:#fff2d7;border:1px solid #c0b28c;box-shadow:0 3px 0 #0d191650}
.cover .cover-restart:hover,.cover .cover-settings:hover{background:#385146;color:#fff8e7;border-color:#f1d69b;box-shadow:0 3px 0 #0d191650}
.cover-destinations{grid-template-columns:repeat(4,minmax(0,1fr))}
.cover .destination{border-radius:0;min-width:0}.cover .destination:last-child{grid-column:auto}.cover .destination:hover{background:#30453b;color:#fff3da}.cover .destination:hover b{color:#fff3da}.cover .destination:hover em{color:#ddd4bc}
.employers{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.employer{border-radius:5px;padding:24px;min-height:280px;transition:border-color .16s,background .16s;box-shadow:0 3px 0 #28392e13}.employer>b{font-size:31px}.employer-head{gap:12px;flex-wrap:wrap}.employer-head>small{font-size:11px;line-height:1.5}.employer-head .employer-selection{flex-shrink:0}.employer.selected,.employer.selected:hover{color:#28372c;background:#fff0ce;border:2px solid #a4442e;padding:23px;box-shadow:0 3px 0 #a4442e30}.employer.selected .employer-selection{color:#fff8e6;background:#8e3828;border-color:#8e3828}.employer:hover:not(.selected){background:#fff9eb;border-color:#697c6d}
.employer-foot{font-size:11px;line-height:1.5}.employer-facts{gap:16px;flex-wrap:wrap}.employer-pay{white-space:normal}
.employer-selection{padding:5px 8px;border-radius:3px}.import-label:focus-within{outline:3px solid #328295;outline-offset:4px}
.combo-cameo{position:absolute;z-index:4;bottom:0;right:0;width:clamp(100px,17%,205px);pointer-events:none;will-change:transform;filter:drop-shadow(-5px 2px 0 #132b2870)}
.combo-cameo[hidden]{display:none}.combo-cameo img{display:block;width:100%;max-height:240px;object-fit:contain;object-position:bottom right}
.combo-cameo strong{position:absolute;right:6px;top:-14px;transform:rotate(-10deg);color:#ffe16a;background:#ad3728;border:2px solid #fff0be;border-radius:5px;padding:6px 9px;font:900 clamp(15px,2vw,25px)/1 system-ui;letter-spacing:1px;box-shadow:3px 4px #122b26;white-space:nowrap}
.runner-viewport:has(.passenger-stop,.passenger-encounter,.runner-layby,.runner-overlay,.drain-overlay,.puzzle-overlay) .combo-cameo{display:none}
.reduce-motion .combo-cameo{transform:none!important}.runner-controls .runner-sound{font-size:12px;min-width:98px}
@media(prefers-reduced-motion:reduce){.combo-cameo{transform:none!important}}
@media(max-width:700px){.combo-cameo{width:90px}.combo-cameo img{max-height:120px}.combo-cameo strong{font-size:14px;top:-8px;padding:4px 6px}.runner-controls .runner-sound{min-width:90px}}
@media(max-width:700px){.runner-controls>button{flex:1 1 calc(50% - 8px)}.runner-controls .runner-jump{min-width:120px;padding:11px 12px}}
.vehicle-card>button,.item-card>button{width:100%;min-height:47px}.vehicle-card>button:disabled,.item-card>button:disabled{font-size:12px}
.over-copy>.secondary{margin-top:14px}.history-row{grid-template-columns:minmax(0,1fr) auto auto auto}
.runner-controls{flex-wrap:wrap}.runner-controls button{min-height:46px}.runner-controls button kbd{background:#ffffff20;color:inherit;border-color:#ffffff40}
@media(max-width:1100px){.cover-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}.cover .destination:nth-child(odd){border-right:1px solid #8f958549}.cover .destination:nth-child(even){border-right:0}}
@media(max-width:700px){.cover-start{flex-direction:column;gap:12px}.cover-start>.primary,.cover-start>.cover-restart{flex:auto;width:100%;max-width:none;min-height:58px}.cover-start>.cover-restart{font-size:14px}.employers{grid-template-columns:1fr}.employer{min-height:255px}.topline{gap:14px;flex-wrap:wrap}.topline>.text-button{font-size:12px}.history-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px}.setup-bottom{padding-bottom:max(12px,env(safe-area-inset-bottom))}.runner-controls button{flex:1 1 auto}.cover-settings{min-width:0;padding:10px 13px}.depot-bottom button{font-size:11px;min-height:44px}}

/* Compact road HUD and always-visible roadside actions. */
.hud{min-height:66px;height:auto;padding:8px 20px;gap:18px}.hud .shift strong{font-size:26px}.hud .shift{padding-right:15px}.hud .hud-item strong{font-size:19px}.hud .hud-item small{font-size:10px;margin-bottom:3px}.hud .hud-item .game-icon{width:26px;height:30px}.hud .hud-driver .portrait{width:30px;height:39px}.hud .bar{margin-top:3px}
.runner-dashboard{padding:10px 18px;gap:10px}.runner-dashboard b{font-size:22px}.runner-dashboard .game-icon{width:27px;height:32px}.runner-dashboard small{font-size:10px}.journey-heading h1{font-size:clamp(23px,3vw,36px)}.runner-shell{margin:12px 0}.runner-radio{padding-top:7px;padding-bottom:7px}
.road-tools{background:#eee4cf;padding:12px 18px;border-top:1px solid #c3bda7;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between}.road-tools>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.road-tools button{font-size:12px;min-height:42px;padding:9px 12px}.road-tools small{font-size:10px;color:#596657;flex-basis:100%}.road-care-tools{border-left:1px solid #c3bda7;padding-left:18px}.road-tools .primary{min-width:150px}.runner-overlay{z-index:2}.runner-overlay>div{max-width:480px}.jammer-shop{margin:24px 0;display:grid;grid-template-columns:1fr auto;gap:28px;padding:24px;background:#e2e8d7;border:1px solid #98a587}.jammer-shop h2{margin:5px 0 12px}.jammer-shop small{font-size:11px;color:#65705d}.jammer-shop .game-icon{width:36px;height:40px;float:left;margin-right:12px}.jammer-shop>div:last-child{align-self:center;min-width:190px}.jammer-shop b{font-size:26px}.ending-reformed .over-art{padding:0;min-height:530px}.ending-poster{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.ending-happy .over-art{background-image:url('../assets/depot.png')}.ending-happy h1,.ending-reformed h1{color:#345c3e}
@media(max-width:760px){.hud{min-height:88px;padding:8px 12px}.hud .hud-metrics{gap:7px 9px}.hud .hud-item strong{font-size:15px}.hud .hud-item .game-icon{display:none}.hud .shift strong{font-size:24px}.hud .hud-driver{bottom:6px}.runner-dashboard{padding:9px;gap:5px}.runner-dashboard b{font-size:18px}.runner-dashboard .game-icon{display:none}.runner-dashboard small{font-size:9px}.road-tools{padding:10px;gap:10px}.road-tools>div{width:100%;padding:0;border:0}.road-tools button{flex:1 1 120px;min-width:0}.road-tools .primary{min-width:0}.runner-overlay p{font-size:11px;line-height:1.4}.runner-overlay>div{padding:12px}.runner-overlay h2{font-size:22px}.jammer-shop{grid-template-columns:1fr;padding:18px}.ending-reformed .over-art{min-height:420px}}

@media(max-width:760px){.runner-dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}.runner-dashboard>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:0;border:0}.runner-dashboard [data-runner-combo-bank]{max-width:none;font-size:8px}.runner-dashboard small{line-height:1.3}.journey-pay{gap:6px;flex-wrap:wrap}.journey-pay b{font-size:15px}.journey-heading{gap:10px}.road-tools button{white-space:normal}.runner-controls>span{line-height:1.4}}


.ending-reformed .over-art{position:relative;overflow:hidden}.ending-reformed .ending-poster{object-position:center center}

