/* 40-audio.css — FINE-TUNE AUDIO section (#sec-audio).
   Grouped processing cards over the shared chassis: masthead with the
   AI-recommended badge + reset, recessed mono value wells, recommended-
   default ticks under each fader, amber override LEDs. Base slider / panel /
   switch styling lives in 00-tokens.css, 20-console.css and 30-panels.css —
   only audio-section layout belongs here. */

/* ---------- masthead ---------- */
.au-masthead{ display:flex; flex-direction:column; gap:12px; }
.au-mast-top{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.au-mast-id{ display:flex; flex-direction:column; gap:8px; min-width:200px; flex:1; }
.au-station{
  font-family:var(--font-display);
  font-weight:800;
  font-size:26px;
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.au-chain{
  display:inline-flex; align-items:center; gap:7px; flex-wrap:wrap;
  font-size:10.5px; font-weight:500;
  letter-spacing:.09em;
  color:var(--muted);
}
.au-chain b{ color:var(--accent); font-weight:600; }
.au-arr{ width:7px; height:7px; color:var(--line-strong); flex:none; }

.au-mast-actions{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.au-mast-copy{
  margin:0;
  font-size:12.5px;
  color:var(--muted);
  max-width:74ch;
  border-top:1px solid var(--hairline);
  padding-top:11px;
}

/* the "why these defaults" badge — amber ghost; warm when values deviate */
.au-badge{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-weight:500;
  font-size:10.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent);
  background:var(--accent-ghost);
  border:1px solid var(--accent-line);
  border-radius:3px;
  padding:3px 9px;
  cursor:help;
  white-space:nowrap;
}
.au-badge svg{ width:10px; height:10px; flex:none; }
.au-badge.custom{
  color:var(--warn);
  background:var(--warn-bg);
  border-color:var(--warn-line);
}

/* saved/applied flash — green LED + label, fades back out */
.au-flash{
  display:inline-flex; align-items:center; gap:6px;
  font-size:10.5px; letter-spacing:.1em;
  color:var(--ok);
  opacity:0;
  transition:opacity .25s ease;
}
.au-flash::before{
  content:"";
  width:7px; height:7px; border-radius:50%;
  background:var(--ok);
  box-shadow:0 0 8px rgba(70,196,110,.55);
}
.au-flash.show{ opacity:1; }

/* ---------- group cards: single column; masonry 2-up on the big desk ---------- */
.au-grid{ display:flex; flex-direction:column; gap:16px; margin-top:16px; }
.au-grid > .panel{ margin:0; }
@media (min-width:1280px){
  .au-grid{ display:block; columns:2; column-gap:16px; }
  .au-grid > .panel{ break-inside:avoid; width:100%; margin:0 0 16px; }
}

.au-gcount{ font-size:11px; letter-spacing:.08em; color:var(--muted); }
.au-gcopy{ font-size:12px; color:var(--muted); margin:-4px 0 4px; }

/* ---------- rows ---------- */
.au-rows{ display:flex; flex-direction:column; }
.au-row{ padding:11px 0 12px; border-bottom:1px solid var(--hairline); }
.au-row:last-child{ border-bottom:none; padding-bottom:2px; }
.au-row-top{ display:flex; align-items:center; gap:10px; min-height:28px; }
.au-label{
  flex:1; min-width:0;
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600;
  color:var(--text);
}

/* override LED — lit only when the value deviates; tap restores recommended */
.au-led{
  appearance:none; border:0; padding:0; margin:0;
  width:9px; height:9px; border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 7px var(--accent-glow);
  cursor:pointer;
  flex:none;
  display:none;
}
.au-row.ovr .au-led{ display:inline-block; }
.au-led:hover{ box-shadow:0 0 0 3px var(--accent-glow); }
.au-led:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }

/* recessed live-value well (IBM Plex Mono, tabular) */
.au-well{
  display:inline-flex; align-items:baseline; justify-content:flex-end; gap:5px;
  min-width:96px;
  background:var(--input-bg);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:var(--well-inset);
  padding:4px 9px;
  font-family:var(--font-mono); font-weight:500;
  font-variant-numeric:tabular-nums;
  flex:none;
}
.au-val{ font-size:13.5px; color:var(--text); }
.au-row.ovr .au-val{ color:var(--accent); }
.au-unit{
  font-size:10px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted);
}

/* ---------- fader + recommended tick ---------- */
.au-fader{ position:relative; margin-top:6px; }
.au-fader input[type=range]{ width:100%; display:block; height:32px; }
/* default marker sits just below the track (track centres in the 32px input);
   left is set inline: calc(9px + (100% - 18px) * pct) to track the thumb path */
.au-tick{
  position:absolute; top:22px;
  width:2px; height:6px; border-radius:1px;
  background:var(--line-strong);
  pointer-events:none;
}
.au-row.ovr .au-tick{ background:var(--accent-dim); }

/* computed dB hint under the two cubic-scale volume faders */
.au-db{
  margin-top:2px;
  font-size:11px; letter-spacing:.03em;
  color:var(--muted);
}

.au-help{
  font-size:12px; line-height:1.45;
  color:var(--muted);
  margin-top:5px;
  max-width:64ch;
}

.au-select select{ min-width:150px; flex:none; }

/* ---------- narrow desks / phones ---------- */
@media (max-width:480px){
  .au-station{ font-size:22px; }
  .au-well{ min-width:84px; }
  .au-mast-actions{ width:100%; justify-content:flex-start; }
}
