/* AI Text-to-Speech — front-end styles */
.tts-app{--tts-bg:#ffffff;--tts-soft:#f6f4ff;--tts-line:#e7e3f5;--tts-text:#17142b;--tts-muted:#6c6885;--tts-ok:#12a150;--tts-warn:#d97706;--tts-bad:#dc2626;--tts-shadow:0 10px 30px rgba(52,35,140,.08);color:var(--tts-text);font-size:15px;line-height:1.55;box-sizing:border-box}
.tts-app *,.tts-app *::before,.tts-app *::after{box-sizing:border-box}
.tts-scheme-dark,.tts-app.tts-scheme-dark{--tts-bg:#16142a;--tts-soft:#1e1b38;--tts-line:#2e2a52;--tts-text:#f3f1ff;--tts-muted:#a8a3c7;--tts-shadow:0 10px 30px rgba(0,0,0,.35)}
@media (prefers-color-scheme:dark){.tts-scheme-auto{--tts-bg:#16142a;--tts-soft:#1e1b38;--tts-line:#2e2a52;--tts-text:#f3f1ff;--tts-muted:#a8a3c7;--tts-shadow:0 10px 30px rgba(0,0,0,.35)}}
.tts-inline{display:inline-block}

.tts-card{background:var(--tts-bg);border:1px solid var(--tts-line);border-radius:var(--tts-radius,16px);padding:20px;box-shadow:var(--tts-shadow);margin:0 0 16px}
.tts-center{text-align:center}
.tts-row{display:flex;align-items:center;gap:8px}
.tts-row-between{justify-content:space-between}
.tts-wrap{flex-wrap:wrap}
.tts-mt{margin-top:14px}
.tts-small{font-size:13px}
.tts-muted{color:var(--tts-muted)}
.tts-neg{color:var(--tts-bad)}
.tts-pos{color:var(--tts-ok)}
.tts-ic{flex:none;vertical-align:-3px}
.tts-h2{font-size:clamp(24px,3.2vw,36px);line-height:1.2;margin:0 0 10px;font-weight:700;color:var(--tts-text)}
.tts-h3{font-size:19px;margin:0 0 8px;font-weight:700;color:var(--tts-text);display:flex;align-items:center;gap:8px}
.tts-eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--tts-accent);text-transform:none;margin-bottom:4px}
.tts-section-head{text-align:center;max-width:760px;margin:0 auto 28px}
.tts-label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px;color:var(--tts-text)}
.tts-label>.tts-ic{display:inline}
div.tts-label,label.tts-label[for]{flex-direction:row;align-items:center}

.tts-input,.tts-select,.tts-textarea{width:100%;border:1px solid var(--tts-line);background:var(--tts-bg);color:var(--tts-text);border-radius:10px;padding:10px 12px;font:inherit;font-weight:400;transition:border-color .15s,box-shadow .15s}
.tts-input:focus,.tts-select:focus,.tts-textarea:focus{outline:0;border-color:var(--tts-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tts-accent) 18%,transparent)}
.tts-input.is-invalid{border-color:var(--tts-bad)}
.tts-textarea{resize:vertical;min-height:80px}
.tts-textarea-sm{min-height:44px}
.tts-input-sm{padding:7px 10px;font-size:13px;max-width:240px}
.tts-select-sm{width:auto;padding:6px 10px;margin-left:6px}
.tts-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}

