/* Voice capture and playback. The recording is ground truth, not a media
   product: a bare <audio> element, no waveform, no scrubbing UI of our own. */

.pc-recorder__voice {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--lore-space-2);
  margin-top: var(--lore-space-2);
}

.pc-recorder__button {
  white-space: nowrap;
}

/* A quiet pulse while the mic is live: the one moment the UI should feel alive */
.pc-recorder--live .pc-recorder__button {
  border-color: var(--lore-fruit);
  color: var(--lore-fruit-deep);
  animation: pc-recorder-pulse 1.6s var(--lore-ease) infinite;
}

@keyframes pc-recorder-pulse {
  50% {
    box-shadow: 0 0 0 0.35rem color-mix(in oklab, var(--lore-fruit) 22%, transparent);
  }
}

.pc-recorder__status {
  flex: 1;
  min-width: 8rem;
}

.pc-recorder__preview,
.pc-tidbit__audio {
  display: block;
  width: 100%;
  max-width: 22rem;
  height: 2.25rem;
  margin-bottom: var(--lore-space-2);
}

/* Video keeps the same restraint as audio: a bare element, sized to its card
   (the audio rule's fixed height would crush it to a sliver) */
.pc-tidbit__video {
  display: block;
  width: 100%;
  max-width: 22rem;
  border-radius: var(--bs-border-radius);
  margin-bottom: var(--lore-space-2);
}

/* The per-session mic prompt is an installed-app quirk on iOS; only the
   installed app needs the reassurance */
.pc-capture__mic-note {
  display: none;
  margin-top: var(--lore-space-2);
}

@media (display-mode: standalone) {
  .pc-capture__mic-note {
    display: block;
  }
}

/* An in-flight recording reads as work in progress, never as a failure */
.pc-tidbit__awaiting {
  font-family: var(--lore-font-display);
  font-style: italic;
  color: var(--lore-ink-soft);
}

@media (prefers-reduced-motion: reduce) {
  .pc-recorder--live .pc-recorder__button {
    animation: none;
  }
}
