/* Approved arcade direction. Layout and input geometry remain in style.css. */
:root { --void:#281343; --panel:#382052; --line:#67457c; --ink:#281343; --silver:#fff7ef; --muted:#c4b4d7; --amber:#ffcf61; --action:#ffcf61; --mint:#8aefba; --credit:#8aefba; --danger:#ff8976; --lavender:#e5baff; }
body { background:#1b1127; }
.phone { border-radius:28px; box-shadow:0 0 0 2px #563e6c,0 12px 0 #100a19; }
button:focus-visible, #stop-title:focus-visible { outline:3px solid #fff7ef; outline-offset:-3px; }
h2 { font:800 30px/1.12 var(--display); letter-spacing:-1px; text-transform:none; }
.brand-wordmark, h1.brand-wordmark, .paddock-top > .brand-wordmark { display:flex; flex-direction:column; align-items:center; justify-content:center; width:max-content; max-width:100%; gap:0; margin:0 auto; padding:0; transform:rotate(-3deg); }
.brand-wordmark::after,.brand-wordmark::before { content:none; }
.space-word { display:block; width:145px; height:auto; }
.brand-wordmark > strong, #race-hud .brand-wordmark > strong, .paddock-top .brand-wordmark > strong { font:900 20px/.95 var(--display); letter-spacing:.7px; text-transform:uppercase; color:var(--amber); text-shadow:0 3px #6d3f7e; }
.brand-large .space-word { width:240px; }
.brand-large > strong { font-size:34px; }
#race-hud { padding:0; background:none; }
#race-hud::before { content:none; }
#race-hud .title-row,.paddock-top { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:4px; height:76px; min-height:76px; padding:8px 16px; margin:0; border:0; background:var(--void); }
#race-hud .help-button,.paddock-top .help-button { width:44px; height:44px; border:0; border-radius:0; background:transparent; color:var(--lavender); font:800 25px var(--display); }
#race-hud .share-button,.paddock-top .share-button { width:44px; height:44px; border:0; background:transparent; }
.share-mini { display:block; width:36px; height:36px; padding:1px; margin:auto; background:white; line-height:0; overflow:hidden; }
.share-mini svg { display:block; width:100%; height:auto; }
#race-hud .cockpit { display:grid; grid-template-columns:1fr 1.6fr; align-items:center; gap:14px; padding:4px 20px 16px; margin:0; background:var(--void); }
#race-hud .place { padding:0; }
#race-hud .place::before { display:none; }
#race-hud #position { font:900 58px/1 var(--display); letter-spacing:-3px; color:var(--amber); text-shadow:none; }
#position sup { font-size:18px; letter-spacing:-.5px; vertical-align:top; position:relative; top:8px; }
#race-hud #position small { font:500 14px var(--display); letter-spacing:0; }
#race-hud .race-detail { flex-direction:row; align-items:center; gap:12px; padding-left:16px; border-left:2px solid var(--line); }
#race-hud .lap-readout,#race-hud .time-readout { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
#race-hud .time-readout { align-items:flex-end; text-align:right; }
#race-hud .cockpit span { font:500 14px/1.15 var(--display); letter-spacing:0; text-transform:none; color:var(--muted); }
#race-hud #lap { font:800 28px/1 var(--display); color:var(--silver); letter-spacing:-.5px; }
#race-hud .cockpit small { font:500 18px var(--display); color:var(--muted); }
#race-hud #clock { font:700 22px/1 var(--display); letter-spacing:-.4px; }
#hud-track { max-width:106px; }
#race-hud .meters { padding:12px 20px 16px; margin:0; gap:14px; border:0; border-radius:0 0 20px 20px; background:#35204d; }
#race-hud .meters label { flex-direction:row; align-items:center; margin-bottom:7px; font:500 14px var(--display); color:var(--silver); text-transform:none; letter-spacing:0; }
#race-hud .meters b { font:800 17px var(--display); }
#race-hud #heat-value { color:var(--danger); } #race-hud #hull-value { color:var(--lavender); } #race-hud #fuel-value { color:var(--mint); }
#race-hud .meter-shell,#race-hud meter,#race-hud meter::-webkit-meter-bar { height:8px; padding:0; border:0; border-radius:5px; background:#1a102a; box-shadow:none; }
#race-hud .meter-shell::after { display:none; }
meter::-webkit-meter-optimum-value,meter::-webkit-meter-suboptimum-value,meter::-webkit-meter-even-less-good-value { border-radius:5px; }
#heat::-webkit-meter-optimum-value,#heat::-webkit-meter-suboptimum-value { background:var(--danger); }
#hull::-webkit-meter-optimum-value { background:var(--lavender); } #fuel::-webkit-meter-optimum-value { background:var(--mint); }
#hull::-webkit-meter-suboptimum-value,#fuel::-webkit-meter-suboptimum-value { background:var(--amber); }
#heat::-webkit-meter-even-less-good-value,#hull::-webkit-meter-even-less-good-value,#fuel::-webkit-meter-even-less-good-value { background:#ff655e; }
#heat::-moz-meter-bar { background:var(--danger); } #hull::-moz-meter-bar { background:var(--lavender); } #fuel::-moz-meter-bar { background:var(--mint); }
#race-hud.hot #heat-value,#race-hud.damaged #hull-value,#race-hud.dry #fuel-value { color:#ffab9b; }
#race-hud.hot #heat::-moz-meter-bar,#race-hud.damaged #hull::-moz-meter-bar,#race-hud.dry #fuel::-moz-meter-bar { background:#ff655e; }
#race-hud.hot #heat::-webkit-meter-bar { outline:1px solid #ffab9b; }
.bottom-deck { background:linear-gradient(#28134300,#281343ed 72%); }
.wheel-direction { opacity:.7; filter:none; }
.wheel-direction.active { filter:none; }
.wheel-direction.active { opacity:1; }
.utility button { color:var(--muted); }
#heat-warning { color:#ffab9b; text-shadow:0 2px 4px #281343; }
#heat-frame { border-color:#ff8976; box-shadow:inset 0 0 28px #ff655e35; }
#autopit-count { position:absolute; top:100%; right:16px; margin-top:8px; padding:5px 10px; border:0; border-radius:12px; color:var(--mint); background:#281343dd; font-size:14px; }
#race-failure { position:absolute; z-index:12; top:28%; left:5%; width:90%; padding:24px 14px; background:#281343f2; border:2px solid var(--danger); border-radius:20px; text-align:center; pointer-events:none; }
#race-failure h2 { font:900 36px/1.1 var(--display); color:var(--silver); margin:0 0 14px; }
#race-failure strong { display:block; font-size:21px; color:var(--danger); }
#race-failure span { display:block; font-size:16px; color:var(--muted); margin-top:12px; }
.paddock,.briefing,.help-page { background:var(--void); padding:12px 20px 20px; }
.paddock::before,.briefing::before { content:none; }
.paddock-top { padding:0; height:66px; min-height:66px; }
.paddock-top > .brand-wordmark { max-width:100%; }
.paddock-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.paddock-heading h2 { flex:1; min-width:0; margin:0; }
.paddock-balance { display:flex; justify-content:flex-end; padding:0; flex:none; }
.paddock-balance:has(#stop-wallet[hidden]) { display:none; }
#stop-wallet { background:transparent; border:0; padding:0; font-size:22px; color:var(--credit); }
.stop-route { margin:10px 0 18px; }
.journey-step { border-color:#634775; }
.stop-tagline { color:var(--muted); font-size:14px; letter-spacing:0; text-transform:none; }
.stop-art.lineup { gap:12px; }
.lineup-choice,.league-card,.stop-options button { border:2px solid transparent; border-image:none; border-radius:16px; background:var(--panel); box-shadow:none; }
.lineup-choice { padding:12px 8px; }
.lineup-choice[aria-pressed="true"],.stop-options button[aria-pressed="true"],.league-card[aria-pressed="true"] { border-color:var(--lavender); background:#4a2b62; color:var(--silver); outline:0; box-shadow:none; }
.lineup-choice[aria-pressed="true"]::after { color:var(--lavender); }
.lineup-choice small { border:0; }
.stop-info { border:0; border-radius:14px; background:#35204d; padding:12px 14px; }
.stop-info:has(.stop-facts:empty):has(.stop-notice:empty) { display:none; }
.stop-actions,.briefing-actions,.help-actions { border:0; padding-top:12px; background:var(--void); }
.primary { min-height:56px; border:0; border-image:none; border-radius:14px; background:var(--amber); color:var(--ink); font:800 21px/1.2 var(--display); text-shadow:none; box-shadow:0 4px #a47733; letter-spacing:0; }
.primary:hover { background:#ffdb83; }
.primary:active { box-shadow:0 2px #a47733; }
.primary.credit-action { border:0; background:var(--amber); color:var(--ink); box-shadow:0 4px #a47733; }
.primary.credit-action .credits { color:#185333; }
.primary.credit-action:hover { background:#ffdb83; }
.primary:disabled { background:#49365e; color:var(--muted); box-shadow:none; }
.stop-secondary { color:var(--muted); }
.paddock[data-stage="ready"] .stop-art { background:#382052; border:0; border-radius:20px; }
.paddock[data-stage="leagues"] .paddock-top { margin-bottom:14px; }
.league-card strong { font:800 28px var(--display); text-transform:none; }
.stop-options .destination { background:var(--panel); border:2px solid transparent; border-radius:18px; }
.stop-options .destination:hover { border-color:var(--lavender); }
.result-stats>div { background:var(--panel); border:0; border-radius:14px; }
.result-reward,.season-awards li { background:#344049; border:0; border-radius:14px; }
.result-stats strong { font-family:var(--display); }
.briefing h2 { font:900 clamp(42px,16cqw,66px)/1 var(--display); letter-spacing:-2px; }
.help-page h2 { font:800 32px var(--display); text-transform:none; }
.help-page h3 { text-transform:none; letter-spacing:0; }
.help-actions button:not(.primary),.coach button { background:var(--panel); border:1px solid var(--line); border-radius:12px; }
.coach { background:#382052; color:var(--silver); border-color:var(--lavender); }
.coach button { color:var(--silver); }
.crew-progress span { background:var(--panel); border-color:var(--line); border-radius:12px; }
.crew-progress .trained { background:#4a2b62; color:var(--lavender); border-color:var(--lavender); }
#share-dialog { background:var(--void); border:2px solid var(--lavender); border-image:none; border-radius:20px; }
.share-actions button { background:var(--lavender); color:var(--ink); border:0; border-radius:12px; }
@container (max-width:340px) { #race-hud .cockpit { padding-inline:12px; gap:8px; } #race-hud .race-detail { padding-left:10px; gap:8px; } #race-hud #position { font-size:44px; } #race-hud #clock { font-size:19px; } #race-hud #lap { font-size:25px; } #race-hud .meters { padding-inline:12px; gap:10px; } #race-hud .meters b { font-size:14px; } .space-word { width:125px; } }
@container (max-width:280px) { #race-hud .title-row { padding-inline:8px; height:66px; min-height:66px; } #race-hud .meters label { flex-direction:column; align-items:flex-start; gap:2px; } #race-hud #position { font-size:36px; } #race-hud #position small { display:block; } #race-hud .time-readout>span { position:static; width:auto; height:auto; clip-path:none; } #race-hud #clock { font-size:17px; } .space-word { width:108px; } #race-hud .brand-wordmark>strong { font-size:17px; } }
@media(max-width:600px) { .phone { border-radius:0; box-shadow:none; } .paddock,.briefing,.help-page { padding:max(8px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); } }
@media(max-height:650px) { .paddock-top { height:60px; min-height:60px; } .paddock-balance { padding-top:4px; } .stop-route { margin:6px 0 12px; } .paddock[data-stage="parts"] .stop-art { height:110px; } .paddock[data-stage="parts"] .scene-art { height:100px; } }

/* Keep the parts title and balance together, with no web hint in the spending flow. */
.paddock[data-stage="parts"] .mobile-phone-hint,.paddock[data-stage="parts"] .stop-tagline { display:none; }
.paddock[data-stage="parts"] #stop-title { font-size:27px; }
.paddock[data-stage="parts"] .stop-route { margin:12px 0 8px; }
#race-hud meter::-webkit-meter-optimum-value,#race-hud meter::-webkit-meter-suboptimum-value,#race-hud meter::-webkit-meter-even-less-good-value { box-shadow:none; background-image:none; }


/* Arcade launch with a simple track checklist. */
.paddock[data-stage="ready"] { background:#21103e; }
.paddock[data-stage="ready"] .paddock-top,.paddock[data-stage="ready"] .stop-actions { background:transparent; }
.paddock[data-stage="ready"] .paddock-body { position:relative; background:radial-gradient(circle at 9% 28%,#e5baff 0 1px,transparent 2px),radial-gradient(circle at 87% 48%,#ffd780 0 1px,transparent 2px),radial-gradient(circle at 52% 11%,#cbbcff 0 1px,transparent 2px),radial-gradient(circle at 25% 66%,#ffd780 0 1px,transparent 2px); background-size:173px 193px,231px 173px,137px 229px,263px 263px; }
.paddock[data-stage="ready"] .mobile-phone-hint { display:none; }
.paddock[data-stage="ready"] .stop-tagline { color:var(--lavender); font-size:16px; font-weight:800; margin:10px 0 0; }
.paddock[data-stage="ready"] .paddock-heading { margin:0; align-items:center; }
.paddock[data-stage="ready"] #stop-title { font:900 58px/.98 var(--display); letter-spacing:-2px; text-transform:uppercase; color:#ffdb78; transform:rotate(-4deg); -webkit-text-stroke:1px #281343; text-shadow:0 4px #b95791,0 7px #100820; padding:5px 0 12px; }
.paddock[data-stage="ready"] #stop-wallet { padding:7px 10px; font-size:20px; background:#102d2a; border:2px solid #8aefba; border-radius:8px 14px 8px 14px; box-shadow:0 4px #080d20; transform:rotate(3deg); }
.paddock[data-stage="ready"] .stop-art { height:auto; min-height:0; margin:0; border:0; border-radius:0; background:none; }
.launch-destination { padding:10px 0 12px; text-align:center; }
.launch-destination>span { color:#e5baff; font-size:14px; font-weight:700; }
.launch-destination h3 { font:900 32px/1.05 var(--display); letter-spacing:-.8px; color:#fff7ef; margin:5px 0 8px; text-shadow:0 3px #100820; }
.launch-format { color:#e5baff; font-size:15px; }.launch-format b { color:#ffdb78; margin-right:6px; }
.paddock[data-stage="ready"] .stop-info { display:none; }
.paddock[data-stage="ready"][data-confirm-season="true"] .stop-info { display:block; background:#3e213f; border:2px solid var(--danger); }
.paddock[data-stage="ready"] .stop-facts { display:none; }
.paddock[data-stage="ready"] .stop-options { gap:10px; margin:0 0 12px; }
.paddock[data-stage="ready"] .stop-options .race-mode { flex:1 1 40%; min-width:0; border:2px solid #a17ac0; border-bottom-width:5px; border-radius:8px 18px 8px 18px; background:#39215a; color:#eed7ff; font:800 15px var(--display); padding:12px 4px; }
.race-mode>span { font-size:20px; margin-right:4px; }
.paddock[data-stage="ready"] .race-mode[aria-pressed="true"] { background:#e5baff; border-color:#f5ddff #a17ac0 #a17ac0; color:#281343; }
.paddock[data-stage="ready"] #mode-practice[aria-pressed="true"] { background:var(--mint); border-color:#d2ffe4 #499e8a #499e8a; }
.paddock[data-stage="ready"] .stop-options .season-reset { flex:1 1 100%; background:none; border:0; color:#c4b4d7; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.paddock[data-stage="ready"] .stop-options .season-reset.armed { background:var(--danger); color:#281343; font-size:16px; font-weight:800; text-decoration:none; }
.paddock[data-stage="ready"] .stop-options .season-cancel { flex:1 1 100%; background:none; color:var(--lavender); border:2px solid var(--lavender); font-size:16px; }
.primary { border:2px solid #ffecab; border-bottom:5px solid #b57b38; border-radius:9px 20px 9px 20px; box-shadow:0 4px #100820; }
.primary.credit-action { border:2px solid #ffecab; border-bottom:5px solid #b57b38; box-shadow:0 4px #100820; }
.primary.race-launch { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:84px; padding:7px 12px 10px; background:#ffcf61; color:#281343; border:3px solid #fff0b0; border-bottom:7px solid #b57b38; border-radius:10px 24px 10px 24px; box-shadow:0 5px #100820; transform:rotate(-1.5deg); }
.primary.race-launch::before { content:none; }.primary.race-launch strong { display:flex; align-items:center; justify-content:center; gap:16px; font:900 35px/1 var(--display); letter-spacing:-1px; }.primary.race-launch strong>span { font-size:23px; }
.launch-caption { display:block; font:700 14px/1.3 var(--display); margin-bottom:4px; }
.primary.race-launch:active { transform:translateY(3px) rotate(-1.5deg); box-shadow:0 2px #100820; }
.stop-actions .stop-secondary { min-height:44px; font-size:15px; color:var(--lavender); }
@media (max-height:740px) { .paddock[data-stage="ready"] #stop-title { font-size:44px; }.launch-destination h3 { font-size:27px; }.primary.race-launch { min-height:74px; }.primary.race-launch strong { font-size:30px; } }
@container (max-width:340px) { .paddock[data-stage="ready"] .stop-options .race-mode { font-size:14px; }.race-mode>span { font-size:16px; margin-right:2px; }.primary.race-launch strong { font-size:29px; } }
.paddock[data-stage="ready"][data-race-mode="practice"] #stop-title { font-size:clamp(32px,12cqw,50px); }
@media (max-height:650px) {
  .paddock[data-stage="ready"] #stop-title { font-size:36px; padding-bottom:8px; }
  .paddock[data-stage="ready"] .stop-tagline { font-size:14px; margin-top:5px; }

  .launch-destination { padding:5px 0 8px; }.launch-destination h3 { font-size:24px; margin:3px 0 6px; }
}

/* New stock is a brief arcade callout, not another dialog to dismiss. */
.market-news{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#183b39;border:2px solid #64eeaa;border-radius:14px;color:#bdffdc;margin:12px 0}
.market-news>span{font-size:32px;color:#7bffb0}.market-news strong{display:block;font-size:20px;font-style:italic}.market-news div>span{font-size:14px}

/* Current round, standing and objective replace the decorative track checklist. */
.season-progress { display:flex; justify-content:space-between; gap:8px; margin:18px 0 14px; padding:0; list-style:none; }
.season-progress li { flex:1; padding:7px 0; border-bottom:4px solid #66517c; color:#dac9e8; text-align:center; font-size:18px; font-weight:800; }
.season-progress li.complete { border-color:#d6ad55; color:#ffdb78; }
.season-progress li.current { border-color:#ffdb78; background:#ffdb78; color:#281343; border-radius:12px 12px 0 0; }
.season-target { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:16px 0 10px; padding:16px; border-radius:18px 6px 18px 6px; background:#392151; }
.season-target > div + div { border-left:1px solid #9374ab; padding-left:14px; }
.season-target span { display:block; font-size:14px; color:#e3d2ec; }
.season-target strong { display:block; font-size:30px; color:#ffdb78; line-height:1.2; }
.season-target small,.season-target b { font-size:16px; font-weight:600; color:#f6eafa; }
.season-goal-copy { font-size:16px; color:#e3d2ec; text-align:center; margin:10px 0 18px; }
.practice-picker { display:grid; grid-template-columns:44px 1fr 44px; align-items:center; gap:8px; margin:18px 0; }
.practice-picker button { min-height:48px; border:2px solid #be9bdb; background:#392151; color:#ffe9ff; border-radius:12px; font-size:30px; }
@media (max-height:640px) { .season-progress { margin-block:10px; }.season-target { padding:12px; margin-top:10px; }.season-target strong { font-size:26px; } }

#results #overlay-title { font-size:clamp(24px,7cqw,28px); line-height:1.12; letter-spacing:0; overflow-wrap:normal; }

/* Two deliberate entry points; career management stays secondary. */
.paddock[data-stage="home"] #stop-title { font-size:clamp(34px,11cqw,46px); text-align:center; color:var(--amber); margin-bottom:4px; }
.paddock[data-stage="home"] .mode-intro { display:flex; align-items:center; justify-content:center; gap:22px; margin:12px 0; }
.paddock[data-stage="home"] .home-ship { width:95px; height:130px; filter:drop-shadow(0 8px 8px #100820); }
.paddock[data-stage="home"] .mode-intro p { font-size:20px; line-height:1.35; font-weight:700; color:var(--silver); }
.paddock[data-stage="home"] .stop-art { height:auto; min-height:0; }
.paddock[data-stage="home"] .stop-info { text-align:center; }
.paddock[data-stage="home"] #stop-primary,.paddock[data-stage="home"] #stop-secondary { min-height:64px; font:800 26px var(--display); border-radius:12px; }
.paddock[data-stage="home"] #stop-secondary { background:var(--mint); color:var(--ink); box-shadow:0 4px #499e8a; margin-top:10px; }
.paddock[data-stage="home"] #career-new { width:100%; background:none; border:0; color:var(--lavender); font-size:16px; text-decoration:underline; text-underline-offset:4px; min-height:44px; }
.paddock[data-stage="new-career"] #stop-title { font-size:36px; color:var(--amber); }
.paddock[data-stage="new-career"] .stop-art { display:none; }
.help-actions { grid-template-columns:1fr 1fr; }
@media(max-height:600px){ .paddock[data-stage="home"] .home-ship { height:90px; }.paddock[data-stage="home"] .mode-intro { margin:4px 0; }.paddock[data-stage="home"] #stop-primary,.paddock[data-stage="home"] #stop-secondary { min-height:54px; font-size:24px; } }
.race-classification td,.race-classification th { padding-inline:4px; }
.race-classification .driver { gap:6px; }
.race-classification td:last-child { white-space:nowrap; }
@container(max-width:340px){ .race-classification { font-size:14px; }.race-classification .avatar { width:26px; height:26px; }.race-classification .driver { gap:4px; }.race-classification td:first-child,.race-classification th:first-child { width:auto; } }
.rival-garage { margin:16px 0 20px; border:1px solid #806396; border-radius:12px; text-align:left; }
.rival-garage summary { padding:14px; cursor:pointer; color:var(--amber); font-size:16px; font-weight:700; }
.rival-garage summary:focus-visible { outline:2px solid var(--mint); outline-offset:3px; }
.rival-garage ul { margin:0; padding:0 14px; list-style:none; }
.rival-garage li { padding:12px 0; border-top:1px solid #806396; }
.rival-garage li>div { display:flex; justify-content:space-between; gap:12px; font-size:18px; }
.rival-garage li>span,.rival-garage p { font-size:14px; line-height:1.4; color:var(--muted); margin:6px 0 0; }
.rival-garage .rival-purchase { color:var(--silver); }

/* Polish the existing arcade kit: clear choices first, supporting detail second. */
.paddock:not([data-stage="home"]):not([data-stage="leagues"]) .mobile-phone-hint { display:none; }
.paddock-heading { align-items:baseline; gap:10px; }
.paddock-heading h2 { line-height:1.12; letter-spacing:-.7px; }
.stop-tagline:empty,.stop-facts:empty,.stop-notice:empty { display:none; }
.stop-tagline { margin:4px 0 8px; }
.stop-route { margin:6px 0 12px; }
.lineup-choice { display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 8px 10px; }
.stop-art .lineup-choice .card-art { height:76px; margin:0 0 2px; }
.lineup-choice strong { line-height:1.2; }
.lineup-choice>span { font-size:16px; }
.lineup-choice small { margin:0; padding:4px 0 0; font-size:14px; line-height:1.3; min-height:22px; }
.lineup-choice:focus-visible,.stop-options button:focus-visible,.league-card:focus-visible { outline:3px solid var(--mint); outline-offset:3px; }
.stop-info { margin:10px 0; }
.stop-info p { margin:0; line-height:1.4; }
.stop-info p+p { margin-top:6px; }
.stop-actions,.briefing-actions { border-top:1px solid #76528d55; padding-top:10px; }
.stop-actions .primary,.briefing-actions .primary { line-height:1.15; }
.paddock[data-stage="home"] .paddock-body { display:flex; flex-direction:column; }
.paddock[data-stage="home"] .paddock-heading { justify-content:center; }
.paddock[data-stage="home"] #stop-art { flex:1; display:grid; place-items:center; margin:12px 0; }
.paddock[data-stage="home"] .mode-intro { gap:18px; }
.paddock[data-stage="home"] .mode-intro p { font-size:18px; }
.paddock[data-stage="home"] .mobile-phone-hint { text-align:center; }
.paddock[data-stage="route"] .stop-info:has(.stop-notice:empty) { display:none; }
.paddock[data-stage="route"] .stop-route { color:var(--mint); font-weight:700; }
.stop-options .destination { min-height:120px; padding:10px 8px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; }
.stop-options .destination svg { height:54px; width:100%; margin:0; }
.stop-options .destination strong { font-size:18px; line-height:1.15; }
.stop-options .destination small { font-size:14px; line-height:1.3; color:var(--muted); }
.stop-options .destination:disabled { opacity:.6; }
.rival-garage-slot { grid-column:1/-1; min-width:0; }
.rival-garage-slot .rival-garage { margin:2px 0; background:#35204d; }
#results .race-badge { margin:0 0 12px; padding-bottom:12px; }
#results #overlay-title { margin:0 0 14px; }
#results .result-verdict { margin:0 0 16px; align-items:center; }
#results .result-verdict>strong { font-size:36px; line-height:1.1; }
#results .result-verdict>span { line-height:1.3; }
.standings caption { padding:0 0 8px; }
.standings tbody tr.you { background:#443056; }
.standings td { vertical-align:middle; }
.result-reward,.season-awards li { background:#35204d; }
.paddock[data-stage="new-career"] #stop-primary { background:var(--danger); color:var(--ink); box-shadow:0 4px #8c4559; }
@media(max-height:650px){ .stop-art .lineup-choice .card-art { height:66px; }.lineup-choice { gap:4px; }.stop-info { padding:10px 12px; } }
.paddock[data-stage="parts"] .stop-facts { display:none; }
.paddock[data-stage="parts"] .stop-info:has(.stop-notice:empty) { display:none; }
.paddock[data-stage="parts"] .stop-info { margin:4px 0 8px; padding:6px 10px; }

/* Modern hangar fittings: satin colour, inset displays and a restrained metal edge. */
.paddock { --shop-cyan:#72d5ec; --shop-gold:#f5bf55; --shop-coral:#f59a88; --shop-mint:#8addaa; --shop-accent:#f5bf55; background:radial-gradient(ellipse at 50% 0,#372545,transparent 65%),#191523; }
.paddock .paddock-top { background:transparent; border-bottom:0; box-shadow:none; margin-bottom:8px; }
.paddock .paddock-heading h2 { font-style:normal; font-weight:800; letter-spacing:-.6px; text-shadow:none; }
.paddock #stop-wallet { border:1px solid #668179; border-radius:7px; padding:6px 8px; background:#0b221d; box-shadow:inset 0 2px 4px #0003; }
.paddock .stop-route { color:#c7c3d1; }
.paddock .journey-step { font-weight:800; border-top-width:2px; }
.paddock[data-stage="shop"] { --shop-accent:var(--shop-mint); --shop-shade:#183b35; }
.paddock[data-stage="drivers"] { --shop-accent:var(--shop-coral); --shop-shade:#492b35; }
.paddock[data-stage="crew"] { --shop-accent:var(--shop-gold); --shop-shade:#443725; }
.paddock[data-stage="parts"] { --shop-accent:var(--shop-cyan); --shop-shade:#183748; }
.paddock:is([data-stage="shop"],[data-stage="drivers"],[data-stage="crew"],[data-stage="parts"]) #stop-title { color:var(--shop-accent); }
.paddock .stop-actions { background:transparent; border-top:1px solid #4b435a; padding-top:10px; }
.paddock .primary,.paddock .primary.credit-action { border:1px solid; border-color:#fff0ba #946931 #684b28 #ffe5a0; border-radius:9px; background:#f5bf55; color:#231c2d; box-shadow:0 3px 0 #111421,inset 0 1px #ffffff55; font-weight:800; font-style:normal; }
.paddock:is([data-stage="shop"],[data-stage="drivers"],[data-stage="crew"]) #stop-primary:not(:disabled) { background:var(--shop-accent); border-color:#e8fff0 #537565 #273b36 #c3e9cb; }
.paddock[data-stage="drivers"] #stop-primary:not(:disabled) { border-color:#ffe6d7 #a96250 #56332e #ffd4bc; }
.paddock .primary:active { transform:translateY(2px); box-shadow:0 2px #090d16,inset 0 2px #0003; }
.paddock .primary:disabled { background:#35323d; color:#cac5d0; border-color:#64616a #282630 #282630 #64616a; box-shadow:none; }
.paddock .primary.race-launch { border-radius:9px; transform:none; }
.paddock .primary.race-launch:active { transform:translateY(2px); }
.paddock[data-stage="home"] #stop-secondary { border:1px solid; border-color:#d0ffe0 #567f69 #314a40 #c2edcb; border-radius:9px; background:#8addaa; box-shadow:0 3px #111421; font-style:normal; }
.paddock .stop-secondary { font-weight:700; }
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-art.lineup { gap:10px; margin:8px 0 10px; }
.lineup-choice { --card-accent:#72d5ec; --card-bg:#183748; background:linear-gradient(180deg,#ffffff0d,transparent 45%),var(--card-bg); border:1px solid; border-color:#9caab0 #38434b #222d37 #667c87; border-radius:9px; box-shadow:0 3px 8px #090d1633,inset 0 1px #ffffff12; }
.lineup-choice:nth-child(4n+2) { --card-accent:#f59a88; --card-bg:#492b35; }
.lineup-choice:nth-child(4n+3) { --card-accent:#f5bf55; --card-bg:#443725; }
.lineup-choice:nth-child(4n+4) { --card-accent:#8addaa; --card-bg:#183b35; }
.lineup-choice[aria-pressed="true"] { background:var(--card-bg); border-color:var(--card-accent); box-shadow:inset 0 0 0 1px var(--card-accent),0 3px 8px #090d1633; }
.lineup-choice[aria-pressed="true"]::after { background:var(--card-accent); color:#191523; width:22px; height:22px; border-radius:6px; display:grid; place-items:center; top:5px; right:5px; }
.lineup-choice strong { color:var(--card-accent); font-size:18px; font-weight:800; font-style:normal; }
.lineup-choice .card-art { filter:drop-shadow(0 4px 4px #080d1666); }
.lineup-choice small { color:#eee9e1; }
.lineup-choice .credits { background:#0b221d; padding:2px 7px; border:1px solid #698375; border-radius:4px; }
.paddock .stop-info { border:1px solid #54485f; border-radius:6px; background:#22222e; padding:10px 12px; }
.stop-options :is(#browse-ships,#browse-drivers) { flex:1; background:#29394a; color:#bceaff; border:1px solid #64798a; border-radius:6px; min-height:44px; text-align:center; font-weight:800; }
.stop-options #browse-drivers { background:#492b35; color:#ffd5dc; }
.stop-options .destination { position:relative; background:linear-gradient(180deg,#ffffff25,transparent 60%),var(--destination-color); color:#231c2d; border:1px solid; border-color:#b9c3bd #47525b #26313c #8c9ba0; border-radius:9px; box-shadow:0 3px 0 #111421,inset 0 1px #ffffff44; }
#visit-drivers { --destination-color:#f59a88; } #visit-crew { --destination-color:#f5bf55; }
#visit-shop { --destination-color:#8addaa; } #visit-parts { --destination-color:#72d5ec; }
.stop-options .destination strong { font-size:21px; font-weight:800; font-style:normal; }.stop-options .destination small { color:#231c2d; }
.stop-options .destination:hover { border-top-color:#fff7ef; }
.stop-options .destination:active { transform:translateY(2px); }
.paddock[data-stage="route"] .stop-info { display:none; }
.paddock[data-stage="parts"] .stop-art { display:none; }
.paddock[data-stage="parts"] .stop-route { margin:8px 0; }
.paddock[data-stage="parts"] .paddock-heading { margin-bottom:12px; }
/* Compact arcade stock boxes, matching the supplied cyan-outline reference. */
.paddock .parts-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:0; }
.part-rack { --rack-colour:#a6eeff; display:grid; grid-template-rows:minmax(40px,1fr) auto auto 40px; justify-items:center; align-items:center; gap:8px; min-width:0; padding:16px 10px 12px; border:2px solid #75e7ed; border-radius:11px; background:linear-gradient(155deg,#434a70,#343b5a); box-shadow:inset 0 1px #ffffff18,0 3px 0 #111725; text-align:center; }
.part-rack.part-tank { --rack-colour:#ffcf75; }.part-rack.part-hull { --rack-colour:#ffb5b3; }.part-rack.part-autopit { --rack-colour:#a3edbe; }
.part-rack>svg { width:clamp(48px,9dvh,84px); height:clamp(48px,9dvh,84px); fill:none; stroke:var(--rack-colour); stroke-width:2.7; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 3px 0 #20253d); }
.part-rack:not(.part-autopit)>svg { align-self:end; margin-bottom:-4px; }
.part-rack:not(.part-autopit) .part-price { padding-bottom:12px; }
.part-rack h3 { margin:0 0 5px; color:#fff8ed; font-size:22px; line-height:1.1; font-weight:900; font-style:normal; }
.part-rack p { margin:0; color:#e1e6f6; font-size:14px; line-height:1.25; }
.part-price { color:#9af1bd; font-size:22px; font-weight:900; line-height:1.15; }
.parts-options .part-rack .part-fit { position:relative; width:100%; min-height:40px; padding:3px 10px; border:1px solid #f9e0a4; border-radius:7px; background:linear-gradient(#f7d27c,#e8b95e); color:#2b243b; box-shadow:0 2px 0 #22253b; text-align:center; font-size:19px; font-weight:900; }
.parts-options .part-rack .part-fit:active { transform:translateY(1px); box-shadow:none; }
.parts-options .part-rack .part-fit:disabled { opacity:1; background:#454961; border-color:#76839d; color:#c9d0e1; box-shadow:none; }
.part-rack:focus-visible { outline:3px solid #ffe399; outline-offset:3px; }
.paddock[data-stage="parts"] .stop-info { display:none; }
.paddock-navigation { display:flex; align-items:center; gap:12px; }
.paddock-navigation .stop-route { flex:1; min-width:0; }
.paddock[data-stage="parts"] .paddock-navigation { position:relative; height:0; }
.paddock[data-stage="parts"] .stop-route { position:absolute; top:32px; left:0; margin:0; font-size:14px; line-height:16px; color:#a4efc6; }
.paddock-navigation:has(.stop-route:empty):has(.shop-shortcut[hidden]) { display:none; }
.shop-shortcut { flex:none; min-height:44px; padding:6px 14px; border:1px solid #f6dc99; border-radius:8px; background:#ebc469; color:#292138; font-size:16px; font-weight:800; }
.paddock-navigation .shop-shortcut { margin-block:4px; }
.briefing-actions:has(#results-shop:not([hidden])) { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.briefing-actions:has(#results-shop:not([hidden])) #start { grid-column:1/-1; }
.briefing-actions:has(#results-shop:not([hidden])) #results-menu { margin:0; }
.paddock[data-stage="crew"] .crew-progress .trained { background:#f5bf55; border-color:#ffdda0 #6c5034 #6c5034 #ffdda0; color:#231c2d; border-radius:6px; }
.paddock:is([data-stage="shop"],[data-stage="drivers"],[data-stage="crew"],[data-stage="route"]) .stop-tagline { display:none; }
@media(max-height:740px) {
  .paddock:not([data-stage="ready"]) .paddock-top { height:58px; min-height:58px; padding-block:4px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"],[data-stage="parts"],[data-stage="route"]) .stop-route { margin:4px 0 8px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .paddock-heading { margin-bottom:6px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice { gap:3px; padding:7px 5px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice .card-art { height:58px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-info p { font-size:14px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-info { margin-bottom:8px; padding:8px 10px; }
  .paddock[data-stage="route"] .stop-options .destination { min-height:96px; padding:6px; gap:3px; }
  .paddock[data-stage="route"] .stop-options { margin-bottom:0; gap:8px; }
  .paddock[data-stage="route"] .paddock-heading { margin-bottom:6px; }
  .paddock[data-stage="route"] .destination .card-art,.paddock[data-stage="route"] .destination svg { height:36px; }
  .paddock[data-stage="crew"] .stop-art { height:110px; min-height:0; margin:6px 0; }
  .paddock[data-stage="parts"] .paddock-heading { margin-bottom:8px; }
  .part-rack { padding:8px; gap:3px; grid-template-rows:minmax(28px,1fr) auto auto 40px; }
  .part-rack>svg { width:36px; height:36px; }
  .part-rack:not(.part-autopit) .part-price { padding-bottom:7px; }
  .part-rack h3 { font-size:19px; margin-bottom:3px; }
  .part-price { font-size:19px; }
  .paddock .parts-options { gap:8px; }
  .paddock[data-stage="parts"] .stop-actions { padding-top:8px; }
}
@container(max-width:340px) {
  .part-rack h3 { font-size:19px; }
  .lineup-choice strong { font-size:16px; }
}

@media(max-height:650px) {
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-route { display:none; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-options { margin-bottom:0; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-info { margin-block:6px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice { padding:4px 5px; gap:1px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice .card-art { height:42px; margin:0; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice small { min-height:0; padding-top:2px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice .credits { padding:1px 5px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice>span { margin-top:0; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-art.lineup { gap:8px; margin-bottom:6px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-actions:has(.stop-secondary:not([hidden])) { display:grid; grid-template-columns:1.1fr 1fr; gap:8px; align-items:stretch; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-actions .primary { font-size:18px; min-height:52px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-secondary:not([hidden]) { margin:0; padding:8px; min-height:52px; border:1px solid #71637f; border-radius:9px; background:#352940; }
}

/* Give spare height to the main decision, not an empty gap above the actions. */
.paddock:not([data-stage="fleet"]):not([data-stage="pilots"]) .paddock-body { display:flex; flex-direction:column; }
.paddock .paddock-body > * { flex-shrink:0; }
.paddock:is([data-stage="shop"],[data-stage="drivers"],[data-stage="leagues"]) .stop-art { flex:1 0 auto; grid-auto-rows:minmax(min-content,1fr); }
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice { justify-content:center; }
.paddock[data-stage="parts"] .parts-options { flex:1 0 auto; grid-template-rows:repeat(2,minmax(155px,1fr)) auto; }
.paddock[data-stage="route"] .stop-options { flex:1 0 auto; grid-template-rows:repeat(2,minmax(min-content,1fr)) auto auto; }
.paddock[data-stage="crew"] .stop-art { flex:1 0 110px; display:grid; place-items:center; height:auto; min-height:110px; }
.paddock[data-stage="crew"] .stop-art svg { max-height:220px; }
.paddock[data-stage="ready"] .stop-art { flex:1 0 auto; display:flex; flex-direction:column; justify-content:center; }
.paddock[data-stage="new-career"] .paddock-body { justify-content:center; }
@media(min-height:741px) {
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-art.lineup { margin-block:16px; }
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice { gap:8px; }
  .paddock[data-stage="parts"] .parts-options { gap:14px; }
  .paddock[data-stage="route"] .stop-options { gap:14px; }
  .paddock .stop-actions { padding-top:16px; }
}
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-art.lineup { align-items:center; }
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice { height:100%; max-height:300px; }
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup:has(.lineup-choice:nth-child(2):last-child) .card-art { height:clamp(64px,14dvh,128px); }
.paddock[data-stage="parts"] .parts-options { align-items:center; }
.paddock[data-stage="parts"] .part-rack { height:100%; max-height:280px; }
@media(max-height:650px) {
  .paddock[data-stage="ready"] .stop-actions:has(.stop-secondary:not([hidden])) { display:grid; grid-template-columns:1.7fr 1fr; align-items:stretch; gap:8px; }
  .paddock[data-stage="ready"] .primary.race-launch { min-height:64px; padding:6px; }
  .paddock[data-stage="ready"] .primary.race-launch strong { font-size:24px; gap:0; }
  .paddock[data-stage="ready"] .primary.race-launch strong>span { display:none; }
  .paddock[data-stage="ready"] .stop-secondary:not([hidden]) { margin:0; padding:8px; min-height:64px; border:1px solid #71637f; border-radius:9px; background:#352940; }
  .paddock[data-stage="ready"] .season-progress { margin-block:6px; }
  .paddock[data-stage="ready"] .season-goal-copy { margin:6px 0 10px; }
}
@media(max-height:650px) {
  .paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-art.lineup { margin-top:0; }
  .paddock[data-stage="crew"] .stop-info p { font-size:14px; }
  .paddock[data-stage="crew"] .stop-actions:has(.stop-secondary:not([hidden])) { display:grid; grid-template-columns:1.1fr 1fr; gap:8px; }
  .paddock[data-stage="crew"] .stop-actions .primary { min-height:52px; font-size:18px; }
  .paddock[data-stage="crew"] .stop-secondary:not([hidden]) { margin:0; padding:8px; min-height:52px; border:1px solid #71637f; border-radius:9px; background:#352940; }
}

/* Consumable rescue sits below the four permanent fittings. */
.part-rack.part-engine { --rack-colour:#ffda8d; }
.paddock[data-stage="parts"] .part-autopit { grid-column:1/-1; height:auto; grid-template-columns:46px 1fr auto; grid-template-rows:auto auto; gap:4px 10px; padding:10px; text-align:left; }
.part-autopit>svg { grid-row:1/3; width:44px; height:44px; }
.part-autopit>div:not(.part-price) { justify-self:start; }
.part-autopit .part-price { grid-column:2; justify-self:start; font-size:19px; }
.part-autopit .part-fit { grid-column:3; grid-row:1/3; min-width:70px; }
@media(max-height:740px) {
 .paddock[data-stage="parts"] .parts-options { grid-template-rows:repeat(2,minmax(145px,1fr)) auto; }
 .paddock[data-stage="parts"] .part-autopit { padding:6px 8px; }
}
@media(max-height:650px) {
 .paddock[data-stage="parts"] .parts-options { grid-template-rows:repeat(2,minmax(124px,1fr)) auto; }
 .part-rack:not(.part-autopit) { position:relative; grid-template-columns:1fr; grid-template-rows:auto auto 40px; padding:5px; gap:2px 4px; }
 .part-rack:not(.part-autopit)>div:not(.part-price) { width:100%; }
 .part-rack:not(.part-autopit)>svg { position:absolute; left:5px; top:5px; width:32px; height:32px; margin-bottom:0; }
 .part-rack:not(.part-autopit) .part-price { padding-bottom:6px; }
 .part-rack:not(.part-autopit) h3 { padding-left:32px; margin-bottom:8px; font-size:18px; }
 .part-rack:not(.part-autopit) .part-price,.part-rack:not(.part-autopit) .part-fit { grid-column:1/-1; }
 .part-rack:not(.part-autopit) p { font-size:14px; }
}

.parts-options .part-rack .part-fit::after { content:""; position:absolute; inset:-2px 0; }

/* One menu family: plum hangar, cyan panels, gold actions, mint credits. */
:root { --menu-bg:radial-gradient(ellipse at 50% 0,#372545,transparent 65%),#191523; --menu-card:linear-gradient(155deg,#434a70,#343b5a); --menu-edge:#75e7ed; --menu-gold:linear-gradient(#f7d27c,#e8b95e); }
.paddock,.briefing,.help-page,.paddock[data-stage="ready"] { background:var(--menu-bg); }
.paddock-top,.briefing .results-top { background:transparent; border:0; margin-bottom:8px; }
.paddock .stop-actions,.briefing-actions,.help-actions { background:transparent; border:0; padding-top:12px; }
.paddock .paddock-heading h2,.paddock[data-stage="ready"] #stop-title,.paddock[data-stage="ready"][data-race-mode="practice"] #stop-title,#results #overlay-title,.help-page h2 { font:800 30px/1.12 var(--display); color:#a6eeff; letter-spacing:-.6px; text-shadow:none; -webkit-text-stroke:0; transform:none; padding:0; }
.paddock[data-stage="ready"] .paddock-heading { margin:0 0 12px; }
.paddock[data-stage="ready"] .paddock-body { background:none; }
.paddock[data-stage="ready"] #stop-wallet { transform:none; border:1px solid #668179; border-radius:7px; padding:6px 8px; font-size:22px; background:#0b221d; box-shadow:inset 0 2px 4px #0003; }
.paddock .primary,.paddock .primary.credit-action,.briefing .primary,.help-page .primary,.paddock:is([data-stage="shop"],[data-stage="drivers"],[data-stage="crew"]) #stop-primary:not(:disabled) { border:1px solid #f9e0a4; border-radius:9px; background:var(--menu-gold); color:#2b243b; box-shadow:0 3px #111421,inset 0 1px #ffffff33; font-weight:900; }
.paddock .primary:disabled,.briefing .primary:disabled { background:#454961; border-color:#76839d; color:#c9d0e1; box-shadow:none; }
.paddock .stop-secondary,.briefing .stop-secondary,.shop-shortcut,.help-actions button:not(.primary) { min-height:44px; border:1px solid #788ca7; border-radius:9px; background:#303b58; color:#d6f4ff; padding:8px 12px; font:700 16px/1.2 var(--display); text-decoration:none; }
.paddock[data-stage="home"] #stop-secondary { background:#303b58; border:1px solid #788ca7; color:#d6f4ff; box-shadow:none; }
.paddock[data-stage="ready"] .stop-art { border:2px solid var(--menu-edge); border-radius:11px; background:var(--menu-card); padding:12px; }
.paddock[data-stage="ready"] .primary.race-launch { min-height:68px; padding:7px 12px; }
.primary.race-launch strong { font-size:28px; }
.launch-destination { padding:8px 0 12px; }
.launch-destination h3 { font-size:30px; text-shadow:none; }
.season-progress { margin:4px 0 12px; }
.season-target { background:#272e49; border:1px solid #7385a3; border-radius:9px; margin:8px 0; padding:12px; }
.season-goal-copy { margin:8px 0 0; font-size:14px; }
.paddock[data-stage="ready"] .stop-options { margin:12px 0 0; }
.paddock[data-stage="ready"] .stop-options .race-mode { border:1px solid #788ca7; border-radius:9px; background:#303b58; min-height:44px; padding:8px; color:#d6f4ff; }
.paddock[data-stage="ready"] .race-mode[aria-pressed="true"],.paddock[data-stage="ready"] #mode-practice[aria-pressed="true"] { background:#a6eeff; border-color:#d5f8ff; color:#25263c; }
.paddock .stop-info,.result-reward,.season-awards li { background:#272e49; border:1px solid #7385a3; border-radius:9px; }
.lineup-choice,.league-card { border-radius:11px; }
.stop-options .destination { background:var(--menu-card); border:1px solid #75e7ed; color:#fff8ed; box-shadow:0 3px #111421; }
#results .race-badge { border:0; padding:0; margin:6px 0 8px; color:#c4cce5; font-size:14px; }
#results #overlay-title { margin:0 0 16px; }
#results .standings { background:#272e49; border-radius:9px; overflow:hidden; }
#results .standings th,#results .standings td { padding:9px 6px; }
#results .standings .you { background:#354b55; }
#results .result-note { color:#d1c9e0; font-size:14px; }
#results .briefing-body { padding-top:4px; }
.help-page h3 { color:#a6eeff; }
/* A single podium reveal, then stillness: the race is over. */
.season-celebration { position:relative; isolation:isolate; padding:12px 0 0; }
.champion-call { text-align:center; color:#ffe09b; font-weight:800; font-size:22px; margin:4px 0 28px; }
.season-podium { display:grid; grid-template-columns:1fr 1.15fr 1fr; align-items:end; gap:8px; list-style:none; padding:0; margin:0; }
.podium-place { display:flex; flex-direction:column; align-items:center; min-width:0; text-align:center; }
.podium-place .avatar { width:76px; height:76px; border:2px solid #b8c9e9; border-radius:50%; background:#303b58; padding:3px; margin-bottom:10px; }
.podium-place>strong { font-size:19px; color:#fff8ed; line-height:1.15; overflow-wrap:anywhere; }
.podium-place>span { font-size:14px; color:#d5d9ec; margin:5px 0 12px; }
.podium-place.is-you>strong { color:#9af1bd; }
.podium-1 { grid-column:2; grid-row:1; }.podium-2 { grid-column:1; grid-row:1; }.podium-3 { grid-column:3; grid-row:1; }
.podium-1 .avatar { width:94px; height:94px; border:3px solid #ffe09b; box-shadow:0 0 24px #f7cd7540; }
.podium-plinth { width:100%; display:flex; flex-direction:column; align-items:center; height:82px; padding-top:14px; border:2px solid #adc4e1; border-bottom:0; border-radius:11px 11px 0 0; background:linear-gradient(#54627e,#333b59); color:#e2f1ff; }
.podium-plinth b { font:900 28px/1 var(--display); }.podium-plinth span { margin-top:10px; font-size:24px; }
.podium-1 .podium-plinth { height:124px; background:linear-gradient(#f5d68c,#ad8040); border-color:#ffe9b0; color:#34243b; }
.podium-3 .podium-plinth { height:62px; background:linear-gradient(#986c63,#533e51); border-color:#e4ad91; color:#ffe5ce; }
.your-season { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; padding:14px 8px; margin:0 0 12px; border:1px solid #748baa; border-radius:0 0 9px 9px; background:#272e49; font-size:16px; color:#eef2ff; }
.your-season strong { color:#9af1bd; }.your-season>span { flex-basis:100%; text-align:center; color:#c7d5e9; font-size:14px; }
.podium-sparks { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }
.podium-sparks i { position:absolute; top:2%; left:8%; width:5px; height:12px; background:#ffd57e; transform:rotate(24deg); animation:podium-spark 1.6s ease-out both; }
.podium-sparks i:nth-child(3n) { background:#83e9ed; height:7px; }.podium-sparks i:nth-child(2n) { background:#eeadce; transform:rotate(-24deg); }
.podium-sparks i:nth-child(2){left:18%;top:18%}.podium-sparks i:nth-child(3){left:29%;top:5%}.podium-sparks i:nth-child(4){left:38%;top:24%}.podium-sparks i:nth-child(5){left:47%;top:1%}.podium-sparks i:nth-child(6){left:58%;top:17%}.podium-sparks i:nth-child(7){left:68%;top:4%}.podium-sparks i:nth-child(8){left:79%;top:22%}.podium-sparks i:nth-child(9){left:91%;top:9%}.podium-sparks i:nth-child(10){left:4%;top:35%}.podium-sparks i:nth-child(11){left:95%;top:40%}.podium-sparks i:nth-child(12){left:72%;top:32%}
@keyframes podium-spark { from { opacity:0; translate:0 -35px; } 25% { opacity:1; } to { opacity:.6; translate:0 14px; } }
@media(prefers-reduced-motion:reduce) { .podium-sparks i { animation:none; } }
@media(max-height:650px) {
 .paddock .paddock-heading h2,.paddock[data-stage="ready"] #stop-title,.paddock[data-stage="ready"][data-race-mode="practice"] #stop-title,#results #overlay-title { font-size:26px; }
 .paddock[data-stage="ready"] .stop-art { padding:8px; }
 .launch-destination h3 { font-size:25px; }.launch-destination { padding:4px 0 8px; }
 .season-progress { margin:0 0 6px; }.season-progress li { padding:4px 0; }
 .season-target { padding:8px; margin:4px 0; }.season-target strong { font-size:24px; }
 .champion-call { font-size:19px; margin:0 0 14px; }
 .podium-place .avatar { width:56px; height:56px; margin-bottom:6px; }.podium-1 .avatar { width:70px; height:70px; }
 .podium-place>strong { font-size:16px; }.podium-place>span { margin:4px 0 8px; }
 .podium-plinth { height:60px; padding-top:9px; }.podium-1 .podium-plinth { height:90px; }.podium-3 .podium-plinth { height:44px; }
 .your-season { padding:8px; }.season-celebration { padding-top:0; }
 .briefing .results-top { height:58px; min-height:58px; }
}

.paddock[data-stage="ready"] .stop-tagline { display:none; }
.paddock[data-stage="ready"] #stop-title { text-transform:none; }
.paddock-navigation:not(:has(.stop-route:not([hidden]):not(:empty))) { display:none; }
.paddock-heading .shop-shortcut { flex:none; margin:0; }
@media(max-height:650px) {
 .champion-call { margin-bottom:8px; }
 .podium-1 .podium-plinth { height:72px; }
 .podium-plinth span { margin-top:5px; font-size:20px; }
 .your-season>span { flex-basis:auto; }
}
@container(max-width:340px) {
 .paddock-heading { gap:8px; }
 .paddock-heading .shop-shortcut { min-width:44px; padding:7px; font-size:14px; }
}
.stop-options .destination small { color:#d6dcef; }
.rival-garage,.rival-garage-slot .rival-garage { background:#272e49; border:1px solid #7385a3; border-radius:9px; }
.paddock[data-stage="leagues"] .mobile-phone-hint { display:none; }
.league-card { background:var(--menu-card); border:1px solid #7385a3; color:#e1e6f6; }
.league-card[aria-pressed="true"] { background:var(--menu-card); border:2px solid var(--menu-edge); color:#fff8ed; }
@media(max-height:650px) {
 .paddock[data-stage="leagues"] .paddock-top { margin-bottom:8px; }
 .paddock[data-stage="leagues"] .stop-art { flex:0 0 auto; gap:8px; }
 .league-card { min-height:64px; padding:8px; }
 .league-card strong { font-size:22px; }.league-card svg { width:30px; height:40px; }
 .league-card small { margin-top:2px; }
}
.collection-card { background:var(--menu-card); border:1px solid #7385a3; border-radius:11px; }
.collection-league h3 { font-style:normal; font-size:24px; color:#a6eeff; }
.collection-league + .collection-league { border-color:#7385a3; border-top-width:1px; }
.collection-role,.collection-card dt,.collection-cost { color:#d6dcef; }
.collection-status { background:#272e49; }

/* Circuit previews use the same breathing room as the team and shop artwork. */
.launch-destination .circuit-map { display:block; width:100%; height:clamp(70px,16dvh,145px); margin:12px auto; }
@media (max-height:680px) { .launch-destination .circuit-map { height:62px; margin:5px auto; } }

@media(max-height:650px) {
 .paddock[data-stage="ready"] .launch-score { padding:6px 8px; }
 .paddock[data-stage="ready"] .launch-rule { margin:5px 0 0; }
 .paddock[data-stage="ready"] .launch-destination h3 { font-size:22px; }
 .paddock[data-stage="ready"] .launch-destination .circuit-map { height:44px; margin:4px auto; }
 .paddock[data-stage="leagues"] .paddock-body { gap:8px; }
 .paddock[data-stage="leagues"] .league-card { min-height:56px; padding:6px 8px; }
}
@media(max-height:650px) {
 .paddock[data-stage="leagues"] .stop-art { height:auto; min-height:0; margin:0 0 8px; }
 .paddock[data-stage="leagues"] .stop-info { padding:8px; margin-bottom:6px; }
 .paddock[data-stage="leagues"] .stop-actions { display:grid; grid-template-columns:1.7fr 1fr; gap:8px; }
 .paddock[data-stage="leagues"] .stop-actions button { font-size:16px; margin:0; min-height:48px; }
 .paddock[data-stage="ready"] .launch-destination { padding-bottom:2px; }
 .paddock[data-stage="ready"] .season-goal-copy { margin:4px 0; }
}

.promotion-verdict { position:relative; padding:10px 12px; margin:12px 0; border:1px solid #dc9d87; border-radius:10px; background:#493342; text-align:center; }
.promotion-verdict strong { display:block; font:800 20px/1.15 var(--display); color:#ffd3b4; }
.promotion-verdict span { display:block; margin-top:5px; font-size:14px; color:#f3e6ec; }
.promotion-verdict.is-promoted { background:#203f40; border-color:#83dcac; }
.promotion-verdict.is-promoted strong { color:#a4efbf; }
@media(max-height:650px) { .promotion-verdict { margin:6px 0; padding:7px 10px; }.promotion-verdict strong { font-size:18px; }.promotion-verdict span { margin-top:3px; } }

@media(max-height:650px) {
 .season-celebration .podium-place .avatar { width:44px; height:44px; margin-bottom:4px; }
 .season-celebration .podium-1 .avatar { width:54px; height:54px; }
 .season-celebration .podium-plinth { height:36px; padding-top:5px; }
 .season-celebration .podium-1 .podium-plinth { height:48px; }
 .season-celebration .podium-3 .podium-plinth { height:28px; }
 .season-celebration .podium-plinth b { font-size:24px; }
 .season-celebration .podium-plinth span { margin-top:1px; font-size:16px; }
 .season-celebration .your-season { padding:6px; margin-bottom:0; }
}
#practice-series { grid-column:1/-1; width:100%; min-height:44px; padding:8px 12px; border:1px solid #7e9bb0; border-radius:9px; background:#303a57; color:#f7f0ff; font:700 16px var(--body, sans-serif); }

/* Series accents travel with the team; credits and warning colours keep their meaning. */
body { --series-heading:#a6eeff; --series-accent:#f5d68c; --series-edge:#75dce6; --series-tint:#284753; }
body[data-series="handy"] { --series-heading:#ffbb9a; --series-accent:#ffae82; --series-edge:#ef996f; --series-tint:#573c43; }
body[data-series="supreme"] { --series-heading:#e3bbff; --series-accent:#cfb1ff; --series-edge:#b59af5; --series-tint:#43395c; }
.paddock .paddock-heading h2,.paddock[data-stage="ready"] #stop-title,.paddock[data-stage="ready"][data-race-mode="practice"] #stop-title,#results #overlay-title,.help-page h2 { color:var(--series-heading); }
.paddock .primary,.paddock .primary.credit-action,.briefing .primary,.help-page .primary,.paddock:is([data-stage="shop"],[data-stage="drivers"],[data-stage="crew"]) #stop-primary:not(:disabled) { background:var(--series-accent); border-color:var(--series-heading); }
.lineup-choice[aria-pressed="true"],.paddock[data-stage="ready"] .stop-art,.part-rack { border-color:var(--series-edge); }
#results .standings .you { background:var(--series-tint); }
#race-hud #position,.standings tr.you td,.standings caption { color:var(--series-accent); }
.paddock .journey-step.current { border-color:var(--series-accent); }

/* Budget the actual menu viewport, rather than the browser's outer height. */
.phone:has(.overlay:not([hidden])) { container-type:size; }
#results .briefing-body { display:flex; flex-direction:column; }
#results .briefing-body > * { flex-shrink:0; }
#results #overlay-title { font-size:clamp(22px,6.6cqw,30px); margin-bottom:clamp(6px,1.2cqh,12px); }
#results .season-awards { margin:6px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
#results .season-awards li { margin:0; padding:7px 5px; display:flex; flex-direction:column; gap:4px; text-align:center; justify-content:space-between; font-size:14px; line-height:1.15; }
#results .season-awards li strong { font-size:18px; }
#results .season-awards:has(li:only-child) { grid-template-columns:1fr; }
#results .season-awards li:only-child { flex-direction:row; text-align:left; padding:9px 12px; }
#results[data-result-stage="podium"] #result-visual { flex:1; min-height:0; display:flex; flex-direction:column; }
#results[data-result-stage="podium"] .season-celebration { flex:1; min-height:0; display:flex; flex-direction:column; justify-content:center; padding-top:0; }
#results .champion-call { margin:2px 0 clamp(6px,1.5cqh,16px); font-size:clamp(16px,4.6cqw,22px); }
#results .podium-place .avatar { width:clamp(38px,8cqh,76px); height:clamp(38px,8cqh,76px); margin-bottom:4px; }
#results .podium-1 .avatar { width:clamp(48px,10cqh,94px); height:clamp(48px,10cqh,94px); }
#results .podium-place>strong { font-size:clamp(16px,4.5cqw,19px); }
#results .podium-place>span { margin:3px 0 5px; }
#results .podium-plinth { height:clamp(28px,5cqh,65px); padding-top:4px; }
#results .podium-1 .podium-plinth { height:clamp(40px,7cqh,85px); }
#results .podium-3 .podium-plinth { height:clamp(24px,4cqh,50px); }
#results .podium-plinth b { font-size:23px; }
#results .podium-plinth span { display:none; }
#results .promotion-verdict { margin:6px 0 0; padding:7px; }
#results .promotion-verdict strong { font-size:18px; }
#results .promotion-verdict span { margin-top:3px; }
#results .standings { margin-bottom:8px; }
#results .standings caption { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); } /* Keep the table name accessible without a duplicate visible heading. */
#results .standings th,#results .standings td { padding:clamp(3px,.7cqh,8px) 5px; }
#results .standings .avatar { width:clamp(22px,4cqh,34px); height:clamp(22px,4cqh,34px); flex-shrink:0; }
#results .result-verdict { margin:0 0 6px; }
#results .result-verdict>strong { font-size:28px; }
#results .result-reward { padding:8px 10px; margin:6px 0 0; }
#results .result-reward strong { font-size:24px; }
#results .result-note { margin:6px 0; }
@container(max-height:680px) {
 .paddock-top { margin-bottom:6px; padding-bottom:0; }
 #results .race-badge { margin:2px 0 4px; }
 #results .briefing-actions { padding-top:8px; gap:6px; }
 #results .briefing-actions #start { font-size:18px; min-height:44px; padding:8px; }
 #results .briefing-actions #results-menu,#results .briefing-actions #results-shop { min-height:44px; padding:6px; }
 #results .promotion-verdict { padding:5px 6px; }
 #results .season-awards li { padding:5px 4px; }
 #results .standings .driver { gap:5px; }
 #results .standings th,#results .standings td { padding:3px 4px; }
 #results .market-news { padding:6px 8px; margin:6px 0; }
 .paddock[data-stage="ready"] .stop-art { padding:6px; }
}

/* Promotion is a full-screen arrival, acknowledged before entering the new paddock. */
.paddock[data-stage="welcome"] { background:radial-gradient(ellipse at 50% 40%,var(--series-tint),#191626 75%); }
.paddock[data-stage="welcome"] .paddock-top { visibility:hidden; height:20px; padding:0; margin:0; }
.paddock[data-stage="welcome"] .paddock-body { display:flex; flex-direction:column; justify-content:center; text-align:center; }
.paddock[data-stage="welcome"] .paddock-heading { justify-content:center; }
.paddock[data-stage="welcome"] #stop-title { font-size:clamp(34px,10cqw,46px); line-height:1.05; text-wrap:balance; }
.paddock[data-stage="welcome"] .stop-tagline { color:var(--series-heading); font-size:16px; }
.paddock[data-stage="welcome"] .stop-art { flex:1; min-height:130px; max-height:40cqh; margin:12px 0; }
.league-arrival { height:100%; position:relative; display:grid; place-items:center; isolation:isolate; }
.league-arrival>span { font:900 clamp(120px,44cqw,180px)/1 var(--display); color:var(--series-accent); opacity:.22; letter-spacing:-10px; }
.league-arrival .arrival-ship { position:absolute; width:60%; height:80%; filter:drop-shadow(0 12px 16px #0008); transform:rotate(-18deg); animation:arrival-float 2.4s ease-in-out infinite alternate; }
.paddock[data-stage="welcome"] .stop-info { background:none; border:0; padding:8px; }
.paddock[data-stage="welcome"] #stop-options:empty { display:none; }
@keyframes arrival-float { to { transform:translateY(-10px) rotate(-12deg); } }
@media(prefers-reduced-motion:reduce) { .league-arrival .arrival-ship { animation:none; } }
/* Compact result actions share one stripe; don't spend two rows on secondary navigation. */
#results .briefing-actions:has(#results-shop:not([hidden])) { grid-template-columns:minmax(0,1fr) 48px 56px; gap:6px; align-items:stretch; }
#results .briefing-actions:has(#results-shop:not([hidden])) #start { grid-column:auto; font-size:16px; padding:8px 5px; min-height:48px; }
#results .briefing-actions #results-shop,#results .briefing-actions #results-menu { font-size:14px; min-height:44px; padding:6px 3px; }
#results[data-result-stage="podium"] .season-celebration { flex-shrink:0; min-height:min-content; }
@container(max-height:680px) {
 #results .results-top { height:54px; min-height:54px; margin-bottom:4px; }
 #results .results-top .space-word { width:112px; }
 #results .results-top .brand-wordmark>strong { font-size:18px; }
 #results .standings th,#results .standings td { padding:2px 4px; }
 #results .standings .avatar { width:22px; height:22px; }
 #results .result-reward { padding:5px 8px; margin:4px 0 0; }
 #results .result-reward small { margin-top:0; }
 #results .market-news { padding:4px 8px; gap:7px; margin:4px 0 0; }
 #results .market-news>span { font-size:22px; }
 #results .market-news strong { font-size:16px; }
 #results .market-news div>span { display:none; }
 #results .podium-place>span { margin-bottom:3px; }
 #results .champion-call { margin-bottom:6px; }
 #results .season-awards { margin-top:6px; }
}
.paddock[data-stage="welcome"] .paddock-top { min-height:20px; }
.paddock:is([data-stage="fleet"],[data-stage="pilots"]) .paddock-body { display:flex; flex-direction:column; }
.paddock:is([data-stage="fleet"],[data-stage="pilots"]) .stop-art { flex:1; min-height:0; height:auto; margin:6px 0; }
.paddock:is([data-stage="fleet"],[data-stage="pilots"]) .collection-portrait { height:clamp(60px,13cqh,110px); margin-bottom:5px; }
.paddock:is([data-stage="fleet"],[data-stage="pilots"]) .collection-art { height:100%; }
.collection-league h3 { font-size:18px; margin-bottom:6px; color:var(--series-heading); }
.collection-card { padding:8px 8px 0; }
.collection-card h4 { font-size:18px; }
.collection-role { margin:4px 0 6px; min-height:0; }
.collection-card dl { gap:4px; }
.collection-card dd { font-size:18px; }
.collection-cost { margin:6px 0; }
.collection-status { margin:0 -8px; padding:5px 8px; }
.paddock:is([data-stage="fleet"],[data-stage="pilots"]) .stop-info { display:none; }
.paddock:is([data-stage="fleet"],[data-stage="pilots"]) .stop-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.paddock:is([data-stage="fleet"],[data-stage="pilots"]) .stop-actions button { margin:0; padding:8px; min-height:48px; }
#results[data-result-stage] .briefing-actions:not(:has(#results-shop:not([hidden]))) { display:grid; grid-template-columns:minmax(0,1fr) 56px; gap:6px; }
@container(max-height:680px) {
 #results .result-verdict { margin-bottom:2px; }
 .paddock:is([data-stage="fleet"],[data-stage="pilots"]) .collection-card h4 { font-size:16px; }
 .paddock:is([data-stage="fleet"],[data-stage="pilots"]) .stop-options { margin:4px 0 0; }
}
.paddock[data-stage] #stop-title { color:var(--series-heading); }
.part-fit,.season-progress .current { background:var(--series-accent); color:#282238; border-color:var(--series-heading); }
@container(max-height:680px) {
 .paddock[data-stage="ready"] .launch-destination .circuit-map { height:32px; margin:2px auto; }
 .paddock[data-stage="ready"] .stop-options { margin-top:6px; }
}
@container(max-height:680px) {
 .paddock[data-stage="leagues"] .league-card { min-height:52px; padding:5px 8px; }
 .paddock[data-stage="leagues"] .stop-options { gap:6px; margin:4px 0 0; }
 .paddock[data-stage="leagues"] .stop-info { padding:6px 8px; margin:4px 0; }
}
@container(max-height:680px) { .paddock[data-stage="leagues"] .paddock-body { gap:2px; } }
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-art.lineup:has(.lineup-choice:nth-child(3)) { margin-block:8px; }
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-art.lineup:has(.lineup-choice:nth-child(3)) .lineup-choice { gap:4px; padding:8px 6px; }
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-art.lineup:has(.lineup-choice:nth-child(3)) .card-art { height:64px; }

.paddock[data-stage="shop"] .stop-tagline{display:block;color:var(--muted);font-size:16px;letter-spacing:0;text-transform:none;margin:0 0 10px}

/* Long markets scroll above the fixed action strip; cards keep a readable size. */
.paddock:is([data-stage="shop"],[data-stage="drivers"],[data-stage="fleet"],[data-stage="pilots"]) .paddock-body{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:0}
.paddock:is([data-stage="shop"],[data-stage="drivers"],[data-stage="fleet"],[data-stage="pilots"]) .stop-art{flex:0 0 auto;height:auto;overflow:visible;grid-auto-rows:auto}
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .stop-art.lineup{align-items:stretch}
.paddock:is([data-stage="shop"],[data-stage="drivers"]) .lineup-choice{height:auto;min-height:210px;max-height:none;position:relative}
.collection-card{position:relative}
.market-new{display:inline-block!important;background:#ffe28b;color:#271b34;font:800 14px/1.2 system-ui,sans-serif;padding:5px 7px;border-radius:6px;letter-spacing:.04em}
.lineup-choice .market-new,.collection-card>.market-new{position:absolute;top:8px;left:8px;z-index:1;margin:0}