.tts-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:11px 20px;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none!important;color:#fff!important;background:linear-gradient(135deg,var(--tts-accent),var(--tts-accent2));box-shadow:0 6px 18px color-mix(in srgb,var(--tts-accent) 30%,transparent);transition:transform .15s,box-shadow .15s,opacity .15s;line-height:1.2}
.tts-btn:hover{transform:translateY(-1px)}
.tts-btn:disabled,.tts-btn.is-disabled{opacity:.55;pointer-events:none}
.tts-btn-block{width:100%}
.tts-btn-sm{padding:7px 14px;font-size:13px}
.tts-btn-dark{background:#111!important;box-shadow:none}
.tts-btn-ghost{background:transparent!important;color:var(--tts-accent)!important;border:1.5px solid color-mix(in srgb,var(--tts-accent) 45%,transparent);box-shadow:none}
.tts-btn.is-busy{position:relative;pointer-events:none;opacity:.85}
.tts-btn.is-busy::after{content:"";width:14px;height:14px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:tts-spin .7s linear infinite}
@keyframes tts-spin{to{transform:rotate(360deg)}}

.tts-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--tts-line);background:var(--tts-soft);color:var(--tts-text);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;text-decoration:none;font-weight:500;line-height:1.3}
.tts-chip:hover{border-color:var(--tts-accent)}
.tts-chip.is-active{background:var(--tts-accent);color:#fff;border-color:var(--tts-accent)}
.tts-chip-danger:hover{border-color:var(--tts-bad);color:var(--tts-bad)}
.tts-file{position:relative}
.tts-link-danger{background:none;border:0;color:var(--tts-bad);cursor:pointer;font-size:13px;padding:0;text-decoration:underline}
.tts-badge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}
.tts-badge-ok{background:color-mix(in srgb,var(--tts-ok) 14%,transparent);color:var(--tts-ok)}
.tts-badge-warn{background:color-mix(in srgb,var(--tts-warn) 16%,transparent);color:var(--tts-warn)}
.tts-badge-off{background:var(--tts-soft);color:var(--tts-muted)}
.tts-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:2px 6px;background:var(--tts-soft);color:var(--tts-muted);margin-left:auto}
.tts-tag-pro{background:linear-gradient(135deg,var(--tts-accent),var(--tts-accent2));color:#fff}

.tts-msg{border-radius:10px;padding:10px 12px;font-size:13px;margin-top:10px}
.tts-msg-error{background:color-mix(in srgb,var(--tts-bad) 10%,transparent);color:var(--tts-bad)}
.tts-msg-info{background:var(--tts-soft);color:var(--tts-text)}
.tts-msg-success{background:color-mix(in srgb,var(--tts-ok) 12%,transparent);color:var(--tts-ok)}

/* studio */
.tts-studio-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.tts-tabs{display:inline-flex;gap:4px;background:var(--tts-soft);border:1px solid var(--tts-line);padding:4px;border-radius:999px;flex-wrap:wrap}
.tts-tab{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--tts-muted);padding:8px 14px;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer}
.tts-tab.is-active{background:var(--tts-bg);color:var(--tts-accent);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.tts-balance-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;background:var(--tts-soft);border:1px solid var(--tts-line);border-radius:999px;padding:6px 14px}
.tts-balance-pill a{color:var(--tts-accent)}
.tts-studio-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.tts-studio-side{position:sticky;top:20px}
.tts-studio-side[hidden]+*{grid-column:1/-1}
.tts-toolbar{margin-top:10px;flex-wrap:wrap}
.tts-count{font-size:13px;color:var(--tts-muted)}
.tts-textarea[data-field=text]{min-height:240px;font-size:16px;line-height:1.65}
.tts-voices{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto;margin-top:8px;padding-right:2px}
.tts-voice{display:flex;align-items:center;gap:10px;border:1px solid var(--tts-line);border-radius:12px;padding:8px 10px;cursor:pointer;background:var(--tts-bg)}
.tts-voice:hover{border-color:color-mix(in srgb,var(--tts-accent) 50%,transparent)}
.tts-voice.is-active{border-color:var(--tts-accent);background:color-mix(in srgb,var(--tts-accent) 7%,var(--tts-bg));box-shadow:0 0 0 1px var(--tts-accent) inset}
.tts-voice.is-locked{opacity:.55}
.tts-voice-meta{display:flex;flex-direction:column;min-width:0}
.tts-voice-meta strong{font-size:14px}
.tts-voice-meta small{font-size:12px;color:var(--tts-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tts-voice-play{flex:none;width:30px;height:30px;border-radius:50%;border:0;background:var(--tts-soft);color:var(--tts-accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.tts-voice-play.is-playing{background:var(--tts-accent);color:#fff}
.tts-voice-play.is-loading{animation:tts-pulse 1s infinite}
@keyframes tts-pulse{50%{opacity:.4}}
.tts-filters{flex-wrap:wrap;margin-top:6px}
.tts-slider{margin-top:10px}
.tts-slider label{font-weight:600;font-size:13px}
.tts-slider output{font-size:13px;color:var(--tts-accent);font-weight:700}
.tts-slider input[type=range]{width:100%;accent-color:var(--tts-accent)}
.tts-more summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--tts-accent)}
.tts-lines{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.tts-line{display:grid;grid-template-columns:26px 92px 92px 1fr 28px;gap:8px;align-items:start}
.tts-line .tts-input-sm{max-width:none}
.tts-line-n{font-weight:700;color:var(--tts-muted);padding-top:8px;text-align:center}
.tts-line-x{border:0;background:none;font-size:20px;color:var(--tts-muted);cursor:pointer;padding-top:4px}
.tts-result-card audio,.tts-item audio{width:100%;margin:12px 0}
.tts-video-wrap{margin-top:12px}
.tts-video{width:100%;max-height:420px;background:#000;border-radius:12px}

/* tables & lists */
.tts-table-wrap{overflow-x:auto;margin-top:10px}
.tts-table{width:100%;border-collapse:collapse;font-size:14px}
.tts-table th,.tts-table td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--tts-line);vertical-align:top}
.tts-table th{font-size:12px;color:var(--tts-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.tts-table tr.is-revoked{opacity:.5}
.tts-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:8px 0 0;font-size:14px}
.tts-dl dt{color:var(--tts-muted)}
.tts-dl dd{margin:0;font-weight:500}
.tts-list-plain{list-style:none;margin:8px 0;padding:0}
.tts-list-plain li{padding:6px 0;border-bottom:1px solid var(--tts-line)}

/* history */
.tts-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.tts-stat{background:var(--tts-soft);border:1px solid var(--tts-line);border-radius:14px;padding:12px 14px}
.tts-stat strong{display:block;font-size:22px}
.tts-stat span{font-size:12px;color:var(--tts-muted)}
.tts-history-filters{display:grid;grid-template-columns:2fr 1.3fr 1fr 1fr 1fr 1fr;gap:8px;margin-bottom:14px}
.tts-list{display:flex;flex-direction:column;gap:10px}
.tts-item{background:var(--tts-bg);border:1px solid var(--tts-line);border-radius:14px;padding:14px 16px}
.tts-item-head{display:flex;align-items:center;gap:10px}
.tts-item-title{display:flex;flex-direction:column;min-width:0;flex:1}
.tts-item-title small{color:var(--tts-muted);font-size:12px}
.tts-flag{border-radius:50%;object-fit:cover;flex:none}
.tts-item-text summary{cursor:pointer;font-size:12px;color:var(--tts-muted)}
.tts-item-text p{white-space:pre-wrap;font-size:13px;margin:6px 0 0}
.tts-item-actions{margin-top:6px}
.tts-item.is-compact audio{margin:8px 0 4px}
.tts-empty{padding:24px;text-align:center;color:var(--tts-muted);border:1px dashed var(--tts-line);border-radius:14px}

/* panel */
.tts-panel-top{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
.tts-meter{height:10px;border-radius:999px;background:var(--tts-soft);overflow:hidden;margin:12px 0 8px}
.tts-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--tts-accent),var(--tts-accent2));border-radius:inherit}
.tts-countdown{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:8px;flex-wrap:wrap}
.tts-feature-grid{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.tts-feature-grid li{display:flex;gap:8px;align-items:center;font-size:14px}
.tts-feature-grid li.is-on .tts-ic{color:var(--tts-ok)}
.tts-feature-grid li.is-off{color:var(--tts-muted);text-decoration:line-through}
.tts-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}
.tts-span-2{grid-column:span 2}
.tts-span-3{grid-column:1/-1}
.tts-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--tts-soft);border:1px solid var(--tts-line);border-radius:8px;padding:6px 10px;font-size:13px;word-break:break-all}
.tts-newkey{background:color-mix(in srgb,var(--tts-ok) 8%,transparent);border:1px solid color-mix(in srgb,var(--tts-ok) 30%,transparent);border-radius:12px;padding:12px;margin:10px 0}

