.voice-input { flex: 0 0 100%; min-width: 0; margin: .4rem 0; color: inherit; font: inherit; }
.voice-input__controls { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.voice-input__controls button, .voice-input__controls select { min-height: 44px; padding: .4rem .65rem; border: 1px solid currentColor; border-radius: .7rem; background: transparent; color: inherit; font: inherit; font-size: .8rem; cursor: pointer; }
.voice-input__controls select option { color: #171326; background: #fff; }
.voice-input__controls :disabled { opacity: .5; cursor: default; }
.voice-input__controls [hidden] { display: none; }
.voice-input__controls :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.voice-input__status, .voice-input__notice { display: block; font-size: .75rem; line-height: 1.45; margin-top: .35rem; }
.voice-input__notice { opacity: .7; }
.voice-input[data-phase="recording"] .voice-input__status { color: #c54747; }
