:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0d1117;color:#fff;overflow:hidden}#root{height:100vh;width:100vw}.video-editor-app{height:100vh;width:100vw;display:flex;flex-direction:column;background:#0d1117;overflow:hidden}.app-toolbar{height:60px;width:100%;background:linear-gradient(135deg,#161b22,#21262d);border-bottom:1px solid #30363D;display:flex;align-items:center;padding:0 20px;box-shadow:0 2px 8px #0000004d}.toolbar-left h1{margin:0;font-size:18px;font-weight:600;color:#f0f6fc}.toolbar-center{flex:1;display:flex;justify-content:center}.toolbar-right{display:flex;align-items:center}.export-container{display:flex;flex-direction:column;align-items:center;gap:8px}.export-buttons{display:flex;flex-direction:column;gap:4px}.export-video-btn{background:#da3633;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;display:flex;align-items:center;gap:2px;transition:all .2s;min-width:90px;justify-content:center}.export-video-btn:hover:not(:disabled){background:#f85149;transform:scale(1.05)}.export-video-btn:disabled{background:#6b7280;cursor:not-allowed;transform:none}.ffmpeg-btn{background:#7c3aed}.ffmpeg-btn:hover:not(:disabled){background:#8b5cf6}.record-btn{background:#da3633}.frame-btn{background:#1f6feb}.frame-btn:hover:not(:disabled){background:#388bfd}.export-progress{display:flex;align-items:center;gap:8px;min-width:140px}.progress-bar{flex:1;height:4px;background:#30363d;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:#238636;border-radius:2px;transition:width .2s ease}.progress-text{color:#8b949e;font-size:11px;font-weight:500;min-width:30px}.playback-controls{display:flex;gap:12px;align-items:center;background:#21262d;padding:8px 16px;border-radius:6px;border:1px solid #30363D}.playback-controls button{background:#238636;color:#fff;border:none;width:36px;height:36px;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.playback-controls button:hover:not(:disabled){background:#2ea043;transform:scale(1.05)}.playback-controls button:disabled{background:#484f58;cursor:not-allowed;transform:none}.play-btn{background:#238636!important}.pause-btn{background:#da3633!important}.stop-btn{background:#656d76!important}.time-display{font-family:SF Mono,Monaco,monospace;font-size:13px;color:#8b949e;margin-left:12px}.editor-main{flex:1;display:flex;flex-direction:column;overflow:hidden;height:calc(100vh - 60px);min-height:0}.workspace{flex:1;display:flex;min-height:0;width:100%;height:calc(100% - 300px)}.editor-section{width:400px;min-width:400px;background:#161b22;border-right:1px solid #30363D;display:flex;flex-direction:column}.panel-tabs{display:flex;background:#21262d;border-bottom:1px solid #30363D}.panel-tabs button{flex:1;background:none;border:none;color:#8b949e;padding:12px 16px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.panel-tabs button.active{color:#f0f6fc;background:#161b22;border-bottom:2px solid #1F6FEB}.panel-tabs button:hover:not(.active){color:#f0f6fc;background:#30363d}.code-editor-container{flex:1;display:flex;flex-direction:column;background:#0d1117}.editor-header{background:#21262d;padding:8px 16px;border-bottom:1px solid #30363D;display:flex;justify-content:space-between;align-items:center}.editor-info{display:flex;gap:16px;align-items:center}.file-name{color:#f0f6fc;font-weight:500;font-size:13px}.variable-count{color:#7c3aed;font-size:12px;background:#7c3aed1a;padding:2px 8px;border-radius:12px;border:1px solid rgba(124,58,237,.3)}.editor-actions{display:flex;gap:8px}.format-btn,.save-btn{background:#30363d;border:none;color:#8b949e;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.format-btn:hover,.save-btn:hover{background:#484f58;color:#f0f6fc}.variables-panel{background:#161b22;border-bottom:1px solid #30363D;padding:8px 16px}.variables-header{color:#8b949e;font-size:11px;text-transform:uppercase;font-weight:600;margin-bottom:8px}.variables-list{display:flex;flex-wrap:wrap;gap:8px}.variable-item{display:flex;align-items:center;gap:6px;background:#21262d;padding:4px 8px;border-radius:4px;border:1px solid #30363D}.variable-name{color:#ff6b6b;font-weight:600;font-size:12px}.variable-value{color:#7c3aed;font-size:12px}.editor-wrapper{flex:1;background:#0d1117}.editor-loading{display:flex;align-items:center;justify-content:center;height:200px;color:#8b949e}.property-panel{flex:1;display:flex;flex-direction:column;background:#161b22}.panel-header{padding:16px;border-bottom:1px solid #30363D;display:flex;justify-content:space-between;align-items:center}.panel-header h3{margin:0;color:#f0f6fc;font-size:16px;font-weight:600}.current-time{color:#8b949e;font-size:12px;font-family:monospace}.properties-list{flex:1;overflow-y:auto;padding:8px}.property-item{background:#21262d;border:1px solid #30363D;border-radius:6px;margin-bottom:8px;padding:12px}.property-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.property-name{color:#f0f6fc;font-weight:500;font-size:13px}.property-actions{display:flex;align-items:center;gap:8px}.keyframe-btn{background:#da3633;color:#fff;border:none;width:20px;height:20px;border-radius:3px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center}.keyframe-btn:hover{background:#f85149}.property-value{color:#7c3aed;font-size:12px;font-family:monospace;font-weight:600}.property-control{margin-bottom:8px}.property-slider{width:100%;-webkit-appearance:none;height:4px;border-radius:2px;background:#30363d;outline:none}.property-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#1f6feb;cursor:pointer;border:2px solid #0D1117}.slider-range{display:flex;justify-content:space-between;color:#656d76;font-size:10px;margin-top:4px}.keyframes-info{margin-top:8px}.keyframes-list{display:flex;justify-content:space-between;align-items:center}.keyframes-count{color:#8b949e;font-size:11px}.keyframes-preview{display:flex;gap:4px}.keyframe-time{color:#7c3aed;font-size:10px;background:#7c3aed1a;padding:2px 4px;border-radius:2px}.more-keyframes{color:#8b949e;font-size:10px}.no-properties{text-align:center;color:#8b949e;padding:32px 16px}.no-properties code{color:#ff6b6b;background:#21262d;padding:2px 6px;border-radius:3px;font-size:12px}.panel-footer{padding:16px;border-top:1px solid #30363D}.add-all-btn{width:100%;background:#1f6feb;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.add-all-btn:hover:not(:disabled){background:#388bfd}.add-all-btn:disabled{background:#484f58;cursor:not-allowed}.preview-section{flex:1;display:flex;flex-direction:column;background:#0d1117;min-width:0}.preview-panel{flex:1;display:flex;flex-direction:column}.preview-header{background:#21262d;border-bottom:1px solid #30363D;padding:8px 16px;display:flex;justify-content:space-between;align-items:center}.preview-info{display:flex;gap:16px;align-items:center}.preview-title{color:#f0f6fc;font-weight:500;font-size:13px}.status-indicator{font-size:12px;padding:2px 8px;border-radius:12px;font-weight:500}.status-indicator.success{color:#238636;background:#2386361a;border:1px solid rgba(35,134,54,.3)}.status-indicator.error{color:#da3633;background:#da36331a;border:1px solid rgba(218,54,51,.3)}.preview-controls{display:flex;gap:8px;align-items:center}.control-btn{background:#30363d;border:none;color:#8b949e;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:12px}.control-btn:hover{background:#484f58;color:#f0f6fc}.size-controls select{background:#30363d;color:#f0f6fc;border:1px solid #484F58;padding:4px 8px;border-radius:4px;font-size:12px}.preview-viewport{flex:1;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#161b22,#0d1117);position:relative;overflow:hidden;min-height:0;width:100%}.canvas-container{border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #00000080;border:1px solid #30363D}.error-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0d1117e6;display:flex;align-items:center;justify-content:center;z-index:1000}.error-message{background:#21262d;padding:24px;border-radius:8px;border:1px solid #DA3633;max-width:500px}.error-message h4{color:#da3633;margin:0 0 12px}.error-message pre{color:#8b949e;font-size:12px;white-space:pre-wrap;margin:0}.viewport-overlay{position:absolute;top:16px;left:16px;z-index:100}.playing-indicator,.paused-indicator{background:#21262de6;color:#f0f6fc;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:500;border:1px solid #30363D}.playing-indicator{color:#238636}.paused-indicator{color:#8b949e}.preview-footer{background:#21262d;border-top:1px solid #30363D;padding:8px 16px;display:flex;justify-content:space-between;align-items:center}.canvas-info,.performance-info{color:#8b949e;font-size:12px;font-family:monospace}.timeline-section{height:300px;width:100%;background:#161b22;border-top:2px solid #30363D;overflow:hidden}.professional-timeline{height:100%;display:flex;flex-direction:column}.timeline-header{background:#21262d;border-bottom:1px solid #30363D;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.timeline-title{color:#f0f6fc;font-weight:600;font-size:14px}.timeline-settings{display:flex;gap:16px;align-items:center}.duration-control{display:flex;gap:8px;align-items:center}.duration-control label{color:#8b949e;font-size:12px}.duration-control input{background:#30363d;color:#f0f6fc;border:1px solid #484F58;padding:4px 8px;border-radius:4px;width:60px;font-size:12px}.duration-control span{color:#8b949e;font-size:12px}.zoom-controls{display:flex;gap:4px}.zoom-btn{background:#30363d;border:none;color:#8b949e;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.zoom-btn:hover{background:#484f58;color:#f0f6fc}.timeline-workspace{flex:1;display:flex;overflow:hidden;width:100%;max-height:240px}.track-headers{width:200px;min-width:200px;background:#21262d;border-right:1px solid #30363D;display:flex;flex-direction:column;overflow-y:auto}.time-header{height:40px;background:#30363d;border-bottom:1px solid #484F58;display:flex;align-items:center;justify-content:center;color:#f0f6fc;font-size:12px;font-weight:600}.track-header{height:60px;border-bottom:1px solid #30363D;display:flex;align-items:center;justify-content:space-between;padding:0 12px}.track-name{color:#ff6b6b;font-weight:600;font-size:13px}.track-controls{display:flex;gap:4px}.track-btn{background:#30363d;border:none;color:#8b949e;width:20px;height:20px;border-radius:3px;cursor:pointer;font-size:10px;font-weight:600}.track-btn:hover{background:#484f58;color:#f0f6fc}.track-btn.mute:hover{background:#da3633;color:#fff}.track-btn.solo:hover{background:#fb8500;color:#fff}.timeline-content{flex:1;position:relative;background:#0d1117;overflow:hidden;min-width:0}.timeline-ruler{height:40px;background:#21262d;border-bottom:1px solid #30363D;position:relative}.ruler-ticks{height:100%;position:relative}.tick{position:absolute;top:0;height:100%;display:flex;flex-direction:column;align-items:flex-start;padding-left:4px}.tick-mark{width:1px;height:12px;background:#484f58;margin-top:4px}.tick-label{color:#8b949e;font-size:10px;font-family:monospace;margin-top:2px}.timeline-tracks{flex:1;position:relative;overflow-y:auto;overflow-x:hidden}.track-headers::-webkit-scrollbar,.timeline-tracks::-webkit-scrollbar{width:8px}.track-headers::-webkit-scrollbar-track,.timeline-tracks::-webkit-scrollbar-track{background:#161b22}.track-headers::-webkit-scrollbar-thumb,.timeline-tracks::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.track-headers::-webkit-scrollbar-thumb:hover,.timeline-tracks::-webkit-scrollbar-thumb:hover{background:#484f58}.playhead{position:absolute;top:0;bottom:0;z-index:1000;pointer-events:none}.playhead-line{width:2px;height:100%;background:#da3633;position:relative}.playhead-handle{position:absolute;top:-6px;left:-8px;width:18px;height:18px;background:#da3633;clip-path:polygon(50% 0%,0% 100%,100% 100%)}.timeline-track{height:60px;border-bottom:1px solid #30363D;position:relative}.track-content{height:100%;position:relative}.keyframe-diamond{position:absolute;top:50%;transform:translateY(-50%);width:12px;height:12px;background:#1f6feb;border:2px solid #F0F6FC;transform:translateY(-50%) rotate(45deg);cursor:pointer;z-index:10;transition:all .2s}.keyframe-diamond:hover{background:#388bfd;transform:translateY(-50%) rotate(45deg) scale(1.2)}.keyframe-diamond.selected{background:#da3633;border-color:#f85149}.keyframe-tooltip{position:absolute;top:-30px;left:50%;transform:translate(-50%) rotate(-45deg);background:#21262d;color:#f0f6fc;padding:2px 6px;border-radius:3px;font-size:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;border:1px solid #30363D}.keyframe-diamond:hover .keyframe-tooltip{opacity:1}.animation-curve{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.timeline-footer{background:#21262d;border-top:1px solid #30363D;padding:8px 16px;display:flex;justify-content:space-between;align-items:center}.timeline-status{display:flex;align-items:center;gap:8px;color:#8b949e;font-size:12px;font-family:monospace}.current-time{color:#f0f6fc;font-weight:600}.separator{color:#484f58}.timeline-actions{display:flex;gap:8px}.action-btn{background:#30363d;border:none;color:#8b949e;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:11px}.action-btn:hover{background:#484f58;color:#f0f6fc}
