:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0d0d0d;--surface: #1a1a1a;--surface-2: #242424;--surface-3: #2e2e2e;--border: rgba(255, 255, 255, .08);--border-active: rgba(255, 255, 255, .2);--text: #fafafa;--text-dim: rgba(255, 255, 255, .55);--accent: #6366f1;--accent-hover: #818cf8;--accent-dim: rgba(99, 102, 241, .15);--red: #ef4444;--green: #22c55e;--yellow: #eab308;--orange: #f97316;--cyan: #06b6d4;--pink: #ec4899;--sidebar-w: 240px;--timeline-h: 220px;--toolbar-h: 44px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:1fr var(--timeline-h);height:100vh;overflow:hidden}.sidebar{grid-row:1 / 3;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:16px 16px 12px;border-bottom:1px solid (var(--border));display:flex;align-items:center;gap:8px}.sidebar-header .logo{width:28px;height:28px;background:var(--accent);border-radius:6px;display:grid;place-items:center;font-weight:700;font-size:14px}.sidebar-header h1{font-size:15px;font-weight:600;letter-spacing:-.02em}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border)}.sidebar-tab{flex:1;padding:10px 0;text-align:center;font-size:12px;font-weight:500;color:var(--text-dim);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.sidebar-tab:hover{color:var(--text)}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.sidebar-content{flex:1;overflow-y:auto;padding:12px}.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.media-item{aspect-ratio:16/9;border-radius:8px;overflow:hidden;cursor:pointer;position:relative;border:2px solid transparent;transition:border-color .15s}.media-item:hover,.media-item.selected{border-color:var(--accent)}.media-thumb{width:100%;height:100%;display:grid;place-items:center;font-size:28px}.media-label{position:absolute;bottom:0;left:0;right:0;padding:3px 6px;background:#000000b3;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-duration{position:absolute;top:4px;right:4px;background:#000000b3;padding:1px 5px;border-radius:4px;font-size:10px;font-family:ui-monospace,monospace}.text-preset,.effect-item,.transition-item{padding:10px 12px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);margin-bottom:8px;cursor:pointer;transition:all .15s;font-size:13px;color:var(--text)}.text-preset:hover,.effect-item:hover,.transition-item:hover{border-color:var(--accent);background:var(--accent-dim)}.text-preset .preview-text{font-size:18px;font-weight:700;margin-bottom:4px}.text-preset .preset-name{font-size:11px;color:var(--text-dim)}.main-area{display:flex;flex-direction:column;overflow:hidden}.toolbar{height:var(--toolbar-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 12px;gap:4px}.tool-btn{width:34px;height:34px;border-radius:6px;display:grid;place-items:center;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:16px;transition:all .15s}.tool-btn:hover{background:var(--surface-3);color:var(--text)}.tool-btn.active{background:var(--accent-dim);color:var(--accent)}.toolbar-sep{width:1px;height:24px;background:var(--border);margin:0 6px}.toolbar-spacer{flex:1}.zoom-control{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-dim)}.zoom-control input[type=range]{width:80px;accent-color:var(--accent)}.preview-container{flex:1;display:grid;place-items:center;background:#000;position:relative;overflow:hidden}.preview-canvas-wrap{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 0 60px #00000080}.preview-canvas{display:block;background:#111}.preview-overlay-text{position:absolute;pointer-events:none;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.8)}.preview-controls{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px 16px;border-radius:12px;border:1px solid var(--border)}.preview-time{font-family:ui-monospace,monospace;font-size:13px;color:var(--text-dim);min-width:110px;text-align:center}.play-btn{width:36px;height:36px;border-radius:50%;background:var(--accent);border:none;color:#fff;font-size:16px;cursor:pointer;display:grid;place-items:center;transition:background .15s}.play-btn:hover{background:var(--accent-hover)}.timeline{background:var(--surface);border-top:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.timeline-header{display:flex;align-items:center;padding:6px 12px;border-bottom:1px solid var(--border);gap:8px;min-height:32px}.timeline-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);width:100px;flex-shrink:0}.timeline-ruler{flex:1;height:20px;position:relative;overflow:hidden}.ruler-mark{position:absolute;top:0;font-size:9px;color:var(--text-dim);font-family:ui-monospace,monospace;border-left:1px solid var(--border);padding-left:4px;height:100%;display:flex;align-items:flex-start}.timeline-body{flex:1;overflow-y:auto;overflow-x:hidden}.timeline-track{display:flex;align-items:stretch;min-height:44px;border-bottom:1px solid var(--border)}.track-label{width:100px;flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;border-right:1px solid var(--border);background:var(--surface);position:sticky;left:0;z-index:2}.track-label .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.track-content{flex:1;position:relative;display:flex;align-items:center;padding:4px 0;cursor:pointer}.clip{position:absolute;height:32px;border-radius:6px;display:flex;align-items:center;padding:0 8px;font-size:11px;font-weight:500;color:#fff;cursor:grab;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:1px solid rgba(255,255,255,.1);transition:box-shadow .15s;-webkit-user-select:none;user-select:none}.clip:hover{box-shadow:0 0 0 2px #fff3}.clip.selected{box-shadow:0 0 0 2px var(--accent)}.clip-handle{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:1}.clip-handle.left{left:0}.clip-handle.right{right:0}.playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--red);z-index:5;pointer-events:none}.playhead:before{content:"";position:absolute;top:-4px;left:-5px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--red)}.props-panel{padding:12px}.props-panel h3{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.prop-group{margin-bottom:14px}.prop-group label{display:block;font-size:11px;color:var(--text-dim);margin-bottom:4px}.prop-row{display:flex;gap:8px}.prop-input{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:12px;color:var(--text);outline:none;transition:border-color .15s}.prop-input:focus{border-color:var(--accent)}.prop-input[type=color]{padding:2px;height:32px;cursor:pointer}select.prop-input{cursor:pointer}.prop-slider{width:100%;accent-color:var(--accent)}.btn{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.btn:hover{border-color:var(--accent);background:var(--accent-dim)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-sm{padding:4px 10px;font-size:11px}.btn-icon{width:28px;height:28px;padding:0;display:grid;place-items:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;width:420px;max-width:90vw}.modal h2{font-size:18px;font-weight:600;margin-bottom:16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.format-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.format-option{padding:12px;border-radius:8px;border:2px solid var(--border);background:var(--surface-2);cursor:pointer;text-align:center;transition:all .15s}.format-option:hover{border-color:var(--accent)}.format-option.selected{border-color:var(--accent);background:var(--accent-dim)}.format-option .fmt-icon{font-size:24px;margin-bottom:4px}.format-option .fmt-name{font-size:13px;font-weight:600}.format-option .fmt-desc{font-size:11px;color:var(--text-dim)}.export-progress{margin:16px 0}.progress-bar{width:100%;height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.progress-text{font-size:12px;color:var(--text-dim);margin-top:6px;text-align:center}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}@media(max-width:768px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr var(--timeline-h)}.sidebar{grid-row:auto;max-height:200px;border-right:none;border-bottom:1px solid var(--border)}.sidebar-content{padding:8px}.media-grid{grid-template-columns:repeat(3,1fr)}}
