.voice-field { position:relative; display:block; min-width:0; }
.voice-field .voice-text {
  width:100%; padding-inline-end:3.25rem; }
.voice-field input { min-height:44px; }
.voice-input-button.voice-input-button {
  display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px;
  min-height:44px; padding:0; margin:0; border:0; border-radius:50%;
  background:transparent; color:var(--ink-mute); cursor:pointer;
  touch-action:manipulation; transition:color .16s ease,background-color .16s ease; }
.voice-field > .voice-input-button { position:absolute; inset-inline-end:2px; top:50%;
  transform:translateY(-50%); }
.voice-field.multiline > .voice-input-button { top:2px; transform:none; }
.voice-field.labelled > .voice-input-button { top:auto; bottom:1px; transform:none; }
.voice-input-button svg { display:block; width:19px; height:19px; fill:none;
  stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.voice-input-button .voice-stop, .voice-input-button .voice-off { display:none; }
.voice-input-button:hover { color:var(--ink-bright);
  background:color-mix(in srgb,var(--ink-mute) 10%,transparent); }
.voice-input-button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.voice-input-button[aria-pressed="true"] { color:var(--accent);
  background:color-mix(in srgb,var(--accent) 14%,transparent); }
.voice-input-button[aria-pressed="true"] .voice-mic { display:none; }
.voice-input-button[aria-pressed="true"] .voice-stop { display:block; fill:currentColor; stroke:none; }
.voice-input-button[data-state="error"] { color:var(--accent); }
.voice-input-button[data-state="error"] .voice-off,
.voice-input-button:disabled .voice-off { display:block; }
.voice-input-button:disabled { cursor:default; opacity:.55; background:transparent; }
.voice-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media (prefers-reduced-motion:reduce) { .voice-input-button { transition:none; } }
