/* Voice recordings share the usual message line. */
.voice-compose { font-size: 17px; }
.voice-dialog { width: min(92vw, 540px); }
.voice-dialog .chat-photo-dialog__window { display: grid; gap: 12px; }
.voice-dialog .chat-photo-dialog__header { margin-bottom: 0; }
.voice-dialog #voice-status { margin: 0; font-size: 13px; line-height: 1.5; color: #cbc1d3; }
.voice-dialog #voice-preview { width: 100%; min-width: 0; }
.voice-record-actions, .voice-send-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.voice-dialog [hidden], .voice-inline [hidden] { display: none !important; }
.voice-inline { display: inline; vertical-align: baseline; }
.voice-inline__icon { font-size: 14px; line-height: 1; margin-right: 5px; }
.voice-inline__control { display: inline-flex; align-items: center; justify-content: center; padding: 2px 7px; min-height: 24px; border: 1px solid rgba(223, 0, 255, .45); border-radius: 7px; background: rgba(223, 0, 255, .08); color: inherit; font: inherit; font-size: 12px; cursor: pointer; vertical-align: middle; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.voice-inline__control:hover, .voice-inline__control:focus-visible { border-color: #df00ff; background: rgba(223, 0, 255, .18); box-shadow: 0 0 0 2px rgba(223, 0, 255, .13); }
.voice-inline__control:disabled { cursor: wait; opacity: .65; }
.voice-inline__duration { font-size: 12px; font-variant-numeric: tabular-nums; opacity: .8; margin-left: 5px; }
@media (max-width: 700px) { .voice-dialog .voice-send-actions .btn { width: 100%; } }
/* Phones and touch-only tablets already provide speech-to-text via their keyboard.
   Keep the separate microphone for sending voice recordings. */
@media (hover: none) and (pointer: coarse) {
  #chat-dictation-button, #chat-dictation-status { display: none !important; }
}
