*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column}.multi-preview-container{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg-primary);position:relative;overflow:hidden}.multi-preview-controls{justify-content:flex-start;gap:8px}.multi-preview-title{font-size:11px;color:var(--text-secondary);margin-right:auto}.multi-preview-grid-wrapper{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:0;container-type:size}.multi-preview-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1px;aspect-ratio:16 / 9;width:100%;background:var(--border-color)}@container (min-aspect-ratio: 16/9){.multi-preview-grid{width:auto;height:100%}}.multi-preview-slot{position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);overflow:hidden;min-width:0;min-height:0;box-shadow:inset 0 0 0 0 var(--accent);transition:box-shadow .1s ease}.multi-preview-slot.highlighted{box-shadow:inset 0 0 0 2px var(--accent)}.multi-preview-slot-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-tertiary);font-size:12px}.multi-preview-slot-dropdown-wrapper{position:absolute;top:4px;left:4px;z-index:10;opacity:0;transition:opacity .15s ease}.multi-preview-slot:hover .multi-preview-slot-dropdown-wrapper{opacity:1}.multi-preview-slot-dropdown-btn{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--preview-overlay-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:10px;cursor:pointer;transition:all .15s;backdrop-filter:blur(4px)}.multi-preview-slot-dropdown-btn:hover{background:var(--preview-overlay-bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.multi-preview-slot-comp-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-preview-slot-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:140px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0006;padding:4px 0;z-index:100}.multi-preview-slot-label{padding:2px 8px;background:var(--preview-overlay-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:10px;backdrop-filter:blur(4px)}.multicam-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);color:var(--text-primary);overflow-y:auto;font-size:var(--font-lg)}.multicam-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.multicam-header h2{margin:0;font-size:var(--font-xl);font-weight:var(--font-semibold)}.settings-btn{padding:var(--sp-1) var(--sp-2-5);font-size:var(--font-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary)}.settings-btn:hover{background:var(--bg-hover)}.multicam-section{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-color)}.section-header{display:flex;align-items:center;gap:var(--sp-2-5);margin-bottom:var(--sp-2-5)}.section-header h3{margin:0;font-size:var(--font-md);font-weight:var(--font-semibold);text-transform:uppercase;color:var(--text-secondary);flex:1}.camera-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--sp-2-5)}.multicam-camera-card{background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius-lg);padding:var(--sp-2);cursor:pointer;transition:all var(--transition-normal)}.multicam-camera-card:hover{background:var(--bg-hover)}.multicam-camera-card.selected{border-color:var(--accent)}.multicam-camera-card.master{border-color:var(--success)}.camera-thumbnail{position:relative;aspect-ratio:16 / 9;background:var(--bg-canvas);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--sp-1-5)}.camera-thumbnail img{width:100%;height:100%;object-fit:cover}.camera-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--font-xl);font-weight:var(--font-bold)}.master-badge{position:absolute;top:var(--sp-1);right:var(--sp-1);background:var(--success);color:var(--text-inverse);font-size:var(--font-xs);font-weight:var(--font-bold);padding:var(--sp-0-5) var(--sp-1);border-radius:var(--radius-sm)}.camera-info{display:flex;flex-direction:column;gap:var(--sp-1)}.camera-name{font-size:var(--font-sm);font-weight:var(--font-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.camera-role{font-size:var(--font-xs);padding:var(--sp-0-5) var(--sp-1);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary)}.sync-offset{font-size:var(--font-xs);color:var(--text-secondary)}.camera-actions{display:flex;gap:var(--sp-1);margin-top:var(--sp-1-5)}.btn-icon{width:var(--sp-6);height:var(--sp-6);display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:var(--font-sm);font-weight:var(--font-bold)}.btn-icon:hover{background:var(--bg-hover)}.btn-icon.btn-danger:hover{background:var(--danger-light);color:var(--text-on-accent)}.btn-small{padding:var(--sp-1) var(--sp-2-5);font-size:var(--font-sm);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-medium)}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:var(--success);color:var(--text-inverse)}.btn-success:hover{background:var(--success-light)}.btn-danger{background:var(--danger-light);color:var(--text-on-accent)}.add-camera-dropdown{position:relative}.add-camera-btn{width:100%;min-height:80px;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;font-size:var(--font-md)}.add-camera-btn:hover{border-color:var(--accent);color:var(--accent)}.add-camera-empty{padding:var(--sp-5);text-align:center;color:var(--text-secondary);font-size:var(--font-sm)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:var(--z-dropdown);max-height:200px;overflow-y:auto;margin-top:var(--sp-1)}.dropdown-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-2-5);background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:var(--font-md);text-align:left}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-thumb{width:40px;height:24px;object-fit:cover;border-radius:var(--radius-sm)}.progress-container{display:flex;align-items:center;gap:var(--sp-2-5);margin:var(--sp-2) 0}.progress-label{font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap}.progress-bar{flex:1;height:var(--sp-1-5);background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width var(--transition-slow)}.progress-fill.error{background:var(--danger-light)}.progress-text{font-size:var(--font-sm);color:var(--text-secondary);min-width:35px;text-align:right}.analysis-summary{display:flex;gap:var(--sp-4);font-size:var(--font-sm);color:var(--text-secondary)}.transcript-viewer{max-height:150px;overflow-y:auto;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--sp-2)}.transcript-empty{text-align:center;padding:var(--sp-5);color:var(--text-secondary);font-size:var(--font-sm)}.transcript-entry{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-1) 0;border-bottom:1px solid var(--border-color)}.transcript-entry:last-child{border-bottom:none}.transcript-time{font-size:var(--font-xs);color:var(--accent);font-family:var(--font-mono);min-width:40px}.transcript-speaker{width:80px;padding:var(--sp-0-5) var(--sp-1);font-size:var(--font-xs);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary)}.transcript-text{flex:1;font-size:var(--font-sm);color:var(--text-primary)}.style-select{padding:var(--sp-1) var(--sp-2);font-size:var(--font-sm);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary)}.edl-section{flex:1;min-height:0}.edl-preview{display:flex;flex-direction:column;gap:var(--sp-2)}.edl-empty{text-align:center;padding:var(--sp-8) var(--sp-5);color:var(--text-secondary);font-size:var(--font-sm)}.edl-legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--font-xs)}.edl-legend-item{display:flex;align-items:center;gap:var(--sp-1)}.edl-legend-color{width:var(--sp-3);height:var(--sp-3);border-radius:var(--radius-sm)}.edl-timeline{position:relative;height:40px;background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden}.edl-clip{position:absolute;top:var(--sp-1);bottom:var(--sp-1);border-radius:var(--radius-sm);display:flex;align-items:center;padding:0 var(--sp-1);min-width:var(--sp-5);overflow:hidden}.edl-clip-label{font-size:var(--font-2xs);font-weight:var(--font-medium);color:var(--text-on-accent);text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edl-time-markers{display:flex;justify-content:space-between;font-size:var(--font-xs);color:var(--text-secondary);font-family:var(--font-mono)}.warning-message{padding:var(--sp-2);background:var(--warning-dim);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);color:var(--warning-light);font-size:var(--font-sm);margin-top:var(--sp-2)}.error-message{padding:var(--sp-2);background:var(--danger-dim);border:1px solid var(--danger-border);border-radius:var(--radius-md);color:var(--danger-light);font-size:var(--font-sm);margin-top:var(--sp-2)}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay)}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:400px;max-width:90vw;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4);border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:var(--font-xl);font-weight:var(--font-semibold)}.btn-close{background:none;border:none;color:var(--text-secondary);font-size:var(--font-3xl);cursor:pointer;padding:var(--sp-1) var(--sp-2)}.btn-close:hover{color:var(--text-primary)}.modal-body{padding:var(--sp-4)}.settings-section{margin-bottom:var(--sp-5)}.settings-section:last-child{margin-bottom:0}.settings-section label{display:block;font-size:var(--font-md);font-weight:var(--font-medium);margin-bottom:var(--sp-2);color:var(--text-primary)}.settings-section select,.settings-section textarea{width:100%;padding:var(--sp-2);font-size:var(--font-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);resize:vertical}.settings-hint{margin-top:var(--sp-1);font-size:var(--font-xs);color:var(--text-secondary)}.api-key-status{display:flex;align-items:center;gap:var(--sp-2-5)}.api-key-set{color:var(--success);font-size:var(--font-md)}.api-key-input{display:flex;gap:var(--sp-2)}.api-key-input input{flex:1;padding:var(--sp-2);font-size:var(--font-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary)}.transcript-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-lg);overflow:hidden}.transcript-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2-5) var(--sp-3);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.transcript-header h2{margin:0;font-size:var(--font-lg);font-weight:var(--font-semibold)}.transcript-header-actions{display:flex;align-items:center;gap:var(--sp-2)}.marker-toggle{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer}.marker-toggle input{margin:0}.marker-toggle span{user-select:none}.transcript-search{position:relative;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-color)}.transcript-search input{width:100%;padding:var(--sp-1-5) 28px var(--sp-1-5) var(--sp-2-5);font-size:var(--font-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary)}.transcript-search input:focus{outline:none;border-color:var(--accent)}.transcript-search input::placeholder{color:var(--text-muted)}.search-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--sp-0-5) var(--sp-1-5);font-size:var(--font-xl)}.search-clear:hover{color:var(--text-primary)}.transcript-clip-info{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) var(--sp-3);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.clip-name{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.transcript-status{font-size:var(--font-xs);padding:var(--sp-0-5) var(--sp-1-5);border-radius:var(--radius-sm)}.transcript-status.ready{background:var(--success-dim);color:var(--success-light)}.transcript-status.transcribing{background:var(--accent-dim);color:var(--accent)}.transcript-status.error{background:var(--danger-dim);color:var(--danger-light)}.transcript-actions{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-color)}.btn-transcribe{width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--font-md);font-weight:var(--font-medium);background:var(--accent);color:var(--text-on-accent);border:none;border-radius:var(--radius-md);cursor:pointer}.btn-transcribe:hover:not(:disabled){background:var(--accent-hover)}.btn-transcribe:disabled{opacity:.5;cursor:not-allowed}.btn-transcribe.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-transcribe.btn-secondary:hover{background:var(--bg-hover)}.btn-transcribe.btn-cancel,.btn-transcribe.btn-danger{background:var(--danger-dim);border:1px solid var(--danger-border);color:var(--danger-light)}.btn-transcribe.btn-cancel:hover,.btn-transcribe.btn-danger:hover{background:var(--danger-border)}.transcript-btn-row{display:flex;gap:var(--sp-2)}.transcript-btn-row .btn-transcribe{flex:1}.transcript-language{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-color)}.transcript-language label{font-size:var(--font-sm);color:var(--text-secondary)}.transcript-language select{flex:1;padding:var(--sp-1) var(--sp-2);font-size:var(--font-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer}.transcript-language select:focus{outline:none;border-color:var(--accent)}.transcript-language select:disabled{opacity:.5;cursor:not-allowed}.transcript-message{padding:var(--sp-1-5) var(--sp-3);background:var(--accent-subtle);border-bottom:1px solid var(--border-color);font-size:var(--font-sm);color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transcript-progress{height:3px;background:var(--bg-tertiary)}.transcript-progress-bar{height:100%;background:var(--accent);transition:width var(--transition-slow)}.transcript-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--sp-2) 0}.transcript-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:100px;padding:var(--sp-5);text-align:center;color:var(--text-muted)}.transcript-empty p{margin:0;font-size:var(--font-md)}.transcript-block{padding:var(--sp-2-5) var(--sp-3);border-bottom:1px solid var(--bg-active);overflow:hidden}.transcript-block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-2)}.transcript-speaker{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-secondary)}.transcript-speaker:before{content:"...";margin-right:var(--sp-1-5);letter-spacing:2px}.transcript-time{font-size:var(--font-xs);color:var(--text-muted);font-family:var(--font-mono)}.transcript-words{line-height:1.8;word-break:normal;overflow-wrap:normal;white-space:normal}.transcript-word{display:inline-block;padding:var(--sp-0-5) 3px;margin:1px;border-radius:var(--radius-sm);font-size:var(--font-lg);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.transcript-word:hover{background:var(--bg-hover)}.transcript-word.active{background:var(--warning-light);color:var(--text-inverse);font-weight:var(--font-semibold);border-radius:var(--radius-sm);animation:word-pulse .5s ease}@keyframes word-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.transcript-word.highlighted{background:var(--warning-dim);color:var(--warning-light)}.transcript-word.highlighted.active{background:var(--warning-light);color:var(--text-inverse)}.transcript-entry{padding:var(--sp-2-5) var(--sp-3);border-bottom:1px solid var(--bg-active);cursor:pointer;transition:background var(--transition-normal)}.transcript-entry:hover{background:var(--bg-hover)}.transcript-entry.active{background:var(--accent-subtle);border-left:3px solid var(--accent)}.transcript-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-1-5)}.transcript-text{font-size:var(--font-md);line-height:var(--leading-relaxed);color:var(--text-primary)}.transcript-footer{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.transcript-hint{font-size:var(--font-xs);color:var(--text-muted)}.transcript-content::-webkit-scrollbar{width:6px}.transcript-content::-webkit-scrollbar-track{background:var(--bg-secondary)}.transcript-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.transcript-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.analysis-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary, #1a1a1a);color:var(--text-primary, #e0e0e0);font-size:13px;overflow:hidden}.analysis-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border-color, #333);background:var(--bg-tertiary, #252525)}.analysis-header h2{margin:0;font-size:13px;font-weight:600}.analysis-clip-info{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-tertiary, #252525);border-bottom:1px solid var(--border-color, #333)}.analysis-clip-info .clip-name{font-size:11px;font-weight:500;color:var(--text-primary, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.analysis-status{font-size:10px;padding:2px 6px;border-radius:3px}.analysis-status.ready{background:#51cf6633;color:var(--accent-success, #51cf66)}.analysis-status.analyzing{background:#4a9eff33;color:var(--accent-primary, #4a9eff)}.analysis-status.error{background:#ff6b6b33;color:var(--accent-danger, #ff6b6b)}.analysis-actions{padding:8px 12px;border-bottom:1px solid var(--border-color, #333)}.analysis-btn-row{display:flex;gap:8px}.btn-analyze{flex:1;padding:8px 12px;font-size:12px;font-weight:500;background:var(--accent-primary, #4a9eff);color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-analyze:hover:not(:disabled){background:#3a8eef}.btn-analyze:disabled{opacity:.5;cursor:not-allowed}.btn-analyze.btn-secondary{background:var(--bg-tertiary, #252525);border:1px solid var(--border-color, #444);color:var(--text-primary, #e0e0e0)}.btn-analyze.btn-secondary:hover{background:var(--bg-hover, #333)}.btn-analyze.btn-danger{background:#ff6b6b33;border:1px solid rgba(255,107,107,.4);color:var(--accent-danger, #ff6b6b)}.btn-analyze.btn-danger:hover{background:#ff6b6b4d}.analysis-progress-section{padding:8px 12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border-color, #333)}.analysis-progress{height:4px;background:var(--bg-tertiary, #252525);border-radius:2px;overflow:hidden}.analysis-progress-bar{height:100%;background:var(--accent-primary, #4a9eff);transition:width .2s ease}.btn-analyze.btn-cancel{background:#ff6b6b26;border:1px solid rgba(255,107,107,.3);color:var(--accent-danger, #ff6b6b)}.btn-analyze.btn-cancel:hover{background:#ff6b6b40}.analysis-stats{flex:1;overflow-y:auto;padding:12px}.stat-section{margin-bottom:16px}.stat-section h3{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.stat-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.stat-label{width:60px;font-size:11px;color:var(--text-secondary, #888)}.stat-bar-container{flex:1;height:8px;background:var(--bg-tertiary, #252525);border-radius:4px;overflow:hidden}.stat-bar{height:100%;border-radius:4px;transition:width .3s ease}.stat-bar.focus{background:linear-gradient(90deg,#22c55e,#4ade80)}.stat-bar.motion{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.stat-value{width:40px;text-align:right;font-size:11px;font-weight:500;color:var(--text-primary, #e0e0e0)}.analysis-legend{padding:12px;border-top:1px solid var(--border-color, #333);background:var(--bg-tertiary, #252525)}.analysis-legend h3{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.legend-items{display:flex;flex-wrap:wrap;gap:12px}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #aaa)}.legend-color{width:12px;height:12px;border-radius:2px}.legend-color.focus{background:#22c55e}.legend-color.motion{background:#3b82f6}.legend-color.face{background:#eab308}.analysis-realtime{padding:12px;background:var(--bg-primary, #141414);border-bottom:1px solid var(--border-color, #333)}.analysis-realtime h3{margin:0 0 10px;font-size:11px;font-weight:600;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.realtime-grid{display:flex;flex-direction:column;gap:8px}.realtime-item{display:flex;align-items:center;gap:8px}.realtime-label{width:85px;font-size:11px;color:var(--text-secondary, #888)}.realtime-bar-container{flex:1;height:10px;background:var(--bg-tertiary, #252525);border-radius:5px;overflow:hidden}.realtime-bar{height:100%;border-radius:5px;transition:width .1s ease-out}.realtime-item.focus .realtime-bar{background:linear-gradient(90deg,#22c55e,#4ade80);box-shadow:0 0 6px #22c55e66}.realtime-item.motion .realtime-bar{background:linear-gradient(90deg,#3b82f6,#60a5fa);box-shadow:0 0 6px #3b82f666}.realtime-item.local-motion .realtime-bar{background:linear-gradient(90deg,#8b5cf6,#a78bfa);box-shadow:0 0 6px #8b5cf666}.realtime-value{width:40px;text-align:right;font-size:12px;font-weight:600;color:var(--text-primary, #e0e0e0)}.realtime-item.focus .realtime-value{color:#4ade80}.realtime-item.motion .realtime-value{color:#60a5fa}.realtime-item.local-motion .realtime-value,.realtime-item.local-motion .realtime-label{color:#a78bfa}.realtime-item.faces{justify-content:space-between}.realtime-item.faces .realtime-value.face-count{width:auto;font-size:14px;color:#fbbf24}.realtime-item.scene-cut{margin-top:4px}.scene-cut-badge{padding:3px 8px;font-size:10px;font-weight:600;background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.4);border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.analysis-realtime.analysis-outside{opacity:.6}.realtime-placeholder{display:flex;align-items:center;justify-content:center;height:40px;color:var(--text-secondary, #666);font-size:11px;font-style:italic}.analysis-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:100px;padding:20px;text-align:center;color:var(--text-secondary, #666)}.analysis-empty p{margin:0;font-size:12px}.analysis-footer{padding:8px 12px;border-top:1px solid var(--border-color, #333);background:var(--bg-tertiary, #252525)}.analysis-hint{font-size:10px;color:var(--text-secondary, #666)}.analysis-stats::-webkit-scrollbar{width:6px}.analysis-stats::-webkit-scrollbar-track{background:var(--bg-secondary, #1a1a1a)}.analysis-stats::-webkit-scrollbar-thumb{background:var(--border-color, #444);border-radius:3px}.analysis-stats::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #666)}.ai-chat-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);color:var(--text-primary);position:relative}.ai-chat-panel.no-api-key>*:not(.ai-panel-overlay){filter:blur(2px);pointer-events:none;user-select:none}.ai-panel-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:10}.ai-panel-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2)}.ai-panel-overlay-content .no-key-icon{font-size:28px}.ai-panel-overlay-content p{margin:0;font-size:var(--font-xl);color:var(--text-secondary)}.ai-panel-overlay-content .btn-settings{padding:var(--sp-2) var(--sp-4);background:var(--accent);border:none;border-radius:var(--radius-lg);color:var(--bg-primary);font-size:var(--font-lg);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-slow)}.ai-panel-overlay-content .btn-settings:hover{background:var(--accent-hover)}.ai-chat-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0}.ai-chat-header h2{margin:0;font-size:var(--font-xl);font-weight:var(--font-semibold)}.ai-chat-controls{display:flex;gap:var(--sp-2);align-items:center}.model-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:var(--sp-1) var(--sp-2);font-size:var(--font-md);cursor:pointer}.model-select:hover{border-color:var(--accent)}.btn-clear{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);padding:var(--sp-1) var(--sp-2);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-normal)}.btn-clear:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.btn-clear:disabled{opacity:.5;cursor:not-allowed}.ai-chat-empty{flex:1;display:flex;align-items:center;justify-content:center}.ai-chat-no-key{text-align:center;padding:var(--sp-6)}.ai-chat-no-key p{color:var(--text-secondary);margin:0 0 var(--sp-4)}.ai-chat-messages{flex:1;overflow-y:auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.ai-chat-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary)}.ai-chat-welcome p{margin:0 0 var(--sp-1)}.welcome-hint{font-size:var(--font-sm);opacity:.7}.ai-chat-message{padding:var(--sp-2-5) var(--sp-3);border-radius:var(--radius-xl);max-width:90%}.ai-chat-message.user{background:var(--chat-user-bg);color:var(--text-primary);align-self:flex-end;border-bottom-right-radius:var(--radius-md);border:1px solid var(--chat-user-border)}.ai-chat-message.assistant{background:var(--bg-tertiary);align-self:flex-start;border-bottom-left-radius:var(--radius-md)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-1-5);font-size:var(--font-xs);opacity:.7}.message-role{font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.message-content{font-size:var(--font-lg);line-height:1.5;user-select:text;-webkit-user-select:text;cursor:text}.message-content p{margin:0 0 var(--sp-1)}.message-content p:last-child{margin-bottom:0}.typing-indicator{display:inline-flex;gap:var(--sp-1)}.typing-indicator span{width:var(--sp-1-5);height:var(--sp-1-5);background:var(--text-secondary);border-radius:var(--radius-full);animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-chat-error{background:var(--danger-subtle);border:1px solid var(--danger-border);color:var(--danger-light);padding:var(--sp-2-5) var(--sp-3);border-radius:var(--radius-lg);font-size:var(--font-md);display:flex;align-items:center;gap:var(--sp-2)}.error-icon{flex-shrink:0}.ai-chat-input-area{display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--bg-tertiary);border-top:1px solid var(--border-color);flex-shrink:0}.ai-chat-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);padding:var(--sp-2) var(--sp-3);font-size:var(--font-lg);font-family:inherit;resize:none;line-height:1.4}.ai-chat-input:focus{outline:none;border-color:var(--accent)}.ai-chat-input::placeholder{color:var(--text-secondary)}.btn-send{background:var(--accent);border:none;border-radius:var(--radius-lg);color:var(--text-on-accent);padding:var(--sp-2) var(--sp-4);font-size:var(--font-md);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-normal);align-self:flex-end}.btn-send:hover:not(:disabled){background:var(--accent-hover)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.editor-mode-toggle{display:flex;align-items:center;gap:var(--sp-1);cursor:pointer;font-size:var(--font-sm);color:var(--text-secondary)}.editor-mode-toggle input{cursor:pointer}.editor-mode-toggle .toggle-label{user-select:none}.editor-mode-toggle input:checked+.toggle-label{color:var(--accent)}.tool-calls{margin-top:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-1)}.tool-call{display:flex;flex-direction:column;gap:var(--sp-0-5);padding:var(--sp-1-5) var(--sp-2);background:var(--bg-overlay-light);border-radius:var(--radius-md);border-left:2px solid var(--accent)}.tool-call-name{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--accent);font-family:var(--font-mono)}.tool-call-args{font-size:var(--font-xs);color:var(--text-secondary);font-family:var(--font-mono);word-break:break-all;user-select:text;-webkit-user-select:text}.ai-chat-message.tool-result{background:var(--bg-overlay-light);border:1px solid var(--border-color);padding:var(--sp-2);max-width:95%;align-self:center}.tool-result-header{display:flex;align-items:center;gap:var(--sp-1-5);margin-bottom:var(--sp-1-5);font-size:var(--font-sm)}.tool-icon{font-size:var(--font-md)}.tool-name{font-weight:var(--font-semibold);color:var(--accent);font-family:var(--font-mono)}.tool-result-content{font-size:var(--font-xs);font-family:var(--font-mono);color:var(--text-secondary);margin:0;padding:var(--sp-1-5);background:var(--bg-overlay-light);border-radius:var(--radius-md);overflow-x:auto;max-height:150px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;user-select:text;-webkit-user-select:text;cursor:text}.tool-action{font-size:var(--font-md);color:var(--accent);font-style:italic;animation:pulse 1.5s infinite}.ai-video-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);color:var(--text-primary);position:relative}.ai-video-panel.no-api-key>*:not(.ai-video-overlay){filter:blur(2px);pointer-events:none;user-select:none}.ai-video-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:10}.ai-video-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center}.ai-video-overlay-content .no-key-icon{font-size:28px}.ai-video-overlay-content p{margin:0;font-size:var(--font-xl);color:var(--text-secondary)}.ai-video-overlay-content .no-key-hint{font-size:var(--font-md);color:var(--text-secondary);margin-bottom:var(--sp-2)}.ai-video-overlay-content .btn-settings{padding:var(--sp-2) var(--sp-4);background:var(--accent);border:none;border-radius:var(--radius-lg);color:var(--bg-primary);font-size:var(--font-lg);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-slow)}.ai-video-overlay-content .btn-settings:hover{background:var(--accent-hover)}.panel-tabs-row{display:flex;align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0;padding-right:var(--sp-2)}.panel-tabs{display:flex;flex:1}.panel-tab{padding:var(--sp-2-5) var(--sp-4);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--font-md);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-normal)}.panel-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.provider-select,.service-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:var(--sp-1) var(--sp-2);font-size:var(--font-sm);cursor:pointer;flex-shrink:0}.provider-select:hover,.service-select:hover{border-color:var(--accent)}.no-key-hint{display:block;font-size:var(--font-md);color:var(--text-secondary);margin-bottom:var(--sp-4)}.ai-video-empty{flex:1;display:flex;align-items:center;justify-content:center}.ai-video-no-key{text-align:center;padding:var(--sp-6)}.no-key-icon{font-size:32px;display:block;margin-bottom:var(--sp-3)}.ai-video-no-key p{color:var(--text-secondary);margin:0 0 var(--sp-4)}.btn-settings{background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);padding:var(--sp-2) var(--sp-4);font-size:var(--font-md);cursor:pointer;transition:background var(--transition-normal)}.btn-settings:hover{background:var(--accent-hover)}.ai-video-content{flex:1;overflow-y:auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-4)}.generation-tabs{display:flex;gap:var(--sp-1);background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--sp-1)}.generation-tabs .tab{flex:1;padding:var(--sp-2) var(--sp-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-md);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-normal)}.generation-tabs .tab:hover:not(:disabled){color:var(--text-primary)}.generation-tabs .tab.active{background:var(--accent);color:var(--text-on-accent)}.generation-tabs .tab:disabled{opacity:.5;cursor:not-allowed}.aspect-ratio-row{display:flex;flex-direction:column;gap:var(--sp-1-5)}.aspect-ratio-row>label{font-size:var(--font-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.aspect-ratio-options{display:flex;gap:var(--sp-1)}.aspect-btn{flex:1;padding:var(--sp-2) var(--sp-3);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-md);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-normal)}.aspect-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.aspect-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.aspect-btn:disabled{opacity:.5;cursor:not-allowed}.image-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.image-cropper-group{display:flex;flex-direction:column;gap:var(--sp-1-5)}.image-cropper-group label{font-size:var(--font-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.image-cropper{position:relative;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal);overflow:hidden}.image-cropper:hover{border-color:var(--accent);background:var(--accent-subtle)}.image-cropper.has-image{border-style:solid;cursor:grab}.image-cropper.has-image:active,.image-cropper.dragging{cursor:grabbing}.image-cropper-viewport{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-cropper-viewport img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;transition:transform .05s ease-out}.image-cropper .drop-hint{font-size:var(--font-sm);color:var(--text-secondary)}.image-cropper .cropper-buttons{position:absolute;top:var(--sp-1);right:var(--sp-1);display:flex;gap:var(--sp-1);z-index:10}.image-cropper .fit-image,.image-cropper .clear-image{width:20px;height:20px;background:var(--bg-overlay);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-size:var(--font-md);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-cropper .fit-image:hover{background:var(--accent)}.image-cropper .clear-image:hover{background:var(--danger)}.image-cropper .zoom-indicator{position:absolute;bottom:var(--sp-1);left:var(--sp-1);background:var(--bg-overlay);color:var(--text-on-accent);font-size:var(--font-xs);padding:var(--sp-0-5) var(--sp-1-5);border-radius:var(--radius-sm);pointer-events:none}.image-cropper .crop-hint{position:absolute;bottom:var(--sp-1);right:var(--sp-1);background:#0009;color:#fffc;font-size:var(--font-2xs);padding:var(--sp-0-5) var(--sp-1-5);border-radius:var(--radius-sm);pointer-events:none;opacity:0;transition:opacity var(--transition-normal)}.image-cropper:hover .crop-hint{opacity:1}.btn-use-current{padding:var(--sp-1-5) var(--sp-2-5);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-xs);cursor:pointer;transition:all var(--transition-normal)}.btn-use-current:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-use-current:disabled{opacity:.5;cursor:not-allowed}.input-group{display:flex;flex-direction:column;gap:var(--sp-1-5)}.input-group label{font-size:var(--font-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.prompt-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);padding:var(--sp-2-5) var(--sp-3);font-size:var(--font-lg);font-family:inherit;resize:none;line-height:var(--leading-normal)}.prompt-input:focus{outline:none;border-color:var(--accent)}.prompt-input::placeholder{color:var(--text-secondary)}.prompt-input.negative{font-size:var(--font-md);padding:var(--sp-2) var(--sp-2-5)}.params-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}.param-group{display:flex;flex-direction:column;gap:var(--sp-1)}.param-group label{font-size:var(--font-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.param-group select,.param-group input[type=number]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:var(--sp-1-5) var(--sp-2);font-size:var(--font-md);cursor:pointer}.param-group select:hover,.param-group input[type=number]:hover{border-color:var(--accent)}.param-group select:focus,.param-group input[type=number]:focus{outline:none;border-color:var(--accent)}.param-group.cfg-slider{grid-column:span 2}.param-group input[type=range]{width:100%;height:var(--sp-1);background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;-webkit-appearance:none}.param-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent);border-radius:var(--radius-full);cursor:pointer}.timeline-option{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2-5) var(--sp-3);background:var(--bg-tertiary);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-normal)}.timeline-option:hover{background:var(--bg-hover)}.timeline-option input[type=checkbox]{width:var(--sp-4);height:var(--sp-4);accent-color:var(--accent);cursor:pointer}.timeline-option span{font-size:var(--font-md);color:var(--text-secondary)}.credit-info{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) var(--sp-3);background:var(--bg-tertiary);border-radius:var(--radius-lg);font-size:var(--font-md)}.credit-balance{display:flex;align-items:center;gap:var(--sp-1-5)}.balance-amount{color:var(--success);font-weight:var(--font-medium)}.balance-loading{color:var(--text-secondary)}.btn-refresh-balance{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--font-xl);padding:var(--sp-0-5) var(--sp-1);border-radius:var(--radius-sm);transition:all var(--transition-normal)}.btn-refresh-balance:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-refresh-balance:disabled{opacity:.5;cursor:not-allowed}.credit-cost{color:var(--text-secondary)}.credit-link{color:var(--accent);text-decoration:none;font-size:var(--font-sm)}.credit-link:hover{text-decoration:underline}.btn-generate{width:100%;padding:var(--sp-3) var(--sp-4);background:var(--accent);border:none;border-radius:var(--radius-lg);color:var(--text-on-accent);font-size:var(--font-lg);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-normal)}.btn-generate:hover:not(:disabled){background:var(--accent-hover)}.btn-generate:disabled{opacity:.5;cursor:not-allowed}.ai-video-error{background:var(--danger-subtle);border:1px solid var(--danger-border);color:var(--danger-light);padding:var(--sp-2-5) var(--sp-3);border-radius:var(--radius-lg);font-size:var(--font-md);display:flex;align-items:center;gap:var(--sp-2)}.error-icon{flex-shrink:0;width:18px;height:18px;background:var(--danger);color:var(--text-on-accent);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-sm);font-weight:var(--font-bold)}.jobs-section{margin-top:var(--sp-2);border-top:1px solid var(--border-color);padding-top:var(--sp-4)}.jobs-section h3{font-size:var(--font-md);font-weight:var(--font-semibold);margin:0 0 var(--sp-3);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.jobs-list{display:flex;flex-direction:column;gap:var(--sp-2-5)}.job-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--sp-2-5) var(--sp-3)}.job-item.completed{border-color:var(--success-dim)}.job-item.failed{border-color:var(--danger-border)}.job-header{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1-5)}.job-type{font-size:var(--font-xs);font-weight:var(--font-semibold);background:var(--bg-secondary);padding:var(--sp-0-5) var(--sp-1-5);border-radius:var(--radius-sm);color:var(--text-secondary)}.job-status{font-size:var(--font-sm);flex:1}.job-status.pending{color:var(--text-secondary)}.job-status.processing{color:var(--accent);animation:pulse 1.5s infinite}.job-status.completed{color:var(--success)}.job-status.failed{color:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.btn-remove{width:18px;height:18px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-xs);cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-remove:hover{background:var(--danger-dim);border-color:var(--danger);color:var(--danger)}.job-prompt{font-size:var(--font-md);color:var(--text-primary);line-height:var(--leading-normal);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.job-error{font-size:var(--font-sm);color:var(--danger);margin-top:var(--sp-1-5)}.job-result{margin-top:var(--sp-2-5);display:flex;flex-direction:column;gap:var(--sp-2)}.job-result video{width:100%;border-radius:var(--radius-lg);background:var(--bg-canvas)}.btn-download{display:inline-flex;align-items:center;justify-content:center;padding:var(--sp-1-5) var(--sp-3);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm);text-decoration:none;cursor:pointer;transition:all var(--transition-normal)}.btn-download:hover{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.ai-video-history{flex:1;overflow-y:auto;padding:var(--sp-4)}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;text-align:center}.history-empty p{color:var(--text-primary);margin:0 0 var(--sp-1);font-size:var(--font-xl)}.history-empty span{color:var(--text-secondary);font-size:var(--font-md)}.history-list{display:flex;flex-direction:column;gap:var(--sp-3)}.history-item{display:flex;gap:var(--sp-3);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--sp-2-5);cursor:grab;transition:all var(--transition-normal)}.history-item:hover{border-color:var(--accent)}.history-item:active{cursor:grabbing}.history-preview{position:relative;width:120px;height:68px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-canvas)}.history-preview video{width:100%;height:100%;object-fit:cover;cursor:pointer}.history-preview-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);color:var(--text-secondary);background:var(--bg-secondary)}.play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;background:var(--bg-overlay);border:none;border-radius:var(--radius-full);color:var(--text-on-accent);font-size:var(--font-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.8;transition:all var(--transition-normal)}.play-overlay:hover{opacity:1;background:var(--accent)}.history-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1-5)}.history-prompt{font-size:var(--font-md);color:var(--text-primary);line-height:var(--leading-tight);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.history-meta{display:flex;gap:var(--sp-2);align-items:center;font-size:var(--font-xs)}.history-type{background:var(--bg-secondary);padding:var(--sp-0-5) var(--sp-1-5);border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:var(--font-semibold)}.history-date{color:var(--text-secondary)}.history-added{color:var(--success);font-weight:var(--font-medium)}.history-actions{display:flex;gap:var(--sp-1-5);margin-top:auto}.btn-add-timeline{padding:var(--sp-1) var(--sp-2);background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--text-on-accent);font-size:var(--font-xs);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-normal)}.btn-add-timeline:hover{background:var(--accent-hover)}.btn-remove-history{width:20px;height:20px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-xs);cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-remove-history:hover{background:var(--danger-dim);border-color:var(--danger);color:var(--danger)}.youtube-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);color:var(--text-primary)}.youtube-header{padding:var(--sp-3);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--sp-2);flex-shrink:0}.youtube-search-row{display:flex;gap:var(--sp-2)}.youtube-search-input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);padding:var(--sp-2) var(--sp-3);font-size:var(--font-lg);font-family:inherit}.youtube-search-input:focus{outline:none;border-color:var(--accent)}.youtube-search-input::placeholder{color:var(--text-secondary)}.youtube-search-btn{padding:var(--sp-2) var(--sp-4);background:red;border:none;border-radius:var(--radius-lg);color:var(--text-on-accent);font-size:var(--font-md);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-normal);flex-shrink:0}.youtube-search-btn:hover:not(:disabled){background:#c00}.youtube-search-btn:disabled{opacity:.5;cursor:not-allowed}.youtube-options{display:flex;align-items:center;gap:var(--sp-2)}.youtube-options .provider-select{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:var(--sp-1) var(--sp-2);font-size:var(--font-sm);cursor:pointer}.youtube-options .provider-select:hover{border-color:var(--accent)}.btn-settings-small{padding:var(--sp-1) var(--sp-2);background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-size:var(--font-xs);cursor:pointer;transition:background var(--transition-normal)}.btn-settings-small:hover{background:var(--accent-hover)}.youtube-hint{font-size:var(--font-xs);color:var(--text-secondary);padding:var(--sp-1-5) 0 0;text-align:center}.api-status{font-size:var(--font-xs);color:var(--text-secondary);padding:3px var(--sp-2);background:var(--bg-tertiary);border-radius:var(--radius-md)}.api-status.api-active{color:var(--success);background:var(--success-subtle)}.api-status.api-warning{color:var(--warning-light);background:var(--warning-dim)}.youtube-hint-warning{color:var(--warning-light)!important}.auto-download-toggle{display:flex;align-items:center;gap:var(--sp-1-5);font-size:var(--font-xs);color:var(--text-secondary);cursor:pointer;margin-left:auto;padding:3px var(--sp-2);background:var(--bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-normal)}.auto-download-toggle:hover{background:var(--bg-primary)}.auto-download-toggle input{width:14px;height:14px;cursor:pointer;accent-color:#ff0000}.auto-download-toggle:has(input:checked){color:var(--success);background:var(--success-subtle)}.youtube-error{margin:0 var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--danger-subtle);border:1px solid var(--danger-border);border-radius:var(--radius-lg);color:var(--danger-light);font-size:var(--font-md);display:flex;align-items:center;gap:var(--sp-2)}.youtube-error .error-icon{width:var(--sp-4);height:var(--sp-4);background:var(--danger);color:var(--text-on-accent);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);font-weight:var(--font-bold);flex-shrink:0}.youtube-results{flex:1;overflow-y:auto;padding:var(--sp-3)}.youtube-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-10)}.loading-spinner{width:var(--sp-6);height:var(--sp-6);border:2px solid var(--border-color);border-top-color:red;border-radius:var(--radius-full);animation:spin .8s linear infinite}.youtube-loading span{color:var(--text-secondary);font-size:var(--font-md)}.youtube-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-10);text-align:center}.youtube-empty .youtube-icon{font-size:var(--font-2xl);font-weight:var(--font-bold);color:red;background:#ff00001a;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-lg);margin-bottom:var(--sp-3)}.youtube-empty p{color:var(--text-primary);margin:0 0 var(--sp-1);font-size:var(--font-xl)}.youtube-empty span{color:var(--text-secondary);font-size:var(--font-md)}.youtube-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--sp-3)}.youtube-video-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:all var(--transition-normal)}.youtube-video-card:hover{border-color:red;transform:translateY(-2px)}.youtube-video-card.dragging{opacity:.5;border-color:var(--accent);border-style:dashed}.youtube-video-card.downloading{pointer-events:none}.video-thumbnail{position:relative;aspect-ratio:16/9;background:var(--bg-canvas);overflow:hidden}.video-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.youtube-video-card:hover .video-thumbnail img{transform:scale(1.05)}.video-duration{position:absolute;bottom:var(--sp-1);right:var(--sp-1);background:#000000d9;color:var(--text-on-accent);font-size:var(--font-xs);font-weight:var(--font-medium);padding:var(--sp-0-5) var(--sp-1);border-radius:3px}.video-info-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--sp-6) var(--sp-2) var(--sp-2);background:linear-gradient(transparent,#000000d9);display:flex;flex-direction:column;gap:var(--sp-0-5)}.video-info-overlay .video-title{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-on-accent);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.5)}.video-info-overlay .video-channel{font-size:var(--font-2xs);color:#ffffffb3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-actions{position:absolute;top:var(--sp-1);left:var(--sp-1);right:var(--sp-1);display:flex;gap:var(--sp-1);opacity:0;transition:opacity var(--transition-normal)}.youtube-video-card:hover .video-actions{opacity:1}.btn-download{background:#22c55ee6;border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-size:var(--font-md);font-weight:var(--font-bold);width:var(--sp-6);height:var(--sp-6);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-normal)}.btn-download:hover:not(:disabled){background:var(--success)}.btn-download:disabled{opacity:.6;cursor:not-allowed}.btn-add-timeline{background:#ff0000e6;border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-size:var(--font-xl);font-weight:var(--font-bold);width:var(--sp-6);height:var(--sp-6);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-normal)}.btn-add-timeline:hover{background:#c00}.btn-copy-url{background:#000000b3;border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-size:var(--font-2xs);padding:var(--sp-1) var(--sp-1-5);cursor:pointer;margin-left:auto;transition:background var(--transition-normal)}.btn-copy-url:hover{background:var(--accent)}.download-overlay{position:absolute;inset:0;background:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2)}.download-overlay span{color:var(--text-on-accent);font-size:var(--font-xs)}.download-spinner{width:var(--sp-6);height:var(--sp-6);border:2px solid rgba(255,255,255,.3);border-top-color:var(--success);border-radius:var(--radius-full);animation:spin .8s linear infinite}.drag-hint{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.youtube-video-card:active .drag-hint{opacity:1}.drag-hint span{background:var(--accent);color:var(--text-on-accent);padding:var(--sp-1-5) var(--sp-3);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium)}.download-indicator{position:absolute;inset:0;background:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2)}.download-indicator .progress-bar{width:80%;height:var(--sp-1);background:#fff3;border-radius:var(--radius-sm);overflow:hidden}.download-indicator .progress-fill{height:100%;background:red;transition:width var(--transition-slow)}.download-indicator span{color:var(--text-on-accent);font-size:var(--font-xs)}.format-dialog-backdrop{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);backdrop-filter:blur(4px)}.format-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);width:320px;max-width:90vw;max-height:80vh;overflow:hidden;box-shadow:var(--shadow-dialog)}.format-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-color)}.format-dialog-header h3{margin:0;font-size:var(--font-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.format-dialog-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0;line-height:1;transition:color var(--transition-normal)}.format-dialog-close:hover{color:var(--text-primary)}.format-dialog-video{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.format-dialog-video img{width:80px;height:45px;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0}.format-dialog-info{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.format-dialog-title{font-size:var(--font-md);font-weight:var(--font-medium);color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.format-dialog-uploader{font-size:var(--font-xs);color:var(--text-secondary)}.format-dialog-options{padding:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-1);max-height:300px;overflow-y:auto}.format-option{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2-5) var(--sp-3);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-normal)}.format-option:hover{background:var(--bg-primary);border-color:red}.format-label{font-size:var(--font-lg);font-weight:var(--font-medium);color:var(--text-primary)}.format-details{display:flex;gap:var(--sp-1-5)}.format-codec{font-size:var(--font-2xs);padding:var(--sp-0-5) var(--sp-1-5);background:#ffffff1a;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-mono)}.format-dialog-cancel{width:calc(100% - var(--sp-4));margin:var(--sp-2);padding:var(--sp-2-5);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-xl);color:var(--text-secondary);font-size:var(--font-md);cursor:pointer;transition:all var(--transition-normal)}.format-dialog-cancel:hover{background:var(--bg-primary);color:var(--text-primary)}.transitions-panel{display:flex;flex-direction:column;height:100%;background:#1a1a1a;color:#e5e5e5}.transitions-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #333;background:#222}.transitions-panel-title{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.transitions-duration-control{display:flex;align-items:center;gap:4px;background:#333;border-radius:4px;padding:2px 6px 2px 2px}.transitions-duration-input{width:48px;padding:4px 6px;font-size:12px;font-family:inherit;background:transparent;border:none;color:#fff;text-align:right}.transitions-duration-input:focus{outline:none}.transitions-duration-input::-webkit-inner-spin-button,.transitions-duration-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.transitions-duration-unit{font-size:11px;color:#666}.transitions-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.transition-item{display:flex;align-items:center;gap:12px;padding:8px 10px;background:#2a2a2a;border:1px solid #333;border-radius:6px;cursor:grab;transition:all .15s ease}.transition-item:hover{background:#333;border-color:#444}.transition-item:active{cursor:grabbing;transform:scale(.98)}.transition-item-preview{width:64px;height:32px;border-radius:4px;overflow:hidden;background:#1a1a1a;flex-shrink:0}.transition-preview-svg{width:100%;height:100%}.transition-item-name{font-size:12px;font-weight:500;color:#ccc}.transitions-empty{display:flex;align-items:center;justify-content:center;height:100px;color:#555;font-size:12px}.transitions-panel-footer{display:flex;align-items:center;gap:6px;padding:10px 12px;border-top:1px solid #333;background:#1f1f1f;color:#555;font-size:11px}.transitions-panel-footer svg{flex-shrink:0;opacity:.6}.settings-container{position:fixed;inset:0;pointer-events:none;z-index:10000}.settings-dialog{position:fixed;pointer-events:auto;background:var(--bg-primary, #1a1a1a);border:1px solid var(--border-color);border-radius:6px;width:640px;max-width:95vw;height:480px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.settings-dialog.dragging{cursor:grabbing;user-select:none}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0;cursor:grab;user-select:none}.settings-dialog.dragging .settings-header{cursor:grabbing}.settings-header h1{margin:0;font-size:12px;font-weight:600;color:var(--text-primary);pointer-events:none}.settings-close{background:none;border:none;font-size:16px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:3px}.settings-close:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-main{display:flex;flex:1;min-height:0}.settings-sidebar{width:140px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:4px 0;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;background:none;border:none;color:var(--text-secondary);font-size:11px;text-align:left;cursor:pointer;transition:all .15s}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:var(--accent);color:#fff}.sidebar-icon{font-size:12px;width:16px;text-align:center}.sidebar-label{font-weight:500}.settings-content{flex:1;padding:10px 14px;overflow-y:auto;background:var(--bg-primary, #1a1a1a)}.settings-category-content h2{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--text-primary);padding-bottom:6px;border-bottom:1px solid var(--border-color)}.settings-group{margin-bottom:14px}.settings-group:last-child{margin-bottom:0}.settings-group-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.settings-description{font-size:11px;color:var(--text-secondary);margin:0 0 8px;line-height:1.4}.settings-hint{font-size:10px;color:var(--text-secondary);margin:4px 0 0;opacity:.8}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.settings-row:last-child{border-bottom:none}.settings-label{font-size:11px;color:var(--text-primary)}.settings-checkbox{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.settings-select{padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:11px;min-width:160px;cursor:pointer}.settings-select:focus{outline:none;border-color:var(--accent)}.settings-select:disabled{opacity:.5;cursor:not-allowed}.settings-input{padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:11px}.settings-input:focus{outline:none;border-color:var(--accent)}.settings-input:disabled{opacity:.5;cursor:not-allowed}.settings-input-number{width:80px;text-align:right}.settings-button{padding:4px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:11px;cursor:pointer;transition:all .15s}.settings-button:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.preset-buttons{display:flex;gap:6px;margin-top:8px}.preset-btn{padding:3px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-secondary);font-size:10px;cursor:pointer;transition:all .15s}.preset-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-secondary)}.settings-status{display:flex;align-items:center;gap:6px;padding:4px 0}.status-indicator{width:6px;height:6px;border-radius:50%}.status-indicator.connected{background:#22c55e;box-shadow:0 0 6px #22c55e}.status-indicator.disconnected{background:var(--text-secondary)}.status-text{font-size:11px;color:var(--text-secondary)}.provider-list{display:flex;flex-direction:column;gap:4px}.provider-option{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;transition:all .15s}.provider-option:hover{border-color:var(--text-secondary)}.provider-option.active{border-color:var(--accent);background:#3b82f61a}.provider-option input{margin:0;accent-color:var(--accent)}.provider-info{flex:1;display:flex;flex-direction:column;gap:2px}.provider-label{font-size:11px;font-weight:500;color:var(--text-primary)}.provider-description{font-size:10px;color:var(--text-secondary)}.provider-status{color:#22c55e;font-size:12px}.api-key-row{margin-bottom:10px}.api-key-row:last-child{margin-bottom:0}.api-key-row label{display:block;margin-bottom:3px;font-size:11px;color:var(--text-secondary)}.api-key-input{display:flex;gap:3px}.api-key-input input{flex:1;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:11px;font-family:monospace}.api-key-input input:focus{outline:none;border-color:var(--accent)}.api-key-input input::placeholder{color:var(--text-secondary);opacity:.5}.toggle-visibility{padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;font-size:11px;color:var(--text-secondary);transition:all .15s}.toggle-visibility:hover{background:var(--bg-hover);color:var(--text-primary)}.api-key-link{display:inline-block;margin-top:3px;font-size:10px;color:var(--accent);text-decoration:none}.api-key-link:hover{text-decoration:underline}.settings-footer{display:flex;justify-content:flex-end;gap:6px;padding:6px 12px;background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0}.settings-footer button{padding:4px 16px;border-radius:3px;border:1px solid var(--border-color);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.btn-cancel{background:var(--bg-tertiary);color:var(--text-primary)}.btn-cancel:hover{background:var(--bg-hover)}.btn-save{background:var(--accent);border-color:var(--accent);color:#fff;min-width:80px}.btn-save:hover{opacity:.9}.theme-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.theme-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:all .15s}.theme-card:hover{background:var(--bg-hover)}.theme-card.active{border-color:var(--accent)}.theme-card input{display:none}.theme-preview{width:100%;aspect-ratio:16 / 10;border-radius:4px;border:1px solid var(--border-subtle);position:relative;overflow:hidden}.theme-preview-bar{height:20%;width:100%}.theme-preview-accent{position:absolute;bottom:6px;left:6px;width:40%;height:4px;border-radius:2px}.theme-card-label{font-size:10px;color:var(--text-secondary);font-weight:500}.theme-card.active .theme-card-label{color:var(--accent)}.custom-theme-controls{display:flex;flex-direction:column;gap:12px}.custom-theme-row{display:flex;align-items:center;gap:10px}.custom-theme-label{width:70px;font-size:12px;color:var(--text-secondary);flex-shrink:0}.custom-theme-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:3px;outline:none;cursor:pointer}.custom-theme-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-primary);cursor:pointer}.custom-theme-hue-slider{background:linear-gradient(to right,#dd3c3c,#dddd3c,#3cdd3c,#3cdddd,#3c3cdd,#dd3cdd,#dd3c3c)}.custom-theme-swatch{width:20px;height:20px;border-radius:4px;border:1px solid var(--border-subtle);flex-shrink:0}.custom-theme-value{width:28px;font-size:11px;color:var(--text-secondary);text-align:right;flex-shrink:0}.dock-container{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;overflow:hidden}.dock-container.dragging{cursor:grabbing;user-select:none}.dock-root{flex:1;display:flex;min-width:0;min-height:0}.dock-split{display:flex;flex:1;min-width:0;min-height:0}.dock-split.horizontal{flex-direction:row}.dock-split.vertical{flex-direction:column}.dock-split.resizing{cursor:col-resize;user-select:none}.dock-split.vertical.resizing{cursor:row-resize}.dock-split-child{display:flex;min-width:0;min-height:0;overflow:hidden}.dock-resize-handle{flex-shrink:0;background:transparent;position:relative;z-index:1}.dock-resize-handle:after{content:"";position:absolute;background:var(--border-color);transition:background .15s}.dock-resize-handle.horizontal{width:8px;margin:0 -3px;cursor:col-resize}.dock-resize-handle.horizontal:after{top:0;bottom:0;left:3px;width:2px}.dock-resize-handle.vertical{height:8px;margin:-3px 0;cursor:row-resize}.dock-resize-handle.vertical:after{left:0;right:0;top:3px;height:2px}.dock-resize-handle:hover:after,.dock-resize-handle.active:after{background:var(--accent)}.dock-tab-pane{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-secondary);position:relative}.dock-tab-pane.drop-target{outline:2px solid var(--accent);outline-offset:-2px}.dock-tab-bar{display:flex;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);min-height:26px;flex-shrink:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.dock-tab-bar::-webkit-scrollbar{display:none}.dock-tab-bar.middle-dragging{cursor:grabbing;user-select:none}.dock-tab-handle{display:flex;align-items:center;justify-content:center;padding:0 6px;height:26px;background:transparent;border-right:1px solid var(--border-color);color:var(--text-secondary);font-size:9px;letter-spacing:-2px;cursor:grab;user-select:none;transition:background .15s,color .15s}.dock-tab-handle:hover{background:var(--bg-hover);color:var(--text-primary)}.dock-tab-handle:active{cursor:grabbing}.dock-tab-handle.hold-glow{animation:holdGlow .5s ease-out forwards;cursor:grabbing}.dock-tab-handle.hold-ready{box-shadow:0 0 16px 6px #2d8cebcc,inset 0 0 10px #2d8ceb4d;background:#2d8ceb33;cursor:grabbing}.dock-tab-handle.hold-fade{animation:holdGlowFade .5s ease-out forwards}.dock-tab{display:flex;align-items:center;padding:0 12px;height:26px;background:transparent;border:none;border-right:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;cursor:grab;white-space:nowrap;transition:background .15s,color .15s;user-select:none;position:relative}.dock-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.dock-tab.active{background:var(--tab-active-bg);color:var(--text-primary)}.dock-tab.dragging{opacity:.5}@keyframes holdGlow{0%{box-shadow:0 0 #2d8ceb00;background:transparent}to{box-shadow:0 0 12px 4px #2d8ceb99,inset 0 0 8px #2d8ceb33;background:#2d8ceb26}}@keyframes holdGlowFade{0%{box-shadow:0 0 12px 4px #2d8ceb99,inset 0 0 8px #2d8ceb33;background:#2d8ceb26}to{box-shadow:0 0 #2d8ceb00;background:transparent}}.dock-tab.hold-glow{animation:holdGlow .5s ease-out forwards;cursor:grabbing}.dock-tab.hold-ready{box-shadow:0 0 16px 6px #2d8cebcc,inset 0 0 10px #2d8ceb4d;background:#2d8ceb33;cursor:grabbing}.dock-tab.hold-fade{animation:holdGlowFade .5s ease-out forwards}.dock-tab-title{font-weight:500}.dock-tab-close{display:flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:1px;font-size:14px;line-height:1;padding:0;opacity:.6;transition:opacity .15s,background .15s}.dock-tab-close:hover{opacity:1;background:var(--bg-hover);color:var(--text-primary)}.dock-tab.active .dock-tab-close{opacity:.8}.dock-tab[draggable=true]{cursor:grab}.dock-tab[draggable=true]:active{cursor:grabbing}.dock-tab.drop-target-tab{border-left:2px solid var(--accent);margin-left:-2px}.dock-tab.drop-target-tab:before{content:"";position:absolute;left:-1px;top:4px;bottom:4px;width:2px;background:var(--accent);border-radius:1px}.dock-panel-content{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;position:relative}.dock-panel-content-inner{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto;transform-origin:top left;font-size:calc(1em * var(--panel-zoom, 1))}.dock-panel-content-inner>*{flex:1;min-height:0}.dock-panel-content-inner canvas,.dock-panel-content-inner video{font-size:1rem}.dock-zoom-indicator{position:absolute;bottom:8px;right:8px;background:#000000b3;color:var(--accent);padding:3px 6px;border-radius:2px;font-size:11px;font-weight:500;pointer-events:none;z-index:50}.dock-drop-overlay{position:absolute;background:#2d8ceb26;border:2px dashed var(--accent);pointer-events:none;z-index:100}.dock-drop-overlay.left{top:0;left:0;width:50%;height:100%}.dock-drop-overlay.right{top:0;right:0;width:50%;height:100%}.dock-drop-overlay.top{top:0;left:0;width:100%;height:50%}.dock-drop-overlay.bottom{bottom:0;left:0;width:100%;height:50%}.dock-drop-overlay.center{inset:10%;width:auto;height:auto}.dock-tab-slots-overlay{position:absolute;top:0;left:0;right:0;height:26px;display:flex;align-items:center;padding:0 4px;pointer-events:none;z-index:100;background:#0000004d;gap:4px}.dock-tab-slot{width:40px;height:20px;border:2px dashed var(--border-color);border-radius:2px;background:transparent;transition:all .15s ease;flex-shrink:0}.dock-tab-slot.active{border-color:var(--accent);background:#2d8ceb40;box-shadow:0 0 8px #2d8ceb66;transform:scale(1.1)}.dock-drag-preview{position:fixed;background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:2px;padding:6px 12px;font-size:12px;color:var(--text-primary);pointer-events:none;z-index:10000;box-shadow:0 4px 12px #0000004d}.floating-panel{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:2px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;overflow:hidden;min-width:200px;min-height:100px}.floating-panel.dragging{opacity:.9;box-shadow:0 12px 48px #00000080}.floating-panel-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);cursor:grab;user-select:none}.floating-panel-header:active{cursor:grabbing}.floating-panel-drag-handle{color:var(--text-secondary);font-size:10px;letter-spacing:-2px}.floating-panel-title{font-size:11px;font-weight:500;color:var(--text-primary)}.floating-panel-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.floating-panel-content>*{flex:1;min-height:0}.floating-panel-resize{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:se-resize;background:linear-gradient(135deg,transparent 50%,var(--border-color) 50%);opacity:.5;transition:opacity .15s}.floating-panel-resize:hover{opacity:1}.panel-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:12px}.mobile-app{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw;background:#1a1a1a;color:#fff;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.mobile-preview-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;position:relative;min-height:0}.mobile-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.mobile-preview-canvas{max-width:100%;max-height:100%;object-fit:contain}.mobile-preview-loading,.mobile-preview-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#888;font-size:14px}.mobile-preview-error{color:#f44}.mobile-pull-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);padding:12px 30px;cursor:pointer;background:#0006;border-radius:0 0 12px 12px}.pull-handle{width:50px;height:5px;background:#ffffff80;border-radius:3px}.mobile-pull-indicator:active .pull-handle{background:#4a9eff}.mobile-active-slider{background:#000c;padding:12px 16px;display:flex;align-items:center;justify-content:center}.active-slider-content{display:flex;align-items:center;gap:12px;width:100%;max-width:400px}.active-slider-label{font-size:12px;color:#888;min-width:80px}.active-slider-content input[type=range]{flex:1;height:32px;-webkit-appearance:none;background:transparent}.active-slider-content input[type=range]::-webkit-slider-track{height:4px;background:#333;border-radius:2px}.active-slider-content input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;background:#4a9eff;border-radius:50%;margin-top:-10px}.active-slider-value{font-size:12px;color:#4a9eff;min-width:60px;text-align:right}.mobile-toolbar{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 16px;background:#252525;border-top:1px solid #333;border-bottom:1px solid #333}.mobile-toolbar-btn{width:48px;height:48px;border-radius:50%;border:none;background:#333;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.mobile-toolbar-btn:active,.mobile-toolbar-btn.active{background:#4a9eff}.mobile-toolbar-btn.play{width:56px;height:56px;background:#4a9eff}.mobile-toolbar-btn.play:active{background:#3a8eef}.mobile-toolbar-btn:disabled{opacity:.5}.mobile-toolbar-time{font-family:monospace;font-size:16px;color:#fff;min-width:80px;text-align:center}.mobile-timeline-container{height:150px;background:#1e1e1e}.mobile-timeline{height:100%;position:relative;overflow:hidden}.mobile-timeline-ruler{height:24px;background:#252525;border-bottom:1px solid #333;position:relative}.mobile-timeline-ruler-mark{position:absolute;top:0;height:100%;border-left:1px solid #444}.mobile-timeline-ruler-mark span{position:absolute;top:4px;left:4px;font-size:10px;color:#666}.mobile-timeline-tracks{position:absolute;inset:24px 0 0}.mobile-timeline-track{height:50px;position:relative;border-bottom:1px solid #333}.mobile-timeline-clip{position:absolute;top:4px;height:42px;background:#3a5a8a;border-radius:4px;display:flex;align-items:center;overflow:hidden}.mobile-timeline-clip.selected{outline:2px solid #4a9eff;outline-offset:-2px}.mobile-timeline-clip.audio{background:#5a8a3a}.mobile-timeline-clip.image{background:#8a5a3a}.mobile-clip-handle{width:16px;height:100%;background:#ffffff1a;cursor:ew-resize;flex-shrink:0}.mobile-clip-handle:active{background:#4a9eff80}.mobile-clip-content{flex:1;padding:0 4px;overflow:hidden}.mobile-clip-name{font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-timeline-playhead{position:absolute;top:0;bottom:0;width:2px;pointer-events:none;z-index:10}.mobile-playhead-head{width:12px;height:12px;background:#f44;border-radius:2px;margin-left:-5px}.mobile-playhead-line{width:2px;height:100%;background:#f44;margin-left:0}.mobile-media-panel,.mobile-options-menu{position:fixed;top:0;bottom:0;width:75%;max-width:320px;background:#000000f2;z-index:100;transition:transform .3s ease}.mobile-media-panel{left:0;transform:translate(-100%)}.mobile-media-panel.open{transform:translate(0)}.mobile-options-menu{right:0;transform:translate(100%)}.mobile-options-menu.open{transform:translate(0)}.mobile-media-content,.mobile-options-content{height:100%;display:flex;flex-direction:column;padding:16px}.mobile-panel-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #333;margin-bottom:12px}.mobile-panel-header h3{margin:0;font-size:18px}.mobile-panel-close{width:32px;height:32px;border:none;background:#333;color:#fff;border-radius:50%;cursor:pointer}.mobile-import-btn{width:100%;padding:12px;background:#4a9eff;border:none;border-radius:8px;color:#fff;font-size:16px;cursor:pointer;margin-bottom:16px}.mobile-media-list{flex:1;overflow-y:auto}.mobile-media-section{margin-bottom:16px}.section-title{font-size:12px;color:#666;text-transform:uppercase;margin-bottom:8px}.mobile-media-item{display:flex;align-items:center;gap:12px;padding:8px;background:#252525;border-radius:8px;margin-bottom:8px;cursor:pointer}.mobile-media-item:active{background:#333}.media-thumbnail{width:48px;height:36px;background:#333;border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-thumbnail img{width:100%;height:100%;object-fit:cover}.media-icon{font-size:20px}.media-info{flex:1;display:flex;flex-direction:column;gap:2px}.media-name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-meta{font-size:11px;color:#666}.mobile-media-empty{color:#666;font-size:14px;text-align:center;padding:20px}.mobile-options-project{display:flex;gap:8px;padding:12px;background:#252525;border-radius:8px;margin-bottom:16px}.project-label{color:#666}.project-name{color:#4a9eff}.mobile-options-list{flex:1;overflow-y:auto}.mobile-options-section{margin-bottom:20px}.mobile-option-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px;background:#252525;border:none;border-radius:8px;color:#fff;font-size:14px;cursor:pointer;margin-bottom:8px;text-align:left}.mobile-option-btn:active{background:#333}.mobile-option-btn:disabled{opacity:.5}.option-icon{font-size:18px}.option-hint{margin-left:auto;font-size:11px;color:#666}.mobile-options-footer{padding-top:12px;border-top:1px solid #333;text-align:center;font-size:12px;color:#666}.mobile-properties-panel{position:fixed;inset:0;background:#000000b3;z-index:100}.mobile-properties-content{background:#1e1e1e;border-radius:0 0 16px 16px;max-height:60vh;display:flex;flex-direction:column;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.mobile-panel-handle{display:flex;justify-content:center;padding:8px}.handle-bar{width:40px;height:4px;background:#444;border-radius:2px}.mobile-properties-tabs{display:flex;padding:0 16px;gap:8px;border-bottom:1px solid #333}.mobile-properties-tabs .tab{padding:12px 16px;background:none;border:none;color:#666;font-size:14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.mobile-properties-tabs .tab.active{color:#4a9eff;border-bottom-color:#4a9eff}.mobile-properties-body{flex:1;overflow-y:auto;padding:16px}.mobile-properties-empty{color:#666;text-align:center;padding:40px 20px}.mobile-properties-list{display:flex;flex-direction:column;gap:12px}.mobile-property-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#252525;border-radius:8px;cursor:pointer}.mobile-property-row:active{background:#333}.property-label{font-size:13px;color:#888;min-width:80px}.property-slider-container{flex:1}.property-slider-container input[type=range]{width:100%;height:24px;-webkit-appearance:none;background:transparent}.property-slider-container input[type=range]::-webkit-slider-track{height:4px;background:#444;border-radius:2px}.property-slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#4a9eff;border-radius:50%;margin-top:-8px}.property-value{font-size:12px;color:#4a9eff;min-width:50px;text-align:right}.mobile-edge-left,.mobile-edge-right{position:fixed;top:0;bottom:0;width:20px;z-index:50}.mobile-edge-left{left:0}.mobile-edge-right{right:0}.mobile-menu-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;background:#0009;color:#fff;font-size:20px;border-radius:8px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center}.mobile-menu-btn.left{left:8px}.mobile-menu-btn.right{right:8px}.mobile-menu-btn:active{background:#4a9eff99}:root{--gray-950: #0a0a0a;--gray-900: #0f0f0f;--gray-850: #141414;--gray-800: #161616;--gray-750: #1a1a1a;--gray-700: #1e1e1e;--gray-650: #222222;--gray-600: #282828;--gray-550: #2a2a2a;--gray-500: #333333;--gray-450: #3a3a3a;--gray-400: #444444;--gray-350: #4a4a4a;--gray-300: #555555;--gray-250: #666666;--gray-200: #888888;--gray-150: #999999;--gray-100: #aaaaaa;--gray-75: #cccccc;--gray-50: #d4d4d4;--gray-25: #e0e0e0;--gray-0: #ffffff;--blue-700: #1a5fb0;--blue-600: #2080CC;--blue-500: #2D8CEB;--blue-400: #4DA3F0;--blue-300: #60a5fa;--blue-200: #93c5fd;--red-700: #c53030;--red-600: #E74C3C;--red-500: #ef4444;--red-400: #f87171;--red-300: #ff6b6b;--green-700: #15803d;--green-600: #22c55e;--green-500: #27AE60;--green-400: #4ade80;--green-300: #51cf66;--amber-700: #b45309;--amber-600: #f59e0b;--amber-500: #F39C12;--amber-400: #fbbf24;--amber-300: #fcd34d;--purple-600: #7c3aed;--purple-500: #8b5cf6;--purple-400: #a855f7;--purple-300: #c084fc;--cyan-500: #22d3ee;--cyan-400: #67e8f9;--bg-primary: var(--gray-900);--bg-secondary: var(--gray-800);--bg-tertiary: var(--gray-700);--bg-hover: var(--gray-600);--bg-active: var(--gray-550);--bg-elevated: var(--gray-650);--bg-input: var(--gray-750);--bg-overlay: rgba(0, 0, 0, .7);--bg-overlay-light: rgba(0, 0, 0, .4);--bg-canvas: #000000;--border-color: var(--gray-950);--border-subtle: var(--gray-500);--border-strong: var(--gray-400);--border-focus: var(--blue-500);--text-primary: var(--gray-50);--text-secondary: var(--gray-150);--text-muted: var(--gray-250);--text-disabled: var(--gray-300);--text-inverse: #000000;--text-on-accent: #ffffff;--accent: var(--blue-500);--accent-hover: var(--blue-400);--accent-dim: rgba(45, 140, 235, .15);--accent-subtle: rgba(45, 140, 235, .1);--accent-timeline: #2997E5;--accent-timeline-hover: var(--blue-600);--danger: var(--red-600);--danger-light: var(--red-400);--danger-dim: rgba(239, 68, 68, .15);--danger-subtle: rgba(239, 68, 68, .1);--danger-border: rgba(239, 68, 68, .3);--success: var(--green-600);--success-light: var(--green-400);--success-dim: rgba(34, 197, 94, .15);--success-subtle: rgba(34, 197, 94, .1);--warning: var(--amber-500);--warning-light: var(--amber-400);--warning-dim: rgba(245, 158, 11, .15);--info: var(--blue-300);--info-dim: rgba(96, 165, 250, .15);--purple: var(--purple-500);--purple-light: var(--purple-400);--purple-dim: rgba(139, 92, 246, .15);--sp-0: 0px;--sp-0-5: 2px;--sp-1: 4px;--sp-1-5: 6px;--sp-2: 8px;--sp-2-5: 10px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Consolas", monospace;--font-2xs: 9px;--font-xs: 10px;--font-sm: 11px;--font-md: 12px;--font-lg: 13px;--font-xl: 14px;--font-2xl: 16px;--font-3xl: 18px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.2;--leading-normal: 1.4;--leading-relaxed: 1.5;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .5px;--radius-xs: 1px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-2xl: 12px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .5);--shadow-dialog: 0 20px 50px rgba(0, 0, 0, .5);--transition-fast: .1s ease;--transition-normal: .15s ease;--transition-slow: .2s ease;--transition-slower: .3s ease;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 1000;--z-modal: 10000;--z-tooltip: 10001;--toolbar-height: 28px;--toolbar-bg: var(--bg-tertiary);--toolbar-font-size: var(--font-sm);--tab-height: 26px;--tab-font-size: var(--font-sm);--tab-active-bg: var(--gray-550);--panel-header-bg: var(--bg-tertiary);--panel-header-font-size: var(--font-xl);--panel-header-weight: var(--font-semibold);--panel-header-padding: var(--sp-3) var(--sp-4);--input-bg: var(--bg-tertiary);--input-border: var(--border-color);--input-border-focus: var(--accent);--input-radius: var(--radius-md);--input-padding: var(--sp-1-5) var(--sp-2);--input-font-size: var(--font-md);--btn-radius: var(--radius-md);--btn-padding: var(--sp-2) var(--sp-4);--btn-font-size: var(--font-md);--btn-font-weight: var(--font-medium);--scrollbar-width: 6px;--scrollbar-track: var(--bg-secondary);--scrollbar-thumb: var(--border-strong);--scrollbar-thumb-hover: var(--text-muted);--group-0: #ff6b6b;--group-1: #4ecdc4;--group-2: #ffe66d;--group-3: #95e1d3;--group-4: #dda0dd;--group-5: #87ceeb;--expr-color: #e5c07b;--expr-color-light: #f0d090;--expr-color-dark: #d4a84b;--expr-color-stroke: #b8922f;--expr-connected: #98c379;--marker-green: var(--success);--marker-amber: var(--amber-600);--marker-red: var(--danger);--marker-purple: var(--purple);--marker-cyan: var(--cyan-500);--timeline-grid-video: #282830;--timeline-grid-audio: #283028;--preview-overlay-bg: rgba(0, 0, 0, .6);--preview-overlay-bg-hover: rgba(0, 0, 0, .8);--chat-user-bg: var(--gray-500);--chat-user-border: var(--gray-450);--accent-primary: var(--accent);--accent-success: var(--success);--accent-danger: var(--red-300);--warning-color: var(--warning);--accent-color: var(--accent)}[data-theme=light]{--bg-primary: #f5f5f5;--bg-secondary: #e8e8e8;--bg-tertiary: #dedede;--bg-hover: #d0d0d0;--bg-active: #c8c8c8;--bg-elevated: #ffffff;--bg-input: #ffffff;--bg-overlay: rgba(0, 0, 0, .4);--bg-overlay-light: rgba(0, 0, 0, .2);--border-color: #c0c0c0;--border-subtle: #d0d0d0;--border-strong: #a0a0a0;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #777777;--text-disabled: #aaaaaa;--text-inverse: #ffffff;--accent: #1a73e8;--accent-hover: #1565c0;--accent-dim: rgba(26, 115, 232, .12);--accent-subtle: rgba(26, 115, 232, .08);--accent-timeline: #1a73e8;--accent-timeline-hover: #1565c0;--danger: #d32f2f;--danger-light: #ef5350;--danger-dim: rgba(211, 47, 47, .1);--danger-subtle: rgba(211, 47, 47, .06);--danger-border: rgba(211, 47, 47, .25);--success: #2e7d32;--success-light: #43a047;--success-dim: rgba(46, 125, 50, .1);--success-subtle: rgba(46, 125, 50, .06);--warning: #ed6c02;--warning-light: #ff9800;--warning-dim: rgba(237, 108, 2, .1);--info: #0288d1;--info-dim: rgba(2, 136, 209, .1);--purple: #7b1fa2;--purple-light: #9c27b0;--purple-dim: rgba(123, 31, 162, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .14);--shadow-dialog: 0 12px 40px rgba(0, 0, 0, .18);--tab-active-bg: #d0d0d0;--scrollbar-track: #e8e8e8;--scrollbar-thumb: #bbb;--scrollbar-thumb-hover: #999;--timeline-grid-video: #d0d0d8;--timeline-grid-audio: #c8d8c8;--preview-overlay-bg: rgba(255, 255, 255, .2);--preview-overlay-bg-hover: rgba(255, 255, 255, .35);--chat-user-bg: #d0d8e8;--chat-user-border: #b8c4d8;--accent-primary: var(--accent);--accent-danger: #ef5350}[data-theme=light] .welcome-overlay{background:linear-gradient(165deg,#fffffff7,#f0f0f0fc);border:1px solid rgba(0,0,0,.1);box-shadow:0 0 0 1px #0000000a,0 40px 80px #00000026,0 0 120px #00000014}[data-theme=light] .welcome-enter{color:#0006}[data-theme=light] .welcome-enter:hover{color:#000000b3}[data-theme=light] .welcome-enter kbd{background:#0000000f;border:1px solid rgba(0,0,0,.1);color:#00000080}[data-theme=light] .welcome-enter:hover kbd{background:#0000001a;border-color:#00000026;color:#000000b3}[data-theme=light] .changelog-header{border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=light] .changelog-version{color:#0006}[data-theme=light] .changelog-close{background:#0000000d}[data-theme=light] .changelog-close:hover{background:#0000001a}[data-theme=light] .changelog-tabs{border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=light] .changelog-tab{background:#0000000a}[data-theme=light] .changelog-tab:hover{background:#00000014}[data-theme=light] .changelog-tab.active{background:#0000001a}[data-theme=light] .changelog-group-line{background:linear-gradient(90deg,rgba(0,0,0,.12) 0%,transparent 100%)}[data-theme=light] .changelog-item{background:#00000005}[data-theme=light] .changelog-item.has-description:hover{background:#0000000d}[data-theme=light] .changelog-commit-count{background:#0000000f}[data-theme=light] .changelog-footer{border-top:1px solid rgba(0,0,0,.08)}[data-theme=light] .stats-header{border-bottom:1px solid rgba(0,0,0,.12)}[data-theme=light] .stats-section{border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=light] .stats-bar-container{background:#00000014}[data-theme=midnight]{--bg-primary: #000000;--bg-secondary: #080808;--bg-tertiary: #111111;--bg-hover: #1a1a1a;--bg-active: #1e1e1e;--bg-elevated: #141414;--bg-input: #0a0a0a;--bg-overlay: rgba(0, 0, 0, .85);--bg-overlay-light: rgba(0, 0, 0, .6);--border-color: #1a1a1a;--border-subtle: #2a2a2a;--border-strong: #3a3a3a;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--accent: #3d9df5;--accent-hover: #5bb0ff;--accent-dim: rgba(61, 157, 245, .15);--accent-subtle: rgba(61, 157, 245, .1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .6);--shadow-md: 0 4px 16px rgba(0, 0, 0, .7);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .7);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .8);--shadow-dialog: 0 20px 50px rgba(0, 0, 0, .8);--tab-active-bg: #1e1e1e;--scrollbar-track: #080808;--scrollbar-thumb: #2a2a2a;--scrollbar-thumb-hover: #3a3a3a;--timeline-grid-video: #101018;--timeline-grid-audio: #081008}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .2s ease,color .15s ease,border-color .2s ease,box-shadow .2s ease!important}*{box-sizing:border-box}body{margin:0;padding:0;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--font-md);overflow:hidden;user-select:none;-webkit-user-select:none}input,textarea{user-select:text;-webkit-user-select:text}.app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.toolbar{display:flex;align-items:center;gap:0;padding:0 var(--sp-2);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);min-height:28px;flex-shrink:0}.toolbar-section{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3)}.toolbar-spacer{flex:1}.toolbar-center{display:flex;align-items:center;gap:var(--sp-3);justify-content:center}.toolbar-right{margin-left:0}.toolbar-right .version{color:var(--text-secondary);font-size:var(--font-sm);margin-right:var(--sp-3);opacity:.7}.toolbar-project{display:flex;align-items:center;height:28px;padding:0 var(--sp-2) 0 var(--sp-1);border-right:1px solid var(--border-color)}.toolbar-project .project-name{font-weight:var(--font-semibold);font-size:var(--font-sm);color:var(--text-primary);cursor:pointer;padding:3px var(--sp-1-5);border-radius:var(--radius-sm);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-project .project-name:hover{background:var(--bg-hover)}.toolbar-project .project-name-input{font-size:var(--font-sm);font-weight:var(--font-semibold);padding:3px var(--sp-1-5);border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--bg-primary);color:var(--text-primary);width:150px}.toolbar-project .restore-permission-btn{font-size:var(--font-md);font-weight:var(--font-medium);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-md);border:1px solid var(--accent);background:var(--accent);color:var(--text-on-accent);cursor:pointer;transition:all var(--transition-normal) ease}.toolbar-project .restore-permission-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.toolbar-project .restore-permission-btn:disabled{opacity:.6;cursor:not-allowed}.menu-bar{display:flex;align-items:center;height:28px}.menu-item{position:relative}.menu-trigger{background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-sm);padding:var(--sp-1) var(--sp-2-5);cursor:pointer;height:28px;transition:background var(--transition-fast),color var(--transition-fast)}.menu-trigger:hover,.menu-trigger.active{background:var(--bg-hover);color:var(--text-primary)}.menu-dropdown{position:absolute;top:100%;left:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:10000;padding:var(--sp-1) 0;overflow:visible}.menu-dropdown-wide{min-width:220px}.menu-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sp-1-5) var(--sp-3);background:transparent;border:none;color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.menu-option:hover{background:var(--bg-hover)}.menu-option:disabled,.menu-option.disabled{color:var(--text-muted);cursor:default}.menu-option:disabled:hover,.menu-option.disabled:hover{background:transparent}.menu-option-wip{opacity:.5}.menu-wip-badge{font-size:var(--font-sm);margin-left:auto;filter:saturate(3) brightness(.9)}.menu-option .shortcut{color:var(--text-muted);font-size:var(--font-sm);margin-left:var(--sp-6)}.menu-option .menu-hint{color:var(--text-muted);font-size:var(--font-xs);margin-left:auto;padding-left:12px}.menu-option.checked{color:var(--accent)}.menu-option.project-item{padding-right:8px}.menu-option .delete-btn{background:transparent;border:none;color:var(--text-muted);font-size:var(--font-2xl);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast)}.menu-option:hover .delete-btn{opacity:1}.menu-option .delete-btn:hover{background:#f443;color:var(--danger)}.menu-separator{height:1px;background:var(--border-color);margin:4px 0}.menu-submenu{padding:0}.menu-label{display:block;padding:8px 16px 4px;font-size:var(--font-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.menu-empty{display:block;padding:var(--sp-2) var(--sp-4);font-size:var(--font-md);color:var(--text-muted);font-style:italic}.menu-info{display:block;padding:4px 16px 8px;font-size:var(--font-sm);color:var(--text-secondary)}.menu-sublabel{display:block;padding:6px 16px 2px;font-size:var(--font-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.menu-subseparator{height:1px;margin:4px 12px;background:var(--border-color)}.menu-item-with-submenu{position:relative}.menu-item-with-submenu>.menu-option{display:flex;justify-content:space-between;align-items:center}.menu-item-with-submenu>.menu-option:after{content:"▶";font-size:8px;color:var(--text-muted);margin-left:var(--sp-3)}.menu-nested-submenu{display:none;position:absolute;left:100%;top:-4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-xl);min-width:140px;padding:4px 0;z-index:1001}.menu-item-with-submenu:hover>.menu-nested-submenu{display:block}.project-name.no-project{color:var(--text-secondary);cursor:default;font-style:italic}.project-name.no-project:hover{background:transparent}.menu-slider{display:flex;align-items:center;padding:var(--sp-2) var(--sp-4);gap:var(--sp-2)}.menu-slider input[type=range]{flex:1;height:4px;appearance:none;background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer}.menu-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);cursor:pointer}.menu-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.menu-slider .slider-value{font-size:var(--font-sm);color:var(--text-muted);min-width:36px;text-align:right}.eq-container{display:flex;gap:var(--sp-1);padding:var(--sp-2) var(--sp-4);justify-content:center}.eq-band{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.eq-slider{writing-mode:vertical-lr;direction:rtl;width:20px;height:80px;appearance:none;background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer}.eq-slider::-webkit-slider-thumb{appearance:none;width:16px;height:8px;border-radius:var(--radius-sm);background:var(--accent);cursor:pointer}.eq-slider::-moz-range-thumb{width:16px;height:8px;border-radius:var(--radius-sm);background:var(--accent);cursor:pointer;border:none}.eq-label{font-size:var(--font-2xs);color:var(--text-muted);text-align:center}.status{font-size:var(--font-md)}.status.ready{color:var(--success)}.status.loading{color:var(--warning)}.gpu-selector{position:relative;margin-right:var(--sp-2)}.gpu-trigger{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-xl);transition:all var(--transition-normal) ease}.gpu-trigger:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.gpu-trigger:disabled{opacity:.5;cursor:not-allowed}.gpu-trigger.switching{animation:gpu-spin .8s linear infinite}@keyframes gpu-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gpu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:10001;overflow:hidden}.gpu-dropdown-header{padding:var(--sp-2) var(--sp-3);font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.gpu-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--sp-2-5) var(--sp-3);background:transparent;border:none;cursor:pointer;transition:background var(--transition-fast) ease}.gpu-option:hover{background:var(--bg-hover)}.gpu-option.active{background:var(--accent-dim)}.gpu-option .gpu-icon{position:absolute;right:12px;font-size:var(--font-2xl)}.gpu-option .gpu-label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-primary);display:flex;align-items:center;gap:var(--sp-2)}.gpu-option .gpu-desc{font-size:var(--font-sm);color:var(--text-muted);margin-top:2px}.gpu-note{padding:var(--sp-2) var(--sp-3);font-size:var(--font-xs);color:var(--text-muted);background:var(--bg-tertiary);border-top:1px solid var(--border-color);font-style:italic}.project-section{position:relative}.project-name{font-size:var(--font-sm);color:var(--text-primary);cursor:pointer;padding:3px 6px;border-radius:var(--radius-sm);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-name:hover{background:var(--bg-hover)}.project-name-input{font-size:var(--font-sm);padding:3px 6px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--bg-primary);color:var(--text-primary);width:150px}.project-buttons{display:flex;gap:var(--sp-1)}.project-menu{position:absolute;top:100%;left:0;margin-top:var(--sp-1);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:280px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-md)}.project-menu-header{padding:var(--sp-2) var(--sp-3);font-size:var(--font-md);color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.project-menu-empty{padding:var(--sp-4);text-align:center;color:var(--text-secondary);font-size:var(--font-lg)}.project-menu-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2-5) var(--sp-3);cursor:pointer;border-bottom:1px solid var(--border-color)}.project-menu-item:last-child{border-bottom:none}.project-menu-item:hover{background:var(--bg-hover)}.project-menu-name{flex:1;font-size:var(--font-lg);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-menu-date{font-size:var(--font-sm);color:var(--text-secondary)}.project-menu-delete{width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--font-2xl);line-height:1;border-radius:var(--radius-md);opacity:0;transition:opacity var(--transition-normal)}.project-menu-item:hover .project-menu-delete{opacity:1}.project-menu-delete:hover{background:#f003;color:var(--danger-light)}.main-content{display:flex;flex:1;overflow:hidden}.left-column{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.slots-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-secondary);overflow:hidden}.resize-handle{width:2px;background:var(--border-color);cursor:col-resize;flex-shrink:0;transition:background var(--transition-slow)}.resize-handle:hover,.resizing .resize-handle{background:var(--accent)}.resizing{cursor:col-resize;user-select:none}.right-column{width:360px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary)}.effects-section{flex:1;overflow-y:auto}.floating-preview{position:fixed;z-index:1000;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-xl);overflow:hidden;min-width:280px;max-width:800px}.floating-preview-header{display:flex;align-items:center;gap:var(--sp-1-5);padding:5px 10px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);cursor:grab;user-select:none;font-size:var(--font-sm);font-weight:var(--font-medium)}.floating-preview-header:active{cursor:grabbing}.drag-handle{color:var(--text-secondary);font-size:var(--font-md);letter-spacing:-2px}.dragging-preview{cursor:grabbing;user-select:none}.dragging-preview .floating-preview{opacity:.95;box-shadow:var(--shadow-xl)}.preview-container{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-canvas);height:100%;width:100%;overflow:hidden;position:relative}.preview-stats{position:absolute;top:8px;right:8px;font-size:var(--font-sm);color:var(--text-secondary);background:var(--preview-overlay-bg);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-md);z-index:10;cursor:pointer;font-family:SF Mono,Consolas,monospace;user-select:none;backdrop-filter:blur(4px);transition:all var(--transition-normal) ease}.preview-stats:hover{background:var(--preview-overlay-bg-hover)}.preview-stats-compact{min-width:80px}.preview-stats-expanded{min-width:200px;padding:var(--sp-2) var(--sp-3)}.stats-header{margin-bottom:var(--sp-2);padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.15)}.stats-section{margin-bottom:var(--sp-2);padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}.stats-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.stats-label{font-size:var(--font-2xs);text-transform:uppercase;letter-spacing:.5px;opacity:.5;margin-bottom:var(--sp-1)}.stats-row{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--font-xs);line-height:1.6}.stats-bar-container{height:4px;background:#ffffff1a;border-radius:var(--radius-sm);margin:4px 0;display:flex;overflow:hidden}.stats-bar{height:100%;transition:width var(--transition-slow) ease}.stats-bar-import{background:#4af}.stats-bar-render{background:#4f4}.stats-bar-submit{background:#fa4}.preview-canvas-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.preview-canvas-wrapper.show-transparency-grid .preview-canvas{background-color:#404040;background-image:linear-gradient(45deg,#303030 25%,transparent 25%),linear-gradient(-45deg,#303030 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#303030 75%),linear-gradient(-45deg,transparent 75%,#303030 75%);background-size:48px 48px;background-position:0 0,0 24px,24px -24px,-24px 0px}.preview-canvas{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:var(--bg-canvas);display:block}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.panel-header h3,.panel-header h4{margin:0;font-size:var(--font-xl);font-weight:var(--font-semibold)}.panel-empty{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--text-secondary)}.layer-panel{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.slots-panel .panel-header{display:flex;justify-content:space-between;align-items:center}.slot-count{font-size:var(--font-md);color:var(--text-secondary)}.grid-controls{display:flex;gap:var(--sp-1)}.grid-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-xl);width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.grid-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.slots-grid-with-triggers{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--sp-2);display:grid;grid-auto-rows:min-content;gap:var(--sp-1-5);align-content:start}.row-trigger-btn,.column-trigger-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.column-trigger-btn{height:28px}.row-trigger-btn:hover,.column-trigger-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.row-trigger-btn:active,.column-trigger-btn:active{transform:scale(.95)}.row-trigger-btn.active,.column-trigger-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-inverse);box-shadow:0 0 10px var(--accent)}.slot-item{position:relative;aspect-ratio:1;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all var(--transition-slow);display:flex;flex-direction:column}.slot-item.empty{opacity:.4}.slot-item.has-layer{border-style:solid;opacity:.6}.slot-item.has-media{opacity:1;border-color:var(--border-color)}.slot-item:hover{border-color:var(--gray-300);opacity:1}.slot-item.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.slot-item.dragging{opacity:.5;transform:scale(.95)}.slot-item.drag-over{border-color:var(--accent);border-style:solid;background:#2d8ceb1a}.slot-item.column-highlight,.slot-item.row-highlight{border-color:var(--accent);box-shadow:0 0 12px var(--accent),inset 0 0 20px #2d8ceb33;opacity:1}.slot-item[draggable=true]{cursor:grab}.slot-item[draggable=true]:active{cursor:grabbing}.slot-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-1-5) var(--sp-2);background:transparent;font-size:22px;position:absolute;top:0;left:0;right:0;z-index:1}.slot-number{color:var(--text-secondary);font-weight:var(--font-semibold);text-shadow:0 1px 3px rgba(0,0,0,.8)}.slot-preview{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-canvas)}.slot-thumbnail{width:100%;height:100%;object-fit:cover}.slot-empty-media{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:20px;transition:all var(--transition-slow)}.slot-empty-media:hover{background:var(--bg-hover);color:var(--accent)}.slot-placeholder{width:100%;height:100%;display:flex;align-items:flex-start;justify-content:flex-end;padding:var(--sp-1) var(--sp-1-5);cursor:pointer}.slot-placeholder:hover{background:var(--bg-hover)}.slot-add{font-size:32px;color:var(--text-secondary);opacity:0;cursor:pointer;transition:opacity var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}.slot-placeholder:hover .slot-add{opacity:.6}.slot-add:hover{opacity:1!important;color:var(--accent);transform:scale(1.2)}.slot-controls{position:absolute;bottom:4px;right:4px;z-index:1}.btn-clear{background:#00000080;border:none;color:var(--danger);cursor:pointer;font-size:20px;padding:var(--sp-1) var(--sp-2);line-height:1;border-radius:var(--radius-md);text-shadow:0 1px 3px rgba(0,0,0,.8)}.btn-clear:hover{color:var(--danger-light);background:#000000b3}.visibility-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;font-size:20px;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.8)}.visibility-btn.visible{color:var(--accent)}.layer-settings{padding:var(--sp-3);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.control-row{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.control-row:last-child{margin-bottom:0}.control-row label{min-width:70px;font-size:var(--font-md);color:var(--text-secondary)}.control-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer}.control-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer}.control-row input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer;border:none}.control-row span{min-width:40px;text-align:right;font-size:var(--font-md);color:var(--text-secondary)}.control-row select{flex:1;padding:var(--sp-1) var(--sp-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-md);cursor:pointer}.control-row select:focus{outline:none;border-color:var(--accent)}.effects-panel{display:flex;flex-direction:column;height:100%}.effect-add select{padding:var(--sp-1) var(--sp-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-md);cursor:pointer}.effects-list{flex:1;overflow-y:auto;padding:var(--sp-2)}.effect-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:var(--sp-2);overflow:hidden;transition:opacity var(--transition-normal)}.effect-item.bypassed{opacity:.5}.effect-item.bypassed .effect-params{pointer-events:none}.effect-header{display:flex;align-items:center;padding:var(--sp-2) var(--sp-3);background:var(--bg-secondary);gap:var(--sp-2)}.effect-bypass-btn{background:none;border:none;padding:var(--sp-1);cursor:pointer;color:var(--accent-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.effect-bypass-btn:hover{background:var(--bg-tertiary)}.effect-bypass-btn.bypassed{color:var(--text-secondary)}.effect-name{font-weight:var(--font-medium);text-transform:capitalize;flex:1}.effect-params{padding:var(--sp-2) var(--sp-3)}.effect-quality-section{margin-top:var(--sp-2);border-top:1px solid var(--border-color);padding-top:8px}.effect-quality-header{display:flex;align-items:center;gap:var(--sp-1-5);cursor:pointer;padding:4px 0;user-select:none}.effect-quality-header:hover{color:var(--accent-color)}.effect-quality-toggle{font-size:var(--font-xs);width:12px}.effect-quality-title{font-size:var(--font-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);flex:1}.effect-quality-reset{font-size:var(--font-xs);padding:2px 6px;opacity:.7}.effect-quality-reset:hover{opacity:1}.effect-quality-params{padding:8px 0 0 18px}.effect-quality-warning{font-size:var(--font-xs);color:var(--warning-color, #f0ad4e);margin-top:var(--sp-2);opacity:.8}.btn-xs{font-size:var(--font-xs);padding:2px 6px;border-radius:var(--radius-sm)}.effect-info{margin:0;font-size:var(--font-md);color:var(--text-secondary)}.transform-section{padding:var(--sp-3);border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.transform-section h4{margin:0 0 12px;font-size:var(--font-lg);color:var(--text-secondary)}.export-panel{display:flex;flex-direction:column;height:100%}.export-panel .panel-header{padding:var(--sp-3);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.export-panel .panel-header h3{margin:0;font-size:var(--font-xl)}.export-form{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}.export-section{display:flex;flex-direction:column;gap:var(--sp-2)}.export-section-header{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:4px;border-bottom:1px solid var(--border-color);margin-bottom:var(--sp-1)}.info-icon-wrapper{position:relative;margin-left:var(--sp-1)}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:var(--font-sm);font-style:italic;font-family:Georgia,serif;color:var(--text-muted);cursor:pointer;border-radius:50%;transition:all var(--transition-slow) ease}.info-icon:hover{color:var(--gray-100);background:#ffffff14;transform:scale(1.1)}.info-tooltip{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);width:200px;padding:var(--sp-2) var(--sp-2-5);background:var(--gray-300);color:var(--text-primary);font-size:var(--font-sm);font-style:normal;font-weight:400;line-height:1.4;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0006;z-index:100}.info-tooltip:before{content:"";position:absolute;left:50%;top:-6px;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--gray-300)}.export-panel .control-row{display:flex;align-items:center;gap:var(--sp-2)}.export-panel .control-row label{display:flex;align-items:center;min-width:80px;font-size:var(--font-md);color:var(--text-secondary)}.export-panel select,.export-panel input[type=text]{flex:1;padding:var(--sp-1-5) var(--sp-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-md)}.export-input-group{flex:1;display:flex;align-items:center;min-width:0}.export-input-group input{flex:1;min-width:60px;border-radius:4px 0 0 4px;text-overflow:ellipsis;overflow:hidden}.export-extension{padding:var(--sp-1-5) var(--sp-2);background:var(--bg-tertiary);border:1px solid var(--border-color);border-left:none;border-radius:0 4px 4px 0;color:var(--text-secondary);font-size:var(--font-md)}.export-extension-select{padding:6px 20px 6px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-left:none;border-radius:0 4px 4px 0;color:var(--text-secondary);font-size:var(--font-md);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;width:auto;flex-shrink:0}.export-extension-select:hover{background-color:var(--bg-hover);color:var(--text-primary)}.export-extension-select:focus{outline:none;border-color:var(--accent-color)}.export-summary{padding:var(--sp-2-5);background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--sp-1)}.export-error{padding:var(--sp-2-5);background:#ef44441a;border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);font-size:var(--font-md)}.export-start-btn{width:100%;padding:var(--sp-2-5);background:var(--accent);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer}.export-start-btn:hover{background:var(--accent-hover)}.export-start-btn:disabled{opacity:.5;cursor:not-allowed}.export-progress-container{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}.export-progress-bar{height:8px;background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden}.export-progress-fill{height:100%;background:var(--accent);transition:width var(--transition-fast) ease-out}.export-progress-info{display:flex;justify-content:space-between;font-size:var(--font-md);color:var(--text-secondary)}.export-eta{text-align:center;font-size:var(--font-lg);color:var(--text-primary)}.export-cancel-btn{width:100%;padding:var(--sp-2);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer}.export-cancel-btn:hover{background:var(--bg-hover)}.clip-properties-panel{display:flex;flex-direction:column;height:100%}.clip-properties-panel .panel-header{padding:var(--sp-3);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.clip-properties-panel .panel-header h3{margin:0;font-size:var(--font-lg);font-weight:var(--font-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.properties-content{flex:1;overflow-y:auto;padding:var(--sp-2)}.properties-section{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-2) var(--sp-2-5);margin-bottom:var(--sp-1)}.properties-section h4{margin:0 0 6px;font-size:var(--font-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.properties-section .control-row{display:flex;align-items:center;gap:var(--sp-1-5);margin-bottom:3px}.properties-section .control-row:last-child{margin-bottom:0}.properties-section .control-row label{min-width:20px;font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap}.properties-section .control-row .prop-label{width:52px;min-width:52px;font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap}.multi-value-row{display:flex;flex:1;gap:3px;min-width:0}.labeled-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;transition:border-color var(--transition-normal);cursor:ew-resize}.labeled-value:hover{border-color:#2d5a8e}.labeled-value-label{font-size:var(--font-2xs);color:var(--text-secondary);padding:3px 0 3px 6px;flex-shrink:0;user-select:none;opacity:.6}.labeled-value .draggable-number{display:block;flex-shrink:0;min-width:0;border:none;background:transparent;border-radius:0;padding:3px 6px 3px 0;text-align:right;color:#5b8abf}.labeled-value .draggable-number:hover{background:transparent;border-color:transparent;color:#7aabe0}.labeled-value:active .draggable-number,.labeled-value .draggable-number:active{color:#9cc4f0;background:transparent}.properties-section .control-row input[type=range]{flex:1}.properties-section .control-row .value{min-width:45px;text-align:right;font-size:var(--font-sm);font-family:SF Mono,Monaco,Consolas,monospace;color:var(--text-primary)}.properties-section .control-row select{flex:1;padding:var(--sp-1) var(--sp-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-md)}.properties-actions{padding:var(--sp-2);text-align:center}.properties-actions .btn{width:100%}.properties-panel{display:flex;flex-direction:column;height:100%}.properties-panel .panel-header{padding:var(--sp-2) var(--sp-3);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.properties-panel .panel-header h3{margin:0;font-size:var(--font-lg);font-weight:var(--font-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solid-color-bar{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.properties-tabs{display:flex;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);min-height:32px;flex-shrink:0}.properties-tabs .tab-btn{display:flex;align-items:center;gap:var(--sp-1-5);padding:0 16px;height:32px;background:transparent;border:none;border-right:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--font-md);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:background var(--transition-normal),color var(--transition-normal)}.properties-tabs .tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.properties-tabs .tab-btn.active{background:var(--bg-secondary);color:var(--text-primary);border-bottom:2px solid var(--accent);margin-bottom:-1px}.properties-tabs .tab-btn .badge{background:var(--accent);color:var(--text-inverse);font-size:var(--font-xs);font-weight:var(--font-semibold);padding:1px 5px;border-radius:var(--radius-xl);min-width:16px;text-align:center}.properties-panel .properties-content{flex:1;overflow-y:auto;padding:0}.properties-tab-content{padding:var(--sp-2)}.properties-tab-content.effects-tab .effect-add-row{margin-bottom:var(--sp-2)}.properties-tab-content.effects-tab .effect-add-row select{width:100%;padding:var(--sp-1-5) var(--sp-2-5);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-md)}.properties-tab-content.masks-tab .section-header-with-button{margin-bottom:var(--sp-2)}.properties-tab-content.transcript-tab{display:flex;flex-direction:column;gap:var(--sp-2)}.transcript-tab-actions{display:flex;gap:var(--sp-1-5);margin-top:var(--sp-1-5)}.transcript-progress-bar{height:4px;background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}.transcript-progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.transcript-progress-text{font-size:var(--font-sm);color:var(--text-secondary)}.transcript-search-input{width:100%;padding:var(--sp-1-5) var(--sp-2-5);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-md)}.transcript-content-embedded{flex:1;min-height:100px;max-height:200px;overflow-y:auto;padding:var(--sp-2);background:var(--bg-tertiary);border-radius:var(--radius-md)}.transcript-empty-state{color:var(--text-secondary);font-size:var(--font-md);text-align:center;padding:var(--sp-5)}.transcript-words-flow{display:flex;flex-wrap:wrap;gap:var(--sp-1);line-height:1.6}.transcript-word-inline{cursor:pointer;padding:1px 2px;border-radius:var(--radius-sm);font-size:var(--font-md);transition:background var(--transition-normal)}.transcript-word-inline:hover{background:var(--bg-hover)}.transcript-word-inline.active{background:var(--accent);color:var(--bg-primary)}.transcript-word-inline.highlighted{background:#ffc8004d}.transcript-status-bar{font-size:var(--font-sm);color:var(--text-secondary);text-align:right}.tt{display:flex;flex-direction:column;gap:2px}.tt-section{padding:var(--sp-2) var(--sp-2-5);border-bottom:1px solid var(--border-color)}.tt-section:last-child{border-bottom:none}.tt-section-header{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--sp-1-5)}.tt-textarea{width:100%;min-height:48px;padding:var(--sp-1-5) var(--sp-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-md);font-family:inherit;resize:vertical;line-height:1.4}.tt-textarea:focus{outline:none;border-color:var(--accent)}.tt-select-full{width:100%;padding:var(--sp-1) var(--sp-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;margin-bottom:var(--sp-1)}.tt-select-full:focus{outline:none;border-color:var(--accent)}.tt-row-2col{display:flex;gap:var(--sp-1);margin-bottom:var(--sp-1)}.tt-row-2col>*{flex:1;min-width:0}.tt-row-2col .tt-select-full{margin-bottom:0}.tt-compact-num{display:flex;align-items:center;gap:2px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:3px;padding:2px 4px;cursor:ew-resize;height:24px}.tt-compact-num:hover{border-color:var(--accent)}.tt-num-icon{display:flex;align-items:center;color:var(--text-secondary);flex-shrink:0;pointer-events:none}.tt-compact-num input[type=number]{flex:1;width:100%;min-width:0;background:transparent;border:none;color:var(--accent);font-size:11px;font-family:SF Mono,Monaco,Consolas,monospace;padding:0 2px;-moz-appearance:textfield}.tt-compact-num input[type=number]::-webkit-inner-spin-button,.tt-compact-num input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tt-compact-num input[type=number]:focus{outline:none;color:var(--text-primary)}.tt-num-unit{font-size:9px;color:var(--text-secondary);flex-shrink:0;pointer-events:none}.tt-color-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;height:24px}.tt-color-row:last-child{margin-bottom:0}.tt-color-swatch{width:20px;height:20px;padding:0;border:1px solid var(--border-color);border-radius:3px;cursor:pointer;flex-shrink:0;-webkit-appearance:none;background:none}.tt-color-swatch::-webkit-color-swatch-wrapper{padding:1px}.tt-color-swatch::-webkit-color-swatch{border:none;border-radius:2px}.tt-color-swatch:disabled{opacity:.4}.tt-color-label{font-size:11px;color:var(--text-secondary);min-width:36px}.tt-color-hex{flex:1;min-width:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:10px;font-family:SF Mono,Monaco,Consolas,monospace;padding:2px 6px;height:22px}.tt-color-hex:focus{outline:none;border-color:var(--accent)}.tt-toggle{display:flex;align-items:center;cursor:pointer;flex-shrink:0}.tt-toggle input{display:none}.tt-toggle-box{width:14px;height:14px;border:1px solid var(--border-color);border-radius:2px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:all .15s}.tt-toggle input:checked+.tt-toggle-box{background:var(--accent);border-color:var(--accent)}.tt-toggle input:checked+.tt-toggle-box:after{content:"";width:8px;height:5px;border-left:1.5px solid var(--text-inverse);border-bottom:1.5px solid var(--text-inverse);transform:rotate(-45deg) translateY(-1px)}.tt-toggle-header{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.tt-toggle-header input{width:12px;height:12px;cursor:pointer;accent-color:var(--accent)}.tt-align-row{display:flex;gap:1px;align-items:center}.tt-align-row button{display:flex;align-items:center;justify-content:center;width:28px;height:24px;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all .1s;padding:0}.tt-align-row button:first-child{border-radius:3px 0 0 3px}.tt-align-row button:nth-child(3){border-radius:0 3px 3px 0}.tt-align-row button:nth-child(5){border-radius:3px 0 0 3px}.tt-align-row button:last-child{border-radius:0 3px 3px 0}.tt-align-row button:not(:first-child){margin-left:-1px}.tt-align-row button:hover{background:var(--bg-tertiary);color:var(--text-primary);z-index:1}.tt-align-row button.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent);z-index:2}.tt-align-sep{width:8px;flex-shrink:0}.draggable-label{cursor:ew-resize!important;user-select:none;padding:2px 4px;border-radius:3px;transition:background-color .15s ease}.draggable-label:hover{background:var(--bg-tertiary);color:var(--accent-color)}.draggable-label.dragging{background:var(--accent-color);color:var(--text-on-accent)}.properties-tab-content.analysis-tab{display:flex;flex-direction:column;gap:8px}.analysis-tab-actions{display:flex;gap:6px}.analysis-progress-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.analysis-progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.analysis-progress-text{font-size:11px;color:var(--text-secondary)}.analysis-realtime-grid{display:flex;flex-direction:column;gap:6px}.analysis-metric{display:flex;align-items:center;gap:8px}.analysis-metric .metric-label{width:60px;font-size:11px;color:var(--text-secondary)}.analysis-metric .metric-bar{flex:1;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.analysis-metric .metric-fill{height:100%;transition:width .15s ease}.analysis-metric .metric-fill.focus{background:var(--success-light)}.analysis-metric .metric-fill.motion{background:#60a5fa}.analysis-metric .metric-value{width:40px;font-size:11px;text-align:right}.analysis-stats-grid{display:flex;flex-direction:column;gap:4px}.analysis-stats-grid .stat-row{display:flex;justify-content:space-between;font-size:11px}.analysis-stats-grid .stat-row span:first-child{color:var(--text-secondary)}.analysis-empty-state{color:var(--text-secondary);font-size:12px;text-align:center;padding:20px}.properties-panel .panel-header{display:flex;align-items:center;gap:8px}.clip-type-badge{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--bg-hover);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.volume-tab .section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.volume-tab .section-header-row h4{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.eq-section{padding-bottom:16px}.eq-bands{display:flex;gap:4px;margin-bottom:8px}.eq-band{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.eq-band-kf{height:20px;display:flex;align-items:center}.eq-band-value{font-size:9px;font-family:SF Mono,monospace;color:var(--text-secondary);text-align:center;min-width:28px}.eq-slider{writing-mode:vertical-lr;direction:rtl;height:100px;width:18px;margin:0;cursor:pointer}.eq-band-label{font-size:9px;color:var(--text-secondary);text-align:center}.eq-scale{display:flex;justify-content:space-between;font-size:9px;color:var(--text-secondary);padding:0 4px}.btn{padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:2px;color:var(--text-primary);font-size:11px;cursor:pointer;transition:all .2s}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-active:hover:not(:disabled){background:var(--accent-hover)}.btn-export{background:linear-gradient(135deg,var(--accent) 0%,#2070C0 100%);border-color:var(--accent);color:var(--text-on-accent);font-weight:var(--font-semibold)}.btn-export:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-hover) 0%,var(--accent) 100%);border-color:var(--accent-hover)}.btn-sm{padding:3px 6px;font-size:11px}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:var(--text-on-accent)}.btn-reload-all{background:var(--warning);border-color:var(--warning);color:var(--text-inverse);font-weight:var(--font-medium)}.btn-reload-all:hover{background:#c80;border-color:#c80}.midi-unsupported{font-size:12px;color:var(--text-secondary)}input[type=checkbox]{width:16px;height:16px;margin-right:8px;cursor:pointer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@media(max-width:1200px){.right-column{width:320px}}@media(max-width:900px){.main-content{flex-direction:column}.slots-area{flex:1;min-height:300px}.right-column{width:100%;border-left:none;border-top:1px solid var(--border-color);max-height:250px}.floating-preview{width:280px!important;left:8px!important;top:60px!important}}.slot-item.group-0{--group-color: var(--group-0)}.slot-item.group-1{--group-color: var(--group-1)}.slot-item.group-2{--group-color: var(--group-2)}.slot-item.group-3{--group-color: var(--group-3)}.slot-item.group-4{--group-color: var(--group-4)}.slot-item.group-5{--group-color: var(--group-5)}.slot-item.in-group{border:3px solid var(--group-color);border-radius:6px;margin:0}.slot-item.in-group.group-left{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-3px;z-index:1}.slot-item.in-group.group-right{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.slot-item.in-group.group-middle{border-left:none;border-right:none;border-radius:0;margin-left:-3px;margin-right:-3px}.slot-item.group-highlight{box-shadow:0 0 20px var(--group-color),0 0 40px var(--group-color);z-index:2}.slot-item.group-highlight.group-left{box-shadow:-5px 0 20px var(--group-color),0 -5px 20px var(--group-color),0 5px 20px var(--group-color)}.slot-item.group-highlight.group-right{box-shadow:5px 0 20px var(--group-color),0 -5px 20px var(--group-color),0 5px 20px var(--group-color)}.drop-zone-indicator{position:absolute;top:0;bottom:0;width:50%;pointer-events:none;z-index:5;transition:all .15s}.drop-zone-indicator.left{left:0;border-right:2px dashed rgba(255,255,255,.3)}.drop-zone-indicator.right{right:0;border-left:2px dashed rgba(255,255,255,.3)}.drop-zone-indicator.active{background:#2d8ceb33}.drop-zone-indicator.left.active{border-right-color:var(--accent)}.drop-zone-indicator.right.active{border-left-color:var(--accent)}.slot-item.copy-mode{border-color:var(--success);background:#44ff441a}.slot-item.copy-mode:after{content:"+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;font-weight:700;color:var(--success);text-shadow:0 2px 4px rgba(0,0,0,.5);z-index:10;pointer-events:none}.slot-item.drop-zone-left{border-left-color:var(--accent);border-left-width:4px}.slot-item.drop-zone-right{border-right-color:var(--accent);border-right-width:4px}.view-tabs{display:flex;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:0 8px}.tab-btn{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.timeline-container{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.timeline-container.timeline-empty{justify-content:center;align-items:center}.timeline-empty-message{text-align:center;color:var(--text-secondary)}.timeline-empty-message p{margin:0}.timeline-empty-message p:first-child{font-size:14px;color:var(--text-primary);margin-bottom:8px}.timeline-empty-message .hint{font-size:11px}.timeline-toolbar{display:flex;align-items:center;gap:6px;padding:3px 10px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:30px}.timeline-controls{display:flex;gap:4px}.timeline-time{font-family:monospace;font-size:12px;color:var(--text-primary);background:var(--bg-primary);padding:3px 6px;border-radius:2px;min-width:140px;text-align:center}.duration-display{cursor:pointer;padding:1px 4px;border-radius:2px;transition:background .15s}.duration-display:hover{background:var(--accent-primary);color:var(--text-on-accent)}.duration-input{font-family:monospace;font-size:12px;width:70px;padding:1px 4px;border:1px solid var(--accent-primary);border-radius:2px;background:var(--bg-secondary);color:var(--text-primary);text-align:center;outline:none}.timeline-zoom{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.timeline-zoom .btn-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:2px;color:var(--text-secondary);opacity:.6}.timeline-zoom .btn-icon:hover{opacity:1;background:var(--bg-hover)}.timeline-zoom .btn-icon.btn-active{color:var(--accent);opacity:1;background:var(--accent-dim)}.timeline-inout-controls{display:flex;align-items:center;gap:4px}.timeline-inout-controls .btn-sm{min-width:24px;padding:4px 8px;font-weight:700}.timeline-inout-controls .btn-active{background:var(--warning);color:var(--text-on-accent)}.timeline-tracks-controls{margin-left:auto;display:flex;gap:8px}.timeline-body{display:flex;flex-direction:row;flex:1;overflow:hidden;position:relative}.timeline-body-content{display:flex;flex-direction:column;flex:1;overflow:hidden;position:relative}.timeline-header-row{display:flex;position:sticky;top:0;z-index:20;background:var(--bg-tertiary);flex-shrink:0}.timeline-header-row .ruler-header{width:150px;flex-shrink:0;height:30px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-secondary);background:var(--bg-tertiary);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.time-ruler-wrapper{flex:1;overflow:hidden;height:30px;border-bottom:1px solid var(--border-color);transition:opacity .2s ease}.time-ruler-wrapper.comp-switching{opacity:0}.timeline-scroll-wrapper{flex:1;overflow:hidden;position:relative}@keyframes track-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}@keyframes track-enter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.phase-exiting>.track-header,.phase-exiting>.track-lane{animation:track-exit .2s ease-in forwards}.phase-entering>.track-header,.phase-entering>.track-lane{animation:track-enter .2s ease-out}.phase-exiting>:nth-child(1),.phase-entering>:nth-child(1){animation-delay:0ms}.phase-exiting>:nth-child(2),.phase-entering>:nth-child(2){animation-delay:30ms}.phase-exiting>:nth-child(3),.phase-entering>:nth-child(3){animation-delay:60ms}.phase-exiting>:nth-child(4),.phase-entering>:nth-child(4){animation-delay:90ms}.phase-exiting>:nth-child(5),.phase-entering>:nth-child(5){animation-delay:.12s}.timeline-content-row{display:flex;flex:1;align-items:flex-start}.track-headers{width:150px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border-color)}.ruler-header{height:30px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.track-header{display:flex;align-items:center;justify-content:space-between;padding:0;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);position:relative}.track-header.video{background:linear-gradient(90deg,rgba(61,90,128,.15),transparent)}.track-header.audio{background:linear-gradient(90deg,rgba(45,107,74,.15),transparent)}.track-header.video+.track-header.audio,.track-lane.video+.track-lane.audio{border-top:2px solid var(--success)}.track-header-preview{display:flex;align-items:center;justify-content:center;border:2px dashed rgba(255,255,255,.3);border-radius:2px;margin:4px 4px 0;background:#ffffff0d;transition:all .15s ease}.track-header-preview.video{border-color:#2563eb66}.track-header-preview.video.active{border-color:#2563ebcc;background:#2563eb26}.track-header-preview.audio{border-color:#16a34a66}.track-header-preview.audio.active{border-color:#16a34acc;background:#16a34a26}.track-header-preview-label{font-size:11px;color:#ffffff80;font-weight:500}.track-header-preview.active .track-header-preview-label{color:#fffc}.track-header.dimmed,.track-lane.dimmed{opacity:.4}.track-name{font-size:11px;font-weight:500;color:var(--text-primary);cursor:text}.track-name-input{font-size:12px;font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent-timeline);border-radius:2px;padding:0 4px;width:80px;outline:none}.track-controls{display:flex;flex-direction:row;align-items:center;gap:2px;margin-left:auto;position:absolute;right:4px;top:50%;transform:translateY(-50%)}.track-pick-whip{display:flex;align-items:center;justify-content:center;width:18px;height:18px;cursor:grab;opacity:.5;transition:opacity .15s,transform .15s;color:var(--expr-color)}.track-pick-whip:hover{opacity:1;transform:scale(1.1)}.track-pick-whip.dragging{cursor:grabbing;opacity:1;transform:scale(1.2)}.track-pick-whip.has-parent{opacity:1;color:var(--expr-color)}.track-pick-whip.has-children{opacity:.8;color:var(--expr-connected)}.track-pick-whip.has-parent.has-children{opacity:1;color:var(--expr-color)}.track-pick-whip-icon{width:14px;height:14px}.btn-icon{background:none;border:none;font-size:10px;cursor:pointer;opacity:.7;padding:1px 3px;line-height:1}.btn-icon:hover{opacity:1}.btn-icon.muted,.btn-icon.hidden{opacity:.3}.btn-icon.solo-active{color:var(--warning);opacity:1;font-weight:700}.timeline-tracks{flex:1;position:relative;overflow-x:hidden;overflow-y:visible}.track-lanes-scroll{position:relative}.time-ruler-container{position:relative;height:30px;display:flex;overflow:hidden}.time-ruler{height:30px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);position:relative;cursor:pointer;flex:1}.time-ruler:hover{background:var(--bg-hover)}.ruler-marker-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:2px;color:var(--text-secondary);font-size:10px;font-weight:700;cursor:grab;transition:all .15s ease;z-index:10}.ruler-marker-btn:hover{background:var(--accent-timeline);border-color:var(--accent-timeline);color:var(--text-on-accent);box-shadow:0 0 8px var(--accent-timeline)}.ruler-marker-btn.dragging{background:var(--accent-timeline);border-color:var(--accent-timeline);color:var(--text-on-accent);cursor:grabbing;transform:translateY(-50%) scale(1.15);box-shadow:0 0 12px var(--accent-timeline)}.time-marker{position:absolute;top:0;height:100%;border-left:1px solid var(--border-color)}.time-marker.main{border-left-color:var(--border-strong)}.time-marker.sub{border-left-color:var(--bg-active);height:50%;top:50%}.time-label{position:absolute;top:4px;left:4px;font-size:10px;color:var(--text-secondary);white-space:nowrap}.track-lane{position:relative;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-width:100%;overflow:hidden}.track-lane.video{background:repeating-linear-gradient(90deg,var(--bg-secondary),var(--bg-secondary) calc(var(--grid-size, 50px) - 1px),var(--timeline-grid-video) calc(var(--grid-size, 50px) - 1px),var(--timeline-grid-video) var(--grid-size, 50px))}.track-lane.audio{background:repeating-linear-gradient(90deg,var(--bg-secondary),var(--bg-secondary) calc(var(--grid-size, 50px) - 1px),var(--timeline-grid-audio) calc(var(--grid-size, 50px) - 1px),var(--timeline-grid-audio) var(--grid-size, 50px))}.timeline-clip{position:absolute;top:4px;bottom:4px;border-radius:2px;cursor:grab;overflow:hidden;transition:box-shadow .15s;background:#3a4050;border:1px solid #4a5060}.timeline-clip.video{background:#3d5a80;border:1px solid #4a6a90}.timeline-clip.audio{background:#2d6b4a;border:1px solid #3a7a58}.timeline-clip.text{background:#5c3d7a;border:1px solid #6d4e8a}.timeline-clip.text .clip-content{background:#5c3d7ae6}.clip-text-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#fff3;border-radius:2px;font-size:10px;font-weight:700;margin-right:4px;flex-shrink:0}.timeline-clip.solid{border:1px solid rgba(255,255,255,.25)}.timeline-clip.solid .clip-content{background:#0000004d}.timeline-clip.solid .clip-name,.timeline-clip.solid .clip-duration{text-shadow:0 1px 2px rgba(0,0,0,.7)}.timeline-clip.loading.solid{opacity:.5}.timeline-clip.loading.text{background:#9333ea4d!important;border-color:#a855f7cc!important}.timeline-clip.loading{background:#283c5ad9!important;border:2px dashed var(--accent)!important;box-shadow:none!important;transform:none!important;display:block}.timeline-clip.loading.audio,.timeline-clip.loading .clip-thumbnails,.timeline-clip.loading .clip-waveform{display:none}.timeline-clip.loading .clip-content{background:transparent!important;height:100%;justify-content:center;align-items:center;flex-direction:row;gap:6px}.timeline-clip.loading .clip-name-row{justify-content:center}.timeline-clip.loading .clip-name{opacity:.8}.timeline-clip.loading .clip-duration{display:none}.timeline-clip.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:clip-loading-shimmer 1.5s infinite}@keyframes clip-loading-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes clip-entrance{0%{opacity:0;transform:translate3d(-25px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes clip-exit{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(25px,0,0)}}.timeline-clip.entrance-animate{animation:clip-entrance .6s cubic-bezier(.22,1,.36,1) forwards}.timeline-clip.exit-animate{animation:clip-exit .35s cubic-bezier(.55,0,1,.45) forwards}.clip-loading-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--text-on-accent);border-radius:50%;animation:clip-spinner .8s linear infinite;margin-right:6px;flex-shrink:0}.timeline-clip.pending-download{background:linear-gradient(180deg,#f003,#b4000026)!important;border:2px dashed #ff0000!important;box-shadow:none!important}.timeline-clip.pending-download .clip-thumbnails,.timeline-clip.pending-download .clip-waveform{display:none}.timeline-clip.pending-download .clip-content{background:transparent!important}.timeline-clip.pending-download .clip-name{opacity:.9}.clip-youtube-preview{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5;z-index:1}.clip-download-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#00000080;z-index:15}.clip-download-progress-bar{height:100%;background:linear-gradient(90deg,red,#f44);transition:width .2s ease-out;box-shadow:0 0 4px #f009}.clip-download-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:var(--text-on-accent);padding:4px 8px;border-radius:4px;font-size:10px;font-weight:500;z-index:20;display:flex;align-items:center;gap:6px}.clip-download-status .download-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:red;border-radius:50%;animation:clip-spinner .8s linear infinite}.timeline-clip.download-error{background:#ef444433!important;border:2px dashed var(--danger)!important}.clip-download-error-badge{position:absolute;top:2px;left:2px;background:var(--danger);color:var(--text-on-accent);font-size:10px;font-weight:700;padding:1px 5px;border-radius:2px;z-index:20;cursor:help}.clip-proxy-progress{position:absolute;top:0;left:0;right:0;height:3px;background:#00000080;z-index:10}.clip-proxy-progress-bar{height:100%;background:linear-gradient(90deg,var(--success),var(--success-light));transition:width .2s ease-out;box-shadow:0 0 4px #22c55e99}.clip-proxy-badge{position:absolute;top:2px;right:2px;background:var(--success);color:var(--text-inverse);font-size:9px;font-weight:700;padding:1px 4px;border-radius:2px;z-index:10}.clip-proxy-generating{position:absolute;top:2px;right:2px;display:flex;align-items:center;gap:3px;z-index:10}.clip-proxy-generating .proxy-percent{font-size:8px;color:var(--warning-light);font-weight:700}.proxy-fill-badge{position:relative;width:14px;height:14px;border-radius:2px;overflow:hidden;font-size:9px;font-weight:700;line-height:14px;text-align:center}.proxy-fill-bg{position:absolute;inset:0;background:#fbbf2433;color:#fbbf2466;display:flex;align-items:center;justify-content:center}.proxy-fill-progress{position:absolute;bottom:0;left:0;right:0;background:var(--warning-light);color:var(--text-inverse);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;transition:height .3s ease-out}.timeline-clip.has-proxy{border-color:var(--success)!important}.timeline-clip.generating-proxy{border-color:var(--warning-light)!important}.timeline-clip.loading.has-proxy,.timeline-clip.loading.generating-proxy{border-color:var(--accent)!important}.timeline-clip.loading .clip-proxy-generating,.timeline-clip.loading .clip-proxy-badge{display:none}.clip-reversed-badge{position:absolute;top:2px;right:20px;background:#f97316;color:var(--text-inverse);font-size:10px;font-weight:700;padding:1px 4px;border-radius:2px;z-index:10}.timeline-clip.reversed{border-color:#f97316!important}.timeline-clip.reversed .clip-thumbnails{transform:scaleX(-1)}.clip-reload-badge{position:absolute;top:2px;left:2px;background:var(--danger);color:var(--text-on-accent);font-size:10px;font-weight:700;padding:1px 5px;border-radius:2px;z-index:10;cursor:help}.timeline-clip.needs-reload{opacity:.6;border-color:var(--danger)!important}.timeline-clip.needs-reload .clip-thumbnails{filter:grayscale(1)}.clip-linked-group-badge{position:absolute;top:2px;right:38px;background:var(--purple);color:var(--text-on-accent);font-size:10px;font-weight:700;padding:1px 4px;border-radius:2px;z-index:10}.timeline-clip.linked-group{border-color:var(--purple)!important;box-shadow:0 0 6px #8b5cf666}.pick-whip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;cursor:grab;opacity:.8;transition:opacity .15s,transform .15s;flex-shrink:0;pointer-events:auto;color:var(--expr-color)}.pick-whip:hover{opacity:1;transform:scale(1.15);color:var(--expr-color-light)}.pick-whip.dragging{cursor:grabbing;opacity:1}.pick-whip.has-parent{opacity:1;color:var(--expr-connected)}.pick-whip.has-parent:hover{color:var(--danger)}.pick-whip-icon{color:inherit}.parent-child-link-shadow{stroke:#0006;stroke-width:5;stroke-linecap:round;filter:blur(2px);transform:translate(1px,2px)}.parent-child-link{stroke:var(--expr-color);stroke-width:3;stroke-linecap:round;fill:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.parent-child-link-endpoint,.parent-child-link-start{fill:var(--expr-color-dark);stroke:var(--expr-color-stroke);stroke-width:1.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.parent-child-link-group:hover .parent-child-link{stroke:var(--expr-color-light);stroke-width:3.5}.parent-child-link-group:hover .parent-child-link-shadow{stroke-width:6}.parent-child-link-group:hover .parent-child-link-endpoint,.parent-child-link-group:hover .parent-child-link-start{fill:var(--expr-color-light);stroke:var(--expr-color-dark);r:6}.timeline-clip.has-parent{border-color:var(--expr-color)!important;box-shadow:0 0 6px #e5c07b4d}.timeline-clip.has-parent:after{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--expr-color);opacity:.6}@keyframes clip-spinner{to{transform:rotate(360deg)}}.clip-transcript-markers{position:absolute;bottom:0;left:0;right:0;height:4px;pointer-events:none;z-index:5}.transcript-marker{position:absolute;bottom:0;height:4px;background:var(--warning-light);border-radius:1px 1px 0 0;opacity:.9;pointer-events:auto;cursor:pointer;transition:opacity .1s,height .1s}.transcript-marker:hover{opacity:1;height:6px;background:var(--warning)}.clip-transcribing-indicator{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0006;z-index:6}.transcribing-progress{height:100%;background:linear-gradient(90deg,var(--purple-light),#d946ef);transition:width .2s ease-out;box-shadow:0 0 4px #a855f799}.clip-analysis-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.analysis-overlay-canvas{display:block;position:absolute;bottom:0;left:0}.analysis-position-indicator{position:absolute;top:0;bottom:0;width:1px;pointer-events:none;z-index:10}.analysis-indicator-line{position:absolute;top:0;bottom:0;width:1px;background:#fffc;box-shadow:0 0 4px #ffffff80}.analysis-indicator-values{position:absolute;top:-16px;left:4px;display:flex;gap:6px;font-size:9px;font-weight:600;white-space:nowrap}.analysis-indicator-values .focus-value{color:var(--success-light);text-shadow:0 0 2px rgba(0,0,0,.8)}.analysis-indicator-values .motion-value{color:#60a5fa;text-shadow:0 0 2px rgba(0,0,0,.8)}.analysis-legend-labels{position:absolute;top:2px;right:4px;display:flex;gap:8px;font-size:8px;font-weight:500;pointer-events:none;z-index:4}.analysis-legend-labels .legend-focus{color:var(--success-light);text-shadow:0 0 2px rgba(0,0,0,.9)}.analysis-legend-labels .legend-motion{color:#60a5fa;text-shadow:0 0 2px rgba(0,0,0,.9)}.analysis-legend-labels .legend-progress{color:var(--warning-light);font-weight:700;text-shadow:0 0 2px rgba(0,0,0,.9)}.clip-analyzing-indicator{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0006;z-index:6}.analyzing-progress{height:100%;background:linear-gradient(90deg,var(--success),var(--success-light));transition:width .2s ease-out;box-shadow:0 0 4px #22c55e99}.clip-waveform-indicator{position:absolute;bottom:0;left:0;right:0;height:4px;background:#0006;z-index:6}.waveform-progress{height:100%;background:linear-gradient(90deg,var(--danger),var(--danger-light),var(--danger));background-size:200% 100%;animation:waveform-progress-pulse 1s ease-in-out infinite;box-shadow:0 0 4px #ef444499}@keyframes waveform-progress-pulse{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.timeline-clip.audio.generating-waveform{border-color:var(--danger)!important}.timeline-clip.has-transcript:before{content:"T";position:absolute;top:2px;left:2px;background:var(--purple-light);color:var(--text-on-accent);font-size:8px;font-weight:700;padding:1px 3px;border-radius:2px;z-index:10}.timeline-clip.image{background:#5c3d7a;border:1px solid #6d4e8a}.timeline-clip:hover{box-shadow:0 2px 8px #0000004d}.timeline-clip.selected{box-shadow:0 0 0 2px var(--accent-timeline)}.timeline-clip.composition{box-shadow:0 0 0 2px #f97316}.timeline-clip.composition.selected{box-shadow:0 0 0 2px #f97316,0 0 0 4px var(--accent-timeline)}.timeline-clip.dragging{opacity:.9;cursor:grabbing;box-shadow:0 4px 12px #0006;z-index:100}.timeline-clip.linked-dragging{opacity:.9;box-shadow:0 4px 12px #0006;z-index:99}.timeline-clip.forcing-overlap{box-shadow:0 0 0 2px var(--danger),0 4px 12px #ef444480}.timeline-clip.cut-mode{cursor:crosshair!important}.timeline-clip.cut-mode:hover{box-shadow:0 0 0 1px #f97316}.cut-indicator{position:absolute;top:0;bottom:0;width:2px;background:#f97316;pointer-events:none;z-index:100;box-shadow:0 0 4px #f97316cc}.cut-indicator:before,.cut-indicator:after{content:"";position:absolute;left:-4px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent}.cut-indicator:before{top:0;border-top:6px solid #f97316}.cut-indicator:after{bottom:0;border-bottom:6px solid #f97316}.timeline-tracks.dragging-clip{cursor:grabbing;user-select:none}.timeline-tracks.marquee-selecting{cursor:crosshair}.marquee-selection{position:absolute;background:#3b82f626;border:1px solid rgba(59,130,246,.6);border-radius:2px;pointer-events:none;z-index:1000}.timeline-container,.timeline-container *{user-select:none!important;-webkit-user-select:none!important}.track-lane.drag-target{background:#3b82f626}.track-lane.external-drag-target{background:#22c55e26}.timeline-clip-preview{position:absolute;top:4px;bottom:4px;border-radius:2px;background:#22c55e80;border:2px dashed var(--success);pointer-events:none;display:flex;align-items:center;justify-content:center}.timeline-clip-preview .clip-content{padding:4px 8px}.timeline-clip-preview .clip-name{color:var(--text-on-accent);font-size:11px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5)}.timeline-clip-preview.audio{background:#3b82f680;border-color:#3b82f6cc}.track-lane.new-track-preview{background:#3b82f61a;border:2px dashed rgba(59,130,246,.5);border-radius:2px;margin-top:4px;position:relative}.new-track-drop-zone{height:36px;margin-top:4px;border:2px dashed rgba(255,255,255,.3);border-radius:4px;background:#ffffff0d;display:flex;align-items:center;justify-content:center;position:relative;transition:all .15s ease}.new-track-drop-zone .drop-zone-label{font-size:11px;color:#ffffff80;font-weight:500;pointer-events:none;z-index:1}.new-track-drop-zone.video{height:60px;border-color:#2563eb66}.new-track-drop-zone.audio{height:40px;border-color:#16a34a66}.new-track-drop-zone.active,.new-track-drop-zone:hover{background:#ffffff1a}.new-track-drop-zone.video.active,.new-track-drop-zone.video:hover{border-color:#2563ebcc;background:#2563eb26}.new-track-drop-zone.audio.active,.new-track-drop-zone.audio:hover{border-color:#16a34acc;background:#16a34a26}.new-track-drop-zone.active .drop-zone-label,.new-track-drop-zone:hover .drop-zone-label{color:#fffc}.new-track-drop-zone .timeline-clip-preview{position:absolute;top:4px;bottom:4px;border-radius:3px;pointer-events:none}.clip-content{position:relative;z-index:5;padding:2px 6px;height:100%;display:flex;flex-direction:column;justify-content:flex-start;background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,rgba(0,0,0,.2) 50%,transparent 100%);pointer-events:none;overflow:hidden}.clip-name-row{display:flex;flex-direction:row;align-items:center;gap:2px}.clip-name{font-size:10px;line-height:1.2;font-weight:600;color:var(--text-on-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.8)}.clip-duration{font-size:9px;color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.8)}.clip-thumbnails{position:absolute;inset:0;display:flex;overflow:hidden;opacity:.85}.clip-thumb{height:100%;width:auto;object-fit:cover;flex-shrink:0;pointer-events:none}.timeline-clip.video .clip-thumbnails,.timeline-clip.image .clip-thumbnails{background:#0000004d}.timeline-clip.audio .clip-thumbnails{background:linear-gradient(180deg,#16a34a,#15803d)}.trim-handle{position:absolute;top:0;bottom:0;width:10px;cursor:ew-resize;background:#fff3;opacity:0;transition:opacity .15s,background .15s;z-index:10}.trim-handle:hover{background:#ffffff80}.trim-handle.left{left:0;border-radius:4px 0 0 4px}.trim-handle.right{right:0;border-radius:0 4px 4px 0}.timeline-clip.trimming,.timeline-clip.linked-trimming{z-index:100;box-shadow:0 0 0 2px var(--warning)}.timeline-clip.trimming .trim-handle,.timeline-clip.linked-trimming .trim-handle{opacity:1;background:var(--warning)}.timeline-clip:hover .trim-handle{opacity:1}.fade-handle{position:absolute;top:0;width:12px;height:12px;cursor:ew-resize;background:#fbbf24cc;border-radius:0 0 4px;opacity:0;transition:opacity .15s,background .15s,transform .15s;z-index:15}.fade-handle:hover{background:#fbbf24;transform:scale(1.1)}.fade-handle.left{left:0;border-radius:0 0 4px}.fade-handle.right{right:0;left:auto;border-radius:0 0 0 4px}.fade-handle.left.active,.fade-handle.right.active{border-radius:2px}.timeline-clip:hover .fade-handle{opacity:1}.timeline-clip.fading .fade-handle{opacity:1;background:var(--warning)}.clip-keyframe-ticks{position:absolute;bottom:0;left:0;right:0;height:8px;pointer-events:none;z-index:6}.keyframe-tick{position:absolute;bottom:1px;width:4px;height:4px;background:var(--warning);transform:translate(-50%) rotate(45deg);opacity:.7}.timeline-clip.selected .keyframe-tick{opacity:1}.fade-curve-container{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden}.fade-curve-svg{position:absolute;top:0;left:0;width:100%;height:100%}.playhead{position:absolute;top:0;width:2px;min-height:100%;height:max-content;z-index:30;pointer-events:none;transform:translate(-1px)}.playhead-head{width:14px;height:14px;background:var(--accent-timeline);border-radius:2px;transform:translate(-6px);cursor:grab;pointer-events:auto;position:sticky;top:4px;z-index:35}.playhead-head:hover{background:var(--accent-hover)}.playhead-head:active{cursor:grabbing}.playhead-line{width:2px;min-height:calc(100vh - 50px);height:100%;background:var(--accent-timeline);margin-top:-2px}.timeline-navigator{height:16px;background:var(--bg-primary);border-top:1px solid var(--border-color);padding:3px 14px 3px 150px;flex-shrink:0}.timeline-navigator-track{height:100%;background:var(--bg-tertiary);border-radius:3px;position:relative;cursor:pointer}.timeline-navigator-thumb{position:absolute;top:0;height:100%;background:var(--scrollbar-thumb);border:none;border-radius:3px;cursor:grab;display:flex;align-items:center;justify-content:space-between;transition:background .1s}.timeline-navigator-thumb:hover{background:var(--scrollbar-thumb-hover)}.timeline-navigator-thumb.dragging{cursor:grabbing;background:var(--scrollbar-thumb-hover)}.timeline-navigator-handle{width:14px;height:100%;cursor:ew-resize;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.timeline-navigator-handle:hover:before{background:var(--text-muted)}.timeline-navigator-handle-left{border-radius:3px 0 0 3px}.timeline-navigator-handle-right{border-radius:0 3px 3px 0}.timeline-navigator-handle:before{content:"";width:6px;height:6px;background:var(--bg-active);border-radius:50%}.timeline-navigator-grip{flex:1;display:flex;align-items:center;justify-content:center}.timeline-navigator-grip:before,.timeline-navigator-grip:after{display:none}.vertical-scrollbar{width:10px;background:var(--bg-primary);border-left:1px solid var(--border-color);flex-shrink:0;padding:1px}.vertical-scrollbar-track{width:100%;height:100%;background:var(--bg-tertiary);border-radius:3px;position:relative;cursor:pointer}.vertical-scrollbar-thumb{position:absolute;left:0;width:100%;background:var(--scrollbar-thumb);border-radius:3px;cursor:grab;display:flex;flex-direction:column;align-items:center;transition:background .1s}.vertical-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.vertical-scrollbar-thumb.dragging{cursor:grabbing;background:var(--scrollbar-thumb-hover)}.vertical-scrollbar-handle{width:100%;height:10px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .15s}.vertical-scrollbar-handle:hover{opacity:1;background:#ffffff1a}.vertical-scrollbar-handle-top{border-radius:3px 3px 0 0}.vertical-scrollbar-handle-bottom{border-radius:0 0 3px 3px}.vertical-scrollbar-handle:before{content:"";width:6px;height:6px;background:var(--bg-canvas);border-radius:50%}.vertical-scrollbar-grip{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.vertical-scrollbar-grip:before,.vertical-scrollbar-grip:after{content:"";width:6px;height:2px;background:var(--text-secondary);border-radius:1px;opacity:.5}.snap-line{position:absolute;top:0;bottom:0;width:2px;background:var(--success, #4ade80);z-index:99;pointer-events:none;box-shadow:0 0 8px var(--success, #4ade80)}.work-area-overlay{position:absolute;top:0;bottom:0;background:#0000004d;pointer-events:none;z-index:10}.work-area-overlay:after{content:"";position:absolute;top:0;bottom:0;width:100%;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 20px)}.in-out-marker{position:absolute;top:0;bottom:0;z-index:95;pointer-events:none}.in-out-marker .marker-flag{position:absolute;top:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-on-accent);border-radius:2px;cursor:pointer;pointer-events:auto}.in-marker .marker-flag{background:var(--amber-600);left:0;border-radius:0 2px 2px 0}.out-marker .marker-flag{background:var(--amber-600);right:0;border-radius:2px 0 0 2px}.in-out-marker .marker-line{position:absolute;top:16px;bottom:0;width:2px;background:var(--amber-600)}.in-marker .marker-line{left:0}.out-marker .marker-line{right:0}.in-out-marker .marker-flag:hover{transform:scale(1.1);box-shadow:0 0 6px #f59e0b99}.in-out-marker.dragging .marker-flag{transform:scale(1.2);box-shadow:0 0 8px #f59e0bcc}.in-out-marker.dragging .marker-line{width:3px;box-shadow:0 0 6px #f59e0b80}.timeline-marker{position:absolute;top:0;width:2px;min-height:100%;height:max-content;z-index:29;pointer-events:none;transform:translate(-1px);--marker-color: var(--accent-timeline)}.timeline-marker-head{width:14px;height:14px;background:var(--marker-color);border-radius:3px;transform:translate(-6px);cursor:grab;pointer-events:auto;position:sticky;top:4px;z-index:35;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--text-on-accent);transition:transform .1s,filter .1s,box-shadow .1s}.timeline-marker-head:hover{transform:translate(-6px) scale(1.15);filter:brightness(1.2);box-shadow:0 0 6px var(--marker-color)}.timeline-marker.dragging .timeline-marker-head{cursor:grabbing;transform:translate(-6px) scale(1.2);filter:brightness(1.3);box-shadow:0 0 8px var(--marker-color)}.timeline-marker .timeline-marker-line{width:2px;min-height:calc(100vh - 50px);height:100%;background:var(--marker-color);margin-top:-2px;opacity:.7}.timeline-marker:hover .timeline-marker-line,.timeline-marker.dragging .timeline-marker-line{opacity:1;box-shadow:0 0 4px var(--marker-color)}.timeline-marker.ghost{opacity:.7;pointer-events:none;z-index:100}.timeline-marker.ghost .timeline-marker-head{animation:ghost-pulse .5s ease-in-out infinite}.timeline-marker.ghost .timeline-marker-line{opacity:.5;background:linear-gradient(180deg,var(--marker-color) 0%,transparent 100%)}@keyframes ghost-pulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.2);filter:brightness(1.3)}}.timeline-marker.drop-animation{opacity:1;animation:marker-drop .3s ease-out forwards}.timeline-marker.drop-animation .timeline-marker-head{animation:marker-drop-icon .3s ease-out forwards}.timeline-marker.drop-animation .timeline-marker-line{animation:marker-drop-line .3s ease-out forwards}@keyframes marker-drop{0%{opacity:.7}50%{opacity:1}to{opacity:0}}@keyframes marker-drop-icon{0%{transform:scale(1.2);filter:brightness(1.5)}50%{transform:scale(1.4);filter:brightness(2)}to{transform:scale(1);filter:brightness(1)}}@keyframes marker-drop-line{0%{opacity:.5;box-shadow:0 0 8px var(--marker-color)}50%{opacity:1;box-shadow:0 0 16px var(--marker-color),0 0 32px var(--marker-color)}to{opacity:0;box-shadow:0 0 0 var(--marker-color)}}.ruler-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px}.ruler-header>span{flex:1;text-align:center}.add-marker-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--text-secondary);cursor:grab;transition:all .15s ease;font-size:10px;font-weight:700}.add-marker-btn:hover{background:var(--bg-hover);border-color:var(--border-color);color:var(--accent-timeline)}.add-marker-btn.dragging{background:var(--accent-timeline);border-color:var(--accent-timeline);color:var(--text-on-accent);cursor:grabbing;transform:scale(1.1);box-shadow:0 0 12px var(--accent-timeline)}.timeline-ram-preview{display:flex;align-items:center;gap:6px}.ram-preview-progress{width:80px;height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.ram-preview-progress-bar{height:100%;background:linear-gradient(90deg,var(--success),var(--success-light));border-radius:3px;transition:width .1s ease-out}.view-dropdown{position:relative}.view-dropdown .btn{display:flex;align-items:center}.view-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:4px 0;min-width:160px;z-index:1000;box-shadow:0 4px 12px #0000004d}.view-dropdown-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:12px;color:var(--text-primary);transition:background .1s}.view-dropdown-item:hover{background:var(--bg-tertiary)}.view-check{width:14px;font-size:11px;text-align:center;color:transparent;flex-shrink:0}.view-check.checked{color:var(--accent-color, #4a9eff)}.btn-danger{background:var(--danger);color:var(--text-on-accent)}.btn-danger:hover{background:var(--red-300)}.ram-preview-indicator{position:absolute;top:0;height:4px;background:linear-gradient(90deg,var(--success),var(--success-light));opacity:.8;pointer-events:none;z-index:90}.ram-preview-progress-text{position:absolute;top:6px;font-size:10px;font-weight:700;color:var(--success);background:var(--bg-overlay);padding:2px 6px;border-radius:3px;pointer-events:none;z-index:95;white-space:nowrap}.playback-cache-indicator{position:absolute;top:0;height:3px;background:var(--success);opacity:.6;pointer-events:none;z-index:89}.proxy-cache-indicator{position:absolute;top:3px;height:3px;background:var(--amber-300);opacity:.7;pointer-events:none;z-index:88}.timeline-export-overlay{position:absolute;top:0;height:500px;background:#facc1566;border-right:3px solid rgba(250,204,21,1);pointer-events:none;z-index:200}.timeline-export-text{position:absolute;top:50px;font-size:24px;font-weight:700;color:#facc15e6;text-shadow:0 2px 4px rgba(0,0,0,.6);pointer-events:none;z-index:201;white-space:nowrap}.clip-waveform{position:absolute;inset:0;overflow:hidden}.waveform-container{position:relative;width:100%;height:100%;display:flex;align-items:center}.waveform-bar{position:absolute;bottom:50%;transform:translateY(50%);background:#22c55ecc;border-radius:1px}.timeline-clip.audio .waveform-bar{background:#fff9}.waveform-canvas{position:absolute;top:0;left:0;pointer-events:none}.clip-mixdown-waveform{position:absolute;bottom:2px;left:0;right:0;height:30px;overflow:hidden;opacity:.7;pointer-events:none;z-index:5}.clip-mixdown-waveform .waveform-canvas{filter:hue-rotate(180deg)}.clip-mixdown-indicator{position:absolute;bottom:4px;left:4px;font-size:9px;color:var(--text-secondary);background:#00000080;padding:2px 6px;border-radius:3px;z-index:6}.nested-clip-boundaries{position:absolute;inset:0;pointer-events:none;z-index:8}.nested-boundary-line{position:absolute;top:0;bottom:0;width:1px;background:#ff3c3ccc;box-shadow:1px 0 #ffffff26}.track-header{cursor:default;transition:background .15s}.track-header:hover{background:var(--bg-hover)}.media-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);transition:background .15s ease,box-shadow .15s ease;position:relative}.media-panel.drop-target{background:#4a90e21a}.media-panel-drop-overlay{position:absolute;inset:0;background:#4a90e226;border:3px dashed var(--accent-color);border-radius:8px;display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:none;animation:dropPulse 1.5s ease-in-out infinite}@keyframes dropPulse{0%,to{background:#4a90e21a}50%{background:#4a90e240}}.drop-overlay-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--accent-color)}.drop-overlay-content svg{animation:dropBounce .8s ease-in-out infinite}@keyframes dropBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.drop-overlay-content span{font-size:16px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.5)}.media-panel-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0}.media-panel-title{font-weight:600;font-size:13px}.media-panel-count{font-size:11px;color:var(--text-secondary);margin-right:auto}.media-panel-actions{display:flex;gap:4px}.media-panel-content{flex:1;overflow:auto}.media-panel-table-wrapper{min-width:650px}.media-column-headers{display:flex;align-items:center;padding:4px 0;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);position:sticky;top:0;z-index:10;font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.media-col{flex-shrink:0;padding:0 6px;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-col-name{display:flex;align-items:center;gap:4px;overflow:hidden;position:relative;flex-shrink:0}.media-col-resize-handle{position:absolute;right:-1px;top:2px;bottom:2px;width:3px;cursor:col-resize;background:var(--border-color);border-radius:1px;transition:background .15s;z-index:5}.media-col-resize-handle:hover,.media-col-resize-handle:active{background:var(--accent-color)}.media-column-headers .media-col{cursor:grab;user-select:none;transition:background .1s,opacity .1s;position:relative}.media-column-headers .media-col:active{cursor:grabbing}.media-column-headers .media-col.dragging{opacity:.5}.media-column-headers .media-col.drag-over{background:#4a90e24d}.media-column-headers .media-col.sorted{color:var(--text-primary)}.media-sort-indicator{font-size:7px;margin-left:2px;opacity:.7;display:inline-block;vertical-align:middle}.media-column-headers .media-col:hover{color:var(--text-primary)}.media-col-label{width:30px;min-width:30px;max-width:30px;display:flex;align-items:center;justify-content:center;padding:0 2px;cursor:pointer}.media-label-dot{width:8px;height:8px;border-radius:2px;display:block;flex-shrink:0}.media-label-dot:hover{outline:1px solid rgba(255,255,255,.3)}.label-picker-backdrop{position:fixed;inset:0;z-index:10001}.label-picker-popup{background:var(--bg-secondary, #1e1e1e);border:1px solid var(--border-color, #3a3a3a);border-radius:4px;padding:4px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;box-shadow:0 4px 16px #00000080}.label-picker-swatch{width:16px;height:16px;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s}.label-picker-swatch:hover{transform:scale(1.2);outline:1px solid rgba(255,255,255,.5)}.label-picker-swatch.none{border:1px solid var(--border-color, #555)}.label-picker-x{font-size:10px;line-height:1;color:var(--text-secondary)}.media-col-duration{width:56px;min-width:56px;text-align:right}.media-col-resolution{width:80px;min-width:80px;text-align:right}.media-col-fps{width:40px;min-width:40px;text-align:right}.media-col-container{width:60px;min-width:60px;text-align:center}.media-col-codec{width:56px;min-width:56px;text-align:center}.media-col-audio{width:44px;min-width:44px;text-align:center}.media-col-bitrate{width:70px;min-width:70px;text-align:right}.media-col-size{width:70px;min-width:70px;text-align:right;padding-right:12px}.media-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center;padding:20px}.media-panel-empty .drop-icon{margin-bottom:12px;opacity:.4}.media-panel-empty .drop-icon svg{stroke:currentColor}.media-panel-empty .hint{font-size:12px;margin-top:8px;opacity:.7}.media-item-list{padding:4px 0}.media-item{display:flex;align-items:center;padding:1px 0;cursor:pointer;transition:background .1s;border-left:2px solid transparent;height:20px}.media-item:hover{background:var(--bg-hover)}.media-item.selected{background:#2d8ceb26;border-left-color:var(--accent)}.media-item.no-file{opacity:.5;cursor:not-allowed}.media-item.no-file .media-col-name:after{content:" (reload required)";font-size:10px;color:var(--text-secondary)}.media-item.importing{opacity:.5}.media-item.importing .media-col-name:after{content:" (importing...)";font-size:10px;color:var(--accent);animation:importPulse 1.5s ease-in-out infinite}@keyframes importPulse{0%,to{opacity:.5}50%{opacity:1}}.media-folder-arrow{font-size:8px;color:var(--text-secondary);flex-shrink:0;width:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s;user-select:none}.media-folder-arrow.expanded{transform:rotate(90deg)}.media-folder-arrow:hover{color:var(--text-primary)}.media-folder-icon{font-size:12px;filter:grayscale(1) brightness(.7);line-height:1}.media-item-icon{flex-shrink:0;width:14px;height:14px;display:flex;align-items:center;justify-content:center;line-height:1}.media-item-name{flex:1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 4px;border-radius:3px;cursor:default;color:var(--text-primary);min-width:0}.media-item-name.editable{cursor:text}.media-item-name.editable:hover{background:#ffffff1a}.media-item-rename{flex:1;background:var(--bg-primary);border:1px solid var(--accent);border-radius:2px;padding:2px 6px;font-size:12px;color:var(--text-primary);outline:none}.media-item-info{font-size:10px;color:var(--text-secondary);flex-shrink:0;display:none}.media-item-proxy-badge{background:var(--success);color:var(--text-inverse);font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;margin-left:4px;flex-shrink:0}.media-item-proxy-generating{display:flex;align-items:center;gap:4px;margin-left:4px;flex-shrink:0}.media-item-proxy-generating .proxy-percent{font-size:9px;color:var(--warning-light);font-weight:700}.media-item.drag-target{background:var(--accent)!important;outline:2px dashed var(--accent);outline-offset:-2px}.media-item.dragging{opacity:.5}.add-dropdown-container{position:relative}.add-dropdown-trigger.active{background:var(--bg-hover)}.add-dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 16px #0006;min-width:180px;z-index:1000;overflow:hidden}.add-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;color:var(--text-primary);cursor:pointer;transition:background .1s}.add-dropdown-item:hover{background:var(--bg-hover)}.add-dropdown-icon{width:20px;text-align:center;font-size:14px}.add-dropdown-hint{margin-left:auto;font-size:10px;color:var(--text-muted);font-style:italic}.add-dropdown-separator{height:1px;background:var(--border-color);margin:4px 0}.media-context-menu{position:fixed;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 16px #0006;min-width:160px;z-index:10000;overflow:hidden}.media-context-menu button{display:block;width:100%;padding:8px 12px;text-align:left;background:none;border:none;color:var(--text-primary);font-size:12px;cursor:pointer;transition:background .1s}.media-context-menu button:hover{background:var(--bg-hover)}.media-context-menu button.danger{color:var(--danger)}.media-context-menu button.danger:hover{background:#ff444426}.context-menu-divider{height:1px;background:var(--border-color);margin:4px 0}.precision-slider{flex:1;height:20px;cursor:ew-resize;display:flex;align-items:center}.precision-slider-track{width:100%;height:4px;background:var(--bg-primary);border-radius:2px;position:relative}.precision-slider-fill{position:absolute;top:0;left:0;height:100%;background:var(--accent);border-radius:2px;pointer-events:none}.precision-slider-thumb{position:absolute;top:50%;width:12px;height:12px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 1px 3px #0000004d}.precision-slider:hover .precision-slider-thumb{box-shadow:0 0 0 3px #2d8ceb4d}.precision-slider:active{cursor:grabbing}.precision-slider:active .precision-slider-thumb{background:var(--accent-hover);box-shadow:0 0 0 4px #2d8ceb66}.draggable-number{display:inline-block;padding:3px 6px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:3px;color:#5b8abf;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;cursor:ew-resize;user-select:none;min-width:50px;text-align:right;transition:border-color .15s ease,background .15s ease,color .15s ease}.control-row>.draggable-number{flex:1;text-align:right}.draggable-number:hover{border-color:#2d5a8e;background:var(--bg-secondary);color:#7aabe0}.draggable-number:active{color:#9cc4f0;cursor:grabbing}.keyframe-toggle{width:18px;height:18px;padding:2px;background:transparent;border:1px solid var(--border-color);border-radius:3px;cursor:pointer;color:var(--text-secondary);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.keyframe-toggle:hover{border-color:var(--accent);color:var(--accent)}.keyframe-toggle.has-keyframes{color:var(--amber-600);border-color:var(--amber-600)}.keyframe-toggle.has-keyframes:hover{color:var(--warning-light);border-color:var(--warning-light)}.keyframe-toggle.recording{background:var(--amber-600);color:var(--text-inverse);border-color:var(--amber-600);animation:keyframe-recording-pulse 1s ease-in-out infinite}.keyframe-toggle.recording:hover{background:var(--warning-light);border-color:var(--warning-light)}@keyframes keyframe-recording-pulse{0%,to{opacity:1}50%{opacity:.6}}.keyframe-toggle-placeholder{width:18px;height:18px;flex-shrink:0}.keyframe-diamond{position:absolute;width:8px;height:8px;background:var(--amber-600);transform:translate(calc(-50% - 3px)) rotate(45deg) translateY(-50%);top:50%;cursor:pointer;z-index:5;transition:background .1s ease,box-shadow .1s ease,transform .1s ease}.keyframe-diamond:hover{background:var(--warning-light);box-shadow:0 0 6px var(--amber-600);transform:translate(calc(-50% - 3px)) rotate(45deg) translateY(-50%) scale(1.2)}.keyframe-diamond.selected{background:var(--red-500);box-shadow:0 0 8px var(--red-500)}.keyframe-diamond.dragging{background:var(--cyan-500);box-shadow:0 0 10px var(--cyan-500);transform:translate(calc(-50% - 3px)) rotate(45deg) translateY(-50%) scale(1.3)}.keyframe-diamond.easing-linear{border-radius:0}.keyframe-diamond.easing-ease-in{border-radius:50% 0 0 50%;background:linear-gradient(135deg,var(--purple-light) 0%,var(--amber-600) 100%)}.keyframe-diamond.easing-ease-in:hover{background:linear-gradient(135deg,var(--purple-300) 0%,var(--warning-light) 100%)}.keyframe-diamond.easing-ease-in.selected{background:linear-gradient(135deg,var(--red-500) 0%,var(--danger-light) 100%)}.keyframe-diamond.easing-ease-out{border-radius:0 50% 50% 0;background:linear-gradient(135deg,var(--amber-600) 0%,var(--cyan-500) 100%)}.keyframe-diamond.easing-ease-out:hover{background:linear-gradient(135deg,var(--warning-light) 0%,var(--cyan-400) 100%)}.keyframe-diamond.easing-ease-out.selected{background:linear-gradient(135deg,var(--danger-light) 0%,var(--red-500) 100%)}.keyframe-diamond.easing-ease-in-out{border-radius:50%;background:linear-gradient(135deg,var(--purple-light) 0%,var(--cyan-500) 100%)}.keyframe-diamond.easing-ease-in-out:hover{background:linear-gradient(135deg,var(--purple-300) 0%,var(--cyan-400) 100%)}.keyframe-diamond.easing-ease-in-out.selected{background:linear-gradient(135deg,var(--red-500) 0%,var(--danger-light) 100%)}.keyframe-context-menu{background:var(--bg-tertiary);border:1px solid var(--gray-450);border-radius:6px;padding:4px 0;min-width:140px;box-shadow:0 4px 12px #0009}.keyframe-context-menu .context-menu-title{padding:6px 12px;font-size:11px;color:var(--gray-200);border-bottom:1px solid var(--gray-450);margin-bottom:4px}.keyframe-context-menu .context-menu-item{padding:6px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-primary)}.keyframe-context-menu .context-menu-item:hover{background:var(--bg-active)}.keyframe-context-menu .context-menu-item.active{color:var(--amber-600)}.keyframe-context-menu .context-menu-item .checkmark{color:var(--success);font-size:14px}.clip-expand-arrow{cursor:pointer;transition:transform .2s ease;color:var(--text-secondary);font-size:10px;margin-right:4px}.clip-expand-arrow:hover{color:var(--text-primary)}.clip-expand-arrow.expanded{transform:rotate(90deg)}.clip-expand-arrow.has-keyframes{color:var(--amber-600)}.timeline-clip.has-keyframes .clip-content{border-left:2px solid var(--amber-600)}.timeline-clip.expanded{overflow:visible;z-index:10}.clip-property-rows{position:absolute;left:0;right:0;top:100%;background:#000000d9;border:1px solid var(--border-color);border-top:none;border-radius:0 0 4px 4px;z-index:3;overflow:hidden}.property-group{border-bottom:1px solid var(--border-color)}.property-group:last-child{border-bottom:none}.property-group-header{display:flex;align-items:center;height:18px;padding:0 8px;margin:0;box-sizing:border-box;cursor:pointer;background:var(--bg-tertiary);font-size:10px;color:var(--text-secondary);user-select:none;border-bottom:1px solid rgba(255,255,255,.05)}.property-group-header:hover{background:var(--bg-hover);color:var(--text-primary)}.property-group-arrow{margin-right:4px;transition:transform .15s ease}.property-group-arrow.expanded{transform:rotate(90deg)}.property-row{display:flex;align-items:center;height:18px;padding:0 8px 0 20px;background:var(--bg-secondary);border-bottom:1px solid rgba(255,255,255,.05)}.property-row:last-child{border-bottom:none}.property-label{width:50px;font-size:9px;color:var(--text-secondary);text-transform:uppercase;flex-shrink:0}.keyframe-track{flex:1;height:100%;position:relative}.keyframe-track-row .keyframe-track{position:absolute;inset:0}.keyframe-track-line{position:absolute;top:50%;left:0;right:0;height:1px;background:#ffffff1a}.track-header-top{display:flex;align-items:center;justify-content:flex-start;padding:0 30px 0 8px;margin:0;box-sizing:border-box;position:relative;width:100%}.track-header-main{display:flex;align-items:center;gap:4px}.track-expand-arrow{cursor:pointer;transition:transform .2s ease;color:var(--text-secondary);font-size:10px;flex-shrink:0}.track-expand-arrow:hover{color:var(--text-primary)}.track-expand-arrow.expanded{transform:rotate(90deg)}.track-expand-arrow.has-keyframes{color:var(--amber-600)}.track-header.expanded{flex-direction:column;align-items:stretch;padding:0}.track-header.expanded .track-header-top{flex-shrink:0}.track-clip-row{position:relative;width:100%;flex-shrink:0;margin:0;padding:0;box-sizing:border-box;overflow:hidden}.track-property-labels{background:#0006;border-top:1px solid var(--border-color);width:100%;box-sizing:border-box;margin:0;padding:0}.property-label-row{height:18px;display:flex;align-items:center;padding:0 8px;box-sizing:border-box;font-size:9px;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.05)}.property-label-row.sub{padding-left:20px}.property-label-row.flat{padding-left:8px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:4px}.property-label-row.flat .property-label{flex-shrink:0;min-width:45px}.property-label-row.flat.dragging{background:#2d8ceb1a}.property-keyframe-controls{display:flex;align-items:center;gap:1px;margin-left:auto}.kf-nav-btn,.kf-add-btn{background:none;border:none;color:var(--text-secondary);font-size:8px;padding:2px 3px;cursor:pointer;opacity:.6;transition:opacity .1s}.kf-nav-btn:hover,.kf-add-btn:hover{opacity:1;color:var(--accent-timeline)}.kf-nav-btn.disabled{opacity:.2;cursor:default}.kf-add-btn{font-size:10px;color:var(--text-secondary)}.kf-add-btn.has-keyframe{color:var(--accent-timeline);opacity:1}.property-value{font-size:9px;color:var(--accent-timeline);font-family:monospace;min-width:40px;text-align:right;cursor:ns-resize;padding:0 4px;border-radius:2px;user-select:none}.property-value:hover{background:#2d8ceb1a}.property-label-group{border-bottom:1px solid var(--border-color);box-sizing:border-box;margin:0;padding:0}.property-label-group:last-child{border-bottom:none}.track-property-tracks{background:#0006;border-top:1px solid var(--border-color);position:relative;width:100%;box-sizing:border-box;margin-top:1px;padding:0}.keyframe-track-row{height:18px;position:relative;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.05);margin:0;padding:0}.keyframe-track-row.group-header{background:var(--bg-tertiary)}.keyframe-track-row.flat{border-bottom:1px solid rgba(255,255,255,.05)}.keyframe-track-group{border-bottom:1px solid var(--border-color);box-sizing:border-box;margin:0;padding:0}.keyframe-track-group:last-child{border-bottom:none}.track-lane.expanded{display:flex;flex-direction:column;align-items:stretch;overflow:visible}.curve-editor-svg{display:block;background:#0000004d;border-top:1px solid var(--border-color)}.curve-editor-grid{stroke:var(--border-color);stroke-width:.5;opacity:.3}.curve-editor-grid-major{stroke:var(--border-color);stroke-width:1;opacity:.5}.curve-editor-curve{fill:none;stroke:var(--amber-600);stroke-width:2}.curve-editor-keyframe{fill:var(--amber-600);stroke:var(--bg-primary);stroke-width:2;cursor:pointer;transition:r .1s ease}.curve-editor-keyframe:hover{r:6}.curve-editor-keyframe.selected{fill:var(--red-500);stroke:var(--gray-0)}.curve-editor-handle{fill:var(--cyan-500);stroke:var(--bg-primary);stroke-width:1;cursor:pointer}.curve-editor-handle:hover{fill:var(--cyan-400)}.curve-editor-handle-line{stroke:var(--cyan-500);stroke-width:1;opacity:.6}.curve-editor-value-label{font-size:9px;fill:var(--text-secondary)}.curve-editor-header{position:relative;display:flex;flex-direction:column;justify-content:space-between;background:#0000004d;border-top:1px solid var(--border-color)}.curve-editor-close-btn{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;background:transparent;border:none;color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;opacity:.6;transition:opacity .1s}.curve-editor-close-btn:hover{opacity:1;color:var(--text-primary)}.curve-editor-y-axis{position:relative;width:100%;height:100%}.curve-editor-tick{position:absolute;right:4px;transform:translateY(-50%)}.curve-editor-tick-label{font-size:9px;color:var(--text-secondary);font-family:monospace}.property-label-row.flat.curve-expanded{background:#f59e0b1a;border-left:2px solid var(--amber-600)}.keyframe-track-row.flat.curve-expanded{height:auto;flex-direction:column}.keyframe-track-row.flat.curve-expanded .keyframe-track{position:relative;height:18px;flex-shrink:0}.preview-container{position:relative;overflow:hidden}.preview-controls{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:8px;z-index:20}.preview-edit-btn{padding:4px 10px;background:var(--preview-overlay-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s;backdrop-filter:blur(4px)}.preview-edit-btn:hover{background:var(--preview-overlay-bg-hover);color:var(--text-primary);border-color:var(--gray-300)}.preview-edit-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.preview-zoom-label{font-size:11px;color:var(--text-secondary);background:var(--preview-overlay-bg);padding:4px 8px;border-radius:4px;font-family:monospace;backdrop-filter:blur(4px)}.preview-reset-btn{padding:4px 8px;background:var(--preview-overlay-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s;backdrop-filter:blur(4px)}.preview-reset-btn:hover{background:var(--preview-overlay-bg-hover);color:var(--text-primary)}.preview-comp-selector{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:4px;z-index:20}.preview-comp-dropdown-wrapper{position:relative}.preview-comp-dropdown-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--preview-overlay-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s;backdrop-filter:blur(4px)}.preview-comp-dropdown-btn:hover{background:var(--preview-overlay-bg-hover);color:var(--text-primary);border-color:var(--gray-300)}.preview-comp-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-comp-arrow{font-size:8px;opacity:.7}.preview-comp-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:160px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0006;padding:4px 0;z-index:100}.preview-comp-option{display:block;width:100%;padding:6px 12px;background:transparent;border:none;color:var(--text-secondary);font-size:11px;text-align:left;cursor:pointer;transition:all .15s}.preview-comp-option:hover{background:var(--bg-hover);color:var(--text-primary)}.preview-comp-option.active{color:var(--accent);background:#2d8ceb1a}.preview-comp-separator{height:1px;background:var(--border-color);margin:4px 0}.preview-add-btn{padding:4px 8px;background:var(--preview-overlay-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;line-height:1;backdrop-filter:blur(4px)}.preview-add-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.preview-close-btn{padding:4px 8px;background:var(--preview-overlay-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;line-height:1;backdrop-filter:blur(4px)}.preview-close-btn:hover{background:var(--red-700);border-color:var(--red-700);color:var(--text-on-accent)}.preview-overlay{position:absolute;top:0;left:0;pointer-events:auto;z-index:10}.preview-edit-hint{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:10px;color:var(--text-secondary);background:var(--bg-overlay);padding:4px 12px;border-radius:4px;white-space:nowrap;z-index:20}.preview-canvas-wrapper{transform-origin:center center;transition:transform .1s ease-out}.preview-controls-bottom{position:absolute;bottom:8px;left:8px;display:flex;align-items:center;gap:8px;z-index:20}.preview-transparency-toggle{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:var(--preview-overlay-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s ease;backdrop-filter:blur(4px)}.preview-transparency-toggle:hover{background:var(--preview-overlay-bg-hover);color:var(--text-primary);border-color:var(--gray-300)}.preview-transparency-toggle.active{background:#2d8ceb33;border-color:var(--accent);color:var(--accent)}.preview-quality-dropdown-wrapper{position:relative}.preview-quality-dropdown-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--preview-overlay-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s;backdrop-filter:blur(4px)}.preview-quality-dropdown-btn:hover{background:var(--preview-overlay-bg-hover);color:var(--text-primary);border-color:var(--gray-300)}.preview-quality-label{min-width:45px}.preview-quality-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:4px;min-width:120px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0006;padding:4px 0;z-index:100}.preview-quality-option{display:block;width:100%;padding:6px 12px;background:transparent;border:none;color:var(--text-secondary);font-size:11px;text-align:left;cursor:pointer;transition:all .15s}.preview-quality-option:hover{background:var(--bg-hover);color:var(--text-primary)}.preview-quality-option.active{color:var(--accent);background:#2d8ceb1a}.preview-quality-desc{opacity:.6;margin-left:4px}.source-monitor{position:absolute;inset:28px 0 0;display:flex;flex-direction:column;background:var(--bg-primary);z-index:15}.source-monitor-media{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;background:var(--bg-canvas)}.source-monitor-video,.source-monitor-image{max-width:100%;max-height:100%;object-fit:contain;display:block}.source-monitor-video{cursor:pointer}.source-monitor-toolbar{display:flex;align-items:center;gap:8px;padding:3px 8px;background:var(--bg-tertiary);border-top:1px solid var(--border-color);min-height:30px;flex-shrink:0}.source-monitor-transport{display:flex;gap:2px}.source-monitor-transport .btn{min-width:24px;padding:3px 4px;font-size:10px;line-height:1}.source-monitor-timecode{display:flex;align-items:center;gap:4px}.source-monitor-timecode .timeline-time{min-width:auto;padding:2px 5px;font-size:11px}.source-monitor-time-sep{color:var(--text-secondary);font-size:10px;opacity:.5}.source-monitor-scrub{flex:1;height:24px;display:flex;align-items:center;cursor:pointer;user-select:none;padding:0 2px}.source-monitor-scrub-track{flex:1;height:4px;background:var(--bg-primary);border-radius:2px;position:relative}.source-monitor-scrub:hover .source-monitor-scrub-track{height:6px}.source-monitor-scrub-fill{height:100%;background:var(--accent);border-radius:2px;position:absolute;top:0;left:0;pointer-events:none}.source-monitor-scrub-handle{width:10px;height:10px;border-radius:50%;background:var(--text-primary);position:absolute;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .15s}.source-monitor-scrub:hover .source-monitor-scrub-handle{opacity:1}.preview-source-label{font-size:11px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:0 4px}.preview-close-source-btn{background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:2px 6px;border-radius:2px;line-height:1}.preview-close-source-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.timeline-context-menu,.media-context-menu{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 24px #00000080;min-width:180px;padding:4px 0;font-size:12px}.context-menu-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;transition:background .1s;color:var(--text-primary)}.context-menu-item:hover{background:var(--bg-hover)}.context-menu-item.disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.5}.context-menu-item.disabled:hover{background:transparent}.context-menu-item.danger{color:var(--danger)}.context-menu-item.danger:hover{background:#ef444426}.context-menu-separator{height:1px;background:var(--border-color);margin:4px 0}.context-menu-item.has-submenu{position:relative}.submenu-arrow{font-size:8px;color:var(--text-secondary)}.context-submenu{display:none;position:absolute;left:100%;top:-4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 24px #00000080;min-width:160px;padding:4px 0}.context-menu-item.has-submenu:hover .context-submenu{display:block}.masks-section .section-header-with-button{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.masks-section .section-header-with-button h4{margin:0}.mask-add-menu-container{position:relative}.btn-add{background:var(--accent);color:var(--text-inverse);border:none;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer;border-radius:4px}.btn-add:hover{background:var(--accent-hover)}.mask-add-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;min-width:120px;z-index:100;box-shadow:0 4px 12px #0000004d}.mask-add-menu button{display:block;width:100%;text-align:left;padding:8px 12px;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:12px}.mask-add-menu button:hover{background:var(--bg-hover)}.mask-add-menu button:first-child{border-radius:6px 6px 0 0}.mask-add-menu button:last-child{border-radius:0 0 6px 6px}.mask-empty{color:var(--text-secondary);font-size:12px;padding:12px 0;text-align:center}.mask-list{display:flex;flex-direction:column;gap:4px}.mask-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.mask-item.active{border-color:var(--accent)}.mask-item-header{display:flex;align-items:center;gap:6px;padding:8px;cursor:pointer}.mask-item-header:hover{background:var(--bg-hover)}.mask-expand-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:10px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0}.mask-expand-btn:hover{color:var(--text-primary)}.mask-name{flex:1;font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mask-name-input{flex:1;font-size:12px;padding:2px 6px;border:1px solid var(--accent);border-radius:3px;background:var(--bg-primary);color:var(--text-primary);outline:none}.mask-mode-select{font-size:10px;padding:2px 4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);cursor:pointer}.mask-edit-btn,.mask-delete-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:3px;display:flex;align-items:center;justify-content:center}.mask-edit-btn:hover{background:var(--bg-hover);color:var(--accent)}.mask-delete-btn:hover{background:#ef444426;color:var(--danger)}.mask-item-properties{padding:8px 12px 12px;background:var(--bg-primary);border-top:1px solid var(--border-color)}.mask-item-properties .control-row{margin-bottom:6px}.mask-item-properties .control-row:last-of-type{margin-bottom:8px}.mask-item-properties label{font-size:11px;min-width:60px}.mask-item-properties .value{font-size:10px;min-width:45px}.mask-item-properties input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--accent)}.mask-info{font-size:10px;color:var(--text-secondary);margin-top:4px}.mask-overlay-svg{pointer-events:auto;z-index:50}.mask-overlay-svg text{text-shadow:0 1px 2px rgba(0,0,0,.8)}.mask-shape-tools{display:flex;gap:4px;margin-bottom:8px;padding:6px;background:var(--bg-tertiary);border-radius:6px}.mask-tool-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.mask-tool-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.mask-tool-btn.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.mask-tool-btn.cancel{margin-left:auto;color:var(--danger)}.mask-tool-btn.cancel:hover{background:#ef444433;border-color:var(--danger)}.mask-draw-hint{font-size:11px;color:var(--accent);background:#2d8ceb1a;padding:6px 10px;border-radius:4px;margin-bottom:8px;text-align:center}.multicam-dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001}.multicam-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.multicam-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.multicam-dialog-header h2{margin:0;font-size:16px;color:var(--text-primary)}.dialog-close-btn{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1}.dialog-close-btn:hover:not(:disabled){color:var(--text-primary)}.dialog-close-btn:disabled{opacity:.5;cursor:not-allowed}.multicam-dialog-content{padding:20px;overflow-y:auto;flex:1}.multicam-section{margin-bottom:20px}.multicam-section h3{margin:0 0 8px;font-size:13px;color:var(--text-primary);font-weight:600}.section-hint{font-size:11px;color:var(--text-secondary);margin:0 0 12px}.section-hint.warning{color:var(--amber-600)}.multicam-method-selector{display:flex;gap:12px;margin-bottom:8px}.method-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .15s ease}.method-option:hover:not(:has(input:disabled)){border-color:var(--accent)}.method-option.selected{border-color:var(--accent);background:#3b82f61a}.method-option:has(input:disabled){opacity:.5;cursor:not-allowed}.method-option input[type=radio]{display:none}.method-option .method-icon{font-size:24px}.method-option .method-label{font-size:12px;font-weight:600;color:var(--text-primary)}.method-option .method-count{font-size:10px;color:var(--text-secondary)}.transcript-word-count{margin-left:auto;font-size:10px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 6px;border-radius:4px}.multicam-warning{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger-light);padding:12px;border-radius:6px;font-size:12px;text-align:center}.multicam-clip-list{display:flex;flex-direction:column;gap:8px}.multicam-clip-list.no-audio{opacity:.7}.multicam-clip-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s ease}.multicam-clip-item:hover{border-color:var(--accent)}.multicam-clip-item.disabled{cursor:default;opacity:.6}.multicam-clip-item input[type=radio]{margin:0;accent-color:var(--accent)}.multicam-clip-item .clip-icon{font-size:16px}.multicam-clip-item .clip-name{flex:1;font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.master-badge{background:var(--purple);color:var(--text-on-accent);font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}.no-audio-badge{background:var(--gray-250);color:var(--text-on-accent);font-size:10px;padding:2px 6px;border-radius:3px}.multicam-progress-section{margin-top:16px}.multicam-progress{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-bottom:8px}.multicam-progress-bar{height:100%;background:linear-gradient(90deg,var(--purple),var(--purple-300));border-radius:3px;transition:width .2s ease-out}.progress-label{font-size:11px;color:var(--text-secondary);text-align:center;display:block}.multicam-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger-light);padding:10px 12px;border-radius:6px;font-size:12px;margin-top:16px}.multicam-dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border-color)}.multicam-dialog-footer .btn-cancel{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease}.multicam-dialog-footer .btn-cancel:hover:not(:disabled){background:var(--bg-hover)}.multicam-dialog-footer .btn-cancel:disabled{opacity:.5;cursor:not-allowed}.multicam-dialog-footer .btn-sync{background:var(--purple);border:none;color:var(--text-on-accent);padding:8px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.multicam-dialog-footer .btn-sync:hover:not(:disabled){background:var(--purple-600)}.multicam-dialog-footer .btn-sync:disabled{opacity:.5;cursor:not-allowed}.welcome-overlay-backdrop{position:fixed;inset:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:10002;backdrop-filter:blur(10px);transition:backdrop-filter .2s ease-in;animation:welcome-backdrop-in .4s ease-in-out .5s both}@keyframes welcome-backdrop-in{0%{backdrop-filter:blur(0px)}to{backdrop-filter:blur(10px)}}.welcome-overlay-backdrop.closing{backdrop-filter:blur(0px);transition:backdrop-filter .12s ease-out}.welcome-overlay-backdrop.closing .welcome-overlay{opacity:0;transform:scale(.96);transition:opacity .12s ease-out,transform .12s ease-out}.welcome-overlay-backdrop.closing.no-fade{backdrop-filter:blur(10px);transition:none}.welcome-overlay-backdrop.closing.no-fade .welcome-overlay{opacity:0;transform:scale(.96);transition:opacity 80ms ease-out,transform 80ms ease-out}.welcome-overlay{background:linear-gradient(165deg,#1e1e1ef2,#0f0f0ffa);border:1px solid rgba(255,255,255,.06);border-radius:24px;width:400px;max-width:90vw;padding:40px 36px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 0 0 1px #ffffff05,0 40px 80px #00000080,0 0 120px #0000004d;animation:welcome-overlay-in .3s ease-out .9s both}@keyframes welcome-overlay-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.welcome-tagline{display:flex;align-items:center;gap:0;min-height:24px;position:relative;font-size:15px;font-weight:600;letter-spacing:.5px;margin-bottom:28px;animation:welcome-fade-in .4s ease-out 1s both}.welcome-tag-local{color:var(--danger-light)}.welcome-tag-private{color:var(--blue-300)}.welcome-tag-free{color:var(--green-300)}.welcome-tag-dot{color:#ffffff4d;font-weight:400;display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;padding:0;animation:dot-expand .35s ease-out forwards}@keyframes dot-expand{0%{max-width:0;padding:0;opacity:0}50%{opacity:1}to{max-width:40px;padding:0 12px;opacity:1}}.welcome-cursor{color:#fffc;font-weight:300;margin-left:1px;opacity:0;transition:opacity .05s}.welcome-cursor.visible{opacity:1}@keyframes welcome-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.welcome-title{margin:0 0 8px;font-size:36px;font-weight:700;letter-spacing:-1.5px;line-height:1;overflow:hidden}.welcome-title-master{color:var(--gray-0);display:inline-block;animation:welcome-title-master-in .8s ease-out 1.05s both}@keyframes welcome-title-master-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.welcome-title-selects{color:#ffffffb3;display:inline-block;animation:welcome-title-selects-in .8s ease-out 1.25s both}@keyframes welcome-title-selects-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.welcome-subtitle{margin:0 0 36px;font-size:14px;color:#ffffff59;font-weight:400;letter-spacing:.2px;animation:welcome-fade-up .4s ease-out 1.25s both}@keyframes welcome-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.welcome-folder-card{width:100%;margin-bottom:24px;animation:welcome-fade-up .4s ease-out 1.3s both}.welcome-folder-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 4px}.welcome-folder-card-label{font-size:12px;font-weight:600;color:#fff9;letter-spacing:.3px}.welcome-folder-card-optional{font-size:10px;font-weight:500;color:#ffffff40;text-transform:uppercase;letter-spacing:.5px}.welcome-folder-btn{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;cursor:pointer;transition:all .2s ease;text-align:left}.welcome-folder-btn:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff1a}.welcome-folder-btn:hover:not(:disabled) .welcome-folder-btn-arrow{opacity:.6;transform:translate(2px)}.welcome-folder-btn:disabled{opacity:.5;cursor:not-allowed}.welcome-folder-btn.has-folder{background:#ffffff0d;border-color:#ffffff14}.welcome-folder-btn-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:10px;flex-shrink:0}.welcome-folder-btn-icon svg{color:#ffffff80}.welcome-folder-btn.has-folder .welcome-folder-btn-icon{background:#64c8641a}.welcome-folder-btn.has-folder .welcome-folder-btn-icon svg{color:#64c864b3}.welcome-folder-btn-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.welcome-folder-name{font-size:14px;font-weight:500;color:var(--gray-0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.welcome-folder-change{font-size:11px;color:#ffffff59}.welcome-folder-btn-arrow{flex-shrink:0;color:#ffffff40;opacity:.4;transition:all .2s ease}.welcome-folder-buttons{display:flex;flex-direction:column;gap:10px}.welcome-folder-btn-secondary{background:transparent;border-color:#ffffff0a}.welcome-folder-btn-secondary:hover:not(:disabled){background:#ffffff08}.welcome-folder-btn-secondary .welcome-folder-btn-icon{background:#ffffff08}.welcome-enter{display:inline-flex;align-items:center;gap:10px;padding:0;background:none;border:none;cursor:pointer;color:#fff6;font-size:13px;font-weight:500;transition:all .2s ease;animation:welcome-fade-up .4s ease-out 1.4s both}.welcome-enter:hover{color:#ffffffb3}.welcome-enter:hover kbd{background:#ffffff1f;border-color:#ffffff26;color:#fffc}.welcome-enter kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-family:inherit;font-size:14px;color:#ffffff80;transition:all .2s ease}.welcome-note{margin:0;padding:14px 16px;background:#ffffff08;border-radius:12px;font-size:13px;color:#fff6;line-height:1.5}.welcome-browser-warning{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin:8px 0 20px;padding:20px 24px;background:linear-gradient(135deg,#ef444426,#b91c1c1a);border:1px solid rgba(239,68,68,.35);border-radius:16px;max-width:340px;box-shadow:0 0 30px #ef444426,inset 0 1px #ffffff0d}.welcome-browser-warning-icon{color:var(--danger);filter:drop-shadow(0 0 8px rgba(239,68,68,.5))}.welcome-browser-warning-label{font-size:11px;font-weight:600;color:var(--danger);text-transform:uppercase;letter-spacing:1px}.welcome-browser-warning-name{font-size:22px;font-weight:700;color:var(--gray-0);margin:-2px 0 4px}.welcome-browser-warning-desc{font-size:13px;color:#fff9;line-height:1.5;max-width:280px}.welcome-browser-warning-btn{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:10px 18px;background:linear-gradient(135deg,#4285f4,#1a73e8);border:none;border-radius:8px;color:var(--text-on-accent);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #4285f44d}.welcome-browser-warning-btn:hover{background:linear-gradient(135deg,#5a95f5,#2b7de9);transform:translateY(-1px);box-shadow:0 4px 12px #4285f466}.welcome-browser-warning-btn svg{opacity:.9}.welcome-os-warning{background:linear-gradient(135deg,#f59e0b26,#b453091a);border:1px solid rgba(245,158,11,.35);box-shadow:0 0 30px #f59e0b26,inset 0 1px #ffffff0d}.welcome-os-warning .welcome-browser-warning-icon{color:var(--amber-600);filter:drop-shadow(0 0 8px rgba(245,158,11,.5))}.welcome-os-warning .welcome-browser-warning-label{color:var(--amber-600)}.welcome-error{margin-top:10px;padding:0 4px;font-size:12px;color:var(--danger-light);text-align:left}.info-content{text-align:center;padding:8px 0}.info-description{font-size:13px;color:var(--gray-100);line-height:1.6;margin:0 0 20px}.info-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.info-feature{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff08;border-radius:8px;font-size:12px;color:var(--gray-75)}.info-feature-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#ffd70026,#ffd7000d);border:1px solid rgba(255,215,0,.3);border-radius:6px;font-size:10px;font-weight:700;color:var(--amber-300);flex-shrink:0}.info-version{font-size:11px;color:var(--gray-250);margin-top:8px}.info-github-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;background:var(--gray-650);border:1px solid var(--gray-500);border-radius:6px;color:var(--gray-75);font-size:13px;text-decoration:none;transition:all .15s ease}.info-github-link:hover{background:var(--gray-500);border-color:var(--gray-150);color:var(--gray-0)}.info-github-link svg{opacity:.8}.info-github-link:hover svg{opacity:1}.relink-dialog{max-width:500px;width:90%}.relink-title{font-size:20px;font-weight:600;color:var(--gray-0);margin:0 0 4px;text-align:center}.relink-subtitle{font-size:13px;color:var(--gray-200);margin:0 0 16px;text-align:center}.relink-file-list{max-height:300px;overflow-y:auto;background:#0000004d;border-radius:8px;margin-bottom:12px}.relink-file-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background .15s}.relink-file-item:hover{background:#ffffff0d}.relink-file-item:last-child{border-bottom:none}.relink-file-item.found{cursor:default}.relink-status-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.relink-status-icon.missing{background:#ff646433;color:var(--danger-light)}.relink-status-icon.found{background:#64ff6433;color:var(--success-light)}.relink-status-icon.searching{background:#ffc86433;color:var(--warning-light)}.relink-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.relink-file-name{font-size:13px;color:var(--gray-25);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.relink-file-path{font-size:11px;color:var(--gray-250);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.relink-pick-hint{font-size:11px;color:var(--gray-200);flex-shrink:0}.relink-searched{font-size:11px;color:var(--gray-250);margin-bottom:12px;padding:0 4px}.relink-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.relink-actions-right{display:flex;gap:8px}.relink-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;background:#ffffff1a;color:var(--gray-75)}.relink-btn:hover:not(:disabled){background:#ffffff26;color:var(--gray-0)}.relink-btn:disabled{opacity:.5;cursor:not-allowed}.relink-btn-primary{background:#ffd70033;color:var(--amber-300)}.relink-btn-primary:hover:not(:disabled){background:#ffd7004d}.relink-btn-secondary{background:#6496ff26;color:var(--blue-200)}.relink-btn-secondary:hover:not(:disabled){background:#6496ff40}.saved-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;padding:16px 32px;background:#000000d9;border:2px solid var(--amber-300);border-radius:12px;font-size:24px;font-weight:600;color:var(--amber-300);text-shadow:0 0 10px rgba(255,215,0,.5);box-shadow:0 0 30px #ffd7004d,0 4px 20px #00000080;animation:saved-toast-flash .6s ease-out forwards;pointer-events:none}@keyframes saved-toast-flash{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}25%{opacity:1;transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}.whats-new-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10002;backdrop-filter:blur(10px);opacity:1;transition:backdrop-filter .12s ease-out,opacity .12s ease-out}.whats-new-backdrop.closing{backdrop-filter:blur(0px);opacity:0}.whats-new-backdrop .welcome-overlay{transition:opacity .12s ease-out,transform .12s ease-out}.whats-new-backdrop.closing .welcome-overlay{opacity:0;transform:scale(.96)}.changelog-dialog{width:680px;height:600px;max-height:85vh;padding:0;text-align:left;display:flex;flex-direction:column;overflow:hidden}.changelog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.changelog-header-left{display:flex;align-items:center;gap:12px}.changelog-title{margin:0;font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px}.changelog-version{font-size:22px;font-weight:600;color:#ffffff80;background:transparent;margin-left:12px}.changelog-close{width:32px;height:32px;border:none;background:#ffffff0d;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.changelog-close:hover{background:#ffffff1a;color:var(--text-primary)}.changelog-tabs{display:flex;gap:6px;padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.06)}.changelog-tab{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:#ffffff0a;border-radius:8px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.changelog-tab:hover{background:#ffffff14;color:var(--text-primary)}.changelog-tab.active{background:#ffffff1f;color:var(--text-primary)}.changelog-tab-new.active{background:#51cf6626;color:var(--green-300)}.changelog-tab-fix.active{background:#4dabf726;color:var(--blue-300)}.changelog-tab-improve.active{background:#ffaa0026;color:var(--warning)}.changelog-tab-refactor.active{background:#a855f726;color:var(--purple-light)}.changelog-tab-count{font-size:10px;font-weight:600;opacity:.6}.changelog-content{flex:1;min-height:0;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:24px}.changelog-notice{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;margin-bottom:8px}.changelog-notice-info{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:var(--blue-200)}.changelog-notice-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:var(--amber-300)}.changelog-notice-icon{flex-shrink:0;margin-top:2px}.changelog-notice-content{display:flex;flex-direction:column;gap:2px}.changelog-notice-title{font-size:13px;font-weight:600}.changelog-notice-message{font-size:12px;opacity:.8}.changelog-group{display:flex;flex-direction:column;gap:10px}.changelog-group-header{display:flex;align-items:center;gap:10px}.changelog-group-label{font-size:13px;font-weight:600;color:var(--text-primary)}.changelog-group-date{font-size:11px;color:var(--text-secondary);opacity:.7}.changelog-group-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.1) 0%,transparent 100%)}.changelog-group-items{display:flex;gap:12px}.changelog-column{flex:1;display:flex;flex-direction:column;gap:4px}.changelog-section-divider{display:flex;align-items:center;gap:10px;margin:8px 0 4px;padding-top:8px}.changelog-section-label{font-size:12px;font-weight:500;color:var(--amber-600);white-space:nowrap}.changelog-section-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(245,159,0,.3) 0%,transparent 100%)}.changelog-item{display:flex;flex-direction:column;padding:8px 12px;border-radius:8px;background:#ffffff05;transition:background .15s}.changelog-item.has-description{cursor:pointer}.changelog-item.has-description:hover{background:#ffffff0d}.changelog-item-header{display:flex;align-items:center;gap:10px}.changelog-icon{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.changelog-icon-new{background:#51cf6626;color:var(--green-300)}.changelog-icon-fix{background:#4dabf726;color:var(--blue-300)}.changelog-icon-improve{background:#ffaa0026;color:var(--warning)}.changelog-icon-refactor{background:#a855f726;color:var(--purple-light)}.changelog-item .changelog-title{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.3}.changelog-expand{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);opacity:.5}.changelog-description-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease-out}.changelog-item.expanded .changelog-description-wrapper{grid-template-rows:1fr}.changelog-description{overflow:hidden;margin-left:32px;font-size:12px;color:var(--text-secondary);line-height:1.4;display:flex;flex-direction:column;gap:6px}.changelog-item.expanded .changelog-description{padding-top:6px}.changelog-commit-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-tertiary);font-size:11px;font-family:monospace;text-decoration:none;opacity:.7;transition:opacity .15s,color .15s;width:fit-content}.changelog-commit-link:hover{opacity:1;color:var(--accent)}.changelog-commit-link svg{flex-shrink:0}.changelog-commits{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:4px}.changelog-commit-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ffffff0f;color:var(--text-tertiary);font-size:10px;font-weight:500;flex-shrink:0;margin-left:auto}.changelog-issues{margin:0 24px 16px;padding:12px 14px;background:#ff44440d;border:1px solid rgba(255,68,68,.12);border-radius:10px}.changelog-issues-header{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--danger-light);margin-bottom:8px}.changelog-issues-list{display:flex;flex-direction:column;gap:4px}.changelog-issue-item{font-size:12px;color:var(--text-secondary);line-height:1.4;padding-left:22px;position:relative}.changelog-issue-item:before{content:"•";position:absolute;left:8px;color:var(--danger-light);opacity:.5}.changelog-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.06)}.changelog-footer .welcome-enter{width:100%}.whats-new-dialog:not(.changelog-dialog){width:420px;max-height:80vh;padding:28px 32px 24px;text-align:left;overflow-y:auto}.indexeddb-error-dialog{width:480px;max-width:90vw;padding:32px;text-align:center}.indexeddb-error-icon{margin-bottom:16px}.indexeddb-error-title{font-size:20px;font-weight:600;color:var(--gray-0);margin:0 0 20px}.indexeddb-error-content{text-align:left}.indexeddb-error-description{color:#ffffffb3;font-size:14px;line-height:1.5;margin:0 0 16px}.indexeddb-error-note{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;padding:12px 14px;font-size:13px;color:#ffffffd9;margin-bottom:20px}.indexeddb-error-note strong{color:var(--success)}.indexeddb-error-steps{background:#ffffff08;border-radius:8px;padding:16px;margin-bottom:16px}.indexeddb-error-steps h3{font-size:13px;font-weight:600;color:#ffffffe6;margin:0 0 12px}.indexeddb-error-steps ol{margin:0;padding-left:20px;color:#ffffffb3;font-size:13px;line-height:1.8}.indexeddb-error-steps li{margin-bottom:4px}.indexeddb-error-steps kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:2px 6px;font-family:inherit;font-size:12px}.indexeddb-error-steps strong{color:#ffffffe6}.indexeddb-error-alternative{font-size:12px;color:#ffffff80;line-height:1.6;margin:0}.indexeddb-error-alternative code{display:block;margin:8px 0;padding:8px 10px;background:#0000004d;border-radius:4px;font-size:11px;color:#ffffffb3;word-break:break-all}.indexeddb-error-buttons{display:flex;gap:12px;margin-top:24px;justify-content:center}.indexeddb-error-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.indexeddb-error-btn.secondary{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffb3}.indexeddb-error-btn.secondary:hover{background:#ffffff1f;color:#ffffffe6}.indexeddb-error-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:var(--text-on-accent)}.indexeddb-error-btn.primary:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.linux-vulkan-warning{background:linear-gradient(135deg,#7c2d12,#9a3412);border-bottom:1px solid #ea580c;padding:8px 16px;flex-shrink:0}.linux-vulkan-warning-content{display:flex;align-items:center;gap:12px;max-width:1200px;margin:0 auto}.linux-vulkan-warning-icon{font-size:16px;flex-shrink:0}.linux-vulkan-warning-text{flex:1;font-size:13px;color:var(--gray-0);line-height:1.4}.linux-vulkan-warning-text code{background:#0000004d;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:12px;color:var(--warning-light);user-select:text;-webkit-user-select:text}.linux-vulkan-warning-dismiss{background:#0003;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--gray-0);width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;flex-shrink:0;transition:all .15s ease}.linux-vulkan-warning-dismiss:hover{background:#0006;border-color:#fff6}.tutorial-backdrop{position:fixed;inset:0;z-index:10001;cursor:pointer;animation:tutorial-fade-in .3s ease forwards}.tutorial-backdrop.closing .tutorial-overlay-svg,.tutorial-backdrop.closing .tutorial-tooltip,.tutorial-backdrop.closing .tutorial-highlight-ring{animation:tutorial-fade-out .4s ease forwards}.tutorial-clippy-wrapper{position:fixed;width:340px;pointer-events:none;z-index:10003;transition:left .4s ease,top .4s ease,width .4s ease}.tutorial-clippy-wrapper--welcome{width:480px}@keyframes tutorial-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tutorial-fade-out{0%{opacity:1}to{opacity:0}}.tutorial-overlay-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.tutorial-tooltip{position:fixed;width:340px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:20px;z-index:10002;pointer-events:none;box-shadow:0 8px 32px #0009;animation:tutorial-tooltip-in .3s ease forwards;overflow:visible;transition:left .4s ease,top .4s ease,width .4s ease}.tutorial-tooltip-content{display:flex;gap:14px;align-items:flex-start}.tutorial-tooltip-text{flex:1;min-width:0}.tutorial-clippy{position:absolute;width:120px;height:auto;top:-55px;right:-35px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));z-index:1}@keyframes tutorial-tooltip-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tutorial-tooltip-arrow{position:absolute;width:12px;height:12px;background:var(--bg-secondary);border:1px solid var(--border-color);transform:rotate(45deg)}.tutorial-tooltip-arrow--top{bottom:-7px;left:50%;margin-left:-6px;border-top:none;border-left:none}.tutorial-tooltip-arrow--bottom{top:-7px;left:50%;margin-left:-6px;border-bottom:none;border-right:none}.tutorial-tooltip-arrow--left{right:-7px;top:50%;margin-top:-6px;border-bottom:none;border-left:none}.tutorial-tooltip-arrow--right{left:-7px;top:50%;margin-top:-6px;border-top:none;border-right:none}.tutorial-tooltip-step{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:600}.tutorial-tooltip-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.tutorial-tooltip-desc{font-size:13px;line-height:1.5;color:var(--text-secondary);margin-bottom:16px}.tutorial-dots{display:flex;gap:6px;justify-content:center;margin-bottom:10px}.tutorial-dot{width:8px;height:8px;border-radius:50%;background:#ffffff26;transition:background .3s ease}.tutorial-dot.active{background:var(--accent)}.tutorial-dot.completed{background:#2d8ceb66}.tutorial-tooltip-hint{text-align:center;font-size:11px;color:var(--text-secondary);opacity:.7}.tutorial-skip-btn{display:block;margin:10px auto 0;padding:4px 16px;background:transparent;border:1px solid var(--text-secondary);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;pointer-events:auto;opacity:.7;transition:opacity .15s,color .15s,border-color .15s}.tutorial-skip-btn:hover{opacity:1;color:var(--text-primary);border-color:var(--text-primary)}.tutorial-highlight-ring{position:fixed;border:2px solid var(--amber-300);border-radius:8px;z-index:10002;pointer-events:none;box-shadow:0 0 12px #ffd70066,inset 0 0 12px #ffd7001a;animation:tutorial-ring-pulse 1.5s ease-in-out infinite;transition:left .4s ease,top .4s ease,width .4s ease,height .4s ease}@keyframes tutorial-ring-pulse{0%,to{box-shadow:0 0 12px #ffd70066,inset 0 0 12px #ffd7001a}50%{box-shadow:0 0 20px #ffd700b3,inset 0 0 20px #ffd70033}}.tutorial-tooltip--welcome{width:480px;pointer-events:auto;cursor:default}.tutorial-welcome-title{font-size:17px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.tutorial-welcome-subtitle{font-size:12px;color:var(--text-secondary);margin-bottom:16px}.tutorial-welcome-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.tutorial-welcome-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;transition:all .15s ease}.tutorial-welcome-btn:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-1px)}.tutorial-welcome-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.tutorial-welcome-icon img{width:100%;height:100%;object-fit:contain}.tutorial-welcome-icon--beginner{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--green-500) 0%,#1A8A4A 100%);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--text-on-accent)}.tutorial-welcome-label{font-size:11px;font-weight:500;color:var(--text-primary);text-align:center;white-space:nowrap}.tutorial-campaign-backdrop{position:fixed;inset:0;background:#0009;z-index:10000;display:flex;align-items:center;justify-content:center;animation:tutorial-fade-in .2s ease forwards}.tutorial-campaign-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:640px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0009;animation:tutorial-tooltip-in .2s ease forwards}.tutorial-campaign-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.tutorial-campaign-header-text{display:flex;align-items:baseline;gap:12px}.tutorial-campaign-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.tutorial-campaign-progress{font-size:12px;color:var(--text-secondary)}.tutorial-campaign-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.tutorial-campaign-close:hover{color:var(--text-primary)}.tutorial-campaign-body{overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:20px}.tutorial-campaign-category-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 8px}.tutorial-campaign-grid{display:flex;flex-direction:column;gap:6px}.tutorial-campaign-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;text-align:left;transition:all .15s ease;width:100%}.tutorial-campaign-card:hover{border-color:var(--accent);background:var(--bg-hover)}.tutorial-campaign-card.completed{opacity:.7}.tutorial-campaign-card.completed:hover{opacity:1}.tutorial-campaign-card-icon{font-size:22px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tutorial-campaign-card-info{flex:1;min-width:0}.tutorial-campaign-card-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.tutorial-campaign-card-desc{font-size:11px;color:var(--text-secondary);line-height:1.4}.tutorial-campaign-card-meta{font-size:10px;color:var(--text-secondary);margin-top:4px;display:flex;align-items:center;gap:8px}.tutorial-campaign-card-check{color:var(--green-500);font-weight:700;font-size:12px}.slot-grid-container{position:absolute;inset:0;z-index:50;overflow:auto;padding:8px;background:var(--gray-850);pointer-events:auto}.slot-grid-resolume{display:inline-grid;gap:6px}.slot-grid-col-header{display:flex;align-items:center;justify-content:center;height:24px;font-size:11px;font-weight:600;color:var(--gray-200);background:var(--bg-input);border-radius:3px}.slot-grid-col-header-clickable{cursor:pointer;transition:background .15s,color .15s}.slot-grid-col-header-clickable:hover{background:var(--bg-active);color:var(--gray-75)}.slot-grid-row-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:40px;font-size:11px;font-weight:600;color:var(--gray-200);background:var(--bg-input);border-radius:3px}.slot-grid-row-letter{line-height:1}.slot-grid-opacity-slider{-webkit-appearance:none;appearance:none;writing-mode:vertical-lr;direction:rtl;width:14px;height:60px;background:transparent;cursor:pointer;margin:0;padding:0}.slot-grid-opacity-slider::-webkit-slider-runnable-track{width:4px;height:100%;background:var(--gray-500);border-radius:2px}.slot-grid-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--gray-100);margin-left:-3px;cursor:pointer}.slot-grid-opacity-slider::-webkit-slider-thumb:hover{background:var(--gray-0)}.slot-grid-opacity-slider::-moz-range-track{width:4px;height:100%;background:var(--gray-500);border-radius:2px}.slot-grid-opacity-slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--gray-100);border:none;cursor:pointer}.slot-grid-opacity-slider::-moz-range-thumb:hover{background:var(--gray-0)}.slot-grid-item{position:relative;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;background:var(--bg-input);transition:border-color .15s,box-shadow .15s}.slot-grid-item:hover{border-color:#ffffff4d;box-shadow:0 0 8px #ffffff1a}.slot-grid-item.active{border-color:#4a9eff;box-shadow:0 0 12px #4a9eff4d}.slot-grid-item.layer-active{border-color:#4aff6e;box-shadow:0 0 12px #4aff6e4d}.slot-grid-item.drag-over{border-color:#ff9800;box-shadow:0 0 12px #ff980066}.slot-grid-item.empty{background:var(--gray-850);border:1px dashed rgba(255,255,255,.06);cursor:pointer}.slot-grid-item.empty:hover{border-color:#fff3;background:var(--bg-input);box-shadow:0 0 6px #ffffff0d}.slot-grid-item.empty.drag-over{border:2px solid #ff9800;box-shadow:0 0 12px #ff980066}.slot-grid-name{position:absolute;top:3px;left:4px;right:4px;font-size:10px;color:var(--gray-25);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.7)}.slot-grid-time{position:absolute;bottom:2px;left:4px;text-align:left;font-size:10px;white-space:nowrap;font-family:SF Mono,Cascadia Code,Consolas,monospace;color:#ffffffd9;pointer-events:none;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.7)}.slot-grid-playhead{position:absolute;top:18px;bottom:18px;width:1.5px;background:#ff3b3b;pointer-events:none;z-index:1}.slot-grid-context-menu{position:fixed;z-index:9999;background:var(--bg-active);border:1px solid var(--gray-400);border-radius:4px;padding:2px 0;min-width:140px;box-shadow:0 4px 12px #00000080}.slot-grid-context-menu button{display:block;width:100%;padding:6px 12px;background:none;border:none;color:var(--gray-75);font-size:12px;text-align:left;cursor:pointer}.slot-grid-context-menu button:hover{background:var(--gray-450);color:var(--gray-0)}
