*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #08080f;--surface: #111119;--surface-2: #18182a;--surface-3: #20203a;--surface-4: #282848;--border: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .13);--border-focus: rgba(112, 96, 255, .5);--accent: #7060ff;--accent-hi: #8878ff;--accent-dim: rgba(112, 96, 255, .15);--accent-glow: rgba(112, 96, 255, .25);--accent-light: #a898ff;--pink: #e84d8a;--pink-dim: rgba(232, 77, 138, .13);--teal: #1dc99e;--teal-dim: rgba(29, 201, 158, .12);--amber: #ff8b3d;--amber-dim: rgba(255, 139, 61, .12);--purple: #a855f7;--purple-dim: rgba(168, 85, 247, .13);--text: rgba(255, 255, 255, .92);--text-2: rgba(255, 255, 255, .56);--text-3: rgba(255, 255, 255, .3);--text-4: rgba(255, 255, 255, .16);--on-accent: #fff;--canvas-bg: #000;--hover-bg: rgba(255, 255, 255, .05);--hover-bg-2: rgba(255, 255, 255, .08);--overlay-bg: rgba(0, 0, 0, .55);--scrollbar-thumb: rgba(255, 255, 255, .1);--scrollbar-thumb-hover: rgba(255, 255, 255, .18);--selection-bg: rgba(112, 96, 255, .35);--selection-text: #fff;--r-xs: 4px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;font-family:-apple-system,SF Pro Text,BlinkMacSystemFont,Inter,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}[data-theme=light]{--bg: #f5f5f8;--surface: #ffffff;--surface-2: #f0f0f5;--surface-3: #e5e5ee;--surface-4: #d8d8e5;--border: rgba(0, 0, 0, .08);--border-hover: rgba(0, 0, 0, .15);--border-focus: rgba(91, 76, 219, .5);--accent: #5b4cdb;--accent-hi: #6e5cf0;--accent-dim: rgba(91, 76, 219, .1);--accent-glow: rgba(91, 76, 219, .18);--accent-light: #7868e0;--pink: #d63c78;--pink-dim: rgba(214, 60, 120, .1);--teal: #12a882;--teal-dim: rgba(18, 168, 130, .1);--amber: #e07020;--amber-dim: rgba(224, 112, 32, .1);--purple: #9333ea;--purple-dim: rgba(147, 51, 234, .1);--text: rgba(0, 0, 0, .87);--text-2: rgba(0, 0, 0, .6);--text-3: rgba(0, 0, 0, .4);--text-4: rgba(0, 0, 0, .2);--on-accent: #fff;--canvas-bg: #e8e8f0;--hover-bg: rgba(0, 0, 0, .04);--hover-bg-2: rgba(0, 0, 0, .06);--overlay-bg: rgba(0, 0, 0, .3);--scrollbar-thumb: rgba(0, 0, 0, .12);--scrollbar-thumb-hover: rgba(0, 0, 0, .22);--selection-bg: rgba(91, 76, 219, .25);--selection-text: #000;color-scheme:light}[data-theme-ready]{transition:background-color .25s ease,color .15s ease,border-color .2s ease}[data-theme-ready] .app-header,[data-theme-ready] .sidebar,[data-theme-ready] .preview-col,[data-theme-ready] .canvas-shell,[data-theme-ready] .nav-item,[data-theme-ready] .source-link,[data-theme-ready] .theme-toggle{transition:background-color .25s ease,color .15s ease,border-color .2s ease,box-shadow .2s ease}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--text)}#app{height:100%;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}::selection{background:var(--selection-bg);color:var(--selection-text)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@media (max-width: 760px){html,body,#app{width:100%;height:100dvh}body{min-width:0;overscroll-behavior:none}button,a,input,select,textarea{touch-action:manipulation}input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea{min-height:40px;font-size:16px!important}#app :is(.home-page,.diffusion-page,.splice-page,.ink-page,.fragment-page,.waterfall-page,.beam-page,.particle-page,.kaleidoscope-page,.raindrop-page,.palette-page,.intro-page,.poster-page){display:flex;flex-direction:column;width:100%;height:auto;min-height:100%;overflow:visible}#app :is(.home-page,.diffusion-page,.splice-page,.ink-page,.fragment-page,.waterfall-page,.beam-page,.particle-page,.kaleidoscope-page,.raindrop-page,.palette-page,.intro-page,.poster-page)>.preview-col{order:0;flex:none;width:100%;min-height:0;padding:16px;overflow:visible;border-right:0;border-bottom:1px solid var(--border)}#app :is(.home-page,.diffusion-page,.splice-page,.ink-page,.fragment-page,.waterfall-page,.beam-page,.particle-page,.kaleidoscope-page,.raindrop-page,.palette-page,.intro-page,.poster-page)>.sidebar{order:1;flex:none;width:100%;overflow:visible;border-left:0;padding-bottom:max(24px,env(safe-area-inset-bottom))}#app :is(.diffusion-page,.splice-page,.ink-page,.fragment-page,.waterfall-page,.beam-page,.particle-page,.kaleidoscope-page,.raindrop-page,.palette-page,.poster-page)>.preview-col>.canvas-wrapper{flex:none;width:100%;min-height:0}#app :is(.diffusion-page,.splice-page,.ink-page,.fragment-page,.waterfall-page,.beam-page,.particle-page,.kaleidoscope-page,.raindrop-page,.palette-page,.poster-page) .canvas-shell:not(.is-fullscreen){width:100%;height:auto;max-height:none}#app .home-page>.preview-col>.preview-wrap{display:block;flex:none;width:100%}#app .home-page .preview-root{height:auto}#app .home-page .preview-root>.canvas-wrapper{flex:none;width:100%}#app .home-page .canvas-shell{width:100%;height:auto;max-height:none}#app .home-page .steps-bar{max-width:100%;gap:8px;padding:10px 12px;overflow-x:auto;scrollbar-width:none}#app .home-page .steps-bar::-webkit-scrollbar{display:none}#app .home-page .step{flex:0 0 auto}#app .intro-page .canvas-shell{flex:none;width:100%;height:auto;aspect-ratio:16 / 9}#app .intro-page .timeline-row,#app .poster-page .export-bar{flex-wrap:wrap}#app .intro-page .timeline-row .export-btn{width:100%;min-height:40px;justify-content:center}#app .poster-page .export-bar .export-btn{flex:1 1 130px;min-height:40px;justify-content:center}#app .poster-page .size-hint{flex-basis:100%;margin-left:0;text-align:center}#app .fullscreen-btn{width:40px;height:40px;opacity:1}#app .filmstrip-page{height:auto;min-height:100%;overflow:visible}#app .filmstrip-page .page-layout{display:flex;flex-direction:column;width:100%;height:auto;min-height:100%}#app .filmstrip-page .film-stage{order:-1;flex:none;width:100%;min-height:0;overflow:hidden}#app .filmstrip-page .canvas-area{height:auto;min-height:0;padding:16px}#app .filmstrip-page .canvas-wrap{width:100%;max-width:100%;max-height:none}#app .filmstrip-page .sidebar{flex:none;width:100%;overflow:visible;border-top:1px solid rgba(255,255,255,.06);border-right:0;padding-bottom:env(safe-area-inset-bottom)}#app .filmstrip-page .sidebar-inner{padding:18px 16px max(28px,env(safe-area-inset-bottom))}#app .filmstrip-page .reel-deco{display:none}#app .music-ball-page{display:flex;flex-direction:column;min-height:0}#app .music-ball-page .canvas-wrapper{min-height:min(70vw,360px)}#app .music-ball-page .side-panel{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 420px){#app .effects-grid,#app .transition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#app .status-bar{padding-inline:10px}}.app[data-v-d29b312a]{height:100%;display:flex;flex-direction:column}.app-header[data-v-d29b312a]{flex-shrink:0;height:48px;display:flex;align-items:center;gap:16px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.brand[data-v-d29b312a]{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand-mark[data-v-d29b312a]{color:var(--accent)}.brand-name[data-v-d29b312a]{font-size:15px;font-weight:700;letter-spacing:.04em;background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent-hi) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.divider[data-v-d29b312a]{width:1px;height:20px;background:var(--border);flex-shrink:0}.app-nav[data-v-d29b312a]{display:flex;gap:2px}.nav-item[data-v-d29b312a]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--r-sm);font-size:12.5px;font-weight:500;color:var(--text-3);transition:color .15s,background .15s}.nav-item[data-v-d29b312a]:hover{color:var(--text-2);background:var(--hover-bg)}.nav-item.active[data-v-d29b312a]{color:var(--accent-light);background:var(--accent-dim)}.header-right[data-v-d29b312a]{margin-left:auto;display:flex;align-items:center;gap:4px}.zoom-group[data-v-d29b312a]{display:flex;align-items:center;gap:2px;margin-right:4px}.zoom-btn[data-v-d29b312a]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;color:var(--text-3);background:transparent;border:none;cursor:pointer;transition:color .15s,background .15s}.zoom-btn[data-v-d29b312a]:hover{color:var(--text);background:var(--accent-dim)}.source-link[data-v-d29b312a]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);color:var(--text-3);transition:color .15s,background .15s}.source-link[data-v-d29b312a]:hover{color:var(--text);background:var(--hover-bg-2)}.theme-toggle[data-v-d29b312a]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);color:var(--text-3);transition:color .15s,background .15s}.theme-toggle[data-v-d29b312a]:hover{color:var(--text);background:var(--hover-bg-2)}.about-toggle[data-v-d29b312a]{animation:about-pulse-d29b312a 2.4s ease-in-out infinite}@keyframes about-pulse-d29b312a{0%,to{color:var(--accent, #3370ff);transform:scale(1);background:transparent;filter:drop-shadow(0 0 0 rgba(255,140,0,0))}50%{color:#ff8c00;transform:scale(1.25);background:rgba(255,140,0,.18);filter:drop-shadow(0 0 8px rgba(255,140,0,.9))}}.about-mask[data-v-d29b312a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:24px}.about-box[data-v-d29b312a]{width:min(560px,92vw);max-height:80vh;overflow:auto;border-radius:var(--r-md, 10px);background:var(--bg-2, #ffffff);color:var(--text, #1f2329);border:1px solid var(--border, #e4e6eb);box-shadow:0 8px 30px #0003;display:flex;flex-direction:column}.about-head[data-v-d29b312a]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-weight:600;border-bottom:1px solid var(--border, #e4e6eb)}.about-close[data-v-d29b312a]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:var(--text-3, #646a73)}.about-close[data-v-d29b312a]:hover{color:var(--text, #1f2329)}.about-body[data-v-d29b312a]{padding:16px 20px}.about-title[data-v-d29b312a]{font-size:15px;font-weight:700;margin:0 0 8px}.about-body p[data-v-d29b312a]{margin:6px 0;font-size:13px;line-height:1.6}.about-body a[data-v-d29b312a]{color:var(--accent, #3370ff)}.about-sponsor[data-v-d29b312a]{text-align:center;padding:2px 0 10px}.about-qr[data-v-d29b312a]{width:280px;height:280px;object-fit:contain;border-radius:8px;border:1px solid var(--border, #e4e6eb);background:#ffffff}.about-sponsor-text[data-v-d29b312a]{font-size:14px;font-weight:600;margin:12px 0 4px!important}.about-sponsor-mail[data-v-d29b312a]{font-size:13px;color:var(--accent, #3370ff)}.about-mail-link[data-v-d29b312a]{color:inherit;text-decoration:none}.about-mail-link[data-v-d29b312a]:hover{text-decoration:underline}.about-divider[data-v-d29b312a]{border:none;border-top:1px solid var(--border, #e4e6eb);margin:14px 0 12px}.about-mit-line[data-v-d29b312a]{font-size:12px;color:var(--text-2, #4e5969)}.about-note[data-v-d29b312a]{color:var(--text-3, #646a73);font-size:12px}.compress-wrap[data-v-d29b312a]{position:relative;display:flex;align-items:center;margin-right:2px}.compress-toggle[data-v-d29b312a]{display:inline-flex;align-items:center;justify-content:center;position:relative;border:none;background:transparent;color:var(--text-3);width:30px;height:30px;border-radius:var(--r-sm);cursor:pointer;transition:color .15s,background .15s}.compress-toggle[data-v-d29b312a]:hover{color:var(--text);background:var(--hover-bg-2)}.compress-badge[data-v-d29b312a]{position:absolute;top:1px;right:1px;font-size:9px;line-height:1;color:var(--text-2);background:var(--bg);border-radius:3px;padding:1px 2px;border:1px solid var(--hover-bg-2)}.compress-menu[data-v-d29b312a]{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:110px;background:var(--bg);border:1px solid var(--hover-bg-2);border-radius:var(--r-sm);box-shadow:0 6px 20px #0000001f;padding:4px;display:flex;flex-direction:column}.compress-menu button[data-v-d29b312a]{border:none;background:transparent;color:var(--text-3);font-size:13px;font-family:inherit;text-align:left;padding:7px 10px;border-radius:var(--r-sm);cursor:pointer;transition:color .15s,background .15s}.compress-menu button[data-v-d29b312a]:hover{color:var(--text);background:var(--hover-bg-2)}.compress-menu button.active[data-v-d29b312a]{color:var(--text);font-weight:600}.app-body[data-v-d29b312a]{flex:1;min-height:0;overflow:hidden}@media (max-width: 760px){.app-header[data-v-d29b312a]{height:auto;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"brand spacer actions" "nav nav nav";gap:6px 10px;padding:calc(8px + env(safe-area-inset-top)) 12px 0}.brand[data-v-d29b312a]{grid-area:brand}.divider[data-v-d29b312a]{display:none}.app-nav[data-v-d29b312a]{grid-area:nav;min-width:0;width:100%;gap:4px;padding-bottom:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.app-nav[data-v-d29b312a]::-webkit-scrollbar{display:none}.nav-item[data-v-d29b312a]{flex:0 0 auto;min-height:36px;padding:7px 12px;font-size:13px}.header-right[data-v-d29b312a]{grid-area:actions;margin-left:0}.theme-toggle[data-v-d29b312a],.source-link[data-v-d29b312a]{width:36px;height:36px}.app-body[data-v-d29b312a]{overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}}@media (max-width: 480px){.source-link[data-v-d29b312a]{display:none}}.beat-transition-layout[data-v-bd328b68]{height:100%;display:flex;flex-direction:column}.sub-tabs[data-v-bd328b68]{flex-shrink:0;height:38px;display:flex;align-items:center;gap:2px;padding:0 20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;background:var(--surface);border-bottom:1px solid var(--border)}.sub-tabs[data-v-bd328b68]::-webkit-scrollbar{display:none}.sub-tab[data-v-bd328b68]{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:5px 14px;border-radius:var(--r-sm);font-size:12px;font-weight:500;color:var(--text-3);transition:color .15s,background .15s;position:relative}.sub-tab[data-v-bd328b68]:hover{color:var(--text-2);background:var(--hover-bg)}.sub-tab.active[data-v-bd328b68]{color:var(--text);background:var(--hover-bg-2)}.sub-tab.active[data-v-bd328b68]:after{content:"";position:absolute;bottom:-7px;left:14px;right:14px;height:2px;background:var(--accent);border-radius:1px}.sub-content[data-v-bd328b68]{flex:1;min-height:0;overflow:hidden}@media (max-width: 760px){.beat-transition-layout[data-v-bd328b68]{height:auto;min-height:100%}.sub-tabs[data-v-bd328b68]{position:sticky;top:0;z-index:30;height:44px;justify-content:flex-start;gap:4px;padding:0 12px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sub-tabs[data-v-bd328b68]::-webkit-scrollbar{display:none}.sub-tab[data-v-bd328b68]{flex:0 0 auto;min-height:34px;padding:7px 12px;font-size:12.5px}.sub-tab.active[data-v-bd328b68]:after{bottom:-5px;left:12px;right:12px}.sub-content[data-v-bd328b68]{flex:none;min-height:calc(100dvh - 136px);overflow:visible}}.hidden[data-v-e1f5c417]{display:none}.image-grid[data-v-e1f5c417]{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.img-tile[data-v-e1f5c417]{position:relative;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;cursor:grab;border:1.5px solid transparent;transition:border-color .15s,opacity .15s,transform .15s;background:var(--surface-2)}.img-tile img[data-v-e1f5c417]{width:100%;height:100%;object-fit:cover;display:block}.img-tile[data-v-e1f5c417]:hover{border-color:var(--border-hover)}.img-tile.sorting[data-v-e1f5c417]{opacity:.35}.img-tile.over[data-v-e1f5c417]{border-color:var(--accent);transform:scale(1.04)}.tile-overlay[data-v-e1f5c417]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,rgba(0,0,0,.6) 0%,transparent 50%,rgba(0,0,0,.4) 100%);opacity:0;transition:opacity .15s;display:flex;justify-content:space-between;align-items:flex-start;padding:5px}.img-tile:hover .tile-overlay[data-v-e1f5c417]{opacity:1}.tile-num[data-v-e1f5c417]{font-size:10px;font-weight:700;color:#ffffffe6;background:rgba(0,0,0,.5);width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center}.tile-del[data-v-e1f5c417]{width:18px;height:18px;border-radius:4px;background:rgba(220,50,80,.85);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s}.tile-del[data-v-e1f5c417]:hover{background:rgba(220,50,80,1)}.add-tile[data-v-e1f5c417]{display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--border);color:var(--text-4);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.add-tile[data-v-e1f5c417]:hover{border-color:var(--border-hover);color:var(--text-3);background:var(--hover-bg)}.drop-zone[data-v-e1f5c417]{border:1.5px dashed var(--border-hover);border-radius:var(--r-md);padding:24px 16px;text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:6px}.drop-zone[data-v-e1f5c417]:hover{border-color:#7060ff66;background:var(--accent-dim)}.drop-zone.dragging[data-v-e1f5c417]{border-color:var(--accent);background:var(--accent-dim)}.drop-icon[data-v-e1f5c417]{color:var(--text-3);margin-bottom:2px;transition:color .2s}.drop-zone:hover .drop-icon[data-v-e1f5c417],.drop-zone.dragging .drop-icon[data-v-e1f5c417]{color:var(--accent-light)}.drop-label[data-v-e1f5c417]{font-size:13.5px;font-weight:500;color:var(--text-2)}.drop-hint[data-v-e1f5c417]{font-size:11.5px;color:var(--text-3)}.hidden[data-v-73070f2a]{display:none}.loaded-row[data-v-73070f2a]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--teal-dim);border:1px solid rgba(29,201,158,.2);border-radius:var(--r-md);cursor:pointer;transition:background .2s,border-color .2s}.loaded-row[data-v-73070f2a]:hover{background:rgba(29,201,158,.18);border-color:#1dc99e59}.audio-icon-wrap.loaded[data-v-73070f2a]{width:32px;height:32px;border-radius:var(--r-sm);background:rgba(29,201,158,.15);color:var(--teal);display:flex;align-items:center;justify-content:center;flex-shrink:0}.loaded-info[data-v-73070f2a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.loaded-name[data-v-73070f2a]{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loaded-ext[data-v-73070f2a]{font-size:11px;color:var(--teal);font-weight:600;letter-spacing:.05em}.loaded-action[data-v-73070f2a]{display:flex;align-items:center;gap:8px;font-size:11.5px;flex-shrink:0}.act-change[data-v-73070f2a]{display:flex;align-items:center;gap:4px;color:var(--text-3);transition:color .15s}.loaded-row:hover .act-change[data-v-73070f2a]{color:var(--text-2)}.act-clear[data-v-73070f2a]{display:flex;align-items:center;gap:4px;color:#e05555;padding:2px 6px;border:1px solid rgba(224,85,85,.35);border-radius:5px;transition:background .15s,border-color .15s}.act-clear[data-v-73070f2a]:hover{background:rgba(224,85,85,.12);border-color:#e0555599}.drop-zone[data-v-73070f2a]{border:1.5px dashed var(--border-hover);border-radius:var(--r-md);padding:24px 16px;text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:6px}.drop-zone[data-v-73070f2a]:hover{border-color:#7060ff66;background:var(--accent-dim)}.drop-zone.dragging[data-v-73070f2a]{border-color:var(--accent);background:var(--accent-dim);transform:scale(1.01)}.drop-icon[data-v-73070f2a]{color:var(--text-3);margin-bottom:2px;transition:color .2s}.drop-zone:hover .drop-icon[data-v-73070f2a],.drop-zone.dragging .drop-icon[data-v-73070f2a]{color:var(--accent-light)}.drop-label[data-v-73070f2a]{font-size:13.5px;font-weight:500;color:var(--text-2)}.drop-hint[data-v-73070f2a]{font-size:11.5px;color:var(--text-3)}.orientation-selector[data-v-8c43a26e]{display:flex;gap:4px}.orient-btn[data-v-8c43a26e]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;white-space:nowrap;border-radius:var(--r-sm);font-size:11.5px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1.5px solid transparent;cursor:pointer;transition:all .15s}.orient-btn[data-v-8c43a26e]:hover:not(:disabled){background:var(--surface-3);color:var(--text-2)}.orient-btn.active[data-v-8c43a26e]{color:var(--accent);background:var(--accent-dim);border-color:var(--accent)}.orient-btn[data-v-8c43a26e]:disabled{opacity:.4;cursor:default}.waveform-selector[data-v-4ebcd3c9]{position:relative;height:80px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:pan-y;overflow:hidden}.waveform-canvas[data-v-4ebcd3c9]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.overlay-dim[data-v-4ebcd3c9]{position:absolute;top:0;height:100%;background:rgba(0,0,0,.22);pointer-events:none;z-index:1}.selection-region[data-v-4ebcd3c9]{position:absolute;top:0;height:100%;background:rgba(112,96,255,.06);border-left:none;border-right:none;pointer-events:none;z-index:1}.handle[data-v-4ebcd3c9]{position:absolute;top:0;width:44px;height:100%;z-index:3;cursor:ew-resize;display:flex;flex-direction:column;align-items:center;touch-action:none;-webkit-user-select:none;-webkit-touch-callout:none}.handle-start[data-v-4ebcd3c9],.handle-end[data-v-4ebcd3c9]{transform:translate(-50%)}.handle-bar[data-v-4ebcd3c9]{width:3px;flex:1;background:var(--accent);border-radius:2px;opacity:.9;transition:opacity .15s}.handle:hover .handle-bar[data-v-4ebcd3c9]{opacity:1}.handle-knob[data-v-4ebcd3c9]{position:absolute;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface-2),0 0 8px #7060ff66;transition:transform .12s,box-shadow .12s}.handle:hover .handle-knob[data-v-4ebcd3c9]{transform:translateY(-50%) scale(1.15);box-shadow:0 0 0 2px var(--surface-2),0 0 12px #7060ff99}@media (hover: none) and (pointer: coarse){.handle-bar[data-v-4ebcd3c9]{width:4px}.handle-knob[data-v-4ebcd3c9]{width:18px;height:18px}}.handle-time[data-v-4ebcd3c9]{position:absolute;bottom:-18px;font-size:10px;font-weight:500;color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.wf-playhead[data-v-4ebcd3c9]{position:absolute;top:0;width:2px;height:100%;background:var(--pink);box-shadow:0 0 6px var(--pink);transform:translate(-50%);pointer-events:none;z-index:4;transition:left .05s linear}.drag-overlay[data-v-0aad106d]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.ov-box[data-v-0aad106d]{position:absolute;border:1.5px dashed var(--accent);border-radius:4px;background:rgba(64,163,242,.08);box-shadow:0 0 0 1px #40a3f240;pointer-events:auto;cursor:move;touch-action:none;box-sizing:border-box}.ov-box.circle[data-v-0aad106d]{border-radius:50%}.ov-label[data-v-0aad106d]{position:absolute;top:-20px;left:-1px;font-size:10px;font-weight:600;color:var(--accent);background:rgba(0,0,0,.55);padding:1px 6px;border-radius:3px;white-space:nowrap;letter-spacing:.02em;pointer-events:none;z-index:2}.ov-content[data-v-0aad106d]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.ov-spec[data-v-0aad106d]{display:block}.ov-text[data-v-0aad106d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-weight:600;pointer-events:none}.ov-img[data-v-0aad106d]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.ov-text[data-v-0aad106d]{display:flex;align-items:center;justify-content:center;font-weight:600;white-space:nowrap;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ov-img[data-v-0aad106d]{object-fit:contain}.ov-handle[data-v-0aad106d]{position:absolute;width:9px;height:9px;background:var(--accent);border:1.5px solid var(--surface);border-radius:2px;pointer-events:auto;touch-action:none;z-index:3}.ov-handle.nw[data-v-0aad106d]{top:-5px;left:-5px;cursor:nwse-resize}.ov-handle.n[data-v-0aad106d]{top:-5px;left:50%;margin-left:-4.5px;cursor:ns-resize}.ov-handle.ne[data-v-0aad106d]{top:-5px;right:-5px;cursor:nesw-resize}.ov-handle.e[data-v-0aad106d]{top:50%;right:-5px;margin-top:-4.5px;cursor:ew-resize}.ov-handle.se[data-v-0aad106d]{bottom:-5px;right:-5px;cursor:nwse-resize}.ov-handle.s[data-v-0aad106d]{bottom:-5px;left:50%;margin-left:-4.5px;cursor:ns-resize}.ov-handle.sw[data-v-0aad106d]{bottom:-5px;left:-5px;cursor:nesw-resize}.ov-handle.w[data-v-0aad106d]{top:50%;left:-5px;margin-top:-4.5px;cursor:ew-resize}.ov-rotate[data-v-0aad106d]{position:absolute;top:-30px;left:50%;margin-left:-7px;width:14px;height:14px;border-radius:50%;background:#fff;border:2.5px solid var(--accent);box-shadow:0 1px 3px #00000059;cursor:grab;touch-action:none;pointer-events:auto;z-index:4}.ov-rotate[data-v-0aad106d]:active{cursor:grabbing}.ov-rotate[data-v-0aad106d]:after{content:"";position:absolute;left:50%;top:-20px;width:2px;height:20px;background:var(--accent);transform:translate(-50%)}.diffusion-page[data-v-5bd909c3]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-5bd909c3]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.orient-groups[data-v-5bd909c3]{display:flex;gap:8px;width:100%}.orient-group[data-v-5bd909c3]{flex:1;min-width:0}.orient-group .orientation-selector[data-v-5bd909c3]{flex:1}.orient-group .project-actions[data-v-5bd909c3]{display:flex;gap:6px}.orient-group .project-btn[data-v-5bd909c3]{flex:1;justify-content:center;padding:6px 8px;white-space:nowrap}.project-actions[data-v-5bd909c3]{display:flex;gap:8px;flex-shrink:0}.project-btn[data-v-5bd909c3]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;color:var(--text-secondary);background:var(--bg-elevated, rgba(255, 255, 255, .04));border:1px solid var(--border);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,color .15s}.project-btn[data-v-5bd909c3]:hover{color:var(--accent, #40a3f2);border-color:var(--accent, #40a3f2)}.project-btn[data-v-5bd909c3]:disabled,.project-btn.is-busy[data-v-5bd909c3]{opacity:.5;pointer-events:none}.canvas-wrapper[data-v-5bd909c3]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-5bd909c3]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-5bd909c3]{width:100%;height:100%;display:block}.canvas.edit-cursor[data-v-5bd909c3]{cursor:crosshair}.canvas-shell.is-fullscreen[data-v-5bd909c3]{background:var(--canvas-bg);border:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}.canvas-shell.is-fullscreen .canvas[data-v-5bd909c3]{width:100%;height:100%;object-fit:contain}.fullscreen-btn[data-v-5bd909c3]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:var(--r-sm);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:10;opacity:0;border:1px solid rgba(255,255,255,.1)}.canvas-shell:hover .fullscreen-btn[data-v-5bd909c3],.canvas-shell.is-fullscreen .fullscreen-btn[data-v-5bd909c3]{opacity:1}.fullscreen-btn[data-v-5bd909c3]:hover{background:rgba(0,0,0,.75);color:var(--on-accent)}.canvas-shell.is-fullscreen .fullscreen-btn[data-v-5bd909c3]{top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-md)}.empty-state[data-v-5bd909c3]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.edit-hint[data-v-5bd909c3]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:6px 16px;border-radius:var(--r-md);background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-2);font-size:12px;pointer-events:none}.hint-fade-enter-active[data-v-5bd909c3],.hint-fade-leave-active[data-v-5bd909c3]{transition:opacity .25s}.hint-fade-enter-from[data-v-5bd909c3],.hint-fade-leave-to[data-v-5bd909c3]{opacity:0}.point-marker[data-v-5bd909c3]{position:absolute;width:22px;height:22px;margin-left:-11px;margin-top:-11px;border-radius:50%;background:rgba(112,96,255,.5);border:2px solid rgba(168,152,255,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s;z-index:2;box-shadow:0 0 8px #7060ff80}.point-marker[data-v-5bd909c3]:hover{transform:scale(1.3);background:rgba(232,77,138,.6);border-color:#e84d8ae6;box-shadow:0 0 12px #e84d8a99}.point-marker-num[data-v-5bd909c3]{font-size:9px;font-weight:700;color:#fff;line-height:1;pointer-events:none}.status-bar[data-v-5bd909c3]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-5bd909c3]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.spreading[data-v-5bd909c3]{background:var(--teal);box-shadow:0 0 6px var(--teal);animation:pulse-5bd909c3 .8s infinite}.status-dot.pausing[data-v-5bd909c3]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-5bd909c3{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-5bd909c3]{flex:1}.export-progress-wrap[data-v-5bd909c3]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-5bd909c3]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-5bd909c3]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-5bd909c3]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-5bd909c3]{flex-shrink:0}.block-header[data-v-5bd909c3]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-5bd909c3]{color:var(--text-3)}.block-badge[data-v-5bd909c3]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.image-tabs[data-v-5bd909c3]{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.image-tab[data-v-5bd909c3]{position:relative;flex-shrink:0;width:56px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.image-tab[data-v-5bd909c3]:hover{background:var(--surface-3)}.image-tab.active[data-v-5bd909c3]{border-color:var(--accent);background:var(--accent-dim)}.tab-thumb[data-v-5bd909c3]{width:40px;height:28px;border-radius:3px;object-fit:cover;display:block}.tab-idx[data-v-5bd909c3]{font-size:9px;font-weight:700;color:var(--text-3)}.tab-pts[data-v-5bd909c3]{font-size:8px;color:var(--text-4)}.point-actions[data-v-5bd909c3]{display:flex;gap:6px;margin-bottom:8px}.edit-toggle[data-v-5bd909c3]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px;border-radius:var(--r-sm);font-size:11.5px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1.5px solid transparent;cursor:pointer;transition:all .15s}.edit-toggle[data-v-5bd909c3]:hover{background:var(--surface-3);color:var(--text-2)}.edit-toggle.active[data-v-5bd909c3]{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.edit-toggle[data-v-5bd909c3]:disabled{opacity:.4;cursor:default}.auto-add-btn[data-v-5bd909c3]{display:flex;align-items:center;gap:4px;padding:7px 12px;border-radius:var(--r-sm);font-size:11.5px;font-weight:500;color:var(--teal);background:var(--teal-dim);border:1px solid rgba(29,201,158,.15);cursor:pointer;transition:all .15s}.auto-add-btn[data-v-5bd909c3]:hover{background:rgba(29,201,158,.18);border-color:#1dc99e4d}.auto-add-btn[data-v-5bd909c3]:disabled{opacity:.4;cursor:default}.clear-btn[data-v-5bd909c3]{padding:7px 12px;border-radius:var(--r-sm);font-size:11.5px;font-weight:500;color:var(--text-4);background:var(--surface-2);cursor:pointer;transition:all .15s}.clear-btn[data-v-5bd909c3]:hover{color:#e84d8a;background:rgba(232,77,138,.1)}.clear-btn[data-v-5bd909c3]:disabled{opacity:.4;cursor:default}.point-list[data-v-5bd909c3]{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto}.point-item[data-v-5bd909c3]{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--r-xs);transition:background .1s}.point-item[data-v-5bd909c3]:hover{background:var(--surface-2)}.point-num[data-v-5bd909c3]{width:18px;height:18px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.point-coord[data-v-5bd909c3]{flex:1;font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.point-del[data-v-5bd909c3]{width:16px;height:16px;border-radius:3px;background:transparent;color:var(--text-4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;flex-shrink:0}.point-del[data-v-5bd909c3]:hover{background:rgba(220,50,80,.15);color:#e84d8a}.point-del[data-v-5bd909c3]:disabled{opacity:.3;cursor:default}.playback-btns[data-v-5bd909c3]{display:flex;gap:8px}.btn-play[data-v-5bd909c3]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-5bd909c3]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-5bd909c3]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-5bd909c3]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-5bd909c3]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-5bd909c3]:disabled{opacity:.4;cursor:default}.btn-cancel-export[data-v-5bd909c3]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-5bd909c3]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-5bd909c3]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-5bd909c3]{opacity:1}.spinner[data-v-5bd909c3]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-5bd909c3 .7s linear infinite;flex-shrink:0}@keyframes spin-5bd909c3{to{transform:rotate(360deg)}}.setting-row[data-v-5bd909c3]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-5bd909c3]:last-child{margin-bottom:0}.setting-row label[data-v-5bd909c3]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-5bd909c3]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-5bd909c3]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-5bd909c3]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-5bd909c3]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.loop-toggle[data-v-5bd909c3]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-5bd909c3]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-5bd909c3]{font-size:12px;color:var(--text-3)}.spectrum-controls[data-v-5bd909c3]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.spectrum-picker[data-v-5bd909c3]{width:36px;height:28px;padding:2px;border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-2);cursor:pointer;flex-shrink:0}.spectrum-picker[data-v-5bd909c3]::-webkit-color-swatch-wrapper{padding:2px}.spectrum-picker[data-v-5bd909c3]::-webkit-color-swatch{border:none;border-radius:3px}.spectrum-picker[data-v-5bd909c3]::-moz-color-swatch{border:none;border-radius:3px}.ink-watermark[data-v-5bd909c3]{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.wm-text-input[data-v-5bd909c3]{width:100%;padding:5px 8px;border-radius:var(--r-xs);font-size:11.5px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border)}.wm-font-select[data-v-5bd909c3]{width:100%;padding:5px 8px;border-radius:var(--r-xs);font-size:11.5px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);cursor:pointer}.wm-style-row[data-v-5bd909c3]{display:flex;align-items:center;gap:6px;width:100%}.wm-style-row .wm-font-select[data-v-5bd909c3]{flex:1;min-width:0;width:auto}.wm-tt-btn[data-v-5bd909c3]{flex:none;width:22px;height:22px;line-height:1;font-size:11px;font-weight:700;border-radius:var(--r-xs);border:1px solid var(--border);background:transparent;color:var(--text-2);cursor:pointer;padding:0}.wm-tt-btn[data-v-5bd909c3]:hover{border-color:var(--accent)}.wm-tt-btn.on[data-v-5bd909c3]{background:var(--accent);color:#111;border-color:var(--accent)}.wm-tt-i[data-v-5bd909c3]{font-style:italic}.wm-tt-u[data-v-5bd909c3]{text-decoration:underline}.wm-tt-s[data-v-5bd909c3]{text-decoration:line-through}.wm-text-input[data-v-5bd909c3]:focus{outline:none;border-color:var(--accent)}.wm-file-input-hidden[data-v-5bd909c3]{display:none}.wm-choose-btn[data-v-5bd909c3]{font-size:11px;padding:3px 10px;border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:4px;cursor:pointer;white-space:nowrap}.wm-choose-btn[data-v-5bd909c3]:hover{background:var(--accent-dim)}.wm-file-name[data-v-5bd909c3]{font-size:11px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compress-row[data-v-5bd909c3]{margin-top:6px}.seg-group[data-v-5bd909c3]{display:flex;gap:4px}.seg-btn[data-v-5bd909c3]{flex:1;padding:5px 4px;border-radius:var(--r-xs);background:var(--surface-2);color:var(--text-3);font-size:11px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .15s;text-align:center;white-space:nowrap}.seg-btn[data-v-5bd909c3]:hover{background:var(--surface-3);color:var(--text-2)}.seg-btn.active[data-v-5bd909c3]{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.per-image-timing[data-v-5bd909c3]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.timing-header[data-v-5bd909c3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.timing-label[data-v-5bd909c3]{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.04em}.apply-all-btn[data-v-5bd909c3]{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;padding:2px 8px;border-radius:var(--r-xs);cursor:pointer;transition:all .15s}.apply-all-btn[data-v-5bd909c3]:hover{background:rgba(112,96,255,.2);border-color:var(--accent)}.timing-row[data-v-5bd909c3]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timing-row[data-v-5bd909c3]:last-child{margin-bottom:0}.timing-row label[data-v-5bd909c3]{width:54px;font-size:11px;color:var(--text-3);flex-shrink:0}.timing-ctl[data-v-5bd909c3]{flex:1;display:flex;align-items:center;gap:8px}.timing-ctl input[type=range][data-v-5bd909c3]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:0}.timing-ctl input[type=range][data-v-5bd909c3]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.timing-input-wrap[data-v-5bd909c3]{display:flex;align-items:center;gap:2px;flex-shrink:0}.timing-input[data-v-5bd909c3]{width:52px;padding:3px 4px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:right;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.timing-input[data-v-5bd909c3]::-webkit-inner-spin-button,.timing-input[data-v-5bd909c3]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timing-input[data-v-5bd909c3]:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7060ff4d}.timing-unit[data-v-5bd909c3]{font-size:10px;color:var(--text-4);flex-shrink:0}.beat-badge[data-v-5bd909c3]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-5bd909c3]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-5bd909c3]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-5bd909c3 .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-5bd909c3]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-5bd909c3]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-5bd909c3]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-5bd909c3]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-5bd909c3]{opacity:.4;cursor:default}.segment-badge[data-v-5bd909c3]{font-variant-numeric:tabular-nums}.segment-controls[data-v-5bd909c3]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-5bd909c3]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-5bd909c3]:hover{color:var(--text-2);background:var(--surface-4)}.wf-fade-enter-active[data-v-5bd909c3],.wf-fade-leave-active[data-v-5bd909c3]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-5bd909c3],.wf-fade-leave-to[data-v-5bd909c3]{opacity:0;transform:translateY(4px)}.preview-root[data-v-1839df2b]{width:100%;height:100%;display:flex;flex-direction:column;gap:10px}.canvas-wrapper[data-v-1839df2b]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-1839df2b]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-1839df2b]{width:100%;height:100%;display:block;object-fit:contain}.play-hint[data-v-1839df2b]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.32);pointer-events:none}.play-hint-icon[data-v-1839df2b]{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#ffffffb3;border:1px solid rgba(255,255,255,.15)}.empty-state[data-v-1839df2b]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.timeline[data-v-1839df2b]{height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:6px 10px;overflow:hidden}.timeline-inner[data-v-1839df2b]{position:relative;width:100%;height:100%}.beat-bar[data-v-1839df2b]{position:absolute;bottom:0;width:2px;background:linear-gradient(to top,var(--accent),var(--accent-light));border-radius:1px;transform:translate(-50%)}.playhead[data-v-1839df2b]{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--pink);border-radius:1px;transform:translate(-50%);box-shadow:0 0 6px var(--pink);z-index:2}.overlay-fade-enter-active[data-v-1839df2b],.overlay-fade-leave-active[data-v-1839df2b]{transition:opacity .25s}.overlay-fade-enter-from[data-v-1839df2b],.overlay-fade-leave-to[data-v-1839df2b]{opacity:0}.controls[data-v-1021a454]{display:flex;flex-direction:column}.ctrl-block[data-v-1021a454]{padding:16px;border-bottom:1px solid var(--border)}.block-label[data-v-1021a454]{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px;display:flex;align-items:center;gap:8px}.label-badge[data-v-1021a454]{font-weight:500;letter-spacing:0;text-transform:none;font-size:10.5px;color:var(--accent);background:var(--accent-dim);padding:1px 7px;border-radius:10px}.block-header[data-v-1021a454]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-1021a454]{color:var(--text-3)}.transport-block[data-v-1021a454]{display:flex;flex-direction:column;gap:10px}.seekbar[data-v-1021a454]{cursor:pointer;padding:7px 0;-webkit-user-select:none;user-select:none}.seekbar-track[data-v-1021a454]{position:relative;height:5px;background:var(--surface-3);border-radius:3px}.seekbar-fill[data-v-1021a454]{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-light) 100%);border-radius:3px;pointer-events:none}.seekbar-thumb[data-v-1021a454]{position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);width:14px;height:14px;border-radius:50%;background:var(--on-accent);box-shadow:0 0 0 2px var(--accent);transition:transform .12s;pointer-events:none}.seekbar:hover .seekbar-thumb[data-v-1021a454]{transform:translate(-50%,-50%) scale(1)}.time-row[data-v-1021a454]{display:flex;align-items:center;gap:8px}.flex-spacer[data-v-1021a454]{flex:1}.time-text[data-v-1021a454]{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0}.analyze-strip[data-v-1021a454]{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.analyze-strip>span[data-v-1021a454]{font-size:10.5px;color:var(--text-3);text-align:center}.analyze-fill[data-v-1021a454]{height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:2px;transition:width .3s}.meta-chips[data-v-1021a454]{flex:1;display:flex;justify-content:center;gap:6px}.chip[data-v-1021a454]{font-size:10.5px;font-weight:600;color:var(--text-2);background:var(--surface-3);padding:2px 8px;border-radius:10px;font-variant-numeric:tabular-nums}.transport-row[data-v-1021a454]{display:flex;align-items:center;gap:8px}.btn-play[data-v-1021a454]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-1021a454]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-1021a454]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-1021a454]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-1021a454]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-cancel-export[data-v-1021a454]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-1021a454]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-1021a454]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-1021a454]{opacity:1}.spinner[data-v-1021a454]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-1021a454 .7s linear infinite;flex-shrink:0}@keyframes spin-1021a454{to{transform:rotate(360deg)}}.spin[data-v-1021a454]{animation:spin-1021a454 .9s linear infinite}.effects-grid[data-v-1021a454]{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px}.fx-btn[data-v-1021a454]{padding:7px 4px;border-radius:var(--r-sm);font-size:11.5px;font-weight:500;text-align:center;background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);transition:all .13s;cursor:pointer}.fx-btn[data-v-1021a454]:hover{border-color:var(--border-hover);color:var(--text-2);background:var(--surface-3)}.fx-btn.active.cat-motion[data-v-1021a454]{background:var(--accent-dim);border-color:#7060ff61;color:var(--accent-light)}.fx-btn.active.cat-transition[data-v-1021a454]{background:var(--teal-dim);border-color:#1dc99e52;color:var(--teal)}.fx-btn.active.cat-distort[data-v-1021a454]{background:var(--purple-dim);border-color:#a855f752;color:var(--purple)}.fx-btn.active.cat-color[data-v-1021a454]{background:var(--amber-dim);border-color:#ff8b3d52;color:var(--amber)}.fx-legend[data-v-1021a454]{display:flex;gap:10px}.legend-item[data-v-1021a454]{font-size:10.5px;font-weight:500;display:flex;align-items:center;gap:4px}.legend-item[data-v-1021a454]:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.legend-item.motion[data-v-1021a454]{color:var(--accent-light)}.legend-item.motion[data-v-1021a454]:before{background:var(--accent-light)}.legend-item.transition[data-v-1021a454]{color:var(--teal)}.legend-item.transition[data-v-1021a454]:before{background:var(--teal)}.legend-item.distort[data-v-1021a454]{color:var(--purple)}.legend-item.distort[data-v-1021a454]:before{background:var(--purple)}.legend-item.color[data-v-1021a454]{color:var(--amber)}.legend-item.color[data-v-1021a454]:before{background:var(--amber)}.param-row[data-v-1021a454]{margin-bottom:14px}.param-row[data-v-1021a454]:last-child{margin-bottom:0}.effect-option-group[data-v-1021a454]{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.param-header[data-v-1021a454]{display:flex;justify-content:space-between;font-size:13px;color:var(--text-2);margin-bottom:8px}.param-val[data-v-1021a454]{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:500}.segmented-control[data-v-1021a454]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.segment-btn[data-v-1021a454]{height:28px;border-radius:calc(var(--r-sm) - 2px);color:var(--text-3);font-size:12px;font-weight:600;transition:background .13s,color .13s,box-shadow .13s}.segment-btn[data-v-1021a454]:hover{color:var(--text-2);background:var(--surface-3)}.segment-btn.active[data-v-1021a454]{color:var(--teal);background:var(--teal-dim);box-shadow:inset 0 0 0 1px #1dc99e47}.slider[data-v-1021a454]{width:100%;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px;outline:none;cursor:pointer}.slider[data-v-1021a454]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--on-accent);box-shadow:0 0 0 2px var(--accent),0 2px 6px #0000004d;cursor:pointer;transition:transform .12s}.slider[data-v-1021a454]::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider[data-v-1021a454]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--on-accent);border:2px solid var(--accent);cursor:pointer}.ink-spectrum[data-v-4c1dd0ab]{margin-top:12px}.spectrum-controls[data-v-4c1dd0ab]{margin-top:10px;display:flex;flex-direction:column;gap:9px}.setting-row[data-v-4c1dd0ab]{display:flex;align-items:center;gap:10px}.setting-row>label[data-v-4c1dd0ab]{flex:0 0 46px;font-size:12px;color:var(--text-3)}.setting-ctl[data-v-4c1dd0ab]{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.setting-ctl input[type=range][data-v-4c1dd0ab]{flex:1;min-width:0}.setting-val[data-v-4c1dd0ab]{font-size:11px;color:var(--text-2);min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.setting-ctl.seg-group[data-v-4c1dd0ab]{flex-wrap:wrap}.spectrum-picker[data-v-4c1dd0ab]{width:30px;height:22px;border:none;border-radius:4px;background:transparent;padding:0;cursor:pointer}.spectrum-picker[data-v-4c1dd0ab]::-webkit-color-swatch-wrapper{padding:2px}.spectrum-picker[data-v-4c1dd0ab]::-webkit-color-swatch{border:none;border-radius:3px}.spectrum-picker[data-v-4c1dd0ab]::-moz-color-swatch{border:none;border-radius:3px}.loop-toggle[data-v-4c1dd0ab]{display:flex;align-items:center;gap:8px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-4c1dd0ab]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-4c1dd0ab]{font-size:12px;color:var(--text-3)}.seg-group[data-v-4c1dd0ab]{display:flex;gap:4px;flex-wrap:wrap}.seg-btn[data-v-4c1dd0ab]{flex:1;min-width:0;padding:5px 4px;border-radius:var(--r-xs);font-size:11px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:all .15s}.seg-btn[data-v-4c1dd0ab]:hover{background:var(--surface-3);color:var(--text-2)}.seg-btn.active[data-v-4c1dd0ab]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.ink-watermark[data-v-72b01f7e]{margin-top:12px}.spectrum-controls[data-v-72b01f7e]{margin-top:10px;display:flex;flex-direction:column;gap:9px}.setting-row[data-v-72b01f7e]{display:flex;align-items:center;gap:10px}.setting-row>label[data-v-72b01f7e]{flex:0 0 46px;font-size:12px;color:var(--text-3)}.setting-ctl[data-v-72b01f7e]{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.setting-ctl input[type=range][data-v-72b01f7e]{flex:1;min-width:0}.setting-val[data-v-72b01f7e]{font-size:11px;color:var(--text-2);min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.setting-ctl.seg-group[data-v-72b01f7e]{flex-wrap:wrap}.wm-text-input[data-v-72b01f7e]{flex:1;min-width:0}.wm-font-select[data-v-72b01f7e]{flex:1;min-width:0;font-size:12px;padding:4px 6px;border-radius:4px;border:1px solid var(--border, rgba(255,255,255,.14));background:var(--bg-2, #1a1d24);color:var(--text-1, #e6e6e6);cursor:pointer}.wm-font-select[data-v-72b01f7e]:focus{outline:none;border-color:var(--accent, #8ab4ff)}.wm-style-row[data-v-72b01f7e]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.wm-style-row .spectrum-picker[data-v-72b01f7e]{flex:none}.wm-tt-btn[data-v-72b01f7e]{flex:none;width:24px;height:24px;line-height:1;font-size:12px;font-weight:700;border-radius:4px;border:1px solid var(--border, rgba(255,255,255,.14));background:transparent;color:var(--text-1, #e6e6e6);cursor:pointer;padding:0}.wm-tt-btn[data-v-72b01f7e]:hover{border-color:var(--accent, #8ab4ff)}.wm-tt-btn.on[data-v-72b01f7e]{background:var(--accent, #8ab4ff);color:#111;border-color:var(--accent, #8ab4ff)}.wm-tt-i[data-v-72b01f7e]{font-style:italic}.wm-tt-u[data-v-72b01f7e]{text-decoration:underline}.wm-tt-s[data-v-72b01f7e]{text-decoration:line-through}.wm-file-input[data-v-72b01f7e]{flex:1;min-width:0;font-size:12px}.wm-file-name[data-v-72b01f7e]{font-size:12px;color:var(--text-2);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spectrum-picker[data-v-72b01f7e]{width:30px;height:22px;border:none;border-radius:4px;background:transparent;padding:0;cursor:pointer}.spectrum-picker[data-v-72b01f7e]::-webkit-color-swatch-wrapper{padding:2px}.spectrum-picker[data-v-72b01f7e]::-webkit-color-swatch{border:none;border-radius:3px}.spectrum-picker[data-v-72b01f7e]::-moz-color-swatch{border:none;border-radius:3px}.loop-toggle[data-v-72b01f7e]{display:flex;align-items:center;gap:8px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-72b01f7e]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-72b01f7e]{font-size:12px;color:var(--text-3)}.seg-group[data-v-72b01f7e]{display:flex;gap:4px;flex-wrap:wrap}.seg-btn[data-v-72b01f7e]{flex:1;min-width:0;padding:5px 4px;border-radius:var(--r-xs);font-size:11px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:all .15s}.seg-btn[data-v-72b01f7e]:hover{background:var(--surface-3);color:var(--text-2)}.seg-btn.active[data-v-72b01f7e]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.wm-text-input[data-v-72b01f7e]{width:100%;padding:5px 8px;border-radius:var(--r-xs);font-size:11.5px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border)}.wm-text-input[data-v-72b01f7e]:focus{outline:none;border-color:var(--accent)}.wm-file-input[data-v-72b01f7e]{width:100%;font-size:11px;color:var(--text-2)}.compress-row[data-v-9adeff78]{margin-top:6px}.wm-file-input[data-v-9adeff78]{width:100%;font-size:11px;color:var(--text-2)}.home-page[data-v-9adeff78]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-9adeff78]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.preview-wrap[data-v-9adeff78]{flex:1;min-height:0;display:flex;align-items:center}.steps-bar[data-v-9adeff78]{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.step[data-v-9adeff78]{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-3);transition:color .3s}.step.done[data-v-9adeff78]{color:var(--teal)}.step-num[data-v-9adeff78]{width:20px;height:20px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.step.done .step-num[data-v-9adeff78]{background:var(--teal-dim);color:var(--teal)}.step-sep[data-v-9adeff78]{color:var(--text-4);font-size:14px}.sidebar[data-v-9adeff78]{display:flex;flex-direction:column;gap:0;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-9adeff78]{padding:16px;border-bottom:1px solid var(--border)}.block-header[data-v-9adeff78]{display:flex;align-items:center;gap:6px;margin-bottom:12px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-9adeff78]{color:var(--text-3)}.block-badge[data-v-9adeff78]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.segment-badge[data-v-9adeff78]{font-variant-numeric:tabular-nums}.segment-controls[data-v-9adeff78]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.loop-toggle[data-v-9adeff78]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.loop-toggle input[type=checkbox][data-v-9adeff78]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.btn-reset-segment[data-v-9adeff78]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-9adeff78]:hover{color:var(--text-2);background:var(--surface-4)}.fade-enter-active[data-v-9adeff78],.fade-leave-active[data-v-9adeff78]{transition:opacity .3s,transform .3s}.fade-enter-from[data-v-9adeff78],.fade-leave-to[data-v-9adeff78]{opacity:0;transform:translateY(4px)}.orient-groups[data-v-9adeff78]{display:flex;gap:8px;width:100%}.orient-group[data-v-9adeff78]{flex:1;min-width:0}.orient-group .project-actions[data-v-9adeff78]{display:flex;gap:6px}.orient-group .project-btn[data-v-9adeff78]{flex:1;justify-content:center;padding:6px 8px;white-space:nowrap}.project-actions[data-v-9adeff78]{display:flex;gap:8px;flex-shrink:0}.project-btn[data-v-9adeff78]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;color:var(--text-secondary);background:var(--bg-elevated, rgba(255, 255, 255, .04));border:1px solid var(--border);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,color .15s}.project-btn[data-v-9adeff78]:hover{color:var(--accent, #40a3f2);border-color:var(--accent, #40a3f2)}.project-btn[data-v-9adeff78]:disabled,.project-btn.is-busy[data-v-9adeff78]{opacity:.5;pointer-events:none}.hidden[data-v-ef8860b6]{display:none}.splice-page[data-v-ef8860b6]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-ef8860b6]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.canvas-wrapper[data-v-ef8860b6]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-ef8860b6]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0009}.canvas[data-v-ef8860b6]{width:100%;height:100%;display:block}.empty-state[data-v-ef8860b6]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.finished-overlay[data-v-ef8860b6]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:16px;font-weight:600;color:var(--text-2)}.finished-replay[data-v-ef8860b6]{padding:8px 20px;border-radius:var(--r-sm);background:var(--accent-dim);color:var(--accent-light);font-size:13px;font-weight:500;transition:background .15s}.finished-replay[data-v-ef8860b6]:hover{background:rgba(112,96,255,.18)}.status-bar[data-v-ef8860b6]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-ef8860b6]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.holding[data-v-ef8860b6]{background:var(--teal);box-shadow:0 0 6px var(--teal)}.status-dot.transitioning[data-v-ef8860b6]{background:var(--accent);box-shadow:0 0 6px var(--accent);animation:pulse-ef8860b6 .8s infinite}.status-dot.finished[data-v-ef8860b6]{background:var(--pink)}@keyframes pulse-ef8860b6{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-ef8860b6]{flex:1}.export-progress-wrap[data-v-ef8860b6]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-ef8860b6]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-ef8860b6]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-ef8860b6]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-ef8860b6]{flex-shrink:0}.block-header[data-v-ef8860b6]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-ef8860b6]{color:var(--text-3)}.block-badge[data-v-ef8860b6]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.add-btn[data-v-ef8860b6]{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border:1.5px dashed var(--border-hover);border-radius:var(--r-md);color:var(--text-3);font-size:12.5px;font-weight:500;transition:border-color .15s,color .15s,background .15s}.add-btn[data-v-ef8860b6]:hover{border-color:var(--accent);color:var(--accent-light);background:var(--accent-dim)}.item-list[data-v-ef8860b6]{overflow-y:auto;max-height:280px;padding:6px 16px;display:flex;flex-direction:column;gap:3px;border-bottom:1px solid var(--border)}.item-row[data-v-ef8860b6]{display:flex;align-items:center;gap:7px;padding:6px 7px;border-radius:var(--r-sm);border:1px solid transparent;transition:background .15s,border-color .15s,opacity .15s;cursor:grab}.item-row[data-v-ef8860b6]:hover{background:var(--surface-2)}.item-row.sorting[data-v-ef8860b6]{opacity:.3}.item-row.over[data-v-ef8860b6]{border-color:var(--accent);background:var(--accent-dim)}.item-row.active[data-v-ef8860b6]{border-color:var(--teal);background:var(--teal-dim)}.item-drag[data-v-ef8860b6]{flex-shrink:0;color:var(--text-4);cursor:grab}.item-thumb[data-v-ef8860b6]{position:relative;width:40px;height:40px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--surface-3)}.item-thumb img[data-v-ef8860b6],.item-thumb video[data-v-ef8860b6]{width:100%;height:100%;object-fit:cover}.item-type-badge[data-v-ef8860b6]{position:absolute;bottom:2px;right:2px;font-size:7px;opacity:.7}.item-info[data-v-ef8860b6]{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.item-name[data-v-ef8860b6]{font-size:11px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-hold-row[data-v-ef8860b6]{display:flex;align-items:center;gap:3px}.hold-label[data-v-ef8860b6]{font-size:10px;color:var(--text-4)}.hold-input[data-v-ef8860b6]{width:40px;padding:2px 4px;border-radius:4px;background:var(--surface-3);border:1px solid var(--border);color:var(--text);font-size:10.5px;text-align:center}.hold-input[data-v-ef8860b6]:focus{outline:none;border-color:var(--accent)}.item-index[data-v-ef8860b6]{font-size:10px;font-weight:700;color:var(--text-4);width:14px;text-align:center;flex-shrink:0}.item-del[data-v-ef8860b6]{width:18px;height:18px;border-radius:3px;background:transparent;color:var(--text-4);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.item-del[data-v-ef8860b6]:hover{background:rgba(220,50,80,.15);color:#e84d8a}.item-del[data-v-ef8860b6]:disabled{opacity:.3;cursor:default}.playback-btns[data-v-ef8860b6]{display:flex;gap:8px}.btn-play[data-v-ef8860b6]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-ef8860b6]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-ef8860b6]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-ef8860b6]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-ef8860b6]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-ef8860b6]:disabled{opacity:.4;cursor:default}.spinner[data-v-ef8860b6]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-ef8860b6 .7s linear infinite;flex-shrink:0}@keyframes spin-ef8860b6{to{transform:rotate(360deg)}}.trans-grid[data-v-ef8860b6]{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.trans-btn[data-v-ef8860b6]{padding:7px 4px;border-radius:var(--r-sm);font-size:11.5px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1.5px solid transparent;text-align:center;transition:color .13s,background .13s,border-color .13s;cursor:pointer;line-height:1}.trans-btn[data-v-ef8860b6]:hover{color:var(--cat-color, var(--accent));background:var(--surface-3)}.trans-btn.active[data-v-ef8860b6]{color:var(--cat-color, var(--accent));background:color-mix(in srgb,var(--cat-color, var(--accent)) 12%,transparent);border-color:color-mix(in srgb,var(--cat-color, var(--accent)) 50%,transparent);font-weight:600}.setting-row[data-v-ef8860b6]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-ef8860b6]:last-child{margin-bottom:0}.setting-row label[data-v-ef8860b6]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-ef8860b6]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-ef8860b6]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-ef8860b6]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-ef8860b6]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.overlay-fade-enter-active[data-v-ef8860b6],.overlay-fade-leave-active[data-v-ef8860b6]{transition:opacity .3s}.overlay-fade-enter-from[data-v-ef8860b6],.overlay-fade-leave-to[data-v-ef8860b6]{opacity:0}.ink-page[data-v-5f43bba7]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-5f43bba7]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.orient-groups[data-v-5f43bba7]{display:flex;gap:8px;width:100%}.orient-group[data-v-5f43bba7]{flex:1;min-width:0}.orient-group .orientation-selector[data-v-5f43bba7]{flex:1}.orient-group .project-actions[data-v-5f43bba7]{display:flex;gap:6px}.orient-group .project-btn[data-v-5f43bba7]{flex:1;justify-content:center;padding:6px 8px;white-space:nowrap}.project-actions[data-v-5f43bba7]{display:flex;gap:8px;flex-shrink:0}.project-btn[data-v-5f43bba7]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;color:var(--text-secondary);background:var(--bg-elevated, rgba(255, 255, 255, .04));border:1px solid var(--border);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,color .15s}.project-btn[data-v-5f43bba7]:hover{color:var(--accent, #40a3f2);border-color:var(--accent, #40a3f2)}.project-btn[data-v-5f43bba7]:disabled,.project-btn.is-busy[data-v-5f43bba7]{opacity:.5;pointer-events:none}.canvas-wrapper[data-v-5f43bba7]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-5f43bba7]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-5f43bba7]{width:100%;height:100%;display:block}.canvas.edit-cursor[data-v-5f43bba7]{cursor:crosshair}.spectrum-canvas[data-v-5f43bba7]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.canvas-shell.is-fullscreen[data-v-5f43bba7]{background:var(--canvas-bg);border:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}.canvas-shell.is-fullscreen .canvas[data-v-5f43bba7]{width:100%;height:100%;object-fit:contain}.fullscreen-btn[data-v-5f43bba7]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:var(--r-sm);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:10;opacity:0;border:1px solid rgba(255,255,255,.1)}.canvas-shell:hover .fullscreen-btn[data-v-5f43bba7],.canvas-shell.is-fullscreen .fullscreen-btn[data-v-5f43bba7]{opacity:1}.fullscreen-btn[data-v-5f43bba7]:hover{background:rgba(0,0,0,.75);color:var(--on-accent)}.canvas-shell.is-fullscreen .fullscreen-btn[data-v-5f43bba7]{top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-md)}.empty-state[data-v-5f43bba7]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.edit-hint[data-v-5f43bba7]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:6px 16px;border-radius:var(--r-md);background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-2);font-size:12px;pointer-events:none}.hint-fade-enter-active[data-v-5f43bba7],.hint-fade-leave-active[data-v-5f43bba7]{transition:opacity .25s}.hint-fade-enter-from[data-v-5f43bba7],.hint-fade-leave-to[data-v-5f43bba7]{opacity:0}.point-marker[data-v-5f43bba7]{position:absolute;width:22px;height:22px;margin-left:-11px;margin-top:-11px;border-radius:50%;background:rgba(30,20,40,.6);border:2px solid rgba(80,60,50,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s;z-index:2;box-shadow:0 0 8px #1e142880}.point-marker[data-v-5f43bba7]:hover{transform:scale(1.3);background:rgba(80,40,20,.7);border-color:#785032e6;box-shadow:0 0 12px #50281499}.point-marker-num[data-v-5f43bba7]{font-size:9px;font-weight:700;color:#fff;line-height:1;pointer-events:none}.status-bar[data-v-5f43bba7]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-5f43bba7]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.spreading[data-v-5f43bba7]{background:#6b5b4f;box-shadow:0 0 6px #6b5b4f;animation:pulse-5f43bba7 .8s infinite}.status-dot.pausing[data-v-5f43bba7]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-5f43bba7{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-5f43bba7]{flex:1}.export-progress-wrap[data-v-5f43bba7]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-5f43bba7]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-5f43bba7]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-5f43bba7]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-5f43bba7]{flex-shrink:0}.block-header[data-v-5f43bba7]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-5f43bba7]{color:var(--text-3)}.block-badge[data-v-5f43bba7]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.image-tabs[data-v-5f43bba7]{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.image-tab[data-v-5f43bba7]{position:relative;flex-shrink:0;width:56px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.image-tab[data-v-5f43bba7]:hover{background:var(--surface-3)}.image-tab.active[data-v-5f43bba7]{border-color:var(--accent);background:var(--accent-dim)}.tab-thumb[data-v-5f43bba7]{width:40px;height:28px;border-radius:3px;object-fit:cover;display:block}.tab-idx[data-v-5f43bba7]{font-size:9px;font-weight:700;color:var(--text-3)}.tab-pts[data-v-5f43bba7]{font-size:8px;color:var(--text-4)}.point-actions[data-v-5f43bba7]{display:flex;gap:6px;margin-bottom:8px}.edit-toggle[data-v-5f43bba7]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px;border-radius:var(--r-sm);font-size:11.5px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1.5px solid transparent;cursor:pointer;transition:all .15s}.edit-toggle[data-v-5f43bba7]:hover{background:var(--surface-3);color:var(--text-2)}.edit-toggle.active[data-v-5f43bba7]{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.edit-toggle[data-v-5f43bba7]:disabled{opacity:.4;cursor:default}.auto-add-btn[data-v-5f43bba7]{display:flex;align-items:center;gap:4px;padding:7px 12px;border-radius:var(--r-sm);font-size:11.5px;font-weight:500;color:#6b5b4f;background:rgba(107,91,79,.1);border:1px solid rgba(107,91,79,.15);cursor:pointer;transition:all .15s}.auto-add-btn[data-v-5f43bba7]:hover{background:rgba(107,91,79,.18);border-color:#6b5b4f4d}.auto-add-btn[data-v-5f43bba7]:disabled{opacity:.4;cursor:default}.clear-btn[data-v-5f43bba7]{padding:7px 12px;border-radius:var(--r-sm);font-size:11.5px;font-weight:500;color:var(--text-4);background:var(--surface-2);cursor:pointer;transition:all .15s}.clear-btn[data-v-5f43bba7]:hover{color:#e84d8a;background:rgba(232,77,138,.1)}.clear-btn[data-v-5f43bba7]:disabled{opacity:.4;cursor:default}.point-list[data-v-5f43bba7]{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto}.point-item[data-v-5f43bba7]{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--r-xs);transition:background .1s}.point-item[data-v-5f43bba7]:hover{background:var(--surface-2)}.point-num[data-v-5f43bba7]{width:18px;height:18px;border-radius:50%;background:rgba(107,91,79,.15);color:#6b5b4f;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.point-coord[data-v-5f43bba7]{flex:1;font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.point-del[data-v-5f43bba7]{width:16px;height:16px;border-radius:3px;background:transparent;color:var(--text-4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;flex-shrink:0}.point-del[data-v-5f43bba7]:hover{background:rgba(220,50,80,.15);color:#e84d8a}.point-del[data-v-5f43bba7]:disabled{opacity:.3;cursor:default}.playback-btns[data-v-5f43bba7]{display:flex;gap:8px}.btn-play[data-v-5f43bba7]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-5f43bba7]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-5f43bba7]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-5f43bba7]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-5f43bba7]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-5f43bba7]:disabled{opacity:.4;cursor:default}.btn-cancel-export[data-v-5f43bba7]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-5f43bba7]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-5f43bba7]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-5f43bba7]{opacity:1}.spinner[data-v-5f43bba7]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-5f43bba7 .7s linear infinite;flex-shrink:0}@keyframes spin-5f43bba7{to{transform:rotate(360deg)}}.setting-row[data-v-5f43bba7]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-5f43bba7]:last-child{margin-bottom:0}.setting-row label[data-v-5f43bba7]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-5f43bba7]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-5f43bba7]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-5f43bba7]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-5f43bba7]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.loop-toggle[data-v-5f43bba7]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-5f43bba7]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-5f43bba7]{font-size:12px;color:var(--text-3)}.ink-spectrum[data-v-5f43bba7]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.spectrum-controls[data-v-5f43bba7]{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.seg-group[data-v-5f43bba7]{display:flex;gap:4px;flex-wrap:wrap}.seg-btn[data-v-5f43bba7]{flex:1;min-width:0;padding:5px 4px;border-radius:var(--r-xs);font-size:11px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:all .15s}.seg-btn[data-v-5f43bba7]:hover{background:var(--surface-3);color:var(--text-2)}.seg-btn.active[data-v-5f43bba7]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.spectrum-picker[data-v-5f43bba7]{width:36px;height:28px;padding:2px;border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-2);cursor:pointer;flex-shrink:0}.spectrum-picker[data-v-5f43bba7]::-webkit-color-swatch-wrapper{padding:2px}.spectrum-picker[data-v-5f43bba7]::-webkit-color-swatch{border:none;border-radius:3px}.spectrum-picker[data-v-5f43bba7]::-moz-color-swatch{border:none;border-radius:3px}.ink-watermark[data-v-5f43bba7]{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.wm-text-input[data-v-5f43bba7]{width:100%;padding:5px 8px;border-radius:var(--r-xs);font-size:11.5px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border)}.wm-font-select[data-v-5f43bba7]{width:100%;padding:5px 8px;border-radius:var(--r-xs);font-size:11.5px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);cursor:pointer}.wm-style-row[data-v-5f43bba7]{display:flex;align-items:center;gap:6px;width:100%}.wm-style-row .wm-font-select[data-v-5f43bba7]{flex:1;min-width:0;width:auto}.wm-tt-btn[data-v-5f43bba7]{flex:none;width:22px;height:22px;line-height:1;font-size:11px;font-weight:700;border-radius:var(--r-xs);border:1px solid var(--border);background:transparent;color:var(--text-2);cursor:pointer;padding:0}.wm-tt-btn[data-v-5f43bba7]:hover{border-color:var(--accent)}.wm-tt-btn.on[data-v-5f43bba7]{background:var(--accent);color:#111;border-color:var(--accent)}.wm-tt-i[data-v-5f43bba7]{font-style:italic}.wm-tt-u[data-v-5f43bba7]{text-decoration:underline}.wm-tt-s[data-v-5f43bba7]{text-decoration:line-through}.wm-text-input[data-v-5f43bba7]:focus{outline:none;border-color:var(--accent)}.wm-file-input-hidden[data-v-5f43bba7]{display:none}.wm-choose-btn[data-v-5f43bba7]{font-size:11px;padding:3px 10px;border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:4px;cursor:pointer;white-space:nowrap}.wm-choose-btn[data-v-5f43bba7]:hover{background:var(--accent-dim)}.wm-file-name[data-v-5f43bba7]{font-size:11px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compress-row[data-v-5f43bba7]{margin-top:6px}.per-image-timing[data-v-5f43bba7]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.timing-header[data-v-5f43bba7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.timing-label[data-v-5f43bba7]{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.04em}.apply-all-btn[data-v-5f43bba7]{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;padding:2px 8px;border-radius:var(--r-xs);cursor:pointer;transition:all .15s}.apply-all-btn[data-v-5f43bba7]:hover{background:rgba(112,96,255,.2);border-color:var(--accent)}.timing-row[data-v-5f43bba7]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timing-row[data-v-5f43bba7]:last-child{margin-bottom:0}.timing-row label[data-v-5f43bba7]{width:54px;font-size:11px;color:var(--text-3);flex-shrink:0}.timing-ctl[data-v-5f43bba7]{flex:1;display:flex;align-items:center;gap:8px}.timing-ctl input[type=range][data-v-5f43bba7]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:0}.timing-ctl input[type=range][data-v-5f43bba7]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.timing-input-wrap[data-v-5f43bba7]{display:flex;align-items:center;gap:2px;flex-shrink:0}.timing-input[data-v-5f43bba7]{width:52px;padding:3px 4px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:right;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.timing-input[data-v-5f43bba7]::-webkit-inner-spin-button,.timing-input[data-v-5f43bba7]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timing-input[data-v-5f43bba7]:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7060ff4d}.timing-unit[data-v-5f43bba7]{font-size:10px;color:var(--text-4);flex-shrink:0}.beat-badge[data-v-5f43bba7]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-5f43bba7]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-5f43bba7]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-5f43bba7 .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-5f43bba7]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-5f43bba7]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-5f43bba7]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-5f43bba7]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-5f43bba7]{opacity:.4;cursor:default}.segment-badge[data-v-5f43bba7]{font-variant-numeric:tabular-nums}.segment-controls[data-v-5f43bba7]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-5f43bba7]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-5f43bba7]:hover{color:var(--text-2);background:var(--surface-4)}.wf-fade-enter-active[data-v-5f43bba7],.wf-fade-leave-active[data-v-5f43bba7]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-5f43bba7],.wf-fade-leave-to[data-v-5f43bba7]{opacity:0;transform:translateY(4px)}.fragment-page[data-v-81a3c17b]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-81a3c17b]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.canvas-wrapper[data-v-81a3c17b]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-81a3c17b]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-81a3c17b]{width:100%;height:100%;display:block}.canvas-shell.is-fullscreen[data-v-81a3c17b]{background:var(--canvas-bg);border:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}.canvas-shell.is-fullscreen .canvas[data-v-81a3c17b]{width:100%;height:100%;object-fit:contain}.fullscreen-btn[data-v-81a3c17b]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:var(--r-sm);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:10;opacity:0;border:1px solid rgba(255,255,255,.1)}.canvas-shell:hover .fullscreen-btn[data-v-81a3c17b],.canvas-shell.is-fullscreen .fullscreen-btn[data-v-81a3c17b]{opacity:1}.fullscreen-btn[data-v-81a3c17b]:hover{background:rgba(0,0,0,.75);color:var(--on-accent)}.canvas-shell.is-fullscreen .fullscreen-btn[data-v-81a3c17b]{top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-md)}.empty-state[data-v-81a3c17b]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.status-bar[data-v-81a3c17b]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-81a3c17b]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.spreading[data-v-81a3c17b]{background:var(--purple);box-shadow:0 0 6px var(--purple);animation:pulse-81a3c17b .8s infinite}.status-dot.pausing[data-v-81a3c17b]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-81a3c17b{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-81a3c17b]{flex:1}.export-progress-wrap[data-v-81a3c17b]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-81a3c17b]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-81a3c17b]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-81a3c17b]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-81a3c17b]{flex-shrink:0}.block-header[data-v-81a3c17b]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-81a3c17b]{color:var(--text-3)}.block-badge[data-v-81a3c17b]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.image-tabs[data-v-81a3c17b]{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.image-tab[data-v-81a3c17b]{position:relative;flex-shrink:0;width:56px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.image-tab[data-v-81a3c17b]:hover{background:var(--surface-3)}.image-tab.active[data-v-81a3c17b]{border-color:var(--accent);background:var(--accent-dim)}.tab-thumb[data-v-81a3c17b]{width:40px;height:28px;border-radius:3px;object-fit:cover;display:block}.tab-idx[data-v-81a3c17b]{font-size:9px;font-weight:700;color:var(--text-3)}.tab-pts[data-v-81a3c17b]{font-size:8px;color:var(--text-4)}.playback-btns[data-v-81a3c17b]{display:flex;gap:8px}.btn-play[data-v-81a3c17b]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-81a3c17b]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-81a3c17b]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-81a3c17b]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-81a3c17b]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-81a3c17b]:disabled{opacity:.4;cursor:default}.btn-cancel-export[data-v-81a3c17b]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-81a3c17b]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-81a3c17b]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-81a3c17b]{opacity:1}.spinner[data-v-81a3c17b]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-81a3c17b .7s linear infinite;flex-shrink:0}@keyframes spin-81a3c17b{to{transform:rotate(360deg)}}.setting-row[data-v-81a3c17b]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-81a3c17b]:last-child{margin-bottom:0}.setting-row label[data-v-81a3c17b]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-81a3c17b]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-81a3c17b]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-81a3c17b]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-81a3c17b]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.mode-row[data-v-81a3c17b]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mode-label[data-v-81a3c17b]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.mode-btns[data-v-81a3c17b]{display:flex;gap:4px;flex:1}.mode-btn[data-v-81a3c17b]{flex:1;padding:5px 0;border-radius:var(--r-sm);font-size:11px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1.5px solid transparent;cursor:pointer;transition:all .15s}.mode-btn[data-v-81a3c17b]:hover{background:var(--surface-3);color:var(--text-2)}.mode-btn.active[data-v-81a3c17b]{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.loop-toggle[data-v-81a3c17b]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-81a3c17b]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-81a3c17b]{font-size:12px;color:var(--text-3)}.per-image-timing[data-v-81a3c17b]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.timing-header[data-v-81a3c17b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.timing-label[data-v-81a3c17b]{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.04em}.apply-all-btn[data-v-81a3c17b]{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;padding:2px 8px;border-radius:var(--r-xs);cursor:pointer;transition:all .15s}.apply-all-btn[data-v-81a3c17b]:hover{background:rgba(112,96,255,.2);border-color:var(--accent)}.timing-row[data-v-81a3c17b]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timing-row[data-v-81a3c17b]:last-child{margin-bottom:0}.timing-row label[data-v-81a3c17b]{width:54px;font-size:11px;color:var(--text-3);flex-shrink:0}.timing-ctl[data-v-81a3c17b]{flex:1;display:flex;align-items:center;gap:8px}.timing-ctl input[type=range][data-v-81a3c17b]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:0}.timing-ctl input[type=range][data-v-81a3c17b]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.timing-input-wrap[data-v-81a3c17b]{display:flex;align-items:center;gap:2px;flex-shrink:0}.timing-input[data-v-81a3c17b]{width:52px;padding:3px 4px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:right;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.timing-input[data-v-81a3c17b]::-webkit-inner-spin-button,.timing-input[data-v-81a3c17b]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timing-input[data-v-81a3c17b]:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7060ff4d}.timing-unit[data-v-81a3c17b]{font-size:10px;color:var(--text-4);flex-shrink:0}.beat-badge[data-v-81a3c17b]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-81a3c17b]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-81a3c17b]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-81a3c17b .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-81a3c17b]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-81a3c17b]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-81a3c17b]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-81a3c17b]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-81a3c17b]{opacity:.4;cursor:default}.segment-badge[data-v-81a3c17b]{font-variant-numeric:tabular-nums}.segment-controls[data-v-81a3c17b]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-81a3c17b]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-81a3c17b]:hover{color:var(--text-2);background:var(--surface-4)}.wf-fade-enter-active[data-v-81a3c17b],.wf-fade-leave-active[data-v-81a3c17b]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-81a3c17b],.wf-fade-leave-to[data-v-81a3c17b]{opacity:0;transform:translateY(4px)}.waterfall-page[data-v-4c435717]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-4c435717]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.canvas-wrapper[data-v-4c435717]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-4c435717]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-4c435717]{width:100%;height:100%;display:block}.canvas-shell.is-fullscreen[data-v-4c435717]{background:var(--canvas-bg);border:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}.canvas-shell.is-fullscreen .canvas[data-v-4c435717]{width:100%;height:100%;object-fit:contain}.fullscreen-btn[data-v-4c435717]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:var(--r-sm);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:10;opacity:0;border:1px solid rgba(255,255,255,.1)}.canvas-shell:hover .fullscreen-btn[data-v-4c435717],.canvas-shell.is-fullscreen .fullscreen-btn[data-v-4c435717]{opacity:1}.fullscreen-btn[data-v-4c435717]:hover{background:rgba(0,0,0,.75);color:var(--on-accent)}.canvas-shell.is-fullscreen .fullscreen-btn[data-v-4c435717]{top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-md)}.empty-state[data-v-4c435717]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.status-bar[data-v-4c435717]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-4c435717]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.spreading[data-v-4c435717]{background:var(--purple);box-shadow:0 0 6px var(--purple);animation:pulse-4c435717 .8s infinite}.status-dot.pausing[data-v-4c435717]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-4c435717{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-4c435717]{flex:1}.export-progress-wrap[data-v-4c435717]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-4c435717]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-4c435717]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-4c435717]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-4c435717]{flex-shrink:0}.block-header[data-v-4c435717]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-4c435717]{color:var(--text-3)}.block-badge[data-v-4c435717]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.image-tabs[data-v-4c435717]{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.image-tab[data-v-4c435717]{position:relative;flex-shrink:0;width:56px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.image-tab[data-v-4c435717]:hover{background:var(--surface-3)}.image-tab.active[data-v-4c435717]{border-color:var(--accent);background:var(--accent-dim)}.tab-thumb[data-v-4c435717]{width:40px;height:28px;border-radius:3px;object-fit:cover;display:block}.tab-idx[data-v-4c435717]{font-size:9px;font-weight:700;color:var(--text-3)}.tab-pts[data-v-4c435717]{font-size:8px;color:var(--text-4)}.playback-btns[data-v-4c435717]{display:flex;gap:8px}.btn-play[data-v-4c435717]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-4c435717]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-4c435717]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-4c435717]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-4c435717]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-4c435717]:disabled{opacity:.4;cursor:default}.btn-cancel-export[data-v-4c435717]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-4c435717]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-4c435717]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-4c435717]{opacity:1}.spinner[data-v-4c435717]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-4c435717 .7s linear infinite;flex-shrink:0}@keyframes spin-4c435717{to{transform:rotate(360deg)}}.setting-row[data-v-4c435717]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-4c435717]:last-child{margin-bottom:0}.setting-row label[data-v-4c435717]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-4c435717]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-4c435717]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-4c435717]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-4c435717]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.mode-row[data-v-4c435717]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mode-label[data-v-4c435717]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.mode-btns[data-v-4c435717]{display:flex;gap:4px;flex:1}.mode-btn[data-v-4c435717]{flex:1;padding:5px 0;border-radius:var(--r-sm);font-size:11px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1.5px solid transparent;cursor:pointer;transition:all .15s}.mode-btn[data-v-4c435717]:hover{background:var(--surface-3);color:var(--text-2)}.mode-btn.active[data-v-4c435717]{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.loop-toggle[data-v-4c435717]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-4c435717]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-4c435717]{font-size:12px;color:var(--text-3)}.per-image-timing[data-v-4c435717]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.timing-header[data-v-4c435717]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.timing-label[data-v-4c435717]{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.04em}.apply-all-btn[data-v-4c435717]{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;padding:2px 8px;border-radius:var(--r-xs);cursor:pointer;transition:all .15s}.apply-all-btn[data-v-4c435717]:hover{background:rgba(112,96,255,.2);border-color:var(--accent)}.timing-row[data-v-4c435717]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timing-row[data-v-4c435717]:last-child{margin-bottom:0}.timing-row label[data-v-4c435717]{width:54px;font-size:11px;color:var(--text-3);flex-shrink:0}.timing-ctl[data-v-4c435717]{flex:1;display:flex;align-items:center;gap:8px}.timing-ctl input[type=range][data-v-4c435717]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:0}.timing-ctl input[type=range][data-v-4c435717]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.timing-input-wrap[data-v-4c435717]{display:flex;align-items:center;gap:2px;flex-shrink:0}.timing-input[data-v-4c435717]{width:52px;padding:3px 4px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:right;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.timing-input[data-v-4c435717]::-webkit-inner-spin-button,.timing-input[data-v-4c435717]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timing-input[data-v-4c435717]:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7060ff4d}.timing-unit[data-v-4c435717]{font-size:10px;color:var(--text-4);flex-shrink:0}.beat-badge[data-v-4c435717]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-4c435717]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-4c435717]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-4c435717 .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-4c435717]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-4c435717]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-4c435717]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-4c435717]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-4c435717]{opacity:.4;cursor:default}.segment-badge[data-v-4c435717]{font-variant-numeric:tabular-nums}.segment-controls[data-v-4c435717]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-4c435717]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-4c435717]:hover{color:var(--text-2);background:var(--surface-4)}.wf-fade-enter-active[data-v-4c435717],.wf-fade-leave-active[data-v-4c435717]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-4c435717],.wf-fade-leave-to[data-v-4c435717]{opacity:0;transform:translateY(4px)}.beam-page[data-v-b5e469cc]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-b5e469cc]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.canvas-wrapper[data-v-b5e469cc]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-b5e469cc]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-b5e469cc]{width:100%;height:100%;display:block}.canvas.center-cursor[data-v-b5e469cc]{cursor:crosshair}.canvas-shell.is-fullscreen[data-v-b5e469cc]{background:var(--canvas-bg);border:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}.canvas-shell.is-fullscreen .canvas[data-v-b5e469cc]{width:100%;height:100%;object-fit:contain}.fullscreen-btn[data-v-b5e469cc]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:var(--r-sm);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:10;opacity:0;border:1px solid rgba(255,255,255,.1)}.canvas-shell:hover .fullscreen-btn[data-v-b5e469cc],.canvas-shell.is-fullscreen .fullscreen-btn[data-v-b5e469cc]{opacity:1}.fullscreen-btn[data-v-b5e469cc]:hover{background:rgba(0,0,0,.75);color:var(--on-accent)}.canvas-shell.is-fullscreen .fullscreen-btn[data-v-b5e469cc]{top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-md)}.empty-state[data-v-b5e469cc]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.center-indicator[data-v-b5e469cc]{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:2}.center-ring[data-v-b5e469cc]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(150,180,255,.5);animation:center-pulse-b5e469cc 2s ease-in-out infinite}.center-dot[data-v-b5e469cc]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:rgba(150,180,255,.8);box-shadow:0 0 8px #96b4ff80}@keyframes center-pulse-b5e469cc{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}}.edit-hint[data-v-b5e469cc]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:6px 16px;border-radius:var(--r-md);background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-2);font-size:12px;pointer-events:none}.hint-fade-enter-active[data-v-b5e469cc],.hint-fade-leave-active[data-v-b5e469cc]{transition:opacity .25s}.hint-fade-enter-from[data-v-b5e469cc],.hint-fade-leave-to[data-v-b5e469cc]{opacity:0}.status-bar[data-v-b5e469cc]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-b5e469cc]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.spreading[data-v-b5e469cc]{background:var(--amber);box-shadow:0 0 6px var(--amber);animation:pulse-b5e469cc .8s infinite}.status-dot.pausing[data-v-b5e469cc]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-b5e469cc{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-b5e469cc]{flex:1}.export-progress-wrap[data-v-b5e469cc]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-b5e469cc]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-b5e469cc]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-b5e469cc]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-b5e469cc]{flex-shrink:0}.block-header[data-v-b5e469cc]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-b5e469cc]{color:var(--text-3)}.block-badge[data-v-b5e469cc]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.image-tabs[data-v-b5e469cc]{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.image-tab[data-v-b5e469cc]{position:relative;flex-shrink:0;width:56px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.image-tab[data-v-b5e469cc]:hover{background:var(--surface-3)}.image-tab.active[data-v-b5e469cc]{border-color:var(--accent);background:var(--accent-dim)}.tab-thumb[data-v-b5e469cc]{width:40px;height:28px;border-radius:3px;object-fit:cover;display:block}.tab-idx[data-v-b5e469cc]{font-size:9px;font-weight:700;color:var(--text-3)}.tab-pts[data-v-b5e469cc]{font-size:8px;color:var(--text-4)}.playback-btns[data-v-b5e469cc]{display:flex;gap:8px}.btn-play[data-v-b5e469cc]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-b5e469cc]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-b5e469cc]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-b5e469cc]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-b5e469cc]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-b5e469cc]:disabled{opacity:.4;cursor:default}.btn-cancel-export[data-v-b5e469cc]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-b5e469cc]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-b5e469cc]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-b5e469cc]{opacity:1}.spinner[data-v-b5e469cc]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-b5e469cc .7s linear infinite;flex-shrink:0}@keyframes spin-b5e469cc{to{transform:rotate(360deg)}}.setting-row[data-v-b5e469cc]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-b5e469cc]:last-child{margin-bottom:0}.setting-row label[data-v-b5e469cc]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-b5e469cc]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-b5e469cc]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-b5e469cc]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-b5e469cc]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.hue-row[data-v-b5e469cc]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.hue-label[data-v-b5e469cc]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.hue-presets[data-v-b5e469cc]{display:flex;gap:6px;flex:1}.hue-btn[data-v-b5e469cc]{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;padding:0;background:transparent}.hue-btn[data-v-b5e469cc]:hover{border-color:var(--text-3);transform:scale(1.15)}.hue-btn.active[data-v-b5e469cc]{border-color:var(--text);transform:scale(1.15);box-shadow:0 0 8px var(--hue-color)}.hue-swatch[data-v-b5e469cc]{width:16px;height:16px;border-radius:50%;display:block}.loop-toggle[data-v-b5e469cc]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-b5e469cc]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-b5e469cc]{font-size:12px;color:var(--text-3)}.per-image-timing[data-v-b5e469cc]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.timing-header[data-v-b5e469cc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.timing-label[data-v-b5e469cc]{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.04em}.apply-all-btn[data-v-b5e469cc]{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;padding:2px 8px;border-radius:var(--r-xs);cursor:pointer;transition:all .15s}.apply-all-btn[data-v-b5e469cc]:hover{background:rgba(112,96,255,.2);border-color:var(--accent)}.timing-row[data-v-b5e469cc]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timing-row[data-v-b5e469cc]:last-child{margin-bottom:0}.timing-row label[data-v-b5e469cc]{width:54px;font-size:11px;color:var(--text-3);flex-shrink:0}.timing-ctl[data-v-b5e469cc]{flex:1;display:flex;align-items:center;gap:8px}.timing-ctl input[type=range][data-v-b5e469cc]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:0}.timing-ctl input[type=range][data-v-b5e469cc]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.timing-input-wrap[data-v-b5e469cc]{display:flex;align-items:center;gap:2px;flex-shrink:0}.timing-input[data-v-b5e469cc]{width:52px;padding:3px 4px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:right;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.timing-input[data-v-b5e469cc]::-webkit-inner-spin-button,.timing-input[data-v-b5e469cc]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timing-input[data-v-b5e469cc]:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7060ff4d}.timing-unit[data-v-b5e469cc]{font-size:10px;color:var(--text-4);flex-shrink:0}.beat-badge[data-v-b5e469cc]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-b5e469cc]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-b5e469cc]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-b5e469cc .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-b5e469cc]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-b5e469cc]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-b5e469cc]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-b5e469cc]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-b5e469cc]{opacity:.4;cursor:default}.segment-badge[data-v-b5e469cc]{font-variant-numeric:tabular-nums}.segment-controls[data-v-b5e469cc]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-b5e469cc]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-b5e469cc]:hover{color:var(--text-2);background:var(--surface-4)}.wf-fade-enter-active[data-v-b5e469cc],.wf-fade-leave-active[data-v-b5e469cc]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-b5e469cc],.wf-fade-leave-to[data-v-b5e469cc]{opacity:0;transform:translateY(4px)}.particle-page[data-v-e4b55d0c]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-e4b55d0c]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.canvas-wrapper[data-v-e4b55d0c]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-e4b55d0c]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-e4b55d0c]{width:100%;height:100%;display:block}.canvas-shell.is-fullscreen[data-v-e4b55d0c]{background:var(--canvas-bg);border:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}.canvas-shell.is-fullscreen .canvas[data-v-e4b55d0c]{width:100%;height:100%;object-fit:contain}.fullscreen-btn[data-v-e4b55d0c]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:var(--r-sm);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:10;opacity:0;border:1px solid rgba(255,255,255,.1)}.canvas-shell:hover .fullscreen-btn[data-v-e4b55d0c],.canvas-shell.is-fullscreen .fullscreen-btn[data-v-e4b55d0c]{opacity:1}.fullscreen-btn[data-v-e4b55d0c]:hover{background:rgba(0,0,0,.75);color:var(--on-accent)}.canvas-shell.is-fullscreen .fullscreen-btn[data-v-e4b55d0c]{top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-md)}.empty-state[data-v-e4b55d0c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.status-bar[data-v-e4b55d0c]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-e4b55d0c]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.spreading[data-v-e4b55d0c]{background:var(--purple);box-shadow:0 0 6px var(--purple);animation:pulse-e4b55d0c .8s infinite}.status-dot.pausing[data-v-e4b55d0c]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-e4b55d0c{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-e4b55d0c]{flex:1}.export-progress-wrap[data-v-e4b55d0c]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-e4b55d0c]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-e4b55d0c]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-e4b55d0c]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-e4b55d0c]{flex-shrink:0}.block-header[data-v-e4b55d0c]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-e4b55d0c]{color:var(--text-3)}.block-badge[data-v-e4b55d0c]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.image-tabs[data-v-e4b55d0c]{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.image-tab[data-v-e4b55d0c]{position:relative;flex-shrink:0;width:56px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.image-tab[data-v-e4b55d0c]:hover{background:var(--surface-3)}.image-tab.active[data-v-e4b55d0c]{border-color:var(--accent);background:var(--accent-dim)}.tab-thumb[data-v-e4b55d0c]{width:40px;height:28px;border-radius:3px;object-fit:cover;display:block}.tab-idx[data-v-e4b55d0c]{font-size:9px;font-weight:700;color:var(--text-3)}.tab-pts[data-v-e4b55d0c]{font-size:8px;color:var(--text-4)}.playback-btns[data-v-e4b55d0c]{display:flex;gap:8px}.btn-play[data-v-e4b55d0c]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-e4b55d0c]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-e4b55d0c]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-e4b55d0c]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-e4b55d0c]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-e4b55d0c]:disabled{opacity:.4;cursor:default}.btn-cancel-export[data-v-e4b55d0c]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-e4b55d0c]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-e4b55d0c]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-e4b55d0c]{opacity:1}.spinner[data-v-e4b55d0c]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-e4b55d0c .7s linear infinite;flex-shrink:0}@keyframes spin-e4b55d0c{to{transform:rotate(360deg)}}.setting-row[data-v-e4b55d0c]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-e4b55d0c]:last-child{margin-bottom:0}.setting-row label[data-v-e4b55d0c]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-e4b55d0c]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-e4b55d0c]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-e4b55d0c]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-e4b55d0c]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.mode-row[data-v-e4b55d0c]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mode-label[data-v-e4b55d0c]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.mode-btns[data-v-e4b55d0c]{display:flex;gap:4px;flex:1}.mode-btn[data-v-e4b55d0c]{flex:1;padding:5px 0;border-radius:var(--r-sm);font-size:11px;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1.5px solid transparent;cursor:pointer;transition:all .15s}.mode-btn[data-v-e4b55d0c]:hover{background:var(--surface-3);color:var(--text-2)}.mode-btn.active[data-v-e4b55d0c]{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.loop-toggle[data-v-e4b55d0c]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-e4b55d0c]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-e4b55d0c]{font-size:12px;color:var(--text-3)}.per-image-timing[data-v-e4b55d0c]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.timing-header[data-v-e4b55d0c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.timing-label[data-v-e4b55d0c]{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.04em}.apply-all-btn[data-v-e4b55d0c]{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;padding:2px 8px;border-radius:var(--r-xs);cursor:pointer;transition:all .15s}.apply-all-btn[data-v-e4b55d0c]:hover{background:rgba(112,96,255,.2);border-color:var(--accent)}.timing-row[data-v-e4b55d0c]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timing-row[data-v-e4b55d0c]:last-child{margin-bottom:0}.timing-row label[data-v-e4b55d0c]{width:54px;font-size:11px;color:var(--text-3);flex-shrink:0}.timing-ctl[data-v-e4b55d0c]{flex:1;display:flex;align-items:center;gap:8px}.timing-ctl input[type=range][data-v-e4b55d0c]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:0}.timing-ctl input[type=range][data-v-e4b55d0c]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.timing-input-wrap[data-v-e4b55d0c]{display:flex;align-items:center;gap:2px;flex-shrink:0}.timing-input[data-v-e4b55d0c]{width:52px;padding:3px 4px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:right;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.timing-input[data-v-e4b55d0c]::-webkit-inner-spin-button,.timing-input[data-v-e4b55d0c]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timing-input[data-v-e4b55d0c]:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7060ff4d}.timing-unit[data-v-e4b55d0c]{font-size:10px;color:var(--text-4);flex-shrink:0}.beat-badge[data-v-e4b55d0c]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-e4b55d0c]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-e4b55d0c]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-e4b55d0c .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-e4b55d0c]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-e4b55d0c]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-e4b55d0c]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-e4b55d0c]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-e4b55d0c]{opacity:.4;cursor:default}.segment-badge[data-v-e4b55d0c]{font-variant-numeric:tabular-nums}.segment-controls[data-v-e4b55d0c]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-e4b55d0c]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-e4b55d0c]:hover{color:var(--text-2);background:var(--surface-4)}.wf-fade-enter-active[data-v-e4b55d0c],.wf-fade-leave-active[data-v-e4b55d0c]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-e4b55d0c],.wf-fade-leave-to[data-v-e4b55d0c]{opacity:0;transform:translateY(4px)}.kaleidoscope-page[data-v-ac946757]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-ac946757]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.canvas-wrapper[data-v-ac946757]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-ac946757]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-ac946757]{width:100%;height:100%;display:block}.canvas.center-cursor[data-v-ac946757]{cursor:crosshair}.canvas-shell.is-fullscreen[data-v-ac946757]{background:var(--canvas-bg);border:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}.canvas-shell.is-fullscreen .canvas[data-v-ac946757]{width:100%;height:100%;object-fit:contain}.fullscreen-btn[data-v-ac946757]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:var(--r-sm);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:10;opacity:0;border:1px solid rgba(255,255,255,.1)}.canvas-shell:hover .fullscreen-btn[data-v-ac946757],.canvas-shell.is-fullscreen .fullscreen-btn[data-v-ac946757]{opacity:1}.fullscreen-btn[data-v-ac946757]:hover{background:rgba(0,0,0,.75);color:var(--on-accent)}.canvas-shell.is-fullscreen .fullscreen-btn[data-v-ac946757]{top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-md)}.empty-state[data-v-ac946757]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.center-indicator[data-v-ac946757]{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:2}.center-ring[data-v-ac946757]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(200,150,255,.5);animation:center-pulse-ac946757 2s ease-in-out infinite}.center-dot[data-v-ac946757]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:rgba(200,150,255,.8);box-shadow:0 0 8px #c896ff80}@keyframes center-pulse-ac946757{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}}.edit-hint[data-v-ac946757]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:6px 16px;border-radius:var(--r-md);background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-2);font-size:12px;pointer-events:none}.hint-fade-enter-active[data-v-ac946757],.hint-fade-leave-active[data-v-ac946757]{transition:opacity .25s}.hint-fade-enter-from[data-v-ac946757],.hint-fade-leave-to[data-v-ac946757]{opacity:0}.status-bar[data-v-ac946757]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-ac946757]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.spreading[data-v-ac946757]{background:var(--purple);box-shadow:0 0 6px var(--purple);animation:pulse-ac946757 .8s infinite}.status-dot.pausing[data-v-ac946757]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-ac946757{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-ac946757]{flex:1}.export-progress-wrap[data-v-ac946757]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-ac946757]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-ac946757]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-ac946757]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-ac946757]{flex-shrink:0}.block-header[data-v-ac946757]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-ac946757]{color:var(--text-3)}.block-badge[data-v-ac946757]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.image-tabs[data-v-ac946757]{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.image-tab[data-v-ac946757]{position:relative;flex-shrink:0;width:56px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.image-tab[data-v-ac946757]:hover{background:var(--surface-3)}.image-tab.active[data-v-ac946757]{border-color:var(--accent);background:var(--accent-dim)}.tab-thumb[data-v-ac946757]{width:40px;height:28px;border-radius:3px;object-fit:cover;display:block}.tab-idx[data-v-ac946757]{font-size:9px;font-weight:700;color:var(--text-3)}.tab-pts[data-v-ac946757]{font-size:8px;color:var(--text-4)}.playback-btns[data-v-ac946757]{display:flex;gap:8px}.btn-play[data-v-ac946757]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-ac946757]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-ac946757]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-ac946757]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-ac946757]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-ac946757]:disabled{opacity:.4;cursor:default}.btn-cancel-export[data-v-ac946757]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-ac946757]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-ac946757]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-ac946757]{opacity:1}.spinner[data-v-ac946757]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-ac946757 .7s linear infinite;flex-shrink:0}@keyframes spin-ac946757{to{transform:rotate(360deg)}}.setting-row[data-v-ac946757]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-ac946757]:last-child{margin-bottom:0}.setting-row label[data-v-ac946757]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-ac946757]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-ac946757]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-ac946757]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-ac946757]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.mode-row[data-v-ac946757]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mode-label[data-v-ac946757]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.mode-btns[data-v-ac946757]{display:flex;gap:6px;flex:1}.mode-btn[data-v-ac946757]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border-radius:var(--r-sm);background:var(--surface-2);border:1.5px solid transparent;color:var(--text-3);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.mode-btn[data-v-ac946757]:hover{background:var(--surface-3);color:var(--text-2)}.mode-btn.active[data-v-ac946757]{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.hue-row[data-v-ac946757]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.hue-label[data-v-ac946757]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.hue-presets[data-v-ac946757]{display:flex;gap:6px;flex:1}.hue-btn[data-v-ac946757]{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;padding:0;background:transparent}.hue-btn[data-v-ac946757]:hover{border-color:var(--text-3);transform:scale(1.15)}.hue-btn.active[data-v-ac946757]{border-color:var(--text);transform:scale(1.15);box-shadow:0 0 8px var(--hue-color)}.hue-swatch[data-v-ac946757]{width:16px;height:16px;border-radius:50%;display:block}.loop-toggle[data-v-ac946757]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-ac946757]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-ac946757]{font-size:12px;color:var(--text-3)}.per-image-timing[data-v-ac946757]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.timing-header[data-v-ac946757]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.timing-label[data-v-ac946757]{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.04em}.apply-all-btn[data-v-ac946757]{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;padding:2px 8px;border-radius:var(--r-xs);cursor:pointer;transition:all .15s}.apply-all-btn[data-v-ac946757]:hover{background:rgba(112,96,255,.2);border-color:var(--accent)}.timing-row[data-v-ac946757]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timing-row[data-v-ac946757]:last-child{margin-bottom:0}.timing-row label[data-v-ac946757]{width:54px;font-size:11px;color:var(--text-3);flex-shrink:0}.timing-ctl[data-v-ac946757]{flex:1;display:flex;align-items:center;gap:8px}.timing-ctl input[type=range][data-v-ac946757]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:0}.timing-ctl input[type=range][data-v-ac946757]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.timing-input-wrap[data-v-ac946757]{display:flex;align-items:center;gap:2px;flex-shrink:0}.timing-input[data-v-ac946757]{width:52px;padding:3px 4px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:right;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.timing-input[data-v-ac946757]::-webkit-inner-spin-button,.timing-input[data-v-ac946757]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timing-input[data-v-ac946757]:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7060ff4d}.timing-unit[data-v-ac946757]{font-size:10px;color:var(--text-4);flex-shrink:0}.beat-badge[data-v-ac946757]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-ac946757]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-ac946757]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-ac946757 .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-ac946757]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-ac946757]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-ac946757]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-ac946757]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-ac946757]{opacity:.4;cursor:default}.segment-badge[data-v-ac946757]{font-variant-numeric:tabular-nums}.segment-controls[data-v-ac946757]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-ac946757]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-ac946757]:hover{color:var(--text-2);background:var(--surface-4)}.wf-fade-enter-active[data-v-ac946757],.wf-fade-leave-active[data-v-ac946757]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-ac946757],.wf-fade-leave-to[data-v-ac946757]{opacity:0;transform:translateY(4px)}.raindrop-page[data-v-5b8ac777]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-5b8ac777]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.canvas-wrapper[data-v-5b8ac777]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-5b8ac777]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-5b8ac777]{width:100%;height:100%;display:block}.canvas-shell.is-fullscreen[data-v-5b8ac777]{background:var(--canvas-bg);border:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}.canvas-shell.is-fullscreen .canvas[data-v-5b8ac777]{width:100%;height:100%;object-fit:contain}.fullscreen-btn[data-v-5b8ac777]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:var(--r-sm);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:10;opacity:0;border:1px solid rgba(255,255,255,.1)}.canvas-shell:hover .fullscreen-btn[data-v-5b8ac777],.canvas-shell.is-fullscreen .fullscreen-btn[data-v-5b8ac777]{opacity:1}.fullscreen-btn[data-v-5b8ac777]:hover{background:rgba(0,0,0,.75);color:var(--on-accent)}.canvas-shell.is-fullscreen .fullscreen-btn[data-v-5b8ac777]{top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-md)}.empty-state[data-v-5b8ac777]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.status-bar[data-v-5b8ac777]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-5b8ac777]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.spreading[data-v-5b8ac777]{background:var(--teal);box-shadow:0 0 6px var(--teal);animation:pulse-5b8ac777 .8s infinite}.status-dot.pausing[data-v-5b8ac777]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-5b8ac777{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-5b8ac777]{flex:1}.export-progress-wrap[data-v-5b8ac777]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-5b8ac777]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-5b8ac777]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-5b8ac777]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-5b8ac777]{flex-shrink:0}.block-header[data-v-5b8ac777]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-5b8ac777]{color:var(--text-3)}.block-badge[data-v-5b8ac777]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.image-tabs[data-v-5b8ac777]{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.image-tab[data-v-5b8ac777]{position:relative;flex-shrink:0;width:56px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.image-tab[data-v-5b8ac777]:hover{background:var(--surface-3)}.image-tab.active[data-v-5b8ac777]{border-color:var(--accent);background:var(--accent-dim)}.tab-thumb[data-v-5b8ac777]{width:40px;height:28px;border-radius:3px;object-fit:cover;display:block}.tab-idx[data-v-5b8ac777]{font-size:9px;font-weight:700;color:var(--text-3)}.tab-pts[data-v-5b8ac777]{font-size:8px;color:var(--text-4)}.playback-btns[data-v-5b8ac777]{display:flex;gap:8px}.btn-play[data-v-5b8ac777]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-5b8ac777]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-5b8ac777]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-5b8ac777]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-5b8ac777]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-5b8ac777]:disabled{opacity:.4;cursor:default}.btn-cancel-export[data-v-5b8ac777]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-5b8ac777]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-5b8ac777]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-5b8ac777]{opacity:1}.spinner[data-v-5b8ac777]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-5b8ac777 .7s linear infinite;flex-shrink:0}@keyframes spin-5b8ac777{to{transform:rotate(360deg)}}.setting-row[data-v-5b8ac777]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-5b8ac777]:last-child{margin-bottom:0}.setting-row label[data-v-5b8ac777]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-5b8ac777]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-5b8ac777]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-5b8ac777]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-5b8ac777]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.mode-row[data-v-5b8ac777]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mode-label[data-v-5b8ac777]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.mode-btns[data-v-5b8ac777]{display:flex;gap:6px;flex:1}.mode-btn[data-v-5b8ac777]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border-radius:var(--r-sm);background:var(--surface-2);border:1.5px solid transparent;color:var(--text-3);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.mode-btn[data-v-5b8ac777]:hover{background:var(--surface-3);color:var(--text-2)}.mode-btn.active[data-v-5b8ac777]{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.hue-row[data-v-5b8ac777]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.hue-label[data-v-5b8ac777]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.hue-presets[data-v-5b8ac777]{display:flex;gap:6px;flex:1}.hue-btn[data-v-5b8ac777]{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;padding:0;background:transparent}.hue-btn[data-v-5b8ac777]:hover{border-color:var(--text-3);transform:scale(1.15)}.hue-btn.active[data-v-5b8ac777]{border-color:var(--text);transform:scale(1.15);box-shadow:0 0 8px var(--hue-color)}.hue-swatch[data-v-5b8ac777]{width:16px;height:16px;border-radius:50%;display:block}.loop-toggle[data-v-5b8ac777]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-5b8ac777]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-5b8ac777]{font-size:12px;color:var(--text-3)}.per-image-timing[data-v-5b8ac777]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.timing-header[data-v-5b8ac777]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.timing-label[data-v-5b8ac777]{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.04em}.apply-all-btn[data-v-5b8ac777]{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;padding:2px 8px;border-radius:var(--r-xs);cursor:pointer;transition:all .15s}.apply-all-btn[data-v-5b8ac777]:hover{background:rgba(112,96,255,.2);border-color:var(--accent)}.timing-row[data-v-5b8ac777]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timing-row[data-v-5b8ac777]:last-child{margin-bottom:0}.timing-row label[data-v-5b8ac777]{width:54px;font-size:11px;color:var(--text-3);flex-shrink:0}.timing-ctl[data-v-5b8ac777]{flex:1;display:flex;align-items:center;gap:8px}.timing-ctl input[type=range][data-v-5b8ac777]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:0}.timing-ctl input[type=range][data-v-5b8ac777]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.timing-input-wrap[data-v-5b8ac777]{display:flex;align-items:center;gap:2px;flex-shrink:0}.timing-input[data-v-5b8ac777]{width:52px;padding:3px 4px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:right;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.timing-input[data-v-5b8ac777]::-webkit-inner-spin-button,.timing-input[data-v-5b8ac777]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timing-input[data-v-5b8ac777]:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7060ff4d}.timing-unit[data-v-5b8ac777]{font-size:10px;color:var(--text-4);flex-shrink:0}.beat-badge[data-v-5b8ac777]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-5b8ac777]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-5b8ac777]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-5b8ac777 .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-5b8ac777]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-5b8ac777]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-5b8ac777]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-5b8ac777]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-5b8ac777]{opacity:.4;cursor:default}.segment-badge[data-v-5b8ac777]{font-variant-numeric:tabular-nums}.segment-controls[data-v-5b8ac777]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-5b8ac777]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-5b8ac777]:hover{color:var(--text-2);background:var(--surface-4)}.wf-fade-enter-active[data-v-5b8ac777],.wf-fade-leave-active[data-v-5b8ac777]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-5b8ac777],.wf-fade-leave-to[data-v-5b8ac777]{opacity:0;transform:translateY(4px)}.palette-page[data-v-9c06fa34]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-9c06fa34]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.canvas-wrapper[data-v-9c06fa34]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-9c06fa34]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-9c06fa34]{width:100%;height:100%;display:block}.canvas-shell.is-fullscreen[data-v-9c06fa34]{background:var(--canvas-bg);border:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center}.canvas-shell.is-fullscreen .canvas[data-v-9c06fa34]{width:100%;height:100%;object-fit:contain}.fullscreen-btn[data-v-9c06fa34]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:var(--r-sm);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:10;opacity:0;border:1px solid rgba(255,255,255,.1)}.canvas-shell:hover .fullscreen-btn[data-v-9c06fa34],.canvas-shell.is-fullscreen .fullscreen-btn[data-v-9c06fa34]{opacity:1}.fullscreen-btn[data-v-9c06fa34]:hover{background:rgba(0,0,0,.75);color:var(--on-accent)}.canvas-shell.is-fullscreen .fullscreen-btn[data-v-9c06fa34]{top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-md)}.empty-state[data-v-9c06fa34]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.status-bar[data-v-9c06fa34]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-9c06fa34]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.spreading[data-v-9c06fa34]{background:var(--purple);box-shadow:0 0 6px var(--purple);animation:pulse-9c06fa34 .8s infinite}.status-dot.pausing[data-v-9c06fa34]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-9c06fa34{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-9c06fa34]{flex:1}.export-progress-wrap[data-v-9c06fa34]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-9c06fa34]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-9c06fa34]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-9c06fa34]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-9c06fa34]{flex-shrink:0}.block-header[data-v-9c06fa34]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-9c06fa34]{color:var(--text-3)}.block-badge[data-v-9c06fa34]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.image-tabs[data-v-9c06fa34]{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.image-tab[data-v-9c06fa34]{position:relative;flex-shrink:0;width:56px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.image-tab[data-v-9c06fa34]:hover{background:var(--surface-3)}.image-tab.active[data-v-9c06fa34]{border-color:var(--accent);background:var(--accent-dim)}.tab-thumb[data-v-9c06fa34]{width:40px;height:28px;border-radius:3px;object-fit:cover;display:block}.tab-idx[data-v-9c06fa34]{font-size:9px;font-weight:700;color:var(--text-3)}.tab-pts[data-v-9c06fa34]{font-size:8px;color:var(--text-4)}.playback-btns[data-v-9c06fa34]{display:flex;gap:8px}.btn-play[data-v-9c06fa34]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-9c06fa34]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-9c06fa34]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-9c06fa34]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-9c06fa34]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-9c06fa34]:disabled{opacity:.4;cursor:default}.btn-cancel-export[data-v-9c06fa34]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-9c06fa34]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-9c06fa34]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-9c06fa34]{opacity:1}.spinner[data-v-9c06fa34]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-9c06fa34 .7s linear infinite;flex-shrink:0}@keyframes spin-9c06fa34{to{transform:rotate(360deg)}}.setting-row[data-v-9c06fa34]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-9c06fa34]:last-child{margin-bottom:0}.setting-row label[data-v-9c06fa34]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-9c06fa34]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-9c06fa34]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-9c06fa34]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-9c06fa34]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.mode-row[data-v-9c06fa34]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mode-label[data-v-9c06fa34]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.mode-btns[data-v-9c06fa34]{display:flex;gap:6px;flex:1}.mode-btn[data-v-9c06fa34]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border-radius:var(--r-sm);background:var(--surface-2);border:1.5px solid transparent;color:var(--text-3);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.mode-btn[data-v-9c06fa34]:hover{background:var(--surface-3);color:var(--text-2)}.mode-btn.active[data-v-9c06fa34]{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.loop-toggle[data-v-9c06fa34]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-9c06fa34]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-9c06fa34]{font-size:12px;color:var(--text-3)}.per-image-timing[data-v-9c06fa34]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.timing-header[data-v-9c06fa34]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.timing-label[data-v-9c06fa34]{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.04em}.apply-all-btn[data-v-9c06fa34]{font-size:10px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;padding:2px 8px;border-radius:var(--r-xs);cursor:pointer;transition:all .15s}.apply-all-btn[data-v-9c06fa34]:hover{background:rgba(112,96,255,.2);border-color:var(--accent)}.timing-row[data-v-9c06fa34]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timing-row[data-v-9c06fa34]:last-child{margin-bottom:0}.timing-row label[data-v-9c06fa34]{width:54px;font-size:11px;color:var(--text-3);flex-shrink:0}.timing-ctl[data-v-9c06fa34]{flex:1;display:flex;align-items:center;gap:8px}.timing-ctl input[type=range][data-v-9c06fa34]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;min-width:0}.timing-ctl input[type=range][data-v-9c06fa34]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.timing-input-wrap[data-v-9c06fa34]{display:flex;align-items:center;gap:2px;flex-shrink:0}.timing-input[data-v-9c06fa34]{width:52px;padding:3px 4px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:right;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.timing-input[data-v-9c06fa34]::-webkit-inner-spin-button,.timing-input[data-v-9c06fa34]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timing-input[data-v-9c06fa34]:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7060ff4d}.timing-unit[data-v-9c06fa34]{font-size:10px;color:var(--text-4);flex-shrink:0}.beat-badge[data-v-9c06fa34]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-9c06fa34]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-9c06fa34]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-9c06fa34 .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-9c06fa34]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-9c06fa34]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-9c06fa34]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-9c06fa34]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-9c06fa34]{opacity:.4;cursor:default}.segment-badge[data-v-9c06fa34]{font-variant-numeric:tabular-nums}.segment-controls[data-v-9c06fa34]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-9c06fa34]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-9c06fa34]:hover{color:var(--text-2);background:var(--surface-4)}.wf-fade-enter-active[data-v-9c06fa34],.wf-fade-leave-active[data-v-9c06fa34]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-9c06fa34],.wf-fade-leave-to[data-v-9c06fa34]{opacity:0;transform:translateY(4px)}.filmstrip-page[data-v-f8237d5c]{height:100%;position:relative;overflow:hidden;background:#0a0908}.film-overlay[data-v-f8237d5c]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100}.film-grain[data-v-f8237d5c]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:150px;animation:grain-f8237d5c .5s steps(8) infinite}@keyframes grain-f8237d5c{0%,to{transform:translate(0)}10%{transform:translate(-2%,-3%)}20%{transform:translate(3%,1%)}30%{transform:translate(-1%,2%)}40%{transform:translate(2%,-2%)}50%{transform:translate(-3%,3%)}60%{transform:translate(1%,-1%)}70%{transform:translate(-2%,1%)}80%{transform:translate(3%,-3%)}90%{transform:translate(-1%,2%)}}.film-scratches[data-v-f8237d5c]{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent,transparent 30%,rgba(255,255,255,.01) 30%,rgba(255,255,255,.01) 30.1%,transparent 30.1%,transparent 60%,rgba(255,255,255,.012) 60%,rgba(255,255,255,.012) 60.05%,transparent 60.05%);animation:scratch-move-f8237d5c 5s linear infinite}@keyframes scratch-move-f8237d5c{0%{transform:translate(0)}to{transform:translate(6px)}}.vintage-overlay[data-v-f8237d5c]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(130,80,25,.07) 0%,transparent 22%,transparent 78%,rgba(130,80,25,.07) 100%)}.beat-flash[data-v-f8237d5c]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(255,245,215,.35),transparent 70%)}.page-layout[data-v-f8237d5c]{display:grid;grid-template-columns:260px 1fr;height:100%;position:relative;z-index:2}.sidebar[data-v-f8237d5c]{background:rgba(14,11,7,.97);border-right:1px solid rgba(255,255,255,.05);overflow-y:auto}.sidebar-inner[data-v-f8237d5c]{padding:18px 14px 28px;display:flex;flex-direction:column;gap:16px}.sidebar-title[data-v-f8237d5c]{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;margin:0;color:#ffebc3b8;font-family:Georgia,serif}.ctrl-group[data-v-f8237d5c]{display:flex;flex-direction:column;gap:6px}.ctrl-label[data-v-f8237d5c]{font-size:10px;font-weight:600;color:#ffe6b461;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;justify-content:space-between}.ctrl-val[data-v-f8237d5c]{color:#ffdc969e;font-family:monospace;letter-spacing:0;text-transform:none}.div-line[data-v-f8237d5c]{height:1px;background:rgba(255,255,255,.06)}.seg-row[data-v-f8237d5c]{display:flex;gap:4px}.seg-btn[data-v-f8237d5c]{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border-radius:5px;font-size:11.5px;border:1px solid rgba(255,235,180,.13);background:rgba(255,255,255,.03);color:#ffe6af73;cursor:pointer;transition:all .15s;position:relative}.seg-btn[data-v-f8237d5c]:hover{color:#ffe6afb3;border-color:#ffe6af40}.seg-btn.active[data-v-f8237d5c]{color:#ffd264eb;background:rgba(255,210,80,.1);border-color:#ffc85059}.seg-btn.has-content[data-v-f8237d5c]{color:#ffe6af99}.col-dot[data-v-f8237d5c]{width:5px;height:5px;border-radius:50%;background:rgba(255,200,80,.7);position:absolute;top:3px;right:4px}.drop-zone[data-v-f8237d5c]{position:relative;border:1px dashed rgba(255,230,180,.14);border-radius:5px;padding:10px 12px;text-align:center;cursor:pointer;background:rgba(255,255,255,.02);transition:border-color .15s,background .15s}.drop-zone[data-v-f8237d5c]:hover{border-color:#ffc86447;background:rgba(255,200,100,.04)}.drop-hint[data-v-f8237d5c]{font-size:11.5px;color:#ffe6b447}.file-loaded[data-v-f8237d5c]{font-size:11.5px;color:#ffd2789e;word-break:break-all}.img-list[data-v-f8237d5c]{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto}.img-row[data-v-f8237d5c]{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:4px;background:rgba(255,255,255,.025)}.img-num[data-v-f8237d5c]{font-size:10px;font-family:monospace;color:#ffc85066;min-width:16px;text-align:right}.img-thumb[data-v-f8237d5c]{width:32px;height:24px;object-fit:cover;border-radius:2px;flex-shrink:0;border:1px solid rgba(255,255,255,.07)}.img-name[data-v-f8237d5c]{flex:1;font-size:11px;color:#ffe6af80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.img-actions[data-v-f8237d5c]{display:flex;gap:2px;flex-shrink:0}.action-btn[data-v-f8237d5c]{padding:2px 5px;border-radius:3px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffe6af73;font-size:11px;cursor:pointer;transition:color .1s,background .1s}.action-btn[data-v-f8237d5c]:hover:not(:disabled){color:#ffe6afcc;background:rgba(255,255,255,.06)}.action-btn[data-v-f8237d5c]:disabled{opacity:.22;cursor:not-allowed}.action-btn.del[data-v-f8237d5c]:hover{color:#ff6450e6;border-color:#ff64504d}.video-loaded-row[data-v-f8237d5c]{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;background:rgba(64,217,192,.07);border:1px solid rgba(64,217,192,.2)}.video-loaded-row .file-loaded[data-v-f8237d5c]{flex:1;min-width:0}.play-row[data-v-f8237d5c]{display:flex;gap:5px}.play-btn[data-v-f8237d5c]{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:5px;border:1px solid rgba(255,235,180,.18);background:rgba(255,235,180,.05);color:#ffebb4bf;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.play-btn[data-v-f8237d5c]:hover:not(:disabled){background:rgba(255,235,180,.11)}.play-btn.active[data-v-f8237d5c]{background:rgba(255,200,80,.12);border-color:#ffc85061;color:#ffd264e0}.play-btn[data-v-f8237d5c]:disabled{opacity:.35;cursor:not-allowed}.rewind-btn[data-v-f8237d5c]{display:inline-flex;align-items:center;gap:4px;padding:8px 9px;border-radius:5px;border:1px solid rgba(255,235,180,.1);background:transparent;color:#ffebb466;font-size:11.5px;cursor:pointer;transition:color .15s}.rewind-btn[data-v-f8237d5c]:hover:not(:disabled){color:#ffebb4a6}.rewind-btn[data-v-f8237d5c]:disabled{opacity:.2;cursor:not-allowed}.time-row[data-v-f8237d5c]{display:flex;align-items:center;gap:5px;font-size:10.5px;font-family:monospace;color:#ffdc9661}.time-bar[data-v-f8237d5c]{flex:1;height:2px;background:rgba(255,235,180,.09);border-radius:1px;overflow:hidden}.time-fill[data-v-f8237d5c]{height:100%;background:rgba(255,200,80,.48);transition:width .1s linear}.film-slider[data-v-f8237d5c]{width:100%;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,235,180,.1);border-radius:2px;outline:none;cursor:pointer}.film-slider[data-v-f8237d5c]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:rgba(255,210,100,.68);border:2px solid rgba(100,60,10,.5);cursor:pointer}.film-select[data-v-f8237d5c]{width:100%;padding:6px 8px;border-radius:5px;font-size:12px;color:#ffebc3d9;background:rgba(255,255,255,.05);border:1px solid rgba(255,235,180,.18);outline:none;cursor:pointer}.film-select[data-v-f8237d5c]:focus{border-color:#c89b4699}.film-select option[data-v-f8237d5c]{background:#14100b;color:#ffebc3e6}.toggle-list[data-v-f8237d5c]{display:flex;flex-direction:column;gap:4px}.toggle[data-v-f8237d5c]{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;color:#ffe6af7a;padding:2px 0}.toggle input[type=checkbox][data-v-f8237d5c]{width:12px;height:12px;accent-color:rgba(200,155,70,.8)}.toggle[data-v-f8237d5c]:hover{color:#ffe6afb8}.col-panel[data-v-f8237d5c]{display:flex;flex-direction:column;gap:7px;padding:10px 10px 12px;border-radius:6px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.055)}.export-btn[data-v-f8237d5c]{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:5px;cursor:pointer;border:1px solid rgba(255,100,80,.32);background:rgba(255,100,80,.1);color:#ffb4a0e0;font-size:12px;font-weight:600;transition:background .15s}.export-btn[data-v-f8237d5c]:hover:not(:disabled){background:rgba(255,100,80,.2)}.export-btn[data-v-f8237d5c]:disabled{opacity:.4;cursor:not-allowed}.export-progress[data-v-f8237d5c]{height:2px;border-radius:1px;background:rgba(255,255,255,.07);overflow:hidden}.export-fill[data-v-f8237d5c]{height:100%;background:rgba(255,130,100,.68);transition:width .15s}.film-stage[data-v-f8237d5c]{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,rgba(26,20,12,1) 0%,rgba(8,7,6,1) 80%)}.projector-beam[data-v-f8237d5c]{position:absolute;top:-160px;left:50%;transform:translate(-50%);width:440px;height:440px;background:radial-gradient(ellipse at center top,rgba(255,248,220,.022),transparent 65%);pointer-events:none}.canvas-area[data-v-f8237d5c]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:16px}.canvas-wrap[data-v-f8237d5c]{position:relative;max-height:calc(100% - 32px);max-width:100%;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a,0 6px 36px #000000b8}.film-canvas[data-v-f8237d5c]{display:block;width:100%;height:100%}.end-overlay[data-v-f8237d5c]{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.68);display:flex;align-items:center;justify-content:center}.end-msg[data-v-f8237d5c]{display:flex;flex-direction:column;align-items:center;gap:10px;color:#ffe6afc7}.end-msg svg[data-v-f8237d5c]{opacity:.55}.end-msg span[data-v-f8237d5c]{font-size:13px;font-family:Georgia,serif}.end-btn[data-v-f8237d5c]{padding:6px 18px;border-radius:4px;border:1px solid rgba(255,230,175,.22);background:rgba(255,230,175,.07);color:#ffe6afb8;font-size:12px;cursor:pointer;transition:background .15s}.end-btn[data-v-f8237d5c]:hover{background:rgba(255,230,175,.14)}.reel-deco[data-v-f8237d5c]{position:absolute;right:20px;bottom:22px;opacity:.62}.reel-deco.spinning[data-v-f8237d5c]{animation:reel-spin-f8237d5c 4s linear infinite}@keyframes reel-spin-f8237d5c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-ball-page[data-v-66fadda2]{display:grid;grid-template-columns:1fr 280px;min-height:calc(100vh - 80px);gap:0}.canvas-area[data-v-66fadda2]{position:relative;overflow:hidden;background:#0a0a1a}.canvas-wrapper[data-v-66fadda2]{position:relative;width:100%;height:100%;min-height:500px}.canvas-wrapper canvas[data-v-66fadda2]{display:block;position:absolute;top:0;left:0}.play-overlay[data-v-66fadda2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(0,0,0,.3);cursor:pointer;z-index:10;transition:background .2s}.play-overlay[data-v-66fadda2]:hover{background:rgba(0,0,0,.2)}.play-btn-big[data-v-66fadda2]{width:80px;height:80px;border-radius:50%;background:rgba(100,108,255,.25);border:2px solid rgba(100,108,255,.5);display:flex;align-items:center;justify-content:center;transition:all .2s}.play-overlay:hover .play-btn-big[data-v-66fadda2]{background:rgba(100,108,255,.35);transform:scale(1.05)}.play-hint[data-v-66fadda2]{font-size:14px;color:#ffffff80}.empty-overlay[data-v-66fadda2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:5}.empty-icon[data-v-66fadda2]{opacity:.6;animation:pulse-slow-66fadda2 3s ease-in-out infinite}@keyframes pulse-slow-66fadda2{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.05);opacity:.8}}.empty-text[data-v-66fadda2]{font-size:16px;color:#fff6;margin:0}.empty-hint[data-v-66fadda2]{font-size:13px;color:#fff3;margin:0}.info-bar[data-v-66fadda2]{position:absolute;top:12px;left:12px;display:flex;gap:16px;padding:6px 14px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;border:1px solid rgba(255,255,255,.06);z-index:10}.info-item[data-v-66fadda2]{display:flex;align-items:center;gap:6px}.info-label[data-v-66fadda2]{font-size:11px;color:#ffffff59;font-weight:500}.info-val[data-v-66fadda2]{font-size:13px;color:#ffffffbf;font-family:var(--mono)}.auto-badge[data-v-66fadda2]{color:#64ff96cc;font-size:12px}.side-panel[data-v-66fadda2]{background:rgba(15,15,25,.98);border-left:1px solid rgba(255,255,255,.06);overflow-y:auto}.panel-inner[data-v-66fadda2]{padding:24px 18px;display:flex;flex-direction:column;gap:20px}.panel-title[data-v-66fadda2]{font-size:20px;font-weight:700;color:#ffffffe6;margin:0;display:flex;align-items:center;gap:8px}.panel-desc[data-v-66fadda2]{font-size:13px;color:#ffffff59;margin:-12px 0 0}.ctrl-group[data-v-66fadda2]{display:flex;flex-direction:column;gap:8px}.ctrl-label[data-v-66fadda2]{font-size:12px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;justify-content:space-between}.ctrl-val[data-v-66fadda2]{font-family:var(--mono);color:#646cffcc}.upload-zone[data-v-66fadda2]{position:relative;border:1.5px dashed rgba(100,108,255,.2);border-radius:10px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:6px;color:#ffffff4d;font-size:13px}.upload-zone[data-v-66fadda2]:hover{border-color:#646cff66;background:rgba(100,108,255,.04);color:#ffffff80}.upload-zone.drag-over[data-v-66fadda2]{border-color:#646cff99;background:rgba(100,108,255,.08)}.upload-zone.has-file[data-v-66fadda2]{border-style:solid;border-color:#646cff26;background:rgba(100,108,255,.04)}.file-name[data-v-66fadda2]{font-size:13px;color:#fff9;word-break:break-all}.file-input[data-v-66fadda2]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.analyzing[data-v-66fadda2]{display:flex;align-items:center;gap:8px;color:#646cffcc;font-size:13px}.analyze-spinner[data-v-66fadda2]{width:16px;height:16px;border:2px solid rgba(100,108,255,.2);border-top-color:#646cffcc;border-radius:50%;animation:spin-66fadda2 .8s linear infinite}@keyframes spin-66fadda2{to{transform:rotate(360deg)}}.btn-row[data-v-66fadda2]{display:flex;gap:8px}.ctrl-btn[data-v-66fadda2]{flex:1;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.04);color:#fff9;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.ctrl-btn[data-v-66fadda2]:hover{background:rgba(255,255,255,.08);border-color:#fff3}.ctrl-btn.primary[data-v-66fadda2]{background:rgba(100,108,255,.15);border-color:#646cff4d;color:#c8cdffe6}.ctrl-btn.primary[data-v-66fadda2]:hover{background:rgba(100,108,255,.25)}.progress-track[data-v-66fadda2]{height:4px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden;margin-top:4px}.progress-fill[data-v-66fadda2]{height:100%;background:linear-gradient(90deg,#646cff,#a78bfa);border-radius:2px;transition:width .1s linear}.slider[data-v-66fadda2]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.08);border-radius:2px;outline:none}.slider[data-v-66fadda2]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#646cff;cursor:pointer;border:2px solid rgba(255,255,255,.15)}.toggle-list[data-v-66fadda2]{display:flex;flex-direction:column;gap:4px}.toggle-row[data-v-66fadda2]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0}.toggle-row input[type=checkbox][data-v-66fadda2]{width:14px;height:14px;accent-color:#646cff}.toggle-text[data-v-66fadda2]{font-size:13px;color:#ffffff80}@media (max-width: 900px){.music-ball-page[data-v-66fadda2]{grid-template-columns:1fr;grid-template-rows:1fr auto}.canvas-wrapper[data-v-66fadda2]{min-height:400px}.side-panel[data-v-66fadda2]{border-left:none;border-top:1px solid rgba(255,255,255,.06)}}@media (max-width: 600px){.canvas-wrapper[data-v-66fadda2]{min-height:320px}.panel-inner[data-v-66fadda2]{padding:16px 14px;gap:14px}}.intro-page[data-v-d43090f8]{display:grid;grid-template-columns:1fr 360px;height:100%;overflow:hidden}.preview-col[data-v-d43090f8]{display:flex;flex-direction:column;padding:20px 16px 16px 20px;gap:14px;overflow:hidden}.canvas-shell[data-v-d43090f8]{flex:1;min-height:0;background:var(--canvas-bg);border-radius:var(--r-md, 8px);border:1px solid var(--border);box-shadow:0 4px 24px #0006;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-canvas[data-v-d43090f8]{width:100%;height:100%;object-fit:contain;display:block}.timeline-row[data-v-d43090f8]{display:flex;align-items:center;gap:10px;flex-shrink:0}.play-btn[data-v-d43090f8]{width:34px;height:34px;border-radius:50%;background:var(--accent-dim, rgba(168,152,255,.15));border:1px solid rgba(168,152,255,.3);color:var(--accent-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;flex-shrink:0}.play-btn[data-v-d43090f8]:hover:not(:disabled){background:rgba(168,152,255,.25)}.play-btn[data-v-d43090f8]:disabled{opacity:.4;cursor:not-allowed}.time-label[data-v-d43090f8]{font-size:12px;color:var(--text-3, #888);flex-shrink:0;min-width:30px}.time-label.muted[data-v-d43090f8]{color:var(--text-4, #555)}.seekbar[data-v-d43090f8]{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-3, #2a2a3a);border-radius:2px;outline:none;cursor:pointer}.seekbar[data-v-d43090f8]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent-light);cursor:pointer}.export-btn[data-v-d43090f8]{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:var(--r-sm, 6px);background:var(--pink, #ff5fa0);color:var(--on-accent);font-size:12.5px;font-weight:600;border:none;cursor:pointer;transition:opacity .15s;flex-shrink:0}.export-btn[data-v-d43090f8]:hover:not(:disabled){opacity:.85}.export-btn[data-v-d43090f8]:disabled{opacity:.6;cursor:not-allowed}.sidebar[data-v-d43090f8]{border-left:1px solid var(--border);overflow-y:auto;padding:0 0 20px}.sidebar-block[data-v-d43090f8]{padding:14px 16px 10px;display:flex;flex-direction:column;gap:7px}.block-title[data-v-d43090f8]{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--text-3, #888);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.divider[data-v-d43090f8]{height:1px;background:var(--border);margin:0}.field-row[data-v-d43090f8]{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2, #bbb);cursor:pointer}.field-row span[data-v-d43090f8]:first-child{min-width:38px;color:var(--text-3, #888);flex-shrink:0}.text-input[data-v-d43090f8]{flex:1;background:var(--surface-2, #1e1e2e);border:1px solid var(--border);border-radius:var(--r-sm, 4px);color:var(--text, #eee);padding:4px 8px;font-size:12.5px;outline:none}.text-input[data-v-d43090f8]:focus{border-color:#a898ff80}.num-input[data-v-d43090f8]{width:58px;background:var(--surface-2, #1e1e2e);border:1px solid var(--border);border-radius:var(--r-sm, 4px);color:var(--text, #eee);padding:4px 6px;font-size:12.5px;outline:none}.num-input[data-v-d43090f8]:focus{border-color:#a898ff80}.select-input[data-v-d43090f8]{flex:1;background:var(--surface-2, #1e1e2e);border:1px solid var(--border);border-radius:var(--r-sm, 4px);color:var(--text, #eee);padding:4px 6px;font-size:12.5px;outline:none}.color-input[data-v-d43090f8]{width:36px;height:22px;border-radius:4px;border:1px solid var(--border);background:none;cursor:pointer;padding:1px}.range-input[data-v-d43090f8]{flex:1;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-3, #2a2a3a);border-radius:2px;outline:none;cursor:pointer}.range-input[data-v-d43090f8]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--accent-light);cursor:pointer}.unit[data-v-d43090f8]{font-size:11px;color:var(--text-4, #555);flex-shrink:0}.hint[data-v-d43090f8]{font-size:11px;color:var(--teal, #40d9c0);flex-shrink:0}.drop-zone[data-v-d43090f8]{border:1px dashed var(--border);border-radius:var(--r-sm, 6px);padding:12px 10px;text-align:center;color:var(--text-3, #888);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s}.drop-zone[data-v-d43090f8]:hover{border-color:#a898ff66;background:rgba(168,152,255,.05)}.loaded-row[data-v-d43090f8]{display:flex;align-items:center;gap:8px;background:rgba(64,217,192,.1);border:1px solid rgba(64,217,192,.25);border-radius:var(--r-sm, 6px);padding:6px 10px;color:var(--teal, #40d9c0);font-size:12px}.file-name[data-v-d43090f8]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2, #bbb);font-size:12px}.remove-btn[data-v-d43090f8]{background:none;border:none;color:var(--text-3, #888);cursor:pointer;font-size:12px;padding:0 2px;line-height:1}.remove-btn[data-v-d43090f8]:hover{color:var(--text, #eee)}.logo-preview-row[data-v-d43090f8]{display:flex;align-items:center;gap:8px;padding:6px 0}.logo-thumb[data-v-d43090f8]{width:40px;height:40px;object-fit:contain;border-radius:4px;background:var(--surface-2, #1e1e2e);border:1px solid var(--border)}.sync-row[data-v-d43090f8]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2, #bbb);cursor:pointer;padding-top:2px}.beat-hint[data-v-d43090f8]{margin-left:4px;color:var(--teal, #40d9c0);font-size:11px}.reveal-hint[data-v-d43090f8]{display:flex;align-items:flex-start;gap:5px;padding:7px 9px;border-radius:var(--r-sm, 4px);background:rgba(168,152,255,.08);border:1px solid rgba(168,152,255,.2);font-size:11.5px;color:#a898ffe6;line-height:1.4}.reveal-hint svg[data-v-d43090f8]{flex-shrink:0;margin-top:1px}.reveal-hint .warn[data-v-d43090f8]{color:var(--amber, #fbbf24)}.bg-type-row[data-v-d43090f8]{display:flex;gap:4px}.bg-type-btn[data-v-d43090f8]{flex:1;padding:5px 0;border-radius:var(--r-sm, 4px);border:1px solid var(--border);background:var(--surface-2, #1e1e2e);color:var(--text-3, #888);font-size:11.5px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.bg-type-btn[data-v-d43090f8]:hover{color:var(--text-2, #bbb);background:var(--surface-3, #2a2a3a)}.bg-type-btn.active[data-v-d43090f8]{color:var(--accent-light);background:var(--accent-dim, rgba(168,152,255,.12));border-color:#a898ff59}.bg-preview-row[data-v-d43090f8]{display:flex;align-items:center;gap:8px;padding:4px 0}.bg-thumb[data-v-d43090f8]{width:56px;height:36px;object-fit:cover;border-radius:4px;background:var(--surface-2, #1e1e2e);border:1px solid var(--border);flex-shrink:0}.poster-page[data-v-7a42c2e7]{display:grid;grid-template-columns:1fr 360px;height:100%;overflow:hidden}.preview-col[data-v-7a42c2e7]{display:flex;flex-direction:column;padding:16px 16px 14px 20px;gap:12px;overflow:hidden;min-height:0}.canvas-wrapper[data-v-7a42c2e7]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-7a42c2e7]{max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-md, 8px);border:1px solid var(--border);box-shadow:0 4px 28px #00000080;overflow:hidden}.preview-canvas[data-v-7a42c2e7]{display:block;width:100%;height:100%}.export-bar[data-v-7a42c2e7]{display:flex;align-items:center;gap:8px;flex-shrink:0}.export-btn[data-v-7a42c2e7]{display:inline-flex;align-items:center;gap:5px;padding:6px 16px;border-radius:var(--r-sm, 6px);font-size:12.5px;font-weight:600;border:none;cursor:pointer;transition:opacity .15s}.export-btn.png[data-v-7a42c2e7]{background:var(--accent, #a898ff);color:var(--on-accent)}.export-btn.jpg[data-v-7a42c2e7]{background:var(--teal, #40d9c0);color:#111}.export-btn[data-v-7a42c2e7]:hover:not(:disabled){opacity:.85}.export-btn[data-v-7a42c2e7]:disabled{opacity:.5;cursor:not-allowed}.size-hint[data-v-7a42c2e7]{font-size:11.5px;color:var(--text-4, #555);margin-left:4px}.sidebar[data-v-7a42c2e7]{border-left:1px solid var(--border);overflow-y:auto;padding-bottom:24px}.sidebar-block[data-v-7a42c2e7]{padding:14px 16px 10px;display:flex;flex-direction:column;gap:7px}.block-title[data-v-7a42c2e7]{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--text-3, #888);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.sub-label[data-v-7a42c2e7]{font-size:11px;color:var(--text-4, #555);margin-top:4px;padding-left:2px}.divider[data-v-7a42c2e7]{height:1px;background:var(--border)}.ratio-row[data-v-7a42c2e7]{display:flex;gap:4px}.ratio-btn[data-v-7a42c2e7]{flex:1;padding:5px 0;border-radius:var(--r-sm, 4px);border:1px solid var(--border);background:var(--surface-2, #1e1e2e);color:var(--text-3, #888);font-size:11.5px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.ratio-btn[data-v-7a42c2e7]:hover{color:var(--text-2, #bbb);background:var(--surface-3, #2a2a3a)}.ratio-btn.active[data-v-7a42c2e7]{color:var(--accent-light);background:var(--accent-dim, rgba(168,152,255,.12));border-color:#a898ff59}.bg-type-row[data-v-7a42c2e7]{display:flex;gap:4px}.bg-type-btn[data-v-7a42c2e7]{flex:1;padding:5px 0;border-radius:var(--r-sm, 4px);border:1px solid var(--border);background:var(--surface-2, #1e1e2e);color:var(--text-3, #888);font-size:11.5px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.bg-type-btn[data-v-7a42c2e7]:hover{color:var(--text-2, #bbb);background:var(--surface-3, #2a2a3a)}.bg-type-btn.active[data-v-7a42c2e7]{color:var(--accent-light);background:var(--accent-dim, rgba(168,152,255,.12));border-color:#a898ff59}.field-row[data-v-7a42c2e7]{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2, #bbb);cursor:pointer}.field-row>span[data-v-7a42c2e7]:first-child{min-width:38px;color:var(--text-3, #888);flex-shrink:0}.gap[data-v-7a42c2e7]{flex:1}.text-area[data-v-7a42c2e7]{flex:1;background:var(--surface-2, #1e1e2e);border:1px solid var(--border);border-radius:var(--r-sm, 4px);color:var(--text, #eee);padding:5px 8px;font-size:12.5px;resize:vertical;outline:none;font-family:inherit;line-height:1.4}.text-area[data-v-7a42c2e7]:focus{border-color:#a898ff80}.num-input[data-v-7a42c2e7]{width:58px;background:var(--surface-2, #1e1e2e);border:1px solid var(--border);border-radius:var(--r-sm, 4px);color:var(--text, #eee);padding:4px 6px;font-size:12.5px;outline:none}.num-input[data-v-7a42c2e7]:focus{border-color:#a898ff80}.select-input[data-v-7a42c2e7]{flex:1;background:var(--surface-2, #1e1e2e);border:1px solid var(--border);border-radius:var(--r-sm, 4px);color:var(--text, #eee);padding:4px 6px;font-size:12.5px;outline:none}.select-input.sm[data-v-7a42c2e7]{flex:none;width:50px}.color-input[data-v-7a42c2e7]{width:36px;height:22px;border-radius:4px;border:1px solid var(--border);background:none;cursor:pointer;padding:1px}.range-input[data-v-7a42c2e7]{flex:1;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-3, #2a2a3a);border-radius:2px;outline:none;cursor:pointer}.range-input[data-v-7a42c2e7]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--accent-light);cursor:pointer}.unit[data-v-7a42c2e7]{font-size:11px;color:var(--text-4, #555);flex-shrink:0;min-width:28px;text-align:right}.hint[data-v-7a42c2e7]{font-size:11px;color:var(--teal, #40d9c0);flex-shrink:0}.drop-zone[data-v-7a42c2e7]{border:1px dashed var(--border);border-radius:var(--r-sm, 6px);padding:12px 10px;text-align:center;color:var(--text-3, #888);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s}.drop-zone[data-v-7a42c2e7]:hover{border-color:#a898ff66;background:rgba(168,152,255,.05)}.bg-preview-row[data-v-7a42c2e7]{display:flex;align-items:center;gap:8px;padding:4px 0}.bg-thumb[data-v-7a42c2e7]{width:56px;height:36px;object-fit:cover;border-radius:4px;border:1px solid var(--border);flex-shrink:0;background:var(--surface-2, #1e1e2e)}.logo-preview-row[data-v-7a42c2e7]{display:flex;align-items:center;gap:8px;padding:4px 0}.logo-thumb[data-v-7a42c2e7]{width:40px;height:40px;object-fit:contain;border-radius:4px;background:var(--surface-2, #1e1e2e);border:1px solid var(--border)}.file-name[data-v-7a42c2e7]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2, #bbb);font-size:12px}.remove-btn[data-v-7a42c2e7]{background:none;border:none;color:var(--text-3, #888);cursor:pointer;font-size:12px;padding:0 2px;line-height:1;flex-shrink:0}.remove-btn[data-v-7a42c2e7]:hover{color:var(--text, #eee)}.tpl-group-label[data-v-7a42c2e7]{font-size:10.5px;font-weight:600;color:var(--text-4, #555);letter-spacing:.06em;text-transform:uppercase;padding:8px 2px 5px}.tpl-group-label[data-v-7a42c2e7]:first-child{padding-top:0}.template-grid[data-v-7a42c2e7]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:4px}.template-swatch[data-v-7a42c2e7]{position:relative;border:1px solid var(--border);border-radius:var(--r-sm, 6px);cursor:pointer;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;transition:border-color .15s,transform .12s,box-shadow .15s;padding:0;text-align:left}.template-swatch[data-v-7a42c2e7]:hover{border-color:#a898ff73;transform:translateY(-2px);box-shadow:0 4px 16px #00000080}.template-swatch[data-v-7a42c2e7]:active{transform:translateY(0)}.swatch-diagram[data-v-7a42c2e7]{width:100%;height:70px;display:block;flex-shrink:0}.swatch-info[data-v-7a42c2e7]{display:flex;flex-direction:column;gap:2px;padding:6px 8px 7px;background:rgba(0,0,0,.42);border-top:1px solid rgba(255,255,255,.07)}.swatch-info--light[data-v-7a42c2e7]{background:rgba(255,255,255,.62);border-top-color:#0000001a}.swatch-info--light .swatch-desc[data-v-7a42c2e7]{color:#0000006b}.swatch-name[data-v-7a42c2e7]{font-size:11.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swatch-desc[data-v-7a42c2e7]{font-size:10px;color:#ffffff61;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-page[data-v-d61e4eab]{height:100%;display:grid;grid-template-columns:1fr 360px;overflow:hidden}.preview-col[data-v-d61e4eab]{display:flex;flex-direction:column;gap:12px;padding:20px;overflow:hidden;border-right:1px solid var(--border)}.canvas-wrapper[data-v-d61e4eab]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-shell[data-v-d61e4eab]{position:relative;max-width:100%;max-height:100%;background:var(--canvas-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0000004d}.canvas[data-v-d61e4eab]{width:100%;height:100%;display:block}.empty-state[data-v-d61e4eab]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;pointer-events:none}.status-bar[data-v-d61e4eab]{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3)}.status-dot[data-v-d61e4eab]{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--surface-3);transition:background .3s}.status-dot.playing[data-v-d61e4eab]{background:var(--teal);box-shadow:0 0 6px var(--teal);animation:pulse-d61e4eab .8s infinite}.status-dot.exporting[data-v-d61e4eab]{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes pulse-d61e4eab{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-d61e4eab]{flex:1}.export-progress-wrap[data-v-d61e4eab]{width:80px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.export-progress-fill[data-v-d61e4eab]{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-light));border-radius:2px;transition:width .1s}.sidebar[data-v-d61e4eab]{display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.sidebar-block[data-v-d61e4eab]{padding:14px 16px;border-bottom:1px solid var(--border)}.controls-block[data-v-d61e4eab]{flex-shrink:0}.block-header[data-v-d61e4eab]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.block-header span[data-v-d61e4eab]{color:var(--text-3)}.block-badge[data-v-d61e4eab]{margin-left:auto;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;letter-spacing:0;text-transform:none}.header-project[data-v-d61e4eab]{margin-left:auto;display:flex;gap:6px;align-items:center}.header-project-label[data-v-d61e4eab]{color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.project-btn[data-v-d61e4eab]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.project-btn[data-v-d61e4eab]:hover{color:var(--accent);border-color:var(--accent)}.project-btn[data-v-d61e4eab]:disabled,.project-btn.is-busy[data-v-d61e4eab]{opacity:.5;pointer-events:none}.video-drop[data-v-d61e4eab]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:88px;padding:12px;border:1.5px dashed var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-3);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.video-drop[data-v-d61e4eab]:hover{border-color:var(--accent);color:var(--text-2);background:var(--surface-3)}.video-drop.has[data-v-d61e4eab]{border-style:solid;border-color:var(--accent);background:var(--accent-dim);color:var(--text-2)}.video-name[data-v-d61e4eab]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;color:var(--text)}.video-dur[data-v-d61e4eab]{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.video-hint[data-v-d61e4eab]{font-size:10px;color:var(--text-4)}.video-tip[data-v-d61e4eab]{margin-top:6px;font-size:10.5px;color:var(--text-4)}.playback-btns[data-v-d61e4eab]{display:flex;gap:8px}.btn-play[data-v-d61e4eab]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;box-shadow:0 4px 16px #7060ff40;transition:background .15s,opacity .15s,box-shadow .15s}.btn-play[data-v-d61e4eab]:hover:not(:disabled){background:#8070ff;box-shadow:0 4px 20px #7060ff66}.btn-play[data-v-d61e4eab]:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-export[data-v-d61e4eab]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:500;border:1px solid var(--border);transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-export[data-v-d61e4eab]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-export[data-v-d61e4eab]:disabled{opacity:.4;cursor:default}.res-select[data-v-d61e4eab]{position:relative;flex:0 0 auto}.btn-res[data-v-d61e4eab]{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px;border-radius:var(--r-md);background:var(--surface-3);color:var(--text-2);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid var(--border);cursor:pointer;transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-res[data-v-d61e4eab]:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.btn-res[data-v-d61e4eab]:disabled{opacity:.4;cursor:default}.res-menu[data-v-d61e4eab]{position:absolute;right:0;top:calc(100% + 5px);z-index:30;min-width:100%;padding:4px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);box-shadow:0 8px 24px #00000047}.res-opt[data-v-d61e4eab]{display:block;width:100%;padding:6px 12px;border-radius:var(--r-xs);font-size:12px;color:var(--text-2);text-align:center;cursor:pointer;background:transparent;border:none}.res-opt[data-v-d61e4eab]:hover{background:var(--surface-4);color:var(--text)}.res-opt.active[data-v-d61e4eab]{color:var(--accent);font-weight:600}.btn-cancel-export[data-v-d61e4eab]{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,77,138,.12);color:var(--pink);font-size:12.5px;font-weight:500;border:1px solid rgba(232,77,138,.2);transition:background .15s,border-color .15s;white-space:nowrap;cursor:pointer}.btn-cancel-export[data-v-d61e4eab]:hover{background:rgba(232,77,138,.2);border-color:#e84d8a66}.btn-cancel-export .cancel-hint[data-v-d61e4eab]{font-size:10px;opacity:0;transition:opacity .15s}.btn-cancel-export:hover .cancel-hint[data-v-d61e4eab]{opacity:1}.spinner[data-v-d61e4eab]{width:13px;height:13px;border:2px solid var(--border-hover);border-top-color:var(--text-2);border-radius:50%;animation:spin-d61e4eab .7s linear infinite;flex-shrink:0}@keyframes spin-d61e4eab{to{transform:rotate(360deg)}}.setting-row[data-v-d61e4eab]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.setting-row[data-v-d61e4eab]:last-child{margin-bottom:0}.setting-row label[data-v-d61e4eab]{width:60px;font-size:11.5px;color:var(--text-3);flex-shrink:0}.setting-ctl[data-v-d61e4eab]{flex:1;display:flex;align-items:center;gap:8px}.setting-ctl input[type=range][data-v-d61e4eab]{flex:1;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.setting-ctl input[type=range][data-v-d61e4eab]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3px #7060ff66;cursor:pointer}.setting-val[data-v-d61e4eab]{width:38px;font-size:11px;color:var(--text-3);text-align:right;flex-shrink:0}.loop-toggle[data-v-d61e4eab]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.loop-toggle input[type=checkbox][data-v-d61e4eab]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.loop-label[data-v-d61e4eab]{font-size:12px;color:var(--text-3)}.control-row[data-v-d61e4eab]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-top:10px}.control-row .perf-toggle[data-v-d61e4eab]{margin-top:0}.perf-toggle[data-v-d61e4eab]{display:flex;align-items:center;gap:8px;margin-top:10px;cursor:pointer}.perf-toggle input[type=checkbox][data-v-d61e4eab]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.perf-toggle span[data-v-d61e4eab]{font-size:11.5px;color:var(--text-3)}.ffmpeg-overlay[data-v-d61e4eab]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center}.ffmpeg-dialog[data-v-d61e4eab]{width:min(560px,92vw);max-height:86vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 20px 60px #0006;display:flex;flex-direction:column}.ffmpeg-dialog-head[data-v-d61e4eab]{display:flex;align-items:center;gap:8px;padding:14px 16px;font-weight:700;color:var(--text-1);border-bottom:1px solid var(--border);flex-shrink:0}.ffmpeg-dialog-head svg[data-v-d61e4eab]{color:var(--accent)}.ffmpeg-dialog-close[data-v-d61e4eab]{margin-left:auto;border:none;background:none;color:var(--text-3);font-size:15px;cursor:pointer;line-height:1}.ffmpeg-dialog-body[data-v-d61e4eab]{padding:14px 16px;font-size:12.5px;color:var(--text-2);line-height:1.7}.ffmpeg-method[data-v-d61e4eab]{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.ffmpeg-method-title[data-v-d61e4eab]{font-weight:700;color:var(--text-1);margin-bottom:6px;font-size:13px}.ffmpeg-method ul[data-v-d61e4eab],.ffmpeg-method ol[data-v-d61e4eab]{margin:6px 0 0;padding-left:18px}.ffmpeg-method a[data-v-d61e4eab]{color:var(--accent);word-break:break-all}.ffmpeg-method code[data-v-d61e4eab]{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:11.5px}.ffmpeg-method-hint[data-v-d61e4eab]{color:var(--text-3);font-size:11.5px;margin:4px 0 0}.ffmpeg-cmd[data-v-d61e4eab]{display:flex;align-items:center;gap:8px;margin-top:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 10px}.ffmpeg-cmd code[data-v-d61e4eab]{flex:1;border:none;background:none;color:var(--accent);white-space:pre-wrap;word-break:break-all}.ffmpeg-cmd button[data-v-d61e4eab]{flex-shrink:0;font-size:11px;font-weight:600;color:var(--accent);cursor:pointer;background:rgba(112,96,255,.12);border:1px solid rgba(112,96,255,.35);border-radius:var(--r-sm);padding:3px 10px}.ffmpeg-cmd button[data-v-d61e4eab]:hover{background:rgba(112,96,255,.22)}.ffmpeg-dialog-foot[data-v-d61e4eab]{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;flex-shrink:0}.ffmpeg-dialog-btn[data-v-d61e4eab]{font-size:12.5px;font-weight:600;color:#fff;cursor:pointer;background:var(--accent);border:none;border-radius:var(--r-sm);padding:7px 22px}.ffmpeg-dialog-btn[data-v-d61e4eab]:hover{opacity:.9}.spectrum-controls[data-v-d61e4eab]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.spectrum-picker[data-v-d61e4eab]{width:36px;height:28px;padding:2px;border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-2);cursor:pointer;flex-shrink:0}.spectrum-picker[data-v-d61e4eab]::-webkit-color-swatch-wrapper{padding:2px}.spectrum-picker[data-v-d61e4eab]::-webkit-color-swatch{border:none;border-radius:3px}.spectrum-picker[data-v-d61e4eab]::-moz-color-swatch{border:none;border-radius:3px}.ink-watermark[data-v-d61e4eab]{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.wm-text-input[data-v-d61e4eab]{width:100%;padding:5px 8px;border-radius:var(--r-xs);font-size:11.5px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border)}.wm-font-select[data-v-d61e4eab]{width:100%;padding:5px 8px;border-radius:var(--r-xs);font-size:11.5px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);cursor:pointer}.wm-style-row[data-v-d61e4eab]{display:flex;align-items:center;gap:6px;width:100%}.wm-style-row .wm-font-select[data-v-d61e4eab]{flex:1;min-width:0;width:auto}.wm-tt-btn[data-v-d61e4eab]{flex:none;width:22px;height:22px;line-height:1;font-size:11px;font-weight:700;border-radius:var(--r-xs);border:1px solid var(--border);background:transparent;color:var(--text-2);cursor:pointer;padding:0}.wm-tt-btn[data-v-d61e4eab]:hover{border-color:var(--accent)}.wm-tt-btn.on[data-v-d61e4eab]{background:var(--accent);color:#111;border-color:var(--accent)}.wm-tt-i[data-v-d61e4eab]{font-style:italic}.wm-tt-u[data-v-d61e4eab]{text-decoration:underline}.wm-tt-s[data-v-d61e4eab]{text-decoration:line-through}.wm-text-input[data-v-d61e4eab]:focus{outline:none;border-color:var(--accent)}.wm-file-input-hidden[data-v-d61e4eab]{display:none}.wm-choose-btn[data-v-d61e4eab]{font-size:11px;padding:3px 10px;border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:4px;cursor:pointer;white-space:nowrap}.wm-choose-btn[data-v-d61e4eab]:hover{background:var(--accent-dim)}.wm-file-name[data-v-d61e4eab]{font-size:11px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seg-group[data-v-d61e4eab]{display:flex;gap:4px}.seg-btn[data-v-d61e4eab]{flex:1;padding:5px 4px;border-radius:var(--r-xs);background:var(--surface-2);color:var(--text-3);font-size:11px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .15s;text-align:center;white-space:nowrap}.seg-btn[data-v-d61e4eab]:hover{background:var(--surface-3);color:var(--text-2)}.seg-btn.active[data-v-d61e4eab]{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.beat-badge[data-v-d61e4eab]{background:rgba(29,201,158,.15)!important;color:var(--teal)!important}.analyze-bar[data-v-d61e4eab]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;color:var(--text-3)}.spinner-sm[data-v-d61e4eab]{width:11px;height:11px;border:1.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin-d61e4eab .7s linear infinite;flex-shrink:0}.analyze-progress[data-v-d61e4eab]{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.analyze-fill[data-v-d61e4eab]{height:100%;background:var(--teal);border-radius:2px;transition:width .15s}.beat-info[data-v-d61e4eab]{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.beat-chip[data-v-d61e4eab]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-xs);background:rgba(29,201,158,.1);color:var(--teal);font-size:11px;font-weight:600;letter-spacing:.02em}.loop-toggle.disabled[data-v-d61e4eab]{opacity:.4;cursor:default}.segment-badge[data-v-d61e4eab]{font-variant-numeric:tabular-nums}.segment-controls[data-v-d61e4eab]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.btn-reset-segment[data-v-d61e4eab]{font-size:11px;font-weight:500;color:var(--text-3);padding:3px 10px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s}.btn-reset-segment[data-v-d61e4eab]:hover{color:var(--text-2);background:var(--surface-4)}.video-seg-block[data-v-d61e4eab]{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.video-seg-head[data-v-d61e4eab]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.video-seg-head .seg-title[data-v-d61e4eab]{font-size:12px;font-weight:600;color:var(--text-2)}.video-seg-head .seg-time[data-v-d61e4eab]{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-3);margin-right:auto}.btn-slice[data-v-d61e4eab]{font-size:11px;font-weight:600;color:var(--accent);padding:3px 12px;border-radius:var(--r-sm);background:rgba(112,96,255,.12);border:1px solid rgba(112,96,255,.35);cursor:pointer;transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn-slice[data-v-d61e4eab]:hover:not(:disabled){background:rgba(112,96,255,.2);color:var(--accent-light)}.btn-slice[data-v-d61e4eab]:disabled{opacity:.4;cursor:default}.sim-ffmpeg[data-v-d61e4eab]{display:flex;align-items:center;gap:4px;font-size:10.5px;color:var(--text-3);white-space:nowrap;cursor:pointer}.sim-ffmpeg input[type=checkbox][data-v-d61e4eab]{width:12px;height:12px;accent-color:var(--accent);cursor:pointer}.wf-fade-enter-active[data-v-d61e4eab],.wf-fade-leave-active[data-v-d61e4eab]{transition:opacity .3s,transform .3s}.wf-fade-enter-from[data-v-d61e4eab],.wf-fade-leave-to[data-v-d61e4eab]{opacity:0;transform:translateY(4px)}
