/* ============================================================
   BUILD YOUR RACE CAR — garage styles
   ============================================================ */
.garage{max-width:1060px;}
.garage-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:20px;}
.gtab{display:flex;align-items:center;gap:9px;background:#fff;border:2px solid var(--line);border-radius:14px;
  padding:11px 22px;font-family:'Saira Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  letter-spacing:.03em;font-size:17px;color:var(--ink);transition:all .15s;}
body:not(.theme-sky) .gtab{background:var(--navy-card);}
.gtab b{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;
  background:var(--line);color:var(--mut);font-size:14px;}
.gtab:hover{transform:translateY(-2px);}
.gtab.on{border-color:var(--magenta);background:rgba(236,28,148,.1);color:var(--magenta-d);}
body:not(.theme-sky) .gtab.on{color:#fff;}
.gtab.on b{background:var(--magenta);color:#fff;}

.garage-main{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:start;}
.garage-stage{position:relative;background:linear-gradient(180deg,#dff0fb,#eef7fd);border:1px solid var(--line);
  border-radius:20px;padding:18px;box-shadow:0 14px 40px rgba(11,26,58,.1);}
body:not(.theme-sky) .garage-stage{background:#0c1838;}
.garage-canvas{width:100%;display:block;}
.garage-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--mut);
  font-family:'Saira Condensed',sans-serif;font-style:italic;font-size:20px;}
.build-progress{margin-top:10px;}
.build-progress span{font-family:'Saira Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:13px;color:var(--mut);}
.bp-bar{height:8px;background:rgba(11,26,58,.1);border-radius:6px;overflow:hidden;margin-top:5px;}
body:not(.theme-sky) .bp-bar{background:rgba(255,255,255,.1);}
.bp-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--magenta));border-radius:6px;transition:width .35s ease;}

.garage-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;
  box-shadow:0 8px 26px rgba(11,26,58,.07);}
body:not(.theme-sky) .garage-panel{background:var(--navy-card);}
.gp-h3{font-size:26px;margin:0 0 4px;}
.gp-hint{color:var(--mut);font-size:15px;margin:0 0 16px;}
.gp-hint b{color:var(--cyan-d);}
body:not(.theme-sky) .gp-hint b{color:var(--cyan-l);}

.part-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.part-btn{display:flex;align-items:center;gap:13px;background:#f1f7fc;border:2px solid var(--line);
  border-radius:13px;padding:12px 14px;text-align:left;transition:all .15s;cursor:pointer;width:100%;}
body:not(.theme-sky) .part-btn{background:#0d1937;}
.part-btn:disabled{cursor:default;}
.part-btn.next{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,174,239,.15);animation:partpulse 1.6s ease infinite;}
@keyframes partpulse{0%,100%{box-shadow:0 0 0 3px rgba(0,174,239,.12)}50%{box-shadow:0 0 0 5px rgba(0,174,239,.26)}}
.part-btn.on{border-color:rgba(34,178,76,.5);background:rgba(34,178,76,.08);}
.part-ico{font-size:24px;flex:none;width:30px;text-align:center;}
.part-txt{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;}
.part-txt b{font-family:'Saira Condensed',sans-serif;font-weight:800;text-transform:uppercase;font-size:17px;letter-spacing:.02em;}
.part-txt span{font-size:12.5px;color:var(--mut);line-height:1.25;}
.part-why{display:block;margin-top:6px;font-size:12px;line-height:1.35;color:var(--cyan-d);background:rgba(0,174,239,.08);
  border-radius:8px;padding:6px 9px;}
