.game:has(.garage-room,.race-room) {
  width:100%;height:100dvh;max-width:none;max-height:none;aspect-ratio:auto;border:0;border-radius:0
}
body:has(.garage-room,.race-room){padding:0}
body:has(.garage-room,.race-room) .account-toast{pointer-events:none}
.game:has(.garage-room,.race-room) :is(#vehicle-bar,#display-controls,#tutorial-layer){display:none}
.garage-room,.race-room,.garage-dialog{
  --work-panel:linear-gradient(145deg,#1c2022f5,#101416fa);--work-border:#ffffff25;--work-gold:#ffc047;
  font:500 clamp(.78rem,1vw,1.1rem)/1.3 Arial,sans-serif;color:#f5f5f5
}
.garage-room,.race-room{
  position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;
  padding:0 max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background:linear-gradient(180deg,#0a0d11b8,#11131664 45%,#0b0f12f5),url('/assets/workshop/hales-garage.jpg') center 54%/cover
}
:is(.garage-room,.garage-dialog,.race-room) :is(button,input,select){
  color:inherit;font:inherit;padding:.55em .8em;background:linear-gradient(#242a2e,#15191c);
  border:1px solid var(--work-border);border-radius:9px;min-width:0
}
:is(.garage-room,.garage-dialog,.race-room) button{cursor:pointer}
:is(.garage-room,.garage-dialog,.race-room) button:disabled{opacity:.45;cursor:default}
:is(.garage-room,.garage-dialog,.race-room) :is(.garage-gold,[aria-pressed=true]){
  color:#181106;background:linear-gradient(#ffd370,#f5a719);border-color:#ffd06a;font-weight:800
}
:is(.garage-room,.garage-dialog,.race-room) .icon{width:1.45em;height:1.45em;vertical-align:middle}
.garage-hero{display:flex;justify-content:space-between;align-items:center;padding:.6em .8em}
.garage-hero h1{font-size:clamp(1.5rem,3vw,3.3rem);line-height:1;margin:0;letter-spacing:-.04em}
.garage-hero p{margin:.3em 0 0;color:#ddd}
.garage-capacity{display:flex;align-items:center;gap:.8em;padding:.45em .7em;border:1px solid var(--work-border);border-radius:10px;background:#0d1015c9}
.garage-capacity strong{display:block;font-size:1.25em}
.garage-capacity button{font-size:1.45em}
.garage-tabs{display:flex;gap:.65em;padding:0 .8em .7em;overflow:auto;flex:none}
.garage-tabs button{white-space:nowrap;min-width:10%;font-weight:750}
.garage-grid{display:grid;grid-template-columns:minmax(180px,23fr) minmax(0,53fr) minmax(210px,23fr);grid-template-rows:minmax(0,1fr) auto;gap:.7em;flex:1;min-height:0}
.garage-list,.garage-specs{overflow:auto;border:1px solid var(--work-border);border-radius:12px;background:var(--work-panel);min-height:0;padding:.65em}
.garage-list{grid-row:1/3}
.garage-list header,.garage-specs header{display:flex;justify-content:space-between;align-items:center;gap:.35em}
.garage-list h2,.garage-specs h2{font-size:1.23em;margin:.2em 0 .6em}
.garage-list>button{display:grid;grid-template-columns:39% 1fr;gap:.5em;align-items:center;width:100%;margin-bottom:.45em;text-align:left;padding:.25em}
.garage-list>button[aria-pressed=true],.garage-gallery>button[aria-pressed=true]{background:#181a1b;color:#fff;border-color:#ffd05a;box-shadow:inset 0 0 0 1px #ffd05a}
.garage-thumb{display:grid;place-items:center;aspect-ratio:1.75;background:#100e0b;border-radius:6px;overflow:hidden}
.garage-thumb img,.garage-gallery img{width:100%;height:100%;object-fit:contain}
.garage-list small,.garage-list em,.garage-work-row small{display:block;color:#d2d1ce;font-style:normal}
.garage-list em{color:#ffca62}
.garage-room .ready{color:#83ea7e}
.garage-center{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;background:linear-gradient(#101417b3,transparent 34%,#0c0f11cc);border-radius:12px;overflow:hidden}
.garage-car-title{padding:.45em .7em 0}
.garage-car-title h2{font-size:clamp(1.45rem,2.4vw,2.65rem);margin:.12em 0;letter-spacing:-.03em}
.garage-car-title p{margin:0;color:#e0ded8}
.garage-badge{display:inline-block;background:#ffc04b;color:#201606;border-radius:6px;font-weight:800;padding:.2em .55em}
.garage-model{display:grid;place-items:center;min-height:0;position:relative;isolation:isolate}
.garage-model::before{content:"";position:absolute;bottom:12%;width:68%;height:16%;border-radius:50%;background:#000b;filter:blur(10px);z-index:-1}
.garage-model img{width:100%;height:100%;min-height:0;object-fit:contain;filter:drop-shadow(0 12px 12px #000a)}
.garage-model canvas{width:100%;height:100%;display:block;touch-action:none;position:absolute;inset:0}
.garage-viewport{position:absolute;inset:0;display:grid;place-items:center}
.garage-viewport>.icon{width:clamp(70px,16vw,200px);height:auto;color:#d8ab68}
.garage-model>button{position:absolute;z-index:1;background:#101518e8}
.garage-model>button[hidden],.garage-gallery>button[hidden]{display:none}
.garage-model :is(.garage-prev,.garage-next){top:50%;transform:translateY(-50%);min-width:42px;min-height:44px;padding:.12em;font-size:1.8em;line-height:1}
.garage-prev{left:.35em}.garage-next{right:.35em}
.garage-expand-view{right:.65em;bottom:.65em;min-height:40px}
.garage-view-hint{position:absolute;bottom:.65em;left:.65em;color:#ecd6a9;background:#101416df;padding:.2em .45em;border-radius:5px;pointer-events:none}
.garage-view-hint:empty{display:none}
.garage-view-expanded .garage-center{position:static}
.garage-view-expanded .garage-model{position:absolute;inset:0;z-index:6;background:linear-gradient(#10141757,#0c0f11a0),url('/assets/workshop/hales-garage.jpg') center/cover}
.garage-tools,.garage-gallery{display:flex;justify-content:center;gap:.55em;padding:.25em .55em}
.garage-gallery button{height:clamp(38px,7vh,76px);width:clamp(70px,8vw,150px);padding:0;overflow:hidden}
.garage-gallery button{position:relative;background:#101416d9}
.garage-gallery button span{position:absolute;inset:auto 0 0;background:#101416dc;font-size:.72em;padding:.12em;color:#eee}
.garage-actions{grid-column:2/4;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6em}
.garage-actions button{display:grid;justify-items:center;gap:.25em;padding:.75em .2em;font-size:clamp(.82rem,1.25vw,1.3rem)}
.garage-actions button:first-child{background:linear-gradient(#271e13,#4c3315);border-color:#ffd05a;color:#ffd05a}
.garage-room meter{width:100%;height:.65em;appearance:none}
.garage-room meter::-webkit-meter-bar{border:0;background:#30383b;border-radius:8px}
.garage-room meter::-webkit-meter-optimum-value{border-radius:8px;background:var(--meter)}
.garage-room meter::-moz-meter-bar{background:var(--meter)}
.garage-room .green{--meter:#82e675}.garage-room .gold{--meter:#ffca55}.garage-room .red{--meter:#ef6a53}
.garage-system{margin:.65em 0;padding:.35em 0;border-block:1px solid var(--work-border)}
.garage-system button{display:grid;grid-template-columns:1.2fr 1fr 2.4em;align-items:center;gap:.3em;width:100%;text-align:left;padding:.3em;background:none;border-color:transparent}
.garage-specs dl{margin:.3em 0 .7em;color:#d9d8d5}
.garage-specs dl div{display:flex;justify-content:space-between;gap:.4em;padding:.2em}
.garage-specs dd{margin:0;text-align:right}
.garage-status{position:absolute;bottom:0;left:1em;margin:0;background:#191d21;color:#ffd68c;padding:.25em .6em;border-radius:5px}
.garage-status:empty{display:none}
.garage-mobile{display:none}
.garage-dialog{width:min(760px,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem)}
.garage-work{padding:.85em}
.garage-work header{display:flex;align-items:center;justify-content:space-between}
.garage-mode-car{display:flex;align-items:center;background:#0c1012;border-radius:8px;margin:.4em 0;padding:.2em .5em}
.garage-mode-car img{width:clamp(90px,24vw,210px);height:clamp(55px,16vh,115px);object-fit:contain}
.garage-dialog .garage-work form{padding:0;border:0}
.garage-dialog .garage-work-row{display:flex;align-items:center;gap:.55em;border-bottom:1px solid var(--work-border);padding:.45em .1em;margin:0;color:#f3eee7}
.garage-work-row span:first-of-type{flex:1}
.garage-dialog .garage-work-row input[type=checkbox]{width:auto;accent-color:var(--work-gold)}
.garage-work-row select{max-width:34%}
.garage-work [type=submit]{margin-top:.55em}
.garage-work a.garage-gold{display:inline-block;padding:.5em .75em;border-radius:7px;color:#171106}
@media(max-width:1000px),(max-height:540px){
  .garage-hero{padding:.25em .25em}.garage-hero p{display:none}
  .garage-capacity{padding:.2em .45em}.garage-capacity strong{display:inline;margin-left:.35em}
  .garage-capacity button{font-size:1em}
  .garage-tabs{display:none}.garage-mobile{display:flex;gap:.4em}
  .garage-grid{grid-template-columns:minmax(0,1fr);gap:.35em}
  .garage-list,.garage-specs{display:none;position:absolute;z-index:4;inset:0 auto 0 0;width:min(310px,65%);box-shadow:0 0 0 100vmax #0008}
  .garage-specs{inset:0 0 0 auto}
  .garage-room[data-drawer=list] .garage-list,.garage-room[data-drawer=specs] .garage-specs{display:block}
  .garage-actions{grid-column:1}
  .garage-actions button{padding:.32em;display:flex;justify-content:center;align-items:center}
  .garage-gallery button{height:42px;width:82px}
  .garage-gallery{display:none}
  .garage-gallery-open .garage-gallery{display:flex}
  .garage-model img{transform:scale(1.12)}
  .garage-car-title h2{font-size:1.25rem}
  .garage-car-title{padding:.2em .45em 0}.garage-car-title p,.garage-badge{display:none}
  .garage-tools button{padding:.28em .55em}
}

.garage-dialog .tire-pressure{padding:14px;margin:12px 0;background:linear-gradient(125deg,#242a31,#171c23);border:1px solid #b78c4650;border-radius:8px}
.garage-dialog .tire-pressure>label{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0;font-weight:700}
.tire-pressure label small{display:block;color:#929aa5;font-size:11px;font-weight:400;margin-top:4px}
.tire-pressure output{color:#ffca65;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px}
.garage-dialog .tire-pressure input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:44px;margin:8px 0 0;padding:0;border:0;background:transparent;cursor:pointer;accent-color:#f2b84b;touch-action:pan-y}
.tire-pressure input::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,#f2b84b var(--pressure-fill,50%),#4c535f var(--pressure-fill,50%))}
.tire-pressure input::-moz-range-track{height:6px;background:#4c535f;border-radius:3px}.tire-pressure input::-moz-range-progress{height:6px;background:#f2b84b;border-radius:3px}
.tire-pressure input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:linear-gradient(#ffe0a0,#d99124);border:3px solid #262b32;box-shadow:0 0 0 1px #e4b65a,0 0 10px #e5a53740}
.tire-pressure input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#f2b84b;border:3px solid #262b32}
.tire-pressure input:focus-visible{outline:2px solid #ffcf75;outline-offset:2px}.tire-pressure input:disabled{opacity:.4;cursor:default}
.pressure-scale{display:flex;justify-content:space-between;gap:7px;color:#aab1bc;font-size:11px}.pressure-scale span:nth-child(2){color:#e4bb75}.tire-pressure p{font-size:12px;color:#aeb7c4;line-height:1.4;margin-bottom:0}.tire-pressure .pressure-previous{color:#f2c47a}
@media(max-height:460px){.garage-dialog .tire-pressure{padding:10px;margin:8px 0}.tire-pressure output{font-size:14px}.tire-pressure p{font-size:11px}}

.garage-actions{grid-template-columns:repeat(6,minmax(0,1fr))}
.garage-dialog:has(.style-editor){width:min(920px,calc(100vw - 24px))}
.style-editor{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,1fr);gap:16px;min-width:0}
.style-preview-wrap{position:relative;min-height:260px;background:radial-gradient(ellipse at 50% 60%,#3b414a,#171d25 72%);border:1px solid #ffffff13;border-radius:7px;overflow:hidden}
.style-preview{position:absolute;inset:0 0 45px;min-height:160px}.style-preview canvas{width:100%;height:100%;display:block;touch-action:none}.style-preview-status{position:absolute;top:8px;left:10px;right:10px;color:#a7b0bd;font-size:10px;pointer-events:none}.style-preview-wrap>small{position:absolute;bottom:8px;left:10px;color:#b19972;font-size:9px;letter-spacing:.05em}.style-views{position:absolute;bottom:24px;left:8px;display:flex;gap:5px}.garage-dialog .style-views button{font-size:10px;padding:4px 9px}
.style-controls h3{margin:3px 0 10px;font-size:14px}.style-controls p{font-size:12px;margin:8px 0 14px;color:#b7c0cd}.style-palette{display:flex;flex-wrap:wrap;gap:7px}.garage-dialog .style-palette button{width:36px;height:36px;min-height:36px;padding:3px;border:1px solid #78808e50;background:#131a22;border-radius:50%}.style-palette i{display:block;width:100%;height:100%;border-radius:50%;background:linear-gradient(140deg,#ffffff35,transparent 60%),var(--paint);box-shadow:inset 0 0 0 1px #ffffff25}.garage-dialog .style-palette button[aria-pressed=true]{border-color:#ffd06d;box-shadow:0 0 0 2px #eebc5840}
.style-decals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.garage-dialog .style-decals button{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:68px;padding:6px 3px;background:#1b232e;border:1px solid #ffffff20}.style-decals i{font-size:24px;font-style:normal;color:#e0d9c8;line-height:1}.style-decals span{font-size:9px;line-height:1.2;text-align:center}.style-decal-roundel{border:1px solid #ddd;border-radius:50%;padding:3px;font-size:15px!important}.garage-dialog .style-decals button[aria-pressed=true]{border-color:#eabb64;background:#4e3a1e;color:#ffdc94}
.style-controls .style-price{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff18;padding-top:12px;margin:14px 0 10px}.style-price strong{color:#ffcd70;font-size:18px}.garage-dialog .style-apply{width:100%;min-height:42px}.style-controls .style-note{font-size:10px;color:#929daa;line-height:1.4;margin-bottom:0}
@media(max-height:460px){.style-editor{gap:12px;grid-template-columns:minmax(0,1fr) minmax(230px,1fr)}.style-preview-wrap{min-height:235px}.style-controls h3{margin:0 0 6px;font-size:12px}.garage-dialog .style-palette button{width:30px;height:30px;min-height:30px}.style-palette{gap:5px}.style-controls p{font-size:10px;margin:6px 0 8px}.garage-dialog .style-decals button{min-height:54px}.style-controls .style-price{margin:8px 0;padding-top:7px}.garage-dialog .style-apply{min-height:36px}.style-controls .style-note{font-size:9px}}
@media(max-width:560px){.style-editor{grid-template-columns:1fr}.style-preview-wrap{min-height:210px}}
