/* narration-player.css — small inline audio widget, Nostromo Deep */
.narration-host {
  margin: 28px 0;
  padding: 14px 18px;
  background: var(--bg-soft, #0d0e0f);
  border: 1px solid var(--rule);
  border-left: 2px solid var(--accent);
}
.narration-host .np-row {
  display: flex; align-items: center; gap: 16px;
}
.narration-host .np-btn {
  background: var(--accent); color: var(--bg);
  border: none; cursor: pointer;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  transition: background 120ms, transform 120ms;
  flex-shrink: 0;
}
.narration-host .np-btn:hover { background: var(--ink); transform: scale(1.05); }
.narration-host .np-btn:active { transform: scale(0.95); }
.narration-host .np-meta { flex: 1; min-width: 0; }
.narration-host .np-label {
  font-family: 'IBM Plex Mono', monospace; font-size: 10px;
  letter-spacing: 0.28em; color: var(--ink-soft);
  text-transform: uppercase; margin-bottom: 6px;
}
.narration-host .np-narrator { color: var(--accent); }
.narration-host .np-style { color: var(--ink-soft); }
.narration-host .np-track {
  width: 100%; height: 4px; background: var(--rule);
  cursor: pointer; position: relative;
}
.narration-host .np-fill {
  height: 100%; background: var(--accent);
  width: 0%; transition: width 120ms linear;
}
.narration-host .np-time {
  font-family: 'IBM Plex Mono', monospace; font-size: 10px;
  letter-spacing: 0.18em; color: var(--ink-soft);
  min-width: 92px; text-align: right;
}
