:root{--bg-root:#070810;--bg-surface:#0e1120;--bg-card:#141828;--bg-elevated:#1c2135;--bg-input:#0b0e1a;--border:#252a42;--border-focus:#059669;--border-hover:#3a4060;--text:#c8cde6;--text-muted:#5e6484;--text-heading:#f0f2ff;--text-link:#34d399;--accent:#10b981;--accent-light:#34d399;--accent-dark:#059669;--accent-glow:#10b98159;--accent-bg:#10b9811f;--status-draft:#475569;--status-processing:#3b82f6;--status-in_progress:#f59e0b;--status-completed:#22c55e;--status-failed:#f43f5e;--status-pending:#475569;--status-running:#3b82f6;--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 24px #00000080;--shadow-lg:0 8px 48px #0009;--shadow-glow:0 0 24px #10b98140;--sans:"Inter", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;font-family:var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg-root);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}*,:before,:after{box-sizing:border-box}body{background:var(--bg-root);min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{color:var(--text-heading);margin:0;font-weight:600;line-height:1.3}p{margin:0}a{color:var(--text-link);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-light)}input,textarea,select,button{font-family:var(--sans);font-size:14px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell--editor{height:100vh;overflow:hidden}.page-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:32px 24px}.page-loading{min-height:60vh;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex}.page-loading:before{content:"";border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}button{cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:var(--accent);color:#fff;border:none;padding:8px 16px;font-size:14px;font-weight:500;line-height:1.5;transition:all .2s}button:hover:not(:disabled){background:var(--accent-light);box-shadow:var(--shadow-glow);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{border:1px solid var(--border);color:var(--text);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-hover);box-shadow:none;transform:translateY(-1px)}.btn-ghost{color:var(--text-muted);background:0 0;padding:6px 12px}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text);box-shadow:none}.btn-danger{color:#f87171;background:#f43f5e26;border:1px solid #f43f5e4d}.btn-danger:hover:not(:disabled){box-shadow:none;background:#f43f5e40}.btn-sm{padding:5px 12px;font-size:13px}.btn-lg{border-radius:var(--radius-md);padding:11px 24px;font-size:15px}input[type=text],input[type=email],input[type=password],textarea,select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-heading);outline:none;width:100%;padding:10px 14px;transition:border-color .2s,box-shadow .2s}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,textarea:focus,select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-bg)}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:80px;font-family:var(--mono);font-size:13px;line-height:1.6}label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.status{letter-spacing:.3px;text-transform:capitalize;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-draft,.status-pending{color:#94a3b8;background:#47556933}.status-processing{color:#60a5fa;background:#3b82f626}.status-in_progress{color:#fbbf24;background:#f59e0b26}.status-running{color:#60a5fa;background:#3b82f626}.status-completed{color:#4ade80;background:#22c55e1f}.status-failed{color:#fb7185;background:#f43f5e1f}.status-processing:before,.status-running:before{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;background:#0e1120e6;flex-shrink:0;align-items:center;gap:0;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.navbar-brand{background:linear-gradient(135deg,#34d399,#10b981);-webkit-text-fill-color:transparent;letter-spacing:-.3px;-webkit-background-clip:text;background-clip:text;flex-shrink:0;margin-right:32px;font-size:16px;font-weight:700;color:var(--text-heading)!important}.navbar-links{flex:1;gap:4px;display:flex}.navbar-links a{border-radius:var(--radius-sm);color:var(--text-muted);padding:6px 14px;font-size:14px;font-weight:500;transition:all .2s}.navbar-links a:hover,.navbar-links a.active{background:var(--bg-elevated);color:var(--text-heading)}.navbar-user{align-items:center;gap:12px;margin-left:auto;display:flex}.navbar-user span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:13px;overflow:hidden}.navbar-user button{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;padding:5px 14px;font-size:13px}.navbar-user button:hover{color:#fb7185;box-shadow:none;background:#f43f5e1a;border-color:#f43f5e4d;transform:none}.navbar-project-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.navbar-back-btn{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;padding:4px 12px;font-size:12px;transition:background .15s,color .15s}.navbar-back-btn:hover{background:var(--bg-elevated);color:var(--text);box-shadow:none;transform:none}.navbar-sep{color:var(--border);flex-shrink:0;font-size:14px}.navbar-project-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:14px;font-weight:600;overflow:hidden}.navbar-project-status{flex-shrink:0}.step-nav-count{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);vertical-align:middle;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:16px;margin-left:5px;padding:0 6px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.step-nav-item.active .step-nav-count{color:var(--accent-light);background:#10b98126;border-color:#10b98159}.step-nav-completed .step-nav-count{color:#4ade80;background:#22c55e1a;border-color:#22c55e4d}.auth-page{background:radial-gradient(ellipse at 50% 0%, #10b98126 0%, transparent 60%), var(--bg-root);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:40px 40px 36px}.auth-card .auth-logo{text-align:center;margin-bottom:32px}.auth-card .auth-logo h1{background:linear-gradient(135deg,#34d399,#10b981);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:22px;font-weight:700}.auth-card .auth-logo p{color:var(--text-muted);font-size:13px}.auth-card h2{text-align:center;color:var(--text-heading);margin-bottom:24px;font-size:20px;font-weight:600}.auth-card form{flex-direction:column;gap:14px;display:flex}.auth-card .form-group{flex-direction:column;gap:6px;display:flex}.auth-card button[type=submit]{border-radius:var(--radius-md);background:linear-gradient(135deg,#10b981,#059669);width:100%;margin-top:4px;padding:11px;font-size:15px;font-weight:600}.auth-card button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 4px 20px #10b98166}.auth-card .auth-footer{text-align:center;color:var(--text-muted);margin-top:20px;font-size:13px}.auth-card .auth-footer a{font-weight:500}.error{border-radius:var(--radius-sm);color:#fb7185;background:#f43f5e1a;border:1px solid #f43f5e40;margin-bottom:4px;padding:10px 14px;font-size:13px}.projects-page header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:20px;display:flex}.projects-page header h1{font-size:24px;font-weight:700}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;padding:20px;transition:all .2s;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(135deg, var(--accent-bg), transparent);opacity:0;transition:opacity .2s;position:absolute;inset:0}.project-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-card:hover:before{opacity:1}.project-card h3{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;margin-bottom:10px;font-size:16px;font-weight:600;overflow:hidden}.project-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-meta .step{color:var(--text-muted);background:var(--bg-elevated);border-radius:20px;padding:3px 8px;font-size:12px}.project-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:10px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.project-progress{background:var(--bg-elevated);border-radius:2px;height:4px;margin-top:14px;overflow:hidden}.project-progress-bar{background:linear-gradient(90deg, var(--accent), var(--accent-light));border-radius:2px;height:100%;transition:width .4s}.empty-state{text-align:center;min-height:300px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.empty-state .empty-icon{opacity:.3;font-size:48px}.empty-state p{font-size:15px}.projects-table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);overflow-x:auto}.projects-table{border-collapse:collapse;width:100%;font-size:13px}.projects-table thead tr{background:var(--bg-elevated);border-bottom:1px solid var(--border)}.projects-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:11px 14px;font-size:12px;font-weight:600}.projects-table-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.projects-table-row:last-child{border-bottom:none}.projects-table-row:hover{background:var(--bg-elevated)}.projects-table td{vertical-align:middle;padding:12px 14px}.col-idx{color:var(--text-muted);text-align:center;width:36px;font-size:12px}.col-name{min-width:200px;max-width:320px}.proj-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;max-width:300px;font-weight:600;overflow:hidden}.proj-desc-sm{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:300px;margin-top:3px;font-size:12px;overflow:hidden}.proj-progress-mini{background:var(--bg-elevated);border-radius:2px;max-width:160px;height:3px;margin-top:6px;overflow:hidden}.proj-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-light));border-radius:2px;height:100%;transition:width .4s}.col-genre{color:var(--text-muted);white-space:nowrap;font-size:12px}.col-lang{white-space:nowrap;font-size:12px}.col-status{white-space:nowrap}.col-step{white-space:nowrap;align-items:center;gap:6px;display:flex}.step-badge{color:var(--accent-light);background:var(--accent-bg);border-radius:20px;padding:2px 7px;font-size:11px;font-weight:700}.step-label{color:var(--text-muted);font-size:12px}.col-num{text-align:center;font-variant-numeric:tabular-nums;color:var(--text)}.col-dur{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px}.col-date{white-space:nowrap;color:var(--text-muted);font-size:12px}.muted{color:var(--text-muted)}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info{color:var(--text-muted);font-size:13px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;background:#000000b3;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);padding:28px;animation:.2s slideUp}.create-modal{flex-direction:column;gap:0;max-width:580px;max-height:90vh;display:flex;overflow-y:auto}.create-modal form{flex-direction:column;gap:18px;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{font-size:18px}.modal-close{color:var(--text-muted);padding:4px 10px;font-size:16px;line-height:1}.modal h2{margin-bottom:20px;font-size:18px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.modal-actions button:first-child{border:1px solid var(--border);color:var(--text-muted);background:0 0}.modal-actions button:first-child:hover{background:var(--bg-elevated);color:var(--text);box-shadow:none;transform:none}.lang-grid{gap:10px;display:flex}.lang-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-md);text-align:center;flex:1;padding:10px 16px;font-size:14px;transition:all .2s}.lang-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text);box-shadow:none;background:var(--bg-elevated);transform:none}.lang-btn.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-light);box-shadow:0 0 0 1px var(--accent)}.label-hint{color:var(--text-muted);background:var(--bg-elevated);text-transform:none;letter-spacing:0;border-radius:10px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:400}.template-loading,.template-empty{color:var(--text-muted);padding:12px 0;font-size:13px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.template-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;padding:12px 10px;transition:all .15s}.template-card:hover{border-color:var(--border-hover);background:var(--bg-card)}.template-card.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 1px var(--accent)}.template-icon{margin-bottom:6px;font-size:22px}.template-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:13px;font-weight:600;overflow:hidden}.template-genre{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.advanced-toggle{color:var(--text-muted);align-self:flex-start;padding:4px 8px;font-size:12px}.advanced-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:14px;padding:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.create-modal.create-modal-wide{max-width:920px}.create-modal-grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:22px;display:grid}.create-col{flex-direction:column;gap:18px;min-width:0;display:flex}.create-col-advanced{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);gap:16px;padding:16px}.advanced-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;font-size:13px;font-weight:700}.settings-block{flex-direction:column;gap:10px;display:flex}.settings-block-title{color:var(--text-heading);font-size:12px;font-weight:600}.toggle-group{flex-direction:column;gap:2px;display:flex}.toggle-row{border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:10px;padding:8px 10px;transition:background .15s;display:flex}.toggle-row:hover{background:var(--bg-elevated)}.toggle-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:2px}.toggle-text{flex-direction:column;gap:1px;line-height:1.3;display:flex}.toggle-label{color:var(--text);font-size:13px;font-weight:500}.toggle-hint{color:var(--text-muted);font-size:11px}.toggle-row.is-disabled{opacity:.5;cursor:not-allowed}.toggle-row.is-disabled:hover{background:0 0}.toggle-row.is-disabled input{cursor:not-allowed}.toggle-suboption{border-left:2px solid var(--border);margin-top:4px;padding-left:12px}@media (width<=760px){.create-modal-grid{grid-template-columns:1fr}}@media (width<=480px){.form-row{grid-template-columns:1fr}.template-grid{grid-template-columns:repeat(3,1fr)}.lang-grid{flex-direction:column}}.prompt-editor{flex-direction:column;gap:8px;display:flex}.prompt-editor-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.prompt-editor-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.prompt-editor-actions{align-items:center;gap:6px;display:flex}.prompt-editor-saved{color:#4ade80;align-items:center;gap:4px;font-size:11px;display:flex}.prompt-editor textarea{font-family:var(--mono);resize:vertical;background:var(--bg-surface);border-color:var(--border);min-height:120px;font-size:13px;line-height:1.6;transition:border-color .2s,box-shadow .2s}.prompt-editor textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.prompt-editor.saved textarea{border-color:#4ade804d}.prompt-editor-notice{color:var(--accent-light);background:var(--accent-bg);border-radius:var(--radius-sm);border:1px solid #10b9814d;padding:7px 10px;font-size:12px}.dashboard-page header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:20px;display:flex}.dashboard-page header h1{font-size:24px;font-weight:700}.dashboard-page header p{color:var(--text-muted);margin-top:4px;font-size:14px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:all .2s;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-light));height:3px;position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.stat-icon{margin-bottom:10px;font-size:22px}.stat-value{color:var(--text-heading);margin-bottom:6px;font-size:28px;font-weight:700;line-height:1}.stat-label{color:var(--text-muted);font-size:13px}.dashboard-sections{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=900px){.dashboard-sections{grid-template-columns:1fr}}.dashboard-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.dashboard-section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dashboard-section-header h3{font-size:15px;font-weight:600}.usage-table{border-collapse:collapse;width:100%}.usage-table th,.usage-table td{text-align:left;border-bottom:1px solid var(--border);padding:11px 20px;font-size:13px}.usage-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-elevated);font-size:11px;font-weight:600}.usage-table td{color:var(--text)}.usage-table tr:last-child td{border-bottom:none}.usage-table tbody tr:hover td{background:var(--bg-elevated)}.usage-amount{color:var(--accent-light);font-weight:600}.recent-projects{margin:0;padding:0;list-style:none}.recent-project-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:13px 20px;transition:background .15s;display:flex}.recent-project-item:last-child{border-bottom:none}.recent-project-item:hover{background:var(--bg-elevated)}.recent-project-item h4{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:14px;font-weight:500;overflow:hidden}.recent-project-item p{color:var(--text-muted);font-size:12px}.editor-layout{flex:1;min-height:0;display:flex;overflow:hidden}.editor-sidebar{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow-y:auto}.editor-sidebar-header{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:16px;display:flex}.editor-project-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.back-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;align-self:flex-start;padding:5px 12px;font-size:12px}.back-btn:hover{background:var(--bg-elevated);color:var(--text);box-shadow:none;transform:none}.step-nav{flex-direction:column;flex:1;gap:2px;padding:8px 0;display:flex}.step-nav-item{color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:10px;width:100%;padding:10px 16px;transition:background .15s,color .15s;display:flex}.step-nav-item:hover:not(:disabled){background:var(--bg-elevated);color:var(--text);box-shadow:none;transform:none}.step-nav-item.active{background:var(--accent-bg);color:var(--text-heading);border-right:2px solid var(--accent)}.step-nav-item.active .step-nav-label{color:var(--accent-light)}.step-nav-indicator{background:var(--bg-elevated);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;line-height:1;display:flex}.step-nav-completed .step-nav-indicator{color:#4ade80;background:#22c55e1f;border-color:#22c55e59}.step-nav-failed .step-nav-indicator{color:#fb7185;background:#f43f5e1f;border-color:#f43f5e59}.step-nav-running .step-nav-indicator{color:#60a5fa;background:#3b82f61f;border-color:#3b82f659;animation:1s ease-in-out infinite pulse}.step-nav-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.step-nav-label{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.step-nav-desc{color:var(--text-muted);font-size:11px}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot-pending{background:var(--status-pending)}.status-dot-running{background:#60a5fa;animation:1s ease-in-out infinite pulse}.status-dot-completed{background:#4ade80}.status-dot-failed{background:#fb7185}.sidebar-actions{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:16px;display:flex}.gen-settings{border-top:1px solid var(--border)}.gen-settings-head{width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;font-size:12px;font-weight:600;display:flex}.gen-settings-head:hover{background:var(--bg-elevated);box-shadow:none;transform:none}.gen-settings-meta{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:500}.gen-settings-body{flex-direction:column;gap:2px;padding:2px 8px 12px;display:flex}.gen-settings-sub-head{letter-spacing:.5px;text-transform:uppercase;width:100%;color:var(--text-muted);border:none;border-top:1px solid var(--border);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;margin-top:4px;padding:6px 4px;font-size:11px;font-weight:700;display:flex}.gen-settings-sub-head:hover{color:var(--text);background:var(--bg-elevated)}.gen-settings-sub-body{flex-direction:column;gap:2px;padding:2px 0 4px;display:flex}.provider-select-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.provider-select-label{color:var(--text-muted);min-width:80px;font-size:11px;font-weight:600}.editor-main{flex-direction:row;flex:1;min-width:0;display:flex;overflow:hidden}.editor-tab-sidebar{border-right:1px solid var(--border);background:var(--bg-surface);flex-direction:column;flex-shrink:0;gap:0;width:260px;display:flex;overflow-y:auto}.editor-tab-sidebar-head{border-bottom:1px solid var(--border);padding:14px 16px 12px}.editor-tab-sidebar-controls{flex-direction:column;flex:1;gap:0;padding:16px;display:flex}.editor-tab-content{flex:1;min-width:0;overflow-y:auto}.editor-main-title{align-items:center;gap:12px;display:flex}.editor-header-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor-header-controls .provider-bar-options{flex-wrap:wrap}.header-ctrl-sep{background:var(--border);flex-shrink:0;width:100%;height:1px;margin:8px 0}.editor-step-icon{font-size:24px;line-height:1}.editor-main-title h2{margin-bottom:2px;font-size:15px;font-weight:600}.editor-main-title p{color:var(--text-muted);font-size:11px}.editor-tab-bg-music{border-top:1px solid var(--border);background:linear-gradient(135deg,#6366f114,#10b9810d);padding:12px 16px 14px}.editor-tab-bg-music .provider-bar{background:0 0;border-bottom:none;flex-direction:column;align-items:stretch;padding:6px 0 0}.editor-tab-bg-music .provider-bar-stack{padding-top:4px}.editor-tab-sidebar .provider-bar{background:0 0;border-bottom:none;flex-direction:column;align-items:stretch;gap:10px;padding:0}.editor-tab-sidebar .story-settings{background:0 0;border:none;border-radius:0;gap:16px;margin-bottom:0;padding:0}.editor-tab-sidebar .story-settings-label,.editor-tab-sidebar .provider-bar-label{letter-spacing:.8px;color:var(--text-muted);font-size:10px}.editor-tab-sidebar .story-settings-field{gap:6px}.editor-main-body{flex:1;padding:0;overflow-y:auto}.tab-ctrl-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tab-ctrl-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:600}.tab-ctrl-group{flex-direction:column;gap:6px;display:flex}.step-panel{flex-direction:column;display:flex}.scenes-top-bar{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 24px;display:flex}.scenes-top-bar-left{flex-shrink:0;align-items:center;gap:8px;display:flex}.scenes-top-bar-providers{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.scenes-top-bar-sep{background:var(--border);flex-shrink:0;width:1px;height:20px}.run-bar{background:var(--bg-elevated);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.run-bar-left{align-items:center;gap:10px;display:flex}.run-bar-hint{color:var(--text-muted);font-size:12px}.run-bar-right{gap:8px;display:flex}.provider-bar{background:var(--bg-card);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 24px;display:flex}.provider-bar-stack{flex-direction:column;align-items:stretch}.bg-music-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;font-size:13px;display:flex}.bg-music-toggle input{margin-top:3px}.bg-music-hint{color:var(--text-muted);margin:0;font-size:11px}.bg-music-hint a{color:var(--accent-light)}.editor-bg-music-ribbon-head{margin-bottom:8px}.editor-bg-music-ribbon-title{margin-bottom:4px;font-size:13px;font-weight:700;display:block}.editor-bg-music-ribbon-sub{color:var(--text-muted);font-size:11px;line-height:1.45;display:block}.header-bg-music-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.header-bg-music-toggle input{margin:0}.header-bg-music-providers{max-width:420px}.provider-bar-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:11px;font-weight:700}.provider-bar-options{flex-wrap:wrap;gap:6px;display:flex}.provider-btn{border:1.5px solid var(--border-hover);color:var(--text);cursor:pointer;background:0 0;border-radius:20px;padding:5px 14px;font-size:12.5px;font-weight:500;transition:border-color .15s,background .15s,color .15s}.provider-btn:hover:not(:disabled){border-color:var(--accent-light);color:var(--accent-light)}.provider-btn.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-light);font-weight:600}.provider-btn.disabled,.provider-btn:disabled{opacity:.38;cursor:not-allowed}.provider-no-key{color:#fb7185;background:#fb718526;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:10px}.provider-saving{color:var(--text-muted);font-size:11px;font-style:italic}.provider-model-select{border:1.5px solid var(--border-hover);background:var(--bg-card);color:var(--text);cursor:pointer;border-radius:20px;outline:none;padding:4px 10px;font-size:12.5px;font-weight:500;transition:border-color .15s}.provider-model-select:focus{border-color:var(--accent)}.provider-model-select:disabled{opacity:.38;cursor:not-allowed}.result-section{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.result-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding-bottom:10px;font-size:14px;font-weight:600}.result-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.result-empty.error{color:#fb7185}.result-empty-icon{opacity:.5;font-size:36px}.result-empty p{max-width:360px;font-size:14px}.prompt-section{border-top:1px solid var(--border);background:var(--bg-surface);padding:12px 24px 16px}.prompt-section-toggle{color:var(--text-muted);margin-bottom:0;padding:5px 10px;font-size:13px}.story-meta-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.meta-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px}.meta-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.meta-value{color:var(--text-heading);font-size:13px;font-weight:500}.story-summary{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px}.story-summary label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:600}.story-summary p{color:var(--text);white-space:pre-line;font-size:14px;line-height:1.7}.story-settings{background:var(--bg-card);border:1px solid var(--border-hover);border-radius:var(--radius-md);flex-direction:column;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.story-settings-row{align-items:flex-end;gap:12px;display:flex}.story-settings-field{flex-direction:column;flex:1;gap:5px;display:flex}.story-settings-label{color:var(--text-heading);text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:700}.story-settings-select{background:var(--bg-input);border:1.5px solid var(--border-hover);border-radius:var(--radius-sm);width:100%;color:var(--text-heading);cursor:pointer;appearance:auto;padding:7px 10px;font-size:13px;transition:border-color .15s}.story-settings-select option{background:var(--bg-card);color:var(--text-heading)}.story-settings-select:hover{border-color:var(--accent-light)}.story-settings-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.story-settings-select:disabled{opacity:.45;cursor:not-allowed}.story-settings-custom-row{gap:12px;margin-top:2px;display:flex}.genre-chips{flex-wrap:wrap;gap:6px;display:flex}.genre-chips.disabled{opacity:.45;pointer-events:none}.genre-chip{border:1.5px solid var(--border-hover);background:var(--bg-input);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.genre-chip input[type=checkbox]{display:none}.genre-chip:hover{border-color:var(--accent-light);color:var(--text-heading)}.genre-chip.selected{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-light);font-weight:600}.genre-tag-input{position:relative}.genre-tag-field{background:var(--bg-input);border:1.5px solid var(--border-hover);border-radius:var(--radius-sm);cursor:text;flex-wrap:wrap;align-items:center;gap:4px;min-height:36px;padding:5px 8px;transition:border-color .15s;display:flex}.genre-tag-field:focus-within{border-color:var(--accent)}.genre-tag{background:var(--accent-bg);color:var(--accent-light);white-space:nowrap;border:1px solid #10b98159;border-radius:20px;align-items:center;gap:3px;padding:2px 4px 2px 8px;font-size:11px;line-height:1.4;display:inline-flex}.genre-tag-remove{cursor:pointer;width:14px;height:14px;color:var(--text-muted);box-shadow:none;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex;transform:none}.genre-tag-remove:hover{color:var(--text);box-shadow:none;background:#ffffff1a;transform:none}.genre-tag-text-input{min-width:80px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:2px;font-family:inherit;font-size:12px}.genre-tag-text-input::placeholder{color:var(--text-muted)}.genre-tag-text-input:disabled{cursor:not-allowed;opacity:.5}.genre-suggestions{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:200;flex-direction:column;max-height:220px;padding:4px 0;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 20px #00000059}.genre-suggestion-item{text-align:left;cursor:pointer;color:var(--text);width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;padding:7px 12px;font-size:12px;transform:none}.genre-suggestion-item:hover{background:var(--bg-elevated);color:var(--text-heading);box-shadow:none;transform:none}.story-settings-custom-input{box-sizing:border-box;background:var(--bg-input);border:1.5px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-heading);flex:1;padding:7px 10px;font-size:13px;transition:border-color .15s}.story-settings-custom-input::placeholder{color:var(--text-muted)}.story-settings-custom-input:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.story-settings-custom-input:disabled{opacity:.45;cursor:not-allowed}.story-settings-brief{flex-direction:column;gap:5px;display:flex}.story-settings-optional{text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:11px;font-weight:400}.story-settings-textarea{box-sizing:border-box;background:var(--bg-input);border:1.5px solid var(--border-hover);border-radius:var(--radius-sm);width:100%;color:var(--text-heading);resize:vertical;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.6;transition:border-color .15s}.story-settings-textarea::placeholder{color:var(--text-muted)}.story-settings-textarea:hover{border-color:var(--accent-light)}.story-settings-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.story-settings-textarea:disabled{opacity:.45;cursor:not-allowed}.char-list{grid-template-columns:1fr 1fr;align-items:start;gap:8px;display:grid}.char-full-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.char-full-card.open{border-color:var(--accent)}.char-full-header{cursor:pointer;align-items:flex-start;gap:14px;padding:12px 14px;transition:background .15s;display:flex}.char-full-header:hover{background:var(--bg-card)}.char-full-img-wrap{flex-shrink:0}.char-full-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:zoom-in;width:72px;height:96px;transition:opacity .15s;display:block}.char-full-thumb:hover{opacity:.85}.char-full-img-placeholder{border-radius:var(--radius-sm);background:var(--accent-bg);border:1px solid var(--accent);width:72px;height:96px;color:var(--accent-light);justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.char-full-info{flex:1;min-width:0;padding-top:2px}.char-full-name{color:var(--text-heading);margin-bottom:4px;font-size:15px;font-weight:600}.char-full-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px;margin-bottom:7px;font-size:12px;display:flex}.char-full-meta span:not(:last-child):after{content:" ·";margin-left:6px}.char-full-personality{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.char-full-card.open .char-full-personality{-webkit-line-clamp:unset;overflow:visible}.char-full-actions{flex-shrink:0;align-items:center;gap:8px;padding-top:2px;display:flex}.char-full-body{border-top:1px solid var(--border);background:var(--bg-surface);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.char-img-gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:4px;display:grid}.char-edit-form{flex-direction:column;gap:8px;display:flex}.char-edit-row{flex-wrap:wrap;gap:6px;display:flex}.char-edit-field{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.char-edit-field-sm{flex:0 0 100px;min-width:80px}.char-edit-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.char-edit-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:5px 8px;font-size:13px}.char-edit-input:focus{border-color:var(--accent)}.char-edit-textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;box-sizing:border-box;outline:none;padding:6px 8px;font-family:inherit;font-size:12.5px;line-height:1.5}.char-edit-textarea:focus{border-color:var(--accent)}.char-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.char-card-header{cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.char-card-header:hover{background:var(--bg-card)}.char-avatar{background:var(--accent-bg);border:1px solid var(--accent);width:34px;height:34px;color:var(--accent-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.char-card-info{flex:1;min-width:0}.char-card-info strong{color:var(--text-heading);font-size:14px;display:block}.char-card-info span{color:var(--text-muted);font-size:12px}.char-expand{color:var(--text-muted);font-size:11px}.char-develop-btn{flex-shrink:0;padding:4px 10px;font-size:12px}.char-develop-btn:hover{background:var(--accent-bg)!important}.char-dev-msg{border-top:1px solid var(--border);padding:6px 16px;font-size:12px}.char-dev-msg.success{color:var(--success,#4caf50)}.char-dev-msg.error{color:var(--error,#ef5350)}.char-card-body{border-top:1px solid var(--border);background:var(--bg-surface);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.scene-field{flex-direction:column;gap:4px;display:flex}.scene-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.scene-field-value{color:var(--text);white-space:pre-line;font-size:13px;line-height:1.6}.char-image-group{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.char-image-group-header{border-bottom:1px solid var(--border);background:var(--bg-card);align-items:center;gap:10px;padding:12px 16px;display:flex}.char-role-badge{background:var(--accent-bg);color:var(--accent-light);border-radius:10px;padding:2px 8px;font-size:11px}.char-img-count{color:var(--text-muted);margin-left:auto;font-size:12px}.char-image-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;padding:12px;display:grid}.char-image-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;overflow:hidden}.char-image-card img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.char-image-card--sheet{grid-column:1/-1}.char-image-card--sheet img{aspect-ratio:auto;object-fit:contain;max-height:520px}.char-image-clickable{cursor:zoom-in;transition:opacity .15s}.char-image-clickable:hover{opacity:.85}.media-scene-image-clickable{cursor:zoom-in;transition:opacity .15s}.media-scene-image-clickable:hover{opacity:.85}.lightbox-overlay{z-index:9999;background:#000000e0;justify-content:center;align-items:center;animation:.15s lightbox-fade;display:flex;position:fixed;inset:0}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-img{object-fit:contain;border-radius:var(--radius-md);max-width:90vw;max-height:90vh;box-shadow:0 8px 40px #0009}.lightbox-close{color:#fff;cursor:pointer;z-index:10000;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;line-height:1;transition:background .15s;display:flex;position:fixed;top:18px;right:24px}.lightbox-close:hover{background:#ffffff40}.char-image-placeholder{aspect-ratio:1;background:var(--bg-elevated);width:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:24px;display:flex}.char-image-label{color:var(--text-muted);text-transform:capitalize;padding:5px 6px;font-size:11px}.char-no-images{color:var(--text-muted);padding:12px 16px;font-size:13px}.scene-list{flex-direction:column;gap:8px;display:flex}.scene-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.scene-card-header{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;transition:background .15s;display:flex}.scene-card-header:hover{background:var(--bg-card)}.scene-number{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:700}.scene-meta{color:var(--text-muted);flex-wrap:wrap;flex:1;gap:8px;font-size:12px;display:flex}.scene-expand-icon{color:var(--text-muted);flex-shrink:0;font-size:11px}.scene-card-body{border-top:1px solid var(--border);background:var(--bg-surface);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.scene-columns{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:16px;display:grid}.scene-column{flex-direction:column;gap:10px;min-width:0;display:flex}.scene-has-image{color:var(--accent-light)}.scene-header-thumb{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);cursor:zoom-in;border-radius:4px;flex-shrink:0;width:56px;transition:opacity .15s}.scene-header-thumb:hover{opacity:.8}.scene-media-row{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:14px;padding:12px;display:flex}.scene-media-col{flex-direction:column;gap:8px;display:flex}.scene-media-section-label{color:var(--text-muted);font-size:12px;font-weight:600}.scene-image-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);cursor:zoom-in;border:1px solid var(--border);width:100%;transition:opacity .15s;display:block}.scene-image-thumb:hover{opacity:.85}.scene-image-empty,.scene-audio-empty{aspect-ratio:16/9;background:var(--bg-surface);border:1px dashed var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;display:flex}.scene-audio-col{justify-content:flex-start}.scene-audio-empty{aspect-ratio:unset;min-height:60px}.scene-media-empty-icon{font-size:20px}.scene-audio-player{border-radius:var(--radius-sm);width:100%;height:36px;accent-color:var(--accent)}.scene-media-btn{align-self:flex-start}.scene-gen-error{color:#f87171;font-size:11px}.dialogue-editor-btns{align-items:center;gap:6px;display:flex}.media-list{flex-direction:column;gap:12px;display:flex}.media-scene-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.media-scene-header{background:var(--bg-card);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.scene-location{color:var(--text-muted);flex:1;font-size:12px}.media-counts{color:var(--text-muted);margin-left:auto;font-size:12px}.media-scene-body{grid-template-columns:200px 1fr;gap:0;display:grid}.media-image-wrap{border-right:1px solid var(--border)}.media-scene-image{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.media-placeholder{aspect-ratio:16/9;background:var(--bg-surface);width:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.media-placeholder.generating{color:#60a5fa}.media-audio-wrap{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.audio-item{flex-direction:column;gap:6px;display:flex}.audio-type-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--accent-bg);color:var(--accent-light);border-radius:10px;align-self:flex-start;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.audio-text{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.audio-player{width:100%;height:32px;accent-color:var(--accent)}.audio-duration{color:var(--text-muted);font-size:11px}.media-no-audio{color:var(--text-muted);padding:8px 0;font-size:13px}.final-video-player{border-radius:var(--radius-md);background:#000;width:100%;max-height:400px}.final-video-meta{flex-wrap:wrap;gap:10px;display:flex}.btn-download{border-radius:var(--radius-md);color:#4ade80;background:#22c55e1f;border:1px solid #22c55e4d;align-self:flex-start;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-download:hover{color:#86efac;background:#22c55e33}@media (width<=768px){.editor-layout{flex-direction:column;height:auto}.editor-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%}.editor-main{flex-direction:column}.editor-tab-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%}.step-nav{flex-flow:wrap;gap:4px;padding:8px}.step-nav-item{border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:4px;min-width:70px;padding:8px}.step-nav-item.active{border-right:none;border-bottom:2px solid var(--accent)}.step-nav-desc{display:none}.media-scene-body{grid-template-columns:1fr}.media-image-wrap{border-right:none;border-bottom:1px solid var(--border)}.editor-layout{min-height:100vh}.char-list{grid-template-columns:1fr}}.story-editor{flex-direction:column;gap:14px;display:flex}.story-editor-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.story-editor-header .result-section-title{margin:0}.story-edit-form{flex-direction:column;gap:12px;display:flex}.story-edit-row{flex-direction:column;gap:5px;display:flex}.story-edit-row label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.story-edit-input{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:8px 10px;font-size:13px;transition:border-color .15s}.story-edit-input:focus{border-color:var(--accent)}.story-edit-textarea{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius-sm);color:var(--text);resize:vertical;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.6;transition:border-color .15s}.story-edit-textarea:focus{border-color:var(--accent)}.story-edit-actions{align-items:center;gap:12px;padding-top:4px;display:flex}.story-edit-msg{color:#4ade80;font-size:12px;font-weight:500}.story-detail-view{flex-direction:column;gap:12px;display:flex}.expand-story-bar{border-radius:var(--radius);background:linear-gradient(135deg,#8b5cf614,#3b82f60f);border:1px solid #8b5cf640;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.expand-story-info{align-items:flex-start;gap:10px;display:flex}.expand-story-icon{flex-shrink:0;margin-top:1px;font-size:22px;line-height:1}.expand-story-title{color:var(--text);margin-bottom:3px;font-size:13px;font-weight:700}.expand-story-desc{color:var(--text-muted);font-size:12px;line-height:1.5}.btn-expand{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(135deg,#7c3aed,#3b82f6);border:none;align-self:flex-start;padding:9px 18px;font-size:13px;font-weight:600;transition:opacity .15s,transform .15s,box-shadow .15s}.btn-expand:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 16px #7c3aed59}.btn-expand:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.expand-story-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.expand-scope-select{background:var(--bg-input);border:1.5px solid var(--border-hover);border-radius:var(--radius-sm);min-width:200px;color:var(--text-heading);cursor:pointer;appearance:auto;flex:1;padding:8px 10px;font-size:13px;transition:border-color .15s}.expand-scope-select:disabled{opacity:.5;cursor:not-allowed}.expand-story-msg{border-radius:var(--radius-sm);padding:8px 12px;font-size:12px;font-weight:500;line-height:1.5}.expand-story-msg.success{color:#4ade80;background:#4ade801a;border:1px solid #4ade8033}.expand-story-msg.error{color:#f87171;background:#f871711a;border:1px solid #f8717133}.beat-sheet-panel{flex-direction:column;gap:14px;display:flex}.beat-sheet-toolbar{z-index:2;background:var(--bg-surface);flex-wrap:wrap;align-items:center;gap:10px;padding:4px 0;display:flex;position:sticky;top:0}.beat-dirty{color:var(--status-in_progress);font-size:12px;font-weight:600}.beat-msg{color:var(--accent-light);font-size:12px}.beat-retention{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:4px 12px;padding:8px 12px;font-size:12.5px;display:flex}.beat-retention b{color:var(--text-heading);font-weight:600}.beat-list{flex-direction:column;gap:10px;display:flex}.beat-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--border-hover);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.beat-card.is-cliff{box-shadow:inset 0 0 0 1px #f43f5e40}.beat-act-setup{border-left-color:#64748b}.beat-act-rising{border-left-color:#3b82f6}.beat-act-midpoint{border-left-color:#a855f7}.beat-act-low_point{border-left-color:#f59e0b}.beat-act-climax{border-left-color:#f43f5e}.beat-act-resolution{border-left-color:#22c55e}.beat-card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.beat-num{font:600 12px var(--mono);color:var(--text-muted);flex-shrink:0}.beat-pos{background:var(--bg-input);border:1px solid var(--border-hover);min-width:22px;height:22px;font:600 12px var(--mono);color:var(--text-heading);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.beat-move{flex-shrink:0;gap:2px;display:inline-flex}.beat-move button{padding:3px 8px;line-height:1}.beat-act-select{background:var(--bg-input);border:1px solid var(--border-hover);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;padding:4px 6px;font-size:12px}.beat-title-input{background:var(--bg-input);border:1px solid var(--border-hover);border-radius:var(--radius-sm);min-width:160px;color:var(--text-heading);flex:1;padding:6px 9px;font-size:13px;font-weight:600}.beat-cliff{color:var(--text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.beat-remove{flex-shrink:0}.beat-summary{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5}.beat-fields{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 10px;display:grid}.beat-field{flex-direction:column;gap:3px;display:flex}.beat-field>span{color:var(--text-muted);font-size:11px}.beat-field input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);width:100%;padding:5px 8px;font-size:12.5px}.beat-field-wide{grid-column:span 2}.beat-field input:focus,.beat-title-input:focus,.beat-summary:focus,.beat-act-select:focus{border-color:var(--border-focus);outline:none}.beat-field input:disabled,.beat-summary:disabled,.beat-title-input:disabled,.beat-act-select:disabled{opacity:.55;cursor:not-allowed}.scenes-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.scenes-total-duration{color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:4px 12px;font-size:13px}.duration-warning{color:#f59e0b;font-size:12px}.scene-card-open{border-color:var(--accent)}.scene-body-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:12px;padding:0 0 10px;display:flex}.scene-edit-form{flex-direction:column;gap:12px;display:flex}.scene-edit-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=600px){.scene-edit-grid{grid-template-columns:1fr}}.scene-edit-row{flex-direction:column;gap:5px;display:flex}.scene-edit-row label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.scene-detail-view{flex-direction:column;gap:10px;display:flex}.narration-field{border-radius:var(--radius-sm);background:#8b5cf60f;padding:10px 12px}.scene-text-field{border-radius:var(--radius-sm);background:#eab30814;border-left:3px solid #eab30899;padding:8px 12px}.scene-text-value{color:var(--text);font-size:14px;font-style:italic;font-weight:600}.dialogue-view{flex-direction:column;gap:8px;display:flex}.dialogue-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.dialogue-line{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:8px 12px;display:flex}.dialogue-character{color:var(--accent);flex-shrink:0;min-width:80px;padding-top:2px;font-size:12px;font-weight:700}.dialogue-text{color:var(--text);white-space:pre-line;flex:1;font-size:13px;line-height:1.6}.dialogue-editor{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.dialogue-editor-header{justify-content:space-between;align-items:center;display:flex}.dialogue-editor-title{color:var(--text-heading);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.dialogue-empty-hint{color:var(--text-muted);padding:6px 0;font-size:12px;font-style:italic}.dialogue-line-edit{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.dialogue-line-num{color:var(--text-muted);text-align:right;min-width:18px;padding-top:9px;font-size:11px;font-weight:700}.dialogue-char-select{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;outline:none;flex-shrink:0;width:120px;padding:7px 8px;font-size:12px;font-weight:600}.dialogue-char-select:focus{border-color:var(--accent)}.dialogue-text-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);resize:vertical;outline:none;flex:1;padding:7px 8px;font-family:inherit;font-size:13px;line-height:1.5}.dialogue-text-input:focus{border-color:var(--accent)}.dialogue-remove-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:6px 4px;font-size:13px;line-height:1;transition:color .15s}.dialogue-remove-btn:hover{color:#f87171}.scene-image-with-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.scene-image-with-actions .scene-image-thumb{aspect-ratio:16/9;object-fit:cover;width:50%;height:auto}.scene-image-with-actions .scene-image-empty{aspect-ratio:16/9;width:50%;height:auto}.scene-image-side-btns{flex-flow:wrap;flex-shrink:0;gap:6px;display:flex}.scene-image-side-btns .btn-sm{white-space:nowrap}.scene-media-btn-row{flex-wrap:wrap;align-self:flex-start;align-items:center;gap:6px;display:flex}.btn-download-file{border-radius:var(--radius-sm);cursor:pointer;color:#4ade80;white-space:nowrap;background:#22c55e1f;border:1.5px solid #22c55e8c;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s;display:inline-flex}.btn-download-file:hover{background:#22c55e3d;box-shadow:0 0 0 2px #22c55e2e}.thumbnail-section{margin-top:16px}.thumbnail-current{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.thumbnail-preview{object-fit:cover;border-radius:var(--radius-md);border:2px solid var(--border);width:180px;height:100px}.thumbnail-actions{flex-direction:column;gap:6px;display:flex}.thumbnail-empty{color:var(--text-muted);align-items:center;gap:8px;padding:10px 0;font-size:13px;display:flex}.thumbnail-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);margin-top:14px;padding:12px}.thumbnail-picker-header{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;display:flex}.thumbnail-picker-empty{color:var(--text-muted);font-size:13px}.thumbnail-picker-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;max-height:320px;display:grid;overflow-y:auto}.thumbnail-picker-item{cursor:pointer;border-radius:var(--radius-sm);border:2px solid #0000;transition:border-color .15s,transform .1s;overflow:hidden}.thumbnail-picker-item:hover{border-color:var(--accent);transform:scale(1.03)}.thumbnail-picker-item.selected{border-color:var(--accent)}.thumbnail-picker-item img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.thumbnail-picker-label{text-align:center;color:var(--text-muted);background:var(--bg-surface);padding:3px 4px;font-size:11px;display:block}.download-section{margin-top:16px}.download-section-desc{color:var(--text-muted);margin-bottom:12px;font-size:13px}.download-btns{flex-wrap:wrap;gap:10px;display:flex}.btn-download-zip{border-radius:var(--radius-md);cursor:pointer;color:#4ade80;letter-spacing:.01em;background:#22c55e24;border:1.5px solid #22c55e99;align-items:center;gap:7px;padding:10px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn-download-zip:hover:not(:disabled){background:#22c55e42;box-shadow:0 0 0 2px #22c55e33}.btn-download-zip:disabled{opacity:.5;cursor:not-allowed}.btn-download-zip.btn-download-images,.btn-download-zip.btn-download-audios{color:#4ade80;background:#22c55e24;border-color:#22c55e99}.voice-panel{border:1px solid var(--border,#2a2a2a);border-radius:8px;margin:12px 0;padding:12px}.voice-panel-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.voice-panel-title{font-weight:600}.voice-panel-msg{opacity:.85;font-size:.85em}.voice-row{border-top:1px solid var(--border,#2a2a2a);align-items:center;gap:10px;padding:6px 0;display:flex}.voice-row:first-of-type{border-top:none}.voice-row-label{flex-direction:column;min-width:160px;display:flex}.voice-row-name{font-weight:500}.voice-row-sub{opacity:.7;font-size:.78em}.voice-select{flex:1;max-width:320px;padding:4px 8px}.voice-row-controls{flex:1;align-items:center;gap:8px;display:flex}.voice-row--narrator{flex-direction:column;align-items:stretch;gap:6px}.voice-row--narrator .voice-row-label{min-width:0}.voice-row--narrator .voice-row-controls .voice-select{max-width:none}.editor-tab-voice{border-top:1px solid var(--border);background:linear-gradient(135deg,#6366f114,#10b9810d);padding:12px 16px 14px}.voice-toolbar{flex-direction:column;gap:10px;display:flex}.voice-toolbar .voice-panel-head{flex-wrap:wrap;gap:8px;margin-bottom:0}.voice-toolbar .voice-panel-title{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);font-size:10px}.voice-toolbar .voice-row{border-top:none;flex-wrap:wrap;padding:0}.voice-toolbar .voice-row-label{min-width:0}.voice-toolbar .voice-select{max-width:none}.scene-substep-list{flex-direction:column;gap:6px;display:flex}.scene-substep-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);align-items:center;gap:8px;padding:8px 10px;display:flex}.scene-substep-row.scene-substep-completed{border-color:#4ade8055}.scene-substep-row.scene-substep-running{border-color:#60a5fa}.scene-substep-index{text-align:center;width:16px;color:var(--text-muted);flex-shrink:0;font-size:11px}.scene-substep-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scene-substep-label{font-size:13px}.scene-substep-progress{color:var(--text-muted);font-size:11px}.toast-viewport{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;width:calc(100vw - 32px);max-width:380px;display:flex;position:fixed;top:16px;right:16px}.toast{pointer-events:auto;background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text);align-items:flex-start;gap:10px;padding:11px 12px;animation:.18s ease-out toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.toast-icon{font-size:15px;line-height:1.4}.toast-body{flex:1;min-width:0}.toast-title{color:var(--text-heading);font-size:13px;font-weight:600}.toast-detail{color:var(--text-muted);word-break:break-word;margin-top:2px;font-size:12px}.toast-actions{gap:8px;margin-top:8px;display:flex}.toast-close{color:var(--text-muted);box-shadow:none;background:0 0;padding:0 4px}.toast-close:hover:not(:disabled){color:var(--text);box-shadow:none;background:0 0;transform:none}.toast-bar{background:var(--bg-input);border-radius:99px;height:5px;margin-top:8px;overflow:hidden}.toast-bar i{background:var(--accent);border-radius:99px;height:100%;transition:width .3s;display:block}.toast-success{border-left-color:var(--status-completed)}.toast-success .toast-icon{color:var(--status-completed)}.toast-error{border-left-color:var(--status-failed)}.toast-error .toast-icon{color:var(--status-failed)}.toast-loading{border-left-color:var(--accent)}.toast-loading .toast-icon{color:var(--accent);animation:.9s linear infinite spin;display:inline-block}.toast-info{border-left-color:var(--status-processing)}.toast-info .toast-icon{color:var(--status-processing)}.confirm-overlay{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:20px}.confirm-title{color:var(--text-heading);font-size:16px;font-weight:600}.confirm-message{color:var(--text-muted);margin-top:6px;font-size:14px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.empty-state-ui{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-state-ui-icon{margin-bottom:10px;font-size:40px}.empty-state-ui-title{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:600}.empty-state-ui-desc{max-width:360px;margin:0 auto 14px;font-size:13px;line-height:1.5}.inline-error{border-radius:var(--radius-md);color:#fb7185;background:#f43f5e1a;border:1px solid #f43f5e4d;align-items:center;gap:10px;padding:11px 14px;font-size:13px;display:flex}.inline-error-msg{flex:1}.inline-error-retry{margin-left:auto}.skeleton{background:linear-gradient(90deg,#171b2d 25%,#222845 50%,#171b2d 75%) 0 0/200% 100%;animation:1.3s infinite skeleton-shimmer;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.status .status-glyph{font-size:11px;line-height:1}.status:has(.status-glyph):before{display:none}.pipeline-progress{padding:4px 0 14px}.pipeline-progress-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pipeline-progress-label{color:var(--text-muted);font-size:13px;font-weight:500}.pipeline-progress-track{background:var(--bg-input);border-radius:99px;height:6px;overflow:hidden}.pipeline-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-light));border-radius:99px;height:100%;transition:width .4s}.pipeline-progress-run{color:var(--text);align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.pipeline-progress-eta{color:var(--text-muted)}.pipeline-progress-spinner{color:var(--accent);animation:.9s linear infinite spin;display:inline-block}.scene-chips{flex-wrap:wrap;gap:6px;display:flex}.scene-chip{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:99px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.scene-chip.ok{color:#4ade80;background:#22c55e1a;border-color:#22c55e4d}.scene-chip.miss{color:#fbbf24;background:#f59e0b1a;border-color:#f59e0b4d}.scene-header-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.scene-menu-wrap{position:relative}.scene-menu-backdrop{z-index:40;position:fixed;inset:0}.scene-menu{z-index:50;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;gap:2px;min-width:168px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.scene-menu button{color:var(--text);text-align:left;border-radius:var(--radius-sm);background:0 0;padding:8px 10px;font-size:13px}.scene-menu button:hover:not(:disabled){background:var(--bg-card);box-shadow:none;transform:none}.char-card-voice{padding:8px 14px 4px}.char-card-voice .voice-row{padding:0}.input-invalid{border-color:var(--status-failed)!important}.field-error{color:#fb7185;margin-top:5px;font-size:12px}.toggle-hint-dep{color:var(--status-in_progress)}.settings-note{color:var(--text-muted);margin-top:8px;font-size:12px}.col-actions{text-align:right;width:44px;position:relative}.row-menu-wrap{display:inline-block;position:relative}.row-menu-backdrop{z-index:40;position:fixed;inset:0}.row-menu{z-index:50;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;gap:2px;min-width:150px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.row-menu button{color:var(--text);text-align:left;border-radius:var(--radius-sm);background:0 0;padding:8px 10px;font-size:13px}.row-menu button:hover:not(:disabled){background:var(--bg-card);box-shadow:none;transform:none}.row-menu .row-menu-danger{color:#fb7185}.logs-page{flex-direction:column;gap:16px;height:100%;min-height:0;padding:24px;display:flex}.logs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.logs-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.logs-filters select,.logs-filters button{border-radius:var(--radius-sm);padding:6px 10px}.logs-live{align-items:center;gap:4px;font-size:13px;display:inline-flex}.logs-body{flex:1;grid-template-columns:minmax(320px,420px) 1fr;gap:16px;min-height:0;display:grid}.logs-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);overflow-y:auto}.logs-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:auto 1fr auto;grid-template-areas:"status type dur""meta meta time";gap:2px 8px;padding:10px 12px;font-size:13px;display:grid}.logs-row:hover{background:var(--bg-card)}.logs-row.active{background:var(--bg-card);outline:1px solid var(--border)}.logs-row .status{grid-area:status}.logs-row-type{grid-area:type;font-weight:600}.logs-row-dur{opacity:.7;grid-area:dur}.logs-row-meta{opacity:.7;grid-area:meta}.logs-row-time{opacity:.7;text-align:right;grid-area:time}.logs-detail{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);padding:12px;overflow-y:auto}.logs-detail-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}.logs-timeline{flex-direction:column;gap:4px;display:flex}.logs-empty{opacity:.6;text-align:center;padding:24px}.log-entry{background:var(--bg-card);border-left:3px solid #0000;border-radius:6px}.log-entry.log-warn{border-left-color:#d99e2b}.log-entry.log-error{border-left-color:#fb7185}.log-entry.log-info{border-left-color:#4b9fff}.log-entry-head{cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.log-cat{background:#7f7f7f2e;border-radius:6px;padding:1px 6px;font-family:monospace;font-size:11px}.log-step{opacity:.7;font-size:11px}.log-msg{word-break:break-word;flex:1}.log-dur{opacity:.6;font-size:12px}.log-toggle{opacity:.6}.log-entry-body{padding:4px 12px 10px}.log-entry-body pre{white-space:pre-wrap;word-break:break-word;background:#00000040;border-radius:6px;padding:8px;font-size:12px;overflow-x:auto}.log-entry-body summary{cursor:pointer;opacity:.8;font-size:12px}.log-error-text{color:#fb7185;white-space:pre-wrap}.logs-page-title{margin:0}.logs-view{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex}.editor-logs-panel{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;padding:16px 24px;display:flex;overflow:hidden}.logs-mode{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.logs-mode button{background:0 0;border:none;border-radius:0;padding:6px 12px;font-size:13px}.logs-mode button.active{background:#6366f138}.logs-events{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);flex-direction:column;flex:1;gap:4px;min-height:0;padding:8px;display:flex;overflow-y:auto}.log-time{opacity:.55;white-space:nowrap;font-size:11px}