body:not(.theme-sky) .part-why{color:var(--cyan-l);background:rgba(0,174,239,.12);}
.part-check{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:15px;background:var(--line);color:var(--mut);}
.part-btn.next .part-check{background:var(--cyan);color:#04263a;}
.part-btn.on .part-check{background:#22b24c;color:#fff;}

.gp-actions{display:flex;gap:10px;flex-wrap:wrap;}
.gp-actions .btn{justify-content:center;}

/* paint controls */
.paint-group{margin-bottom:18px;}
.paint-label{display:block;font-family:'Saira Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;font-size:13px;color:var(--mut);margin-bottom:9px;}
.swatch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;}
.swatch{aspect-ratio:1;border-radius:11px;border:3px solid;cursor:pointer;color:#fff;font-size:16px;font-weight:800;
  display:flex;align-items:center;justify-content:center;transition:transform .12s;text-shadow:0 1px 3px rgba(0,0,0,.4);}
.swatch:hover{transform:scale(1.08);}
.swatch.on{outline:3px solid var(--ink);outline-offset:2px;}
.num-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.num-input{width:74px;background:#f1f7fc;border:2px solid var(--line);border-radius:11px;color:var(--ink);
  font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:30px;text-align:center;padding:8px;outline:none;}
body:not(.theme-sky) .num-input{background:#0a1531;}
.num-input:focus{border-color:var(--cyan);}
.num-quick{display:flex;gap:6px;flex-wrap:wrap;flex:1;}
.nq{background:#f1f7fc;border:2px solid var(--line);border-radius:9px;padding:7px 11px;font-family:'Saira Condensed',sans-serif;
  font-weight:800;font-size:15px;color:var(--ink);transition:all .12s;}
body:not(.theme-sky) .nq{background:#0d1937;}
.nq.on{border-color:var(--cyan);background:rgba(0,174,239,.12);color:var(--cyan-d);}
.acc-row{display:flex;gap:9px;flex-wrap:wrap;}
.acc{width:40px;height:40px;border-radius:50%;border:3px solid;cursor:pointer;color:#fff;font-weight:800;
  display:flex;align-items:center;justify-content:center;transition:transform .12s;}
.acc:hover{transform:scale(1.1);}
.acc.on{outline:3px solid var(--ink);outline-offset:2px;}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;}
.chip-opt{background:#f1f7fc;border:2px solid var(--line);border-radius:10px;padding:9px 15px;
  font-family:'Saira Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  font-size:14px;color:var(--ink);transition:all .12s;}
body:not(.theme-sky) .chip-opt{background:#0d1937;}
.chip-opt.on{border-color:var(--magenta);background:rgba(236,28,148,.1);color:var(--magenta-d);}
body:not(.theme-sky) .chip-opt.on{color:#fff;}
.name-input{width:100%;background:#f1f7fc;border:2px solid var(--line);border-radius:11px;color:var(--ink);
  font-family:'Saira',sans-serif;font-size:16px;padding:12px 14px;outline:none;}
body:not(.theme-sky) .name-input{background:#0a1531;}
.name-input:focus{border-color:var(--cyan);}

/* share bar */
.garage-share{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 22px;
  box-shadow:0 8px 26px rgba(11,26,58,.06);}
body:not(.theme-sky) .garage-share{background:var(--navy-card);}
.gs-label{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;text-transform:uppercase;
  letter-spacing:.03em;font-size:17px;color:var(--ink);}
.gs-btns{display:flex;gap:10px;flex-wrap:wrap;}
.gs-btns .btn:disabled{opacity:.4;cursor:not-allowed;transform:none;}

@media(max-width:860px){
  .garage-main{grid-template-columns:1fr;}
  .swatch-grid{grid-template-columns:repeat(5,1fr);max-width:300px;}
}


/* ============================================================
   WIND TUNNEL / TUNE LAB
   ============================================================ */
.tunnel-stage{background:#0d1730;border-radius:22px;}
.tunnel-canvas{width:100%;display:block;border-radius:22px;
  box-shadow:0 26px 64px rgba(11,26,58,.32);border:2px solid rgba(11,26,58,.18);background:#0d1730;}
body:not(.theme-sky) .tunnel-canvas{border-color:rgba(255,255,255,.1);}

.gt-group{margin-bottom:16px;}
.gt-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.gt-opt{display:flex;gap:10px;align-items:flex-start;text-align:left;background:#f1f7fc;
  border:2px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;transition:all .14s;}
body:not(.theme-sky) .gt-opt{background:#0d1937;}
.gt-opt:hover{transform:translateY(-2px);}
.gt-opt.on{border-color:var(--cyan);background:rgba(0,174,239,.10);box-shadow:0 6px 18px rgba(0,174,239,.18);}
.gt-ico{font-size:22px;line-height:1;flex:none;margin-top:2px;}
.gt-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
.gt-txt b{font-family:'Saira Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  letter-spacing:.03em;font-size:15px;line-height:1.1;}
.gt-txt > span{font-size:12.5px;color:var(--mut);line-height:1.35;}
.gt-txt em{font-style:normal;font-family:ui-monospace,monospace;font-size:11px;color:var(--cyan-d);font-weight:700;}
body:not(.theme-sky) .gt-txt em{color:var(--cyan-l);}

.gt-stats{display:flex;flex-direction:column;gap:9px;margin:18px 0;padding:14px 16px;
  border-radius:14px;background:rgba(11,26,58,.06);border:1px solid var(--line);}
body:not(.theme-sky) .gt-stats{background:rgba(255,255,255,.04);}
.gt-stat{display:flex;align-items:center;gap:10px;}
.gt-slabel{flex:none;width:84px;font-family:'Saira Condensed',sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:.04em;font-size:14px;}
.gt-pips{display:flex;gap:5px;}
.gt-pip{width:26px;height:10px;border-radius:5px;background:rgba(120,140,170,.25);transition:background .2s;}

.gt-race{width:100%;justify-content:center;margin-top:4px;}
.gt-next{width:100%;justify-content:center;margin-top:14px;}
