/* Infrasound Monitor — local overrides (Ultrasonic & Infrasound category) */

.inm-warn-note {
  max-width:640px;
  margin:var(--space-md) auto 0;
  padding:var(--space-sm) var(--space-md);
  border:1px solid rgba(255,179,0,.35);
  background:rgba(255,179,0,.07);
  border-radius:var(--radius-sm);
  color:var(--color-text);
  font-size:.92rem;
  line-height:1.55;
  text-align:left;
}
.inm-warn-note strong { color:var(--color-warning); }

.inm-toprow {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:12px;
  justify-content:space-between;
}
.inm-device { flex:1 1 240px; min-width:200px; }
.inm-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }

.inm-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);
}
.inm-select:focus { outline:1px solid var(--color-primary); }
.inm-select--narrow { width:auto; min-width:150px; }

.inm-status {
  margin-top:var(--space-sm);
  font-family:var(--font-mono);
  font-size:.85rem;
  color:var(--color-text-muted);
  min-height:1.4em;
  line-height:1.5;
}
.inm-status.is-live  { color:var(--color-primary); }
.inm-status.is-error { color:var(--color-error); }

.inm-optionrow {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:18px;
  margin-top:var(--space-md);
}
.inm-opt { display:flex; flex-direction:column; gap:6px; min-width:170px; }

.inm-range {
  width:100%;
  accent-color:var(--color-primary);
}
.inm-range:focus { outline:1px solid var(--color-primary); outline-offset:3px; }

.inm-canvas-wrap {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:var(--space-md);
  margin-top:var(--space-md);
}
.inm-canvas-block { position:relative; }
.inm-canvas-tag {
  position:absolute;
  top:6px; left:10px;
  font-family:var(--font-mono);
  font-size:.7rem;
  color:var(--color-secondary);
  pointer-events:none;
  z-index:1;
}
.inm-canvas {
  display:block;
  width:100%;
  background:#050a05;
  border:1px solid rgba(0,255,65,.2);
  border-radius:var(--radius-sm);
}
.inm-canvas--spectrum { height:320px; }
.inm-canvas--wave { height:320px; }

.inm-axis-note {
  margin-top:var(--space-sm);
  font-family:var(--font-mono);
  font-size:.74rem;
  color:var(--color-text-muted);
  text-align:center;
  line-height:1.5;
}

.inm-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-md);
  margin-top:var(--space-md);
}

.inm-h2 {
  font-size:1.05rem;
  margin:0 0 var(--space-sm);
  color:var(--color-text-bright);
}
.inm-help {
  font-size:.84rem;
  color:var(--color-text-muted);
  margin:0 0 var(--space-md);
  line-height:1.5;
}

/* Live readout */
.inm-readout {
  text-align:center;
  padding:var(--space-md) 0 var(--space-sm);
  border-bottom:1px solid rgba(0,255,65,.08);
  margin-bottom:var(--space-sm);
}
.inm-readout__hz {
  font-family:var(--font-display);
  font-size:2.6rem;
  line-height:1;
  color:var(--color-primary);
  text-shadow:var(--glow-sm);
}
.inm-readout__unit {
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-text-muted);
  margin-top:4px;
}
.inm-readout__level {
  font-family:var(--font-mono);
  font-size:1rem;
  color:var(--color-secondary);
  margin-top:var(--space-sm);
}

.inm-source {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:var(--space-sm) var(--space-md);
  border:1px solid rgba(0,255,65,.12);
  border-radius:var(--radius-sm);
  background:rgba(0,255,65,.02);
  margin-bottom:var(--space-md);
}
.inm-source--match { border-color:rgba(0,255,65,.4); background:rgba(0,255,65,.05); }
.inm-source__icon { font-size:1.6rem; line-height:1.2; }
.inm-source__title { color:var(--color-text-bright); font-weight:600; font-size:.95rem; }
.inm-source__desc { color:var(--color-text-muted); font-size:.8rem; line-height:1.45; margin-top:2px; }

.inm-meta__row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:7px 0;
  border-bottom:1px solid rgba(0,255,65,.08);
}
.inm-meta__k { font-size:.82rem; color:var(--color-text-muted); }
.inm-meta__v {
  font-family:var(--font-mono);
  font-size:.92rem;
  font-weight:700;
  color:var(--color-primary);
}

/* Peak log */
.inm-log-wrap { max-height:340px; overflow-y:auto; }
.inm-table {
  width:100%;
  border-collapse:collapse;
  font-family:var(--font-mono);
  font-size:.8rem;
}
.inm-table th {
  position:sticky;
  top:0;
  background:var(--color-surface);
  text-align:left;
  color:var(--color-text-muted);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.66rem;
  padding:6px 8px;
  border-bottom:1px solid rgba(0,255,65,.2);
}
.inm-table td {
  padding:6px 8px;
  border-bottom:1px solid rgba(0,255,65,.08);
  color:var(--color-text);
}
.inm-table tbody tr td:nth-child(2) { color:var(--color-primary); }
.inm-table tbody tr td:nth-child(4) { color:var(--color-secondary); }
.inm-table tbody td.inm-empty {
  color:var(--color-text-muted);
  text-align:center;
  font-style:italic;
}

/* Source reference table in tool + explanatory sections */
.inm-ref-table {
  width:100%;
  border-collapse:collapse;
  font-size:.85rem;
  margin:var(--space-sm) 0 0;
}
.inm-ref-table caption {
  text-align:left;
  color:var(--color-text-muted);
  font-size:.78rem;
  padding-bottom:var(--space-sm);
  line-height:1.5;
}
.inm-ref-table th,
.inm-ref-table td {
  text-align:left;
  padding:8px 10px;
  border-bottom:1px solid rgba(0,255,65,.12);
  vertical-align:top;
}
.inm-ref-table th {
  color:var(--color-primary);
  font-family:var(--font-mono);
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.inm-ref-table td:nth-child(2) {
  font-family:var(--font-mono);
  color:var(--color-secondary);
  white-space:nowrap;
}

@media (max-width:760px) {
  .inm-canvas-wrap { grid-template-columns:1fr; }
  .inm-grid { grid-template-columns:1fr; }
  .inm-canvas--spectrum,
  .inm-canvas--wave { height:260px; }
  .inm-controls .btn { flex:1 1 auto; }
  .inm-ref-table td:nth-child(2) { white-space:normal; }
}
