:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg-primary: #0d0d0f;--bg-secondary: #16161a;--bg-tertiary: #1e1e24;--bg-hover: #25252d;--bg-active: #2d2d38;--border: rgba(255, 255, 255, .08);--border-bright: rgba(255, 255, 255, .15);--text-primary: #e8e8ed;--text-secondary: #9494a0;--text-muted: #5e5e6a;--accent: #6c5ce7;--accent-hover: #7c6ef7;--accent-glow: rgba(108, 92, 231, .3);--danger: #e74c3c;--success: #2ecc71;--warning: #f39c12;--radius: 8px;--radius-sm: 5px;--radius-lg: 12px;--shadow: 0 2px 8px rgba(0, 0, 0, .3);--transition: .15s ease}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary)}.editor{display:flex;flex-direction:column;height:100vh;overflow:hidden}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:44px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.logo{display:flex;align-items:center;gap:8px;color:var(--accent);font-weight:700;font-size:16px;letter-spacing:-.02em}.header-actions{display:flex;align-items:center;gap:12px}.project-name{font-size:13px;color:var(--text-secondary)}.editor-body{display:flex;flex:1;overflow:hidden}.editor-main{display:flex;flex-direction:column;flex:1;overflow:hidden}.toolbar{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.toolbar-section{display:flex;align-items:center;gap:2px}.toolbar-section.tools{gap:2px}.toolbar-section.playback{margin-left:auto;gap:4px}.toolbar-divider{width:1px;height:24px;background:var(--border);margin:0 6px}.toolbar-btn{display:flex;align-items:center;gap:5px;padding:6px 10px;border:none;background:transparent;color:var(--text-secondary);font-size:12px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);white-space:nowrap}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn.active,.toolbar-btn.primary{background:var(--accent);color:#fff}.toolbar-btn.primary:hover{background:var(--accent-hover)}.toolbar-btn:disabled{opacity:.35;cursor:default}.toolbar-btn.play-btn{padding:6px 8px}.preview-container{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.preview-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-primary)}.preview-time{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm)}.preview-viewport{position:relative;width:100%;max-height:calc(100vh - 300px);margin:auto;background:#000;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center}.preview-video{width:100%;height:100%;object-fit:contain}.preview-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted);padding:40px}.preview-placeholder svg{opacity:.4}.preview-placeholder span{font-size:14px}.preview-info{position:absolute;bottom:8px;left:8px;display:flex;align-items:center;gap:6px;font-size:11px;color:#ffffffb3;background:#0009;padding:3px 8px;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.speed-badge{background:var(--accent);color:#fff;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:600}.text-overlay-element{position:absolute;cursor:move;-webkit-user-select:none;user-select:none;text-shadow:1px 1px 3px rgba(0,0,0,.5);padding:4px 8px;border-radius:4px;transition:outline .15s}.text-overlay-element.selected{outline:2px solid var(--accent);outline-offset:4px}.sticker-element{position:absolute;cursor:move;-webkit-user-select:none;user-select:none;transition:outline .15s;line-height:1}.sticker-element.selected{outline:2px solid var(--accent);outline-offset:4px}.timeline{flex-shrink:0;height:220px;background:var(--bg-secondary);border-top:1px solid var(--border);display:flex;flex-direction:column}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;border-bottom:1px solid var(--border)}.timeline-zoom{display:flex;align-items:center;gap:6px}.timeline-zoom button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.timeline-zoom button:hover{background:var(--bg-hover);color:var(--text-primary)}.timeline-zoom span{font-size:11px;color:var(--text-muted);min-width:36px;text-align:center}.timeline-duration{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:var(--text-muted)}.timeline-scroll{flex:1;overflow-x:auto;overflow-y:auto;position:relative;cursor:pointer}.timeline-content{position:relative;min-height:100%;padding-bottom:8px}.time-ruler{height:24px;position:relative;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.time-marker{position:absolute;top:0;height:100%;display:flex;align-items:center}.time-marker span{font-size:10px;color:var(--text-muted);padding-left:4px;font-family:SF Mono,Fira Code,monospace}.playhead{position:absolute;top:0;bottom:0;width:2px;z-index:10;pointer-events:none}.playhead-head{width:12px;height:12px;background:var(--accent);border-radius:50%;position:absolute;top:6px;left:-5px;box-shadow:0 0 8px var(--accent-glow)}.playhead-line{position:absolute;top:0;left:0;width:2px;height:100%;background:var(--accent)}.track{display:flex;min-height:40px;border-bottom:1px solid var(--border)}.track-label{width:80px;flex-shrink:0;display:flex;align-items:center;padding:0 10px;font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border-right:1px solid var(--border)}.track-clips{flex:1;position:relative;min-height:36px}.timeline-clip{position:absolute;top:4px;height:28px;background:linear-gradient(135deg,#3a3a5c,#2d2d4a);border:1px solid rgba(108,92,231,.3);border-radius:var(--radius-sm);display:flex;align-items:center;overflow:hidden;cursor:grab;transition:border-color var(--transition)}.timeline-clip:hover{border-color:var(--accent)}.timeline-clip.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 12px var(--accent-glow)}.timeline-clip.text-clip{background:linear-gradient(135deg,#2d4a3a,#1f3a2d);border-color:#2ecc714d}.timeline-clip.sticker-clip{background:linear-gradient(135deg,#4a3a2d,#3a2d1f);border-color:#f39c124d}.timeline-clip.audio-clip{background:linear-gradient(135deg,#2d3a4a,#1f2d3a);border-color:#3498db4d}.clip-content{flex:1;display:flex;align-items:center;gap:4px;padding:0 8px;overflow:hidden}.clip-name{font-size:11px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clip-speed{font-size:9px;background:var(--accent);color:#fff;padding:0 4px;border-radius:3px;font-weight:700}.clip-transition-badge{font-size:9px;background:#f39c124d;color:var(--warning);padding:0 4px;border-radius:3px;font-weight:600}.clip-trim-handle{width:6px;height:100%;cursor:ew-resize;background:#ffffff1a;transition:background var(--transition)}.clip-trim-handle:hover{background:var(--accent)}.clip-trim-handle.left{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.clip-trim-handle.right{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.side-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--border);overflow:hidden}.panel-tabs{display:flex;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.panel-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;flex:1;min-width:44px;border:none;background:transparent;color:var(--text-muted);font-size:10px;cursor:pointer;transition:all var(--transition);border-bottom:2px solid transparent}.panel-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.panel-content{flex:1;overflow-y:auto;padding:0}.panel-section{padding:12px 14px;border-bottom:1px solid var(--border)}.panel-section h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:10px}.panel-hint{font-size:12px;color:var(--text-muted);margin-bottom:8px;line-height:1.4}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-header h3{margin-bottom:0}.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;color:var(--text-muted);text-align:center}.panel-empty svg{opacity:.3}.panel-empty span{font-size:13px}.control-group{margin-bottom:10px}.control-group label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.control-group select,.control-group input[type=number],.control-group input[type=text]{width:100%;padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;outline:none;transition:border-color var(--transition)}.control-group select:focus,.control-group input:focus{border-color:var(--accent)}.control-group input[type=number]{width:80px}.text-input{width:100%;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;outline:none;transition:border-color var(--transition)}.text-input:focus{border-color:var(--accent)}.text-add-row{display:flex;gap:6px}.text-edit-row{margin-bottom:10px}.text-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.text-style-row{display:flex;gap:4px;margin-bottom:10px}.style-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:all var(--transition)}.style-btn:hover{border-color:var(--border-bright)}.style-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.color-input-row{display:flex;align-items:center;gap:6px}.color-input-row input[type=color]{width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:none}.color-input-row span{font-size:11px;color:var(--text-muted);font-family:SF Mono,Fira Code,monospace}.add-btn,.add-audio-btn{padding:8px 14px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:background var(--transition)}.add-btn:hover,.add-audio-btn:hover{background:var(--accent-hover)}.add-audio-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px}.delete-btn{padding:4px 10px;background:transparent;border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);font-size:11px;cursor:pointer;transition:all var(--transition)}.delete-btn:hover{background:var(--danger);color:#fff}.delete-btn.small{padding:2px 6px;font-size:10px}.reset-btn{padding:3px 8px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:10px;cursor:pointer;transition:all var(--transition)}.reset-btn:hover{border-color:var(--border-bright);color:var(--text-primary)}.slider-row{margin-bottom:10px}.slider-row label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.slider-control{display:flex;align-items:center;gap:8px}.slider-control input[type=range]{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--bg-active);border-radius:2px;outline:none}.slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer;border:2px solid var(--bg-secondary);box-shadow:0 0 6px var(--accent-glow)}.slider-value{font-size:11px;color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;min-width:36px;text-align:right}.filter-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:12px}.preset-btn{padding:6px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all var(--transition)}.preset-btn:hover{border-color:var(--accent);color:var(--text-primary);background:var(--bg-hover)}.resolution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.resolution-btn{display:flex;flex-direction:column;padding:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.resolution-btn:hover{border-color:var(--border-bright)}.resolution-btn.active{border-color:var(--accent);background:#6c5ce71a}.res-name{font-size:12px;font-weight:600;color:var(--text-primary);text-transform:uppercase}.res-size{font-size:10px;color:var(--text-muted);font-family:SF Mono,Fira Code,monospace}.sticker-categories{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.category-btn{padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:10px;cursor:pointer;transition:all var(--transition)}.category-btn:hover{border-color:var(--border-bright)}.category-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sticker-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.sticker-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.sticker-btn:hover{border-color:var(--accent);background:var(--bg-hover);transform:scale(1.15)}.transition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:12px}.transition-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.transition-btn:hover{border-color:var(--border-bright)}.transition-btn.active{border-color:var(--accent);background:#6c5ce71a}.transition-icon{font-size:18px;color:var(--text-primary)}.transition-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.layer-list{display:flex;flex-direction:column;gap:2px}.layer-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition)}.layer-item:hover{background:var(--bg-hover)}.layer-name{font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-value{font-size:11px;color:var(--text-muted);font-family:SF Mono,Fira Code,monospace}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.toggle-row label{font-size:11px;color:var(--text-secondary);font-weight:500}.toggle-btn{padding:4px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all var(--transition)}.toggle-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.toggle-btn.small{padding:2px 8px;font-size:10px}.property-info{margin-bottom:12px}.info-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--border)}.info-row span:first-child{font-size:12px;color:var(--text-secondary)}.info-row span:last-child{font-size:12px;color:var(--text-primary);font-family:SF Mono,Fira Code,monospace}.resolution-display{padding:8px 10px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-family:SF Mono,Fira Code,monospace;font-size:13px;color:var(--text-primary);text-align:center}.export-info{margin-top:8px}.export-btn{width:calc(100% - 28px);margin:14px;padding:14px;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition);box-shadow:0 4px 14px var(--accent-glow)}.export-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--accent-glow)}.export-btn:disabled{opacity:.4;cursor:default;transform:none;box-shadow:none}.export-progress{padding:16px 14px}.progress-bar{height:8px;background:var(--bg-active);border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#8b5cf6);border-radius:4px;transition:width .3s ease}.progress-text{font-size:12px;color:var(--text-secondary);font-family:SF Mono,Fira Code,monospace;text-align:center;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translate(-50%,-50%) translateY(30px);opacity:0}to{transform:translate(-50%,-50%) translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translate(-50%,-50%) translateY(-30px);opacity:0}to{transform:translate(-50%,-50%) translateY(0);opacity:1}}@keyframes typewriter{0%{max-width:0}to{max-width:100%}}@keyframes textBounce{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}50%{transform:translate(-50%,-50%) scale(1.15)}70%{transform:translate(-50%,-50%) scale(.9)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes scaleIn{0%{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes stickerBounce{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-10px)}}@keyframes stickerSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes stickerPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}@keyframes stickerShake{0%,to{transform:translate(-50%,-50%) rotate(0)}25%{transform:translate(-50%,-50%) rotate(-10deg)}75%{transform:translate(-50%,-50%) rotate(10deg)}}@keyframes stickerFloat{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-15px)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
