:root{color-scheme:dark;--bg:#111715;--panel:#1b2420;--line:#465448;--cream:#eeeacb;--muted:#acb5a5;--lime:#d3ef83;--orange:#efb77a;--red:#ffa18e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--cream);font:16px/1.5 Arial}main{max-width:1380px;margin:auto;padding:22px 36px}header{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px}.brand{font-weight:900;font-size:28px;color:var(--lime);text-decoration:none;display:flex;align-items:center;gap:14px}.brand span{font-size:14px;letter-spacing:1px;color:var(--cream)}.edition{margin-left:auto;color:var(--muted);font-size:12px}button{font:700 14px/1.4 Arial;cursor:pointer;border:1px solid var(--line);background:#26332a;color:var(--cream);padding:12px 15px;box-shadow:3px 3px 0 #080e0a;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#3a4a35;transform:translateY(-1px)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.small{padding:8px 11px;font-size:13px}.primary{background:var(--lime);color:#152015;border-color:var(--lime)}.primary:hover:not(:disabled){background:#e5ffa3}.title{display:flex;justify-content:space-between;align-items:center;padding:23px 0;gap:16px}.eyebrow{color:var(--orange);font-size:12px;letter-spacing:1.5px;margin:0 0 9px}h1{font-size:clamp(29px,3.8vw,49px);line-height:1;letter-spacing:-2px;margin:0;font-weight:900}h1 span{color:var(--lime)}.destination{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.destination strong{font-size:16px;color:var(--cream)}.game-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,1fr);gap:22px;align-items:start}.panel{border:1px solid var(--line);background:var(--panel);padding:22px;min-width:0}.kicker{font-size:12px;color:var(--lime);letter-spacing:1.7px;text-transform:uppercase}h2{font-size:25px;line-height:1.2;margin:10px 0 15px}h3{font-size:17px;margin:0 0 10px}p{margin:0 0 16px}.muted{color:var(--muted)}.choices{display:grid;gap:10px}.choice{text-align:left;display:block;width:100%;padding:14px}.choice.selected{border-color:var(--lime);background:#34402b}.choice strong{display:block;font-size:16px}.choice span{font-weight:400;font-size:14px;color:var(--muted);display:block;margin-top:4px}.choice .financial{color:var(--orange)}.wide{width:100%;margin-top:14px}.story{border-left:3px solid var(--orange);padding:15px 20px;margin:18px 0;background:#1a231e}.story p{font-size:15px;margin:0}.scene{position:relative;aspect-ratio:2.5;border:1px solid #69715e;background:#333331;overflow:hidden}.landscape{position:absolute;inset:0;background-image:url('journey.png');background-size:auto 400%;background-position:35% var(--region);image-rendering:pixelated}.scene.moving .landscape{animation:landscroll 5s linear}.car-sprite{position:absolute;width:59%;height:auto;left:21%;bottom:2%;image-rendering:pixelated;filter:drop-shadow(0 6px 2px #0006)}.scene.moving .car-sprite{animation:bump .22s steps(2) infinite}.scene-tag{position:absolute;top:12px;left:12px;background:#121b17ed;border:1px solid #65715d;padding:4px 8px;font-size:12px;color:var(--lime)}.scene-weather{position:absolute;top:12px;right:12px;background:#121b17df;padding:5px 8px;font-size:12px}.scene-caption{position:absolute;bottom:0;left:0;right:0;padding:5px 12px;background:#0a110ed9;font-size:12px;display:flex;justify-content:space-between;gap:10px}.scene.problem .car-sprite{filter:drop-shadow(0 7px 3px #0009) saturate(.7)}.scene.problem:after{content:'SERVICE ENGINE SOON';position:absolute;right:12px;top:44px;color:var(--orange);background:#121b17e8;font-size:12px;padding:4px 8px}.rain{position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:radial-gradient(ellipse 1px 4px at 13px 9px,#b6c8d888 70%,transparent 100%),radial-gradient(ellipse 1px 3px at 39px 27px,#b6c8d866 70%,transparent 100%),radial-gradient(ellipse 1px 5px at 23px 43px,#b6c8d877 70%,transparent 100%);background-size:61px 67px,89px 83px,113px 101px;animation:rain 1.2s linear infinite}.status{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);margin-bottom:18px;background:#1b2420}.stat{padding:12px 16px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat label{display:block;font-size:12px;color:var(--muted)}.stat strong{font-size:22px;color:var(--lime)}.stat small{font-size:12px;color:var(--muted);display:block}.route{padding:18px 0 15px}.route-label{font-size:12px;display:flex;justify-content:space-between;color:var(--muted);gap:8px}.route progress{margin:9px 0 3px;height:7px}.stops{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.readout{border:1px solid var(--line);padding:16px;margin-top:16px}.parts{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.part label{font-size:14px;display:flex;justify-content:space-between;margin-bottom:4px}progress{width:100%;height:7px;border:0;background:#30392f}progress::-webkit-progress-bar{background:#30392f}progress::-webkit-progress-value{background:var(--lime)}progress::-moz-progress-bar{background:var(--lime)}.part.low progress::-webkit-progress-value{background:var(--orange)}.faults{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.fault{border:1px solid #9c6654;background:#412a22;color:#ffb599;font-size:12px;padding:4px 7px}.mod{font-size:12px;border:1px solid #546642;padding:3px 6px;color:var(--lime)}.tabs{display:flex;gap:4px;margin:0 0 18px}.tabs button{flex:1;font-size:13px;padding:9px 5px}.tabs .active{background:var(--cream);color:#182019}.action{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);gap:12px;padding:13px 0}.action p{margin:4px 0 0;font-size:14px;color:var(--muted)}.action strong{display:block;font-size:15px;color:var(--cream)}.action button{padding:10px;font-size:13px;min-width:90px;flex-shrink:0}.log{margin-top:18px}.log summary{cursor:pointer;color:var(--muted);font-size:14px;letter-spacing:1px}.log p{border-top:1px solid #354035;padding:9px 0;margin:0;font-size:14px}.log em{color:var(--orange);font-style:normal;font-size:12px}.objective{color:var(--orange);font-size:14px;margin:12px 0 0}.event{border:1px solid var(--orange);padding:18px;background:#302c21}.event h2{color:var(--orange)}.event button{margin:6px 0;width:100%;text-align:left}.event button span{display:block;font-weight:400;font-size:12px}.notice{padding:16px;border-left:3px solid var(--orange);background:#252c20;margin:16px 0 0}.notice strong{display:block;color:var(--orange);font-size:16px}.notice p{font-size:14px;margin:6px 0 0}.pace{display:flex;gap:5px;margin:12px 0}.pace button{flex:1;padding:10px 4px;font-size:13px}.pace button.active{border-color:var(--lime);color:var(--lime)}.trip-number{font-size:42px;line-height:1.1;color:var(--lime);margin:12px 0}.trip-number small{font-size:14px;color:var(--muted)}.payday{border-top:1px solid var(--line);padding-top:14px;margin-top:16px;font-size:14px;color:var(--muted)}.payday strong{color:var(--lime)}.costnote{font-size:12px;color:var(--muted);margin:8px 0}.link{border:0;padding:0;background:none;box-shadow:none;color:var(--muted);text-decoration:underline;font-size:12px}footer{display:flex;justify-content:space-between;gap:16px;padding:25px 0 5px;color:#899687;font-size:11px}dialog{max-width:650px;max-height:85vh;overflow:auto;width:calc(100% - 32px);background:var(--panel);color:var(--cream);border:2px solid var(--lime);padding:26px}dialog::backdrop{background:#000c}dialog p,dialog li{font-size:15px}dialog a{color:var(--lime)}dialog h3{margin-top:22px}dialog ul{padding-left:22px}dialog li{margin:10px 0}.end-stats{font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px}.end-stats strong{color:var(--cream)}@keyframes landscroll{from{background-position-x:35%}to{background-position-x:65%}}@keyframes bump{from{transform:translateY(0)}to{transform:translateY(1px)}}@keyframes rain{to{background-position:-12px 67px,-16px 83px,-20px 101px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:950px){main{padding:18px}.edition{display:none}header{justify-content:space-between}.game-grid{grid-template-columns:minmax(0,1.15fr) minmax(310px,1fr)}.stat{padding:10px}.stat strong{font-size:19px}.destination{display:none}.panel{padding:17px}}@media(max-width:730px){.game-grid{grid-template-columns:1fr;gap:16px}.status{grid-template-columns:repeat(3,1fr);gap:0}.stat:nth-child(3){border-right:0}.stat:nth-child(n+4){border-top:1px solid var(--line)}.stat:last-child{grid-column:span 2;border-top:1px solid var(--line)}.scene{aspect-ratio:2}.brand span{font-size:12px}.title h1{font-size:34px;letter-spacing:-1.5px}.eyebrow{font-size:10px;letter-spacing:.6px}.title{padding:22px 0}.scene-caption{font-size:10px}.scene-tag,.scene-weather{font-size:10px}.stops{font-size:10px}.parts{gap:12px}.part label{font-size:13px}.scene.problem:after{font-size:10px}.panel h2{font-size:24px}footer{flex-direction:column}.story{margin-top:14px}.action p{font-size:13px}.action button{min-width:78px}.tabs button{font-size:12px}.trip-number{font-size:35px}}

.rival{position:absolute;left:9%;bottom:15%;width:43%;image-rendering:pixelated;filter:brightness(.7);z-index:0}.scene:has(.rival) .car-sprite{z-index:1;animation:bump .2s steps(2) 12}.scene-tag,.scene-caption,.scene-weather{z-index:2}@keyframes racepass{from{transform:translateX(-20%)}to{transform:translateX(55%)}}

.rival.racing{animation:racepass 2.5s ease-out forwards}.performance{background:#263126;border:1px solid #6b7957;padding:16px;margin-top:16px}.performance-numbers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}.performance-numbers strong{display:block;font-size:30px;color:var(--lime);line-height:1.2}.performance-numbers small{font-size:14px}.performance-numbers span{font-size:12px;color:var(--muted)}.performance p{margin:10px 0 0;font-size:12px;color:var(--muted)}.timeslip{background:#e9e7ce;color:#192119;padding:18px;margin-top:16px}.timeslip .kicker{color:#536444}.timeslip h3{font-size:22px;margin-top:8px}.timeslip table,.spec-table{width:100%;border-collapse:collapse;font-size:13px}.timeslip th,.timeslip td,.spec-table th,.spec-table td{padding:8px 4px;text-align:left;border-bottom:1px solid #64725766}.timeslip p{font-size:12px;margin:12px 0 0}.course{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line);margin:15px 0}.course span{font-size:11px;padding:9px;border-right:1px solid var(--line)}.course strong{font-size:12px;color:var(--orange)}blockquote{margin:15px 0;padding:10px 15px;border-left:3px solid var(--orange);color:var(--orange)}

.scene.race-win .rival.racing{animation:racefall 2.5s ease-out forwards}@keyframes racefall{from{transform:translateX(35%)}to{transform:translateX(-15%)}}

.route-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.route-options>div{padding:12px;border:1px solid var(--line);background:var(--panel);font-size:12px}.route-options strong,.route-options span{display:block}.route-options span{color:var(--orange);margin:5px 0}.route-options p{margin:0;color:var(--muted)}.itinerary summary{cursor:pointer;font-size:12px;color:var(--lime);padding:10px 0}.table-scroll{overflow-x:auto}.itinerary table{width:100%;border-collapse:collapse;font-size:12px}.itinerary td,.itinerary th{padding:7px 5px;text-align:left;border-bottom:1px solid var(--line)}.itinerary .visited{color:var(--lime)}@media(max-width:420px){.route-options{grid-template-columns:1fr}.route-label{flex-direction:column}.scene-weather{top:42px}}

/* Keep decision resources visible throughout the trip. */
.live-status{position:sticky;top:0;z-index:20;grid-template-columns:1fr 1fr 1.2fr;margin:0;background:#18231c;box-shadow:0 5px 16px #0008;border-color:#697b57;isolation:isolate}.live-status .stat{min-width:0;padding:10px 16px;border-top:0;border-right:1px solid var(--line);grid-column:auto}.live-status .stat:last-child{border:0;grid-column:auto}.live-status .stat strong{display:block;font-size:24px;line-height:1.25}.live-status .stat label{font-size:13px}.live-status .stat small{font-size:12px;font-weight:400;margin-top:3px}.morale-stat label{display:flex;justify-content:space-between;gap:8px}.morale-stat label span{font-size:12px;color:var(--lime)}.morale-stat progress{display:block;margin-top:6px;height:6px}.morale-stat.caution strong,.morale-stat.caution label span{color:var(--orange)}.morale-stat.critical strong,.morale-stat.critical label span{color:var(--red)}.morale-stat.caution progress::-webkit-progress-value{background:var(--orange)}.morale-stat.critical progress::-webkit-progress-value{background:var(--red)}.morale-stat.caution progress::-moz-progress-bar{background:var(--orange)}.morale-stat.critical progress::-moz-progress-bar{background:var(--red)}.trip-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 2px 14px;font-size:13px;color:var(--muted)}.play-grid{grid-template-areas:"journey decisions" "vehicle decisions";row-gap:12px;grid-template-rows:min-content 1fr}.journey-pane{grid-area:journey;min-width:0}.decision-pane{grid-area:decisions;min-width:0}.vehicle-pane{grid-area:vehicle;min-width:0}.dashboard-heading{font-size:14px;letter-spacing:1px;color:var(--muted);margin:0}.vehicle-pane .readout{margin-top:8px}.decision-pane .notice{margin:0 0 18px;padding:12px;border-left-width:2px}.decision-pane .notice strong{font-size:14px}.decision-pane .notice p{font-size:14px}.morale-warning{padding:10px 12px;background:#412a22;border:1px solid #9c6654;color:var(--red);font-size:14px}.play-grid .route{padding-bottom:0}.play-grid .action{align-items:flex-start}.play-grid .action button{margin-top:3px}.play-grid .tabs{flex-wrap:wrap}html{scroll-padding-top:110px}button{scroll-margin-top:110px}
@media(max-width:730px){.play-grid{grid-template-areas:"journey" "decisions" "vehicle";grid-template-rows:auto auto auto;row-gap:16px}.live-status .stat{padding:9px 10px}.live-status .stat strong{font-size:20px}.live-status .stat label{font-size:12px}.live-status .stat small{display:none}.morale-stat label span{display:none}.live-status .stat:nth-child(2){border-right:1px solid var(--line)}.trip-meta{font-size:12px}.journey-pane .route-options{display:none}.journey-pane .route{padding-top:10px}.decision-pane .notice{margin-bottom:14px}.dashboard-heading{margin-top:6px}}
@media(max-width:380px){main{padding:12px}.live-status .stat{padding:9px 7px}.live-status .stat strong{font-size:18px}.live-status .stat label{font-size:12px}.play-grid .action{flex-wrap:wrap}.play-grid .action button{margin-left:auto}}
/* Raster damage regions stay aligned with each car and can accumulate. */
.car-art .car-base{display:block;width:100%;height:auto}.car-art .damage-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.car-art .damage-door{clip-path:polygon(34% 39%,61% 39%,64% 56%,63% 74%,34% 74%)}.car-art .damage-fender{clip-path:polygon(62% 42%,88% 46%,90% 58%,83% 64%,82% 55%,77% 47%,71% 47%,66% 55%,65% 64%,62% 64%)}.car-art .damage-bumper{clip-path:polygon(87% 53%,100% 53%,100% 100%,87% 100%)}.car-art .cut-bumper{clip-path:polygon(0 0,100% 0,100% 53%,87% 53%,87% 100%,0 100%)}
.pinned-dashboard{position:sticky;top:0;z-index:25;background:#18231c;box-shadow:0 5px 18px #0009;margin-bottom:4px}.pinned-dashboard .live-status{position:static;grid-template-columns:repeat(4,minmax(0,1fr));box-shadow:none}.pinned-condition{border:1px solid #697b57;border-top:0;padding:10px 14px}.condition-meters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.condition-cell label{display:flex;justify-content:space-between;gap:5px;font-size:14px;flex-wrap:wrap}.condition-cell strong{color:var(--lime)}.condition-cell progress{display:block;margin-top:4px;height:5px}.condition-cell.low strong{color:var(--orange)}.condition-cell.low progress::-webkit-progress-value{background:var(--orange)}.condition-cell.low progress::-moz-progress-bar{background:var(--orange)}.instrument-line{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;font-size:12px;color:var(--muted);margin-top:7px}.fault-count{color:var(--orange)}.maintenance{border:1px solid var(--line);padding:12px;margin:15px 0}.maintenance h3{font-size:14px;color:var(--lime)}.queens-landscape{background-image:url('franny-lew.png');background-size:cover;background-position:center 67%;animation:none!important}.car-art .spoiler-layer{clip-path:polygon(0 20%,18% 20%,18% 42%,0 42%)}.car-art .cut-spoiler{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 42%,18% 42%,18% 20%,0 20%)}.car-art .cut-spoiler.cut-bumper{clip-path:polygon(0 0,100% 0,100% 53%,87% 53%,87% 100%,0 100%,0 42%,18% 42%,18% 20%,0 20%)}.epilogue{margin-top:20px;padding:18px;border:2px solid var(--orange);background:#302c21}.epilogue h3{margin:10px 0;color:var(--orange)}html{scroll-padding-top:190px}button{scroll-margin-top:190px}
@media(max-width:730px){.condition-meters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.pinned-condition{padding:8px 10px}.condition-cell label{font-size:12px;flex-wrap:nowrap}.live-status .stat strong{font-size:18px}.pinned-dashboard .live-status .stat{padding:8px}.pinned-dashboard .live-status .stat:last-child{grid-column:auto}.instrument-line{font-size:12px}.instrument-line .fault-count{display:none}.scene:has(.queens-landscape){aspect-ratio:1.8}}
@media(max-width:380px){.pinned-dashboard .live-status .stat{padding:7px 4px}.pinned-dashboard .live-status .stat strong{font-size:16px}.condition-cell label{font-size:12px}.condition-meters{gap:7px}.instrument-line{font-size:12px}}
/* Keep the active car, journey, and condition visible while choices scroll. */
.pinned-dashboard>.scene{height:clamp(120px,22vh,200px);aspect-ratio:auto;border-top:0}.pinned-dashboard>.scene .car-sprite{width:min(55%,360px);left:28%;bottom:0}.pinned-dashboard>.scene .rival{width:min(38%,300px);left:12%;bottom:15%}.pinned-dashboard>.scene .scene-caption{font-size:12px}.pinned-dashboard>.scene .scene-weather{top:12px}.journey-pane .route{margin-top:0}.deadline-warning{padding:12px;border:2px solid var(--orange);background:#362c20;color:var(--cream)}.encounter-rival{overflow:hidden;aspect-ratio:1000/292}.encounter-rival img{position:absolute;width:125.4%;max-width:none;height:auto;left:-13%;top:-11.9863%;image-rendering:pixelated}.encounter-rival.rival-civic{aspect-ratio:1000/314}.rival-civic img{top:-106.051%}.encounter-rival.rival-porsche{aspect-ratio:1000/302}.rival-porsche img{left:-12.5%;top:-215.894%}.encounter-rival.rival-transam{aspect-ratio:1060/285}.rival-transam img{width:118.302%;left:-9.434%;top:-336.842%}html{scroll-padding-top:390px}button{scroll-margin-top:390px}
@media(max-width:730px){.pinned-dashboard>.scene{height:clamp(105px,18svh,145px)}.pinned-dashboard>.scene .car-sprite{width:58%;left:27%}.pinned-dashboard>.scene .rival{width:43%;left:8%}.pinned-dashboard>.scene .scene-tag{top:6px;left:6px;padding:2px 5px;font-size:12px}.pinned-dashboard>.scene .scene-weather{top:32px;right:6px;padding:2px 5px;font-size:12px}.pinned-dashboard>.scene .scene-caption{padding:3px 6px;font-size:12px}.pinned-dashboard .condition-cell label{font-size:12px}.trip-meta{padding-bottom:7px}.route-options{grid-template-columns:1fr}.scene.problem:after{top:57px;font-size:12px}.pinned-dashboard .instrument-line{margin-top:4px}.pinned-condition{padding:6px 8px}}
@media(max-height:550px) and (min-width:731px){.pinned-dashboard>.scene{height:100px}.pinned-condition{padding:4px 10px}.pinned-dashboard .stat{padding:4px 10px}.pinned-dashboard .stat strong{font-size:18px}.pinned-dashboard .instrument-line{display:none}.pinned-dashboard .scene .car-sprite{width:210px}}
.pinned-dashboard>.scene .landscape{background-size:100% 400%}.pinned-dashboard>.scene .queens-landscape{background-size:cover}
/* Regional road art shares a consistent tire contact plane. */
.scene .landscape,.pinned-dashboard .scene .landscape{background-image:url('regions-atlas.png');background-size:300% 200%;background-repeat:no-repeat;animation:none!important;background-position:0 0}.scene .region-colorado{background-position:50% 0}.scene .region-texas{background-position:100% 0}.scene .region-florida{background-position:0 100%}.scene .region-midwest{background-position:50% 100%}.scene .region-carolina{background-position:100% 100%}.scene .queens-landscape,.pinned-dashboard .scene .queens-landscape{background-image:url('franny-lew.png');background-size:100% 100%;background-position:center}.scene .car-sprite,.pinned-dashboard .scene .car-sprite{width:68%;left:23%;bottom:3%;filter:none}.scene .car-1{bottom:1%}.scene .rival,.pinned-dashboard .scene .rival{bottom:15%;left:5%;width:43%;filter:brightness(.87)}.rs-paint-layer{clip-path:polygon(0 40%,62% 40%,64% 73%,0 77%)}
.pinned-dashboard .live-status{grid-template-columns:repeat(7,minmax(0,1fr))}.pinned-dashboard .stat strong{font-size:22px}.pinned-dashboard .stat label{font-size:12px}.pinned-dashboard .stat{padding:8px 10px}.mobile-scene{display:none}.desktop-scene .scene{aspect-ratio:1.8}.play-grid{grid-template-columns:minmax(0,.95fr) minmax(340px,1fr);grid-template-areas:"left decisions";grid-template-rows:auto}.left-pane{grid-area:left;position:sticky;top:calc(var(--dashboard-height,155px) + 8px);max-height:calc(100svh - var(--dashboard-height,155px) - 18px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;align-self:start}.left-pane .desktop-scene{position:sticky;top:0;z-index:5;background:var(--bg)}.journey-pane,.vehicle-pane{min-width:0}.left-pane .vehicle-pane{margin-top:16px}.decision-pane{grid-area:decisions}.scene-tag{max-width:70%;font-size:12px;white-space:normal}.build-systems{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.build-systems button{text-align:left;padding:16px}.build-systems strong,.build-systems span,.build-systems small{display:block}.build-systems strong{font-size:17px;color:var(--lime)}.build-systems span{font-size:14px;margin:7px 0}.build-systems small{font-size:12px;color:var(--orange)}.report-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.trip-report{font-size:14px;border-top:1px solid var(--line);margin-top:24px}.trip-report header{display:block}.trip-report h1{font-size:27px;letter-spacing:0;line-height:1.2}.trip-report h2{font-size:20px;margin-top:25px}.trip-report table{width:100%;border-collapse:collapse}.trip-report td,.trip-report th{text-align:left;border-bottom:1px solid var(--line);padding:8px;vertical-align:top}.trip-report .report-metrics{display:flex;flex-wrap:wrap;gap:12px;color:var(--lime)}.trip-report footer{display:block;font-size:12px}.scene-caption{font-size:12px}html{scroll-padding-top:calc(var(--dashboard-height,155px) + 20px)}button{scroll-margin-top:calc(var(--dashboard-height,155px) + 20px)}
@media(max-width:730px){.mobile-scene{display:block}.desktop-scene{display:none}.left-pane{display:contents}.play-grid{grid-template-columns:1fr;grid-template-areas:"journey" "decisions" "vehicle";grid-template-rows:auto auto auto}.pinned-dashboard .live-status{grid-template-columns:repeat(4,minmax(0,1fr))}.pinned-dashboard .stat{padding:5px 7px}.pinned-dashboard .stat strong{font-size:18px}.pinned-dashboard .stat:nth-child(n+5){border-top:1px solid var(--line)}.pinned-dashboard .stat:last-child{grid-column:span 2!important}.mobile-scene .scene{height:clamp(100px,16svh,135px);aspect-ratio:auto}.pinned-dashboard .scene .car-sprite{width:60%;left:27%;bottom:1%}.pinned-dashboard .scene .car-1{bottom:-1%}.pinned-dashboard .scene .rival{width:40%;left:8%;bottom:14%}.scene-tag{top:5px;left:5px;max-width:72%;padding:2px 5px;font-size:12px;line-height:1.2}.scene-weather{top:32px!important;right:5px;font-size:12px;padding:2px 5px}.scene-caption{padding:3px 6px;font-size:12px}.scene.problem:after{top:57px;font-size:12px}.build-systems{gap:8px}.build-systems button{padding:12px}.pinned-dashboard .condition-meters{gap:5px 10px}.pinned-dashboard .instrument-line{font-size:12px}.pinned-dashboard .pinned-condition{padding:5px 8px}.morale-stat progress{margin-top:3px}.vehicle-pane{grid-area:vehicle}.journey-pane{grid-area:journey}.decision-pane{grid-area:decisions}}
@media(max-width:380px){.pinned-dashboard .stat label{font-size:12px}.pinned-dashboard .stat strong{font-size:16px}.scene-caption span:first-child{max-width:47%}.scene-caption{font-size:12px}.build-systems{grid-template-columns:1fr}}
.current-position{font-size:14px;color:var(--lime);margin:8px 0}.daily-stops{font-size:14px;margin:10px 0}.daily-stops summary{cursor:pointer;color:var(--orange)}.daily-stops p{border-left:2px solid var(--line);padding-left:10px}
.pinned-dashboard .scene .region-colorado{background-position:50% 0}.pinned-dashboard .scene .region-texas{background-position:100% 0}.pinned-dashboard .scene .region-florida{background-position:0 100%}.pinned-dashboard .scene .region-midwest{background-position:50% 100%}.pinned-dashboard .scene .region-carolina{background-position:100% 100%}
/* Story cards, saved trips and visible damage. */
.decision-pane .event{background:#173843;border:2px solid #69c5d3;box-shadow:0 0 0 4px #0f252d;margin:18px 0;padding:22px}.decision-pane .event h2{color:#9ae7f0}.decision-pane .event p{font-size:16px;line-height:1.65}.decision-pane .notice{background:#303824;border-left:5px solid #d3ef83;padding:18px}.decision-pane .notice strong{font-size:19px;color:#e3f4ad}.decision-pane .notice p{font-size:16px;line-height:1.6}.save-controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.save-controls button{font-size:14px;flex:1 1 45%;padding:10px}.save-feedback{font-size:14px;color:var(--lime)}.resume-panel{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.boost-requirements{padding:16px;background:#1b3435;border:1px solid #79b4ad;margin:14px 0}.boost-requirements button{display:block;width:100%;text-align:left;margin:8px 0}.boost-requirements p{font-size:14px;margin:10px 0}.chassis-alert{color:#ffd380;font-weight:bold}.condition-meters{grid-template-columns:repeat(7,minmax(0,1fr))}.pinned-dashboard .stat .payday-count{display:block;font-size:12px;line-height:1.25}.story-atlas{position:absolute;inset:0;background:url('story-scenes.png') no-repeat;background-size:300% 300%;image-rendering:pixelated}.story-scene .scene-tag{max-width:92%;background:#10231fdd}.story-car-inset{position:absolute;right:5px;bottom:23px;width:30%;height:28%;background:#101911d9;border:1px solid #65715d}.story-car-inset .car-sprite{left:0!important;bottom:-8%!important;width:100%!important}.story-car-inset .twisted-art{bottom:5%!important}.atlas-vehicle{position:relative;width:100%;aspect-ratio:443.5/185;overflow:hidden}.atlas-vehicle img{position:absolute;width:400%;max-width:none;height:auto;image-rendering:pixelated}.scene .twisted-art,.pinned-dashboard .scene .twisted-art{bottom:10%}.twisted-car{aspect-ratio:443.5/185}.car-art .junkyard-hood{clip-path:polygon(61% 43%,96% 49%,97% 55%,63% 50%);filter:grayscale(1) brightness(1.5)}.cowl-layer{position:absolute;inset:0;clip-path:polygon(57% 31%,97% 41%,99% 55%,60% 52%)}.cowl-layer .atlas-vehicle{position:absolute;top:25%;width:100%;height:65%}.cowl-layer .atlas-vehicle img{top:-95%!important}.damage-scene-label{position:absolute;left:8px;bottom:30px;background:#3d2117ed;color:#ffd4aa;font-size:12px;padding:5px;z-index:5}.race-result-banner{position:absolute;left:8px;top:57px;z-index:6;background:#101e16ef;border:1px solid #d3ef83;color:#e4ffb2;padding:8px;font-size:16px;font-weight:bold;max-width:94%}.race-result-banner small{display:block;font-size:12px;color:#eeeacb}.scene:has(.race-result-banner) .scene-weather{display:none}.scene:has(.race-result-banner).problem:after{display:none}.scene.race-win .car-sprite{animation:playerwin 2.5s ease-out forwards}.scene.race-loss .car-sprite{animation:playerlose 2.5s ease-out forwards}.scene.race-loss .rival.racing{animation:opponentwin 2.5s ease-out forwards}@keyframes playerwin{from{transform:translateX(-20%)}to{transform:translateX(8%)}}@keyframes playerlose{from{transform:translateX(-5%)}to{transform:translateX(-18%)}}@keyframes opponentwin{from{transform:translateX(-5%)}to{transform:translateX(65%)}}
@media(max-width:730px){.condition-meters{grid-template-columns:repeat(4,minmax(0,1fr))}.pinned-dashboard .condition-cell label{font-size:12px;flex-wrap:wrap}.pinned-dashboard .stat .payday-count{font-size:12px;display:block}.race-result-banner{top:30px;padding:4px;font-size:13px}.race-result-banner small{font-size:12px}.story-scene .scene-tag{font-size:12px}.damage-scene-label{bottom:24px;padding:2px;font-size:12px}.save-controls{margin-top:8px}.scene .new-rival{bottom:18%}.decision-pane .event{padding:16px}}
@keyframes opponentwin{from{transform:translateX(-5%)}to{transform:translateX(100%)}}
/* V12: a compact mobile cockpit, with readable choices immediately beneath it. */
.trip-tools{border:1px solid var(--line);padding:10px 12px;margin:10px 0}.trip-tools>summary{cursor:pointer;color:var(--lime);font-size:14px;font-weight:bold}.notice-summary{margin:0 0 12px;border:1px solid var(--line);padding:10px 12px;background:#232e25}.notice-summary summary{cursor:pointer;font-size:14px;color:var(--orange)}.notice-summary p{font-size:16px;line-height:1.5;margin:10px 0 0}.condition-cell label>span{min-width:0}.story-car-inset{width:24%;height:24%}.story-scene .scene-caption{justify-content:flex-start}.decision-pane{scroll-margin-top:calc(var(--dashboard-height,245px) + 8px)}
@media(max-width:730px){
 body.in-trip main{padding:0 8px 12px}body.in-trip header{min-height:40px;padding:5px 0;gap:8px}body.in-trip .brand{font-size:21px;gap:8px}body.in-trip .brand span{font:700 12px/1.2 Arial,sans-serif}body.in-trip header .small{font:600 12px/1.2 Arial,sans-serif;padding:7px 9px}body.in-trip .title{display:none}
 .pinned-dashboard{margin:0;box-shadow:0 3px 8px #0008}.pinned-dashboard .live-status{grid-template-columns:repeat(12,minmax(0,1fr));border-bottom:0;font-family:Arial,-apple-system,sans-serif}.pinned-dashboard .live-status .stat{grid-column:span 3!important;min-width:0;padding:4px 6px;border-top:0;position:relative}.pinned-dashboard .stat label{font-size:12px;line-height:1.15;white-space:nowrap;text-transform:none;letter-spacing:0}.pinned-dashboard .stat strong{font-size:19px;line-height:1.15;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.pinned-dashboard .stat .payday-count{font-size:12px;line-height:1.15;margin-top:1px;white-space:nowrap;letter-spacing:-.2px}.pinned-dashboard .morale-stat progress{height:3px;margin-top:3px}.pinned-dashboard .live-status .performance-stat{grid-column:span 4!important;display:flex;align-items:baseline;justify-content:center;gap:6px;padding:4px 3px;border-top:1px solid var(--line)!important;background:#202b22}.pinned-dashboard .performance-stat strong{font-size:15px;line-height:1.15}.pinned-dashboard .performance-stat label{font-size:12px}.pinned-dashboard .live-status .stat:nth-child(4){border-right:0}
 .pinned-dashboard .pinned-condition{padding:5px 6px 3px}.pinned-dashboard .condition-meters{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 10px}.pinned-dashboard .condition-cell{min-width:0}.pinned-dashboard .condition-cell label{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;gap:2px;margin:0;font:12px/1.15 Arial,-apple-system,sans-serif;white-space:nowrap}.pinned-dashboard .condition-cell strong{font-size:12px;line-height:1.15;font-variant-numeric:tabular-nums}.pinned-dashboard .condition-cell progress{height:2px;margin-top:2px}.pinned-dashboard .instrument-line{font:12px/1.15 Arial,-apple-system,sans-serif;margin-top:4px;gap:2px 8px;flex-wrap:nowrap;white-space:nowrap}.pinned-dashboard .instrument-line .chassis-alert{font-size:11px;white-space:normal}.pinned-dashboard .mobile-scene .scene{height:clamp(104px,15svh,126px);min-height:104px;aspect-ratio:auto;border-top:0}.pinned-dashboard .mobile-scene .scene-tag{top:4px;left:4px;right:4px;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px/1.2 Arial,-apple-system,sans-serif;padding:3px 5px;border:0;background:#101911d9}.pinned-dashboard .scene .scene-caption{font:12px/1.15 Arial,-apple-system,sans-serif;padding:3px 5px;white-space:nowrap}.pinned-dashboard .scene .scene-caption span:first-child{max-width:none}.pinned-dashboard .scene .scene-weather{display:none}.pinned-dashboard .scene.problem:after{display:none}.pinned-dashboard .scene .story-car-inset{bottom:22px;width:23%;height:26%}.pinned-dashboard .scene .race-result-banner{top:28px;font-size:12px;padding:3px 5px}.pinned-dashboard .scene .race-result-banner small{font-size:12px}.pinned-dashboard .scene .damage-scene-label{bottom:23px;font:11px/1.2 Arial,sans-serif;max-width:75%}
 .trip-meta{display:none}.play-grid{grid-template-areas:"decisions" "journey" "vehicle";gap:10px;margin-top:8px}.play-grid .decision-pane{padding:12px;border-color:#52604c}.decision-pane .notice{margin:0 0 10px;padding:10px 12px}.decision-pane .notice strong{font-size:16px;line-height:1.3}.decision-pane .notice p{font-size:15px;line-height:1.45;margin:5px 0 0}.decision-pane .notice-summary{margin-bottom:10px;padding:7px 9px}.decision-pane .notice-summary summary{font:13px/1.3 Arial,sans-serif}.decision-pane .tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:0 0 12px}.decision-pane .tabs button{min-width:0;font:600 12px/1.2 Arial,sans-serif;padding:9px 2px;min-height:36px}.decision-pane .event{margin:0;padding:12px;box-shadow:none}.decision-pane .event h2{font-size:20px;line-height:1.2;margin:0 0 9px}.decision-pane .event p{font-size:16px;line-height:1.45;margin:0 0 10px}.decision-pane .event button{padding:10px;font-size:14px;line-height:1.35;margin:4px 0}.decision-pane .event button span{font-size:12px;margin-top:3px}.decision-pane>h2{font-size:21px;margin:7px 0 10px}.decision-pane>.kicker{font-size:12px;letter-spacing:.6px}.decision-pane>p{font-size:15px;line-height:1.45}.build-systems{gap:7px;margin-top:10px}.build-systems button{padding:10px;min-width:0}.build-systems strong{font-size:15px}.build-systems span{font-size:13px;line-height:1.3;margin:4px 0}.build-systems small{font-size:12px}.pace{margin:8px 0}.pace button{font-size:13px;padding:8px 3px}.trip-number{font-size:29px;margin:8px 0}.trip-tools{margin:0;padding:10px 12px}.save-controls button{font-size:13px}.vehicle-pane{margin-top:0!important}html{scroll-padding-top:calc(var(--dashboard-height,245px) + 8px)}button{scroll-margin-top:calc(var(--dashboard-height,245px) + 8px)}
}
@media(max-width:360px){.pinned-dashboard .stat strong{font-size:17px}.pinned-dashboard .stat label,.pinned-dashboard .stat .payday-count{font-size:12px}.pinned-dashboard .live-status .stat{padding-left:4px;padding-right:4px}.pinned-dashboard .condition-meters{column-gap:7px}.pinned-dashboard .instrument-line{font-size:11px}.build-systems{grid-template-columns:1fr 1fr}.decision-pane .tabs button{font-size:12px}}
@media(max-height:600px) and (max-width:730px){.pinned-dashboard .mobile-scene .scene{height:88px;min-height:88px}}
.story-mobile-text{display:none}
@media(max-width:730px){.story-desktop-text{display:none}.story-mobile-text{display:block}.story-mobile-text details{margin:0 0 10px}.story-mobile-text summary{color:#a2e5ec;font-size:14px;cursor:pointer;padding:3px 0}.story-mobile-text details p{margin-top:8px!important}}
/* Keep each illustrated panel in proportion beside the player's actual car. */
.scene.story-scene{--art-side:clamp(180px,24vw,300px);height:var(--art-side);aspect-ratio:auto;background:#121d18}.story-scene .story-atlas{inset:auto;left:0;top:50%;width:var(--art-side);height:calc(var(--art-side) / var(--tile-ratio,1));transform:translateY(-50%);border-right:1px solid #58634b}.story-scene .scene-tag{left:calc(var(--art-side) + 9px);top:14px;right:9px;max-width:none;white-space:normal;padding:0;border:0;background:none;font:700 15px/1.35 Arial,sans-serif;color:#e6f4bc}.story-scene .story-car-inset{left:calc(var(--art-side) + 5px);right:5px;bottom:30px;width:auto;height:34%;background:none;border:0}.story-scene .scene-caption{font-size:12px}.story-scene .race-result-banner{left:calc(var(--art-side) + 7px);top:78px;right:5px;font-size:13px;padding:5px}.story-scene .race-result-banner small{font-size:12px}
@media(max-width:730px){.pinned-dashboard .mobile-scene .scene.story-scene{--art-side:clamp(132px,20svh,160px);height:var(--art-side);min-height:0}.pinned-dashboard .story-scene .scene-tag{left:calc(var(--art-side) + 8px);right:7px;top:10px;max-width:none;white-space:normal;text-overflow:clip;overflow:visible;background:none;padding:0;font:700 14px/1.3 Arial,sans-serif}.pinned-dashboard .story-scene .story-car-inset{left:calc(var(--art-side) + 6px);right:6px;bottom:24px;width:auto;height:39%}.pinned-dashboard .story-scene .race-result-banner{left:calc(var(--art-side) + 7px);right:5px;top:52px;font-size:12px;padding:4px}.pinned-dashboard .story-scene:has(.race-result-banner) .story-car-inset{height:22%;bottom:21px}.pinned-dashboard .story-scene .race-result-banner small{font-size:12px}.pinned-dashboard .story-scene .scene-caption{font-size:12px}}
@media(max-height:600px) and (max-width:730px){.pinned-dashboard .mobile-scene .scene.story-scene{--art-side:118px}}
/* A little more room for the road and story art on phones. */
@media(max-width:730px){.pinned-dashboard .mobile-scene .scene{height:clamp(132px,19svh,158px);min-height:132px}.pinned-dashboard .mobile-scene .scene.story-scene{--art-side:clamp(160px,24svh,192px);height:var(--art-side);min-height:0}}
@media(max-height:600px) and (max-width:730px){.pinned-dashboard .mobile-scene .scene{height:112px;min-height:112px}.pinned-dashboard .mobile-scene .scene.story-scene{--art-side:142px;min-height:0}}
.race-prep-offer{border:1px solid #79b4ad;background:#102b32;padding:12px;margin:12px 0}.race-prep-offer p{font-size:14px!important}.race-prep-offer button{border-color:var(--lime)}.race-prep-banner{border:1px solid var(--lime);background:#263824;padding:12px;margin:0 0 12px}.race-prep-banner strong{color:var(--lime)}.race-prep-banner p{font-size:14px;margin:6px 0}.race-prep-banner .wide{margin-top:6px}

/* Clickable fault diagnosis and targeted repair navigation. */
button.fault-link{font:inherit;text-align:left;text-transform:none;letter-spacing:normal;cursor:pointer;text-decoration:underline;text-underline-offset:3px}button.fault{padding:7px 9px;min-height:34px}.instrument-line .fault-link{padding:0;border:0;background:transparent;color:inherit;font-size:inherit}.fault-detail-list,.fault-detail-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.fault-target{outline:2px solid #f4bd61;outline-offset:4px;border-radius:6px}button.fault-link:focus-visible{outline:2px solid #f4bd61;outline-offset:3px}

/* V19: actionable gauges without expanding the mobile dashboard. */
.condition-cell{border:0;background:transparent;text-align:left;padding:2px;color:inherit;cursor:pointer}.condition-cell:hover,.condition-cell:focus-visible{background:#33412b;outline:1px solid #cee895}.condition-cell label{cursor:pointer;pointer-events:none}.miles-progress{display:block;height:3px;margin-top:3px;width:100%}.weather-stat strong{font-size:16px}.weather-stat small{font:11px Arial;color:#f3bd70}.transmission-service{border:1px solid var(--line);padding:12px;margin:14px 0}.pinned-dashboard .live-status{grid-template-columns:repeat(8,minmax(0,1fr))}@media(max-width:730px){.pinned-dashboard .live-status{grid-template-columns:repeat(12,minmax(0,1fr))}.pinned-dashboard .live-status .performance-stat{grid-column:span 3!important;gap:3px}.pinned-dashboard .weather-stat{flex-wrap:wrap}.pinned-dashboard .weather-stat strong{font-size:13px}.pinned-dashboard .weather-stat small{width:100%;text-align:center}.condition-cell{padding:0 1px;min-height:23px}}

.upgrade-receipt{border:1px solid var(--lime);padding:12px;margin:12px 0;background:#273725}.upgrade-receipt p{font-size:14px;margin:6px 0}.nose-damage-overlay{clip-path:polygon(85% 31%,100% 31%,100% 57%,85% 57%)}

/* Mobile option 2: priority alerts, story first, dedicated car grid. */
.mobile-hud,.mobile-nav{display:none}
@media(max-width:730px){
 body.in-trip main{padding:0 0 calc(82px + env(safe-area-inset-bottom))}body.in-trip main>header{padding:8px 12px}body.in-trip main>footer{padding:16px}
 .mobile-hud{display:block;position:sticky;top:0;z-index:30;background:#152019;border-bottom:1px solid var(--line);font-family:Arial,sans-serif}
 .mobile-top-strip{display:grid;grid-template-columns:.7fr 1.2fr 1fr .9fr;background:#243127;padding:9px 12px;gap:8px}.mobile-top-strip div{min-width:0}.mobile-top-strip small{display:block;color:#b8c1af;font-size:12px;line-height:1.4}.mobile-top-strip b{display:block;font-size:14px;line-height:1.5;color:var(--lime);overflow-wrap:anywhere}
 .mobile-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 12px;gap:12px}.mobile-resources button{min-width:0;background:none;border:0;box-shadow:none;padding:0;text-align:left;min-height:44px}.mobile-resources small{display:block;font:12px/1.4 Arial;color:#b8c1af}.mobile-resources b{font:700 21px/1.4 Arial;color:var(--lime)}.mobile-resources progress{display:block;width:100%;height:4px;margin:3px 0}
 .mobile-priority{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:48px;padding:9px 12px;border:0;border-top:1px solid var(--line);box-shadow:none;text-align:left;background:#243127;font:14px/1.35 Arial}.mobile-priority.warning{background:#382b1d;color:#ffd19a}.mobile-priority small{display:block;font-size:12px;margin-top:3px}.mobile-priority>span:last-child{flex-shrink:0}
 .pinned-dashboard{position:static!important;top:auto!important;box-shadow:none!important;border:0!important}.pinned-dashboard>.live-status,.pinned-dashboard>.pinned-condition{display:none!important}
 .pinned-dashboard .mobile-scene .scene{height:220px;min-height:0;border:0}.pinned-dashboard .mobile-scene .scene.story-scene{height:250px;--art-side:250px}.pinned-dashboard .story-atlas{width:100%;height:100%;aspect-ratio:auto}.pinned-dashboard .story-scene .scene-tag{left:10px;right:10px;top:10px;max-width:max-content;background:#101911df;padding:5px 8px;font:700 14px/1.3 Arial}.pinned-dashboard .story-scene .story-car-inset{left:auto;right:8px;width:30%;height:30%;bottom:25px;background:#101911a8}.pinned-dashboard .story-scene .race-result-banner{left:10px;right:auto;top:48px}.pinned-dashboard .scene .scene-caption{background:#0b120dda;padding:5px 8px;white-space:normal}
 .play-grid{display:block;margin:0}.play-grid .decision-pane{border:0;padding:16px;min-height:260px}.play-grid .left-pane{display:none}.decision-pane .tabs{display:none}.decision-pane .event{padding:0;background:transparent;border:0}.decision-pane .event h2{font-size:25px;line-height:1.2}.decision-pane .event p{font:16px/1.55 Arial}.decision-pane .event button{min-height:48px;border-radius:8px;margin:6px 0;padding:13px;font:600 15px/1.4 Arial}.decision-pane .event button span{font:13px/1.4 Arial}.decision-pane .story-desktop-text{display:block}.decision-pane .story-mobile-text{display:none}
 .mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid #52604c;background:#1b271f;padding:8px 6px calc(8px + env(safe-area-inset-bottom));gap:5px}.mobile-nav button{min-height:48px;padding:8px 2px;font:600 13px/1.3 Arial;background:transparent;border:0;box-shadow:none;color:#b8c1af}.mobile-nav button.active{background:#2b3928;color:var(--lime);border-radius:7px}
 .mobile-car h3{font-size:14px;margin:24px 0 10px}.mobile-car-art{height:100px;position:relative}.mobile-car-art .car-sprite{width:220px;height:100%;left:auto;right:0;bottom:0}.mobile-service-nav{display:flex;gap:8px}.mobile-service-nav button{flex:1;min-height:44px;font-size:14px}.mobile-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-tile{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-width:0;min-height:100px;padding:10px 8px;text-align:left;border-radius:8px;background:#243027;border:1px solid #465140;box-shadow:none}.mobile-tile small{font:13px/1.3 Arial;color:#bdc5b5}.mobile-tile b{font:700 16px/1.3 Arial;color:var(--lime);overflow-wrap:anywhere}.mobile-tile span{font:12px/1.3 Arial;color:#bdc5b5}.mobile-tile.low{background:#352a1e;border-color:#695038}.mobile-tile.low b{color:#ffd19a}.mobile-car .readout{margin-top:20px}
 body.mobile-secondary .mobile-scene,body.mobile-secondary .decision-pane>.notice,body.mobile-secondary .decision-pane>.notice-summary{display:none}
 html{scroll-padding-top:185px}button{scroll-margin-top:185px}.decision-pane{scroll-margin-top:185px}
}
@media(max-width:350px){.mobile-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-top-strip{padding:8px;gap:5px}.mobile-top-strip b{font-size:13px}}

/* Opening choices use the same mobile app shell. */
@media(max-width:730px){
 body.in-setup main{padding:0 0 calc(135px + env(safe-area-inset-bottom))}body.in-setup main>header{padding:8px 12px;min-height:48px;gap:8px}body.in-setup .brand{font-size:21px;gap:8px}body.in-setup .brand span{font:700 12px/1.2 Arial}body.in-setup .title{display:none}body.in-setup main>footer{padding:16px;font:12px/1.4 Arial}
 .mobile-setup{font:16px/1.5 Arial,sans-serif}.setup-step-strip{display:grid;grid-template-columns:1fr 1fr;position:sticky;top:0;z-index:20;background:#202d24;border-bottom:1px solid var(--line)}.setup-step-strip span{padding:13px 12px;color:#aeb9a7;font:600 13px/1.4 Arial;border-bottom:3px solid transparent}.setup-step-strip .active{color:var(--lime);border-bottom-color:var(--lime)}.setup-step-strip .complete{color:var(--cream)}
 .setup-copy{padding:20px 16px}.setup-copy h2{font:700 26px/1.2 Arial;margin:10px 0}.setup-copy>p{color:#bbc4b4;font-size:16px;line-height:1.5}.setup-intro{border:1px solid var(--line);padding:12px;border-radius:8px;margin:16px 0 20px;color:#bbc4b4}.setup-intro summary{cursor:pointer;color:var(--cream);font-size:14px;min-height:24px}.setup-intro p{margin:12px 0 0;font-size:15px}.setup-budget{display:flex;justify-content:space-between;gap:12px;padding:12px;background:#243127;border-radius:8px;margin-bottom:16px;font-size:14px;flex-wrap:wrap}.setup-budget b{color:var(--lime)}
 .setup-choices{gap:12px}.setup-choices .choice{padding:16px;border-radius:10px;box-shadow:none;background:#1c2921;border:1px solid #465448;font:16px/1.4 Arial;scroll-margin-top:70px}.setup-choices .choice.selected{border:2px solid var(--lime);padding:15px;background:#2a3826}.setup-choice-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.setup-choice-title strong{font:700 18px/1.3 Arial}.setup-choices .selection-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:23px;height:23px;border:1px solid #718264;border-radius:50%;margin:0;color:var(--lime);font-weight:700}.setup-choices .choice p{font-size:15px;color:#bbc4b4;margin:9px 0 12px}.setup-choice-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #465448;padding-top:10px;margin-top:12px}.setup-choice-facts small{display:block;font-size:12px;color:#bac3b1}.setup-choice-facts b{display:block;font:700 20px/1.4 Arial;color:var(--lime)}.setup-choices .setup-note{font-size:13px;margin-top:10px}.setup-car-picture{display:block;width:100%;height:110px;object-fit:contain;image-rendering:pixelated;margin:12px 0}.setup-copy .resume-panel{margin:22px 0 0;display:flex;gap:10px;flex-wrap:wrap}.setup-copy .resume-panel button{min-height:44px;border-radius:7px;font:14px/1.4 Arial}
 .setup-bottom{position:fixed;bottom:0;left:0;right:0;z-index:40;padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #65715c;background:#18241d}.setup-selection{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.setup-selection small{font-size:12px;color:#bbc4b4}.setup-selection b{font:600 14px/1.4 Arial;color:var(--lime);text-align:right}.setup-buttons{display:flex;gap:8px}.setup-buttons button{min-height:48px;border-radius:8px;box-shadow:none;font:700 15px/1.4 Arial}.setup-buttons #next{flex:1}
}

/* Desktop cockpit: navigation, story, and selected car. */
.desktop-nav,.desktop-car-panel,.desktop-story-stage{display:none}
@media(min-width:731px){
 body.in-trip main{max-width:1800px;padding:18px 24px}body.in-trip main>.title{display:none}body.in-trip main>header{padding:0 0 12px;margin-bottom:12px}.in-trip .brand{font-size:30px}.in-trip .brand span{font-size:18px;letter-spacing:1px}.in-trip .edition{display:none}
 .in-trip .pinned-dashboard,.in-trip .trip-meta{display:none}.in-trip .mobile-hud{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);position:sticky;top:0;z-index:30;background:#17231b;border:1px solid var(--line);border-radius:8px;margin-bottom:14px;font-family:Arial,sans-serif}.mobile-top-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px 16px;align-items:center}.mobile-top-strip small{display:block;color:var(--muted);font-size:12px}.mobile-top-strip b{display:block;color:var(--cream);font:700 16px/1.5 Arial}.mobile-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:10px 16px;border-left:1px solid var(--line)}.mobile-resources button{background:transparent;border:0;box-shadow:none;text-align:left;padding:0;min-height:44px}.mobile-resources small{display:block;font:13px/1.3 Arial;color:var(--muted)}.mobile-resources b{font:700 22px/1.4 Arial;color:var(--lime)}.mobile-resources progress{height:4px;display:block;margin-top:3px}.mobile-priority{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-top:1px solid var(--line);box-shadow:none;padding:9px 16px;text-align:left;font:14px/1.4 Arial;background:#243127}.mobile-priority.warning{background:#382b1d;color:#ffd19a}.mobile-priority small{font-size:13px;margin-left:14px}.mobile-priority>span:last-child{flex-shrink:0}
 .play-grid{display:grid;grid-template-columns:155px minmax(0,1fr) minmax(290px,340px);grid-template-areas:'nav decisions car';gap:14px;align-items:start;margin:0}.play-grid>.left-pane{display:none}.desktop-nav{grid-area:nav;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:8px;background:#17221b;padding:10px;position:sticky;top:calc(var(--dashboard-height,125px) + 14px)}.desktop-nav button{font:600 15px/1.4 Arial;text-align:left;padding:15px 12px;border:0;box-shadow:none;background:transparent;min-height:48px;border-radius:6px}.desktop-nav button.active{background:var(--lime);color:#152015}.desktop-nav .desktop-route-link{margin-top:32px;border-top:1px solid var(--line);border-radius:0}
 .play-grid .decision-pane{padding:14px;border:1px solid var(--line);border-radius:8px;background:#16221b;min-width:0}.decision-pane>.tabs{display:none}.desktop-story-stage{display:block;margin-bottom:20px}.desktop-story-stage .scene{height:clamp(260px,30vw,430px);aspect-ratio:auto;border:0;border-radius:5px}.desktop-story-stage .story-scene{--art-side:100%}.desktop-story-stage .story-atlas{width:100%;height:100%;top:0;transform:none}.desktop-story-stage .story-car-inset{display:none}.desktop-story-stage .scene-tag{left:10px;right:10px;max-width:max-content;top:10px;font:14px/1.4 Arial}.desktop-story-stage .scene-caption{font-size:13px}.desktop-story-stage .story-scene .scene-tag{background:#101911dd;padding:6px 9px}.decision-pane .event{padding:0;border:0;background:transparent}.decision-pane h2{font-size:28px;line-height:1.2}.decision-pane .event p{font:16px/1.6 Arial}.decision-pane .event button{border-radius:7px;min-height:48px;padding:13px;font:600 15px/1.4 Arial}.decision-pane .event button span{font-size:13px}.decision-pane .primary{border-radius:7px;min-height:48px}.decision-pane .notice{margin:0 0 14px}.decision-pane .pace button{border-radius:7px;font-size:14px;min-height:48px}
 .desktop-car-panel{grid-area:car;display:block;border:1px solid var(--line);border-radius:8px;padding:16px;background:#17221b;position:sticky;top:calc(var(--dashboard-height,125px) + 14px);max-height:calc(100vh - var(--dashboard-height,125px) - 30px);overflow:auto;scrollbar-width:thin}.desktop-car-panel h2{font-size:22px;margin:0}.desktop-car-preview{position:relative;height:135px;margin:8px 0}.desktop-car-preview .car-sprite{width:100%;left:0;bottom:0;position:absolute}.desktop-car-spec{text-align:center;font:14px/1.4 Arial;color:var(--muted);margin:4px 0 18px}.desktop-car-panel h3{font-size:16px;padding-top:14px;border-top:1px solid var(--line);margin:16px 0 10px}.desktop-condition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.desktop-condition-grid button{min-width:0;text-align:left;padding:9px 7px;background:#202e23;border:1px solid #45533e;border-radius:6px;box-shadow:none;min-height:86px}.desktop-condition-grid span{display:block;font:13px/1.3 Arial;overflow-wrap:anywhere}.desktop-condition-grid strong{display:block;color:var(--lime);font:700 17px/1.4 Arial;overflow-wrap:anywhere}.desktop-condition-grid progress{display:block;height:5px;margin-top:7px}.desktop-condition-grid small{font:12px/1.4 Arial;color:var(--muted)}.desktop-condition-grid .low{border-color:#6a573a;background:#30291d}.desktop-condition-grid .low strong{color:#ffd19a}.desktop-condition-grid .low progress::-webkit-progress-value{background:#efb77a}.desktop-condition-grid .low progress::-moz-progress-bar{background:#efb77a}.desktop-performance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-performance button{border:0;border-right:1px solid var(--line);box-shadow:none;background:transparent;padding:8px 3px}.desktop-performance button:last-child{border:0}.desktop-performance span{display:block;font:13px/1.3 Arial}.desktop-performance strong{display:block;font:700 20px/1.5 Arial;color:var(--cream)}.desktop-service{display:flex;gap:8px;margin-top:18px}.desktop-service button{flex:1;border:1px solid var(--lime);border-radius:6px;background:transparent;box-shadow:none;min-height:44px}.desktop-all-status{width:100%;margin-top:10px;background:transparent;border:0;box-shadow:none;font:13px/1.4 Arial;color:var(--muted)}
 body.mobile-secondary .desktop-story-stage{display:none}.mobile-car-art{position:relative;height:130px}.mobile-car-art .car-sprite{width:280px;left:auto;right:0;bottom:0}.mobile-service-nav{display:flex;gap:8px;margin:16px 0}.mobile-service-nav button{flex:1}.mobile-car h3{margin-top:24px}.mobile-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.mobile-tile{min-width:0;min-height:105px;display:flex;flex-direction:column;text-align:left;gap:8px;border-radius:7px;box-shadow:none;padding:12px;background:#243027}.mobile-tile small{font:14px/1.3 Arial}.mobile-tile b{font:700 18px/1.4 Arial;color:var(--lime);overflow-wrap:anywhere}.mobile-tile span{font:12px/1.3 Arial;color:var(--muted)}.mobile-tile.low{background:#352a1e}.mobile-tile.low b{color:#ffd19a}.mobile-car .readout{margin-top:20px}
}
@media(min-width:731px) and (max-width:1100px){body.in-trip main{padding:12px}.play-grid{grid-template-columns:minmax(0,1fr) 280px;grid-template-areas:'nav nav' 'decisions car'}.desktop-nav{position:static;flex-direction:row;flex-wrap:wrap;padding:6px}.desktop-nav button{flex:1;text-align:center;padding:10px 6px}.desktop-nav .desktop-route-link{margin:0;border:0}.mobile-priority small{display:block;margin-left:0}.desktop-car-panel{padding:12px}.desktop-condition-grid span{font-size:12px}.desktop-story-stage .scene{height:280px}}

/* Wide desktop: navigation, car, scene/drive, situation. */
.desktop-drive-column{display:none}
@media(min-width:731px){
 body.in-trip main{max-width:1920px;padding:12px 16px}.in-trip main>header{margin-bottom:8px;padding-bottom:8px}.in-trip .brand{font-size:26px}.in-trip .brand span{font-size:20px}
 .in-trip .mobile-hud{position:static;margin-bottom:12px}.mobile-top-strip{padding:8px 14px}.mobile-resources{padding:8px 14px}.mobile-priority{padding:7px 14px}
 .desktop-car-panel{position:static;max-height:none;overflow:visible;min-width:0}.desktop-car-preview{height:auto;min-height:0;aspect-ratio:2.7;margin:12px 0 8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.desktop-car-preview .car-sprite{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;transform:none!important;max-height:100%}.desktop-car-preview .car-base{width:100%;height:auto;max-height:125px;object-fit:contain}.desktop-car-panel h2{font-size:19px}.desktop-car-spec{margin-bottom:12px}.desktop-car-panel h3{margin-top:12px;padding-top:10px}.desktop-condition-grid button{min-height:77px}.desktop-nav{position:static}.desktop-nav .desktop-route-link{margin-top:18px}
 .desktop-drive-column{display:block;grid-area:drive;border:1px solid var(--line);border-radius:8px;background:#16221b;padding:12px;min-width:0}.desktop-drive-column .desktop-story-stage{margin:0 0 12px}.desktop-drive-column .scene{height:auto;aspect-ratio:1.5;min-height:240px;max-height:420px}.desktop-drive-column .scene .car-sprite{width:64%;left:24%;bottom:5%}.desktop-drive-column .story-scene{aspect-ratio:1.3}.desktop-drive-column .pace{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0}.desktop-drive-column .pace button{font:600 14px/1.4 Arial;min-height:50px;border-radius:6px;padding:10px 4px;box-shadow:none}.desktop-drive-column .pace .active{border-color:var(--lime);color:var(--lime)}.desktop-drive-column>.primary{min-height:52px;margin-top:8px;border-radius:7px;font:700 17px/1.4 Arial;box-shadow:none}.desktop-drive-summary{font:14px/1.5 Arial;color:var(--muted);margin:12px 0 0}.situation-label{font:700 12px/1.4 Arial;letter-spacing:1px;color:var(--lime);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px}.decision-pane h2{font-size:24px}.decision-pane .notice{padding:12px}.decision-pane .notice p{font:15px/1.5 Arial}.decision-pane>p,.decision-pane .costnote{font:14px/1.5 Arial}.decision-pane .trip-number{font-size:30px}.play-grid .decision-pane{overflow-wrap:anywhere}
 .play-grid{grid-template-columns:120px 260px minmax(340px,1.35fr) minmax(280px,1fr);grid-template-areas:'nav car drive decisions';gap:12px}.play-grid.desktop-work{grid-template-areas:'nav car decisions decisions'}.desktop-work .desktop-story-stage{display:none}
}
@media(min-width:731px) and (max-width:1279px){
 .play-grid{grid-template-columns:240px minmax(0,1fr);grid-template-areas:'nav nav' 'car drive' 'car decisions'}.play-grid.desktop-work{grid-template-areas:'nav nav' 'car decisions'}.desktop-nav{flex-direction:row;flex-wrap:wrap;padding:6px}.desktop-nav button{flex:1;text-align:center;padding:10px 6px}.desktop-nav .desktop-route-link{margin:0;border:0}.desktop-drive-column .scene{aspect-ratio:1.7;min-height:220px}.desktop-car-panel{padding:12px}.mobile-priority small{display:block;margin-left:0}
}
@media(min-width:1280px) and (max-width:1450px){.play-grid{grid-template-columns:105px 235px minmax(320px,1.2fr) minmax(280px,1fr)}.desktop-car-panel{padding:12px}.desktop-condition-grid{gap:5px}.desktop-condition-grid span{font-size:12px}.desktop-nav{padding:6px}.desktop-nav button{padding:12px 7px;font-size:14px}}

.top-performance{display:none}
@media(min-width:731px){
 .in-trip .mobile-hud{grid-template-columns:minmax(300px,1fr) minmax(230px,.75fr) minmax(340px,1.15fr)}
 .mobile-hud .top-performance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;border-left:1px solid var(--line);padding:8px 10px;gap:5px}
 .mobile-hud .top-performance button{min-width:0;text-align:center;padding:0 4px;min-height:44px}.mobile-hud .top-performance strong{font-size:20px;color:var(--lime);white-space:nowrap}.mobile-hud .top-performance span{font-size:12px;color:var(--muted)}
 .desktop-drive-column .desktop-service{margin-top:10px}.desktop-drive-column .desktop-service button{font:700 16px/1.4 Arial;min-height:46px}.decision-pane>.desktop-service{margin:0 0 16px}
}
@media(min-width:731px) and (max-width:1000px){
 .in-trip .mobile-hud{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mobile-hud .mobile-resources{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.mobile-top-strip{gap:7px;padding:8px 10px}.mobile-top-strip b{font-size:14px}
}

@media(min-width:731px){
 .system-workshop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.workshop-heading{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.workshop-heading .kicker{width:100%}.workshop-heading h2{margin:0;flex:1}.workshop-wrench,.workshop-build{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#1b2920}.system-workshop section>h2{font-size:22px;margin:0 0 5px}.system-workshop section>p{font:14px/1.5 Arial;color:var(--muted)}.system-workshop .action{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:16px;margin:12px 0;border:1px solid #526046;border-radius:8px;background:#243027}.system-workshop .action strong{font:700 17px/1.35 Arial}.system-workshop .action p{font:14px/1.5 Arial}.system-workshop .action>button{align-self:flex-end;min-width:100px;min-height:44px;border-radius:6px;font:700 16px/1.4 Arial;color:var(--lime);box-shadow:none}.system-workshop .action>button:disabled{color:var(--muted)}.system-workshop .transmission-service{border:0;padding:0;margin:0}.system-workshop .workshop-build>[data-build-system],.system-workshop .workshop-build>.kicker,.system-workshop .workshop-build>.costnote{display:none}.workshop-empty{padding:18px 0}.system-workshop .workshop-build>h2:not(:first-child){font-size:17px;margin-top:16px}
}
@media(min-width:731px) and (max-width:1000px){.system-workshop{grid-template-columns:1fr}.workshop-heading{grid-column:auto}}

/* Reference design: pixel headings, readable labels, restrained green surfaces. */
:root{--bg:#08140e;--panel:#101f16;--line:#52634c;--cream:#f0efd5;--muted:#b3bea9;--lime:#d1ee81}
body{background:radial-gradient(ellipse at top,#14261b 0,#08140e 65%);font-family:Arial,sans-serif}h1,h2,h3,.brand span{font-family:Arial;font-weight:700;letter-spacing:.2px}button{font-family:Arial,sans-serif;box-shadow:none;border-radius:7px}button:disabled{opacity:.45}progress{border:1px solid #617255;border-radius:4px;overflow:hidden;height:9px}progress::-webkit-progress-value{background:linear-gradient(90deg,#c4e87d,#d7efac)}.panel,.desktop-car-panel,.desktop-drive-column,.desktop-nav,.workshop-wrench,.workshop-build{background:linear-gradient(145deg,#13241a,#0b1911);border-color:#53664d}.brand-mark{width:72px;height:48px;filter:invert(91%) sepia(24%) saturate(487%) hue-rotate(21deg) brightness(106%)}main>header{border:1px solid #617355;border-radius:7px;padding:8px 14px!important;background:#0c1c12;min-height:64px;gap:14px}.brand span,.in-trip .brand span{font-family:Arial;font-size:clamp(26px,3vw,48px);line-height:1;letter-spacing:1px;color:var(--cream)}header .edition{font:12px/1.5 Arial;margin-left:auto}header #help{margin-left:auto;white-space:nowrap}.in-setup .title{display:none}
.desktop-nav button{display:flex;align-items:center;gap:12px;border-bottom:1px solid #334631!important;border-radius:0;position:relative;font-size:16px!important;font-weight:600!important}.desktop-nav button img{width:25px;height:25px;flex-shrink:0;filter:invert(92%) sepia(25%) saturate(344%) hue-rotate(15deg)}.desktop-nav button.active{background:linear-gradient(90deg,#324620,#192e19);color:var(--lime);border:1px solid #91a457!important;border-radius:6px}.desktop-nav button.active:before{content:'';position:absolute;left:3px;top:10px;bottom:10px;width:4px;border-radius:3px;background:var(--lime)}.desktop-nav button span{text-align:left}.desktop-nav button.active img{filter:invert(88%) sepia(52%) saturate(507%) hue-rotate(27deg)}.desktop-nav{padding:10px;min-height:420px}.desktop-condition-grid button{background:linear-gradient(145deg,#182a1b,#0b1911);border-color:#56684f}.desktop-condition-grid strong,.mobile-resources b,.desktop-performance strong{font-family:Arial!important;font-weight:700}.desktop-car-panel h2{font-size:27px}.desktop-car-panel h3{font-size:22px}.desktop-condition-grid strong{font-size:23px}.desktop-drive-column>.primary,.primary{background:linear-gradient(110deg,#d0ed80,#d9efab);color:#101a0c;font-weight:700}.desktop-drive-column>.primary{font-size:21px}.desktop-drive-column .pace button{background:#102017;border:1px solid #617253}.desktop-drive-column .pace button.active{border:2px solid var(--lime);background:#243b1e}.decision-pane h2{font-family:Arial;font-size:30px}.scene{border-radius:5px}.mobile-priority.warning{background:linear-gradient(90deg,#382705,#1c1e0d);border-color:#9c792b;color:#ffca72}.desktop-drive-column .desktop-story-stage .scene{border:1px solid #53664d}
@media(min-width:731px){
 .mobile-setup{max-width:1280px;margin:24px auto;font:16px/1.5 Arial,sans-serif}.setup-step-strip{display:flex;gap:0;border:1px solid var(--line);border-radius:7px;background:#112219;overflow:hidden;margin-bottom:24px}.setup-step-strip span{flex:1;padding:13px 18px;color:var(--muted);border-bottom:3px solid transparent;font-size:15px}.setup-step-strip .active{color:var(--lime);background:#23361e;border-bottom-color:var(--lime)}.setup-copy>h2{font:700 38px/1.15 Arial;margin:10px 0}.setup-copy>p{max-width:760px;color:var(--muted);font-size:17px}.setup-intro{margin:18px 0 24px;padding:12px 16px;border:1px solid var(--line);border-radius:7px;background:#112219}.setup-intro summary{cursor:pointer;color:var(--cream)}.setup-intro p{margin:10px 0}.setup-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.setup-choices .choice{padding:22px;background:linear-gradient(145deg,#17291b,#0b1911);border:1px solid #627556;border-radius:9px;display:flex;flex-direction:column;gap:10px;min-height:320px;transition:border-color .15s,background .15s}.setup-choices .choice.selected{border:2px solid var(--lime);padding:21px;background:linear-gradient(145deg,#2c4220,#142516)}.setup-choice-title{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;width:100%}.setup-choice-title strong{font:700 29px/1.15 Arial;color:var(--cream)}.setup-choices .selection-mark{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #829567;border-radius:50%;color:var(--lime);margin:0}.setup-choices .choice>span{font:16px/1.45 Arial,sans-serif;margin:0}.setup-choices .choice p{font:16px/1.5 Arial,sans-serif;color:var(--muted);margin:0 0 10px}.setup-choice-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%;border-top:1px solid var(--line);padding-top:14px;margin-top:auto}.setup-choice-facts small{display:block;font:13px/1.4 Arial,sans-serif;color:var(--muted)}.setup-choice-facts b{display:block;font:700 30px/1.4 Arial;color:var(--lime)}.setup-choices .setup-note{font-size:13px!important}.setup-car-picture{width:100%;height:130px;object-fit:contain;image-rendering:pixelated}.setup-budget{display:flex;justify-content:space-between;padding:14px 18px;border:1px solid var(--line);border-radius:7px;background:#15291a;margin:18px 0}.setup-budget b{color:var(--lime)}.setup-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#13251a;border:1px solid #627556;border-radius:8px;padding:16px 20px;margin-top:22px}.setup-selection small{display:block;color:var(--muted);font-size:13px}.setup-selection b{font:700 24px/1.3 Arial}.setup-buttons{display:flex;gap:10px}.setup-buttons button{min-height:50px;font-size:17px;padding:12px 25px}.setup-copy .resume-panel{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.setup-copy .resume-panel button{min-height:44px}.in-setup main>header{margin-bottom:20px}
}
@media(min-width:731px) and (max-width:1279px){.desktop-nav{min-height:0}.desktop-nav button{justify-content:center}.desktop-nav button img{width:22px;height:22px}.setup-choice-title strong{font-size:25px}.setup-choices .choice{padding:16px}.setup-choices .choice.selected{padding:15px}}
@media(max-width:730px){.brand-mark{width:36px;height:28px}.brand span,.in-trip .brand span,.in-setup .brand span{font:700 23px/1 Arial!important;letter-spacing:0}.setup-choice-title strong{font:700 25px/1.2 Arial!important}.setup-copy h2{font:700 31px/1.2 Arial!important}.setup-choice-facts b{font-family:Arial!important;font-size:25px}.setup-choices .choice{background:linear-gradient(145deg,#17291b,#0b1911)}.setup-choices .choice.selected{background:linear-gradient(145deg,#2c4220,#142516)}main>header{border-radius:0;padding:8px!important}.brand{gap:5px!important}header #help{font-size:12px;padding:7px}.decision-pane .event h2{font-family:Arial;font-size:28px}}

/* Readable conditions, open story updates, and service cards. */
.desktop-condition-grid strong,.mobile-resources b,.desktop-performance strong,.mobile-tile b,.condition-cell strong{font-family:Arial,sans-serif!important;font-weight:600!important;letter-spacing:0!important;font-variant-numeric:tabular-nums}.desktop-condition-grid strong{font-size:19px;line-height:1.4;overflow-wrap:normal;word-break:normal}.desktop-condition-grid span{overflow-wrap:normal;word-break:normal}.desktop-condition-grid button[data-mobile-info] strong{font-size:15px}.desktop-condition-grid button{min-width:0}.desktop-condition-grid button[data-system="2"] span{font-size:12px}
.latest-story{margin:12px 0 16px!important;padding:18px 20px!important;border:1px solid #607447;border-left:4px solid var(--lime);border-radius:7px;background:#1d301d}.latest-story strong{font:700 23px/1.25 Arial;color:var(--cream)}.latest-story p{font:16px/1.55 Arial,sans-serif;margin:8px 0 0;color:var(--cream)}.full-story{font:16px/1.6 Arial,sans-serif}.setup-camaro{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(120deg,#172c1c,#0b1911);padding:14px 24px;margin-bottom:22px}.setup-camaro img{display:block;width:300px;max-width:65%;height:105px;object-fit:contain;image-rendering:pixelated}.setup-camaro span{font:700 24px/1.3 Arial;color:var(--cream)}
.service-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.service-card-grid>.action,.system-workshop .service-card-grid>.action{margin:0;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:16px;min-width:0;padding:18px;border:1px solid #53664c;border-radius:8px;background:linear-gradient(145deg,#243525,#102017)}.service-card-grid>.action strong{font:700 17px/1.35 Arial,sans-serif;color:var(--lime)}.service-card-grid>.action p{font:14px/1.5 Arial,sans-serif;color:var(--muted);margin:8px 0 0}.service-card-grid>.action>button{align-self:flex-end;min-width:100px;min-height:44px;padding:10px 15px;border-radius:6px;border-color:#91ab63;color:var(--lime);font:700 16px/1.3 Arial,sans-serif}.service-card-grid>.action>button:disabled{border-color:var(--line);color:var(--muted)}.system-workshop .service-card-grid{grid-template-columns:1fr}.maintenance{background:transparent}.decision-pane .maintenance>.costnote{font:14px/1.5 Arial,sans-serif}.transmission-service{border-radius:7px}
@media(max-width:730px){.latest-story{margin:0!important;border-radius:0;padding:15px 16px!important}.latest-story strong{font-size:22px}.latest-story p{font-size:16px}.setup-camaro{padding:10px 12px;gap:10px;margin-bottom:18px}.setup-camaro img{width:210px;height:85px}.setup-camaro span{font-size:18px}.service-card-grid{gap:10px}.service-card-grid>.action{padding:13px}.service-card-grid>.action strong{font-size:15px}.service-card-grid>.action p{font-size:14px}.service-card-grid>.action>button{min-width:80px}}
@media(max-width:520px){.service-card-grid{grid-template-columns:1fr}}

/* v39: readable opening choices and financial figures on every viewport. */
.mobile-setup .setup-copy h2{font:600 clamp(1.75rem,3vw,2.25rem)/1.25 Arial,sans-serif!important;letter-spacing:normal}
.mobile-setup .setup-choice-title strong{font:600 1.375rem/1.3 Arial,sans-serif!important;letter-spacing:normal}
.mobile-setup .setup-choice-facts b{font:600 1.75rem/1.35 Arial,sans-serif!important;font-variant-numeric:tabular-nums;letter-spacing:normal}
.mobile-setup .setup-selection b,.mobile-setup .setup-camaro span{font:600 1.25rem/1.35 Arial,sans-serif!important;letter-spacing:normal}
.mobile-setup .setup-intro h3{font:600 1.125rem/1.4 Arial,sans-serif;letter-spacing:normal}
.mobile-setup .setup-choice-facts small,.mobile-setup .setup-note{font-size:.875rem!important}
@media(max-width:730px){.mobile-setup .setup-camaro span{font-size:1rem!important}.mobile-setup .setup-selection b{font-size:1rem!important}.mobile-setup .setup-choice-title strong{font-size:1.25rem!important}}

/* v41: one legible typeface and navigation directly beneath the trip HUD. */
body{font-family:Arial,sans-serif}h1,h2,h3,.latest-story strong{font-weight:600;letter-spacing:normal}
@media(min-width:731px){
 #app>.desktop-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-area:auto;position:static;min-height:0;margin:0 0 14px;padding:6px;gap:8px;width:100%}
 #app>.desktop-nav button{justify-content:center;margin:0;padding:12px 10px;min-width:0;min-height:48px;border:1px solid transparent!important;border-radius:6px}
 #app>.desktop-nav button.active{border-color:#91a457!important}
 #app>.desktop-nav button span{white-space:nowrap;text-align:center}
 #app>.desktop-nav .desktop-route-link{margin:0;border-top:0}
 .play-grid{grid-template-columns:250px minmax(320px,1.25fr) minmax(280px,1fr);grid-template-areas:'car drive decisions'}
 .play-grid.desktop-work{grid-template-columns:250px minmax(0,1fr) minmax(0,1fr);grid-template-areas:'car decisions decisions'}
 .desktop-car-panel h2{font-size:23px;line-height:1.3}.desktop-car-panel h3{font-size:19px}.decision-pane h2{font-size:28px;line-height:1.3}
}
@media(min-width:731px) and (max-width:1100px){
 .play-grid{grid-template-columns:230px minmax(0,1fr);grid-template-areas:'car drive' 'car decisions'}
 .play-grid.desktop-work{grid-template-columns:230px minmax(0,1fr);grid-template-areas:'car decisions'}
 #app>.desktop-nav button{gap:7px;padding:10px 6px;font-size:14px!important}#app>.desktop-nav button img{width:21px;height:21px}
}

/* Persistent issue ribbons and explicit repair destinations. */
.issue-ribbon{margin:0 0 18px;padding:14px 16px;border:1px solid #d9a251;border-left:4px solid #ffbd61;border-radius:7px;background:#342714;color:#ffe1ae;font-family:Arial,sans-serif}
.issue-ribbon>strong{display:block;font-size:17px;line-height:1.4;margin-bottom:8px}.issue-ribbon>div{display:flex;gap:8px;flex-wrap:wrap}.issue-ribbon .fault-link{min-height:44px;text-align:left;font-size:14px;line-height:1.4;color:#ffe1ae;border-color:#ac783e;background:#48301b;padding:10px 12px}
.repair-required-target{outline:2px solid #ffbd61!important;outline-offset:-2px;background:#3b2a16!important;color:#ffe1ae!important;box-shadow:inset 4px 0 #ffbd61!important}
.repair-required-target:after{content:'Repair needed';display:block;font:600 12px/1.4 Arial,sans-serif;color:#ffd18b;margin-top:4px}
@media(max-width:730px){.issue-ribbon{padding:12px}.issue-ribbon>div{display:grid}.issue-ribbon .fault-link{width:100%}}
/* Final build sheet and replay rankings */
.finish-summary{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #53664b}
.finish-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.finish-specs>div{padding:1rem;background:#202e23;border:1px solid #526249;border-radius:6px;min-width:0}
.finish-specs span{display:block;font-size:.875rem;color:#c1c8b5;margin-bottom:.45rem}
.finish-specs strong{display:block;font-size:1.15rem;font-weight:600;color:#d8ef91;overflow-wrap:anywhere}
.bests-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.bests-tabs .active{background:#d5ef8b;color:#142012}
.bests-table{width:100%;border-collapse:collapse;font-size:1rem}.bests-table th,.bests-table td{text-align:left;padding:.8rem;border-bottom:1px solid #526249;white-space:nowrap}.current-best{background:#2b3e23}
.zero-wait{display:inline-block;padding:.35rem .6rem;margin:.2rem 0;background:#d5ef8b;color:#142012;border-radius:4px;font-size:.95rem;font-weight:600}
@media(max-width:600px){.finish-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.finish-specs>div{padding:.75rem}}

.desktop-condition-grid button{min-width:0}.desktop-condition-grid button span{white-space:normal;overflow-wrap:anywhere;line-height:1.3}
