/* Mic Sensitivity Analyzer — local overrides (Card 4, Microphone Diagnostics) */

.msa-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;
}

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

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

/* Step indicator */
.msa-steps {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:var(--space-md);
}
.msa-step {
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-mono);
  font-size:.85rem;
  color:var(--color-text-dim);
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-sm);
}
.msa-step__dot {
  width:12px;height:12px;border-radius:50%;
  background:rgba(255,255,255,.15);
  flex:0 0 auto;
}
.msa-step.is-active {
  border-color:var(--color-primary);
  background:rgba(0,255,65,.08);
  color:var(--color-primary);
}
.msa-step.is-active .msa-step__dot { background:var(--color-primary); box-shadow:0 0 8px var(--color-primary); }
.msa-step.is-done .msa-step__dot { background:var(--color-secondary,#22d3ee); }
.msa-step.is-done { color:var(--color-text); }

/* Guided prompt */
.msa-prompt {
  text-align:center;
  padding:var(--space-md);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.03);
}
.msa-prompt__title {
  font-family:var(--font-display,Orbitron),var(--font-mono);
  font-size:1.2rem;
  font-weight:700;
  color:var(--color-primary);
}
.msa-prompt__instr {
  font-size:.9rem;
  color:var(--color-text-dim);
  margin-top:6px;
  line-height:1.45;
}
.msa-prompt__count {
  font-family:var(--font-mono);
  font-size:2.4rem;
  font-weight:700;
  color:var(--color-text);
  margin-top:8px;
  min-height:1em;
}

/* Live meter */
.msa-meter {
  position:relative;
  height:30px;
  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;
}
.msa-meter__fill {
  position:absolute;left:0%;top:0;right:0;bottom:0;
  background:#020308;
  transition:left .05s linear;
}
.msa-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;
}
.msa-live {
  text-align:center;
  font-family:var(--font-mono);
  font-size:1.1rem;
  font-weight:700;
  color:var(--color-primary);
  margin-top:8px;
}

/* Rating */
.msa-rating {
  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);
}
.msa-rating__dot { width:14px;height:14px;border-radius:50%;background:var(--color-text-dim);flex:0 0 auto; }
.msa-rating__text { font-family:var(--font-mono);font-weight:700;font-size:1rem;color:var(--color-text); }
.msa-rating[data-rating="good"] { border-color:rgba(0,255,65,.5); background:rgba(0,255,65,.08); }
.msa-rating[data-rating="good"] .msa-rating__dot { background:var(--color-primary);box-shadow:0 0 10px var(--color-primary); }
.msa-rating[data-rating="good"] .msa-rating__text { color:var(--color-primary); }
.msa-rating[data-rating="warn"] { border-color:rgba(245,158,11,.5); background:rgba(245,158,11,.08); }
.msa-rating[data-rating="warn"] .msa-rating__dot { background:#fbbf24; }
.msa-rating[data-rating="warn"] .msa-rating__text { color:#fbbf24; }
.msa-rating[data-rating="bad"] { border-color:rgba(239,68,68,.5); background:rgba(239,68,68,.08); }
.msa-rating[data-rating="bad"] .msa-rating__dot { background:#ef4444; }
.msa-rating[data-rating="bad"] .msa-rating__text { color:#fca5a5; }

.msa-rec {
  font-size:.9rem;
  color:var(--color-text-dim);
  line-height:1.5;
  margin-top:8px;
  min-height:1em;
}

/* Cells */
.msa-cells {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:var(--space-md);
}
.msa-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;
}
.msa-cell__label {
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.05em;
  color:var(--color-text-dim);
  text-transform:uppercase;
}
.msa-cell__value {
  font-family:var(--font-mono);
  font-size:1.1rem;
  font-weight:700;
  color:var(--color-primary);
  margin-top:4px;
}

.msa-bars-viz { background:#020308; }

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