:root{
  color-scheme:light;
  --bg:#fafafa;
  --surface:#fff;
  --surface-soft:#f7f7f7;
  --line:#e7e7e7;
  --line-strong:#d7d7d7;
  --text:#171717;
  --muted:#737373;
  --muted-2:#a3a3a3;
  --black:#111111;
  --black-hover:#292929;
  --success:#147a4b;
  --success-soft:#f1f9f4;
  --danger:#b4232e;
  --danger-soft:#fff4f5;
  --warning:#8a5b11;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
button,a,label,select,input{touch-action:manipulation}
a{color:inherit}
.hidden{display:none!important}

/* Header */
.app-header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.wordmark{font-size:14px;font-weight:800;letter-spacing:-.02em;text-decoration:none}
.header-nav{display:flex;align-items:center;gap:4px}
.nav-link,.nav-button{border:0;background:transparent;text-decoration:none;color:#6a6a6a;font-size:13px;font-weight:600;padding:8px 10px;border-radius:8px;cursor:pointer}
.nav-link:hover,.nav-button:hover{color:#171717;background:#f5f5f5}
.nav-link.active{color:#171717;background:#f2f2f2}

/* Main TTS workspace */
.tts-shell{width:min(1020px,calc(100% - 40px));margin:0 auto;padding:38px 0 76px}
.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:18px}
.page-title-row h1{font-size:26px;line-height:1.2;letter-spacing:-.035em;margin:0 0 6px;font-weight:700}
.page-title-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.import-button{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 13px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}
.import-button:hover{background:#f7f7f7}

.composer{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.composer-meta{display:flex;align-items:center;justify-content:space-between;padding:15px 17px 4px;color:var(--muted);font-size:11px;font-weight:600}
.source-editor{display:block;width:100%;min-height:410px;border:0;outline:0;background:#fff;color:var(--text);resize:vertical;padding:14px 17px 18px;font:15px/1.72 Inter,ui-sans-serif,system-ui,sans-serif}
.source-editor::placeholder{color:#b8b8b8}
.composer-footnote{display:flex;justify-content:space-between;gap:16px;padding:0 17px 13px;color:var(--muted-2);font-size:10.5px;min-height:24px}
.control-separator{height:1px;background:var(--line);margin:0}
.control-row{padding:16px 17px}
.control-label{display:flex;align-items:baseline;gap:9px;margin-bottom:11px}
.control-label strong{font-size:12.5px;font-weight:700}
.control-label span{font-size:11px;color:var(--muted)}

.narrator-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:stretch}
.voice-select{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;transition:border-color .12s,background .12s,opacity .12s}
.voice-select:hover{border-color:#cfcfcf}
.voice-select.muted-card{opacity:.48}
.voice-dot{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#f2f2f2;color:#555;font-size:9px;font-weight:800}
.voice-select-copy{min-width:0;flex:1}
.voice-select-copy>span{display:block;font-size:9.5px;color:var(--muted);margin-bottom:2px}
.voice-select-copy select{display:block;width:100%;border:0;background:transparent;color:var(--text);font-size:12.5px;font-weight:650;outline:0;cursor:pointer;padding:0 22px 0 0;text-overflow:ellipsis}
.voice-select-copy small{display:block;color:var(--muted-2);font-size:9.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.voice-select-copy small a{color:#444}
.manage-link{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:#555;font-size:11.5px;font-weight:600;background:#fff;white-space:nowrap}
.manage-link:hover{background:#f7f7f7;color:#111}
.inline-alert{margin-top:10px;padding:9px 11px;border-radius:8px;background:var(--danger-soft);color:var(--danger);font-size:11px}

.output-actions{display:flex;align-items:center;gap:10px}
.segment-control{display:inline-grid;grid-template-columns:repeat(3,auto);gap:3px;padding:3px;background:#f2f2f2;border-radius:9px}
.segment-control input{position:absolute;opacity:0;pointer-events:none}
.segment-control span{display:block;padding:7px 10px;border-radius:7px;color:#6b6b6b;font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.segment-control input:checked+span{background:#fff;color:#171717;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.primary-button,.secondary-button,.danger-button,.download-button{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;transition:.12s}
.primary-button{border:1px solid var(--black);background:var(--black);color:#fff}
.primary-button:hover{background:var(--black-hover);border-color:var(--black-hover)}
.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed}
.secondary-button{border:1px solid var(--line-strong);background:#fff;color:#282828}
.secondary-button:hover{background:#f7f7f7}
.danger-button{border:1px solid #edc7ca;background:#fff;color:var(--danger)}
.danger-button:hover{background:var(--danger-soft)}
.output-actions .primary-button{margin-left:auto;min-width:112px}
.form-error{color:var(--danger);font-size:11px;min-height:16px;margin-top:8px}

/* Downstream workflow */
.workspace-section{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}
.section-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.section-bar h2{font-size:14px;letter-spacing:-.01em;margin:0 0 3px}
.section-bar p{font-size:11px;color:var(--muted);margin:0}
.quality{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;font-size:10px;white-space:nowrap}
.quality.approved{background:var(--success-soft);color:var(--success)}
.quality.blocked{background:var(--danger-soft);color:var(--danger);border:1px solid #f3d3d6}
.quality-icon{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:900}
.quality>div:last-child{display:flex;align-items:center;gap:4px}
.quality strong{font-size:10px}.quality span{font-size:9.5px;color:inherit;opacity:.78}
.editor-grid,.generate-grid,.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.prepared-editor,.generate-card,.result-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}
.editor-head,.result-head,.generate-language{display:flex;align-items:center;justify-content:space-between;gap:10px}
.editor-head strong,.result-head strong,.generate-language strong{font-size:11.5px}
.editor-head span,.result-head small,.generate-language small{font-size:9.5px;color:var(--muted)}
.prepared-editor textarea{width:100%;min-height:320px;margin-top:10px;border:1px solid var(--line);border-radius:8px;outline:0;resize:vertical;padding:12px;background:#fcfcfc;color:var(--text);font:13px/1.65 Inter,ui-sans-serif,system-ui,sans-serif}
.prepared-editor textarea:focus{background:#fff;border-color:#bfbfbf;box-shadow:0 0 0 3px rgba(0,0,0,.04)}
.verify-note{font-size:9.5px;color:var(--warning);margin:6px 0 0}
.section-actions{display:flex;justify-content:flex-end;margin-top:11px}
.generate-card{display:flex;align-items:center;gap:12px}
.generate-language{flex:1;justify-content:flex-start}.generate-language>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f2f2f2;color:#555;font-size:9px;font-weight:800}.generate-language strong,.generate-language small{display:block}
.generate-card .primary-button{white-space:nowrap}.generate-card .form-error{width:100%;margin:0}
.result-card audio{width:100%;height:36px;margin:12px 0}.ready-badge{padding:4px 7px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:9px;font-weight:700}.download-button{width:100%;border:1px solid var(--line);background:#fff;color:#2f2f2f}.download-button:hover{background:#f7f7f7}

/* Settings */
.settings-shell{width:min(920px,calc(100% - 40px));margin:0 auto;padding:38px 0 84px}
.settings-title{margin-bottom:22px}.settings-title h1{font-size:26px;letter-spacing:-.035em;margin:0 0 6px}.settings-title p{font-size:13px;color:var(--muted);margin:0}
.settings-section{padding:22px 0;border-top:1px solid var(--line)}
.settings-section:first-of-type{border-top:0;padding-top:0}
.settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.settings-section-head h2,.compact-section h2{font-size:14px;margin:0 0 4px}.settings-section-head p,.compact-section p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.5}.status-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f2f2f2;color:#555;font-size:9.5px;font-weight:700;white-space:nowrap}.status-pill.neutral{background:#f6f6f6;color:#777}
.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.settings-field-group h3{font-size:12px;margin:0 0 12px}.settings-field-group label{display:block;font-size:10.5px;color:#575757;font-weight:650;margin:11px 0 5px}.settings-field-group select,.search-input{width:100%;height:38px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--text);padding:0 10px;outline:0;font-size:12px}.settings-field-group select:focus,.search-input:focus{border-color:#a9a9a9;box-shadow:0 0 0 3px rgba(0,0,0,.035)}.field-hint{font-size:9.5px!important;color:var(--muted-2)!important;margin:5px 0 0!important}
.library-toolbar{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;margin-bottom:10px}.tab-group{display:inline-flex;gap:2px;padding:3px;background:#f2f2f2;border-radius:8px}.tab{border:0;background:transparent;color:#707070;border-radius:6px;padding:6px 9px;font-size:10.5px;font-weight:650;cursor:pointer}.tab.active{background:#fff;color:#171717;box-shadow:0 1px 2px rgba(0,0,0,.08)}.search-input{height:34px;justify-self:end;max-width:240px}.library-status{font-size:10px;color:var(--muted);padding:6px 0 9px}.voice-library{border-top:1px solid var(--line)}.voice-row{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);cursor:pointer}.voice-row:hover{background:#fafafa}.voice-row input{position:absolute;opacity:0}.voice-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f0f0f0;font-size:10px;font-weight:700;color:#555}.voice-row-copy strong,.voice-row-copy small{display:block}.voice-row-copy strong{font-size:11.5px}.voice-row-copy small{font-size:9.5px;color:var(--muted);margin-top:2px}.toggle-ui{width:31px;height:18px;border-radius:999px;background:#d9d9d9;position:relative;transition:.15s}.toggle-ui:before{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:.15s}.voice-row input:checked~.toggle-ui{background:#171717}.voice-row input:checked~.toggle-ui:before{transform:translateX(13px)}.empty-library{padding:24px 4px;color:var(--muted);font-size:11px}
.compact-section{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.health-list{min-width:420px;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden}.health-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-bottom:1px solid var(--line);font-size:10px}.health-list>div:nth-last-child(-n+2){border-bottom:0}.health-list span{color:var(--muted)}.health-list strong{font-size:10px}.good{color:var(--success)}.bad{color:var(--danger)}
.settings-savebar{position:sticky;bottom:14px;margin:18px 0 0;padding:10px 10px 10px 14px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:flex-end;gap:12px;box-shadow:0 6px 20px rgba(0,0,0,.06)}.save-status{font-size:10px;color:var(--muted);margin-right:auto}.danger-zone{align-items:center}

/* Auth */
.auth-body{min-height:100vh;display:grid;place-items:center;background:#fafafa;padding:24px}.auth-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px}.auth-wordmark{font-size:12px;font-weight:800;margin-bottom:34px}.auth-card h1{font-size:24px;letter-spacing:-.035em;margin:0 0 7px}.auth-card>p{font-size:12px;color:var(--muted);margin:0 0 22px}.auth-card label{display:block;font-size:10.5px;font-weight:650;margin:0 0 6px}.auth-card input{width:100%;height:42px;border:1px solid var(--line-strong);border-radius:9px;padding:0 11px;outline:0}.auth-card input:focus{border-color:#a9a9a9;box-shadow:0 0 0 3px rgba(0,0,0,.035)}.auth-submit{width:100%;height:42px;margin-top:12px}.error{min-height:16px;color:var(--danger)!important;font-size:10.5px!important;margin:8px 0 0!important}

@media(max-width:760px){
  .app-header{padding:0 15px}.nav-link{display:none}.tts-shell,.settings-shell{width:min(100% - 24px,1020px);padding-top:24px}.page-title-row{align-items:flex-start}.page-title-row p{max-width:70vw}.narrator-controls{grid-template-columns:1fr}.manage-link{height:38px}.output-actions{align-items:stretch;flex-direction:column}.segment-control{display:grid;grid-template-columns:repeat(3,1fr)}.output-actions .primary-button{margin-left:0;width:100%}.editor-grid,.generate-grid,.result-grid,.settings-form-grid{grid-template-columns:1fr}.section-bar{flex-direction:column}.quality{white-space:normal}.library-toolbar{grid-template-columns:1fr 1fr}.search-input{grid-column:1/-1;justify-self:stretch;max-width:none}.compact-section{flex-direction:column}.health-list{min-width:0;width:100%;grid-template-columns:1fr}.health-list>div{border-bottom:1px solid var(--line)!important}.health-list>div:last-child{border-bottom:0!important}.composer-meta,.control-row,.workspace-section{padding-left:13px;padding-right:13px}.source-editor{padding-left:13px;padding-right:13px;min-height:360px}.composer-footnote{padding-left:13px;padding-right:13px}}
