:root{--color-bg-primary:#0a0a0f;--color-bg-secondary:#12121a;--color-bg-tertiary:#1a1a28;--color-bg-elevated:#1e1e30;--color-bg-glass:#12121abf;--color-bg-glass-hover:#1a1a28d9;--color-surface:#22223a;--color-surface-hover:#2a2a48;--color-surface-active:#32325a;--color-border:#ffffff0f;--color-border-hover:#ffffff1f;--color-border-focus:#7864ff80;--color-text-primary:#e8e8f0;--color-text-secondary:#9898b0;--color-text-tertiary:#6868808;--color-text-muted:#484860;--color-accent:#7c6aff;--color-accent-hover:#8d7eff;--color-accent-glow:#7c6aff40;--color-accent-gradient:linear-gradient(135deg, #7c6aff, #4ecfff);--color-accent-gradient-hover:linear-gradient(135deg, #8d7eff, #6dd8ff);--color-success:#22c55e;--color-success-bg:#22c55e1a;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1a;--color-danger:#ef4444;--color-danger-bg:#ef44441a;--color-info:#4ecfff;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.6875rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 30px #7c6aff26;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.175, .885, .32, 1.275);--header-height:64px;--playback-height:80px;--sidebar-width:420px;--max-content-width:900px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-surface);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-surface-hover)}#app{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:100;height:var(--header-height);padding:0 var(--space-xl);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px)saturate(1.5);backdrop-filter:blur(20px)saturate(1.5);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--space-md);display:flex}.header-right{align-items:center;gap:var(--space-sm);display:flex}.logo{align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity var(--transition-base);display:flex}.logo:hover{opacity:.8}.logo-icon{width:28px;height:28px;color:var(--color-accent);filter:drop-shadow(0 0 8px var(--color-accent-glow))}.logo-img{object-fit:contain;width:auto;height:28px}.app-title{font-size:var(--font-size-lg);background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-weight:700}.btn-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.btn-icon svg{width:20px;height:20px}.btn-icon:hover{background:var(--color-surface);color:var(--color-text-primary)}.btn-icon-sm{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.btn-icon-sm svg{width:16px;height:16px}.btn-icon-sm:hover{color:var(--color-text-primary)}.btn-primary{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);background:var(--color-accent-gradient);color:#fff;font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm), 0 0 20px var(--color-accent-glow);border:none;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--color-accent-gradient-hover);box-shadow:var(--shadow-md), 0 0 30px var(--color-accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary .btn-icon-svg{width:16px;height:16px}.btn-secondary{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);font-weight:500;display:inline-flex}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.btn-secondary .btn-icon-svg{width:16px;height:16px}.btn-ghost{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-weight:500;display:inline-flex}.btn-ghost svg{width:16px;height:16px}.btn-ghost:hover{background:var(--color-surface);color:var(--color-text-primary)}.app-main{padding:var(--space-2xl) var(--space-xl);padding-bottom:calc(var(--playback-height) + var(--space-2xl));max-width:var(--max-content-width);flex-direction:column;flex:1;align-items:center;width:100%;margin:0 auto;display:flex}.input-section{width:100%;animation:fadeInUp .5s var(--transition-spring)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.input-tabs{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);display:flex}.tab{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;font-weight:500;display:inline-flex}.tab-icon{width:16px;height:16px}.tab:hover{color:var(--color-text-primary);background:var(--color-surface)}.tab.active{color:var(--color-accent);background:#7c6aff14;border-color:#7c6aff33}.format-badge{border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;margin-left:auto;padding:2px 10px;font-weight:600}.tab-content{display:none}.tab-content.active{animation:.2s fadeIn;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.text-input{width:100%;min-height:300px;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:Inter,monospace;font-size:var(--font-size-base);resize:vertical;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);line-height:1.8}.text-input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-glow), var(--shadow-lg);outline:none}.text-input::placeholder{color:var(--color-text-muted)}.input-actions{margin-top:var(--space-md);justify-content:space-between;align-items:center;display:flex}.char-count{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.drop-zone{min-height:300px;padding:var(--space-2xl);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);transition:all var(--transition-base);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;display:flex}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--color-accent);background:#7c6aff08}.drop-zone.drag-over{box-shadow:0 0 0 3px var(--color-accent-glow);border-style:solid}.drop-icon{width:48px;height:48px;color:var(--color-text-muted);margin-bottom:var(--space-md)}.drop-text{font-size:var(--font-size-base);color:var(--color-text-secondary)}.drop-link{color:var(--color-accent);cursor:pointer;text-underline-offset:3px;text-decoration:underline}.drop-link:hover{color:var(--color-accent-hover)}.drop-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.loading-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0fd9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-spinner{border:3px solid var(--color-surface);border-top-color:var(--color-accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:var(--space-md);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.toast-container{top:calc(var(--header-height) + var(--space-md));right:var(--space-xl);z-index:2000;gap:var(--space-sm);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--font-size-sm);box-shadow:var(--shadow-lg);animation:slideInRight .3s var(--transition-spring);max-width:400px;display:flex}.toast.toast-success{background:linear-gradient(135deg, #22c55e14, var(--color-bg-elevated));border-color:#22c55e4d}.toast.toast-warning{background:linear-gradient(135deg, #f59e0b14, var(--color-bg-elevated));border-color:#f59e0b4d}.toast.toast-error{background:linear-gradient(135deg, #ef444414, var(--color-bg-elevated));border-color:#ef44444d}.toast-exit{animation:.3s forwards slideOutRight}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.form-group{margin-bottom:var(--space-md)}.form-group label{margin-bottom:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500;display:block}.form-input,.form-select{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus{border-color:var(--color-border-focus);outline:none}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239898b0' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.input-with-toggle{align-items:center;display:flex;position:relative}.input-with-toggle .form-input{padding-right:40px}.input-with-toggle .btn-icon-sm{position:absolute;right:4px}.form-range{border-radius:var(--radius-full);background:var(--color-surface);appearance:none;cursor:pointer;outline:none;width:100%;height:4px}.form-range::-webkit-slider-thumb{appearance:none;background:var(--color-accent);cursor:pointer;width:16px;height:16px;box-shadow:0 0 8px var(--color-accent-glow);transition:transform var(--transition-fast);border-radius:50%}.form-range::-webkit-slider-thumb:hover{transform:scale(1.2)}@media (width<=768px){.app-header{padding:0 var(--space-md)}.app-main{padding:var(--space-lg) var(--space-md);padding-bottom:calc(var(--playback-height) + var(--space-lg))}.text-input{min-height:200px}:root{--sidebar-width:100%}}.app-info-card{margin-top:var(--space-2xl);padding:var(--space-xl);background:var(--color-surface-glass);border-radius:var(--border-radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .7s var(--transition-spring);box-sizing:border-box;border:none;width:100%}.info-logo-container{margin-bottom:var(--space-md);justify-content:center;display:flex}.info-logo{object-fit:contain;width:auto;height:64px}.app-info-toggle-container{margin-top:var(--space-md);justify-content:center;display:flex}.app-info-card.collapsed .app-info-toggle-container{margin-top:var(--space-sm)}.app-info-card h3{font-size:var(--font-size-md);color:var(--color-text-primary);margin-bottom:var(--space-md);text-align:center;font-weight:600}.app-info-card.collapsed h3{margin-bottom:0}.btn-toggle-info{align-items:center;gap:var(--space-xs);color:var(--color-accent);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);background:0 0;border:none;font-weight:500;transition:all .2s;display:flex}.btn-toggle-info:hover{color:var(--color-accent-hover);background:#7c6aff14}.btn-toggle-info .toggle-icon{width:16px;height:16px;transition:transform .2s}.app-info-card.collapsed .app-info-content{display:none}.app-info-card.collapsed .btn-toggle-info .toggle-icon{transform:rotate(0)}.app-info-card:not(.collapsed) .btn-toggle-info .toggle-icon{transform:rotate(180deg)}.app-info-card p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-md);line-height:1.6}.privacy-notice{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-accent);background:#7c6aff0d;border-radius:4px;display:flex}.privacy-icon{width:16px;height:16px;color:var(--color-accent);flex-shrink:0;margin-top:2px}.privacy-notice span{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}.welcome-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;width:100%;height:100%;padding:var(--space-lg);opacity:0;box-sizing:border-box;background:#0a0a0cbf;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.welcome-overlay.open{opacity:1}.welcome-modal{background:var(--color-surface-glass);border:1px solid var(--color-border);border-radius:var(--border-radius-xl);padding:var(--space-2xl);box-sizing:border-box;gap:var(--space-lg);flex-direction:column;width:100%;max-width:480px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;transform:translateY(20px);box-shadow:0 20px 40px #0006}.welcome-overlay.open .welcome-modal{transform:translateY(0)}.welcome-header{text-align:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.welcome-logo{object-fit:contain;width:auto;height:48px}.welcome-header h2{font-size:var(--font-size-xl);color:var(--color-text-primary);margin:0;font-weight:700}.welcome-body{font-size:var(--font-size-sm);color:var(--color-text-secondary);gap:var(--space-md);flex-direction:column;line-height:1.6;display:flex}.privacy-box{gap:var(--space-sm);padding:var(--space-md);border-left:3px solid var(--color-accent);background:#7c6aff0f;border-radius:4px;display:flex}.privacy-box p{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;line-height:1.5}.welcome-footer{margin-top:var(--space-sm);justify-content:center;display:flex}.welcome-footer button{width:100%;padding:var(--space-md) var(--space-xl);justify-content:center}.session-card-title,.session-panel-item-title{align-items:center;gap:var(--space-xs);display:flex}.btn-edit-title{color:var(--color-text-muted);cursor:pointer;transition:opacity var(--transition-base), color var(--transition-base), background-color var(--transition-base);border-radius:var(--radius-sm);vertical-align:middle;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.btn-edit-title svg{width:13px;height:13px}@media (hover:hover){.btn-edit-title{opacity:0}.session-card:hover .btn-edit-title,.session-panel-item:hover .btn-edit-title{opacity:.6}}@media (hover:none){.btn-edit-title{opacity:.6}}.btn-edit-title:hover{background-color:var(--color-bg-secondary);opacity:1!important;color:var(--color-accent)!important}.display-section{width:100%;animation:fadeInUp .5s var(--transition-spring)}.display-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.display-header-left{align-items:center;gap:var(--space-md);display:flex}.display-title{font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:600}.display-actions{align-items:center;gap:var(--space-md);display:flex}.segment-count{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.segments-container{gap:var(--space-xs);font-size:var(--font-size-base);transition:font-size var(--transition-base);flex-direction:column;display:flex}body.font-size-small .segments-container{font-size:var(--font-size-sm)}body.font-size-normal .segments-container{font-size:var(--font-size-base)}body.font-size-large .segments-container{font-size:1.125rem}body.font-size-xl .segments-container{font-size:1.375rem}body.font-size-large .app-main{--max-content-width:1000px}body.font-size-xl .app-main{--max-content-width:1100px}.segment{padding:var(--space-md) var(--space-lg);padding-left:calc(var(--space-lg) + 4px);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);background:0 0;border-left:3px solid #0000;position:relative}.segment:before{content:"";border-radius:var(--radius-full);width:3px;transition:background var(--transition-base);background:0 0;position:absolute;top:0;bottom:0;left:0}.segment:hover{border-left-color:var(--color-surface-hover);background:#7c6aff08}.segment.active{border-left-color:var(--color-accent);background:#7c6aff0f;box-shadow:inset 0 0 30px #7c6aff08}.segment.active:before{background:var(--color-accent);box-shadow:0 0 12px var(--color-accent-glow)}.segment.loading{border-left-color:var(--color-warning)}.segment.loading:after{content:"";top:50%;right:var(--space-md);border:2px solid var(--color-surface);border-top-color:var(--color-warning);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;position:absolute;transform:translateY(-50%)}.segment-heading{color:var(--color-text-primary);margin-bottom:var(--space-xs);letter-spacing:-.02em;font-size:1.6em;font-weight:700}.segment-heading.h2{font-size:1.35em;font-weight:600}.segment-heading.h3{color:var(--color-text-secondary);font-size:1.15em;font-weight:600}.segment-text{color:var(--color-text-secondary);font-size:1em;line-height:1.8}.segment-text p{margin-bottom:var(--space-sm)}.segment-text p:last-child{margin-bottom:0}.segment-text strong{color:var(--color-text-primary);font-weight:600}.segment-text em{font-style:italic}.segment-text ul,.segment-text ol{padding-left:var(--space-lg);margin-bottom:var(--space-sm)}.segment-text li{margin-bottom:var(--space-xs)}.segment-text a{color:var(--color-accent);text-decoration:none}.segment-text a:hover{text-decoration:underline}.segment-text code{border-radius:var(--radius-sm);background:var(--color-surface);padding:2px 6px;font-family:Fira Code,Consolas,monospace;font-size:.875em}.segment-text blockquote{padding-left:var(--space-md);border-left:3px solid var(--color-surface-hover);color:var(--color-text-tertiary);font-style:italic}.segment-meta{justify-content:flex-end;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);opacity:0;transition:opacity var(--transition-fast);display:flex}.segment:hover .segment-meta,.segment.active .segment-meta{opacity:1}.cache-indicator{font-size:var(--font-size-xs);color:var(--color-text-muted);border-radius:var(--radius-full);background:var(--color-surface);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.cache-indicator.cached{color:var(--color-success);background:var(--color-success-bg)}.segment-char-count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.segment-play-btn{top:50%;right:var(--space-md);background:var(--color-accent);color:#fff;cursor:pointer;opacity:0;width:32px;height:32px;transition:all var(--transition-fast);box-shadow:0 0 12px var(--color-accent-glow);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translateY(-50%)}.segment-play-btn svg{width:14px;height:14px;margin-left:2px}.segment:hover .segment-play-btn{opacity:1}.segment.loading .segment-play-btn{display:none}.segment-play-btn:hover{transform:translateY(-50%)scale(1.1)}@keyframes pulseHighlight{0%,to{background:#7c6aff0f}50%{background:#7c6aff1a}}.segment.active{animation:3s ease-in-out infinite pulseHighlight}.segment--split-start,.segment--split-middle,.segment--split-end{background:#7c6aff0a;border-left-color:#0000;margin-top:2px}.segment--split-start:before{background:var(--color-accent);opacity:.55;border-radius:var(--radius-full) var(--radius-full) 0 0;top:var(--space-sm);bottom:0}.segment--split-middle:before{background:var(--color-accent);opacity:.55;border-radius:0;top:0;bottom:0}.segment--split-end:before{background:var(--color-accent);opacity:.55;border-radius:0 0 var(--radius-full) var(--radius-full);top:0;bottom:var(--space-sm)}.segment--split-start:after{content:"↓ wird fortgesetzt";bottom:6px;right:var(--space-md);letter-spacing:.03em;color:var(--color-accent);opacity:.6;pointer-events:none;font-size:10px;font-weight:500;position:absolute}.segment--split-middle:after,.segment--split-end:after{content:"↑ Fortsetzung";top:6px;right:var(--space-md);letter-spacing:.03em;color:var(--color-accent);opacity:.6;pointer-events:none;font-size:10px;font-weight:500;position:absolute}.segment--split-start.loading:after,.segment--split-middle.loading:after,.segment--split-end.loading:after{display:none}.segment--split-start:hover,.segment--split-middle:hover,.segment--split-end:hover{background:#7c6aff12}.segment--split-start.active,.segment--split-middle.active,.segment--split-end.active{background:#7c6aff1a;animation:3s ease-in-out infinite pulseHighlight}.segment--split-start.active:before,.segment--split-middle.active:before,.segment--split-end.active:before{opacity:1;box-shadow:0 0 12px var(--color-accent-glow)}hr.tts-split{display:none}.minimap-container{right:var(--space-lg);top:calc(var(--header-height) + 16px);bottom:calc(var(--playback-height) + 24px);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px)saturate(1.2);backdrop-filter:blur(12px)saturate(1.2);z-index:50;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;cursor:pointer;box-sizing:border-box;background:#16161cb3;border-radius:4px;flex-direction:column;width:20px;padding:4px 0;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),background .2s;display:flex;position:fixed;transform:translateY(0)translate(20px);box-shadow:0 10px 30px #00000040}.minimap-container:hover{background:#16161cd9}.minimap-container.visible{opacity:1;pointer-events:auto;transform:translateY(0)translate(0)}.minimap-viewport{pointer-events:none;z-index:1;background:#7c6aff14;border:1.5px solid #7c6aff73;border-radius:3px;transition:background .2s,border-color .2s;position:absolute;left:1px;right:1px}.minimap-container:hover .minimap-viewport{background:#7c6aff26;border-color:#7c6affb3}.minimap-ticks{z-index:2;box-sizing:border-box;pointer-events:none;flex-direction:column;flex:1;gap:3px;width:100%;min-height:0;padding:0 2px;display:flex;position:relative}.minimap-dot{cursor:pointer;width:100%;transition:all var(--transition-fast);pointer-events:auto;background:#fff3;border-radius:1px;flex-shrink:1;min-height:5px;position:relative}.minimap-dot:hover{background:#ffffff8c}.minimap-dot.active{background:var(--color-accent);box-shadow:0 0 6px var(--color-accent-glow)}.minimap-dot.minimap-dot--heading{background:#7c6aff73;min-height:7px}.minimap-dot.minimap-dot--heading:hover{background:#7c6affb3}.minimap-dot.minimap-dot--heading.active{background:var(--color-accent);box-shadow:0 0 8px var(--color-accent-glow)}.minimap-dot:after{content:attr(data-title);background:var(--color-surface-glass);border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-primary);white-space:nowrap;opacity:0;pointer-events:none;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;border-radius:6px;padding:4px 10px;position:absolute;top:50%;right:24px;transform:translateY(-50%)translate(10px);box-shadow:0 4px 15px #0000004d}.minimap-dot:hover:after{opacity:1;transform:translateY(-50%)translate(0)}@media (width<=768px){.minimap-container{display:none!important}}.playback-bar{z-index:200;background:var(--color-bg-glass);-webkit-backdrop-filter:blur(24px)saturate(1.5);backdrop-filter:blur(24px)saturate(1.5);border-top:1px solid var(--color-border);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 32px #0000004d}.playback-bar-content{height:76px;padding:0 var(--space-xl);justify-content:space-between;align-items:center;display:flex}.playback-bar-left{align-items:center;gap:var(--space-lg);flex:1;min-width:300px;display:flex}.usage-display{flex-direction:column;gap:4px;min-width:180px;display:flex}.usage-info{align-items:baseline;gap:var(--space-sm);display:flex}.usage-chars{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:500}.usage-cost{font-size:var(--font-size-xs);color:var(--color-text-muted)}.usage-bar-container{border-radius:var(--radius-full);background:var(--color-surface);width:100%;height:4px;overflow:hidden}.usage-bar{border-radius:var(--radius-full);background:var(--color-success);height:100%;transition:width var(--transition-base), background var(--transition-base);min-width:0}.usage-bar.warning{background:var(--color-warning)}.usage-bar.danger{background:var(--color-danger)}.playback-controls{align-items:center;gap:var(--space-sm);display:flex}.btn-control{width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-control svg{width:18px;height:18px}.btn-control:hover:not(:disabled){background:var(--color-surface);color:var(--color-text-primary)}.btn-control#btn-autoplay.active{color:var(--color-accent);box-shadow:0 0 12px var(--color-accent-glow);opacity:1;background:#7c6aff14}.btn-control:disabled{opacity:.3;cursor:not-allowed}.btn-play{background:var(--color-accent-gradient);color:#fff;cursor:pointer;width:52px;height:52px;transition:all var(--transition-base);box-shadow:0 0 24px var(--color-accent-glow), var(--shadow-md);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-play svg{width:22px;height:22px}.btn-play #icon-play{margin-left:3px}.btn-play:hover:not(:disabled){box-shadow:0 0 36px var(--color-accent-glow), var(--shadow-lg);transform:scale(1.08)}.btn-play:active:not(:disabled){transform:scale(.95)}.btn-play:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-selection{width:auto;padding:0 var(--space-md);border-radius:var(--radius-full);align-items:center;gap:4px;display:flex}.btn-selection svg{width:14px;height:14px}.selection-label{font-size:var(--font-size-xs);font-weight:500}.controls-divider{background:var(--color-border);width:1px;height:24px;margin:0 var(--space-xs)}.tts-loading-indicator{opacity:0;pointer-events:none;align-items:center;gap:10px;max-width:0;padding:0;transition:max-width .3s cubic-bezier(.4,0,.2,1),opacity .2s,padding .3s;display:flex;overflow:hidden}.tts-loading-indicator.is-loading{max-width:200px;padding:0 var(--space-md);opacity:1;pointer-events:auto}.tts-spinner{align-items:center;gap:5px;display:flex}.tts-spinner span{background:#7c6aff;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite both tts-bounce;display:block}.tts-spinner span:first-child{animation-delay:0s}.tts-spinner span:nth-child(2){animation-delay:.18s}.tts-spinner span:nth-child(3){animation-delay:.36s}@keyframes tts-bounce{0%,80%,to{opacity:.4;transform:translateY(0)scale(.8)}40%{opacity:1;transform:translateY(-6px)scale(1.1)}}.tts-loading-label{font-size:var(--font-size-xs);color:#7c6aff;white-space:nowrap;letter-spacing:.03em;text-shadow:0 0 12px #7c6aff80;font-weight:600}.btn-play.is-loading{animation:1s ease-in-out infinite play-btn-pulse}@keyframes play-btn-pulse{0%,to{box-shadow:0 0 24px #7c6aff4d,0 0 #7c6aff80}50%{box-shadow:0 0 36px #7c6aff99,0 0 0 8px #7c6aff00}}.playback-timeline{background:var(--color-surface);cursor:pointer;width:100%;height:4px;transition:height var(--transition-fast);position:relative}.playback-timeline:hover{height:6px}.timeline-slider-container{width:100%;height:100%;position:relative}.timeline-slider{opacity:0;cursor:pointer;z-index:10;width:100%;height:20px;margin:0;padding:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.timeline-slider:disabled{cursor:not-allowed}.timeline-progress-bar{background:var(--color-accent-gradient);z-index:5;pointer-events:none;width:0%;height:100%;transition:width .1s linear;position:absolute;top:0;left:0}.playback-time-container{min-width:300px;font-size:var(--font-size-xs);color:var(--color-text-secondary);flex:1;justify-content:flex-end;align-items:center;gap:6px;font-family:monospace;display:flex}.time-separator{color:var(--color-text-muted)}@media (width<=768px){.playback-bar-content{padding:0 var(--space-md);height:70px}.playback-bar-left,.playback-time-container{display:none}.playback-controls{justify-content:center;width:100%}}.settings-overlay{z-index:300;opacity:0;visibility:hidden;transition:all var(--transition-base);background:#00000080;position:fixed;inset:0}.settings-overlay.open{opacity:1;visibility:visible}.settings-panel{z-index:310;width:var(--sidebar-width);background:var(--color-bg-secondary);border-left:1px solid var(--color-border);max-width:100vw;transition:transform var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-8px 0 40px #0006}.settings-panel.open{transform:translate(0)}.settings-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.settings-header h2{font-size:var(--font-size-lg);font-weight:600}.settings-body{padding:var(--space-lg) var(--space-xl);flex:1;overflow-y:auto}.settings-section{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.settings-section:last-child{border-bottom:none}.settings-section-title{align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);color:var(--color-text-primary);margin-bottom:var(--space-lg);font-weight:600;display:flex}.section-icon{width:18px;height:18px;color:var(--color-accent)}.connection-status{margin-top:var(--space-sm);font-size:var(--font-size-sm);min-height:24px}.connection-status.success{color:var(--color-success)}.connection-status.error{color:var(--color-danger)}.voice-preview{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.voice-tier,.voice-gender{border-radius:var(--radius-full);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;font-weight:600;display:inline-flex}.voice-tier{color:var(--color-accent);background:#7c6aff1a}.voice-gender{background:var(--color-surface);color:var(--color-text-secondary)}.pricing-table{border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.pricing-table table{border-collapse:collapse;width:100%}.pricing-table th{padding:var(--space-sm) var(--space-md);text-align:left;font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;background:var(--color-surface);border-bottom:1px solid var(--color-border);font-weight:600}.pricing-table td{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.pricing-table tr:last-child td{border-bottom:none}.pricing-table tr:hover td{background:#7c6aff08}.pricing-table td:first-child{color:var(--color-text-primary);font-weight:500}.pricing-table td:nth-child(2){color:var(--color-success)}@keyframes pulseGlow{0%{border-color:var(--color-border);box-shadow:none}50%{border-color:var(--color-accent);box-shadow:0 0 15px #7c6aff66}to{border-color:var(--color-border);box-shadow:none}}.highlight-attention{animation:1s infinite pulseGlow}.label-with-help{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);display:flex}.label-with-help label{margin-bottom:0!important}.btn-help-icon{width:18px;height:18px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-help-icon svg{width:14px;height:14px}.btn-help-icon:hover{color:var(--color-accent);background:#7c6aff1a}.api-help-box{margin-top:var(--space-sm);padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--border-radius-md);background:#ffffff05;animation:.3s fadeIn}.api-help-box h4{font-size:var(--font-size-xs);color:var(--color-text-primary);margin-bottom:var(--space-xs);margin-top:0;font-weight:600}.api-help-box ol{padding-left:var(--space-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;line-height:1.5}.api-help-box li{margin-bottom:4px}.api-help-box a{color:var(--color-accent);font-weight:500;text-decoration:none}.api-help-box a:hover{text-decoration:underline}.sessions-section{margin-top:var(--space-xl);padding:0 var(--space-md);width:100%;max-width:860px;margin-left:auto;margin-right:auto;animation:.4s fadeInUp}.sessions-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.sessions-title{align-items:center;gap:var(--space-sm);font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600;display:flex}.sessions-title svg{width:20px;height:20px;color:var(--color-accent)}.sessions-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-full);padding:2px 10px}.sessions-list{gap:var(--space-sm);flex-direction:column;display:flex}.session-card{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);display:flex;position:relative;overflow:hidden}.session-card:before{content:"";background:var(--color-accent-gradient);opacity:0;transition:opacity var(--transition-base);z-index:0;position:absolute;inset:0}.session-card:hover{border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:0 4px 20px #0003}.session-card:hover:before{opacity:.04}.session-card.active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent), 0 4px 20px #7c6aff26}.session-icon{border-radius:var(--radius-md);width:40px;min-width:40px;height:40px;color:var(--color-accent);z-index:1;background:#7c6aff1a;justify-content:center;align-items:center;display:flex}.session-icon svg{width:20px;height:20px}.session-content{z-index:1;flex:1;min-width:0}.session-card-title{font-size:var(--font-size-base);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-weight:500;overflow:hidden}.session-meta{align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-text-tertiary);flex-wrap:wrap;display:flex}.session-meta-separator{color:var(--color-text-muted)}.session-actions{align-items:center;gap:var(--space-xs);z-index:1;opacity:0;transition:opacity var(--transition-fast);display:flex}.session-card:hover .session-actions{opacity:1}.session-btn-delete{width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.session-btn-delete svg{width:16px;height:16px}.session-btn-delete:hover{color:var(--color-danger);background:var(--color-danger-bg)}.session-btn-delete.confirm{color:#fff;background:var(--color-danger);animation:.6s pulse-danger}.session-btn-delete.confirm svg{display:none}.session-btn-delete.confirm:after{content:"✕";font-size:12px;font-weight:700}@keyframes pulse-danger{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.sessions-empty{padding:var(--space-2xl) var(--space-lg);color:var(--color-text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.sessions-empty svg{width:48px;height:48px;margin-bottom:var(--space-md);opacity:.3}.sessions-empty p{font-size:var(--font-size-sm);line-height:1.5}.sessions-overlay{z-index:290;opacity:0;visibility:hidden;transition:all var(--transition-base);background:#00000080;position:fixed;inset:0}.sessions-overlay.open{opacity:1;visibility:visible}.sessions-panel{z-index:295;width:var(--sidebar-width);background:var(--color-bg-secondary);border-right:1px solid var(--color-border);max-width:90vw;transition:transform var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%);box-shadow:8px 0 40px #0006}.sessions-panel.open{transform:translate(0)}.sessions-panel-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sessions-panel-header h2{font-size:var(--font-size-lg);align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.sessions-panel-header h2 svg{width:20px;height:20px;color:var(--color-accent)}.sessions-panel-body{padding:var(--space-md);flex:1;overflow-y:auto}.session-panel-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-xs);border:1px solid #0000;display:flex}.session-panel-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.session-panel-item.active{border-color:var(--color-accent);background:#7c6aff1a}.session-panel-item-icon{border-radius:var(--radius-sm);width:32px;min-width:32px;height:32px;color:var(--color-accent);background:#7c6aff14;justify-content:center;align-items:center;display:flex}.session-panel-item-icon svg{width:16px;height:16px}.session-panel-item-content{flex:1;min-width:0}.session-panel-item-title{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.session-panel-item-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:1px}.session-panel-item-delete{width:28px;min-width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);opacity:0;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.session-panel-item:hover .session-panel-item-delete{opacity:1}.session-panel-item-delete svg{width:14px;height:14px}.session-panel-item-delete:hover{color:var(--color-danger);background:var(--color-danger-bg)}.session-panel-item-delete.confirm{opacity:1;color:#fff;background:var(--color-danger);animation:.6s pulse-danger}.session-panel-item-delete.confirm svg{display:none}.session-panel-item-delete.confirm:after{content:"✕";font-size:11px;font-weight:700}.sessions-storage-info{padding:var(--space-sm) var(--space-md);margin-top:var(--space-md);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.btn-sessions{align-items:center;gap:var(--space-xs);border:1px solid var(--color-border);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(8px);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);padding:6px 12px;display:inline-flex}.btn-sessions svg{width:16px;height:16px}.btn-sessions:hover{color:var(--color-text-primary);border-color:var(--color-accent);background:#7c6aff14}@media (width<=640px){.sessions-section{padding:0 var(--space-sm)}.session-card{padding:var(--space-sm) var(--space-md)}.session-icon{width:32px;min-width:32px;height:32px}.session-icon svg{width:16px;height:16px}.session-actions{opacity:1}.sessions-panel{width:85vw}}