/* docs */
.tts-pre{background:#0f0d1f;color:#e6e2ff;border-radius:12px;padding:14px 16px;overflow:auto;font-size:13px;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;margin:10px 0}
.tts-docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tts-method{display:inline-block;font-size:11px;font-weight:800;border-radius:6px;padding:2px 7px;color:#fff;background:#64748b}
.tts-method-post{background:#16a34a}.tts-method-get{background:#2563eb}.tts-method-delete{background:#dc2626}

/* plans */
.tts-plans-bar{display:flex;justify-content:center;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-bottom:18px;text-align:center}
.tts-plans-bar>label{display:inline-flex;flex-direction:column;align-items:center;gap:6px}
.tts-toggle{display:inline-flex;background:var(--tts-soft);border:1px solid var(--tts-line);border-radius:999px;padding:4px;margin-left:auto}
.tts-toggle button{border:0;background:transparent;border-radius:999px;padding:7px 16px;font-weight:600;cursor:pointer;color:var(--tts-muted)}
.tts-toggle button.is-active{background:var(--tts-bg);color:var(--tts-accent);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.tts-plans-grid{display:grid;grid-template-columns:repeat(var(--tts-cols,4),minmax(0,1fr));gap:20px;align-items:stretch}
.tts-plan{--tts-plan:var(--tts-accent);position:relative;background:var(--tts-bg);border:1px solid var(--tts-line);border-radius:calc(var(--tts-radius,16px) + 4px);padding:24px;box-shadow:var(--tts-shadow);display:flex;flex-direction:column}
.tts-plan.is-featured{border:2px solid var(--tts-plan);box-shadow:0 18px 40px color-mix(in srgb,var(--tts-plan) 20%,transparent)}
.tts-plan-badge{position:absolute;top:-12px;right:20px;background:linear-gradient(135deg,var(--tts-accent),var(--tts-accent2));color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:4px 12px}
.tts-plan-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tts-plan) 10%,transparent);color:var(--tts-plan);margin-bottom:12px}
.tts-plan-name{font-size:20px;margin:0 0 6px;font-weight:700}
.tts-plan-desc{font-size:13px;color:var(--tts-muted);margin:0 0 14px}
.tts-plan-price-label{font-size:13px;font-weight:600;margin-bottom:2px}
.tts-plan-price{font-size:32px;font-weight:800;color:var(--tts-plan);margin-bottom:14px;line-height:1.2}
.tts-plan-price small{font-size:14px;color:var(--tts-muted);font-weight:500}
.tts-save{display:inline-block;font-size:12px;background:color-mix(in srgb,var(--tts-ok) 14%,transparent);color:var(--tts-ok);border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle}
.tts-plan-custom{margin-bottom:12px}
.tts-plan-custom .tts-input{font-size:18px;font-weight:700}
.tts-plan-features{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.tts-plan-features li{display:flex;gap:8px;align-items:flex-start}
.tts-plan-features .tts-ic{color:var(--tts-plan);margin-top:2px}

/* demo */
.tts-demo-compact .tts-demo-box{display:flex;align-items:center;gap:8px;background:var(--tts-bg);border:1px solid var(--tts-line);border-radius:999px;padding:6px 8px 6px 6px;box-shadow:var(--tts-shadow);max-width:560px}
.tts-demo-play{flex:none;width:42px;height:42px;border-radius:50%;border:0;color:#fff;background:linear-gradient(135deg,var(--tts-accent),var(--tts-accent2));display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.tts-demo-input{flex:1;border:0;background:transparent;font:inherit;color:var(--tts-text);min-width:0;padding:8px 4px}
.tts-demo-input:focus{outline:0}
.tts-demo-voice{border:0;background:var(--tts-soft);border-radius:999px;padding:7px 10px;font-size:13px;color:var(--tts-text);max-width:150px}
.tts-demo-controls{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:10px;margin-top:12px}
.tts-demo-controls input[type=range]{accent-color:var(--tts-accent)}
.tts-demo-wave{display:flex;gap:3px;align-items:center;height:28px;margin-top:10px;opacity:.25}
.tts-demo-wave i{display:block;width:3px;border-radius:2px;background:var(--tts-accent);height:30%}
.tts-demo-wave i:nth-child(3n){height:70%}.tts-demo-wave i:nth-child(4n){height:50%}.tts-demo-wave i:nth-child(5n){height:90%}
.tts-demo.is-playing .tts-demo-wave{opacity:1}
.tts-demo.is-playing .tts-demo-wave i{animation:tts-bar .9s ease-in-out infinite}
.tts-demo-wave i:nth-child(2n){animation-delay:.15s!important}.tts-demo-wave i:nth-child(3n){animation-delay:.3s!important}
@keyframes tts-bar{50%{transform:scaleY(.35)}}
.tts-demo.is-loading .tts-demo-play,.tts-demo.is-loading button[type=submit]{animation:tts-pulse 1s infinite;pointer-events:none}
.tts-demo-msg{font-size:13px;color:var(--tts-muted);margin-top:6px;min-height:1em}
.tts-demo-upsell{background:linear-gradient(135deg,color-mix(in srgb,var(--tts-accent) 10%,transparent),color-mix(in srgb,var(--tts-accent2) 10%,transparent));border-radius:14px;padding:16px;margin-top:10px}
.tts-demo-upsell p{margin:0 0 10px}
.tts-demo-full audio{width:100%;margin-top:10px}

/* languages, showcase, features, steps */
.tts-langs{position:relative}
.tts-langs-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 14px;scrollbar-width:none}
.tts-langs-track::-webkit-scrollbar{display:none}
.tts-lang{flex:none;width:118px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none!important;color:var(--tts-text)!important;text-align:center}
.tts-lang img{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 4px 14px rgba(0,0,0,.12);border:3px solid #fff}
.tts-lang strong{font-size:14px;margin-top:6px}
.tts-lang span{font-size:12px;color:var(--tts-muted)}
.tts-langs-nav{display:flex;justify-content:center;gap:10px}
.tts-langs-nav button{width:38px;height:38px;border-radius:50%;border:1px solid var(--tts-line);background:var(--tts-bg);color:var(--tts-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.tts-showcase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.tts-show{position:relative;min-height:170px;border:0;border-radius:18px;overflow:hidden;cursor:pointer;text-align:left;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(135deg,var(--tts-accent),var(--tts-accent2));background-size:cover;background-position:center}
.tts-show::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,6,30,.75))}
.tts-show>*{position:relative}
.tts-show-play{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--tts-accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:auto}
.tts-show.is-playing .tts-show-play{background:var(--tts-accent);color:#fff}
.tts-show.is-loading .tts-show-play{animation:tts-pulse 1s infinite}
.tts-show-title{font-weight:700;font-size:16px;margin-top:40px;line-height:1.3}
.tts-show-sub{display:block;font-size:13.5px;font-weight:500;opacity:.85;margin-top:3px;line-height:1.35}
.tts-show-wave{display:flex;gap:3px;height:16px;align-items:end;margin-top:8px;opacity:.7}
.tts-show-wave i{width:3px;background:#fff;border-radius:2px;height:40%}
.tts-show-wave i:nth-child(odd){height:80%}
.tts-show.is-playing .tts-show-wave i{animation:tts-bar .8s infinite}
.tts-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tts-feature{background:var(--tts-bg);border:1px solid var(--tts-line);border-radius:18px;padding:22px;box-shadow:var(--tts-shadow)}
.tts-feature-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tts-accent) 10%,transparent);color:var(--tts-accent);margin-bottom:14px}
.tts-feature h3{font-size:17px;margin:0 0 8px}
.tts-feature p{font-size:14px;color:var(--tts-muted);margin:0}
.tts-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tts-step-art{height:120px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--tts-accent) 18%,#fff),color-mix(in srgb,var(--tts-accent2) 18%,#fff));display:flex;align-items:center;justify-content:center;color:var(--tts-accent);margin-bottom:12px}
.tts-step-row{display:flex;align-items:center;gap:10px}
.tts-step-num{flex:none;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--tts-accent),var(--tts-accent2))}

