.tool:has(>.tts),.tts__host{container-type:inline-size}.tts{border:1px solid var(--border-input);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-sm);text-align:left;gap:18px;padding:clamp(14px,2.2cqi,24px);display:grid}.tts:focus-within{box-shadow:var(--shadow-sm)}.tts__editor{border:1px solid var(--border-input);border-radius:var(--r-lg);background:var(--bg-subtle);overflow:hidden}.tts__editor-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 12px 8px 14px;display:flex}.tts__editor-head>label,.tts__field>label,.tts__label-row label{color:var(--text);font-size:.8125rem;font-weight:620}.tts__editor-meta{align-items:center;gap:10px;display:flex}.tts__count,.tts__label-row output,.tts__time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-subtle);font-size:.6875rem}.tts__count.is-near{color:var(--warning)}.tts__text-action{appearance:none;min-height:32px;color:var(--text-muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:.75rem;text-decoration:underline}.tts__text-action:hover{color:var(--text)}.tts__text-action:disabled{opacity:.42;cursor:default}.tts__editor textarea{background:var(--surface);width:100%;min-height:245px;color:var(--text);font:inherit;resize:vertical;border:0;padding:clamp(14px,2cqi,20px);font-size:1rem;line-height:1.65;display:block}.tts__editor textarea:focus{outline:2px solid var(--focus);outline-offset:-2px}.tts__editor textarea::placeholder{color:var(--text-subtle)}.tts__editor textarea:read-only{color:var(--text-muted)}.tts__field{min-width:0}.tts__field>label,.tts__label-row{margin-bottom:7px;display:flex}.tts__field .select{width:100%;height:42px}.tts__label-row{justify-content:space-between;align-items:center;min-height:35px}.tts__label-row output{color:var(--text-muted)}.tts__speed-field input[type=range]{width:100%;height:24px;accent-color:var(--accent);cursor:pointer;margin:0;display:block}.tts__speed-field input[type=range]:disabled{cursor:default}.tts__range-labels{color:var(--text-subtle);justify-content:space-between;margin-top:3px;font-size:.625rem;display:flex}.tts__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.tts__actions .btn{white-space:nowrap;min-height:46px}.tts__status{grid-template-columns:32px minmax(0,1fr);align-items:center;gap:11px;min-height:44px;padding:0 0 8px;display:grid;position:relative;overflow:hidden}.tts__status[data-kind=success] .tts__status-icon{color:var(--success);background:var(--success-soft)}.tts__status-success,.tts__status-error,.tts__status[data-kind=success] .tts__status-download,.tts__status[data-kind=error] .tts__status-download{display:none}.tts__status[data-kind=success] .tts__status-success,.tts__status[data-kind=error] .tts__status-error{display:block}.tts__status[data-kind=error] .tts__status-icon{color:var(--danger);background:var(--danger-soft)}.tts__status[data-kind=loading] .tts__status-icon svg{animation:tts-status-pulse 1.5s var(--ease) infinite}.tts__status-icon{border-radius:var(--r-md);background:var(--surface-inset);width:32px;height:32px;color:var(--text-muted);place-items:center;display:grid}.tts__status-copy{min-width:0}.tts__status-copy strong,.tts__status-copy>span{display:block}.tts__status-copy strong{font-size:.8125rem;font-weight:620}.tts__status-copy>span{color:var(--text-muted);margin-top:2px;font-size:.75rem;line-height:1.45}.tts__progress{background:var(--surface-inset);height:3px;position:absolute;inset:auto 0 0}.tts__progress>span{background:var(--accent);width:2%;height:100%;transition:inline-size .18s var(--ease);display:block}.tts__result{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,.6fr) minmax(220px,1fr) auto;align-items:center;gap:20px;padding:16px 0;display:grid}.tts__clip-copy{min-width:0}.tts__result-head{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.tts__result h4{margin:0;font-size:.8125rem;font-weight:620}.tts__facts{color:var(--text-subtle);font-size:.6875rem}.tts__clip-actions{align-items:center;gap:6px;display:flex}.tts__download{border:1px solid var(--border-input);border-radius:var(--r-sm);min-height:30px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:4px;padding:4px 7px;font-size:.6875rem;line-height:1.2;display:inline-flex}.tts__download svg{width:12px;height:12px}.tts__download:hover{background:var(--surface-inset);color:var(--text)}.tts__download:disabled{opacity:.5;cursor:wait}.tts__download:focus-visible,.tts__script summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.tts__script{margin-top:4px}.tts__script summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.tts__script summary::-webkit-details-marker{display:none}.tts__script .tts__excerpt{min-width:0;margin:0}.tts__expand-label{width:24px;height:24px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tts__script summary:hover .tts__expand-label{color:var(--text)}.tts__collapse-icon,.tts__script[open] .tts__expand-icon{display:none}.tts__script[open] .tts__collapse-icon{display:block}.tts__full-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-muted);margin:8px 0 0;font-size:.8125rem;line-height:1.6}.tts__result:has(.tts__script[open]){align-items:start}.tts__result:has(.tts__script[open]) .tts__clip-copy{grid-column:1/-1}.tts__result:has(.tts__script[open]) .tts__player{grid-column:1/-2}.tts__player{grid-template-columns:38px 30px minmax(40px,1fr) 30px;align-items:center;gap:8px;min-width:0;display:grid}.tts__play{border:1px solid var(--border-input);background:var(--surface);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;display:grid}.tts__play:hover{border-color:var(--border-hover);background:var(--surface-inset)}.tts__play:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tts__pause-icon,.tts__play.is-playing .tts__play-icon{display:none}.tts__play.is-playing .tts__pause-icon{display:block}.tts__scrub{width:100%;accent-color:var(--accent);cursor:pointer}.tts__privacy{color:var(--text-subtle);margin:0;font-size:.7188rem;line-height:1.5}.tts__result audio{display:none}.tts__privacy{text-align:left}.tts__library{border-top:1px solid var(--border);padding-top:18px}.tts__library-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tts__library-head h3{margin:0;font-size:.875rem}.tts__library-head h3 span{background:var(--bg-subtle);border-radius:var(--r-full);text-align:center;min-width:24px;color:var(--text-muted);margin-left:6px;padding:2px 7px;font-size:.75rem;display:inline-block}.tts__library-head>span,.tts__clip-number{color:var(--text-subtle);font-size:.6875rem}.tts__library-note{color:var(--text-muted);margin:6px 0 8px;font-size:.75rem;line-height:1.6}.tts__empty{background:var(--bg-subtle);border-radius:var(--r-lg);color:var(--text-subtle);text-align:center;margin:0;padding:16px;font-size:.8125rem}.tts__clips{display:grid}.tts__clips .tts__result{animation:tts-clip-in .25s var(--ease) both}.tts__excerpt{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);margin:4px 0 0;font-size:.75rem;line-height:1.6;overflow:hidden}.tts__equaliser{align-items:center;gap:2px;height:24px;display:none}.tts__equaliser i{border-radius:var(--r-full);background:currentColor;width:3px;height:17px;animation:.9s ease-in-out infinite alternate tts-bar;display:block}.tts__equaliser i:nth-child(2){height:23px;animation-delay:-300ms}.tts__equaliser i:nth-child(3){animation-delay:-650ms}.tts__equaliser i:nth-child(4){height:21px;animation-delay:-150ms}.tts__equaliser i:nth-child(5){height:13px;animation-delay:-450ms}.tts__status[data-kind=loading] .tts__equaliser{display:flex}.tts__status[data-kind=loading] .tts__status-download{display:none}.tts__progress.is-indeterminate>span{animation:1.7s ease-in-out infinite tts-progress;inline-size:35%!important}@keyframes tts-bar{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes tts-progress{0%{transform:translate(-110%)}to{transform:translate(390%)}}@keyframes tts-clip-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tts__equaliser i,.tts__progress.is-indeterminate>span,.tts__clips .tts__result{animation:none}}.tts__host>.tts{align-content:start}.tts__host>.tts:focus-within{box-shadow:none}.tts__host .tts__editor textarea{min-height:clamp(250px,35dvh,480px)}@keyframes tts-status-pulse{0%,to{opacity:.45;transform:translateY(-1px)}50%{opacity:1;transform:translateY(1px)}}@container (width<=820px){.tts__result{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}.tts__clip-copy{grid-column:1/-1}.tts__actions{grid-column:1/-1;justify-content:flex-start}}@container (width<=560px){.tts{gap:10px;padding:10px}.tts__editor-head{flex-direction:column;align-items:flex-start;gap:5px}.tts__editor-meta{width:100%}.tts__count{margin-inline-end:auto}.tts__editor textarea{min-height:176px;font-size:.9375rem}.tts__actions{grid-column:auto;grid-template-columns:1fr auto;display:grid}.tts__actions .btn:first-child{justify-content:center}.tts__actions [data-tts=expand]{grid-column:1/-1}.tts__status{grid-template-columns:28px minmax(0,1fr);padding-inline:10px}.tts__status-icon{width:28px;height:28px}.tts__player{grid-template-columns:32px 28px minmax(20px,1fr) 28px;gap:6px}.tts__clip-number{display:none}.tts__player .tts__play{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){.tts__status[data-kind=loading] .tts__status-icon svg{animation:none}.tts__progress>span{transition:none}}.tm-tts-source{animation:tm-tts-source 7s var(--ease) infinite backwards}.tm-tts-arrow{animation:tm-tts-arrow 7s var(--ease) infinite backwards}.tm-tts-result{animation:tm-tts-result 7s var(--ease) infinite backwards}.tm-tts-wave path{animation:tm-tts-wave 7s var(--ease) infinite backwards;animation-delay:calc(var(--tm-i,0) * 40ms)}@keyframes tm-tts-source{0%,5%{opacity:0;transform:translate(-10px)}18%,76%{opacity:1;transform:translate(0)}90%,to{opacity:1}}@keyframes tm-tts-arrow{0%,28%{opacity:0;stroke-dasharray:5 5;stroke-dashoffset:16px}40%,82%{opacity:1;stroke-dashoffset:0}94%,to{opacity:1}}@keyframes tm-tts-result{0%,43%{opacity:0;transform:translate(-9px)scale(.97)}58%,to{opacity:1;transform:translate(0)scale(1)}}@keyframes tm-tts-wave{0%,53%{opacity:0;transform:scaleY(.2)}64%,to{opacity:1;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.tm-tts-source,.tm-tts-arrow,.tm-tts-result,.tm-tts-wave path{animation:none}}.tts.studio{gap:0;padding:0;display:block}.tts>.studio-body{gap:0;padding:0}.tts__composer{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);display:grid}.tts__writing,.tts__voices{min-width:0;padding:22px var(--studio-pad)}.tts__writing{flex-direction:column;display:flex}.tts__voices{border-left:1px solid var(--border);background:var(--bg-subtle)}.tts__voices .studio-section__head{align-items:center}.tts__voice-total{color:var(--text-subtle);font:.625rem var(--font-mono);white-space:nowrap;margin-left:auto}.tts__editor{background:var(--surface);flex-direction:column;flex:1;display:flex}.tts__editor textarea{flex:1}.tts__editor-foot{border-top:1px solid var(--border);color:var(--text-subtle);flex-wrap:wrap;justify-content:space-between;gap:5px 12px;padding:10px 14px;font-size:.6875rem;display:flex}.tts__selection{align-items:center;gap:12px;margin-top:18px;display:flex}.tts__selection-mark{border:1px solid var(--border);border-radius:var(--r-md);background:var(--accent-soft);height:44px;color:var(--accent-text);flex:0 0 44px;place-items:center;display:grid}.tts__selection .studio-eyebrow{margin-bottom:3px;font-size:.5625rem}.tts__selection strong{margin-right:8px;font-size:.875rem}.tts__selection [data-tts=selected-note]{color:var(--text-muted);font-size:.75rem}.tts__browse{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tts__filters{border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface-inset);flex:1;gap:2px;width:fit-content;padding:3px;display:flex}.tts__filters button{border-radius:var(--r-sm);min-height:32px;color:var(--text-muted);font:600 .6875rem var(--font);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;padding:4px 8px}.tts__filters button[aria-pressed=true]{background:var(--surface);color:var(--text);border-color:var(--border-input);box-shadow:var(--shadow-sm)}.tts__browse .select{padding-block:6px;width:auto;min-height:40px;padding-left:9px;font-size:.6875rem}.tts__voice-list{scrollbar-width:thin;scrollbar-color:var(--border-input) transparent;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:298px;margin:-3px;padding:3px;scroll-padding-block:3px;display:grid;overflow-y:auto}.tts__voice-card{border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface);min-width:0;min-height:70px;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);align-items:center;display:flex;position:relative}.tts__voice-card[hidden]{display:none}.tts__voice-card:hover{border-color:var(--border-hover)}.tts__voice-card:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tts__voice-card:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.tts__voice-choice{cursor:pointer;flex:1;align-self:stretch;align-items:center;gap:7px;min-width:0;padding:11px 4px 11px 10px;display:flex}.tts__voice-choice input{width:12px;height:12px;accent-color:var(--accent);flex:0 0 12px;margin:0}.tts__voice-choice input:focus-visible{outline:none}.tts__voice-info{min-width:0}.tts__voice-name{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:5px;font-size:.8125rem;font-weight:650;line-height:1.4;display:flex}.tts__voice-accent{color:var(--text-subtle);font:.5625rem var(--font-mono)}.tts__voice-note{color:var(--text-muted);margin-top:3px;font-size:.6875rem;line-height:1.4;display:block}.tts__preview{border:1px solid var(--border-input);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;flex:0 0 34px;place-items:center;margin:4px 7px 4px 0;padding:0;display:grid}.tts__preview:hover{background:var(--surface-inset);border-color:var(--border-hover)}.tts__preview[data-state=playing]{background:var(--accent-soft);border-color:var(--accent)}.tts__preview-stop,.tts__preview-spinner,.tts__preview[data-state=playing] .tts__preview-play,.tts__preview[data-state=loading] .tts__preview-play{display:none}.tts__preview[data-state=playing] .tts__preview-stop{display:block}.tts__preview[data-state=loading] .tts__preview-spinner{border:2px solid var(--border-input);border-top-color:var(--text);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite tts-preview-spin;display:block}.tts__voice-card:has(input:disabled) .tts__voice-choice{opacity:.6;cursor:default}.tts__voice-empty{color:var(--text-muted);padding:14px 0;font-size:.8125rem}.tts__audition{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.tts__audition-label{color:var(--text-muted);font:600 .625rem var(--font-mono)}.tts__audition p{max-width:42ch;color:var(--text);margin:6px 0 9px;font-size:.8125rem;line-height:1.6}.tts__preview-status{min-height:2.8em;color:var(--text-muted);font-size:.6875rem;line-height:1.4;display:block}.tts__render-bar{padding:18px var(--studio-pad);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;display:flex}.tts__speed-field{flex:0 250px}.tts__speed-field .tts__label-row{min-height:24px;margin-bottom:4px}.tts__speed-field .tts__label-row>div{align-items:center;gap:10px;display:flex}.tts__speed-reset{color:var(--text-muted);font:.6875rem var(--font);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:3px 0;text-decoration:underline}.tts__generate-hint{color:var(--text-muted);font-size:.71875rem}.tts__status{margin:0 var(--studio-pad);border-top:1px solid var(--border);padding-block:12px}.tts__library{padding:20px var(--studio-pad)}.tts__privacy{padding:14px var(--studio-pad);border-top:1px solid var(--border)}.tts__preview:focus-visible,.tts__filters button:focus-visible,.tts__speed-reset:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tts__filters button:disabled{opacity:.5;cursor:default}@keyframes tts-preview-spin{to{transform:rotate(360deg)}}@container studio (width<=900px){.tts__composer{grid-template-columns:minmax(0,1fr)}.tts__voices{border-left:0;border-top:1px solid var(--border)}.tts__voice-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:228px}.tts__editor textarea{min-height:180px}.tts__actions{justify-content:flex-end}}@container studio (width<=560px){.tts__voice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tts__writing,.tts__voices{padding-block:18px}.tts__voice-total{display:none}.tts__editor-head{flex-direction:row;align-items:center}.tts__editor-meta{width:auto}.tts__selection [data-tts=selected-note]{margin-top:2px;display:block}.tts__render-bar{gap:18px;display:grid}.tts__actions{justify-content:stretch;display:flex}.tts__generate-hint{flex-basis:100%}.tts__actions .btn:first-of-type{flex:1}.tts__preview{flex-basis:36px;width:36px;height:36px;margin-right:5px}.tts__voice-choice{gap:5px;padding-left:8px}}@container studio (width<=340px){.tts__voice-list{grid-template-columns:minmax(0,1fr)}.tts__browse .select{width:100%}}@media (prefers-reduced-motion:reduce){.tts__preview-spinner{animation:none!important}.tts__voice-card{transition:none}}
