/* Mochi live call (decision 73): a sparse surface. The animated Mochi at the centre, one truthful status line, a control strip.
   Colours and type come from the theme tokens; motion defers to mochi.css and to prefers-reduced-motion. */
.jv-live { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5rem; min-height: calc(100vh - 8rem); padding: 1.5rem 1rem; text-align: center; }
.jv-live-stage { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; }
.jv-live-stage .jv-mochi { filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.12)); transition: transform 240ms ease; }
.jv-live[data-live-status="speaking"] .jv-mochi { transform: scale(1.04); }
.jv-live[data-live-status="thinking"] .jv-mochi { transform: scale(0.98); }
.jv-live-status { margin: 0; font-size: 1.1rem; color: var(--jv-fg, inherit); }
.jv-live-detail { margin: 0; max-width: 32rem; font-size: 0.95rem; opacity: 0.8; }
.jv-live-captions { list-style: none; margin: 0; padding: 0; max-width: 40rem; width: 100%; max-height: min(30dvh, 18rem); overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.95rem; text-align: left; }
.jv-live-captions li { padding: 0.4rem 0.75rem; border-radius: 0.75rem; background: var(--jv-surface-2, rgba(127, 127, 127, 0.12)); }
.jv-live-captions li[data-final="false"] { opacity: 0.7; }
.jv-live-captions strong { margin-right: 0.4rem; }
.jv-live-controls { display: flex; gap: 0.75rem; flex-wrap: wrap; justify-content: center; }
.jv-live-control { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; padding: 0 1.1rem; border-radius: 999px; border: 1px solid var(--jv-border, rgba(127, 127, 127, 0.35)); background: var(--jv-surface, transparent); color: inherit; font: inherit; cursor: pointer; }
.jv-live-control:disabled { opacity: 0.5; cursor: default; }
.jv-live-control.is-muted { background: var(--jv-surface-2, rgba(127, 127, 127, 0.18)); }
.jv-live-end { border-color: var(--jv-danger, #b3261e); color: var(--jv-danger, #b3261e); }
.jv-live-measure { font-size: 0.85rem; opacity: 0.8; }
.jv-live-measure ul { margin: 0.25rem 0 0; padding-left: 1.2rem; text-align: left; }
.jv-live-audio { position: absolute; width: 0; height: 0; overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .jv-live-stage .jv-mochi { transition: none; } .jv-live[data-live-status] .jv-mochi { transform: none; } }