/* responsive */
@media (max-width:1024px){
	.tts-studio-grid{grid-template-columns:1fr}
	.tts-studio-side{position:static}
	.tts-plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.tts-features-grid,.tts-steps{grid-template-columns:repeat(2,1fr)}
	.tts-history-filters{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:720px){
	.tts-card{padding:16px}
	.tts-plans-grid,.tts-panel-top,.tts-docs-grid,.tts-form-grid,.tts-demo-controls{grid-template-columns:1fr}
	.tts-span-2{grid-column:auto}
	.tts-stats{grid-template-columns:repeat(2,1fr)}
	.tts-history-filters{grid-template-columns:1fr 1fr}
	.tts-history-filters input[type=search]{grid-column:1/-1}
	.tts-line{grid-template-columns:22px 1fr 1fr 24px}
	.tts-line textarea{grid-column:2/4;grid-row:2}
	.tts-features-grid,.tts-steps{grid-template-columns:1fr}
	.tts-toggle{margin-left:0}
	.tts-demo-voice{max-width:110px}
	.tts-tab span{display:none}
}
.tts-btn.is-loading{animation:tts-pulse 1s infinite;pointer-events:none}
.tts-btn.is-playing{box-shadow:0 0 0 3px color-mix(in srgb,var(--tts-accent) 30%,transparent)}
.tts-app [hidden]{display:none!important}

/* responsive hardening: grid / flex children may shrink below their content width */
.tts-studio-grid>*,.tts-docs-grid>*,.tts-panel-top>*,.tts-plans-grid>*,.tts-form-grid>*,.tts-history-filters>*,.tts-features-grid>*,.tts-steps>*,.tts-demo-controls>*,.tts-stats>*{min-width:0}
.tts-pre{max-width:100%;-webkit-overflow-scrolling:touch}
.tts-docs .tts-table{min-width:0}
.tts-docs .tts-table td code{word-break:break-word}
.tts-code{display:inline-block;max-width:100%;overflow-wrap:anywhere}
.tts-row-between{flex-wrap:wrap}
.tts-studio-head .tts-tabs{max-width:100%}
.tts-input-sm{min-width:0}
@media (max-width:1100px){.tts-docs-grid{grid-template-columns:1fr}}
@media (max-width:720px){
	.tts-pre{font-size:12px;padding:12px}
	.tts-plan{padding:20px}
	.tts-plan-price{font-size:28px}
	.tts-studio-head{flex-direction:column;align-items:stretch}
	.tts-balance-pill{justify-content:center}
	.tts-row-between>.tts-input-sm{max-width:none;flex:1 1 100%}
	.tts-voices{max-height:260px}
	.tts-item{padding:12px}
	.tts-item-actions .tts-chip{padding:6px 10px}
	.tts-table th,.tts-table td{padding:8px 6px}
	.tts-dl{grid-template-columns:1fr}
	.tts-dl dt{margin-top:6px}
	.tts-countdown{flex-direction:column;align-items:flex-start}
	.tts-demo-compact .tts-demo-box{border-radius:18px}
	.tts-langs-track{gap:12px}
	.tts-lang{width:96px}
}
@media (max-width:400px){
	.tts-tab{padding:8px 11px}
	.tts-stats{grid-template-columns:1fr 1fr}
	.tts-stat strong{font-size:18px}
	.tts-demo-voice{max-width:92px}
}
.tts-demo-compact .tts-demo-body{width:100%;max-width:620px;min-width:0}
.tts-demo-compact .tts-demo-box{width:100%;max-width:100%}
.tts-demo-compact .tts-demo-wave{justify-content:center}
@media (max-width:720px){
	.tts-tab .tts-ic{display:none}
	.tts-tab span{display:inline!important;font-size:13px}
	.tts-tabs{display:flex;width:100%}
	.tts-tab{flex:1;justify-content:center;padding:8px 6px}
	.tts-step{display:flex;align-items:center;gap:14px}
	.tts-step-art{flex:none;width:64px;height:64px;margin:0;border-radius:16px}
	.tts-step-art .tts-ic{width:26px;height:26px}
	.tts-steps{gap:12px}
}

/* pricing FAQ */
.tts-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1100px;margin:0 auto}
.tts-faq-item{background:var(--tts-bg);border:1px solid var(--tts-line);border-radius:14px;box-shadow:var(--tts-shadow)}
.tts-faq-item summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:700;display:flex;justify-content:space-between;gap:12px}
.tts-faq-item summary::-webkit-details-marker{display:none}
.tts-faq-item summary::after{content:"+";color:var(--tts-accent);font-size:20px;line-height:1}
.tts-faq-item[open] summary::after{content:"–"}
.tts-faq-item p{margin:0;padding:0 18px 16px;color:var(--tts-muted);font-size:14px}
.tts-plans+.tts-app,.tts-app+.tts-app .tts-faq{margin-top:48px}
.tts-plans-grid[style*="--tts-cols:2"]{max-width:1100px;margin:0 auto}
@media (max-width:720px){.tts-faq-grid{grid-template-columns:1fr}}

