/* Mic Latency Tester — local overrides (Card 2, Microphone Diagnostics) */

.ml-speaker-note,
.ml-privacy {
  max-width:760px;
  margin:var(--space-md) auto 0;
  padding:var(--space-sm) var(--space-md);
  border-radius:var(--radius-sm);
  font-size:.92rem;
  text-align:left;
  line-height:1.55;
}
.ml-speaker-note {
  border:1px solid rgba(245,158,11,.4);
  background:rgba(245,158,11,.07);
  color:#fbbf24;
}
.ml-speaker-note strong { color:#fde68a; }
.ml-privacy {
  border:1px solid rgba(0,255,65,.3);
  background:rgba(0,255,65,.06);
  color:var(--color-primary);
  margin-top:var(--space-sm);
}

/* Select */
.ml-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);
}
.ml-select:focus { outline:1px solid var(--color-primary); }

/* Segmented (trials) buttons */
.ml-trials-btns {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.ml-seg-btn {
  background:rgba(0,255,65,.05);
  border:1px solid rgba(0,255,65,.25);
  color:var(--color-text);
  font-family:var(--font-mono);
  font-size:.9rem;
  font-weight:600;
  padding:8px 4px;
  border-radius:var(--radius-sm);
  cursor:pointer;
}
.ml-seg-btn:hover { background:rgba(0,255,65,.1); }
.ml-seg-btn[aria-checked="true"] {
  background:rgba(0,255,65,.2);
  border-color:var(--color-primary);
  color:var(--color-primary);
}

/* Status */
.ml-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;
}
.ml-status.is-live  { color:var(--color-primary); }
.ml-status.is-error { color:#ef4444; }

/* Reported cells */
.ml-cells {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}
.ml-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;
}
.ml-cell__label {
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.06em;
  color:var(--color-text-dim);
  text-transform:uppercase;
}
.ml-cell__value {
  font-family:var(--font-mono);
  font-size:1.05rem;
  font-weight:700;
  color:var(--color-primary);
  margin-top:4px;
}

/* Result panel */
.ml-result {
  text-align:center;
  padding:var(--space-md);
  border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
}
.ml-result__value {
  font-family:var(--font-mono);
  font-size:3.2rem;
  font-weight:700;
  line-height:1;
  color:var(--color-text);
}
.ml-result__unit {
  font-size:1.2rem;
  color:var(--color-text-dim);
  margin-left:6px;
}
.ml-result__rating {
  font-family:var(--font-mono);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--color-text-dim);
  margin-top:6px;
}
.ml-result[data-rating="good"]    { border-color:rgba(0,255,65,.5);  background:rgba(0,255,65,.08); }
.ml-result[data-rating="good"]    .ml-result__value,
.ml-result[data-rating="good"]    .ml-result__rating { color:var(--color-primary); }
.ml-result[data-rating="average"] { border-color:rgba(245,158,11,.5); background:rgba(245,158,11,.08); }
.ml-result[data-rating="average"] .ml-result__value,
.ml-result[data-rating="average"] .ml-result__rating { color:#fbbf24; }
.ml-result[data-rating="poor"]    { border-color:rgba(239,68,68,.5);  background:rgba(239,68,68,.08); }
.ml-result[data-rating="poor"]    .ml-result__value,
.ml-result[data-rating="poor"]    .ml-result__rating { color:#fca5a5; }

/* Stats row */
.ml-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:10px;
}
.ml-stat {
  background:rgba(255,255,255,.03);
  border:1px solid rgba(0,255,65,.15);
  border-radius:var(--radius-sm);
  padding:8px;
  text-align:center;
}
.ml-stat__label {
  display:block;
  font-family:var(--font-mono);
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--color-text-dim);
}
.ml-stat__value {
  display:block;
  font-family:var(--font-mono);
  font-size:1.05rem;
  font-weight:700;
  color:var(--color-primary);
  margin-top:3px;
}

/* Progress dots */
.ml-progress {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
  min-height:14px;
}
.ml-progress__dot {
  width:14px;height:14px;border-radius:50%;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
}
.ml-progress__dot.is-hit  { background:var(--color-primary); border-color:var(--color-primary); }
.ml-progress__dot.is-miss { background:rgba(239,68,68,.5); border-color:#ef4444; }
.ml-progress__dot.is-active { box-shadow:0 0 8px var(--color-primary); }

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

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