@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;overflow:hidden}#root{width:100%;height:100vh}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.acp-wrapper{position:relative}.acp-trigger{background:var(--bg-input);border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;width:100%;padding:4px;transition:background .15s;display:flex}.acp-trigger:hover{background:var(--bg-hover)}.acp-trigger-swatch{border-radius:6px;flex-shrink:0;width:24px;height:24px}.acp-trigger-hex{color:var(--text-primary);text-transform:uppercase;font-family:inherit;font-size:12px}.acp-popover{border-radius:var(--radius-lg);z-index:200;background:#111113;flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);left:-12px;right:-12px;box-shadow:0 24px 80px #000c}.acp-area{cursor:crosshair;border-radius:10px;width:100%;height:140px}.acp-thumb{z-index:10;border:2.5px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 1px #0003,0 2px 8px #0000004d}.acp-slider{padding:4px 0}.acp-slider-track{border-radius:7px;width:100%;height:14px}.acp-thumb-hue{top:50%}.acp-alpha-track{background-image:repeating-conic-gradient(#ffffff14 0 90deg, #ffffff08 0 180deg);background-size:8px 8px}.acp-footer{align-items:center;gap:8px;display:flex}.acp-eyedropper{background:var(--bg-input);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.acp-eyedropper:hover{background:var(--bg-hover);color:var(--text-primary)}.acp-swatch-current{border-radius:8px;flex-shrink:0;width:28px;height:28px}.acp-hex-display{background:var(--bg-input);color:var(--text-primary);text-transform:uppercase;border-radius:8px;flex:1;padding:6px 10px;font-family:inherit;font-size:12px}.acp-swatches{flex-wrap:wrap;gap:4px;display:flex}.acp-swatch-item{cursor:pointer;border-radius:50%;outline:none;padding:2px}.acp-swatch-item[data-selected=true]{box-shadow:0 0 0 2px #111113, 0 0 0 3.5px var(--accent)}.acp-swatch{border-radius:50%;width:20px;height:20px}.align-slider-root{touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;background:#1e1e21;border-radius:999px;align-items:center;width:100%;height:30px;display:flex;position:relative}.align-slider-track{background:0 0;width:100%;height:100%;position:relative}.align-slider-track:after{content:"";pointer-events:none;background-image:radial-gradient(1.5px,#80808a66 0 1.5px,#0000 1.6px);background-repeat:repeat-x;background-size:12.5% 100%;position:absolute;inset:0}.align-slider-range{background:#ffffff1c;border-radius:999px 0 0 999px;height:100%;position:absolute}.align-slider-thumb{cursor:grab;background:#fff;border-radius:3px;outline:none;width:6px;height:30px;transition:opacity .15s;display:block;box-shadow:0 1px 3px #00000080}.align-slider-thumb:hover{opacity:.9}.align-slider-thumb:focus-visible{box-shadow:0 1px 3px #00000080,0 0 0 3px #fff3}.align-slider-thumb:active{cursor:grabbing;opacity:.9}.cp-root{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.cp-mode-tabs{background:#ffffff0f;border-radius:8px;gap:2px;padding:3px;display:flex}.cp-mode-tab{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:5px 0;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.cp-mode-tab.active{color:var(--text-primary);background:#ffffff1a}.cp-mode-tab:hover:not(.active){color:var(--text-secondary)}.cp-area{cursor:crosshair;border-radius:10px;width:100%;height:140px;position:relative;overflow:hidden}.cp-area-white{background:linear-gradient(90deg,#fff,#0000);position:absolute;inset:0}.cp-area-black{background:linear-gradient(#0000,#000);position:absolute;inset:0}.cp-area-thumb{pointer-events:none;border:2.5px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0003,0 2px 8px #0000004d}.cp-hue-slider{cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:7px;width:100%;height:14px;position:relative}.cp-hue-thumb{pointer-events:none;border:2.5px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000026,0 2px 6px #00000040}.cp-stops{align-items:center;gap:6px;display:flex}.cp-stop{cursor:pointer;border:none;border-radius:8px;width:28px;height:28px;transition:all .15s}.cp-stop.active{box-shadow:0 0 0 2px var(--bg-surface,#18181b), 0 0 0 4px #ffffff80}.cp-angle-field{align-items:center;gap:2px;margin-left:auto;display:flex}.cp-angle-field input{background:var(--bg-input,#27272a);width:48px;color:var(--text-primary,#fafafa);text-align:center;border:none;border-radius:6px;outline:none;padding:5px 6px;font-family:inherit;font-size:12px}.cp-angle-field input:focus{box-shadow:0 0 0 2px #863bff29}.cp-angle-field span{color:var(--text-muted,#52525b);font-size:12px}.cp-hex-row{align-items:center;gap:8px;display:flex}.cp-swatch-mini{border-radius:8px;flex-shrink:0;width:28px;height:28px}.cp-hex-input{background:var(--bg-input,#27272a);color:var(--text-primary,#fafafa);border:none;border-radius:8px;outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:12px}.cp-hex-input:focus{box-shadow:0 0 0 2px #863bff29}.cp-eyedropper{background:var(--bg-input,#27272a);width:28px;height:28px;color:var(--text-tertiary,#71717a);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.cp-eyedropper:hover{background:var(--bg-hover,#303036);color:var(--text-primary,#fafafa)}:root{--bg-base:#0a0a0b;--bg-surface:#131314;--bg-elevated:#1c1c1e;--bg-input:#222225;--bg-hover:#2e2e32;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-muted:#52525b;--accent:#8f52ff;--accent-hover:#a472ff;--accent-subtle:#863bff29;--accent-gradient:linear-gradient(135deg, #863bff, #a855f7);--danger:#ef4444;--danger-subtle:#ef44441f;--border-subtle:#ffffff0f;--border-strong:#ffffff1f;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-xl:0 16px 48px #0009;--transition:.15s cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.23, 1, .32, 1)}.app{background:var(--bg-base);height:100vh;color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.topbar{background:0 0;flex-shrink:0;align-items:center;height:58px;padding:0 18px;display:flex}.topbar-left{flex:1;align-items:center;gap:8px;display:flex}.logo{color:var(--text-primary);letter-spacing:-.3px;font-size:15px;font-weight:600}.topbar-center{flex:1;justify-content:center;display:flex}.topbar-center-tabs{gap:4px;display:flex}.tab-btn{color:var(--text-tertiary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:0 0;border:none;border-radius:999px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;position:relative}.tab-tooltip{color:var(--text-secondary);white-space:nowrap;border-radius:var(--radius-md);pointer-events:none;z-index:100;background:#1e1e22;padding:6px 10px;font-size:12px;font-weight:450;display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.tab-tooltip kbd{color:var(--text-primary);background:#ffffff1a;border-radius:4px;margin-left:2px;padding:1px 5px;font-family:inherit;font-size:11px;font-weight:500;display:inline-block}.tab-btn:hover .tab-tooltip{display:block}.tab-btn.active{color:var(--text-primary);background:#202024;box-shadow:0 2px 10px #0000004d}.tab-btn:hover:not(.active){color:var(--text-secondary)}.topbar-actions{flex:1;justify-content:flex-end;gap:8px;display:flex}.btn-play,.btn-stop{cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);border:none;border-radius:999px;align-items:center;gap:6px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.btn-play{color:var(--text-primary);background:#ffffff14}.btn-play:hover{background:var(--bg-hover)}.btn-stop{background:var(--danger-subtle);color:var(--danger)}.btn-stop:hover{background:#ef444433}.btn-export-split{background:#fafafa;border-radius:999px;align-items:stretch;display:flex;box-shadow:0 2px 12px #0006}.btn-export{cursor:pointer;color:#0c0c0e;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:0 0;border:none;border-radius:999px 0 0 999px;align-items:center;gap:6px;padding:7px 14px 7px 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.btn-export:hover{background:#0000000f}.btn-export-caret{color:#0c0c0e;cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:0 0;border:none;border-left:1px solid #0000001f;border-radius:0 999px 999px 0;align-items:center;padding:0 10px 0 8px;display:flex}.btn-export-caret:hover{background:#0000000f}.export-dropdown{border:1px solid var(--border-strong);border-radius:var(--radius-lg);z-index:200;min-width:180px;animation:dropdown-in .16s var(--ease-out);transform-origin:100% 0;background:#141416;padding:6px;box-shadow:0 16px 48px #000000b3}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.export-dropdown-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);outline:none;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:450;display:flex}.export-dropdown-item:hover,.export-dropdown-item[data-highlighted]{color:var(--text-primary);background:#ffffff0f}.export-dropdown-separator{background:#ffffff14;height:1px;margin:4px 0}.btn-icon{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-icon:hover{color:var(--text-primary)}.main{background:var(--bg-base);flex:1;gap:14px;padding:0 14px 14px;display:flex;overflow:hidden}.layers-panel{background:var(--bg-surface);border-radius:20px;flex-shrink:0;width:260px;overflow-y:auto;box-shadow:0 12px 40px #00000073}.layers-panel .panel-section{padding:14px 12px}.layers-header{align-items:center;gap:8px;margin-bottom:10px;padding:0 4px;display:flex}.layers-header h3{text-transform:uppercase;letter-spacing:1.2px;color:#6b6b74;flex:1;font-size:11px;font-weight:600;line-height:1;margin:0!important}.layers-actions{gap:3px;display:flex}.selection-info{color:var(--accent);text-align:center;padding:6px 0 0;font-size:11px;font-weight:500}.btn-add-small{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.btn-add-small:hover{color:var(--text-primary)}.canvas-area{background:var(--bg-base);cursor:default;border-radius:20px;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.canvas-area.drag-over{background-color:#111114}.canvas-area.panning{cursor:grab}.canvas-area.panning:active{cursor:grabbing}.canvas-transform{justify-content:center;align-items:center;display:flex}.zoom-indicator{color:var(--text-tertiary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);z-index:50;pointer-events:none;font-variant-numeric:tabular-nums;background:#0e0e10d9;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:500;position:absolute;bottom:12px;left:12px}.drop-overlay{background:var(--accent-subtle);border:2px dashed var(--accent);border-radius:var(--radius-lg);z-index:100;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:8px}.drop-message{color:var(--accent);font-size:16px;font-weight:500}.artboard-wrapper{border-radius:16px;position:relative}.artboard{border-radius:16px;position:relative;overflow:hidden}.artboard-image{-webkit-user-select:none;user-select:none;position:absolute}.artboard-image img,.artboard-image video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.artboard-image.selected{outline:2px solid var(--accent);outline-offset:0px}.resize-handle{z-index:10;width:8px;height:8px;box-shadow:0 0 0 1px var(--accent), 0 1px 3px #0000004d;background:#fff;border-radius:2px;position:absolute}.resize-handle.nw{cursor:nw-resize;top:-4px;left:-4px}.resize-handle.ne{cursor:ne-resize;top:-4px;right:-4px}.resize-handle.sw{cursor:sw-resize;bottom:-4px;left:-4px}.resize-handle.se{cursor:se-resize;bottom:-4px;right:-4px}.timeline{background:var(--bg-surface);z-index:40;border-radius:16px;max-height:240px;padding:0 14px 12px;position:absolute;bottom:14px;left:14px;right:14px;overflow-y:auto;box-shadow:0 12px 40px #00000080}.timeline-header{background:var(--bg-surface);z-index:15;border-radius:16px 16px 0 0;align-items:center;gap:10px;margin:0 -14px;padding:10px 18px 8px;display:flex;position:sticky;top:0}.timeline-label{width:100px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px;font-weight:500}.timeline-tracks{position:relative;overflow:hidden}.timeline-track{cursor:pointer;border-radius:var(--radius-md);height:28px;transition:background var(--transition);align-items:center;gap:10px;padding:0 6px;display:flex}.timeline-track:hover{background:#ffffff0a}.timeline-track.selected{background:#ffffff14}.track-label{width:100px;color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:11px;font-weight:500;overflow:hidden}.track-bar-container{background:#ffffff0f;border-radius:999px;flex:1;height:14px;position:relative;overflow:hidden}.track-bar{background:var(--accent);opacity:.9;border-radius:999px;min-width:6px;position:absolute;top:2px;bottom:2px}.track-bar.stay{opacity:.45;background:#22c55e;border-radius:0;min-width:2px}.track-bar.exit{background:var(--danger);opacity:.65}.timeline-scrubber{cursor:pointer;flex:1;padding:6px 0}.scrubber-track{background:#ffffff1a;border-radius:999px;height:6px;position:relative}.scrubber-fill{background:#ffffffd9;border-radius:999px;height:100%;position:absolute;top:0;left:0}.scrubber-head{box-sizing:border-box;cursor:grab;background:#fff;border:2.5px solid #161618;border-radius:50%;width:15px;height:15px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000073}.scrubber-head:active{cursor:grabbing;transform:translate(-50%,-50%)scale(1.15)}.playhead-line{z-index:10;pointer-events:none;background:#ef4444;width:1px;position:absolute;top:0;bottom:0}.playhead-dot{background:#ef4444;border-radius:50%;width:9px;height:9px;position:absolute;top:-6px;left:-4px}.panel{background:var(--bg-surface);border-radius:20px;flex-shrink:0;width:288px;overflow-y:auto;box-shadow:0 12px 40px #00000073}.panel-section{padding:16px}.panel-section+.panel-section{padding-top:6px}.panel-section h3{text-transform:uppercase;letter-spacing:1.2px;color:#6b6b74;margin:0 0 12px;font-size:11px;font-weight:600}.field{margin-bottom:8px}.field label{color:var(--text-tertiary);margin-bottom:4px;font-size:11px;font-weight:500;display:block}.field select,.field input[type=number],.field input[type=text]{background:var(--bg-input);border-radius:var(--radius-md);width:100%;color:var(--text-primary);box-sizing:border-box;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);border:none;outline:none;padding:8px 12px;font-family:inherit;font-size:13px}.field select:hover,.field input[type=number]:hover:not(:disabled),.field input[type=text]:hover{background:var(--bg-hover)}.field input:disabled{opacity:.5;cursor:not-allowed}.field select:focus,.field input[type=number]:focus,.field input[type=text]:focus{background:var(--bg-hover);box-shadow:0 0 0 2px var(--accent-subtle)}.field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.field-row{gap:8px;display:flex}.field-row .field{flex:1}.easing-dropdown{position:relative}.easing-trigger{background:var(--bg-input);border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:box-shadow var(--transition);border:none;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:13px;display:flex}.easing-trigger:hover{background:var(--bg-hover)}.easing-trigger-label{flex:1;font-weight:450}.easing-arrow-icon{opacity:.4;flex-shrink:0}.easing-curve-svg{flex-shrink:0;display:block}.easing-popover{z-index:200;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#141416;width:248px;padding:8px;position:fixed;overflow-y:auto;box-shadow:0 24px 80px #000c}.easing-group{margin-bottom:2px}.easing-group-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);padding:8px 4px 4px;font-size:10px;font-weight:600}.easing-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.easing-option{border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:#1a1a1e;border:none;flex-direction:column;align-items:center;gap:5px;padding:10px 6px 7px;font-family:inherit;font-size:10px;font-weight:500;display:flex}.easing-option:hover{color:var(--text-secondary);background:#252529}.easing-option:hover .easing-curve-svg path{stroke:#ffffffd9}.easing-option.active{background:var(--accent-subtle);color:var(--text-primary)}.easing-option.active .easing-curve-svg path{stroke:#fff}.easing-option-curve{justify-content:center;align-items:center;display:flex}.easing-option-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;line-height:1.2;overflow:hidden}.bg-picker-trigger-row{cursor:pointer;align-items:center;gap:6px;margin-bottom:10px;display:flex}.bg-picker-swatch{border-radius:var(--radius-md);width:28px;height:28px;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);flex-shrink:0}.bg-picker-wrapper{position:relative}.bg-picker-trigger-row:hover .bg-picker-swatch{opacity:.8}.bg-picker-overlay{z-index:199;position:fixed;inset:0}.bg-picker-popover{border:1px solid var(--border-strong);border-radius:var(--radius-lg);z-index:200;background:#141416;padding:12px;position:absolute;top:calc(100% + 8px);left:-12px;right:-12px;box-shadow:0 24px 80px #000c}.bg-custom-row{align-items:center;gap:6px;margin-bottom:10px;display:flex}.bg-current-mini{border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;width:32px;height:32px;position:relative}.bg-current-mini:hover{opacity:.85}.bg-custom-input{background:var(--bg-input);border-radius:var(--radius-md);color:var(--text-primary);border:none;outline:none;flex:1;padding:7px 10px;font-family:inherit;font-size:12px}.bg-custom-input:focus{box-shadow:0 0 0 2px var(--accent-subtle)}.bg-group{margin-bottom:18px}.bg-group-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.bg-group-label{color:var(--text-primary);letter-spacing:-.1px;font-size:14px;font-weight:600}.bg-expand-btn{color:var(--text-tertiary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:#ffffff12;border:none;border-radius:999px;padding:3px 10px;font-family:inherit;font-size:10.5px;font-weight:500}.bg-expand-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.bg-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding-right:14px;display:grid}.bg-swatch{aspect-ratio:4/3;cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);border:none;border-radius:12px;position:relative;box-shadow:inset 0 0 0 1px #ffffff12}.bg-expand-tile{color:var(--text-secondary);background:#242428;justify-content:center;align-items:center;display:flex}.bg-expand-tile:hover{background:var(--bg-hover);color:var(--text-primary);transform:none}.bg-swatch:hover{z-index:1;transform:scale(1.07);box-shadow:inset 0 0 0 1px #ffffff29,0 4px 12px #0006}.bg-swatch.active{box-shadow:0 0 0 2px var(--bg-surface), 0 0 0 3.5px #ffffffd9}.bg-swatch-img{image-rendering:auto}.bg-upload-btn{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);border-radius:var(--radius-md);width:100%;color:var(--text-tertiary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:0 0;justify-content:center;align-items:center;gap:6px;padding:9px;font-family:inherit;font-size:12px;font-weight:500;display:flex}.bg-upload-btn:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--text-primary);border-style:solid}.duration-field{align-items:center;gap:6px;display:flex}.duration-field input{flex:1}.duration-field span{color:var(--text-muted);font-size:12px;font-weight:500}.btn-fit{border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);white-space:nowrap;border:none;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:500}.btn-fit:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-primary{color:#0c0c0e;cursor:pointer;width:100%;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:#fafafa;border:none;border-radius:999px;margin-bottom:8px;padding:9px;font-family:inherit;font-size:13px;font-weight:600;box-shadow:0 2px 10px #0000004d}.btn-primary:hover{background:#e9e9ec}.image-list{flex-direction:column;gap:2px;display:flex}.image-item{border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition);align-items:center;gap:10px;padding:8px 10px;display:flex}.image-item:hover{background:#ffffff0d}.image-item.selected{background:#ffffff17;box-shadow:inset 0 0 0 1px #ffffff1a}.image-item.selected .image-name{color:var(--text-primary)}.image-item.drag-over{box-shadow:inset 0 2px 0 0 var(--accent)}.image-item.dragging{opacity:.35}.image-thumb{object-fit:cover;border-radius:10px;flex-shrink:0;width:38px;height:38px;box-shadow:inset 0 0 0 1px #ffffff0f}.image-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary);flex:1;font-size:13px;font-weight:450;overflow:hidden}.btn-remove{width:22px;height:22px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.image-item:hover .btn-remove{opacity:1;color:var(--text-tertiary)}.btn-remove:hover{background:#ef444426;color:#f87171!important}.sequence-info{flex-direction:column;min-width:0;display:flex}.sequence-meta{color:var(--text-muted);font-size:10px;font-weight:450}.drop-card{background:var(--bg-elevated);border-radius:var(--radius-xl);cursor:pointer;width:100%;transition:background var(--transition);border:none;flex-direction:column;align-items:center;gap:4px;padding:32px 16px 26px;font-family:inherit;display:flex}.drop-card:hover{background:#232327}.drop-card-tile{width:56px;height:56px;color:var(--text-secondary);transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:#ffffff17;border-radius:16px;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.drop-card:hover .drop-card-tile{color:var(--text-primary);background:#ffffff24}.drop-card-title{color:var(--text-secondary);font-size:13px;font-weight:500}.drop-card-sub{color:var(--text-muted);font-size:11px}.hint{color:var(--text-muted);text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:#ffffff04;margin:4px 2px;padding:28px 12px;font-size:12px;line-height:1.6}.hint-small{color:var(--text-muted);margin-bottom:8px;font-size:11px}.section-header-row{justify-content:space-between;align-items:center;display:flex}.section-header-row h3{margin-bottom:0}.checkbox-label.compact{gap:0;font-size:0}.checkbox-field{margin-bottom:8px}.checkbox-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:450;display:flex}.checkbox-label input[type=checkbox]{appearance:none;cursor:pointer;width:36px;height:20px;transition:background var(--transition);background:#ffffff1a;border-radius:10px;flex-shrink:0;margin:0;padding:0;position:relative}.checkbox-label input[type=checkbox]:after{content:"";width:14px;height:14px;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:#fff6;border-radius:50%;position:absolute;top:3px;left:3px}.checkbox-label input[type=checkbox]:checked{background:#fafafa}.checkbox-label input[type=checkbox]:checked:after{background:#161618;left:19px}.align-row{flex-wrap:wrap;gap:6px;display:flex}.align-group{background:var(--bg-input);border-radius:var(--radius-sm);gap:1px;padding:2px;display:flex}.align-btn{width:26px;height:26px;color:var(--text-tertiary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex}.align-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.align-btn svg{width:14px;height:14px}.frame-style-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.frame-style-btn{border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-tertiary);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);border:none;flex-direction:column;align-items:center;gap:5px;padding:8px 4px 6px;font-family:inherit;font-size:10px;font-weight:500;display:flex}.frame-style-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.frame-style-btn.active{background:var(--accent-subtle);color:var(--text-primary);box-shadow:inset 0 0 0 1.5px #863bff73}.frame-style-preview{background:#c8c8cc;border-radius:6px;width:48px;height:36px;position:relative;overflow:hidden}.fs-inner{border-radius:inherit;position:absolute;inset:0}.fs-none .fs-inner{background:linear-gradient(135deg,#e8e8ec 60%,#d0d0d4)}.fs-border{background:#fff}.fs-border .fs-inner{background:linear-gradient(135deg,#e8e8ec 60%,#d0d0d4);inset:3px}.fs-glass .fs-inner,.fs-glass-light .fs-inner,.fs-glass-dark .fs-inner{background:linear-gradient(135deg,#e8e8ec 60%,#d0d0d4);box-shadow:inset 0 1px 6px #fff6,inset 0 -1px 4px #00000014}.border-color-picker{margin-top:10px}.border-color-picker label{color:var(--text-tertiary);margin-bottom:6px;font-size:11px;font-weight:500;display:block}.frame-overlay{pointer-events:none;border-radius:inherit;z-index:1;position:absolute;inset:0}.frame-glass .frame-overlay,.frame-glass-light .frame-overlay,.frame-glass-dark .frame-overlay{box-shadow:inset 0 2px 12px #fff3,inset 0 -2px 8px #0000000f}.slider-field{margin-bottom:10px}.effect-label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.effect-label-row label{margin-bottom:0}.effect-label-row .mini-toggle{cursor:pointer;align-items:center;gap:7px;margin:0;display:flex}.mini-toggle span{color:var(--text-muted);font-size:10.5px;font-weight:500;line-height:1}.mini-toggle input[type=checkbox]{appearance:none;cursor:pointer;width:28px;height:16px;transition:background var(--transition);background:#ffffff1a;border-radius:999px;flex-shrink:0;margin:0;padding:0;position:relative}.mini-toggle input[type=checkbox]:after{content:"";width:11px;height:11px;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:#ffffff73;border-radius:50%;position:absolute;top:2.5px;left:2.5px}.mini-toggle input[type=checkbox]:checked{background:#fafafa}.mini-toggle input[type=checkbox]:checked:after{background:#161618;left:14.5px}.slider-field label{color:var(--text-tertiary);margin-bottom:6px;font-size:11px;font-weight:500;display:block}.slider-field-row{align-items:center;gap:10px;display:flex}.slider-field-row .align-slider-root{flex:1;min-width:0}.border-radius-number{background:var(--bg-input);width:52px;height:30px;color:var(--text-primary);text-align:center;border:none;border-radius:999px;outline:none;padding:0 6px;font-family:inherit;font-size:12px}.border-radius-number:focus{box-shadow:0 0 0 2px var(--accent-subtle)}.btn-video-duration{border-radius:var(--radius-md);width:100%;color:var(--accent);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition), border-color var(--transition);background:0 0;border:1px dashed #ffffff1f;margin-top:4px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:500}.btn-video-duration:hover{background:var(--accent-subtle);border-color:var(--accent)}.export-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;animation:overlay-in .2s var(--ease-out);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.export-modal{background:var(--bg-surface);border:1px solid var(--border-strong);text-align:center;border-radius:20px;min-width:340px;padding:40px 48px;box-shadow:0 32px 80px #0009}.export-modal-icon{color:var(--accent);margin-bottom:16px}.export-modal h2{color:var(--text-primary);margin:0 0 6px;font-size:18px;font-weight:600}.export-modal-status{color:var(--text-tertiary);margin:0 0 20px;font-size:13px;font-weight:450}.export-progress-track{background:#ffffff14;border-radius:3px;width:100%;height:6px;margin-bottom:10px;overflow:hidden}.export-progress-fill{background:#fafafa;border-radius:3px;height:100%;transition:width .15s}.export-progress-pct{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}@keyframes pop-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.easing-popover,.bg-picker-popover{animation:pop-in .15s var(--ease-out);transform-origin:top}.btn-play:active,.btn-stop:active,.btn-icon:active,.btn-add-small:active,.btn-primary:active,.btn-fit:active,.bg-expand-tile:active,.bg-upload-btn:active,.drop-card:active,.frame-style-btn:active,.align-btn:active,.easing-option:active,.bg-expand-btn:active{transform:scale(.97)}.btn-export:active,.btn-export-caret:active{opacity:.75}@media (hover:none),(pointer:coarse){.bg-swatch:hover{transform:none}}@media (prefers-reduced-motion:reduce){.bg-swatch:hover,.btn-play:active,.btn-stop:active,.btn-icon:active,.btn-add-small:active,.btn-primary:active,.btn-fit:active,.bg-expand-tile:active,.bg-upload-btn:active,.drop-card:active,.frame-style-btn:active,.align-btn:active,.easing-option:active,.bg-expand-btn:active,.align-slider-thumb:hover,.align-slider-thumb:active,.scrubber-head:active{transform:none}.export-dropdown,.easing-popover,.bg-picker-popover,.export-overlay{animation-duration:1ms}}
