.chat-composer .voice-mic-btn,.interpreter-composer .voice-mic-btn{width:var(--composer-control-height);color:#1e3a2f;height:auto;min-height:var(--composer-control-height);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#e8f2ea;align-self:stretch;gap:0;margin-right:.5rem;padding:0;position:relative;overflow:visible}.interpreter-composer .voice-mic-btn{background:#f3ead4;border:1px solid #b8862f47}.chat-composer .voice-mic-btn:hover,.chat-composer .voice-mic-btn:focus-visible,.interpreter-composer .voice-mic-btn:hover,.interpreter-composer .voice-mic-btn:focus-visible{background:#d4e6d8}.interpreter-composer .voice-mic-btn:hover,.interpreter-composer .voice-mic-btn:focus-visible{background:#ead9b4}.chat-composer .voice-mic-btn-recording,.chat-composer .voice-mic-btn-recording:hover,.chat-composer .voice-mic-btn-recording:focus-visible,.interpreter-composer .voice-mic-btn-recording,.interpreter-composer .voice-mic-btn-recording:hover,.interpreter-composer .voice-mic-btn-recording:focus-visible{color:#fff8ef;background:#8b1a1a}.chat-composer .voice-mic-btn-uploading,.chat-composer .voice-mic-btn-uploading:hover,.chat-composer .voice-mic-btn-uploading:focus-visible,.interpreter-composer .voice-mic-btn-uploading,.interpreter-composer .voice-mic-btn-uploading:hover,.interpreter-composer .voice-mic-btn-uploading:focus-visible{color:#fff8ef;cursor:wait;background:#2f6b4f}.chat-composer .voice-mic-btn-error,.chat-composer .voice-mic-btn-error:hover,.chat-composer .voice-mic-btn-error:focus-visible,.interpreter-composer .voice-mic-btn-error,.interpreter-composer .voice-mic-btn-error:hover,.interpreter-composer .voice-mic-btn-error:focus-visible{color:#8b1a1a;background:#f6e4e4}.chat-composer .voice-mic-levels,.interpreter-composer .voice-mic-levels{justify-content:center;align-items:flex-end;gap:2px;width:1.1rem;height:1.1rem;display:inline-flex}.chat-composer .voice-mic-levels span,.interpreter-composer .voice-mic-levels span{background:currentColor;border-radius:1px;width:3px;min-height:3px;display:block}.chat-composer .voice-mic-processing,.interpreter-composer .voice-mic-processing{justify-content:center;align-items:center;gap:3px;width:1.1rem;height:1.1rem;display:inline-flex}.chat-composer .voice-mic-processing span,.interpreter-composer .voice-mic-processing span{background:currentColor;border-radius:999px;width:4px;height:4px;animation:.9s ease-in-out infinite voice-mic-process;display:block}.chat-composer .voice-mic-processing span:nth-child(2),.interpreter-composer .voice-mic-processing span:nth-child(2){animation-delay:.15s}.chat-composer .voice-mic-processing span:nth-child(3),.interpreter-composer .voice-mic-processing span:nth-child(3){animation-delay:.3s}.stage .voice-mic-btn,.chat-composer .voice-mic-btn,.interpreter-composer .voice-mic-btn{position:relative}.stage .voice-mic-btn{appearance:none;color:#1e3a2f;min-width:3.4rem;height:3.4rem;font:inherit;cursor:pointer;background:#fffcf6f0;border:2px solid #fff8ef73;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 .75rem;display:inline-flex}.stage .voice-mic-btn:disabled{opacity:.45;cursor:default}.stage .voice-mic-btn-recording,.stage .voice-mic-btn-recording:hover{color:#fff8ef;background:#8b1a1a;border-color:#ffd0c8;box-shadow:0 0 0 6px #8b1a1a47}.stage .voice-mic-btn-uploading{color:#fff8ef;background:#2f6b4f;border-color:#2f6b4f}.voice-mic-recording{justify-content:center;align-items:center;gap:.4rem;min-width:1.25rem;height:1.25rem;display:inline-flex;position:relative}.voice-mic-pulse{pointer-events:none;border:2px solid;border-radius:999px;animation:1s ease-out infinite voice-mic-pulse;position:absolute;inset:-.45rem}.voice-mic-listening{letter-spacing:.02em;font-size:.78rem;font-weight:700}.chat-composer .voice-mic-listening,.interpreter-composer .voice-mic-listening{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.stage .voice-mic-levels{justify-content:center;align-items:flex-end;gap:2px;width:1.1rem;height:1.1rem;display:inline-flex}.stage .voice-mic-levels span{background:currentColor;border-radius:1px;width:3px;min-height:3px;display:block}.stage .voice-mic-processing{justify-content:center;align-items:center;gap:3px;width:1.1rem;height:1.1rem;display:inline-flex}.stage .voice-mic-processing span{background:currentColor;border-radius:999px;width:4px;height:4px;animation:.9s ease-in-out infinite voice-mic-process;display:block}.stage .voice-mic-processing span:nth-child(2){animation-delay:.15s}.stage .voice-mic-processing span:nth-child(3){animation-delay:.3s}.stage .voice-mic-hint{z-index:3;color:#fff8ef;text-align:center;pointer-events:none;background:#3a1a1a;border-radius:6px;width:max-content;max-width:min(16rem,70vw);padding:.4rem .55rem;font-size:.75rem;font-weight:500;line-height:1.3;position:absolute;bottom:calc(100% + .45rem);left:50%;transform:translate(-50%)}@keyframes voice-mic-pulse{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.25)}}@keyframes voice-mic-process{0%,to{opacity:.35;transform:translateY(3px)}50%{opacity:1;transform:translateY(-3px)}}.chat-composer .voice-mic-hint,.interpreter-composer .voice-mic-hint{z-index:3;color:#fff8ef;text-align:left;white-space:normal;pointer-events:none;background:#3a1a1a;border-radius:6px;width:max-content;max-width:min(16rem,70vw);padding:.4rem .55rem;font-size:.75rem;font-weight:500;line-height:1.3;position:absolute;bottom:calc(100% + .4rem);left:0}.voice-speak-btn{color:#2f6b4f;cursor:pointer;background:#e8f2ea;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;padding:0;display:inline-flex}.voice-speak-btn:hover,.voice-speak-btn:focus-visible{outline-offset:1px;background:#d4e6d8;outline:2px solid #2f6b4f}.voice-speak-btn-loading{opacity:.6;cursor:wait}.voice-speak-btn-playing{color:#fff;background:#2f6b4f}.voice-speak-btn-error{color:#8b1a1a;background:#f6e4e4}.voice-controls{flex-shrink:0;align-items:center;gap:.25rem;display:inline-flex}.voice-speed-btn-hidden{visibility:hidden;pointer-events:none}.voice-speak-btn-unsupported,.voice-speak-btn-unsupported:hover,.voice-speak-btn-unsupported:focus-visible{opacity:.45;cursor:default;color:#5a6f64;background:#eee8df;outline:none}.voice-unsupported-label{color:#5a6f64;font-size:.72rem;line-height:1.2}
