#voice-controls { position: relative; display: flex; align-items: center; gap: 4px; flex-shrink: 0; color: var(--text); font-size: 12px; }
#voice-toggle { min-width: 44px; min-height: 44px; border: 0; border-radius: 12px; background: var(--raised); color: var(--blue); }
#voice-toggle[aria-pressed="true"] { background: var(--blue); color: white; }
#voice-status { position: absolute; bottom: calc(100% + 8px); right: 0; width: max-content; max-width: min(220px, 70vw); max-height: 54px; overflow: auto; overflow-wrap: anywhere; padding: 6px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); z-index: 45; }
#voice-status:not(:empty) { display: block; }
#voice-controls:not(:focus-within):not(:has(#voice-toggle[aria-pressed="true"])) #voice-status { clip-path: inset(50%); width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; }
#voice-help summary { cursor: pointer; padding: 12px 0; }
#voice-help > div { position: absolute; bottom: calc(100% + 8px); right: 0; width: min(350px, calc(100vw - 28px)); box-sizing: border-box; max-height: 60dvh; overflow: auto; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); box-shadow: var(--shadow); line-height: 1.5; z-index: 46; }
#voice-help select { padding: 8px; }
@media (max-width: 600px) {
  #composer .actions { flex-wrap: wrap; }
  #composer .chat-delivery { overflow: hidden; }
}

#voice-controls #chat-permissions { width: auto; min-width: 0; max-width: 132px; min-height: 44px; margin: 0; padding: 8px 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--raised); color: var(--text); font: inherit; cursor: pointer; }
#voice-controls #chat-permissions:disabled { opacity: .6; cursor: default; }
