/* Seismic Infrasound Viewer — local overrides (Ultrasonic & Infrasound).
   Global-first: reuses design-system.css tokens and components; only the
   genuinely-unique widget pieces live here. */

.siv-warn-note {
  max-width:820px;
  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;
}
.siv-warn-note strong { color:var(--color-warning); }

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

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

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

.siv-persist-note {
  margin-top:var(--space-sm);
  padding:var(--space-sm) var(--space-md);
  border:1px solid rgba(0,229,255,.2);
  background:rgba(0,229,255,.04);
  border-radius:var(--radius-sm);
  font-size:.82rem;
  color:var(--color-text-muted);
  line-height:1.55;
}
.siv-persist-note strong { color:var(--color-text-bright); }

.siv-canvas-wrap { margin-top:var(--space-md); }
.siv-canvas {
  display:block;
  width:100%;
  background:#050a05;
  border:1px solid rgba(0,255,65,.2);
  border-radius:var(--radius-sm);
}
.siv-canvas--waterfall { height:240px; }
.siv-canvas--spectrum { height:200px; }

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

.siv-readout-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--space-sm);
  margin-top:var(--space-md);
}
.siv-readout {
  border:1px solid rgba(0,255,65,.12);
  border-radius:var(--radius-sm);
  padding:var(--space-sm) var(--space-md);
  background:rgba(0,255,65,.02);
}
.siv-readout__k {
  display:block;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--color-text-muted);
  margin-bottom:4px;
}
.siv-readout__v {
  display:block;
  font-family:var(--font-mono);
  font-size:.95rem;
  font-weight:700;
  color:var(--color-primary);
}
.siv-readout__v--cyan { color:var(--color-secondary); }

.siv-classify-note {
  margin-top:var(--space-sm);
  font-size:.78rem;
  color:var(--color-text-muted);
  line-height:1.5;
}

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

.siv-table-wrap { overflow-x:auto; }
.siv-ref-table {
  width:100%;
  border-collapse:collapse;
  font-size:.86rem;
}
.siv-ref-table caption {
  text-align:left;
  color:var(--color-text-muted);
  font-size:.8rem;
  padding-bottom:var(--space-sm);
}
.siv-ref-table th,
.siv-ref-table td {
  text-align:left;
  padding:8px 10px;
  border-bottom:1px solid rgba(0,255,65,.12);
  vertical-align:top;
}
.siv-ref-table th {
  color:var(--color-primary);
  font-family:var(--font-mono);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.siv-ref-table td:first-child {
  color:var(--color-text-bright);
  font-weight:600;
  white-space:nowrap;
}
.siv-ref-table td:nth-child(2) {
  font-family:var(--font-mono);
  color:var(--color-secondary);
  white-space:nowrap;
}
.siv-peak {
  display:block;
  font-size:.72rem;
  color:var(--color-warning);
}
.siv-sources {
  margin-top:var(--space-md);
  font-size:.74rem;
  color:var(--color-text-muted);
  line-height:1.6;
}

.siv-steps {
  margin:0;
  padding-left:1.2rem;
  line-height:1.7;
}
.siv-steps li { margin-bottom:var(--space-sm); }

@media (max-width:760px) {
  .siv-readout-grid { grid-template-columns:repeat(2,1fr); }
  .siv-canvas--waterfall { height:200px; }
  .siv-canvas--spectrum { height:170px; }
  .siv-controls .btn { flex:1 1 auto; }
}
