.tts-tool{max-width:800px;margin:0 auto}.tts-privacy-badge{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #a5d6a7;border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:14px;color:#2e7d32;font-weight:500}.tts-privacy-icon{font-size:18px;flex-shrink:0}.tts-input-section{margin-bottom:16px}.tts-textarea{width:100%;min-height:140px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:15px;font-family:inherit;line-height:1.5;resize:vertical;box-sizing:border-box;transition:border-color .2s}.tts-textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.tts-char-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding:0 4px}.tts-char-hint{font-size:12px;color:var(--text-secondary)}.tts-char-hint.over-limit{color:#d32f2f;font-weight:500}.tts-link-btn{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px}.tts-link-btn:hover{background:var(--bg-tertiary)}.tts-settings{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.tts-setting-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tts-label{font-weight:500;color:var(--text-primary);min-width:70px}.tts-select{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer}.tts-select:focus{outline:none;border-color:var(--accent)}.tts-range{flex:1;cursor:pointer;accent-color:var(--accent)}.tts-speed-value{min-width:40px;text-align:right;font-size:14px;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.tts-hint-row{display:flex;align-items:flex-start;gap:8px;margin:8px 0 16px;padding:10px 12px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:6px;font-size:13px;color:var(--text-secondary);line-height:1.5}.tts-hint-icon{flex-shrink:0}.tts-generate-btn{width:100%;text-align:center}.tts-generate-btn:disabled{opacity:.5;cursor:not-allowed}.tts-loading,.tts-synthesizing{text-align:center;padding:40px 20px}.tts-loading-icon{font-size:48px;margin-bottom:12px;animation:tts-pulse 1.5s infinite}@keyframes tts-pulse{0%,to{opacity:1}50%{opacity:.5}}.tts-loading-title,.tts-synthesizing-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.tts-loading-hint,.tts-synthesizing-hint{font-size:14px;color:var(--text-secondary);margin:0 0 20px}.tts-progress-track{width:100%;max-width:400px;height:8px;background:var(--bg-tertiary);border-radius:4px;margin:0 auto 12px;overflow:hidden}.tts-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#64b5f6);border-radius:4px}.tts-progress-fill.indeterminate{width:30%;animation:tts-indeterminate 1.5s infinite ease-in-out}@keyframes tts-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.tts-progress-text{font-size:13px;color:var(--text-secondary);margin:0}.tts-spinner{width:48px;height:48px;border:4px solid var(--bg-tertiary);border-top-color:var(--accent);border-radius:50%;animation:tts-spin 1s linear infinite;margin:0 auto 16px}@keyframes tts-spin{to{transform:rotate(360deg)}}.tts-result{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px}.tts-result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.tts-result-title{font-weight:600;color:var(--text-primary)}.tts-result-meta{font-size:13px;color:var(--text-secondary);background:var(--bg-tertiary);padding:4px 8px;border-radius:4px}.tts-audio{width:100%;margin-bottom:16px}.tts-actions{display:flex;flex-wrap:wrap;gap:8px}.tts-error{text-align:center;padding:40px 20px}.tts-error-icon{font-size:48px;margin-bottom:12px}.tts-error-msg{font-size:16px;color:var(--text-secondary);margin:0 0 20px}.faq-section{margin-top:40px;border-top:1px solid var(--border);padding-top:24px}.faq-section h2{font-size:20px;margin-bottom:16px;color:var(--text-primary)}.faq-item{margin-bottom:16px}.faq-item h3{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 6px}.faq-item p{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0}.faq-item a{color:var(--accent);text-decoration:none}.faq-item a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent;text-decoration:none}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}@media (max-width: 600px){.tts-actions{flex-direction:column}.tts-actions .btn{width:100%;justify-content:center}.tts-setting-row{flex-direction:column;align-items:flex-start;gap:6px}.tts-select,.tts-range{width:100%}.tts-speed-value{text-align:left}}
