.cp-composer textarea { min-width:0 }
.cp-voice-button { display:flex; align-items:center; justify-content:center; width:36px; height:36px; flex:0 0 36px; border:1px solid transparent; border-radius:50%; background:transparent; color:var(--cp-ink); cursor:pointer }
.cp-voice-button:hover:not(:disabled) { background:#e5e5e5; color:var(--cp-ink) }
.cp-voice-button:disabled { opacity:.75; cursor:not-allowed }
.cp-voice-button:focus-visible,.cp-voice-panel button:focus-visible { outline:2px solid #398dff; outline-offset:3px }
.cp-voice-panel { margin:9px 6px 0; padding:12px 16px; border:1px solid var(--cp-line,#dbe6f4); border-radius:21px; background:var(--cp-surface); color:var(--cp-ink,#233752); font-size:12px }
.cp-voice-panel[hidden],.cp-voice-panel [hidden] { display:none!important }
.cp-voice-row { display:flex; align-items:center; justify-content:space-between; gap:12px }
.cp-voice-row p { margin:0; line-height:1.5 }
.cp-voice-timer { white-space:nowrap; font-variant-numeric:tabular-nums; font-size:12px }
.cp-voice-help { margin:6px 0 0; color:var(--cp-muted); line-height:1.55; font-size:10px }
.cp-voice-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap }
.cp-voice-actions:not(:empty) { margin-top:7px }
.cp-voice-actions .cp-button { padding:7px 13px; min-height:34px; font-size:11px; border-radius:100px }
.cp-voice-panel[data-state="recording"] .cp-voice-timer::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#dc3654; margin-right:6px }
.cp-voice-panel[data-kind="error"] #voice-status { color:#b72a45 }
#voice-overflow { margin-top:10px }
#voice-overflow label { display:block; margin-bottom:5px }
#voice-transcript { width:100%; max-height:150px; resize:vertical; border:1px solid var(--cp-line,#dbe6f4); border-radius:15px; background:#fff; color:inherit; padding:10px 12px; font:inherit; line-height:1.5 }
:root[data-theme="dark"] .cp-voice-button { background:transparent; color:var(--cp-ink); border-color:transparent }
:root[data-theme="dark"] .cp-voice-button:hover:not(:disabled) { background:#424242; color:var(--cp-ink) }
:root[data-theme="dark"] .cp-voice-panel { background:var(--cp-surface); border-color:var(--cp-line) }
:root[data-theme="dark"] .cp-voice-help { color:var(--cp-muted) }
:root[data-theme="dark"] .cp-voice-panel[data-kind="error"] #voice-status { color:#ffafbc }
:root[data-theme="dark"] #voice-transcript { background:#212121 }
@media(max-width:480px) { .cp-composer { gap:6px } .cp-voice-panel { margin-left:0; margin-right:0; padding:11px 13px } .cp-voice-row { align-items:flex-start } }
