/* Microphone Test — local overrides (Card 1, Microphone Diagnostics) */

.mt-privacy {
  max-width:760px;
  margin:var(--space-md) auto 0;
  padding:var(--space-sm) var(--space-md);
  border:1px solid rgba(0,255,65,.3);
  background:rgba(0,255,65,.06);
  border-radius:var(--radius-sm);
  color:var(--color-primary);
  font-size:.92rem;
  text-align:left;
  line-height:1.55;
}

/* Device selector */
.mt-select {
  width:100%;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(0,255,65,.25);
  color:var(--color-text);
  font-family:var(--font-mono);
  font-size:.9rem;
  padding:9px 10px;
  border-radius:var(--radius-sm);
}
.mt-select:focus { outline:1px solid var(--color-primary); }

/* Status line */
.mt-status {
  margin-top:var(--space-sm);
  text-align:center;
  font-family:var(--font-mono);
  font-size:.85rem;
  color:var(--color-text-dim);
  min-height:1.5em;
}
.mt-status.is-live  { color:var(--color-primary); }
.mt-status.is-error { color:#ef4444; }

/* Verdict */
.mt-verdict {
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
}
.mt-verdict__dot {
  width:14px;height:14px;border-radius:50%;
  background:var(--color-text-dim);
  flex:0 0 auto;
}
.mt-verdict__text {
  font-family:var(--font-mono);
  font-weight:700;
  font-size:1rem;
  color:var(--color-text);
}
.mt-verdict[data-state="ok"] {
  border-color:rgba(0,255,65,.5);
  background:rgba(0,255,65,.08);
}
.mt-verdict[data-state="ok"] .mt-verdict__dot { background:var(--color-primary); box-shadow:0 0 10px var(--color-primary); }
.mt-verdict[data-state="ok"] .mt-verdict__text { color:var(--color-primary); }
.mt-verdict[data-state="silent"] {
  border-color:rgba(245,158,11,.5);
  background:rgba(245,158,11,.08);
}
.mt-verdict[data-state="silent"] .mt-verdict__dot { background:#fbbf24; }
.mt-verdict[data-state="silent"] .mt-verdict__text { color:#fbbf24; }
.mt-verdict[data-state="error"] {
  border-color:rgba(239,68,68,.5);
  background:rgba(239,68,68,.08);
}
.mt-verdict[data-state="error"] .mt-verdict__dot { background:#ef4444; }
.mt-verdict[data-state="error"] .mt-verdict__text { color:#fca5a5; }

/* Detected-properties cells */
.mt-cells {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}
.mt-cell {
  background:rgba(255,255,255,.03);
  border:1px solid rgba(0,255,65,.15);
  border-radius:var(--radius-sm);
  padding:10px;
  text-align:center;
}
.mt-cell__label {
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.06em;
  color:var(--color-text-dim);
  text-transform:uppercase;
}
.mt-cell__value {
  font-family:var(--font-mono);
  font-size:1.05rem;
  font-weight:700;
  color:var(--color-primary);
  margin-top:4px;
  word-break:break-word;
}

/* Level meter */
.mt-meter {
  position:relative;
  height:34px;
  /* Full-width gradient = the fixed dBFS colour scale (green → amber → red). */
  background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary) 60%,#fbbf24 80%,#ef4444 100%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-sm);
  overflow:hidden;
}
/* Dark mask covering the UN-reached portion from the level point to the right edge,
   so the visible gradient from 0→level maps to fixed dBFS positions. */
.mt-meter__fill {
  position:absolute;left:0%;top:0;right:0;bottom:0;
  background:#020308;
  transition:left .05s linear;
}
.mt-meter__peak {
  position:absolute;top:0;bottom:0;width:2px;
  background:#fff;
  left:0%;
  box-shadow:0 0 6px #fff;
}
.mt-meter__scale {
  position:absolute;left:0;right:0;bottom:1px;
  display:flex;justify-content:space-between;
  padding:0 4px;
  font-family:var(--font-mono);
  font-size:.6rem;
  color:rgba(255,255,255,.55);
  pointer-events:none;
}

.mt-meter-readouts {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:10px;
}
.mt-meter-readout {
  background:rgba(255,255,255,.03);
  border:1px solid rgba(0,255,65,.15);
  border-radius:var(--radius-sm);
  padding:8px;
  text-align:center;
}
.mt-meter-readout__label {
  display:block;
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-text-dim);
}
.mt-meter-readout__value {
  display:block;
  font-family:var(--font-mono);
  font-size:1.05rem;
  font-weight:700;
  color:var(--color-primary);
  margin-top:3px;
}
.mt-meter-readout--clip[data-on="true"] {
  border-color:rgba(239,68,68,.6);
  background:rgba(239,68,68,.12);
}
.mt-meter-readout--clip[data-on="true"] .mt-meter-readout__value { color:#ef4444; }

/* Monitor feedback warning */
.mt-monitor-warn {
  margin-top:8px;
  padding:8px 10px;
  border:1px solid rgba(245,158,11,.45);
  background:rgba(245,158,11,.08);
  border-radius:var(--radius-sm);
  color:#fbbf24;
}

/* Plot backgrounds */
.mt-wave-viz, .mt-spec-viz { background:#020308; }

@media (max-width:640px) {
  .mt-cells { grid-template-columns:1fr 1fr; }
}
