/* Visible choices, with the showroom occupying the other half of the screen. */
.atelier-project { padding-bottom:22px; margin-bottom:24px; border-bottom:1px solid var(--line); }
.atelier-project .atelier-finish { display:block; margin:16px 0 12px; font-size:18px; }
.atelier-project progress { display:block; width:100%; height:8px; accent-color:var(--mint); margin:14px 0; }
.atelier-project label { display:block; margin:20px 0 8px; color:var(--muted); font-size:10px; }
.garage-card select.native-choice { display:block !important; width:100%; padding:12px; background:#101a2c; color:var(--cream); border:1px solid var(--line); border-radius:7px; }
.atelier-project button:focus-visible,.garage-card select.native-choice:focus-visible,.factory-part:focus-visible { outline:2px solid var(--mint); outline-offset:3px; }
.atelier-project .atelier-shortfall { color:var(--amber); }
.garage-panel > .choice-buttons { row-gap:6px; }
.garage-panel > .choice-buttons button { flex-basis:22%; }
.garage-card .workshop-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.garage-card .workshop-tabs button { min-width:0; font-size:10px; padding:10px 4px; }
.garage-card .workshop-tabs button:focus-visible { outline:2px solid var(--mint); outline-offset:2px; }
.workshop-section-heading { flex-shrink:0; padding:12px 0 4px; border-top:1px solid var(--line); }
.workshop-section-heading strong { font-size:12px; letter-spacing:.1em; color:var(--mint); }
.garage-card .workshop-section-heading p { margin:5px 0 0; }
.workshop-machine-context { flex-shrink:0; padding:10px 12px; border:1px solid var(--line); border-radius:7px; background:#ffffff06; color:var(--amber); font-size:11px; }
.garage-card .garage-panel { overflow-y:auto; overscroll-behavior:contain; padding-right:4px; }
.garage-card [hidden] { display:none !important; }
.garage-card { width:min(640px,51%); gap:10px; padding:22px; background:#0c1222; }
.garage-card select { display:none !important; }
.garage-card .machine-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0; flex-shrink:0; }
.garage-card .machine-list[hidden] { display:none; }
.machine-list button { padding:10px 6px; font-size:12px; min-width:0; line-height:1.4; }
.choice-buttons { display:flex; flex-wrap:wrap; gap:6px; }
.choice-buttons button { flex:1; min-width:0; padding:10px 7px; border:1px solid #ffffff24; background:#ffffff05; border-radius:7px; font:inherit; font-size:10px; line-height:1.3; }
.choice-buttons button:hover { background:#63f0c515; border-color:#63f0c5; }
.choice-buttons .is-active { color:var(--mint); border-color:var(--mint); background:#63f0c518; box-shadow:inset 0 -2px var(--mint); }
.garage-panel > .choice-buttons { margin-bottom:14px; }
.garage-panel > .choice-buttons button { font-size:10px; padding:11px 6px; }
.choice-buttons .colour-choice { flex:0 0 25px; width:25px; height:25px; padding:0; border-radius:6px; border:2px solid #ffffff44; }
.choice-buttons .colour-choice.is-active { outline:2px solid var(--mint); outline-offset:2px; }
.garage-card .driver-custom { gap:16px 12px; }
.garage-card .driver-custom label { font-size:10px; letter-spacing:.04em; }
.garage-card .shop-tile p { min-height:0; font-size:11px; line-height:1.4; margin:7px 0; }
.shop-tile button { display:inline-block; width:48%; margin:6px 1% 0; padding:9px 2px; font-size:10px; }
.basic-pilot { grid-column:1/-1; border:1px solid var(--line); border-radius:6px; padding:10px; font-size:10px; }
.mastery-ladder { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:12px 0; }
.mastery-ladder > div { padding:11px; border:1px solid var(--line); border-radius:7px; font-size:11px; color:var(--muted); }
.mastery-ladder .available { color:var(--amber); border-color:var(--amber); }
.mastery-ladder .claimed { color:var(--mint); }.mastery-ladder .claimed:before { content:'✓ '; }
.pilot-actions { position:absolute; left:3%; bottom:8%; width:40%; text-align:center; pointer-events:auto; padding:14px; border:1px solid #ffffff20; border-radius:12px; background:#080d1dcc; }
.pilot-actions strong { display:block; font:italic 26px var(--display); color:var(--amber); }
.pilot-actions small { display:block; margin:8px 0 12px; font-size:9px; letter-spacing:.1em; color:var(--muted); }
.pilot-actions > div { display:flex; gap:6px; }.pilot-actions button { flex:1; padding:12px 3px; border:1px solid var(--line); border-radius:7px; font-size:10px; }
.pilot-actions button:hover { border-color:var(--amber); background:#ffd16620; }
.race-objective { position:absolute; top:120px; left:30px; max-width:310px; padding:10px; border:1px solid #ffd16655; border-radius:7px; color:var(--amber); background:#080d1dcc; font-size:10px; line-height:1.5; }
.garage-card .workshop-section-heading strong { color:var(--cream); font-size:14px; letter-spacing:.03em; }
.garage-card .workshop-section-heading p { color:#c9c5bc; font-size:12px; }
.workshop-machine-context { color:var(--cream-dim); font-variant-numeric:tabular-nums; }
.machine-performance h4,.roster-heading h4 { margin:16px 0 5px; color:var(--cream); font-size:13px; }
.garage-card .stat-legend { margin:0 0 12px; color:#c9c5bc; font-size:11px; }
.machine-performance .garage-stats { gap:18px 22px; margin:12px 0 20px; }
.machine-stat { min-width:0; }
.stat-heading,.stat-breakdown { display:flex; justify-content:space-between; align-items:baseline; gap:6px; }
.garage-card .garage-stats .stat-heading span { color:var(--cream); font-size:12px; letter-spacing:0; }
.stat-heading strong { color:var(--cream); font-size:14px; font-variant-numeric:tabular-nums; }
.stat-track { position:relative; display:flex; height:8px; margin:8px 0; background:#ffffff16; border-radius:2px; }
.stat-track > i { height:100%; flex:none; }
.stat-factory { background:#e0d9c9; border-radius:2px 0 0 2px; }
.stat-modules { background:var(--mint); border-radius:0 2px 2px 0; }
.stat-parts { background:var(--amber); }.stat-track .stat-penalty { position:absolute; background:#ffad9e55; border:1px solid #ffad9e; }
.stat-breakdown { flex-wrap:wrap; }.garage-card .garage-stats .stat-part-bonus { color:var(--amber); }
.part-effects { margin:10px 0; display:grid; gap:4px; font-size:11px; line-height:1.5; }
.part-effects > div { display:flex; justify-content:space-between; gap:8px; }.part-effects dt { color:#c9c5bc; }.part-effects dd { margin:0; font-weight:700; font-variant-numeric:tabular-nums; }
.effect-gain { color:var(--amber); }.effect-cost { color:#ffad9e; }
.factory-part { grid-column:1/-1; padding:12px; border:1px solid var(--line); border-radius:7px; font-size:11px; }
.stat-track .stat-reference { position:absolute; top:-3px; height:14px; width:2px; background:var(--amber); }
.garage-card .garage-stats .stat-breakdown span { color:#c9c5bc; font-size:10px; line-height:1.4; letter-spacing:0; font-variant-numeric:tabular-nums; }
.garage-card .garage-stats .stat-bonus { color:var(--mint); }
.garage-card .garage-stats .stat-loss { color:#ffad9e; }
.garage-card .power-card { border:0; padding:10px 0; background:transparent; border-bottom:1px solid var(--line); border-radius:0; font-size:12px; line-height:1.6; letter-spacing:0; }
.race-intel { padding:0 2px; }
.garage-card .race-intel h3 { margin:10px 0 4px; font-size:30px; }
.garage-card .intel-track { margin:0 0 18px; color:#d8d1c3; font-size:12px; }
.intel-facts { display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:14px; margin:0; padding:16px 0; border-block:1px solid var(--line); }
.intel-facts > div { min-width:0; }
.intel-facts dt { color:#c9c5bc; font-size:11px; line-height:1.4; }
.intel-facts dd { margin:6px 0 0; color:var(--cream); font-weight:700; font-size:18px; line-height:1.3; font-variant-numeric:tabular-nums; }
.intel-facts > div:last-child dd { color:var(--amber); }
.garage-card .intel-note { margin:12px 0 22px; color:#c9c5bc; font-size:11px; line-height:1.6; max-width:65ch; }
.roster-heading { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-top:18px; }
.roster-heading h4 { margin:0; }.roster-heading > span { font-size:11px; color:#c9c5bc; }
.garage-roster { list-style:none; margin:10px 0 0; padding:0; color:var(--cream); }
.garage-roster li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 16px; padding:12px 0; border-top:1px solid var(--line); }
.rival-identity { display:flex; gap:10px; align-items:baseline; font-size:13px; }
.rival-identity strong { color:var(--cream); }.rival-identity > span { color:#c9c5bc; font-size:11px; }
.rival-rating { display:flex; align-items:baseline; gap:6px; font-variant-numeric:tabular-nums; }
.rival-rating strong { font-size:14px; color:var(--cream); }.rival-rating > span { font-size:10px; color:#c9c5bc; }
.rival-loadout { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px 12px; color:#c9c5bc; font-size:10px; line-height:1.4; }
.rival-loadout .rival-ability { color:var(--mint); text-transform:capitalize; }
.pilot-actions > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.pilot-actions button:focus-visible { outline:2px solid var(--mint); outline-offset:2px; }
.garage-card .garage-panel { scrollbar-width:thin; scrollbar-color:#7b807c #0b1020; }
.upgrade-list .perk-effect { display:block; margin-top:8px; color:var(--cream); font-size:11px; line-height:1.5; letter-spacing:0; }
#perk-list button:disabled { opacity:1; color:#c9c5bc; cursor:default; }
@media(max-width:720px) {
  .garage-card { top:28%; width:auto; padding:12px; gap:7px; }
  .garage-card .circuit-head { padding-bottom:8px; }.garage-card h2 { font-size:27px; }
  .garage-card .machine-list { gap:4px; }.machine-list button { font-size:8px; padding:6px 3px; }
  .garage-panel > .choice-buttons { margin-bottom:8px; gap:4px; }.garage-panel > .choice-buttons button { font-size:8px; padding:8px 3px; }
  .garage-card .driver-custom { gap:12px 8px; }.choice-buttons { gap:5px; }.choice-buttons button { font-size:9px; padding:8px 4px; }
  .garage-card .driver-custom label { font-size:9px; }.choice-buttons .colour-choice { flex-basis:22px; width:22px; height:22px; }
  .garage-card h3 { font-size:21px; margin:9px 0 5px; }.garage-card p { margin:6px 0; font-size:10px; }
  .garage-card .shop-tile { padding:9px; }.garage-card .shop-tile p { font-size:9px; }
  .shop-tile small { font-size:8px; }.shop-tile h4 { font-size:13px; }.shop-tile button { font-size:9px; padding:8px 2px; }
  .mastery-ladder { gap:5px; margin:8px 0; }.mastery-ladder > div { font-size:9px; padding:8px; }
  .pilot-actions { left:3%; right:3%; top:19%; bottom:auto; width:auto; padding:6px; border:0; background:transparent; }
  .pilot-actions > div { grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }
  .pilot-actions strong,.pilot-actions small { display:none; }.pilot-actions button { padding:8px; background:#080d1ddd; font-size:9px; }
  .race-objective { top:115px; left:12px; max-width:180px; padding:7px; font-size:8px; }
  .machine-performance .garage-stats { gap:14px 12px; margin-bottom:12px; }
  .garage-card .garage-stats .stat-heading span { font-size:11px; }.stat-heading strong { font-size:12px; }
  .stat-breakdown { flex-wrap:wrap; gap:2px 5px; }
  .garage-card .race-intel h3 { font-size:25px; }.garage-card .intel-track { margin-bottom:12px; }
  .intel-facts { gap:10px; padding:12px 0; }.intel-facts dt { font-size:10px; }.intel-facts dd { font-size:15px; }
  .garage-card .intel-note { margin-bottom:16px; }
  .rival-loadout { gap:5px; }.rival-rating { flex-direction:column; gap:0; align-items:flex-end; }
}
@media(max-height:650px) and (min-width:721px) {
  .garage-card { top:8px; bottom:8px; left:auto; right:12px; width:60%; padding:12px; gap:5px; }
  .garage-card .circuit-head { position:absolute; top:10px; right:12px; }.garage-card .circuit-head > div { display:none; }
  .garage-card .machine-list button { padding:5px; font-size:8px; }
  .garage-panel > .choice-buttons { margin-bottom:6px; }.garage-panel > .choice-buttons button { padding:6px; }
  .garage-card .driver-custom { grid-template-columns:repeat(3,1fr); margin-top:7px; gap:7px; }
  .garage-card .shop-tile p { font-size:9px; }.garage-card .shop-tile { padding:6px; }.shop-grid { gap:6px; }
  .mastery-ladder { grid-template-columns:repeat(3,1fr); gap:5px; }.mastery-ladder > div { padding:6px; font-size:9px; }
  .pilot-actions { width:33%; left:2%; bottom:4%; padding:8px; }.pilot-actions strong { font-size:20px; }
}
/* Catalog rarity belongs to the card identity, never to the rendered part paint.
   These selectors deliberately outrank the later paddock.css base card surface. */
.garage-card .shop-tile[data-rarity="common"] { --tier-accent:#70e5cf; --tier-surface:#1b3038; --tier-line:#3c6468; }
.garage-card .shop-tile[data-rarity="uncommon"] { --tier-accent:#8ac7ff; --tier-surface:#1c2d40; --tier-line:#435d7b; }
.garage-card .shop-tile[data-rarity="rare"] { --tier-accent:#cbb2ff; --tier-surface:#292b40; --tier-line:#625479; }
.garage-card .shop-tile[data-rarity="epic"] { --tier-accent:#ffa3ae; --tier-surface:#352a36; --tier-line:#7c515e; }
.garage-card .shop-tile[data-rarity="legendary"] { --tier-accent:#f3ca78; --tier-surface:#342f29; --tier-line:#786443; }
.garage-card .shop-tile[data-rarity] { background:var(--tier-surface); border-color:var(--tier-line); }
.garage-card .shop-tile[data-rarity] .part-heading { display:grid; grid-template-columns:4px minmax(0,1fr); gap:10px; align-items:stretch; margin:6px 0 10px; }
.garage-card .shop-tile[data-rarity] .part-rarity-stripe { background:var(--tier-accent); border-radius:2px; min-height:34px; }
.garage-card .shop-tile[data-rarity] .part-name { min-width:0; }
.garage-card .shop-tile[data-rarity] .part-name h4 { margin:0 0 4px; overflow-wrap:anywhere; }
.garage-card .shop-tile[data-rarity] .part-rarity { display:block; color:var(--tier-accent); font-size:10px; font-weight:700; line-height:1.3; letter-spacing:.035em; }
.garage-card .shop-grid > .shop-tier-guide { grid-column:1/-1; margin:0 0 2px; color:#bdccd8; font-size:11px; line-height:1.45; }

/* Replacement comparison stays readable inside narrow shop cards. */
.part-comparison { margin:10px 0; border-top:1px solid #ffffff20; padding-top:8px; }
.part-comparison summary { cursor:pointer; font-size:11px; font-weight:700; color:#e4eee9; }
.part-comparison .part-effects > div { flex-wrap:wrap; }
.part-comparison .part-effects dd { margin-left:auto; }
.shop-tile .part-ownership, .part-comparison p { font-size:10px; line-height:1.5; color:#b9c7d3; overflow-wrap:anywhere; }

/* Garage: the model leads; the panel is a compact control surface. */
#garage-screen .garage-card { gap:10px; padding:18px; }
#garage-screen .circuit-head { padding-bottom:10px; }
#garage-screen .circuit-head h2 { font-size:29px; margin:0; }
#garage-screen .garage-wallet strong { font-size:23px; }
#garage-screen .workshop-tabs { gap:4px; }
#garage-screen .workshop-tabs button { min-height:46px; flex-direction:row; gap:7px; padding:8px 5px; font-size:10px; border-color:transparent; background:transparent; box-shadow:none; }
#garage-screen .workshop-tabs svg { width:19px; height:19px; flex-shrink:0; }
#garage-screen .workshop-tabs button.is-active { color:#f6d28d; background:#f2c66f14; border-color:#a8894e; box-shadow:none; }
#garage-screen .workshop-tabs .utility-tab { min-height:30px; font-size:10px; }
#garage-screen .workshop-tabs .utility-tab svg { width:14px; height:14px; }
#garage-screen[data-section="tune"] .workshop-section-heading,
#garage-screen[data-section="upgrades"] .workshop-section-heading,
#garage-screen[data-section="style"] .workshop-section-heading,
#garage-screen[data-section="pilot"] .workshop-section-heading { display:none; }
#garage-screen #workshop-section-help:empty { display:none; }
#garage-screen .workshop-machine-context { padding:8px 0; background:transparent; border:0; border-radius:0; color:#bdcbd6; }
#garage-screen .machine-list { display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto; overflow-y:hidden; padding:2px 2px 9px; margin:0; scrollbar-width:thin; scrollbar-color:#617387 transparent; scroll-snap-type:x proximity; }
#garage-screen .machine-list button { flex:0 0 112px; min-height:112px; min-width:0; padding:0 7px 9px; display:flex; flex-direction:column; align-items:flex-start; gap:2px; border:1px solid #3e5060; border-radius:10px; background:#172634; color:#e1e9ee; text-align:left; scroll-snap-align:start; overflow:hidden; }
#garage-screen .machine-list button.is-active { background:#243440; border-color:#f0cb80; box-shadow:inset 0 -2px #f0cb80; color:#fff0d1; }
#garage-screen .machine-list button:hover { border-color:#9eb3c2; }
#garage-screen .machine-list button.is-active:hover { border-color:#f0cb80; }
#garage-screen .machine-choice-art { width:calc(100% + 14px); height:70px; margin:0 -7px 3px; object-fit:contain; display:block; }
#garage-screen .machine-list button strong { font:italic 18px var(--display); letter-spacing:.02em; }
#garage-screen .machine-choice-status { font-size:9px; line-height:1.3; color:#aabfce; font-variant-numeric:tabular-nums; }
#garage-screen .is-equipped .machine-choice-status { color:#eed08e; }
#garage-screen .machine-title { display:flex; align-items:baseline; gap:12px; margin:5px 0 0; }
#garage-screen .machine-title h3 { font-size:30px; margin:0; line-height:1.1; }
#garage-screen .machine-title > span { font-size:12px; color:#b8c8d4; }
#garage-screen .power-card { padding:6px 0 0; margin:0; border:0; font-size:11px; color:#b8c8d4; }
#garage-screen .garage-comparison { margin:7px 0 0; font-size:11px; color:#f0ce8b; }
#garage-screen .stat-section-label { margin:18px 0 10px; font-size:11px; font-weight:400; color:#adbfcd; }
#garage-screen .machine-stats-basic { gap:12px 22px; margin:0 0 7px; }
#garage-screen .machine-stats-basic .stat-heading span { font-size:12px; color:#dce6ed; }
#garage-screen .machine-stats-basic .stat-heading strong { font-size:15px; font-weight:600; color:#f6ead8; }
#garage-screen .machine-stats-basic .stat-track { height:5px; margin:7px 0; }
#garage-screen .machine-stats-basic .stat-factory { background:#e9ce98; }
#garage-screen .machine-stats-basic .stat-reference { height:11px; background:#9ddec8; }
#garage-screen [data-tune-page="machine"] > .primary-action { width:100%; min-height:44px; margin:12px 0 0; font-size:12px; }
#garage-screen [data-tune-page="machine"] > .primary-action:disabled { color:#e5c987; border:1px solid #8e784d; background:#e9c36a12; opacity:1; cursor:default; }
#garage-screen .machine-ability { margin:15px 0 8px; padding:14px 0 0; border-top:1px solid #ffffff12; font-size:11px; line-height:1.5; color:#aebfcb; }
#garage-screen .machine-ability strong { display:block; color:#d7e3eb; font-size:11px; margin-bottom:4px; }
#garage-screen .machine-ability span { display:block; }
#garage-screen .disclosure-toggle { width:100%; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0; padding:9px 0; background:transparent; color:#c6d4de; border:0; border-radius:0; text-align:left; font:500 11px var(--body); cursor:pointer; }
#garage-screen .disclosure-toggle:hover { color:#f6d38e; }
#garage-screen .disclosure-toggle svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; flex-shrink:0; transition:transform .16s ease-out; }
#garage-screen .disclosure-toggle[aria-expanded="true"] svg { transform:rotate(45deg); }
#garage-screen .disclosure-content { padding:6px 0 10px; }
#garage-screen .machine-technical { border-top:1px solid #ffffff12; margin-top:10px; }
#garage-screen .machine-technical .garage-stats { margin:10px 0; }
#garage-screen .machine-technical .stat-legend { font-size:11px; line-height:1.5; margin:3px 0 10px; }
#garage-screen .shop-grid { align-items:start; align-content:start; gap:12px; }
#garage-screen .shop-tile { align-self:start; padding:0 13px; border-radius:12px; background:#192a38; }
#garage-screen .shop-tile[data-rarity] { background:#192a38; border-color:#3b5062; }
#garage-screen .shop-tile.is-equipped { border-color:#c4a064; box-shadow:none; }
#garage-screen .shop-tile .part-art { height:136px; margin:0 -13px 12px; background:#132331; border-bottom:1px solid #ffffff0a; }
#garage-screen .part-art:after { display:none; }
#garage-screen .part-art img { object-fit:contain; }
#garage-screen .part-badge { top:8px; left:9px; padding:4px 6px; border-radius:4px; font-size:8px; letter-spacing:.04em; background:#111d28d9; color:#d1e2ed; }
#garage-screen .is-equipped .part-badge { color:#efd298; }
#garage-screen .shop-tile > small { display:none; }
#garage-screen .shop-tile[data-rarity] .part-heading { display:block; margin:0 0 12px; }
#garage-screen .part-rarity-stripe { display:none; }
#garage-screen .shop-tile[data-rarity] .part-name h4 { font:600 15px/1.3 var(--body); min-height:0; margin:0 0 5px; overflow-wrap:anywhere; }
#garage-screen .shop-tile .part-rarity { font-size:10px; font-weight:500; letter-spacing:0; }
#garage-screen .part-highlights { min-height:88px; }
#garage-screen .part-kind { display:block; font-size:10px; line-height:1.4; color:#adbfcd; }
#garage-screen .shop-tile .part-effects { border:0; padding:0; margin:8px 0 12px; gap:5px; font-size:11px; }
#garage-screen .part-effects dt { font-size:11px; color:#c3d1db; }
#garage-screen .part-effects dd { font-size:11px; }
#garage-screen .part-deltas dd { font-weight:600; }
#garage-screen .part-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:8px; margin:12px 0 0; }
#garage-screen .part-actions button { width:100%; margin:0; min-height:42px; padding:8px 6px; font-size:10px; line-height:1.35; border-radius:7px; }
#garage-screen .part-actions .preview-cosmetic { margin:0; }
#garage-screen .part-actions .buy-cosmetic { background:#e9c57a; border-color:#e9c57a; }
#garage-screen .part-comparison { border-top:1px solid #ffffff12; padding:0; margin:11px 0 0; }
#garage-screen .part-comparison .disclosure-toggle { width:100%; min-height:38px; margin:0; padding:10px 0; font-size:11px; font-weight:500; }
#garage-screen .part-comparison p { font-size:11px; line-height:1.5; margin:4px 0 12px; min-height:0; }
#garage-screen .part-comparison .part-effects > div { flex-wrap:wrap; }
#garage-screen .part-comparison .comparison-scale { font-size:10px; color:#a9c0cf; }
#garage-screen .shop-tile .part-shortfall { min-height:0; margin:8px 0 0; font-size:10px; color:#e8c582; }
#garage-screen .factory-part { border-style:solid; min-height:40px; text-transform:none; }
#garage-screen #pilot-actions { position:static; inset:auto; width:auto; padding:14px 0 0; margin-top:16px; border:0; border-top:1px solid #ffffff12; border-radius:0; background:transparent; text-align:left; }
#garage-screen #pilot-actions h4 { margin:0 0 10px; font:500 12px var(--body); color:#bfced9; }
#garage-screen #pilot-reaction { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); }
#garage-screen #pilot-actions > div { display:flex; flex-wrap:wrap; overflow:visible; gap:6px; }
#garage-screen #pilot-actions button { flex:0 0 auto; min-width:0; min-height:36px; padding:8px 12px; font-size:10px; color:#d6e1e9; background:transparent; }
#garage-screen .garage-panel { scroll-padding-block:12px; }
#garage-screen ::selection { background:#edc679; color:#132331; }
@media(max-width:720px) {
  #garage-screen .garage-card { top:25%; padding:11px; gap:8px; }
  #garage-screen .circuit-head h2 { font-size:25px; }
  #garage-screen .garage-wallet strong { font-size:21px; }
  #garage-screen .workshop-tabs button { min-height:42px; flex-direction:column; gap:4px; padding:6px 2px; font-size:9px; }
  #garage-screen .workshop-tabs svg { width:18px; height:18px; }
  #garage-screen .workshop-tabs .utility-tab { min-height:30px; flex-direction:row; font-size:9px; }
  #garage-screen .machine-list { gap:7px; padding-bottom:7px; }
  #garage-screen .machine-list button { flex-basis:101px; min-height:98px; }
  #garage-screen .machine-choice-art { height:58px; }
  #garage-screen .machine-list button strong { font-size:17px; }
  #garage-screen .machine-title h3 { font-size:27px; }
  #garage-screen .machine-title > span { font-size:11px; }
  #garage-screen .stat-section-label { margin-top:14px; }
  #garage-screen .machine-stats-basic { gap:10px 17px; }
  #garage-screen .shop-tile .part-art { height:166px; }
  #garage-screen .shop-tile[data-rarity] .part-name h4 { font-size:17px; }
  #garage-screen .part-highlights { min-height:0; }
  #garage-screen .part-actions button { min-height:44px; font-size:11px; }
}
@media(max-height:650px) and (min-width:721px) {
  #garage-screen .garage-card { padding:10px; gap:6px; }
  #garage-screen .workshop-tabs button { min-height:36px; flex-direction:row; font-size:9px; }
  #garage-screen .workshop-tabs .utility-tab { min-height:26px; }
  #garage-screen .machine-list button { flex-basis:98px; min-height:84px; padding-bottom:5px; }
  #garage-screen .machine-choice-art { height:46px; }
  #garage-screen .machine-list button strong { font-size:16px; }
  #garage-screen .shop-tile .part-art { height:110px; }
  #garage-screen .machine-title h3 { font-size:26px; }
  #garage-screen .stat-section-label { margin-top:10px; }
}
@media(prefers-reduced-motion:reduce) { #garage-screen .disclosure-toggle svg { transition:none; } }
#garage-screen [data-tune-page="machine"] { display:block; }

#garage-screen .part-actions .buy-cosmetic:disabled { opacity:1; color:#cbd8e1; background:#243746; border-color:#536b7e; }
#garage-screen .shop-tile.is-equipped .part-actions .buy-cosmetic:disabled { color:#f1d59b; background:#3c3528; border-color:#a48750; }

/* Machine browsing scrolls the rail; buying/equipping remains an explicit action. */
#garage-screen .machine-picker { display:grid; grid-template-columns:30px minmax(0,1fr) 30px; gap:6px; align-items:center; flex-shrink:0; min-width:0; }
#garage-screen .machine-picker:has(> .machine-list[hidden]) { display:none; }
#garage-screen .machine-rail-arrow { display:grid; place-items:center; width:30px; min-height:52px; padding:0; border:1px solid #536777; border-radius:8px; background:#1b2a37; color:#f0cf8c; }
#garage-screen .machine-rail-arrow svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#garage-screen .machine-rail-arrow:hover:not(:disabled) { background:#324452; border-color:#f0cf8c; }
#garage-screen .machine-rail-arrow:disabled { opacity:.4; cursor:default; }
#garage-screen .machine-list { touch-action:pan-x pan-y; overscroll-behavior-x:auto; scroll-snap-type:none; cursor:grab; }
#garage-screen .machine-list.is-dragging { cursor:grabbing; user-select:none; }
#garage-screen .machine-list button:focus-visible,#garage-screen .machine-rail-arrow:focus-visible { outline:2px solid #8be2d1; outline-offset:-3px; }
#garage-screen .machine-choice-art { pointer-events:none; }
#garage-screen .part-highlights { min-height:0; }
#garage-screen .part-deltas { margin-bottom:15px; }
#garage-screen .part-deltas > div:first-child dd { font-size:15px; }
#garage-screen .part-comparison .disclosure-toggle { text-align:left; line-height:1.4; gap:8px; }
#garage-screen .module-card { padding:15px; border-radius:12px; }
#garage-screen .module-heading { gap:9px; }
#garage-screen .module-heading svg { width:24px; height:24px; flex-shrink:0; }
#garage-screen .module-heading h4 { font-size:22px; }
#garage-screen .module-card .module-current { margin:5px 0 14px 33px; font-size:11px; color:#d9c7a2; }
#garage-screen .core-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; gap:4px; margin:0 0 15px; }
#garage-screen .core-steps li { display:grid; gap:4px; padding:8px 2px 7px; text-align:center; border-top:2px solid #596979; background:#142330; color:#b8c8d4; }
#garage-screen .core-steps strong { font-size:14px; line-height:1; }
#garage-screen .core-steps span { font-size:9px; line-height:1.3; font-variant-numeric:tabular-nums; }
#garage-screen .core-steps .is-owned { border-color:#84cdbb; color:#a8ead6; background:#1e3538; }
#garage-screen .core-steps .is-next { border-color:#f0cb80; color:#ffe4ae; background:#3a372e; }
#garage-screen .core-steps [aria-current="step"] strong { text-decoration:underline; text-underline-offset:3px; }
#garage-screen .core-gain-label { display:block; color:#b8c8d4; font-size:10px; }
#garage-screen .module-card .part-effects { gap:4px; margin:5px 0 12px; }
#garage-screen .core-next .part-effects dd { color:#f3d18e; font-size:14px; }
#garage-screen .core-installed .part-effects dd { color:#a8ead6; }
#garage-screen .module-card .core-unit { font-size:10px; margin:0 0 12px; color:#acbdcb; }
#garage-screen .module-card .part-shortfall { font-size:11px; color:#ffd49a; margin:8px 0 0; }
#garage-screen .core-buy:focus-visible { outline:2px solid #8be2d1; outline-offset:3px; }
@media(max-width:720px) {
  #garage-screen .machine-picker { grid-template-columns:28px minmax(0,1fr) 28px; gap:4px; }
  #garage-screen .machine-rail-arrow { width:28px; min-height:46px; }
  #garage-screen .module-card { padding:13px; }
  #garage-screen .core-steps span { font-size:10px; }
}

/* A local Cyrillic-capable UI stack avoids mixed Latin-only webfont fallbacks. */
.garage-card .atelier-project { --collection-font:system-ui, -apple-system, "Segoe UI", Arial, sans-serif; font-family:var(--collection-font); padding-bottom:20px; margin-bottom:20px; }
.garage-card .atelier-project h3 { margin:0 0 6px; font-family:inherit; font-size:19px; font-style:normal; font-weight:700; line-height:1.3; letter-spacing:0; text-transform:none; }
.garage-card .atelier-project .atelier-intro { max-width:65ch; margin:0 0 18px; color:#bac8d5; font-size:12px; line-height:1.5; }
.garage-card .atelier-order { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 18px; }
.garage-card .atelier-offer { display:flex; align-items:center; gap:10px; min-width:0; }
.garage-card .atelier-swatch { flex:0 0 32px; height:32px; border-radius:5px; background:var(--edition-color); box-shadow:inset 0 5px 8px #ffffff45,inset 0 -4px 6px #00000030; }
.garage-card .atelier-offer-copy { display:grid; gap:3px; min-width:0; }
.garage-card .atelier-project .atelier-finish { margin:0; color:var(--cream); font-size:16px; line-height:1.3; font-weight:700; }
.garage-card .atelier-serial { color:#bac8d5; font-size:11px; line-height:1.3; font-variant-numeric:tabular-nums; }
.garage-card .atelier-project .atelier-commission { width:auto; min-height:40px; margin:0; padding:10px 16px; border-radius:7px; box-shadow:none; font:700 12px/1.3 var(--collection-font); letter-spacing:0; text-transform:none; }
.garage-card .atelier-project .atelier-commission:disabled { opacity:1; color:#b9c5d1; background:#24313f; cursor:not-allowed; transform:none; }
.garage-card .atelier-project .atelier-delivery { display:flex; justify-content:space-between; gap:12px; margin:9px 0 0; color:#bac8d5; font-size:12px; line-height:1.5; }
.garage-card .atelier-paid,.garage-card .atelier-project .atelier-complete { color:var(--mint); font-size:12px; font-weight:600; }
.garage-card .atelier-project progress { margin:14px 0 0; height:6px; }
.garage-card .atelier-progress-count { font-variant-numeric:tabular-nums; }
.garage-card .atelier-project .atelier-shortfall { margin:4px 0 0; color:var(--amber); font-size:12px; line-height:1.5; }
.garage-card .atelier-project label { margin:20px 0 9px; color:#bac8d5; font-size:11px; line-height:1.4; letter-spacing:0; text-transform:none; }
.garage-card .atelier-project .edition-choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:0; }
.garage-card .atelier-project .edition-choice { min-height:58px; padding:9px 10px; gap:10px; font-family:inherit; font-size:12px; line-height:1.3; }
.garage-card .atelier-project .edition-choice:before { flex-basis:28px; height:28px; }
.garage-card .atelier-project .edition-choice.is-factory:before { background:transparent; box-shadow:inset 0 0 0 1px #9bafbf; }
.garage-card .atelier-project .edition-copy { display:grid; gap:4px; min-width:0; }
.garage-card .atelier-project .edition-name { font-weight:600; overflow-wrap:anywhere; }
.garage-card .atelier-project .edition-meta { display:flex; flex-wrap:wrap; gap:3px 8px; color:#bac8d5; font-size:10px; font-variant-numeric:tabular-nums; }
.garage-card .atelier-project .edition-choice.is-active .edition-meta { color:#ffe6ba; }
.garage-card .atelier-project .edition-equipped { color:var(--mint); }
@media(max-width:720px) {
  .garage-card .atelier-project h3 { font-size:18px; }
  .garage-card .atelier-project .edition-choices { grid-template-columns:1fr; }
  .garage-card .atelier-project .atelier-commission { padding:10px 12px; }
}
