/* Voice lives inside the existing message composer, with one editable text field. */
#voicePanel{position:static;box-sizing:border-box;width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--qb-text-soft,#70677e);font-size:12px;line-height:1.5;box-shadow:none}
#voicePanel[hidden],#voiceOptions[hidden]{display:none!important}
.voice-live{display:none;align-items:center;gap:12px;min-height:42px;padding:2px 0}
#voicePanel:is([data-state=recording],[data-state=preparing],[data-state=transcribing]) .voice-live{display:flex}
.input-wrapper:is([data-voice-state=recording],[data-voice-state=preparing],[data-voice-state=transcribing])>#chatInput{display:none}
.input-wrapper:is([data-voice-state=recording],[data-voice-state=preparing],[data-voice-state=transcribing]) .input-submit-group{visibility:hidden;pointer-events:none}
.voice-icon{display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:0;border:1px solid var(--qb-line,#e8e3f0);border-radius:50%;background:#f8f7fb;color:#756d81;font-size:19px;cursor:pointer}
.voice-icon.voice-confirm{font-size:13px;color:var(--qb-accent,#7963e8);background:#f0ecfc;border-color:transparent}
.voice-icon.voice-direct{font-size:14px;background:var(--qb-accent,#7963e8);border-color:transparent;color:#fff}
.voice-icon:disabled{opacity:.35;cursor:default}.voice-icon:focus-visible,#voiceOptions button:focus-visible{outline:2px solid var(--qb-accent,#7963e8);outline-offset:3px}
#voiceTime{font-variant-numeric:tabular-nums;font-size:12px;color:#80758f;min-width:36px}
.voice-wave{position:relative;display:flex;flex:1;align-items:center;justify-content:center;gap:5px;height:32px;overflow:hidden;min-width:50px;--voice-energy:.15}
.voice-wave span{width:3px;height:6px;border-radius:8px;background:var(--qb-accent,#7963e8);opacity:.65;transform-origin:center}
#voicePanel[data-state=recording] .voice-wave span{animation:aurora-listening .9s ease-in-out infinite;animation-delay:calc(var(--i,0)*-.09s)}
.voice-wave span:nth-child(3n+1){--i:1}.voice-wave span:nth-child(3n+2){--i:4}.voice-wave span:nth-child(3n){--i:7}
#voiceLevel{position:absolute;bottom:0;left:0;width:0;max-width:100%;height:2px;background:var(--qb-accent,#7963e8);opacity:.5;transition:width .12s}
#voicePanel[data-state=transcribing] .voice-wave{opacity:.4}
.voice-status-row{display:flex;align-items:center;gap:8px;min-height:20px}.voice-status-row p{flex:1;margin:0;overflow-wrap:anywhere;font-size:12px;color:#84788e}.voice-status-row>button{border:0;background:transparent;font-size:18px;color:#91869b;cursor:pointer;padding:0 4px}
#voicePanel:is([data-state=recording],[data-state=preparing],[data-state=transcribing]) .voice-status-row>button{display:none}
#voiceOptions{border-top:1px solid var(--qb-line,#ece7f2);padding-top:8px;margin-top:6px}
#voiceOptions label{display:flex;align-items:center;gap:8px;margin:8px 0}#voiceOptions select{font:inherit;color:inherit;border:1px solid var(--qb-line,#e8e3f0);border-radius:6px;padding:4px;background:#fff;max-width:100%}#voiceOptions input{accent-color:var(--qb-accent,#7963e8)}#voiceOptions small{display:block;font-size:11px;color:#92869c;line-height:1.6}.voice-secondary{display:flex;gap:8px;flex-wrap:wrap}.voice-secondary button{border:0;border-radius:6px;background:#f6f3fb;color:#776b86;padding:5px 8px;font:inherit;cursor:pointer}.voice-secondary button:disabled{opacity:.4}
@keyframes aurora-listening{0%,100%{transform:scaleY(1)}50%{transform:scaleY(3.6)}}
@media(prefers-reduced-motion:reduce){#voicePanel[data-state=recording] .voice-wave span{animation:none;height:12px}}
@media(max-width:600px){.voice-live{gap:8px}.voice-wave{gap:4px}.voice-icon{width:30px;height:30px}}
