.voice-input-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:40px;padding:7px;border:0;border-radius:50%;background:transparent;color:#555;cursor:pointer}
.voice-input-button:hover{background:#fff0ec;color:#d93a2b}.voice-input-button:focus-visible{outline:2px solid #d93a2b}
.voice-dialog{margin:auto;position:fixed;inset:0;width:min(360px,calc(100vw - 40px));box-sizing:border-box;border:1px solid #ddd;border-radius:18px;padding:24px;color:#222;background:#fff;text-align:center}
.voice-dialog::backdrop{background:#0006}.voice-dialog h3{margin:0 0 20px}.voice-dialog [role=status]{min-height:48px;white-space:pre-wrap;overflow-wrap:anywhere}.voice-hint{font-size:12px;color:#777;line-height:1.7}.voice-dialog button{min-height:42px;border:1px solid #ddd;border-radius:22px;padding:8px 18px;margin:8px 4px;background:#fff}.voice-dialog .voice-stop{background:#d93a2b;color:#fff;border-color:#d93a2b}.voice-dialog button:disabled{opacity:.5}.voice-dialog textarea{width:100%;min-height:100px}
@media(max-width:700px){#mpicker,#mpicker2{max-width:calc(100% - 156px)}.composer-bar .send{flex-shrink:0}.voice-input-button{flex-basis:32px;width:32px;padding:5px}}

/* 流式识别：边说边把文字显示在这里（2026-09-18 从整段转写改成流式上屏）。 */
.voice-dialog .voice-live{min-height:64px;max-height:32vh;overflow-y:auto;margin:0 0 12px;padding:10px 12px;border:1px solid #eee;border-radius:10px;background:#faf9f7;font-size:14px;line-height:1.7;color:#333;text-align:left;overflow-wrap:anywhere}
.voice-dialog .voice-live:empty::before{content:'开始说话，识别到的文字会实时出现在这里…';color:#a9a29b}
