.chat-tts-bar{box-sizing:border-box;display:flex;align-items:center;flex:0 0 auto;width:100%;height:var(--tts-footer-height,46px);min-height:0;gap:14px;padding:5px 14px;border:0;border-top:1px solid var(--line);border-radius:0!important;background:var(--panel);color:var(--text);font:12px/1.35 system-ui,sans-serif}.chat-tts-bar label,.chat-tts-voice{display:flex;align-items:center;gap:8px;margin:0}.chat-tts-reading{white-space:nowrap;flex:none}.chat-tts-reading input{appearance:none;position:relative;width:29px;height:17px;margin:0;border:1px solid var(--line);border-radius:20px;background:var(--panel2);cursor:pointer}.chat-tts-reading input:before{content:'';position:absolute;left:2px;top:2px;width:11px;height:11px;border-radius:50%;background:var(--muted);transition:transform .15s}.chat-tts-reading input:checked{background:var(--cyan,var(--accent));border-color:transparent}.chat-tts-reading input:checked:before{transform:translateX(12px);background:#fff}.chat-tts-reading input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.chat-tts-voice{min-width:0;flex:0 1 245px}.chat-tts-voice-button{display:flex;align-items:center;gap:8px;width:100%;min-width:0;height:30px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font:inherit}.chat-tts-voice-button:hover,.chat-tts-voice-button[aria-expanded=true]{background:var(--panel2);border-color:var(--line)}.chat-tts-voice-button span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-tts-voice-button svg{flex:none;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.chat-tts-mute{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:5px;border:0;border-radius:8px;background:transparent;color:var(--cyan,var(--accent));cursor:pointer}.chat-tts-mute:hover{background:var(--panel2)}.chat-tts-mute svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tts-speaker-off{display:none}.chat-tts-mute[aria-pressed=true] .tts-speaker-off{display:block}.chat-tts-mute[aria-pressed=true] .tts-speaker-wave{display:none}.chat-tts-volume{flex:none}.chat-tts-volume input{width:90px;margin:0;accent-color:var(--cyan,var(--accent))}.chat-tts-volume output{min-width:33px;text-align:right;font-variant-numeric:tabular-nums}.chat-tts-quotas{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex:1;min-width:0;margin-left:auto;padding-left:16px}.chat-tts-quotas>div{flex:0 1 230px;min-width:90px}.chat-tts-quotas span{display:flex;justify-content:space-between;gap:8px;font-size:10px;white-space:nowrap;color:var(--muted)}.chat-tts-quotas b{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.chat-tts-quotas progress{appearance:none;display:block;width:100%;height:4px;margin-top:5px;border:0;border-radius:3px;background:var(--panel2);overflow:hidden}.chat-tts-quotas progress::-webkit-progress-bar{background:var(--panel2)}.chat-tts-quotas progress::-webkit-progress-value{background:var(--cyan,var(--accent))}.chat-tts-quotas progress::-moz-progress-bar{background:var(--cyan,var(--accent))}.chat-tts-quotas [data-low=true] progress::-webkit-progress-value{background:#ff9360}.chat-tts-voice-menu{position:fixed;z-index:1500;box-sizing:border-box;width:min(300px,calc(100vw - 16px));overflow:auto;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 12px 36px #0005}.chat-tts-voice-menu[hidden]{display:none!important}.chat-tts-voice-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:inherit;text-align:left;font:12px/1.4 system-ui,sans-serif;cursor:pointer}.chat-tts-voice-menu button:hover,.chat-tts-voice-menu button:focus-visible,.chat-tts-voice-menu button[aria-selected=true]{background:var(--panel2);color:var(--cyan,var(--accent))}html[data-platform=mobile] .chat-tts-bar{display:none}@media(max-width:1200px){.chat-tts-bar{gap:8px;padding:5px 10px}.chat-tts-voice{flex-basis:180px}.chat-tts-quotas{gap:12px;padding-left:10px}.chat-tts-quotas span{font-size:9px}.chat-tts-volume input{width:70px}}@media(max-width:1000px){.chat-tts-quotas{flex-direction:column;gap:3px;align-items:stretch}.chat-tts-quotas>div{flex:auto}.chat-tts-quotas progress{margin-top:1px;height:3px}}

.chat-tts-filter-button{display:flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap}
.chat-tts-filter-button:hover,.chat-tts-filter-button[aria-expanded=true]{background:var(--panel2);border-color:var(--line)}
.chat-tts-filter-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.chat-tts-filter-button b{min-width:16px;border-radius:8px;background:var(--panel2);color:var(--cyan,var(--accent));font-size:10px;text-align:center}
.chat-tts-filter-button b[hidden],.chat-tts-filter-menu[hidden]{display:none!important}
.chat-tts-filter-menu{position:fixed;z-index:1500;box-sizing:border-box;width:min(280px,calc(100vw - 16px));overflow:auto;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 12px 36px #0005;font:12px/1.4 system-ui,sans-serif}
.chat-tts-filter-menu label,.chat-tts-filter-menu button{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;padding:9px 10px;margin:0;border:0;border-radius:7px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.chat-tts-filter-menu button[aria-pressed=true],.chat-tts-filter-menu label:hover,.chat-tts-filter-menu button:hover{background:var(--panel2);color:var(--cyan,var(--accent))}
.chat-tts-filter-menu input{width:15px;height:15px;flex:none;margin:0;accent-color:var(--cyan,var(--accent))}
.chat-tts-filter-menu .chat-tts-filter-clean{margin-top:5px;border-top:1px solid var(--line);border-radius:0}
.chat-tts-filter-button:focus-visible,.chat-tts-filter-menu button:focus-visible,.chat-tts-filter-menu input:focus-visible{outline:2px solid var(--cyan,var(--accent));outline-offset:2px}
@media(max-width:1100px){.chat-tts-bar{gap:6px}.chat-tts-voice{flex-basis:160px}.chat-tts-volume input{width:55px}.chat-tts-filter-button{padding:0 5px}.chat-tts-quotas{padding-left:8px}}

.chat-tts-filter-separator{display:block;flex:0 0 1px;width:1px;height:24px;background:var(--line)}