/* phones: hero demo bar, studio tabs, steps */
.tts-demo-compact .tts-demo-body{width:100%;max-width:620px;min-width:0}
.tts-demo-compact .tts-demo-box{width:100%;max-width:100%}
.tts-demo-compact .tts-demo-wave{justify-content:center}
@media (max-width:720px){
	.tts-tab .tts-ic{display:none}
	.tts-tab span{display:inline!important;font-size:13px}
	.tts-tabs{display:flex;width:100%}
	.tts-tab{flex:1;justify-content:center;padding:8px 6px}
	.tts-step{display:flex;align-items:center;gap:14px}
	.tts-step-art{flex:none;width:64px;height:64px;margin:0;border-radius:16px}
	.tts-step-art .tts-ic{width:26px;height:26px}
	.tts-steps{gap:12px}
}
/* Pricing bar always centred */
.tts-app .tts-plans-bar,.tts-plans .tts-plans-bar,div.tts-plans-bar{justify-content:center!important;text-align:center!important;width:100%}
.tts-app .tts-plans-bar>label,div.tts-plans-bar>label{display:inline-flex!important;flex-direction:column;align-items:center!important;gap:6px;margin:0 auto}
/* Payments & invoices */
.tts-app .tts-nowrap{white-space:nowrap;text-align:right}
.tts-app .tts-empty-note{display:flex;gap:12px;align-items:flex-start;margin-top:10px;padding:16px 18px;border-radius:14px;background:var(--tts-soft,#f5f3ff);color:var(--tts-text,#1d1832)}
.tts-app .tts-empty-note svg{flex:none;margin-top:2px;color:var(--tts-accent,#6d4aff)}
.tts-app .tts-empty-note strong{display:block;margin-bottom:2px}
.tts-app .tts-empty-note span{font-size:14px;color:var(--tts-muted,#6b6585)}
#tts-invoices{scroll-margin-top:90px}
.tts-app .tts-clone-hint{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 0;color:var(--tts-muted)}
.tts-app .tts-clone-hint svg{color:var(--tts-accent,#6d4aff)}
.tts-app .tts-steps-mini{margin:10px 0 14px;padding-left:20px;color:var(--tts-muted)}
.tts-app .tts-steps-mini li{margin:3px 0}
#tts-cloning{scroll-margin-top:90px}
.tts-app .tts-clone-form input[type=file]{display:block;width:100%;max-width:100%;padding:10px;border:1px dashed var(--tts-line);border-radius:12px;background:var(--tts-soft);font-size:14px;box-sizing:border-box}
.tts-app .tts-clone-form input[type=file]::file-selector-button{margin-right:12px;padding:8px 16px;border:0;border-radius:999px;background:var(--tts-accent,#6d4aff);color:#fff;font-weight:600;cursor:pointer}
.tts-app .tts-clone-form .tts-check{margin-top:12px}
.tts-app .tts-clone-form button[type=submit]{display:flex;margin-top:14px}
.tts-app .tts-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tts-app .tts-table,.tts-app .tts-table *{overflow-wrap:normal;word-break:normal}
@media(max-width:782px){.tts-app .tts-table-wrap .tts-table th,.tts-app .tts-table-wrap .tts-table td{white-space:nowrap}.tts-app .tts-table-wrap .tts-table td:nth-child(3){white-space:normal;min-width:170px}}
@media(max-width:782px){
.tts-app .tts-invoices thead{display:none}
.tts-app .tts-invoices,.tts-app .tts-invoices tbody{display:block;width:100%}
.tts-app .tts-invoices tr{display:block;border:1px solid var(--tts-line);border-radius:14px;padding:6px 14px;margin:0 0 10px}
.tts-app .tts-invoices td{display:flex!important;justify-content:space-between;gap:12px;padding:7px 0!important;border:0!important;border-bottom:1px solid var(--tts-soft)!important;white-space:normal!important;min-width:0!important;text-align:right}
.tts-app .tts-invoices td::before{content:attr(data-title);font-weight:600;color:var(--tts-muted);text-align:left;flex:none}
.tts-app .tts-invoices td:last-child{border-bottom:0!important;justify-content:flex-start}
.tts-app .tts-invoices td:last-child:empty{display:none!important}
}
/* Features / steps from settings */
.tts-app .tts-feature-icon.has-img{background:none;overflow:hidden}
.tts-app .tts-feature-icon.has-img img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.tts-app .tts-step-art.has-img{background-size:cover;background-position:center}
.tts-app .tts-step-txt{display:flex;flex-direction:column;min-width:0}
.tts-app .tts-step-sub{font-size:13.5px;color:var(--tts-muted);margin-top:2px;line-height:1.4}
/* Icon style settings (Settings → Appearance) — defaults match the original look */
.tts-app .tts-feature-icon{width:var(--tts-fi-box,50px);height:var(--tts-fi-box,50px);border-radius:var(--tts-fi-radius,14px);background:var(--tts-fi-bg,color-mix(in srgb,var(--tts-accent) 10%,transparent));color:var(--tts-fi-color,var(--tts-accent));border:var(--tts-fi-bw,0px) solid var(--tts-fi-bc,var(--tts-accent));box-sizing:border-box}
.tts-app .tts-feature-icon .tts-ic{width:var(--tts-fi-size,26px);height:var(--tts-fi-size,26px)}
.tts-app .tts-step-art{height:var(--tts-si-h,120px);border-radius:var(--tts-si-radius,18px);color:var(--tts-si-color,var(--tts-accent));border:var(--tts-si-bw,0px) solid var(--tts-si-bc,var(--tts-accent));box-sizing:border-box}
.tts-app .tts-step-art:not(.has-img){background:var(--tts-si-bg,linear-gradient(135deg,color-mix(in srgb,var(--tts-accent) 18%,#fff),color-mix(in srgb,var(--tts-accent2) 18%,#fff)))}
.tts-app .tts-step-art .tts-ic{width:var(--tts-si-size,34px);height:var(--tts-si-size,34px)}
.tts-app .tts-step-num{background:var(--tts-si-num,linear-gradient(135deg,var(--tts-accent),var(--tts-accent2)))}
@media(max-width:720px){.tts-app .tts-step-art{height:64px;width:64px;border-radius:min(var(--tts-si-radius,18px),32px)}.tts-app .tts-step-art .tts-ic{width:min(var(--tts-si-size,34px),30px);height:min(var(--tts-si-size,34px),30px)}}
/* Box background images — desktop (≥1025px) unless "also on tablets and phones" is ticked */
@media(min-width:1025px){
.tts-app .tts-feature{background-image:linear-gradient(rgba(255,255,255,var(--tts-fc-ovn,0)),rgba(255,255,255,var(--tts-fc-ovn,0))),var(--tts-fc-img,none)}
.tts-app .tts-step-art:not(.has-img){background-image:var(--tts-si-img,none),var(--tts-si-layer,linear-gradient(135deg,color-mix(in srgb,var(--tts-accent) 18%,#fff),color-mix(in srgb,var(--tts-accent2) 18%,#fff)))}
}
.tts-app .tts-boximg-all .tts-feature{background-image:linear-gradient(rgba(255,255,255,var(--tts-fc-ovn,0)),rgba(255,255,255,var(--tts-fc-ovn,0))),var(--tts-fc-img,none)}
.tts-app .tts-boximg-all .tts-step-art:not(.has-img){background-image:var(--tts-si-img,none),var(--tts-si-layer,linear-gradient(135deg,color-mix(in srgb,var(--tts-accent) 18%,#fff),color-mix(in srgb,var(--tts-accent2) 18%,#fff)))}
.tts-app .tts-feature,.tts-app .tts-step-art:not(.has-img){background-size:cover;background-position:center;background-repeat:no-repeat}
.tts-app .tts-upgrade-note{max-width:760px;margin:0 auto 18px;text-align:center;padding:12px 16px;border-radius:12px;background:var(--tts-soft);border:1px solid var(--tts-line)}
#tts-paid-plans{scroll-margin-top:100px}
