/* Mic → MIDI: metronom, inspelning och notlista. Allt scopat till .mic.
   Färger och mått kommer från css/tokens.css. */

.mic h1{
  margin:0 0 var(--space-2);font-family:var(--font-display);font-weight:600;
  font-size:var(--display-size);line-height:var(--display-line);
  letter-spacing:var(--display-track);color:var(--text);
}
.mic .sub{
  margin:0 0 var(--space-5);max-width:60ch;
  font-size:var(--lead-size);line-height:var(--lead-line);color:var(--text-muted);
}

/* ---------- paneler ---------- */
.mic .panel + .panel{margin-top:var(--space-3)}
.mic .panel.warn{border-color:var(--danger);background:var(--bg-panel)}
.mic .panel.warn strong{font-family:var(--font-display);font-weight:600;color:var(--danger)}
.mic .panel.warn p{margin:var(--space-2) 0 0;color:var(--text)}
.mic .panel.warn code{
  font-family:var(--font-mono);font-size:var(--small-size);
  background:var(--bg-sunken);padding:2px 6px;border-radius:var(--radius-sm);
}

/* ---------- inställningar ---------- */
.mic .controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
               gap:var(--space-4)}
.mic .field label{
  display:block;margin-bottom:var(--space-2);
  font-family:var(--font-display);font-size:var(--eyebrow-size);line-height:var(--eyebrow-line);
  font-weight:500;letter-spacing:var(--eyebrow-track);text-transform:uppercase;
  color:var(--text-muted);
}
.mic .field .row{display:flex;align-items:center;gap:var(--space-2)}
.mic .num{
  min-width:52px;text-align:right;
  font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--text);
  font-variant-numeric:tabular-nums;
}
.mic select{
  width:100%;min-height:44px;cursor:pointer;
  font-family:var(--font-text);font-size:var(--body-size);
  background:var(--bg-sunken);color:var(--text);
  border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:0 var(--space-2);
}

/* ---------- transport ---------- */
.mic .transport{
  display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-4);
}
.mic button{
  min-height:44px;padding:0 var(--space-3);cursor:pointer;
  font-family:var(--font-display);font-size:15px;font-weight:500;
  background:none;color:var(--text-muted);
  border:1px solid var(--line);border-radius:var(--radius-pill);
  transition:border-color .15s,color .15s,background .15s;
}
.mic button:hover:not(:disabled){border-color:var(--accent-text);color:var(--accent-text)}
.mic button:disabled{opacity:.4;cursor:default}
.mic #mic.on{border-color:var(--good);color:var(--good)}
.mic #rec{border-color:var(--danger);color:var(--danger)}
.mic #rec.active,.mic #rec.active:hover{
  background:var(--danger);border-color:var(--danger);color:var(--bg);
}
.mic #exportBtn{
  margin-left:auto;background:var(--accent-fill);border-color:transparent;color:var(--on-accent);
}
.mic #exportBtn:hover:not(:disabled){background:var(--text);border-color:transparent;color:var(--bg)}

.mic .status{margin-top:var(--space-3);font-size:var(--small-size);color:var(--text-muted)}
.mic .status.err{color:var(--danger)}

/* ---------- avläsning ---------- */
.mic .readout{
  display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:baseline;
  margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);
}
.mic .readout .k{
  display:block;margin-bottom:var(--space-1);
  font-family:var(--font-display);font-size:var(--eyebrow-size);line-height:var(--eyebrow-line);
  font-weight:500;letter-spacing:var(--eyebrow-track);text-transform:uppercase;
  color:var(--text-muted);
}
.mic .readout .v{
  font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--text);
  font-variant-numeric:tabular-nums;
}
.mic .readout .v.pitch-on{color:var(--accent-text)}

/* ---------- taktnätet ---------- */
.mic .stage{margin-top:var(--space-3)}
.mic canvas{display:block;width:100%;height:280px}

/* ---------- notlistan ---------- */
.mic .listhead{
  display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);
}
.mic .listhead h2{
  margin:0;font-family:var(--font-display);font-size:var(--eyebrow-size);
  line-height:var(--eyebrow-line);font-weight:500;letter-spacing:var(--eyebrow-track);
  text-transform:uppercase;color:var(--text-muted);
}
.mic .notelist{
  margin-top:var(--space-2);max-height:240px;overflow-y:auto;
  border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-panel);
}
.mic .noterow{
  display:flex;align-items:center;gap:var(--space-2);
  padding:var(--space-2) var(--space-3);
  font-size:var(--small-size);line-height:var(--small-line);
  border-bottom:1px solid var(--line);
}
.mic .noterow:last-child{border-bottom:none}
.mic .noterow .nm{
  min-width:44px;font-family:var(--font-display);font-weight:500;color:var(--accent-text);
}
.mic .noterow .beats{flex:1;color:var(--text-muted)}
.mic .noterow .del{
  min-height:32px;padding:0 var(--space-2);border:none;background:none;
  color:var(--text-muted);border-radius:var(--radius-pill);
}
.mic .noterow .del:hover{color:var(--danger)}
.mic .empty{padding:var(--space-4);text-align:center;color:var(--text-muted)}
