.timeline-editor{background:var(--bg-app);width:100%;height:100%;min-height:280px;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);outline:none;display:flex;position:relative;overflow:hidden}.timeline-editor:focus-visible{box-shadow:inset 0 0 0 1px var(--border-focus)}.timeline-editor *{box-sizing:border-box}.timeline-editor button{color:inherit}.timeline-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.timeline-media-browser{border-right:1px solid var(--border-default);background:var(--bg-app);flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow:hidden}.timeline-preview-area{background:var(--bg-panel);flex-direction:column;flex:1;min-width:0;display:flex}.timeline-area{border-top:1px solid var(--border-default);background:var(--bg-app);overscroll-behavior:none;flex-direction:column;flex-shrink:0;height:320px;display:flex;position:relative}.timeline-resize-handle{cursor:row-resize;z-index:30;height:6px;transition:background var(--duration-fast) var(--ease-out);position:absolute;top:-3px;left:0;right:0}.timeline-resize-handle:hover,.timeline-resize-handle:active{background:var(--accent)}.tl-toolbar{align-items:center;gap:var(--space-2);height:var(--toolbar-height);padding:0 var(--space-3);background:var(--bg-panel);border-bottom:1px solid var(--border-faint);flex-shrink:0;display:flex}.tl-tool-group{background:var(--bg-subtle);border-radius:var(--radius-xs);align-items:center;gap:2px;padding:3px;display:inline-flex}.tl-sep{background:var(--border-subtle);flex-shrink:0;width:1px;height:20px}.tl-spacer{flex:1}.tool-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.tool-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.tool-btn:active:not(:disabled){transform:scale(var(--scale-press));background:var(--bg-active)}.tool-btn.active{color:var(--accent);background:var(--accent-subtle)}.tool-btn:disabled{color:var(--text-disabled);cursor:not-allowed;opacity:.4}.toolbar-position{height:28px;padding:0 var(--space-3);color:var(--text-secondary);background:var(--bg-subtle);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;letter-spacing:-.01em;align-items:center;min-width:200px;display:inline-flex}.zoom-controls{align-items:center;gap:var(--space-2);height:30px;display:inline-flex}.zoom-slider{appearance:none;background:var(--bg-subtle);border-radius:var(--radius-full);cursor:pointer;outline:none;width:80px;height:6px;position:relative}.zoom-slider::-webkit-slider-runnable-track{border-radius:var(--radius-full);background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--zoom-fill,50%), var(--bg-subtle) var(--zoom-fill,50%), var(--bg-subtle) 100%);height:6px}.zoom-slider::-webkit-slider-thumb{appearance:none;background:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;width:14px;height:14px;box-shadow:0 0 0 2px var(--bg-canvas), var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border:none;margin-top:-4px}.zoom-slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 2px var(--bg-canvas), 0 0 0 4px var(--accent-subtle);transform:scale(1.2)}.zoom-slider::-moz-range-track{border-radius:var(--radius-full);background:var(--bg-subtle);height:6px}.zoom-slider::-moz-range-progress{border-radius:var(--radius-full);background:var(--accent);height:6px}.zoom-slider::-moz-range-thumb{background:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;width:14px;height:14px;box-shadow:0 0 0 2px var(--bg-canvas), var(--shadow-xs);border:none}.zoom-level{min-width:28px;height:20px;padding:0 var(--space-1);background:var(--bg-subtle);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.timeline-workspace-split{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.timeline-label-column{width:var(--track-header-width);overscroll-behavior:none;background:var(--bg-panel);border-right:1px solid var(--border-faint);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.timeline-label-header{height:var(--ruler-height);padding:0 var(--space-3);background:var(--bg-panel);border-bottom:1px solid var(--border-faint);flex-shrink:0;align-items:center;display:flex}.timeline-scroll-area{background:var(--bg-canvas);overscroll-behavior:none;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:clip}.timeline-track-scroll{overscroll-behavior:none;flex:1;min-height:0;overflow:auto}.timeline-ruler{z-index:25;height:var(--ruler-height);background:var(--bg-panel);border-bottom:1px solid var(--border-faint);-webkit-user-select:none;user-select:none;flex-shrink:0;position:sticky;top:0}.timeline-track-canvas{min-width:100%;position:relative}.tl-track{border-bottom:1px solid var(--border-faint);flex-shrink:0;display:flex;position:relative}.tl-track-header{align-items:center;gap:var(--space-2);width:var(--track-header-width);height:100%;padding:0 var(--space-2) 0 var(--space-3);background:var(--bg-panel);border-bottom:1px solid var(--border-faint);flex-shrink:0;display:flex;position:relative}.tl-track-header:before{content:"";border-radius:0 var(--radius-full) var(--radius-full) 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.tl-track--video .tl-track-header:before{background:var(--track-video)}.tl-track--audio .tl-track-header:before{background:var(--track-audio)}.tl-track--subtitle .tl-track-header:before{background:var(--track-subtitle)}.tl-track--image .tl-track-header:before{background:var(--track-image)}.tl-track--effect .tl-track-header:before{background:var(--track-effect)}.tl-track--music .tl-track-header:before{background:var(--track-music)}.tl-track-dot{border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px}.tl-track--video .tl-track-dot{background:var(--track-video)}.tl-track--audio .tl-track-dot{background:var(--track-audio)}.tl-track--subtitle .tl-track-dot{background:var(--track-subtitle)}.tl-track--image .tl-track-dot{background:var(--track-image)}.tl-track--effect .tl-track-dot{background:var(--track-effect)}.tl-track--music .tl-track-dot{background:var(--track-music)}.tl-track-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.tl-track--video .tl-track-icon{color:var(--track-video)}.tl-track--audio .tl-track-icon{color:var(--track-audio)}.tl-track--subtitle .tl-track-icon{color:var(--track-subtitle)}.tl-track--effect .tl-track-icon{color:var(--track-effect)}.tl-track--music .tl-track-icon{color:var(--track-music)}.tl-track-label{min-width:0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tl-track-controls{opacity:0;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);align-items:center;gap:2px;display:flex;transform:translate(2px)}.tl-track-header:hover .tl-track-controls,.tl-track-header:focus-within .tl-track-controls{opacity:1;transform:translate(0)}.tl-ctrl-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tl-ctrl-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.tl-ctrl-btn:active{transform:scale(var(--scale-press))}.tl-ctrl-btn.muted{color:var(--color-warning);background:var(--color-warning-subtle)}.tl-ctrl-btn.locked{color:var(--accent);background:var(--accent-subtle)}.tl-track-body{background:var(--bg-surface);flex:1;min-width:0;height:100%;position:relative;overflow:hidden}.tl-track:nth-child(2n) .tl-track-body{background:var(--bg-surface-soft,var(--bg-surface))}.timeline-track-separator{background:var(--border-subtle);flex-shrink:0;height:1px;margin:2px 0}@keyframes tl-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes tl-scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes tl-slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tl-clip-wrap{cursor:grab;-webkit-user-select:none;user-select:none;contain:layout size;flex-direction:column;flex-shrink:0;display:flex;position:absolute}.tl-clip-wrap:active{cursor:grabbing}.tl-clip-wrap.selected{z-index:10}.tl-clip-wrap.selected .tl-clip{box-shadow:0 0 0 1px var(--selection-ring), 0 0 12px var(--selection-glow), var(--shadow-sm);border-color:var(--selection)!important;border-width:2px!important}.tl-clip{min-width:16px;padding:0 var(--space-2);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:box-shadow var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);flex-shrink:0;align-items:center;gap:6px;display:flex;position:relative;overflow:hidden}.tl-clip--video{background:var(--track-video-bg);border:1px solid var(--track-video-border);border-left:3px solid var(--track-video)}.tl-clip--audio{background:var(--track-audio-solid);border:1px solid var(--track-audio-border-solid);border-left:3px solid var(--track-audio)}.tl-clip--subtitle{background:var(--track-subtitle-solid);border:1px solid var(--track-subtitle-border-solid);border-left:3px solid var(--track-subtitle)}.tl-clip--image{background:var(--track-image-solid);border:1px solid var(--track-image-border-solid);border-left:3px solid var(--track-image)}.tl-clip--effect{background:var(--track-effect-solid);border:1px solid var(--track-effect-border-solid);border-left:3px solid var(--track-effect)}.tl-clip--music{background:var(--track-music-solid);border:1px solid var(--track-music-border-solid);border-left:3px solid var(--track-music)}.clip-type-icon,.clip-info,.clip-handle{z-index:1;position:relative}.tl-clip:hover{box-shadow:var(--shadow-sm)}.clip-thumbnails{pointer-events:none;z-index:0;display:flex;position:absolute;inset:0}.clip-thumb-frame{background:linear-gradient(135deg,#ffffff08 0%,#ffffff03 40%,#0000000d 60%,#ffffff05 100%),repeating-linear-gradient(90deg,#0000 0 8px,#ffffff05 8px 9px);border-right:1px solid #ffffff0f;flex:1;min-width:0}.clip-thumb-frame:last-child{border-right:none}.clip-waveform{pointer-events:none;z-index:0;background-image:repeating-linear-gradient(90deg,#0000 0 2px,#3b82f640 2px 3px,#0000 3px 5px,#3b82f673 5px 6px,#0000 6px 9px,#3b82f640 9px 10px,#0000 10px 13px,#3b82f673 13px 14px,#0000 14px 16px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 16%,#00000080 30% 70%,#0000 84%);mask-image:linear-gradient(#0000 16%,#00000080 30% 70%,#0000 84%)}.clip-effect-row{border-radius:0 0 var(--radius-xs) var(--radius-xs);width:100%;transition:opacity var(--duration-fast) var(--ease-out)}.clip-effect-row.disabled{opacity:.25}.clip-thumb-frame--real{background-position:50%;background-repeat:no-repeat;background-size:cover}.media-preview{z-index:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-preview-video{object-fit:contain;border-radius:var(--radius-md);width:100%;height:100%}.media-preview-canvas{border-radius:var(--radius-md);max-width:100%;max-height:100%;display:block}.bin-drop-active{outline:2px dashed var(--accent);outline-offset:-2px}.bin-drop-active:after{content:"Drop media files here";background:var(--accent-glow);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--accent);pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.asset-bin{position:relative}.bin-errors{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-faint);flex-direction:column;display:flex}.bin-error-msg{font-size:var(--text-2xs);color:var(--color-danger);background:var(--color-danger-subtle);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bin-thumb-img{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:100%;position:absolute;inset:0}.tl-clip.provisional{opacity:.6;animation:tl-fadeIn var(--duration-base) var(--ease-out);border-style:dashed}.clip-type-icon{color:var(--text-tertiary);opacity:.7;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.clip-info{flex-direction:column;gap:1px;min-width:0;display:flex;overflow:hidden}.clip-name{color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clip-timecode{color:var(--text-tertiary);font-family:var(--font-display);font-size:var(--text-2xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;line-height:1;overflow:hidden}.clip-handle{background:var(--border-default);border-radius:var(--radius-xs);cursor:col-resize;opacity:0;width:10px;transition:opacity var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0}.clip-handle--left{left:-1px}.clip-handle--right{right:-1px}.clip-handle-icon{width:8px;height:8px;color:var(--selection-on-fill);opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.tl-clip-wrap:hover .clip-handle,.tl-clip-wrap.selected .clip-handle{opacity:1}.tl-clip-wrap.selected .clip-handle{background:var(--selection-handle)}.tl-clip-wrap.selected .clip-handle-icon{opacity:1;width:8px;height:8px;color:var(--selection-on-fill)}.tl-playhead{background:var(--playhead-color);pointer-events:none;z-index:20;will-change:transform;width:2px;position:absolute;top:0;bottom:0}.tl-playhead-handle{background:var(--playhead-color);border-radius:var(--radius-full);width:14px;height:14px;box-shadow:var(--shadow-xs);justify-content:center;align-items:center;display:flex;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.tl-playhead-handle-dot{border-radius:var(--radius-full);background:#0006;width:6px;height:6px}.tl-snap-indicator,.snap-indicator{pointer-events:none;z-index:18;background:var(--tl-snap-color,var(--accent));border-radius:var(--radius-full);width:1px;height:100%;box-shadow:0 0 0 1px #0000008c, 0 0 18px var(--tl-snap-glow,#e5a8204d);position:absolute;top:0;left:0}.drop-zone{pointer-events:none;z-index:30;background:var(--tl-snap-color,var(--accent));width:2px;height:100%;box-shadow:0 0 0 1px #0000008c, 0 0 18px var(--tl-snap-glow,#e5a82059);position:absolute;top:0;left:0}.drop-zone-label{top:var(--space-1);left:var(--space-2);padding:2px var(--space-1);border-radius:var(--radius-xs);background:var(--tl-snap-color,var(--accent));color:var(--text-inverse);font-family:var(--font-mono);font-size:9px;font-weight:var(--weight-semibold);line-height:var(--leading-tight);white-space:nowrap;position:absolute}.toolbar-sep-char{opacity:.3;margin:0 var(--space-2);color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.markers-panel,.captions-panel,.transitions-panel,.keyframes-panel,.inspector-panel,.asset-bin{background:var(--bg-panel);border-radius:var(--radius-md);height:100%;box-shadow:var(--shadow-xs);flex-direction:column;display:flex;overflow:hidden}.panel-header{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--border-faint);background:0 0;justify-content:space-between;align-items:center;display:flex}.panel-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.panel-action-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.panel-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-content{padding:var(--space-2);flex:1;overflow-y:auto}.panel-tabs{border-bottom:1px solid var(--border-faint);display:flex}.panel-tab{padding:var(--space-2) var(--space-3);color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px}.panel-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.top-nav{height:var(--topbar-height);padding:0 var(--space-6);border-bottom:1px solid var(--border-default);background:var(--bg-panel);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.top-nav-left,.top-nav-center,.top-nav-right{align-items:center;gap:var(--space-2);display:flex}.top-nav-left{color:var(--text-secondary)}.top-nav-center{color:var(--text-primary);font-weight:var(--weight-medium)}.top-nav-right{color:var(--text-secondary)}.top-nav-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:inherit;cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.top-nav-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.top-nav-export-btn{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);display:inline-flex}.top-nav-export-btn:hover{background:var(--bg-hover)}.transport-controls{height:56px;padding:0 var(--space-6);border-top:1px solid var(--border-default);background:var(--bg-app);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.transport-position{align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;display:flex}.transport-position-current{color:var(--text-primary)}.transport-buttons{align-items:center;gap:var(--space-6);color:var(--text-primary);display:flex}.transport-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:inherit;cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.transport-btn:hover{color:var(--accent)}.transport-btn--play{width:32px;height:32px;color:var(--text-primary)}.transport-btn--play:hover{color:var(--accent)}.transport-right{align-items:center;gap:var(--space-3);color:var(--text-secondary);display:flex}.transport-btn-sm{border-radius:var(--radius-sm);width:24px;height:24px;color:inherit;cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.transport-btn-sm:hover{color:var(--text-primary)}.left-sidebar,.sidebar{width:var(--sidebar-width);padding:var(--space-2) 0;align-items:center;gap:var(--space-1);background:var(--bg-panel);border-right:1px solid var(--border-default);scrollbar-width:none;flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.left-sidebar::-webkit-scrollbar{display:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-btn{border-radius:var(--radius-lg);width:64px;height:64px;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.sidebar-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.sidebar-btn.active{background:var(--bg-surface);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.sidebar-btn-icon{width:20px;height:20px}.sidebar-btn-label{font-size:10px;font-weight:var(--weight-medium)}.sidebar-spacer{flex:1}.preview-panel{background:var(--bg-panel);border-bottom:1px solid var(--border-faint);padding:var(--space-6);flex:1 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.preview-frame{border-radius:var(--radius-md);background:linear-gradient(#0a1628 0%,#162544 50%,#1a3a5c 100%),radial-gradient(circle at 20% 60%,#ffc86426 0%,#0000 40%),radial-gradient(circle at 70% 40%,#64b4ff1a 0%,#0000 40%),radial-gradient(circle at 40% 80%,#ff96321a 0%,#0000 30%);border:1px solid #ffffff1a;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #00000080}.preview-label{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:1px}.preview-timecode{font-size:11px;font-family:var(--font-mono);font-weight:var(--weight-medium);color:#fffc;text-shadow:0 1px 3px #000000e6;position:absolute;bottom:8px;left:10px}.preview-safe-area{pointer-events:none;border:1px dashed #ffffff1f;border-radius:2px;position:absolute;inset:12px}.preview-overlay{pointer-events:none;z-index:10;position:absolute;inset:0}.preview-overlay .selection-box{pointer-events:auto;border:1px solid var(--selection);box-shadow:0 0 0 1px var(--selection-ring), 0 0 12px var(--selection-glow);cursor:grab}.preview-overlay .selection-box.is-dragging{cursor:grabbing}.selection-handle{pointer-events:auto;background:var(--selection);border:1px solid var(--selection-on-fill);cursor:nwse-resize;z-index:1;border-radius:1px}.selection-handle[data-handle=n],.selection-handle[data-handle=s]{cursor:ns-resize}.selection-handle[data-handle=e],.selection-handle[data-handle=w]{cursor:ew-resize}.selection-handle[data-handle=ne],.selection-handle[data-handle=sw]{cursor:nesw-resize}.selection-handle[data-handle=nw],.selection-handle[data-handle=se]{cursor:nwse-resize}.rotation-handle{pointer-events:auto;cursor:crosshair;z-index:2;flex-direction:column;align-items:center;display:flex}.rotation-handle-stem{background:var(--selection);width:1px;height:12px}.rotation-handle-knob{background:var(--selection);border:1px solid var(--selection-on-fill);border-radius:50%;width:10px;height:10px}.snap-line{pointer-events:none;z-index:11;position:absolute}.snap-line--horizontal{border-top:1px dashed var(--selection);width:100%;height:0;left:0}.snap-line--vertical{border-left:1px dashed var(--selection);width:0;height:100%;top:0}.preview-volume-bar{left:var(--space-3);align-items:center;gap:var(--space-2);padding:var(--space-2);background:rgba(var(--bg-surface-rgb,35,38,47), .5);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;border:1px solid #ffffff1a;flex-direction:column;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.preview-volume-dot{border-radius:var(--radius-full);background:var(--text-primary);width:6px;height:6px}.preview-volume-track{border-radius:var(--radius-full);background:var(--text-tertiary);width:6px;height:128px;position:relative}.preview-volume-fill{border-radius:var(--radius-full);background:#a3e635;width:100%;position:absolute;top:0;left:0}.preview-volume-icon{color:var(--text-primary)}.asset-bin{background:var(--bg-app);flex-direction:column;height:100%;display:flex;overflow:hidden}.bin-header{align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-bottom:1px solid var(--border-faint);flex-shrink:0;display:flex}.bin-header-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.bin-search{width:auto;padding:var(--space-1) var(--space-2);margin:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-xs);font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out);align-self:stretch}.bin-search::placeholder{color:var(--text-tertiary)}.bin-search:focus{border-color:var(--accent);box-shadow:var(--ring-focus);outline:none}.bin-toolbar{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--border-faint);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.bin-upload-btn{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);display:flex}.bin-upload-btn:hover{background:var(--bg-hover);border-color:var(--border-default)}.bin-controls{align-items:center;gap:var(--space-1);display:flex}.bin-control-btn{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);display:inline-flex}.bin-control-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.bin-grid{gap:var(--space-2);padding:var(--space-3);flex:1;grid-template-columns:1fr 1fr;align-content:start;display:grid;overflow-y:auto}.bin-card{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.bin-card:hover{border-color:var(--border-default)}.bin-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-subtle)}.bin-thumb{aspect-ratio:16/9;border-radius:var(--radius-sm);justify-content:center;align-items:center;width:100%;font-size:20px;display:flex;position:relative;overflow:hidden}.bin-thumb-overlay{border-radius:var(--radius-xs);font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--text-inverse);background:#0009;padding:2px 6px;position:absolute;bottom:4px;right:4px}.bin-card-info{padding:0 var(--space-1)}.bin-card-name{font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;text-align:center;overflow:hidden}.bin-card-meta{font-size:var(--text-2xs);color:var(--text-tertiary);font-family:var(--font-mono)}.bin-thumb--interview{background:linear-gradient(135deg,#2d1b4e 0%,#1a1033 40%,#3d2066 70%,#1a1033 100%),radial-gradient(at 50% 30%,#daa58c4d 0%,#0000 60%)}.bin-thumb--cityscape{background:linear-gradient(#0a1628 0%,#162544 50%,#1a3a5c 100%),radial-gradient(circle at 20% 60%,#ffc86426 0%,#0000 40%),radial-gradient(circle at 70% 40%,#64b4ff1a 0%,#0000 40%),radial-gradient(circle at 40% 80%,#ff96321a 0%,#0000 30%)}.bin-thumb--hands{background:linear-gradient(135deg,#3d2b1f 0%,#2a1d13 40%,#4a3525 70%,#1a1008 100%),radial-gradient(at 40%,#d2a06433 0%,#0000 50%)}.bin-thumb--graphic{filter:saturate(.6)brightness(.5);background:conic-gradient(from 45deg,#1a2a3a,#3b82f6,#a855f7,#ec4899,#f59e0b,#10b981,#60a5fa,#1a2a3a)}.bin-thumb--audio{background:linear-gradient(#0a1a0a 0%,#0f2a0f 50%,#0a1a0a 100%),repeating-linear-gradient(90deg,#0000 0 3px,#22c55e4d 3px 5px,#0000 5px 8px,#22c55e26 8px 9px,#0000 9px 14px)}.bin-thumb--voiceover{background:linear-gradient(#1a1508 0%,#2a1f0d 50%,#1a1508 100%),repeating-linear-gradient(90deg,#0000 0 4px,#eab30840 4px 6px,#0000 6px 10px,#eab3081f 10px 11px,#0000 11px 16px)}.empty-state{padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state p{margin:0 0 var(--space-2);font-size:var(--text-sm)}.empty-state-hint{font-size:var(--text-xs)!important;color:var(--text-tertiary)!important}.field-group{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.field-pair{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.field-pair .field-group{margin-bottom:0}.field-pair .field-label{letter-spacing:.3px;text-transform:uppercase;font-size:10px}.field-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--weight-medium)}.field-input,.field-select,.field-textarea{width:100%;padding:var(--space-2) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-mono);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--accent);box-shadow:var(--ring-focus);outline:none}.field-checkbox{width:14px;height:14px;accent-color:var(--accent)}.number-scrubber{align-items:center;gap:var(--space-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);height:28px;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);display:flex}.number-scrubber:focus-within{border-color:var(--accent);box-shadow:var(--ring-focus)}.number-scrubber.is-disabled{opacity:.4;pointer-events:none}.number-scrubber-label{min-width:28px;height:100%;padding:0 var(--space-1);background:var(--bg-subtle);border-right:1px solid var(--border-faint);border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;cursor:ew-resize;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:flex}.number-scrubber-label:hover{background:var(--bg-hover);color:var(--text-secondary)}.number-scrubber.is-scrubbing .number-scrubber-label{background:var(--accent-subtle);color:var(--accent)}.number-scrubber.is-scrubbing{border-color:var(--accent)}.number-scrubber-input{min-width:0;height:100%;padding:0 var(--space-1);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-mono);-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1}.number-scrubber-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-scrubber-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-scrubber-input::selection{background:var(--accent-subtle);color:var(--text-primary)}.marker-list,.caption-list,.transition-list,.keyframe-list,.asset-list,.effects-list{margin:0;padding:0;list-style:none}.marker-item,.caption-item,.transition-item,.keyframe-item,.asset-item,.effect-item{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);display:flex}.marker-item:hover,.caption-item:hover,.transition-item:hover,.keyframe-item:hover,.asset-item:hover{background:var(--bg-hover)}.marker-item.selected,.caption-item.selected,.transition-item.selected,.asset-item.selected{background:var(--accent-subtle);box-shadow:inset 2px 0 0 var(--accent)}.marker-color{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}.marker-info,.caption-info,.transition-info,.keyframe-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.marker-label,.caption-text,.transition-type,.keyframe-value,.asset-name{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.marker-timecode,.caption-timecode,.transition-duration,.keyframe-frame,.asset-meta{font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono)}.marker-delete-btn,.caption-delete-btn,.transition-delete-btn,.keyframe-delete-btn{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.marker-item:hover .marker-delete-btn,.marker-item:focus-within .marker-delete-btn,.caption-item:hover .caption-delete-btn,.caption-item:focus-within .caption-delete-btn,.transition-item:hover .transition-delete-btn,.transition-item:focus-within .transition-delete-btn,.keyframe-item:hover .keyframe-delete-btn,.keyframe-item:focus-within .keyframe-delete-btn{opacity:1}.marker-delete-btn:hover,.caption-delete-btn:hover,.transition-delete-btn:hover,.keyframe-delete-btn:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.effect-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.effect-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.effect-meta{font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono);text-transform:capitalize}.effect-icon-badge{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-faint);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:inline-flex}.effect-actions{align-items:center;gap:var(--space-1);display:inline-flex}.effect-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-subtle);cursor:pointer;width:32px;height:18px;transition:all var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;padding:0;display:inline-flex}.effect-toggle-track{border-radius:var(--radius-full);background:var(--bg-active);width:26px;height:12px;transition:background var(--duration-fast) var(--ease-out);display:block;position:relative}.effect-toggle-thumb{border-radius:var(--radius-full);background:var(--text-tertiary);width:10px;height:10px;transition:all var(--duration-fast) var(--ease-out);position:absolute;top:1px;left:1px}.effect-toggle-btn.enabled{border-color:var(--color-success);background:var(--color-success-subtle)}.effect-toggle-btn.enabled .effect-toggle-track{background:var(--color-success)}.effect-toggle-btn.enabled .effect-toggle-thumb{background:var(--bg-panel);left:15px}.effect-toggle-btn:hover{border-color:var(--border-strong)}.effect-delete-btn{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:14px;display:inline-flex}.effect-item:hover .effect-delete-btn{opacity:1}.effect-delete-btn:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.effect-add-menu{margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-faint);flex-direction:column;gap:2px;display:flex}.effect-menu-item{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;display:flex}.effect-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.effect-menu-icon{text-align:center;width:20px;font-size:14px}.effect-menu-label{font-weight:var(--weight-medium)}.tl-effect-card{background:var(--bg-surface);border:1px solid var(--border-faint);border-radius:var(--radius-sm);margin-bottom:var(--space-2);transition:border-color var(--duration-fast) var(--ease-out);overflow:hidden}.tl-effect-card:hover{border-color:var(--border-default)}.tl-effect-card-header{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-subtle);border-bottom:1px solid var(--border-faint);display:flex}.tl-effect-drag-handle{color:var(--text-tertiary);cursor:grab;opacity:.5;transition:opacity var(--duration-fast) var(--ease-out);flex-shrink:0}.tl-effect-drag-handle:hover{opacity:.8}.tl-effect-card-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px;flex:1}.tl-effect-toggle{margin:0;padding:0}.tl-effect-toggle .toggle-row-label{display:none}.tl-effect-toggle .toggle-row-checkbox{width:28px;height:14px}.tl-effect-delete-btn{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tl-effect-card:hover .tl-effect-delete-btn{opacity:1}.tl-effect-delete-btn:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.tl-effect-card-body{padding:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex}.tl-effect-param{align-items:center;gap:var(--space-2);display:flex}.tl-effect-param-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;flex:0 0 80px;overflow:hidden}.tl-effect-param-control{flex:1;min-width:0}.tl-effect-param-unit{font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono);flex:0 0 24px}.tl-effect-param-select{width:100%;height:24px;padding:0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-xs);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out)}.tl-effect-param-select:focus{border-color:var(--accent);box-shadow:var(--ring-focus);outline:none}.tl-effect-param-input{width:100%;height:24px;padding:0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-xs);font-family:var(--font-mono);transition:border-color var(--duration-fast) var(--ease-out)}.tl-effect-param-input:focus{border-color:var(--accent);box-shadow:var(--ring-focus);outline:none}.tl-keyframe-track-container{margin-bottom:var(--space-2);position:relative}.tl-keyframe-track-header{padding:var(--space-1) var(--space-2);background:var(--bg-subtle);border:1px solid var(--border-faint);border-radius:var(--radius-sm) var(--radius-sm) 0 0;justify-content:space-between;align-items:center;display:flex}.tl-keyframe-track-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary)}.tl-keyframe-track-count{color:var(--text-tertiary);font-size:10px;font-family:var(--font-mono)}.tl-keyframe-track{background:var(--bg-canvas);border:1px solid var(--border-faint);border-radius:0 0 var(--radius-sm) var(--radius-sm);cursor:crosshair;border-top:none;height:60px;position:relative;overflow:hidden}.tl-keyframe-track-grid{pointer-events:none;position:absolute;inset:0}.tl-keyframe-track-gridline{background:var(--border-faint);opacity:.5;width:1px;position:absolute;top:0;bottom:0}.tl-keyframe{cursor:grab;z-index:2;width:12px;height:12px;transition:transform 40ms;position:absolute;transform:translate(-50%,-50%)}.tl-keyframe:hover{transform:translate(-50%,-50%)scale(1.2)}.tl-keyframe:active{cursor:grabbing}.tl-keyframe.is-selected{z-index:3}.tl-keyframe.is-dragging{cursor:grabbing;z-index:4}.tl-keyframe-diamond{background:var(--accent);border:2px solid var(--bg-canvas);width:100%;height:100%;transition:background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border-radius:2px;transform:rotate(45deg);box-shadow:0 1px 3px #0000004d}.tl-keyframe:hover .tl-keyframe-diamond{background:var(--accent-hover,var(--accent));box-shadow:0 2px 6px #0006}.tl-keyframe.is-selected .tl-keyframe-diamond{background:var(--selection);border-color:var(--selection);box-shadow:0 0 0 2px var(--selection-ring), 0 2px 8px #00000080}.tl-keyframe.is-dragging .tl-keyframe-diamond{box-shadow:0 4px 12px #00000080}.tl-keyframe-context-menu{z-index:1000;background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:140px;padding:var(--space-1) 0;position:fixed;box-shadow:0 4px 12px #00000026}.tl-keyframe-context-menu-header{padding:var(--space-1) var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.tl-keyframe-context-menu-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;display:flex}.tl-keyframe-context-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.tl-keyframe-context-menu-delete{color:var(--color-danger)}.tl-keyframe-context-menu-delete:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.tl-keyframe-context-menu-separator{background:var(--border-faint);height:1px;margin:var(--space-1) 0}.tl-transition-handle{cursor:ew-resize;z-index:5;transition:background var(--duration-fast) var(--ease-out);background:0 0;position:absolute;top:0;bottom:0}.tl-transition-handle:hover{background:var(--accent);opacity:.5}.tl-transition-handle.is-dragging{background:var(--accent);opacity:.8}.tl-transition-visual{background:repeating-linear-gradient(45deg, transparent, transparent 4px, var(--accent-muted,#6366f133) 4px, var(--accent-muted,#6366f133) 8px);pointer-events:none;z-index:1;opacity:.6;border-left:1px dashed var(--accent);border-right:1px dashed var(--accent);position:absolute;top:0;bottom:0}.tl-transition-alignment{background:var(--bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--border-faint);gap:2px;padding:2px;display:flex}.tl-transition-alignment-btn{padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;flex:1}.tl-transition-alignment-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tl-transition-alignment-btn.is-active{background:var(--accent);color:var(--accent-on-fill,white);box-shadow:var(--shadow-xs)}.deprecated-notice{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);border-radius:var(--radius-sm);background:var(--color-warning-subtle);border:1px solid var(--color-warning);color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.deprecated-notice strong{color:var(--color-warning)}.caption-meta{gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono);display:flex}.collapsible-section{margin-bottom:var(--space-1)}.section-header{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) 0;color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;display:flex}.section-header:hover{color:var(--text-primary)}.section-header-icon{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.section-header-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.6px;text-align:left;flex:1}.section-chevron{width:14px;height:14px;color:var(--text-tertiary);transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.collapsible-section.open .section-chevron{transform:rotate(0)}.collapsible-section:not(.open) .section-chevron{transform:rotate(-90deg)}.section-body{padding:0 0 var(--space-2)}.status-bar{align-items:center;gap:var(--space-4);height:28px;padding:0 var(--space-3);background:var(--bg-panel);border-top:1px solid var(--border-faint);font-size:var(--text-xs);color:var(--text-secondary);flex-shrink:0;display:flex;overflow:hidden}.status-item{align-items:center;gap:var(--space-1);white-space:nowrap;display:inline-flex}.status-label{color:var(--text-tertiary);font-weight:var(--weight-medium)}.status-value{color:var(--text-primary);font-family:var(--font-display);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.right-panel{background:var(--bg-panel);border-left:1px solid var(--border-faint);flex-direction:column;flex-shrink:0;width:280px;height:100%;display:flex;overflow:hidden}.right-panel .panel-tabs{flex-shrink:0}.right-panel .panel-tab-content{flex:1;min-height:0;overflow-y:auto}.tabbed-panel{background:var(--bg-panel);border-left:1px solid var(--border-faint);flex-direction:column;height:100%;display:flex;overflow:hidden}.tabbed-panel .panel-tabs{flex-shrink:0}.tabbed-panel-content{flex:1;min-height:0;overflow:hidden}.text-panel-btn{justify-content:center;align-items:center;gap:var(--space-1);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);display:inline-flex}.text-panel-btn:hover:not(:disabled){background:var(--accent);color:var(--accent-on-fill)}.text-panel-btn:disabled{opacity:.4;cursor:not-allowed}.field-textarea{width:100%;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);resize:vertical;min-height:56px;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.field-textarea:focus{border-color:var(--accent);box-shadow:var(--ring-focus);outline:none}.field-textarea::placeholder{color:var(--text-tertiary)}.field-select{width:100%;padding:var(--space-2) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.field-select:focus{border-color:var(--accent);box-shadow:var(--ring-focus);outline:none}.track-selector{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.track-select{flex:1}.caption-editor,.transition-editor{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-faint)}.caption-textarea{resize:vertical;min-height:56px}.search-bar{margin-bottom:var(--space-2)}.search-input{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle);outline:none}.search-input::placeholder{color:var(--text-tertiary)}.asset-icon{font-size:var(--text-lg);flex-shrink:0}.keyframe-easing{font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic}.keyboard-shortcuts-overlay{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000a6;position:absolute;inset:0}.overlay-content{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:90%;max-width:560px;max-height:80vh;box-shadow:var(--shadow-overlay);position:relative;overflow:hidden}.overlay-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-faint);justify-content:space-between;align-items:center;display:flex}.overlay-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.overlay-close-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.overlay-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.shortcuts-grid{gap:var(--space-4);padding:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-height:calc(80vh - 60px);display:grid;overflow-y:auto}.shortcut-category{gap:var(--space-2);flex-direction:column;display:flex}.category-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--accent);text-transform:uppercase;letter-spacing:.6px;margin:0}.shortcut-list{margin:0;padding:0;list-style:none}.shortcut-item{align-items:center;gap:var(--space-2);padding:4px 0;display:flex}.shortcut-key{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-xs);min-width:22px;box-shadow:0 1px 0 var(--border-strong);font-family:var(--font-mono);font-size:10px;font-weight:var(--weight-medium);color:var(--text-primary);white-space:nowrap;justify-content:center;align-items:center;padding:2px 5px;display:inline-flex}.shortcut-description{font-size:var(--text-sm);color:var(--text-secondary)}.command-palette{z-index:1001;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:flex-start;padding-top:16vh;display:flex;position:fixed;inset:0}.palette-content{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:90%;max-width:480px;box-shadow:var(--shadow-overlay);position:relative;overflow:hidden}.palette-input-container{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-faint)}.palette-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-md);font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out)}.palette-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle);outline:none}.palette-input::placeholder{color:var(--text-tertiary)}.palette-results{max-height:280px;overflow-y:auto}.palette-empty{padding:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.palette-list{margin:0;padding:4px;list-style:none}.palette-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);display:flex}.palette-item:hover,.palette-item.selected{background:var(--bg-hover)}.palette-item-label{font-size:var(--text-sm);color:var(--text-primary);flex:1}.palette-item-category{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:capitalize}.palette-item-shortcut{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-width:22px;font-family:var(--font-mono);color:var(--text-secondary);justify-content:center;align-items:center;padding:2px 5px;font-size:10px;display:inline-flex}.export-dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.export-dialog{background:var(--bg-panel);border:1px solid var(--border-faint);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);width:420px;max-width:90vw;overflow:hidden}.export-dialog-header{padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:1px solid var(--border-faint);justify-content:space-between;align-items:center;display:flex}.export-dialog-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.export-dialog-close{color:var(--text-tertiary);font-size:var(--text-xl);cursor:pointer;padding:0 var(--space-1);background:0 0;border:none;line-height:1}.export-dialog-close:hover{color:var(--text-primary)}.export-dialog-body{padding:var(--space-5)}.export-dialog-progress{gap:var(--space-3);flex-direction:column;display:flex}.export-progress-status{font-size:var(--text-base);color:var(--text-secondary);margin:0}.export-progress-bar-track{background:var(--bg-sunken);border-radius:var(--radius-xs);width:100%;height:6px;overflow:hidden}.export-progress-bar-fill{background:var(--accent);border-radius:var(--radius-xs);height:100%;transition:width var(--duration-base) var(--ease-out)}.export-progress-pct{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-primary);text-align:center;margin:0}.export-dialog-error{text-align:center}.export-error-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-danger);margin:0 0 var(--space-2)}.export-error-message{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-normal);margin:0}.export-error-message code{background:var(--bg-sunken);padding:1px var(--space-1);border-radius:var(--radius-xs);font-size:var(--text-sm)}.export-dialog-complete{text-align:center}.export-complete-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-success);margin:0 0 var(--space-3)}.export-download-link{padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--accent-on-fill);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);margin-bottom:var(--space-2);text-decoration:none;display:inline-block}.export-download-link:hover{opacity:.9}.export-complete-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin:var(--space-2) 0 0}.export-dialog-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--border-faint);display:flex}.export-cancel-btn,.export-retry-btn,.export-close-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-raised);color:var(--text-primary)}.export-cancel-btn:hover,.export-retry-btn:hover,.export-close-btn:hover{background:var(--bg-hover)}.export-cancel-btn{background:var(--color-danger-subtle);border-color:var(--color-danger-subtle);color:var(--color-danger)}.export-cancel-btn:hover{background:var(--color-danger-subtle);opacity:.8}.export-retry-btn{background:var(--accent);color:var(--accent-on-fill);border-color:#0000}.export-retry-btn:hover{opacity:.9}.tl-layout{background:var(--bg-panel);outline:none;flex-direction:column;height:100%;display:flex;overflow:hidden}.tl-layout:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-subtle)}.tl-ruler-wrapper{height:var(--ruler-height);min-height:var(--ruler-height);background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);margin-left:var(--track-header-width);position:relative;overflow:hidden}.tl-ruler-canvas{height:100%;position:relative;overflow:hidden}.tl-status-bar{background:var(--bg-surface);border-top:1px solid var(--border-faint);height:24px;min-height:24px;padding:0 var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);align-items:center;gap:var(--space-4);display:flex}.tl-toolbar-v2{height:var(--toolbar-height);min-height:var(--toolbar-height);background:var(--bg-surface);border-bottom:1px solid var(--border-faint);padding:0 var(--space-3);align-items:center;gap:var(--space-3);display:flex}.tl-toolbar-tools{gap:2px;display:flex}.tl-toolbar-btn{width:var(--space-7);height:var(--space-7);color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);will-change:transform;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform 40ms;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.tl-toolbar-btn:hover{color:var(--text-secondary);background:var(--state-hover)}.tl-toolbar-btn:active{transform:scale(.96)}.tl-toolbar-btn:focus-visible{box-shadow:var(--tl-ring-accent);outline:none}.tl-toolbar-btn.is-active{color:var(--selection-on-fill);background:var(--selection);border-color:var(--selection)}.tl-toolbar-timecode{text-align:center;font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:.05em;-webkit-user-select:none;user-select:none;flex:1}.tl-toolbar-zoom{align-items:center;gap:var(--space-1);display:flex}.tl-zoom-slider{align-items:center;width:100px;display:flex}.tl-zoom-slider-input{appearance:none;width:100%;height:var(--space-1);border-radius:var(--radius-xs);background:linear-gradient(to right, var(--selection) 0%, var(--selection) var(--zoom-pct,50%), var(--bg-input) var(--zoom-pct,50%), var(--bg-input) 100%);cursor:pointer;outline:none}.tl-zoom-slider-input::-webkit-slider-thumb{appearance:none;border-radius:var(--radius-full);background:var(--text-primary);cursor:pointer;opacity:0;width:12px;height:12px;transition:opacity var(--transition-fast);border:none}.tl-zoom-slider-input:hover::-webkit-slider-thumb{opacity:1}.tl-zoom-slider-input:active::-webkit-slider-thumb{opacity:1}.tl-zoom-slider-input::-moz-range-thumb{border-radius:var(--radius-full);background:var(--text-primary);cursor:pointer;opacity:0;width:12px;height:12px;transition:opacity var(--transition-fast);border:none}.tl-zoom-slider-input:hover::-moz-range-thumb{opacity:1}.tl-zoom-slider-input:active::-moz-range-thumb{opacity:1}.tl-zoom-slider-input::-moz-range-track{height:var(--space-1);border-radius:var(--radius-xs);background:var(--bg-input)}.tl-track-area{flex:1;position:relative;overflow:auto}.tl-track-row{height:var(--track-height);min-width:max-content;display:flex}.tl-track-row>.tl-track-header{height:var(--track-height);padding:0 var(--space-2);background:var(--bg-surface-soft);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-faint);align-items:center;gap:var(--space-1);-webkit-user-select:none;user-select:none;display:flex}.tl-track-header-drag{color:var(--text-tertiary);cursor:grab;opacity:.5;transition:opacity var(--transition-fast);flex-shrink:0}.tl-track-header-drag:hover{opacity:.8}.tl-track-header-name{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-weight:var(--weight-medium);flex:1;overflow:hidden}.tl-track-header-actions{flex-shrink:0;gap:2px;display:flex}.tl-track-header-btn{width:var(--space-5);height:var(--space-5);color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-xs);will-change:transform;transition:color var(--transition-fast), background var(--transition-fast), transform 40ms;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.tl-track-header-btn:hover{color:var(--text-secondary);background:var(--state-hover)}.tl-track-header-btn:active{transform:scale(.92)}.tl-track-header-btn:focus-visible{box-shadow:var(--tl-ring-accent);outline:none}.tl-track-header-btn.is-active{color:var(--selection)}.tl-track-body{height:var(--track-height);border-bottom:1px solid var(--border-faint);cursor:default;flex:1;position:relative;overflow:hidden}.tl-track-body-grid{pointer-events:none;position:absolute;inset:0}.tl-empty-track{inset:var(--space-2);border:1px dashed var(--border-default);border-radius:var(--radius-sm);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.tl-empty-track span{font-size:var(--text-xs);color:var(--text-disabled);-webkit-user-select:none;user-select:none}@keyframes tl-selection-flash{0%{opacity:.7}50%{opacity:1}to{opacity:1}}.tl-v2-clip{top:var(--space-1);height:calc(var(--track-height) - 8px);border-radius:var(--radius-sm);border:1px solid var(--border-strong);cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;min-width:6px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform 40ms;position:absolute;overflow:hidden;box-shadow:inset 0 1px #ffffff0f}.tl-v2-clip:hover{border-color:var(--text-tertiary)}.tl-v2-clip:focus-visible{box-shadow:var(--tl-ring-accent);outline:none}.tl-v2-clip:active:not(.is-dragging){transform:scale(.99)}.tl-v2-clip.is-selected{z-index:2;border-color:var(--tl-clip-selected-border);box-shadow:inset 0 1px 0 #ffffff0f, 0 0 0 1px var(--tl-clip-selected-border), var(--tl-playhead-shadow);animation:.2s tl-selection-flash}.tl-v2-clip.is-dragging{opacity:.85;box-shadow:var(--tl-clip-drag-shadow);cursor:grabbing;z-index:5;animation:none}.tl-v2-clip.is-dragging.is-selected{box-shadow:var(--tl-clip-drag-shadow), 0 0 0 1px var(--tl-clip-selected-border), var(--tl-playhead-shadow)}.tl-v2-clip-move-zone{cursor:grab;position:absolute;inset:0}.tl-v2-clip-move-zone:active{cursor:grabbing}.tl-v2-clip-label{z-index:1;font-size:var(--text-xs);color:var(--text-secondary);padding:var(--space-1) 6px;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;text-shadow:0 1px 2px #0000004d;display:block;position:relative;overflow:hidden}.tl-v2-clip-trim-handle{cursor:col-resize;z-index:2;width:6px;height:100%;transition:background var(--transition-fast);background:0 0;position:absolute;top:0}.tl-v2-clip-trim-handle:hover{background:var(--tl-trim-handle-bg)}.tl-v2-clip.is-dragging .tl-v2-clip-trim-handle{background:var(--tl-trim-handle-active-bg)}.tl-v2-clip-trim-handle--left{cursor:w-resize;left:0}.tl-v2-clip-trim-handle--right{cursor:e-resize;right:0}.tl-snap-guide{background:var(--tl-snap-color);opacity:.3;pointer-events:none;z-index:8;width:1px;position:absolute;top:0;bottom:0}.tl-ruler-playhead-wrapper{pointer-events:auto;cursor:ew-resize;z-index:10;padding:0 var(--space-1);position:absolute;bottom:0;transform:translate(-50%)}.tl-ruler-playhead{border-left:6px solid #0000;border-right:6px solid #0000;border-top:8px solid var(--playhead-color);filter:drop-shadow(0 2px 2px #00000080);pointer-events:none;width:0;height:0}.tl-v2-playhead{background:var(--playhead-color);pointer-events:none;z-index:10;width:2px;transition:left var(--transition-fast);position:absolute;top:0;bottom:0}.tl-v2-playhead.is-dragging{transition:none}.tl-v2-playhead-hit{cursor:ew-resize;pointer-events:auto;z-index:11;width:22px;position:absolute;top:0;bottom:0;left:-10px}.tl-v2-playhead-hit:focus-visible{box-shadow:var(--tl-ring-accent);outline:none}.tl-context-menu{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:6px;min-width:140px;padding:4px 0;box-shadow:0 4px 12px #00000026}.tl-context-menu-item{width:100%;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;display:flex}.tl-context-menu-item:hover{background:var(--bg-hover)}.tl-v2-clip-rename-input,.tl-track-header-rename-input{background:var(--bg-input,var(--bg-app));border:1px solid var(--border-focus);color:var(--text-primary);font:inherit;font-size:var(--text-sm);border-radius:3px;outline:none;flex:1;min-width:0;padding:1px 4px}.tl-v2-clip-rename-input{z-index:6;position:absolute;top:50%;left:4px;right:4px;transform:translateY(-50%)}.tl-track-header-rename-input{flex:1;min-width:40px}.tl-toolbar-separator{background:var(--border-faint);width:1px;height:20px;margin:0 4px}.toggle-row{padding:var(--space-2) 0;justify-content:space-between;align-items:center;display:flex}.toggle-row-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--weight-medium)}.toggle-row-checkbox{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.color-dot{justify-content:center;align-items:center;display:inline-flex;position:relative}.color-dot-swatch{border-radius:var(--radius-full);border:1px solid var(--border-default);cursor:pointer;width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-out)}.color-dot-swatch:hover{transform:scale(1.1)}.color-dot-input{clip:rect(0, 0, 0, 0);border:0;width:0;height:0;padding:0;position:absolute;overflow:hidden}.tl-track-header-resize{cursor:ns-resize;height:4px;transition:background var(--duration-fast) var(--ease-out);background:0 0;position:absolute;bottom:0;left:0;right:0}.tl-track-header-resize:after{content:"";background:var(--border-subtle);opacity:0;width:24px;height:1px;transition:opacity var(--duration-fast) var(--ease-out);position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.tl-track-header-resize:hover{background:var(--accent-subtle)}.tl-track-header-resize:hover:after{opacity:1}.tl-track-header-resize:active{background:var(--accent-border)}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--radius-sm:.1875rem;--radius-md:.25rem;--radius-lg:.3125rem;--radius-xl:.375rem;--radius-2xl:.4375rem;--fd-radius:.25rem;--fd-radius-lg:.3125rem;--color-fd-primary:#fff383;--color-fd-primary-foreground:#09090b;--font-sans:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace;--text-xs:.78125rem;--text-sm:.90625rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem}[data-grid-area=main]{display:none}
@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2-i4fw5gbtlb7.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.0b02cdm7g7y6h.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
