.voice-session { margin-top: .6rem; padding: .65rem .8rem; border: 1px solid var(--border, #334155); border-radius: 12px; }
.voice-session[hidden], #voice-session-start[hidden] { display: none; }
.voice-session p { margin: .2rem 0 .5rem; }
.voice-session > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.voice-session details { margin-top: .4rem; font-size: .8rem; }
.voice-session summary { cursor: pointer; }
.voice-session[data-state="listening"] { border-color: #a78bfa; }
.voice-session[data-state="speaking"] { border-color: #60a5fa; }
@media (max-width: 600px) {
  .voice-session { padding: .45rem .6rem; }
  .voice-session button { min-height: 44px; }
}
