.voice-input { --voice-ink:var(--ink,#000); --voice-muted:var(--muted,#666); --voice-line:var(--line,#dedede); min-width:0; font:14px/1.7 var(--font-ui,sans-serif); color:var(--voice-ink); }
.voice-input [hidden] { display:none !important; }
.voice-input :is(button,a) { font:inherit; color:inherit; }
.voice-input button { appearance:none; border:0; border-radius:0; background:transparent; cursor:pointer; touch-action:manipulation; }
.voice-input :is(button,a,summary):focus-visible { outline:2px solid var(--voice-ink); outline-offset:4px; }
.voice-input :is(p,label) { margin:0; }
.voice-input-entry,.voice-input-action { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; text-align:left; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; overflow-wrap:anywhere; }
.voice-input-entry { min-width:148px; font-variant-numeric:tabular-nums; }
.voice-input-entry[aria-pressed="true"]::before { content:""; display:inline-block; flex:0 0 6px; width:6px; height:6px; margin-right:8px; border-radius:50%; background:#ad3c32; }
.voice-input-entry:hover,.voice-input-action:hover { color:var(--voice-muted); }
.voice-input-panel { margin-top:8px; padding:0 0 8px; }
.voice-input-note { color:var(--voice-muted); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.voice-input-status { margin-top:8px !important; font-size:12px; line-height:1.8; color:var(--voice-muted); white-space:pre-wrap; overflow-wrap:anywhere; }
.voice-input-status:empty { display:none; }
.voice-input-recording-row,.voice-input-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin-top:8px; }
.voice-input-elapsed { font-size:12px; font-variant-numeric:tabular-nums; color:var(--voice-muted); }
.voice-input-level { width:60px; height:8px; accent-color:var(--voice-ink); }
.voice-input[data-state="recording"] .voice-input-elapsed::before { content:""; display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:#ad3c32; }
.voice-input-clip { min-width:0; padding-block:16px; border-bottom:1px solid var(--voice-line); }
.voice-input-clip-title { font-size:12px; color:var(--voice-muted); }
.voice-input-clip-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.voice-input .voice-input-remove,.voice-input .voice-input-undo { flex:0 0 auto; min-width:44px; min-height:44px; padding:8px 0 8px 12px; font-size:12px; color:var(--voice-muted); text-decoration:underline; text-underline-offset:4px; }
.voice-input .voice-input-remove:hover,.voice-input .voice-input-undo:hover { color:var(--voice-ink); }
.voice-input-clip.is-deleted { color:var(--voice-muted); }
.voice-input-clip-deleted { font-size:12px; }
.voice-input audio { display:block; width:100%; max-width:440px; height:38px; margin-top:8px; }
.voice-input-clip-actions { display:flex; flex-wrap:wrap; gap:4px 20px; font-size:12px; }
.voice-input-clip-actions .voice-input-action { min-height:44px; }
.voice-input-dictation { margin-top:16px; border-top:1px solid var(--voice-line); }
.voice-input-dictation>summary { min-height:44px; padding-block:10px; font-size:12px; cursor:pointer; }
.voice-input button:disabled { opacity:.45; cursor:default; }
@media(max-width:479px) { .voice-input-recording-row,.voice-input-actions { gap:8px 20px; } .voice-input audio { max-width:100%; } }
