@font-face{font-family:DM;src:url('assets/fonts/dm-sans-latin-400-normal.woff2')}@font-face{font-family:DM;src:url('assets/fonts/dm-sans-latin-700-normal.woff2');font-weight:700}@font-face{font-family:Barlow;src:url('assets/fonts/barlow-condensed-latin-700-normal.woff2');font-weight:700}@font-face{font-family:Barlow;src:url('assets/fonts/barlow-condensed-latin-800-italic.woff2');font-weight:800;font-style:italic}
:root{--orange:#ff6b2a;--line:#ffffff17;--muted:#8c9298;--bg:#111213}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f0f0e8;font-family:DM,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer;color:inherit;background:transparent;border:1px solid var(--line);border-radius:3px;padding:12px 16px;font-size:10px;font-weight:700}button:hover:not(:disabled){border-color:var(--orange)}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--orange);outline-offset:4px}header{display:flex;align-items:center;justify-content:space-between;height:86px;padding:0 5%;gap:20px;border-bottom:1px solid var(--line)}.logo{font:700 31px Barlow,sans-serif;color:#f2f2e8;text-decoration:none;letter-spacing:2px}.logo>span{color:var(--orange)}.logo small{font:700 9px DM,sans-serif;letter-spacing:3px;display:inline-block;vertical-align:middle;margin-left:9px;padding-left:15px;border-left:1px solid #ffffff40}nav{display:flex;gap:28px;align-self:stretch}nav button{border:0;border-radius:0;font-size:9px;color:#727b81;letter-spacing:1px;padding:0 6px}nav button span{margin-left:9px}nav button.active{border-bottom:2px solid var(--orange);color:#eee}header>button{font-size:8px}main{max-width:1320px;margin:auto;padding:0 38px}.intro{display:flex;justify-content:space-between;align-items:end;padding:42px 0 32px}.eyebrow{font-size:9px;color:var(--orange);letter-spacing:1.8px;font-weight:700}h1{font:700 clamp(52px,6vw,79px)/.95 Barlow,sans-serif;letter-spacing:-.7px;margin:14px 0 0}h1 em{color:var(--orange)}.intro>p{font-size:12px;color:var(--muted);line-height:1.9;margin:0 0 4px}.workbench{display:grid;grid-template-columns:255px 1fr;border:1px solid var(--line);border-radius:5px;overflow:hidden}.assembly{background:#191b1d;padding:23px 20px;display:flex;flex-direction:column}.panel-title{font-size:8px;letter-spacing:1.2px;display:flex;justify-content:space-between;color:#919ba1}.panel-title b{color:var(--orange)}ol{list-style:none;padding:0;margin:24px 0 20px}ol li+li{margin-top:6px}ol button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:12px;border-color:transparent;color:#a5adb2}ol button>span{font:700 23px Barlow,sans-serif;color:#5e686f}ol button strong{font-size:10px;letter-spacing:.5px}ol button small{display:block;font-size:7px;margin-top:5px;color:#708088;font-weight:400}ol button.current{background:#ff6b2a12;border-color:#ff6b2a44;color:#eee}ol button.current>span{color:var(--orange)}ol button.done>span{color:#a4d9bb}.assembly-note{display:flex;gap:12px;align-items:center;margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.assembly-note i{font-style:normal;font-size:25px;color:var(--orange)}.assembly-note p{font-size:9px;color:var(--muted);line-height:1.8}.assembly>button{font-size:7px;margin-top:14px;padding:9px;border:0;text-align:left;color:#79848b}.preview{background:#151718;min-width:0}.preview-top{display:flex;justify-content:space-between;gap:15px;padding:18px 24px;color:#919b9f;font-size:8px;letter-spacing:1px;border-bottom:1px solid var(--line)}.preview-top i{display:inline-block;background:var(--orange);width:5px;height:5px;border-radius:50%;margin-right:5px}.canvas-wrap{position:relative;height:370px;overflow:hidden}#car{width:100%;height:100%;display:block;cursor:grab;touch-action:none}#car:active{cursor:grabbing}.preview-caption{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;gap:15px;pointer-events:none;font-size:8px;letter-spacing:1px;color:#d4d9d4}.preview-caption small{font-size:7px;color:#69767e}.specs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding:19px 24px;gap:20px}.specs>div+div{border-left:1px solid var(--line);padding-left:20px}.specs small{display:block;font-size:7px;color:#889398;letter-spacing:1px;margin-bottom:7px}.specs strong{font:700 29px Barlow,sans-serif}.specs i{font:400 7px DM,sans-serif;color:#869398;font-style:normal}.parts-panel{padding:30px 0}.part-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.part-heading .eyebrow{font-size:8px;margin-top:0}.part-heading h2{font:700 32px Barlow,sans-serif;margin:8px 0}.part-heading p:not(.eyebrow){font-size:11px;color:var(--muted);margin:8px 0}.primary{background:var(--orange);color:#18130f;border:0;padding:16px 22px;display:inline-flex;justify-content:space-between;align-items:center;gap:50px;font-size:10px;white-space:nowrap}.primary:hover:not(:disabled){background:#ff864f}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.choice{display:flex;gap:15px;align-items:center;text-align:left;background:#191b1d;border:1px solid #ffffff15;padding:18px;position:relative;min-height:110px}.choice.selected{border-color:var(--orange);background:#ff6b2a0a}.choice.selected:after{content:'✓';color:var(--orange);position:absolute;right:12px;top:9px;font-size:10px}.choice .part-icon{color:var(--orange);font:700 35px Barlow,sans-serif;min-width:40px;text-align:center}.choice .part-icon.ev{font-size:37px}.choice strong{font:700 27px Barlow,sans-serif;display:block}.choice small{font-size:7px;display:block;letter-spacing:1px;color:#8e999e;margin-top:4px}.choice p{font-size:9px;line-height:1.6;font-weight:400;color:#8d999f;margin:7px 0 0}.swatch{width:38px;height:38px;border-radius:50%;border:4px solid #ffffff17;flex-shrink:0}#build-notice{font-size:9px;color:#98b0a1;line-height:1.8;margin:15px 0 0;min-height:16px}.ready-strip{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:26px 0 36px;gap:25px}.ready-strip h2{font:700 29px Barlow,sans-serif;margin:9px 0}.ready-strip p{font-size:10px;color:var(--muted)}footer{max-width:1320px;padding:25px 38px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;color:#6e7a81;font-size:8px;letter-spacing:.5px}footer i{color:var(--orange);font-style:normal;margin:0 8px}footer small{font-size:7px}[hidden]{display:none!important}#render-error{position:absolute;inset:0;display:grid;place-items:center;padding:25px;background:#182023;text-align:center;color:#ffbe9e;font-size:13px}.race-toolbar{max-width:1320px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:16px 38px;gap:20px}.race-toolbar>span{font-size:9px;color:#a2adb0;letter-spacing:2px}.race-toolbar button{font-size:8px}.race-stage{height:min(70vh,760px);min-height:390px;position:relative;background:#243b3d;overflow:hidden}#track{display:block;width:100%;height:100%;touch-action:none}.race-hud{position:absolute;top:28px;left:38px;display:flex;gap:38px;text-shadow:0 2px 10px #0009;pointer-events:none}.race-hud small{font-size:8px;color:#d5d8c8;letter-spacing:1px;display:block}.race-hud strong{display:block;font:700 35px Barlow,sans-serif;margin-top:4px}.race-hud i{font:400 13px DM,sans-serif;font-style:normal;color:#d1d4bd}.speed{position:absolute;bottom:35px;right:38px;text-shadow:0 2px 15px #0007;text-align:right;pointer-events:none}.speed>strong{font:700 86px/.9 Barlow,sans-serif;display:block}.speed>span{font-size:10px;letter-spacing:3px}.speed>small{display:block;font-size:8px;letter-spacing:1px;color:#ffd7b2;margin-top:14px}#minimap{position:absolute;left:30px;bottom:22px;width:180px;height:120px;background:#0c191b66;border-radius:8px}.race-controls{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1px;color:#8c9c9d;padding:18px 38px;max-width:1320px;margin:auto}.race-overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:#0a171ad9;backdrop-filter:blur(5px);padding:25px}.race-overlay h2{font:700 64px/.95 Barlow,sans-serif;margin:22px 0}.race-overlay p:not(.eyebrow){font-size:12px;color:#b6c3bd;line-height:1.9}.race-overlay .primary{display:flex;margin:25px auto 12px}.race-overlay button:not(.primary){border:0;font-size:9px;color:#a6b8b0}#countdown{position:absolute;inset:0;display:grid;place-items:center;font:700 120px Barlow,sans-serif;pointer-events:none;text-shadow:0 4px 30px #0008}.touch-controls{display:none;padding:14px 22px;gap:10px}.touch-controls>div{display:flex;gap:8px;margin-right:auto}.touch-controls button{min-width:60px;min-height:53px;touch-action:none;user-select:none;background:#243238;font-size:15px}.touch-controls>button{font-size:10px}.touch-controls>button:last-child{background:var(--orange);color:#171512;min-width:85px}@media(pointer:coarse),(max-width:800px){.touch-controls{display:flex}}@media(max-width:900px){.workbench{grid-template-columns:210px 1fr}.assembly{padding:20px 12px}.preview-top{font-size:6px;padding:16px}.specs{gap:10px;padding:17px}.specs>div+div{padding-left:10px}.specs strong{font-size:25px}.canvas-wrap{height:365px}.choices{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){header{height:65px;padding:0 18px;gap:12px}.logo{font-size:25px}.logo small{font-size:6px;letter-spacing:1px;padding-left:8px;margin-left:4px}nav{gap:10px}nav button{font-size:7px;padding:0}nav button span{margin-left:3px}header>button{font-size:6px;padding:7px}main{padding:0 16px}.intro{padding:29px 0 24px}.eyebrow{font-size:7px;letter-spacing:1px}h1{font-size:53px}.intro>p{display:none}.workbench{display:flex;flex-direction:column}.preview{order:0}.assembly{order:1;padding:15px}.panel-title{font-size:7px}.assembly ol{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:12px 0 0}.assembly ol li+li{margin:0}ol button{padding:8px 6px;gap:6px;min-height:50px}ol button>span{font-size:18px}ol button strong{font-size:7px}ol button small{display:none}.assembly-note{display:none}.assembly>button{font-size:6px;margin-top:8px;text-align:right}.canvas-wrap{height:270px}.preview-top{padding:13px;font-size:6px;letter-spacing:.5px}.preview-caption{left:13px;right:13px;bottom:14px;font-size:6px;letter-spacing:.5px}.preview-caption small{font-size:5px}.specs{padding:14px 12px;gap:7px}.specs>div+div{padding-left:7px}.specs small{font-size:5px;letter-spacing:.5px}.specs strong{font-size:25px}.specs i{font-size:5px}.parts-panel{padding:24px 0}.part-heading{align-items:start;gap:12px}.part-heading h2{font-size:25px}.part-heading p:not(.eyebrow){font-size:9px;line-height:1.7}.part-heading .eyebrow{font-size:6px;letter-spacing:.5px}.primary{padding:13px 14px;font-size:8px;gap:15px}.part-heading>.primary{margin-top:18px}.choices{gap:8px;margin-top:17px}.choice{padding:12px 9px;gap:8px;min-height:105px}.choice .part-icon{font-size:26px;min-width:28px}.choice strong{font-size:23px}.choice small{font-size:5px;letter-spacing:.5px}.choice p{font-size:8px}.choice.selected:after{top:6px;right:6px}.swatch{width:28px;height:28px}.ready-strip{flex-direction:column;align-items:start;gap:8px;padding:22px 0}.ready-strip h2{font-size:26px}.ready-strip .primary{width:100%}footer{padding:22px 16px;flex-wrap:wrap;font-size:7px;gap:12px}footer small{font-size:6px}.race-toolbar{padding:12px 16px;gap:10px}.race-toolbar>span{font-size:7px;letter-spacing:.5px}.race-toolbar button{font-size:7px;padding:9px}.race-stage{height:55vh;min-height:350px}.race-hud{top:20px;left:18px;gap:22px}.race-hud small{font-size:7px}.race-hud strong{font-size:29px}.race-hud i{font-size:10px}.speed{right:20px;bottom:25px}.speed>strong{font-size:64px}.speed>span{font-size:8px}.speed>small{font-size:6px}.race-controls{padding:15px 18px;line-height:1.8;font-size:6px}.race-controls>span:last-child{display:none}#minimap{width:130px;height:87px;left:13px;bottom:18px}.touch-controls{padding:12px 14px;gap:7px}.touch-controls button{min-width:50px;padding:10px}.race-overlay h2{font-size:48px}.race-overlay p:not(.eyebrow){font-size:10px}.race-overlay .primary{font-size:10px}}

.shape-choice{flex-direction:column;align-items:stretch;gap:10px}.shape-icon{width:110px;height:50px;align-self:center;color:#b5c0bd;margin:4px 0}.shape-icon path{fill:currentColor;fill-opacity:.12;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.shape-icon circle{fill:#1b2224;stroke:currentColor;stroke-width:2}.shape-choice.selected .shape-icon{color:var(--orange)}.shape-choice strong{font-size:26px}.shape-choice p{min-height:30px}@media(max-width:650px){.shape-icon{width:96px;height:45px}.shape-choice strong{font-size:23px}.shape-choice p{min-height:39px}}

/* ===== Apex Garage 2: shop, tuning, tracks, nitro and touch ===== */
.cash-chip{font-size:12px;font-weight:700;color:#a7f0c0;background:#16261d;border:1px solid #2f5a3f;border-radius:999px;padding:8px 14px;white-space:nowrap}
.cash-chip b{font:700 18px Barlow,sans-serif;margin-left:4px}
header{gap:14px}
.choice .lock{position:absolute;right:10px;bottom:9px;font-style:normal;font-size:10px;font-weight:700;color:#ffd6a8;background:#000a;padding:3px 7px;border-radius:4px}
.choice.locked:not(.selected){opacity:.82}
.choice.locked.selected{border-color:#ffb36b}
.choices.paint-mode{display:block}
.choice-label{font-size:9px;letter-spacing:1.6px;color:#c9a27e;font-weight:700;margin:18px 0 8px}
.swatch-row{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}
.choice.swatch-choice{flex-direction:column;justify-content:center;min-height:96px;padding:12px 6px;gap:8px;text-align:center}
.choice.swatch-choice small{font-size:8px;letter-spacing:.3px}
.choice.swatch-choice .lock{position:static;margin-top:2px}
.mini-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mini-row .choice{min-height:78px}
.mini-row .choice strong{font-size:21px}
.number-pick{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:10px;letter-spacing:1px;color:#c9a27e;font-weight:700}
.number-pick input{width:80px;padding:10px;background:#191b1d;border:1px solid #ffffff30;color:#fff;border-radius:4px;font:700 20px Barlow,sans-serif}
.tuning,.race-setup{border-top:1px solid var(--line);padding:30px 0}
.tune-list{display:grid;gap:8px;margin-top:18px}
.tune{display:grid;grid-template-columns:1fr auto 200px;gap:18px;align-items:center;background:#191b1d;border:1px solid #ffffff14;border-radius:6px;padding:12px 16px}
.tune strong{font:700 22px Barlow,sans-serif;display:block}
.tune small{font-size:10px;color:var(--muted)}
.pips{display:flex;gap:5px}
.pips i{width:26px;height:8px;border-radius:3px;background:#ffffff14}
.pips i.on{background:linear-gradient(90deg,var(--orange),#ffd36b)}
.tune button{background:#2a6b47;border-color:#4fbf80;color:#eafff2}
.tune button:disabled{background:#1d2022;border-color:#ffffff14;color:#7c868b}
.race-buttons{display:flex;gap:10px;flex-wrap:wrap}
#gp-race{border-color:#ffd36b66;color:#ffe4a8;font-size:11px}
.track-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.track{display:flex;flex-direction:column;gap:10px;text-align:left;background:#191b1d;border:1px solid #ffffff15;border-radius:6px;padding:12px}
.track canvas{width:100%;height:auto;aspect-ratio:3/2;background:#0f1416;border-radius:4px}
.track strong{font:700 22px Barlow,sans-serif;display:block}
.track small{display:block;font-size:10px;font-weight:400;color:var(--muted);line-height:1.5;margin:4px 0 8px}
.track b{font-size:10px;letter-spacing:.8px;color:#a7f0c0}
.track.on{border-color:var(--orange);background:#ff6b2a0d}
.track.locked b{color:#ffd6a8}
.track.locked canvas{filter:grayscale(1) brightness(.6)}
.race-options{display:flex;flex-wrap:wrap;gap:30px;align-items:end;margin-top:6px}
.seg{display:flex;gap:6px}
.seg button{border-radius:999px;padding:9px 16px;font-size:12px}
.seg button[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:#18130f}
.toggle{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;cursor:pointer;max-width:330px}
.toggle input{position:absolute;opacity:0}
.toggle span{grid-row:1/3;width:46px;height:26px;border-radius:999px;background:#2a2e31;position:relative;transition:background .2s}
.toggle span:after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#d8dcd8;transition:left .2s}
.toggle input:checked+span{background:var(--orange)}
.toggle input:checked+span:after{left:23px}
.toggle input:focus-visible+span{outline:2px solid var(--orange);outline-offset:3px}
.toggle b{font-size:13px}
.toggle small{font-size:10px;color:var(--muted)}
.note{font-size:11px;color:#98b0a1;margin:14px 0 0;min-height:14px}
/* race HUD */
.board{position:absolute;top:100px;left:38px;margin:0;font-size:12px;font-weight:700;pointer-events:none;text-shadow:0 1px 6px #000a}
.board li{display:flex;gap:9px;padding:3px 10px 3px 0;color:#e7ece4}
.board li+li{margin-top:2px}
.board b{width:18px;color:#ffd6a8}
.board li.you{color:var(--orange)}
.nitro{position:absolute;right:38px;top:28px;width:200px;pointer-events:none;text-align:right}
.nitro span{font-size:9px;letter-spacing:2px;font-weight:700;color:#bfe6ff}
.nitro div{height:12px;border-radius:6px;background:#0b1a24aa;border:1px solid #9fdcff66;margin:6px 0 4px;overflow:hidden}
.nitro i{display:block;height:100%;width:50%;background:linear-gradient(90deg,#2f8cff,#7fe0ff);transition:width .1s}
.nitro.full i{box-shadow:0 0 14px #7fe0ff;background:linear-gradient(90deg,#4fa0ff,#d6f6ff)}
.nitro.on i{background:linear-gradient(90deg,#ff8a1f,#ffe36b)}
.nitro small{font-size:8px;color:#9fb3be;letter-spacing:1px}
#standings table{margin:10px auto;border-collapse:collapse;font-size:13px;min-width:240px}
#standings th{font-size:9px;letter-spacing:1.5px;color:var(--orange);text-align:left;padding:4px 10px}
#standings td{padding:5px 10px;border-top:1px solid #ffffff14;text-align:left}
#standings td:last-child,#standings th:last-child{text-align:right}
#standings tr.you td{color:var(--orange);font-weight:700}
.race-overlay #race-again{display:flex;margin:12px auto 6px}
#to-workshop{border:0;font-size:10px;color:#a6b8b0}
.touch-controls{position:absolute;left:0;right:0;bottom:0;display:none;justify-content:space-between;align-items:end;padding:16px;gap:10px;pointer-events:none;background:none}
.touch-controls>div{display:flex;gap:10px;pointer-events:auto;margin:0}
.touch-controls button{min-width:78px;min-height:78px;border-radius:50%;background:#0f1a1ccc;border:2px solid #ffffff44;font-size:13px;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 6px 16px #0008}
.touch-controls .steer button{min-width:92px;min-height:92px;font-size:28px}
.touch-controls .gas{background:var(--orange);color:#18130f;min-width:96px;min-height:96px;font-size:15px}
.touch-controls .nitro-btn{background:#1d4f8fcc;font-size:11px}
.touch-controls button.down{transform:scale(.93);filter:brightness(1.4)}
body.auto-gas .touch-controls .gas{display:none}
@media(pointer:coarse),(max-width:800px){.touch-controls{display:flex}#minimap{bottom:auto;top:150px;left:auto;right:20px;width:140px;height:98px}.speed{bottom:auto;top:250px}.board{top:90px}}
@media(max-width:1000px){.track-list{grid-template-columns:repeat(2,1fr)}.swatch-row{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.cash-chip{padding:6px 9px;font-size:10px}.cash-chip b{font-size:14px}.mini-row{grid-template-columns:repeat(2,1fr)}.tune{grid-template-columns:1fr auto}.tune button{grid-column:1/-1}.race-setup .part-heading{flex-direction:column;align-items:start}.race-buttons{width:100%}.race-buttons .primary{flex:1}
  .nitro{right:16px;top:16px;width:130px}.board{left:18px;font-size:10px}.touch-controls button{min-width:62px;min-height:62px;font-size:11px}.touch-controls .steer button{min-width:74px;min-height:74px}.touch-controls .gas{min-width:78px;min-height:78px}.speed{top:auto;bottom:110px;right:16px}.speed>strong{font-size:44px}#minimap{display:none}.race-stage{height:68vh}}
.race-stage{height:calc(100svh - 160px);min-height:300px;max-height:780px}
@media(max-height:560px){body.racing>header{display:none}body.racing .race-toolbar{padding:6px 12px}body.racing .race-stage{height:calc(100svh - 48px);min-height:240px}body.racing .race-controls,body.racing footer{display:none}
  .race-hud{top:10px;left:14px;gap:16px}.race-hud strong{font-size:24px}.race-hud small{font-size:6px}.board{top:62px;left:14px;font-size:10px}.board li{padding:1px 8px 1px 0}.nitro{top:10px;right:14px;width:130px}#minimap{display:none}.speed{top:auto;bottom:14px;right:50%;transform:translateX(50%);text-align:center}.speed>strong{font-size:36px}.speed>small{display:none}
  .touch-controls{padding:10px}.touch-controls button{min-width:58px;min-height:58px}.touch-controls .steer button{min-width:70px;min-height:70px}.touch-controls .gas{min-width:72px;min-height:72px}#countdown{font-size:80px}}
