.projects-view[data-v-62a787d1]{min-height:100vh;background:var(--bg-deep);padding:var(--space-8) var(--space-10)}.projects-header[data-v-62a787d1]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-8)}.projects-header h1[data-v-62a787d1]{margin-bottom:2px;font-size:var(--fs-h1)}.brand-row[data-v-62a787d1]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1)}.brand-logo[data-v-62a787d1]{width:40px;height:40px;border-radius:var(--radius-md)}.company-tag[data-v-62a787d1]{font-size:11px;color:var(--brand-primary);font-weight:500;letter-spacing:.5px;margin:0;opacity:.8}.subtitle[data-v-62a787d1]{color:var(--text-secondary);font-size:var(--fs-body)}.create-btn[data-v-62a787d1]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--brand-primary);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);font-size:var(--fs-body);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.create-btn[data-v-62a787d1]:hover{background:var(--brand-hover)}.create-btn[data-v-62a787d1]:disabled{opacity:.4;cursor:not-allowed}.loading-state[data-v-62a787d1]{display:flex;align-items:center;justify-content:center;height:400px}.empty-state[data-v-62a787d1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) 0;text-align:center}.empty-icon[data-v-62a787d1]{font-size:64px;opacity:.3;margin-bottom:var(--space-4)}.empty-state h3[data-v-62a787d1]{color:var(--text-secondary);margin-bottom:var(--space-2)}.empty-state p[data-v-62a787d1]{color:var(--text-weak);margin-bottom:var(--space-6)}.projects-grid[data-v-62a787d1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}.project-card[data-v-62a787d1]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-normal)}.project-card[data-v-62a787d1]:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-cover[data-v-62a787d1]{height:160px;background:linear-gradient(135deg,var(--bg-elevated) 0%,var(--bg-hover) 100%);display:flex;align-items:center;justify-content:center}.cover-placeholder[data-v-62a787d1]{font-family:var(--font-heading);font-size:var(--fs-h2);color:var(--text-weak);opacity:.5}.card-body[data-v-62a787d1]{padding:var(--space-4)}.card-title[data-v-62a787d1]{font-size:var(--fs-h4);font-weight:600;margin-bottom:var(--space-1)}.card-idea[data-v-62a787d1]{font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:var(--space-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta[data-v-62a787d1]{display:flex;align-items:center;justify-content:space-between}.status-badge[data-v-62a787d1]{font-size:var(--fs-caption);font-weight:500}.time[data-v-62a787d1]{font-size:var(--fs-caption);color:var(--text-weak)}.card-actions[data-v-62a787d1]{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-default)}.action-btn[data-v-62a787d1]{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-sm);font-size:var(--fs-caption);cursor:pointer;transition:all var(--transition-fast)}.action-btn.enter[data-v-62a787d1]{background:var(--bg-elevated);color:var(--brand-primary)}.action-btn.enter[data-v-62a787d1]:hover{background:#dc354526}.action-btn.delete[data-v-62a787d1]{margin-left:auto;background:transparent;color:var(--text-weak)}.action-btn.delete[data-v-62a787d1]:hover{color:var(--color-error);background:#f052521a}.modal-overlay[data-v-62a787d1]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content[data-v-62a787d1]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-8);width:480px;max-width:90vw;box-shadow:var(--shadow-lg)}.modal-content h2[data-v-62a787d1]{margin-bottom:var(--space-6)}.workflow-modes[data-v-62a787d1]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.workflow-mode-card[data-v-62a787d1]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.workflow-mode-card[data-v-62a787d1]:hover{border-color:var(--border-hover);background:var(--bg-hover)}.workflow-mode-card.active[data-v-62a787d1]{border-color:var(--brand-primary);background:#dc35450f}.wm-icon[data-v-62a787d1]{font-size:18px;color:var(--text-secondary);flex-shrink:0;margin-top:2px}.workflow-mode-card.active .wm-icon[data-v-62a787d1]{color:var(--brand-primary)}.wm-text[data-v-62a787d1]{display:flex;flex-direction:column;gap:2px}.wm-label[data-v-62a787d1]{font-size:var(--fs-caption);font-weight:600;color:var(--text-primary)}.wm-desc[data-v-62a787d1]{font-size:11px;color:var(--text-weak);line-height:1.4}.import-hint[data-v-62a787d1]{margin-top:4px;font-size:11px;color:var(--text-weak);text-align:right}.import-label-row[data-v-62a787d1]{display:flex;align-items:baseline;gap:8px;margin-bottom:var(--space-2)}.import-label-row label[data-v-62a787d1]{font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:0}.import-sub-label[data-v-62a787d1]{font-size:11px;color:var(--text-weak)}.file-upload-zone[data-v-62a787d1]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;border:2px dashed var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:var(--bg-elevated);margin-bottom:8px}.file-upload-zone[data-v-62a787d1]:hover{border-color:var(--brand-primary);background:#dc35450a}.file-upload-zone.loading[data-v-62a787d1]{pointer-events:none;opacity:.7}.file-upload-zone.hascontent[data-v-62a787d1]{padding:12px;border-style:solid;border-color:var(--border-default)}.upload-icon[data-v-62a787d1]{font-size:28px;color:var(--text-weak)}.file-upload-zone:hover .upload-icon[data-v-62a787d1]{color:var(--brand-primary)}.upload-text[data-v-62a787d1]{display:flex;flex-direction:column;align-items:center;gap:2px}.upload-text strong[data-v-62a787d1]{font-size:var(--fs-caption);color:var(--text-primary)}.upload-hint[data-v-62a787d1]{font-size:11px;color:var(--text-weak)}.upload-loading[data-v-62a787d1]{display:flex;align-items:center;gap:8px;font-size:var(--fs-caption);color:var(--text-secondary)}.uploaded-file-info[data-v-62a787d1]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#52c41a14;border:1px solid rgba(82,196,26,.3);border-radius:var(--radius-sm);margin-bottom:8px;font-size:12px;color:#389e0d}.uploaded-file-info .file-name[data-v-62a787d1]{font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploaded-file-info .file-words[data-v-62a787d1]{color:var(--text-weak);flex-shrink:0}.clear-btn[data-v-62a787d1]{border:none;background:transparent;color:var(--text-weak);cursor:pointer;font-size:12px;padding:2px 8px;border-radius:3px;transition:all var(--transition-fast);flex-shrink:0}.clear-btn[data-v-62a787d1]:hover{color:var(--color-error);background:#f052521a}.import-textarea[data-v-62a787d1]{margin-top:0}.form-group[data-v-62a787d1]{margin-bottom:var(--space-4)}.form-group label[data-v-62a787d1]{display:block;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:var(--space-2)}.modal-actions[data-v-62a787d1]{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.btn[data-v-62a787d1]{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--fs-body);cursor:pointer;transition:all var(--transition-fast);border:none}.btn-secondary[data-v-62a787d1]{background:transparent;color:var(--text-secondary);border:1px solid var(--border-default)}.btn-secondary[data-v-62a787d1]:hover{border-color:var(--border-hover);color:var(--text-primary)}.btn-primary[data-v-62a787d1]{background:var(--brand-primary);color:var(--bg-deep);font-weight:600}.btn-primary[data-v-62a787d1]:hover:not(:disabled){background:var(--brand-hover)}.btn-primary[data-v-62a787d1]:disabled{opacity:.4;cursor:not-allowed}.modal-enter-active[data-v-62a787d1],.modal-leave-active[data-v-62a787d1]{transition:opacity var(--transition-normal)}.modal-enter-from[data-v-62a787d1],.modal-leave-to[data-v-62a787d1]{opacity:0}.projects-footer[data-v-62a787d1]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-10) 0 var(--space-6);color:var(--text-weak);font-size:var(--fs-caption)}.footer-brand[data-v-62a787d1]{color:var(--brand-primary);opacity:.6;font-weight:500}.footer-sep[data-v-62a787d1]{opacity:.3}.footer-copy[data-v-62a787d1]{opacity:.5}.global-header[data-v-33dda045]{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-height);padding:0 var(--space-4);background:var(--bg-surface);border-bottom:1px solid var(--border-default);position:sticky;top:0;z-index:var(--z-sticky);flex-shrink:0}.header-left[data-v-33dda045]{display:flex;align-items:center;gap:var(--space-2);overflow:hidden}.logo[data-v-33dda045]{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;flex-shrink:0}.logo-img[data-v-33dda045]{width:28px;height:28px;border-radius:var(--radius-sm)}.logo-text[data-v-33dda045]{display:flex;flex-direction:column;gap:0}.logo-brand[data-v-33dda045]{font-family:var(--font-heading);font-size:var(--fs-h4);font-weight:600;color:var(--text-primary);line-height:1.2}.logo-company[data-v-33dda045]{font-size:10px;color:var(--brand-primary);font-weight:500;letter-spacing:.5px;line-height:1.2;opacity:.8}.separator[data-v-33dda045]{color:var(--text-weak);font-size:var(--fs-caption)}.project-name[data-v-33dda045]{font-size:var(--fs-h4);font-weight:500;color:var(--brand-primary);white-space:nowrap}.breadcrumbs[data-v-33dda045]{display:flex;align-items:center;gap:var(--space-2)}.breadcrumb-item[data-v-33dda045]{font-size:var(--fs-caption);color:var(--text-secondary);cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs);transition:all var(--transition-fast);white-space:nowrap}.breadcrumb-item[data-v-33dda045]:hover{color:var(--text-primary);background:var(--bg-hover)}.breadcrumb-item.active[data-v-33dda045]{color:var(--brand-primary);font-weight:500}.back-to-step-btn[data-v-33dda045]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:14px;flex-shrink:0}.back-to-step-btn[data-v-33dda045]:hover{color:var(--text-primary);background:var(--bg-hover)}.header-right[data-v-33dda045]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.icon-btn[data-v-33dda045]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:16px}.icon-btn[data-v-33dda045]:hover{color:var(--text-primary);background:var(--bg-hover)}.pipeline-sidebar[data-v-d006045a]{width:var(--sidebar-width);height:100%;display:flex;flex-direction:column;align-items:center;background:var(--bg-surface);border-right:1px solid var(--border-default);padding:var(--space-4) 0;position:relative;flex-shrink:0;z-index:var(--z-base)}.mode-toggle[data-v-d006045a]{display:flex;align-items:center;gap:6px;width:calc(100% - 16px);padding:8px 10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);font-size:12px;font-weight:500;flex-shrink:0}.mode-toggle[data-v-d006045a]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--color-info)}.mode-toggle.active[data-v-d006045a]{background:#4da6ff1a;border-color:var(--color-info);color:var(--color-info)}.mode-toggle-icon[data-v-d006045a]{font-size:14px;flex-shrink:0}.mode-toggle-label[data-v-d006045a]{flex:1;text-align:left;white-space:nowrap}.mode-toggle-switch[data-v-d006045a]{font-size:10px;opacity:.5}.step-list[data-v-d006045a]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);position:relative;flex:1}.step-connector[data-v-d006045a]{position:absolute;top:16px;bottom:16px;width:2px;background:var(--border-default);z-index:0}.step-item[data-v-d006045a]{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.step-item.available[data-v-d006045a]{opacity:.6}.step-item.available[data-v-d006045a]:hover{opacity:1;background:var(--bg-hover)}.step-item.active[data-v-d006045a]{background:#dc354526;box-shadow:0 0 0 2px var(--brand-primary),var(--shadow-glow)}.step-item.completed .step-dot[data-v-d006045a]{background:#3dd68c26}.step-dot[data-v-d006045a]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:20px;color:var(--text-secondary)}.step-item.active .step-dot[data-v-d006045a]{color:var(--brand-primary)}.step-item.completed .step-dot[data-v-d006045a]{color:var(--color-success)}.step-check[data-v-d006045a]{font-size:20px}.step-locked[data-v-d006045a]{font-size:16px}.step-tooltip[data-v-d006045a]{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);white-space:nowrap;box-shadow:var(--shadow-md);z-index:var(--z-tooltip)}.tooltip-label[data-v-d006045a]{font-size:var(--fs-caption);font-weight:500;color:var(--text-primary)}.tooltip-status[data-v-d006045a]{font-size:11px;color:var(--text-weak);margin-top:2px}.tooltip-enter-active[data-v-d006045a],.tooltip-leave-active[data-v-d006045a]{transition:opacity var(--transition-fast)}.tooltip-enter-from[data-v-d006045a],.tooltip-leave-to[data-v-d006045a]{opacity:0}.back-btn[data-v-d006045a]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:16px;margin-top:auto}.back-btn[data-v-d006045a]:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-brand[data-v-d006045a]{margin-top:var(--space-3);display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity var(--transition-fast)}.sidebar-brand[data-v-d006045a]:hover{opacity:.8}.sidebar-brand-icon[data-v-d006045a]{width:24px;height:24px;border-radius:var(--radius-xs)}.sidebar-divider[data-v-d006045a]{width:24px;height:1px;background:var(--border-default);margin:var(--space-2) 0}.global-taskbar[data-v-88428b23]{display:flex;align-items:center;height:var(--bottombar-height);padding:0 var(--space-4);background:var(--bg-surface);border-top:1px solid var(--border-default);gap:var(--space-4);flex-shrink:0}.taskbar-left[data-v-88428b23]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.status-dot[data-v-88428b23]{width:6px;height:6px;border-radius:var(--radius-full);background:var(--text-weak);transition:background var(--transition-normal)}.status-dot.active[data-v-88428b23]{background:var(--color-progress);box-shadow:0 0 6px #4da6ff80;animation:pulse-88428b23 2s ease-in-out infinite}@keyframes pulse-88428b23{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-88428b23]{font-size:var(--fs-caption);color:var(--text-secondary)}.taskbar-center[data-v-88428b23]{display:flex;align-items:center;gap:var(--space-2);flex:1;max-width:300px}.progress-bar[data-v-88428b23]{flex:1;height:3px;background:var(--border-default);border-radius:var(--radius-full);overflow:hidden}.progress-fill[data-v-88428b23]{height:100%;border-radius:var(--radius-full);background:var(--text-weak);transition:width var(--transition-slow)}.progress-fill.active[data-v-88428b23]{background:var(--color-progress)}.progress-fill.success[data-v-88428b23]{background:var(--color-success)}.progress-text[data-v-88428b23]{font-family:var(--font-mono);font-size:11px;color:var(--text-weak);min-width:32px;text-align:right}.taskbar-right[data-v-88428b23]{margin-left:auto}.expand-btn[data-v-88428b23]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-weak);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast);font-size:12px}.expand-btn[data-v-88428b23]:hover{color:var(--text-secondary);background:var(--bg-hover)}.task-panel-overlay[data-v-5fb24859]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center}.task-panel[data-v-5fb24859]{width:100%;max-width:720px;max-height:60vh;background:var(--bg-surface);border-top:1px solid var(--border-default);border-left:1px solid var(--border-default);border-right:1px solid var(--border-default);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.panel-header[data-v-5fb24859]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-default);flex-shrink:0}.panel-header h3[data-v-5fb24859]{font-size:var(--fs-h4);font-weight:600;flex:1}.header-stats[data-v-5fb24859]{display:flex;gap:var(--space-3)}.stat[data-v-5fb24859]{display:flex;align-items:center;gap:4px;font-size:var(--fs-caption);font-family:var(--font-mono)}.stat.running[data-v-5fb24859]{color:var(--color-progress)}.stat.done[data-v-5fb24859]{color:var(--color-success)}.stat.failed[data-v-5fb24859]{color:var(--color-error)}.close-btn[data-v-5fb24859]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast)}.close-btn[data-v-5fb24859]:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-tabs[data-v-5fb24859]{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border-default);flex-shrink:0}.tab-btn[data-v-5fb24859]{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--fs-caption);cursor:pointer;transition:all var(--transition-fast)}.tab-btn.active[data-v-5fb24859]{background:#dc354526;color:var(--brand-primary);font-weight:500}.tab-btn[data-v-5fb24859]:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.tab-count[data-v-5fb24859]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--bg-elevated);font-size:10px;font-family:var(--font-mono)}.tab-btn.active .tab-count[data-v-5fb24859]{background:#dc354540}.overall-progress[data-v-5fb24859]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-6);flex-shrink:0}.progress-bar[data-v-5fb24859]{flex:1;height:4px;background:var(--border-default);border-radius:var(--radius-full);overflow:hidden}.progress-fill[data-v-5fb24859]{height:100%;border-radius:var(--radius-full);background:var(--color-progress);transition:width var(--transition-slow)}.progress-fill.success[data-v-5fb24859]{background:var(--color-success)}.progress-label[data-v-5fb24859]{font-size:var(--fs-caption);color:var(--text-weak);font-family:var(--font-mono);white-space:nowrap}.task-list[data-v-5fb24859]{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-6)}.task-empty[data-v-5fb24859]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) 0;color:var(--text-weak);font-size:var(--fs-caption);gap:var(--space-3)}.task-card[data-v-5fb24859]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);transition:background var(--transition-fast);margin-bottom:var(--space-1)}.task-card[data-v-5fb24859]:hover{background:var(--bg-elevated)}.task-left[data-v-5fb24859]{flex-shrink:0;width:28px;display:flex;align-items:center;justify-content:center}.task-status-icon[data-v-5fb24859]{font-size:16px}.task-card.pending .task-status-icon[data-v-5fb24859]{color:var(--text-weak)}.task-card.running .task-status-icon[data-v-5fb24859]{color:var(--color-progress);animation:spin-5fb24859 1s linear infinite}.task-card.done .task-status-icon[data-v-5fb24859]{color:var(--color-success)}.task-card.failed .task-status-icon[data-v-5fb24859]{color:var(--color-error)}@keyframes spin-5fb24859{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.task-body[data-v-5fb24859]{flex:1;min-width:0}.task-info[data-v-5fb24859]{display:flex;align-items:center;gap:var(--space-2)}.task-name[data-v-5fb24859]{font-size:var(--fs-body);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-type-badge[data-v-5fb24859]{font-size:10px;padding:1px 6px;border-radius:var(--radius-xs);background:var(--bg-hover);color:var(--text-secondary);text-transform:uppercase;flex-shrink:0}.task-detail[data-v-5fb24859]{font-size:var(--fs-caption);color:var(--text-weak);margin-top:2px}.task-time[data-v-5fb24859]{margin-left:var(--space-2)}.pulse-bar[data-v-5fb24859]{margin-top:6px;height:2px;background:var(--border-default);border-radius:var(--radius-full);overflow:hidden}.pulse-fill[data-v-5fb24859]{height:100%;width:40%;background:var(--color-progress);border-radius:var(--radius-full);animation:pulse-slide-5fb24859 2s ease-in-out infinite}@keyframes pulse-slide-5fb24859{0%{transform:translate(-100%);opacity:0}50%{opacity:1}to{transform:translate(300%);opacity:0}}.task-actions[data-v-5fb24859]{display:flex;gap:var(--space-1);flex-shrink:0}.action-btn[data-v-5fb24859]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-weak);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast);font-size:14px}.action-btn[data-v-5fb24859]:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-footer[data-v-5fb24859]{padding:var(--space-3) var(--space-6);border-top:1px solid var(--border-default);flex-shrink:0}.clear-btn[data-v-5fb24859]{width:100%;padding:var(--space-2);border:1px dashed var(--border-default);background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--fs-caption);cursor:pointer;transition:all var(--transition-fast)}.clear-btn[data-v-5fb24859]:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-hover)}.panel-enter-active[data-v-5fb24859]{transition:opacity .2s ease}.panel-enter-active .task-panel[data-v-5fb24859]{transition:transform .3s ease-out}.panel-leave-active[data-v-5fb24859]{transition:opacity .2s ease}.panel-leave-active .task-panel[data-v-5fb24859]{transition:transform .2s ease}.panel-enter-from[data-v-5fb24859],.panel-leave-to[data-v-5fb24859]{opacity:0}.panel-enter-from .task-panel[data-v-5fb24859],.panel-leave-to .task-panel[data-v-5fb24859]{transform:translateY(100%)}.workbench-layout[data-v-391a0a47]{display:flex;height:100vh;width:100vw;overflow:hidden;background:var(--bg-deep)}.workbench-main[data-v-391a0a47]{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.workbench-content[data-v-391a0a47]{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-6)}.canvas-content[data-v-391a0a47]{flex:1;overflow:hidden}.workbench-layout.canvas-mode[data-v-391a0a47] .global-header{position:absolute;top:0;left:0;right:0;z-index:var(--z-sticky);background:#1a1a1fd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.cost-display[data-v-68bbe95b]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4)}.cost-header[data-v-68bbe95b]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--text-secondary);font-size:var(--fs-caption)}.cost-icon[data-v-68bbe95b]{color:var(--brand-primary)}.cost-title[data-v-68bbe95b]{font-weight:500;flex:1}.cost-info[data-v-68bbe95b]{color:var(--text-weak);cursor:help}.cost-empty[data-v-68bbe95b]{text-align:center;padding:var(--space-3) 0}.cost-zero[data-v-68bbe95b]{display:block;font-family:var(--font-mono);font-size:var(--fs-h3);font-weight:700;color:var(--brand-primary)}.cost-hint[data-v-68bbe95b]{font-size:var(--fs-caption);color:var(--text-weak)}.cost-total[data-v-68bbe95b]{text-align:center;padding:var(--space-3) 0;border-bottom:1px solid var(--border-default);margin-bottom:var(--space-3)}.cost-amount[data-v-68bbe95b]{display:block;font-family:var(--font-mono);font-size:var(--fs-h2);font-weight:700;color:var(--brand-primary)}.cost-label[data-v-68bbe95b]{font-size:var(--fs-caption);color:var(--text-weak)}.cost-breakdown[data-v-68bbe95b]{display:flex;flex-direction:column;gap:var(--space-2)}.cost-item[data-v-68bbe95b]{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-caption)}.item-label[data-v-68bbe95b]{color:var(--text-secondary);flex:1}.item-detail[data-v-68bbe95b]{color:var(--text-weak);font-family:var(--font-mono)}.item-total[data-v-68bbe95b]{color:var(--text-primary);font-family:var(--font-mono);font-weight:500;min-width:56px;text-align:right}.dashboard-view[data-v-1e2085b7]{max-width:960px;margin:0 auto}.dashboard-header[data-v-1e2085b7]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-8)}.dashboard-header h1[data-v-1e2085b7]{font-family:var(--font-heading);font-size:var(--fs-h1);margin-bottom:var(--space-1)}.header-idea[data-v-1e2085b7]{color:var(--text-secondary);font-size:var(--fs-body)}.progress-ring[data-v-1e2085b7]{position:relative;width:80px;height:80px;flex-shrink:0}.ring-svg[data-v-1e2085b7]{width:100%;height:100%}.ring-progress[data-v-1e2085b7]{transition:stroke-dashoffset .6s ease-out}.ring-text[data-v-1e2085b7]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-percent[data-v-1e2085b7]{font-family:var(--font-mono);font-size:var(--fs-h4);font-weight:700;color:var(--brand-primary)}.ring-label[data-v-1e2085b7]{font-size:10px;color:var(--text-weak)}.section-title[data-v-1e2085b7]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--text-secondary);font-size:var(--fs-caption);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.steps-grid[data-v-1e2085b7]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}.step-card[data-v-1e2085b7]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;transition:all var(--transition-normal);position:relative}.step-card[data-v-1e2085b7]:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.step-card.completed[data-v-1e2085b7]{border-color:#3dd68c4d}.step-card.completed[data-v-1e2085b7]:hover{border-color:#3dd68c80}.step-header[data-v-1e2085b7]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.step-icon[data-v-1e2085b7]{font-size:20px}.step-check[data-v-1e2085b7]{color:var(--color-success);font-size:14px}.step-no[data-v-1e2085b7]{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-weak)}.step-body h3[data-v-1e2085b7]{font-size:var(--fs-body);font-weight:600;margin-bottom:var(--space-1)}.step-stat[data-v-1e2085b7]{font-size:var(--fs-caption);font-family:var(--font-mono)}.step-footer[data-v-1e2085b7]{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-default)}.step-link[data-v-1e2085b7]{display:flex;align-items:center;gap:var(--space-1);font-size:11px;color:var(--text-weak);transition:color var(--transition-fast)}.step-card:hover .step-link[data-v-1e2085b7]{color:var(--brand-primary)}.stats-row[data-v-1e2085b7]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}.stat-card[data-v-1e2085b7]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4);text-align:center}.stat-value[data-v-1e2085b7]{display:block;font-family:var(--font-mono);font-size:var(--fs-h2);font-weight:700;color:var(--brand-primary);margin-bottom:var(--space-1)}.stat-label[data-v-1e2085b7]{font-size:var(--fs-caption);color:var(--text-weak)}.recent-list[data-v-1e2085b7]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.recent-item[data-v-1e2085b7]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default)}.recent-item[data-v-1e2085b7]:last-child{border-bottom:none}.recent-time[data-v-1e2085b7]{font-size:var(--fs-caption);color:var(--text-weak);font-family:var(--font-mono);white-space:nowrap;min-width:70px}.recent-text[data-v-1e2085b7]{font-size:var(--fs-body);color:var(--text-secondary)}.step-script[data-v-df60adb3]{display:flex;flex-direction:column;height:100%;padding:24px}.step-header[data-v-df60adb3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.step-header h1[data-v-df60adb3]{margin:0;font-size:24px}.mode-switch-btn[data-v-df60adb3]{padding:8px 16px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;margin-left:8px}.mode-switch-btn.active[data-v-df60adb3]{background:#1890ff;color:#fff;border-color:#1890ff}.wizard-flow[data-v-df60adb3]{display:flex;flex-direction:column;gap:24px}.wizard-progress-bar[data-v-df60adb3]{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 0}.progress-step[data-v-df60adb3]{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;cursor:pointer}.step-icon[data-v-df60adb3]{width:48px;height:48px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:8px;border:2px solid #d9d9d9}.progress-step.active .step-icon[data-v-df60adb3]{background:#1890ff;border-color:#1890ff;color:#fff}.progress-step.completed .step-icon[data-v-df60adb3]{background:#52c41a;border-color:#52c41a;color:#fff}.step-label[data-v-df60adb3]{font-size:14px;color:#666}.progress-step.active .step-label[data-v-df60adb3]{color:#1890ff;font-weight:600}.step-connector[data-v-df60adb3]{position:absolute;top:24px;left:calc(50% + 30px);width:calc(100% - 60px);height:2px;background:#d9d9d9}.progress-step.completed .step-connector[data-v-df60adb3]{background:#52c41a}.wizard-step-content[data-v-df60adb3]{padding:24px;background:#fafafa;border-radius:8px;border:1px solid #e8e8e8}.wizard-step-content h2[data-v-df60adb3]{margin:0 0 8px;font-size:20px}.step-desc[data-v-df60adb3]{color:#666;margin-bottom:16px}.eval-check-panel[data-v-df60adb3]{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:16px;margin-bottom:16px}.eval-item[data-v-df60adb3]{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.eval-item[data-v-df60adb3]:last-child{border-bottom:none}.eval-icon[data-v-df60adb3]{font-size:18px;margin-right:12px}.eval-label[data-v-df60adb3]{font-weight:500;width:120px}.eval-detail[data-v-df60adb3]{color:#666}.eval-item.pass .eval-icon[data-v-df60adb3]{content:"✅"}.eval-item.fail .eval-icon[data-v-df60adb3]{content:"❌"}.eval-item.warn .eval-icon[data-v-df60adb3]{content:"⚠️"}.step-actions[data-v-df60adb3]{display:flex;gap:8px;margin-top:16px}.loading-overlay[data-v-df60adb3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.wizard-error[data-v-df60adb3]{padding:16px;background:#fff2f0;border:1px solid #ffccc7;border-radius:4px;color:#ff4d4f}.brief-display[data-v-df60adb3]{background:#fff;padding:16px;border-radius:8px;margin-bottom:16px}.brief-display h3[data-v-df60adb3]{margin:0 0 8px}.brief-tags[data-v-df60adb3]{margin:12px 0}.brief-logline[data-v-df60adb3]{color:#666;font-size:14px}.script-progress-list[data-v-df60adb3]{background:#fff;border-radius:8px;padding:16px}.script-progress-item[data-v-df60adb3]{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.script-progress-item[data-v-df60adb3]:last-child{border-bottom:none}.script-progress-item.done[data-v-df60adb3]{color:#52c41a}.ep-icon[data-v-df60adb3]{margin-right:12px}.ep-title[data-v-df60adb3]{font-size:14px}.traditional-mode[data-v-df60adb3]{padding:24px;background:#fafafa;border-radius:8px;text-align:center;color:#666}.settings-step[data-v-df60adb3]{max-width:760px}.settings-header[data-v-df60adb3]{margin-bottom:24px}.settings-header h2[data-v-df60adb3]{margin:0 0 8px}.settings-complete-banner[data-v-df60adb3]{display:flex;align-items:center;gap:12px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:6px;padding:10px 16px;margin-top:12px;font-size:14px;color:#389e0d}.settings-incomplete-banner[data-v-df60adb3]{display:flex;align-items:center;gap:10px;background:#fffbe6;border:1px solid #ffe58f;border-radius:6px;padding:10px 16px;margin-bottom:16px;font-size:14px;color:#d48806}.settings-form[data-v-df60adb3]{display:flex;flex-direction:column;gap:20px}.form-item[data-v-df60adb3]{display:flex;flex-direction:column;gap:6px}.form-row[data-v-df60adb3]{display:flex;gap:32px;flex-wrap:wrap}.form-row .form-item[data-v-df60adb3]{flex:1;min-width:200px}.form-label[data-v-df60adb3]{font-weight:500;font-size:14px;color:#262626}.form-label-row[data-v-df60adb3]{display:flex;justify-content:space-between;align-items:center;gap:8px}.form-label-row .form-label[data-v-df60adb3]{margin-bottom:0}.form-label.required[data-v-df60adb3]:before{content:"* ";color:#ff4d4f}.label-hint[data-v-df60adb3]{font-weight:400;color:#8c8c8c;font-size:12px}.form-error[data-v-df60adb3]{color:#ff4d4f;font-size:12px;margin:0}.form-hint[data-v-df60adb3]{font-size:12px;color:#8c8c8c;align-self:center}.form-item.error textarea[data-v-df60adb3]{border-color:#ff4d4f}.radio-group-row[data-v-df60adb3]{display:flex;flex-wrap:wrap;gap:4px}.tone-tags[data-v-df60adb3]{display:flex;flex-wrap:wrap;gap:8px}.tone-tag[data-v-df60adb3]{padding:4px 14px;border-radius:16px;border:1px solid #d9d9d9;background:#fff;cursor:pointer;font-size:13px;color:#595959;-webkit-user-select:none;user-select:none;transition:all .2s}.tone-tag[data-v-df60adb3]:hover{border-color:#1890ff;color:#1890ff}.tone-tag.selected[data-v-df60adb3]{background:#1890ff;border-color:#1890ff;color:#fff}.settings-summary-card[data-v-df60adb3]{background:#f6f8fa;border:1px solid #e8e8e8;border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.summary-row[data-v-df60adb3]{display:flex;gap:12px;font-size:13px}.summary-label[data-v-df60adb3]{color:#8c8c8c;min-width:80px;flex-shrink:0}.summary-value[data-v-df60adb3]{color:#262626;line-height:1.5}.brief-display[data-v-df60adb3]{background:#fff;padding:20px;border-radius:8px;border:1px solid #e8e8e8;margin-bottom:16px}.brief-display h3[data-v-df60adb3]{margin:0 0 16px;font-size:18px;color:#1890ff}.brief-section-title[data-v-df60adb3]{font-weight:600;font-size:13px;color:#595959;margin:12px 0 6px;text-transform:uppercase;letter-spacing:.5px}.brief-text[data-v-df60adb3]{color:#595959;line-height:1.7;font-size:14px;margin:0}.character-arcs[data-v-df60adb3]{display:flex;flex-direction:column;gap:8px}.arc-item[data-v-df60adb3]{font-size:14px;color:#595959;padding:8px 12px;background:#fafafa;border-radius:6px;line-height:1.6}.arc-item strong[data-v-df60adb3]{color:#262626}.outline-generating-banner[data-v-df60adb3]{display:flex;align-items:flex-start;gap:14px;background:#e6f7ff;border:1px solid #91d5ff;border-radius:8px;padding:16px 20px;margin-bottom:16px}.generating-text[data-v-df60adb3]{display:flex;flex-direction:column;gap:4px}.generating-text strong[data-v-df60adb3]{font-size:14px;color:#096dd9}.generating-text span[data-v-df60adb3]{font-size:13px;color:#595959}.error-banner[data-v-df60adb3]{display:flex;align-items:center;gap:12px;background:#fff2f0;border:1px solid #ffa39e;border-radius:6px;padding:10px 16px;margin-bottom:16px;font-size:13px;color:#cf1322}.script-editor-step[data-v-df60adb3]{padding:24px}.editor-step-header[data-v-df60adb3]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.editor-step-header h2[data-v-df60adb3]{margin:0 0 4px;font-size:20px}.editor-step-actions[data-v-df60adb3]{display:flex;gap:8px}.imported-script-banner[data-v-df60adb3]{display:flex;align-items:center;gap:12px;background:#e6f7ff;border:1px solid #91d5ff;border-radius:6px;padding:10px 16px;margin-bottom:16px;font-size:13px;color:#096dd9}.imported-script-banner .banner-text[data-v-df60adb3]{display:flex;flex-direction:column;gap:2px;flex:1}.no-script-banner[data-v-df60adb3]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;background:#fafafa;border:1px dashed #d9d9d9;border-radius:8px;text-align:center}.no-script-banner h3[data-v-df60adb3]{margin:0;font-size:18px}.no-script-banner p[data-v-df60adb3]{margin:0;color:#666;font-size:14px}.no-script-actions[data-v-df60adb3]{display:flex;gap:12px;margin-top:8px}.ai-loading-banner[data-v-df60adb3]{display:flex;align-items:flex-start;gap:14px;background:#fff7e6;border:1px solid #ffd591;border-radius:8px;padding:12px 16px;margin-bottom:16px}.script-editor-body[data-v-df60adb3]{display:flex;gap:16px;min-height:480px;max-height:calc(100vh - 320px)}.chapter-list[data-v-df60adb3]{width:260px;flex-shrink:0;background:#fff;border:1px solid #e8e8e8;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.chapter-list-header[data-v-df60adb3]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;background:#fafafa}.list-title[data-v-df60adb3]{font-weight:500;font-size:13px;color:#262626}.chapter-list-body[data-v-df60adb3]{flex:1;overflow-y:auto;padding:8px}.chapter-item[data-v-df60adb3]{padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:4px}.chapter-item[data-v-df60adb3]:hover{background:#f5f5f5}.chapter-item.active[data-v-df60adb3]{background:#e6f7ff;border-left:3px solid #1890ff;padding-left:9px}.chapter-num[data-v-df60adb3]{font-size:11px;color:#8c8c8c;text-transform:uppercase;letter-spacing:.5px}.chapter-title[data-v-df60adb3]{font-size:13px;color:#262626;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chapter-meta[data-v-df60adb3]{font-size:11px;color:#8c8c8c}.chapter-tags[data-v-df60adb3]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.act-tag[data-v-df60adb3]{font-size:10px;padding:1px 6px;border-radius:3px;background:#e6f4ff;color:#1677ff;white-space:nowrap}.act-badge[data-v-df60adb3]{font-size:11px;padding:2px 8px;border-radius:4px;background:#e6f4ff;color:#1677ff;white-space:nowrap;flex-shrink:0}.prologue-panel[data-v-df60adb3]{margin-bottom:12px;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;background:#fafafa}.prologue-header[data-v-df60adb3]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f5f5f5;transition:background .2s}.prologue-header[data-v-df60adb3]:hover{background:#f0f0f0}.prologue-title[data-v-df60adb3]{font-size:13px;font-weight:500;color:#595959;display:flex;align-items:center;gap:6px}.prologue-meta[data-v-df60adb3]{font-size:11px;color:#8c8c8c}.prologue-body[data-v-df60adb3]{padding:12px 16px;max-height:300px;overflow-y:auto}.prologue-body pre[data-v-df60adb3]{margin:0;font-size:12px;line-height:1.6;color:#595959;white-space:pre-wrap;word-break:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.chapter-list-footer[data-v-df60adb3]{padding:10px 16px;border-top:1px solid #f0f0f0;background:#fafafa;font-size:12px;color:#595959}.chapter-editor[data-v-df60adb3]{flex:1;background:#fff;border:1px solid #e8e8e8;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.editor-header[data-v-df60adb3]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;background:#fafafa;gap:12px;flex-wrap:wrap}.chapter-info[data-v-df60adb3]{display:flex;align-items:center;gap:10px;flex:1;min-width:200px}.chapter-label[data-v-df60adb3]{font-size:12px;color:#8c8c8c;background:#f0f0f0;padding:2px 8px;border-radius:4px;white-space:nowrap}.chapter-title-input[data-v-df60adb3]{flex:1;border:none;background:transparent;font-size:15px;font-weight:500;color:#262626;outline:none;padding:4px 0;border-bottom:1px dashed transparent;min-width:150px}.chapter-title-input[data-v-df60adb3]:focus{border-bottom-color:#1890ff}.editor-actions[data-v-df60adb3]{display:flex;gap:8px;flex-shrink:0}.editor-toolbar[data-v-df60adb3]{display:flex;align-items:center;gap:16px;padding:6px 16px;border-bottom:1px solid #f0f0f0;font-size:12px;color:#8c8c8c;background:#fafafa}.word-count[data-v-df60adb3]{color:#1890ff;font-weight:500}.last-saved[data-v-df60adb3]{color:#52c41a}.ai-status[data-v-df60adb3]{color:#fa8c16;font-weight:500}.chapter-content-textarea[data-v-df60adb3]{flex:1;border:none;outline:none;resize:none;padding:16px 20px;font-family:"Source Han Serif","Noto Serif SC",PingFang SC,Microsoft YaHei,serif;font-size:14px;line-height:1.8;color:#262626;background:#fdfdfd}.chapter-content-textarea[data-v-df60adb3]:disabled{background:#f5f5f5;cursor:not-allowed}.import-modal-body[data-v-df60adb3]{display:flex;flex-direction:column;gap:12px}.import-modal-desc[data-v-df60adb3]{color:#666;font-size:13px;margin:0 0 4px;line-height:1.6}.file-upload-zone[data-v-df60adb3]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:2px dashed #d9d9d9;border-radius:8px;cursor:pointer;transition:all .2s;background:#fafafa}.file-upload-zone[data-v-df60adb3]:hover{border-color:#1890ff;background:#e6f7ff}.file-upload-zone.loading[data-v-df60adb3]{pointer-events:none;opacity:.7}.upload-icon[data-v-df60adb3]{font-size:32px;color:#8c8c8c}.file-upload-zone:hover .upload-icon[data-v-df60adb3]{color:#1890ff}.upload-text[data-v-df60adb3]{display:flex;flex-direction:column;align-items:center;gap:4px}.upload-text strong[data-v-df60adb3]{font-size:14px;color:#262626}.upload-hint[data-v-df60adb3]{font-size:12px;color:#8c8c8c}.upload-loading[data-v-df60adb3]{display:flex;align-items:center;gap:8px;font-size:14px;color:#595959}.uploaded-file-info[data-v-df60adb3]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:6px;font-size:12px;color:#389e0d}.uploaded-file-info .file-name[data-v-df60adb3]{font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploaded-file-info .file-words[data-v-df60adb3]{color:#8c8c8c;flex-shrink:0}.clear-btn[data-v-df60adb3]{border:none;background:transparent;color:#8c8c8c;cursor:pointer;font-size:12px;padding:2px 8px;border-radius:3px;transition:all .2s;flex-shrink:0}.clear-btn[data-v-df60adb3]:hover{color:#ff4d4f;background:#ff4d4f1a}.import-textarea[data-v-df60adb3]{margin-top:4px}.import-hint[data-v-df60adb3]{font-size:11px;color:#8c8c8c;text-align:right}.empty-guide[data-v-1066aa16]{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:320px;margin:auto;padding:var(--space-12) var(--space-6);text-align:center}.guide-icon[data-v-1066aa16]{font-size:80px;opacity:.3;margin-bottom:var(--space-6);line-height:1}.guide-title[data-v-1066aa16]{font-size:var(--fs-h3);color:var(--text-secondary);margin-bottom:var(--space-2)}.guide-desc[data-v-1066aa16]{font-size:var(--fs-body);color:var(--text-weak);margin-bottom:var(--space-6);line-height:var(--lh-body)}.guide-cta[data-v-1066aa16]{padding:var(--space-2) var(--space-6);background:var(--brand-primary);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);font-size:var(--fs-body);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.guide-cta[data-v-1066aa16]:hover{background:var(--brand-hover);box-shadow:var(--shadow-glow)}.next-step-toast[data-v-f29b8e13]{position:fixed;bottom:var(--space-10);right:var(--space-6);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-toast);animation:slideUp-f29b8e13 .3s ease-out}@keyframes slideUp-f29b8e13{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.toast-check[data-v-f29b8e13]{color:var(--color-success);font-size:18px;flex-shrink:0}.toast-message[data-v-f29b8e13]{font-size:var(--fs-body);color:var(--text-primary);white-space:nowrap}.toast-cta[data-v-f29b8e13]{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--brand-primary);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);font-size:var(--fs-caption);font-weight:600;cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.toast-cta[data-v-f29b8e13]:hover{background:var(--brand-hover)}.toast-close[data-v-f29b8e13]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-weak);border-radius:var(--radius-xs);cursor:pointer;font-size:12px;flex-shrink:0}.toast-close[data-v-f29b8e13]:hover{color:var(--text-secondary)}.toast-enter-active[data-v-f29b8e13],.toast-leave-active[data-v-f29b8e13]{transition:all var(--transition-slow)}.toast-enter-from[data-v-f29b8e13],.toast-leave-to[data-v-f29b8e13]{opacity:0;transform:translateY(16px)}.injection-summary[data-v-67d1b1ff]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#6cb4ee1a;border:1px solid rgba(108,180,238,.2);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--fs-caption)}.summary-icon[data-v-67d1b1ff]{color:var(--color-info);font-size:14px;flex-shrink:0}.summary-text[data-v-67d1b1ff]{color:var(--color-info);flex:1}.dismiss-btn[data-v-67d1b1ff]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--text-weak);border-radius:var(--radius-xs);cursor:pointer;transition:color var(--transition-fast);font-size:12px}.dismiss-btn[data-v-67d1b1ff]:hover{color:var(--text-secondary)}.slide-down-enter-active[data-v-67d1b1ff],.slide-down-leave-active[data-v-67d1b1ff]{transition:all var(--transition-normal)}.slide-down-enter-from[data-v-67d1b1ff],.slide-down-leave-to[data-v-67d1b1ff]{opacity:0;transform:translateY(-8px)}.gacha-overlay[data-v-22a03b3a]{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#0a0519f7,#000000fc);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000;overflow:hidden}.gacha-bg-particles[data-v-22a03b3a]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.particle[data-v-22a03b3a]{position:absolute;width:2px;height:2px;border-radius:50%;background:#ffc10799;left:calc(var(--i) * 3.33%);top:-10px;animation:particleFall-22a03b3a calc(3s + var(--i) * .2s) linear infinite;animation-delay:calc(var(--i) * -.15s)}@keyframes particleFall-22a03b3a{to{transform:translateY(110vh) rotate(360deg);opacity:0}}.gacha-modal[data-v-22a03b3a]{display:flex;flex-direction:column;align-items:center;gap:32px;padding:40px 32px;max-width:1000px;width:100%}.gacha-title[data-v-22a03b3a]{text-align:center}.gacha-title-text[data-v-22a03b3a]{font-size:24px;font-weight:700;color:#ffc107;letter-spacing:4px;text-shadow:0 0 20px rgba(255,193,7,.8),0 0 40px rgba(255,193,7,.4);animation:titlePulse-22a03b3a 2s ease-in-out infinite}@keyframes titlePulse-22a03b3a{0%,to{text-shadow:0 0 20px rgba(255,193,7,.8),0 0 40px rgba(255,193,7,.4)}50%{text-shadow:0 0 30px rgba(255,193,7,1),0 0 60px rgba(255,193,7,.6)}}.gacha-subtitle[data-v-22a03b3a]{margin-top:8px;font-size:14px;color:#ffffff80;letter-spacing:2px}.gacha-cards[data-v-22a03b3a]{display:flex;gap:20px;align-items:center;justify-content:center}.gacha-card-wrap[data-v-22a03b3a]{position:relative;width:160px;height:240px;cursor:pointer;perspective:800px}.card-inner[data-v-22a03b3a]{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.2,.2,1)}.gacha-card-wrap:not(.is-revealed) .card-inner[data-v-22a03b3a]{transform:rotateY(0)}.gacha-card-wrap.is-revealed .card-inner[data-v-22a03b3a]{transform:rotateY(180deg)}.card-back[data-v-22a03b3a]{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:12px;background:linear-gradient(135deg,#1a0a3a,#0d0520);border:1px solid rgba(255,193,7,.3);display:flex;align-items:center;justify-content:center;overflow:hidden}.card-back[data-v-22a03b3a]:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:10px;border:1px solid rgba(255,193,7,.15)}.card-back-pattern[data-v-22a03b3a]{display:flex;flex-direction:column;align-items:center;gap:8px}.back-icon[data-v-22a03b3a]{font-size:32px;color:#ffc10780;animation:backIconPulse-22a03b3a 2s ease-in-out infinite}@keyframes backIconPulse-22a03b3a{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.back-text[data-v-22a03b3a]{font-size:11px;color:#ffffff4d;letter-spacing:1px}.gacha-card-wrap:not(.is-revealed):hover .card-back[data-v-22a03b3a]{border-color:#ffc107b3;box-shadow:0 0 20px #ffc1074d}.gacha-card-wrap:not(.is-revealed):hover .back-icon[data-v-22a03b3a]{color:#ffc107e6}.card-front[data-v-22a03b3a]{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;transform:rotateY(180deg);border-radius:12px;overflow:hidden;border:2px solid transparent;transition:border-color .3s}.is-selected .card-front[data-v-22a03b3a]{border-color:#52c41a!important}.card-image[data-v-22a03b3a]{width:100%;height:100%;position:relative}.card-image img[data-v-22a03b3a]{width:100%;height:100%;object-fit:cover;display:block}.card-rarity-badge[data-v-22a03b3a]{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:1px}.badge-n[data-v-22a03b3a]{background:#8c8c8ce6;color:#fff}.badge-r[data-v-22a03b3a]{background:#3b82f6e6;color:#fff}.badge-sr[data-v-22a03b3a]{background:#a855f7e6;color:#fff;text-shadow:0 0 8px rgba(168,85,247,.8)}.badge-ssr[data-v-22a03b3a]{background:#ffc107f2;color:#1a0a00;text-shadow:0 0 8px rgba(255,193,7,.8)}.card-stars[data-v-22a03b3a]{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:center;gap:3px}.star-icon[data-v-22a03b3a]{font-size:12px;color:#ffc107;filter:drop-shadow(0 0 4px rgba(255,193,7,.8))}.card-number[data-v-22a03b3a]{position:absolute;bottom:0;left:0;right:0;padding:4px;background:#000000b3;color:#fffc;font-size:11px;text-align:center}.card-selected-overlay[data-v-22a03b3a]{position:absolute;top:0;right:0;bottom:0;left:0;background:#52c41a33;display:flex;align-items:center;justify-content:center;border-radius:10px}.check-icon[data-v-22a03b3a]{font-size:40px;color:#52c41a;filter:drop-shadow(0 0 10px rgba(82,196,26,.8))}.ssr-shine[data-v-22a03b3a]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,transparent 0%,rgba(255,193,7,.1) 30%,rgba(255,193,7,.3) 50%,rgba(255,193,7,.1) 70%,transparent 100%);animation:ssrShine-22a03b3a 2s linear infinite}@keyframes ssrShine-22a03b3a{0%{transform:translate(-100%) translateY(-100%)}to{transform:translate(200%) translateY(200%)}}.card-glow[data-v-22a03b3a]{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:16px;pointer-events:none;animation:glowPulse-22a03b3a 1.5s ease-in-out infinite}@keyframes glowPulse-22a03b3a{0%,to{opacity:.6}50%{opacity:1}}.gacha-actions[data-v-22a03b3a]{display:flex;align-items:center;gap:16px}.btn-flip-all[data-v-22a03b3a]{padding:10px 24px;border-radius:8px;background:#ffc1071a;border:1px solid rgba(255,193,7,.4);color:#ffc107;font-size:14px;cursor:pointer;transition:all .2s}.btn-flip-all[data-v-22a03b3a]:hover:not(:disabled){background:#ffc10733;border-color:#ffc107}.btn-flip-all[data-v-22a03b3a]:disabled{opacity:.5;cursor:not-allowed}.btn-confirm[data-v-22a03b3a]{padding:10px 28px;border-radius:8px;background:#52c41a1a;border:1px solid rgba(82,196,26,.3);color:#52c41a80;font-size:14px;font-weight:600;cursor:not-allowed;transition:all .3s;display:flex;align-items:center;gap:6px}.btn-confirm.active[data-v-22a03b3a]{background:#52c41a26;border-color:#52c41a;color:#52c41a;cursor:pointer;box-shadow:0 0 20px #52c41a4d}.btn-confirm.active[data-v-22a03b3a]:hover{background:#52c41a40;box-shadow:0 0 30px #52c41a80}.btn-cancel[data-v-22a03b3a]{padding:10px 24px;border-radius:8px;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff6;font-size:14px;cursor:pointer;transition:all .2s}.btn-cancel[data-v-22a03b3a]:hover{border-color:#ffffff4d;color:#ffffffb3}.gacha-overlay-enter-active[data-v-22a03b3a]{animation:overlayIn-22a03b3a .4s cubic-bezier(.4,0,.2,1)}.gacha-overlay-leave-active[data-v-22a03b3a]{animation:overlayOut-22a03b3a .3s cubic-bezier(.4,0,.2,1)}@keyframes overlayIn-22a03b3a{0%{opacity:0}to{opacity:1}}@keyframes overlayOut-22a03b3a{0%{opacity:1}to{opacity:0}}.cards-3 .gacha-card-wrap[data-v-22a03b3a]{width:180px;height:270px}.cards-4 .gacha-card-wrap[data-v-22a03b3a]{width:160px;height:240px}@media(max-width:800px){.gacha-cards[data-v-22a03b3a]{gap:12px}.gacha-card-wrap[data-v-22a03b3a],.cards-3 .gacha-card-wrap[data-v-22a03b3a],.cards-4 .gacha-card-wrap[data-v-22a03b3a]{width:130px;height:195px}}.gacha-card-wrap[data-v-22a03b3a]{opacity:0;transform:translateY(40px) scale(.85);transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}.gacha-card-wrap.is-visible[data-v-22a03b3a]{opacity:1;transform:translateY(0) scale(1)}.gacha-card-wrap.is-visible.is-selected[data-v-22a03b3a]{transform:scale(1.05) translateY(-8px)!important}.step-characters[data-v-be25540e]{height:100%;display:flex;flex-direction:column}.step-header[data-v-be25540e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-shrink:0}.step-header h1[data-v-be25540e]{font-size:var(--fs-h1);margin:0}.step-actions[data-v-be25540e]{display:flex;gap:var(--space-2)}.characters-body[data-v-be25540e]{display:flex;gap:var(--space-6);flex:1;min-height:0}.char-list[data-v-be25540e]{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2)}.char-card[data-v-be25540e]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.char-card[data-v-be25540e]:hover{border-color:var(--border-hover);background:var(--bg-elevated)}.char-card.active[data-v-be25540e]{border-color:var(--brand-primary);background:var(--bg-elevated)}.char-card.locked[data-v-be25540e]{border-left:2px solid var(--color-success)}.char-card.portrait-missing[data-v-be25540e]{border-left:2px solid var(--color-error)}.char-avatar[data-v-be25540e]{width:40px;height:40px;border-radius:var(--radius-full);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;color:var(--text-weak);font-size:18px;position:relative}.char-avatar img[data-v-be25540e]{width:100%;height:100%;object-fit:cover}.missing-badge[data-v-be25540e]{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:var(--color-error);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;border:1.5px solid var(--bg-surface);box-shadow:0 1px 2px #0003}.char-meta[data-v-be25540e]{display:flex;flex-direction:column;overflow:hidden;flex:1}.char-name[data-v-be25540e]{font-size:var(--fs-body);color:var(--text-primary);font-weight:500}.char-desc-preview[data-v-be25540e]{font-size:var(--fs-overline);color:var(--text-weak);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.char-slots-mini[data-v-be25540e]{display:flex;gap:3px;margin-top:4px}.mini-slot-thumb[data-v-be25540e]{width:22px;height:22px;border-radius:3px;overflow:hidden;border:1.5px solid transparent;flex-shrink:0}.mini-slot-thumb img[data-v-be25540e]{width:100%;height:100%;object-fit:cover}.mini-slot-thumb.slot-type-front[data-v-be25540e]{border-color:#1677ff80}.mini-slot-thumb.slot-type-side[data-v-be25540e]{border-color:#52c41a80}.mini-slot-thumb.slot-type-back[data-v-be25540e]{border-color:#faad1480}.mini-slot-thumb.slot-type-costume[data-v-be25540e]{border-color:#dc354580}.char-status[data-v-be25540e]{flex-shrink:0}.lock-icon[data-v-be25540e]{color:var(--color-success);font-size:14px}.add-char-btn[data-v-be25540e]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border:1px dashed var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--text-weak);cursor:pointer;transition:all var(--transition-fast);font-size:var(--fs-caption)}.add-char-btn[data-v-be25540e]:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:#dc35450d}.char-detail[data-v-be25540e]{flex:1;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);overflow-y:auto}.no-selection[data-v-be25540e]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-weak);gap:var(--space-4)}.detail-header[data-v-be25540e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.detail-header h2[data-v-be25540e]{font-size:var(--fs-h2);margin:0;color:var(--text-primary)}.detail-actions[data-v-be25540e]{display:flex;gap:var(--space-2)}.detail-section[data-v-be25540e]{margin-bottom:var(--space-6)}.section-label[data-v-be25540e]{display:block;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:500}.desc-textarea[data-v-be25540e],.prompt-textarea[data-v-be25540e]{width:100%;padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-body);line-height:var(--lh-body);resize:vertical;outline:none;transition:border-color var(--transition-fast)}.desc-textarea[data-v-be25540e]:focus,.prompt-textarea[data-v-be25540e]:focus{border-color:var(--brand-primary)}.desc-textarea[data-v-be25540e]:disabled,.prompt-textarea[data-v-be25540e]:disabled{opacity:.6;cursor:not-allowed}.lock-hint[data-v-be25540e]{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--fs-caption);color:var(--color-warning)}.reference-area[data-v-be25540e]{display:flex;gap:var(--space-4);align-items:flex-start}.ref-preview[data-v-be25540e]{width:160px;height:240px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-default);flex-shrink:0}.ref-preview img[data-v-be25540e]{width:100%;height:100%;object-fit:cover}.ref-empty[data-v-be25540e]{width:160px;height:240px;border-radius:var(--radius-md);border:1px dashed var(--border-default);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-weak);gap:var(--space-2);flex-shrink:0}.ref-empty p[data-v-be25540e]{font-size:var(--fs-caption);margin:0}.ref-actions[data-v-be25540e]{display:flex;flex-direction:column;gap:var(--space-2)}.modal-overlay[data-v-be25540e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content[data-v-be25540e]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);width:420px;max-width:90vw;box-shadow:var(--shadow-lg)}.modal-content h3[data-v-be25540e]{font-size:var(--fs-h3);margin:0 0 var(--space-6) 0;color:var(--text-primary)}.form-group[data-v-be25540e]{margin-bottom:var(--space-4)}.form-group label[data-v-be25540e]{display:block;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:var(--space-2)}.form-input[data-v-be25540e]{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-body);outline:none;transition:border-color var(--transition-fast);resize:vertical}.form-input[data-v-be25540e]:focus{border-color:var(--brand-primary)}.form-actions[data-v-be25540e]{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6)}.ai-gen-modal[data-v-be25540e]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);width:720px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.ai-gen-header[data-v-be25540e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.ai-gen-header h3[data-v-be25540e]{font-size:var(--fs-h3);margin:0;color:var(--text-primary);display:flex;align-items:center}.close-btn[data-v-be25540e]{background:none;border:none;color:var(--text-weak);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);font-size:16px;transition:all var(--transition-fast)}.close-btn[data-v-be25540e]:hover{background:var(--bg-elevated);color:var(--text-primary)}.style-model-row[data-v-be25540e]{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.style-model-row .model-select-group[data-v-be25540e]{flex:1}.building-hint[data-v-be25540e]{font-size:11px;color:var(--accent-blue, #1677ff);margin-left:8px;animation:pulse-be25540e 1.5s ease-in-out infinite}@keyframes pulse-be25540e{0%,to{opacity:1}50%{opacity:.5}}.ai-gen-prompt-area[data-v-be25540e]{margin-bottom:var(--space-6)}.prompt-input[data-v-be25540e]{width:100%;padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-body);line-height:var(--lh-body);resize:vertical;outline:none;transition:border-color var(--transition-fast);font-family:inherit}.prompt-input[data-v-be25540e]:focus{border-color:var(--brand-primary)}.prompt-actions[data-v-be25540e]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.model-select-group[data-v-be25540e]{display:flex;align-items:center;gap:var(--space-2)}.model-select-label[data-v-be25540e]{font-size:var(--fs-caption);color:var(--text-secondary);white-space:nowrap}.ai-model-select[data-v-be25540e]{padding:3px var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-caption);outline:none;cursor:pointer;transition:border-color var(--transition-fast)}.ai-model-select[data-v-be25540e]:focus,.ai-model-select[data-v-be25540e]:hover{border-color:var(--brand-primary)}.prompt-action-btns[data-v-be25540e]{display:flex;gap:var(--space-2)}.ai-gen-loading[data-v-be25540e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);color:var(--text-secondary);gap:var(--space-4)}.ai-gen-loading p[data-v-be25540e]{margin:0;font-size:var(--fs-caption)}.ai-gen-results[data-v-be25540e]{margin-top:var(--space-4)}.result-count[data-v-be25540e]{color:var(--brand-primary);margin-left:var(--space-2)}.image-grid[data-v-be25540e]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-top:var(--space-3)}.image-card[data-v-be25540e]{position:relative;border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--border-default);cursor:pointer;transition:all var(--transition-fast);aspect-ratio:3 / 4}.image-card[data-v-be25540e]:hover{border-color:var(--brand-primary)}.image-card.selected[data-v-be25540e]{border-color:var(--color-success);box-shadow:0 0 0 2px #52c41a4d}.image-card img[data-v-be25540e]{width:100%;height:100%;object-fit:cover}.image-overlay[data-v-be25540e]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center}.image-label[data-v-be25540e]{position:absolute;bottom:0;left:0;right:0;padding:var(--space-1) var(--space-2);background:#0009;color:#fff;font-size:11px;text-align:center}.apply-action[data-v-be25540e]{display:flex;justify-content:center;margin-top:var(--space-6)}.ai-gen-empty[data-v-be25540e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);color:var(--text-weak);gap:var(--space-3)}.ai-gen-empty p[data-v-be25540e]{margin:0;font-size:var(--fs-caption)}.missing-portrait-banner[data-v-be25540e]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:#dc354514;border:1px solid rgba(220,53,69,.3);border-radius:var(--radius-md);flex-shrink:0}.missing-portrait-banner .banner-icon[data-v-be25540e]{font-size:20px;color:var(--color-error);flex-shrink:0}.missing-portrait-banner .banner-content[data-v-be25540e]{flex:1;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-caption);color:var(--text-secondary)}.missing-portrait-banner .banner-content strong[data-v-be25540e]{color:var(--color-error);font-size:var(--fs-body)}.batch-regen-modal[data-v-be25540e]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);width:560px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.batch-regen-header[data-v-be25540e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.batch-regen-header h3[data-v-be25540e]{font-size:var(--fs-h3);margin:0;color:var(--text-primary);display:flex;align-items:center}.batch-model-select[data-v-be25540e]{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md)}.batch-config-row[data-v-be25540e]{display:flex;gap:var(--space-4)}.batch-config-item[data-v-be25540e]{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.batch-model-select .section-label[data-v-be25540e]{margin-bottom:0;white-space:nowrap}.batch-progress-area[data-v-be25540e]{margin-bottom:var(--space-5)}.batch-progress-info[data-v-be25540e]{font-size:var(--fs-body);color:var(--text-primary);margin-bottom:var(--space-2);display:flex;align-items:center}.batch-progress-bar[data-v-be25540e]{width:100%;height:8px;background:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden}.batch-progress-fill[data-v-be25540e]{height:100%;background:var(--brand-primary);border-radius:var(--radius-full);transition:width .3s ease}.batch-results[data-v-be25540e]{margin-top:var(--space-4)}.batch-results-header[data-v-be25540e]{font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:500}.batch-results-list[data-v-be25540e]{max-height:280px;overflow-y:auto;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2);background:var(--bg-elevated)}.batch-result-item[data-v-be25540e]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-caption)}.batch-result-item.status-success[data-v-be25540e]{color:var(--color-success)}.batch-result-item.status-failed[data-v-be25540e]{color:var(--color-error)}.batch-result-item.status-skipped[data-v-be25540e]{color:var(--text-weak)}.batch-result-item .result-name[data-v-be25540e]{flex:1;color:var(--text-primary);font-weight:500}.batch-result-item .result-status[data-v-be25540e]{flex-shrink:0;display:flex;align-items:center}.batch-result-item .result-message[data-v-be25540e]{color:var(--text-weak);font-size:var(--fs-overline);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-actions[data-v-be25540e]{display:flex;justify-content:flex-end;margin-top:var(--space-6)}.slot-hint[data-v-be25540e]{font-size:var(--fs-overline);color:var(--text-weak);font-weight:400;margin-left:4px}.slot-gallery[data-v-be25540e]{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.slot-card[data-v-be25540e]{width:120px;display:flex;flex-direction:column;gap:var(--space-2)}.slot-image-wrap[data-v-be25540e]{position:relative;width:120px;height:170px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-default);background:var(--bg-elevated)}.slot-image-wrap img[data-v-be25540e]{width:100%;height:100%;object-fit:cover}.slot-image-placeholder[data-v-be25540e]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.slot-type-badge[data-v-be25540e]{position:absolute;bottom:0;left:0;right:0;padding:2px 6px;background:#000000a6;color:#fff;font-size:11px;text-align:center;line-height:1.4}.slot-type-badge.slot-type-front[data-v-be25540e]{background:#1677ffcc}.slot-type-badge.slot-type-side[data-v-be25540e]{background:#52c41acc}.slot-type-badge.slot-type-back[data-v-be25540e]{background:#faad14d9}.slot-type-badge.slot-type-costume[data-v-be25540e]{background:#dc3545cc}.slot-card-actions[data-v-be25540e]{display:flex;gap:4px;justify-content:center}.slot-gen-actions[data-v-be25540e]{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px dashed var(--border-default)}.form-tip[data-v-be25540e]{font-size:var(--fs-overline);color:var(--text-weak);margin-top:var(--space-1);line-height:1.5}.step-scenes[data-v-7a0f04dc]{display:flex;flex-direction:column;height:100%}.step-header[data-v-7a0f04dc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-shrink:0}.step-header h1[data-v-7a0f04dc]{font-size:var(--fs-h1);margin:0}.step-actions[data-v-7a0f04dc]{display:flex;gap:var(--space-2);align-items:center}.scene-grid[data-v-7a0f04dc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);flex:1;overflow-y:auto;padding:var(--space-2) 0}.scene-card[data-v-7a0f04dc]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-fast)}.scene-card[data-v-7a0f04dc]:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.scene-card.locked[data-v-7a0f04dc]{border-color:var(--color-success)}.scene-image[data-v-7a0f04dc]{position:relative;aspect-ratio:4/3;background:var(--bg-elevated);overflow:hidden}.scene-image img[data-v-7a0f04dc]{width:100%;height:100%;object-fit:cover}.scene-placeholder[data-v-7a0f04dc]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-2);color:var(--text-weak);font-size:var(--fs-caption)}.lock-badge[data-v-7a0f04dc]{position:absolute;top:var(--space-2);right:var(--space-2);padding:2px var(--space-2);background:var(--color-success);color:#fff;border-radius:var(--radius-xs);font-size:11px;display:flex;align-items:center;gap:2px}.scene-tags[data-v-7a0f04dc]{position:absolute;bottom:var(--space-2);left:var(--space-2);display:flex;gap:4px}.tag[data-v-7a0f04dc]{padding:1px var(--space-2);background:#00000080;color:#fff;border-radius:var(--radius-xs);font-size:11px}.scene-info[data-v-7a0f04dc]{padding:var(--space-3)}.scene-info h3[data-v-7a0f04dc]{font-size:var(--fs-h3);margin:0 0 var(--space-1)}.scene-desc[data-v-7a0f04dc]{font-size:var(--fs-caption);color:var(--text-secondary);margin:0 0 var(--space-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene-mood[data-v-7a0f04dc]{font-size:var(--fs-caption);color:var(--text-weak);margin-bottom:var(--space-2)}.scene-actions[data-v-7a0f04dc]{display:flex;gap:var(--space-1);flex-wrap:wrap}.edit-form[data-v-7a0f04dc]{display:flex;flex-direction:column;gap:var(--space-4)}.form-group[data-v-7a0f04dc]{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label[data-v-7a0f04dc]{font-size:var(--fs-caption);color:var(--text-secondary);font-weight:500}.form-row[data-v-7a0f04dc]{display:flex;gap:var(--space-3)}.form-row .form-group[data-v-7a0f04dc]{flex:1}.ai-gen-overlay[data-v-7a0f04dc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:var(--z-drawer);display:flex;align-items:center;justify-content:center}.ai-gen-content[data-v-7a0f04dc]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:700px;max-width:90vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.ai-gen-header[data-v-7a0f04dc]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-default)}.ai-gen-header h3[data-v-7a0f04dc]{font-size:var(--fs-h3);margin:0}.close-btn[data-v-7a0f04dc]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-weak);border-radius:var(--radius-sm);cursor:pointer;font-size:18px}.ai-gen-body[data-v-7a0f04dc]{padding:var(--space-4) var(--space-6);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.ai-gen-config[data-v-7a0f04dc]{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.config-row[data-v-7a0f04dc]{display:flex;align-items:center;gap:var(--space-2)}.config-row label[data-v-7a0f04dc]{font-size:var(--fs-caption);color:var(--text-secondary);white-space:nowrap}.config-select[data-v-7a0f04dc]{padding:var(--space-1) var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--fs-caption);outline:none}.ai-gen-results[data-v-7a0f04dc]{min-height:200px}.gen-loading[data-v-7a0f04dc]{display:flex;align-items:center;justify-content:center;height:200px}.result-grid[data-v-7a0f04dc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.result-item[data-v-7a0f04dc]{position:relative;border:2px solid transparent;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:border-color var(--transition-fast)}.result-item.selected[data-v-7a0f04dc]{border-color:var(--brand-primary)}.result-item img[data-v-7a0f04dc]{width:100%;aspect-ratio:4/3;object-fit:cover}.check-mark[data-v-7a0f04dc]{position:absolute;top:var(--space-2);right:var(--space-2);color:var(--brand-primary);font-size:20px}.gen-empty[data-v-7a0f04dc]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:var(--space-2);color:var(--text-weak)}.ai-gen-actions[data-v-7a0f04dc]{display:flex;justify-content:flex-end}.evaluation-panel[data-v-63905abc]{position:fixed;right:0;top:60px;bottom:0;width:320px;background:var(--bg-surface, #1A1A1F);border-left:1px solid var(--border-default, #2E2E35);display:flex;flex-direction:column;transition:all .25s ease;z-index:100}.evaluation-panel.collapsed[data-v-63905abc]{width:48px}.evaluation-panel.pass[data-v-63905abc]{border-left-color:var(--color-success, #3DD68C)}.evaluation-panel.warning[data-v-63905abc]{border-left-color:var(--color-warning, #FAAD14)}.evaluation-panel.blocked[data-v-63905abc]{border-left-color:var(--color-error, #F05252)}.collapse-btn[data-v-63905abc]{position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:16px;height:48px;background:var(--bg-surface, #1A1A1F);border:1px solid var(--border-default, #2E2E35);border-right:none;border-radius:8px 0 0 8px;color:var(--text-weak, #6B6B76);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.collapse-btn[data-v-63905abc]:hover{background:var(--bg-elevated, #252530);color:var(--text-primary, #E8E8EC)}.panel-content[data-v-63905abc]{flex:1;overflow-y:auto;display:flex;flex-direction:column}.panel-header[data-v-63905abc]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4, 16px);border-bottom:1px solid var(--border-default, #2E2E35);flex-shrink:0}.gate-name[data-v-63905abc]{font-size:var(--fs-caption, 12px);color:var(--text-weak, #6B6B76);font-weight:500}.close-btn[data-v-63905abc]{width:24px;height:24px;border:none;background:transparent;color:var(--text-weak, #6B6B76);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.close-btn[data-v-63905abc]:hover{background:var(--bg-elevated, #252530);color:var(--text-primary, #E8E8EC)}.status-overview[data-v-63905abc]{display:flex;align-items:center;gap:var(--space-3, 12px);padding:var(--space-4, 16px);border-bottom:1px solid var(--border-default, #2E2E35);flex-shrink:0}.status-icon[data-v-63905abc]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;background:var(--bg-elevated, #252530);color:var(--text-weak, #6B6B76)}.blocked .status-icon[data-v-63905abc]{background:#f0525226;color:var(--color-error, #F05252)}.warning .status-icon[data-v-63905abc]{background:#faad1426;color:var(--color-warning, #FAAD14)}.pass .status-icon[data-v-63905abc]{background:#3dd68c26;color:var(--color-success, #3DD68C)}.status-text[data-v-63905abc]{flex:1}.status-title[data-v-63905abc]{font-size:var(--fs-body, 14px);font-weight:600;color:var(--text-primary, #E8E8EC);margin-bottom:2px}.status-desc[data-v-63905abc]{font-size:var(--fs-caption, 12px);color:var(--text-weak, #6B6B76)}.stats-row[data-v-63905abc]{display:flex;padding:var(--space-3, 12px);gap:var(--space-2, 8px);border-bottom:1px solid var(--border-default, #2E2E35);flex-shrink:0}.stat-item[data-v-63905abc]{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-2, 8px);border-radius:6px;background:var(--bg-elevated, #252530)}.stat-num[data-v-63905abc]{font-size:var(--fs-h3, 18px);font-weight:700;font-family:var(--font-mono, monospace)}.stat-label[data-v-63905abc]{font-size:var(--fs-overline, 10px);color:var(--text-weak, #6B6B76);text-transform:uppercase;margin-top:2px}.stat-item.passed .stat-num[data-v-63905abc]{color:var(--color-success, #3DD68C)}.stat-item.warnings .stat-num[data-v-63905abc]{color:var(--color-warning, #FAAD14)}.stat-item.blocked .stat-num[data-v-63905abc]{color:var(--color-error, #F05252)}.issue-section[data-v-63905abc]{padding:var(--space-3, 12px);border-bottom:1px solid var(--border-default, #2E2E35)}.section-title[data-v-63905abc]{font-size:var(--fs-caption, 12px);font-weight:600;color:var(--text-secondary, #A0A0AB);margin-bottom:var(--space-2, 8px);display:flex;align-items:center;gap:var(--space-1, 4px)}.dot[data-v-63905abc]{font-size:8px}.red-dot[data-v-63905abc]{color:var(--color-error, #F05252)}.yellow-dot[data-v-63905abc]{color:var(--color-warning, #FAAD14)}.issue-list[data-v-63905abc]{display:flex;flex-direction:column;gap:var(--space-2, 8px)}.issue-item[data-v-63905abc]{padding:var(--space-2, 8px);border-radius:6px;cursor:pointer;transition:all .15s}.red-item[data-v-63905abc]{background:#f0525214;border:1px solid rgba(240,82,82,.2)}.red-item[data-v-63905abc]:hover{background:#f0525226}.yellow-item[data-v-63905abc]{background:#faad1414;border:1px solid rgba(250,173,20,.2)}.yellow-item[data-v-63905abc]:hover{background:#faad1426}.issue-header[data-v-63905abc]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.issue-name[data-v-63905abc]{font-size:var(--fs-caption, 12px);font-weight:600;color:var(--text-primary, #E8E8EC)}.issue-actual[data-v-63905abc]{font-size:var(--fs-overline, 10px);color:var(--text-weak, #6B6B76);font-family:var(--font-mono, monospace)}.issue-suggestion[data-v-63905abc]{font-size:var(--fs-overline, 10px);color:var(--text-secondary, #A0A0AB);line-height:1.5}.empty-state[data-v-63905abc]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8, 32px)}.empty-icon[data-v-63905abc]{font-size:48px;margin-bottom:var(--space-3, 12px);opacity:.5}.empty-text[data-v-63905abc]{font-size:var(--fs-body, 14px);color:var(--text-weak, #6B6B76)}.panel-footer[data-v-63905abc]{padding:var(--space-3, 12px);border-top:1px solid var(--border-default, #2E2E35);flex-shrink:0}.timestamp[data-v-63905abc]{font-size:var(--fs-overline, 10px);color:var(--text-weak, #6B6B76)}.collapsed-indicator[data-v-63905abc]{flex:1;display:flex;flex-direction:column;align-items:center;padding-top:var(--space-4, 16px);gap:var(--space-2, 8px)}.collapsed-icon[data-v-63905abc]{width:32px;height:32px;border-radius:50%;background:var(--bg-elevated, #252530);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-weak, #6B6B76)}.collapsed-icon.pass[data-v-63905abc]{background:#3dd68c26;color:var(--color-success, #3DD68C)}.collapsed-icon.warning[data-v-63905abc]{background:#faad1426;color:var(--color-warning, #FAAD14)}.collapsed-icon.blocked[data-v-63905abc]{background:#f0525226;color:var(--color-error, #F05252)}.collapsed-count[data-v-63905abc]{display:flex;flex-direction:column;gap:4px}.count-badge[data-v-63905abc]{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.count-badge.blocked[data-v-63905abc]{background:#f0525226;color:var(--color-error, #F05252)}.count-badge.warnings[data-v-63905abc]{background:#faad1426;color:var(--color-warning, #FAAD14)}.step-storyboard[data-v-76c0b2c4]{display:flex;flex-direction:column;height:100%;padding-right:320px}.step-storyboard[data-v-76c0b2c4]:has(.evaluation-panel.collapsed){padding-right:48px}.step-header[data-v-76c0b2c4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-shrink:0}.step-header h1[data-v-76c0b2c4]{font-size:var(--fs-h1);margin:0}.step-actions[data-v-76c0b2c4]{display:flex;gap:var(--space-2);flex-wrap:wrap}.filter-bar[data-v-76c0b2c4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-shrink:0}.scene-filters[data-v-76c0b2c4]{display:flex;gap:var(--space-2)}.filter-btn[data-v-76c0b2c4]{padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-weak);font-size:var(--fs-caption);cursor:pointer;transition:all var(--transition-fast)}.filter-btn[data-v-76c0b2c4]:hover{border-color:var(--text-weak);color:var(--text-secondary)}.filter-btn.active[data-v-76c0b2c4]{border-color:var(--brand-primary);color:var(--brand-primary);background:#dc35451a}.sort-controls[data-v-76c0b2c4]{display:flex;align-items:center;gap:var(--space-2)}.sort-label[data-v-76c0b2c4]{font-size:var(--fs-caption);color:var(--text-weak)}.sort-select[data-v-76c0b2c4]{padding:var(--space-1) var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-caption);outline:none}.shot-grid[data-v-76c0b2c4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4);flex:1;overflow-y:auto;padding:var(--space-2) 0}.shot-card[data-v-76c0b2c4]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-fast);position:relative}.shot-card[data-v-76c0b2c4]:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.shot-card.selected[data-v-76c0b2c4]{border-color:var(--brand-primary);box-shadow:var(--shadow-glow)}.shot-card.batched[data-v-76c0b2c4]{border-color:var(--color-progress)}.batch-checkbox[data-v-76c0b2c4]{position:absolute;top:var(--space-2);left:var(--space-2);z-index:1}.batch-checkbox input[data-v-76c0b2c4]{accent-color:var(--color-progress);width:16px;height:16px;cursor:pointer}.shot-thumb[data-v-76c0b2c4]{height:120px;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;position:relative}.shot-number[data-v-76c0b2c4]{font-size:var(--fs-h3);font-family:var(--font-mono);color:var(--text-weak);font-weight:600}.drag-handle[data-v-76c0b2c4]{position:absolute;bottom:var(--space-2);right:var(--space-2);color:var(--text-weak);font-size:12px;opacity:0;transition:opacity var(--transition-fast);cursor:grab}.shot-card:hover .drag-handle[data-v-76c0b2c4]{opacity:.5}.shot-info[data-v-76c0b2c4]{padding:var(--space-3)}.shot-desc[data-v-76c0b2c4]{font-size:var(--fs-caption);color:var(--text-primary);margin:0 0 var(--space-2) 0;line-height:var(--lh-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shot-tags[data-v-76c0b2c4]{display:flex;gap:var(--space-1);flex-wrap:wrap}.tag[data-v-76c0b2c4]{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-xs);font-size:var(--fs-overline);font-weight:500}.camera-tag[data-v-76c0b2c4]{background:#4da6ff26;color:var(--color-progress)}.duration-tag[data-v-76c0b2c4]{background:#dc354526;color:var(--brand-primary)}.char-tag[data-v-76c0b2c4]{background:#3dd68c26;color:var(--color-success)}.stats-bar[data-v-76c0b2c4]{padding:var(--space-3) var(--space-4);font-size:var(--fs-caption);color:var(--text-weak);flex-shrink:0;border-top:1px solid var(--border-default)}.drawer-overlay[data-v-76c0b2c4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:var(--z-drawer);display:flex;justify-content:flex-end}.drawer-content[data-v-76c0b2c4]{width:480px;max-width:90vw;background:var(--bg-surface);border-left:1px solid var(--border-default);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.drawer-header[data-v-76c0b2c4]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-default);flex-shrink:0}.drawer-header h3[data-v-76c0b2c4]{font-size:var(--fs-h3);margin:0;color:var(--text-primary)}.close-btn[data-v-76c0b2c4]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-weak);border-radius:var(--radius-sm);cursor:pointer;font-size:16px;transition:all var(--transition-fast)}.close-btn[data-v-76c0b2c4]:hover{color:var(--text-primary);background:var(--bg-elevated)}.drawer-body[data-v-76c0b2c4]{flex:1;overflow-y:auto;padding:var(--space-6)}.drawer-footer[data-v-76c0b2c4]{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-default);flex-shrink:0}.form-group[data-v-76c0b2c4]{margin-bottom:var(--space-5)}.form-group label[data-v-76c0b2c4]{display:block;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:500}.form-row[data-v-76c0b2c4]{display:flex;gap:var(--space-4)}.form-textarea[data-v-76c0b2c4]{width:100%;padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-body);line-height:var(--lh-body);resize:vertical;outline:none;transition:border-color var(--transition-fast)}.form-textarea[data-v-76c0b2c4]:focus{border-color:var(--brand-primary)}.form-select[data-v-76c0b2c4]{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-body);outline:none}.form-select option[data-v-76c0b2c4]{background:var(--bg-surface)}.range-slider[data-v-76c0b2c4]{width:100%;accent-color:var(--brand-primary);cursor:pointer}.char-tags[data-v-76c0b2c4]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.char-tag-item[data-v-76c0b2c4]{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);font-size:var(--fs-caption);color:var(--text-weak)}.char-tag-item[data-v-76c0b2c4]:hover{border-color:var(--text-weak)}.char-tag-item.checked[data-v-76c0b2c4]{border-color:var(--color-success);color:var(--color-success);background:#3dd68c1a}.char-tag-item input[data-v-76c0b2c4]{display:none}.drawer-enter-active[data-v-76c0b2c4],.drawer-leave-active[data-v-76c0b2c4]{transition:all .25s ease-out}.drawer-enter-active .drawer-content[data-v-76c0b2c4],.drawer-leave-active .drawer-content[data-v-76c0b2c4]{transition:transform .25s ease-out}.drawer-enter-from[data-v-76c0b2c4],.drawer-leave-to[data-v-76c0b2c4]{opacity:0}.drawer-enter-from .drawer-content[data-v-76c0b2c4],.drawer-leave-to .drawer-content[data-v-76c0b2c4]{transform:translate(100%)}.step-keyframes[data-v-c87c5756]{display:flex;flex-direction:column;height:100%}.step-header[data-v-c87c5756]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-shrink:0}.step-header h1[data-v-c87c5756]{font-size:var(--fs-h1);margin:0}.step-actions[data-v-c87c5756]{display:flex;gap:var(--space-2);align-items:center}.model-select[data-v-c87c5756]{padding:var(--space-1) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-caption);outline:none}.filter-bar[data-v-c87c5756]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-shrink:0}.filter-left[data-v-c87c5756]{display:flex;align-items:center;gap:var(--space-2)}.filter-icon[data-v-c87c5756]{color:var(--text-weak);font-size:14px}.filter-btn[data-v-c87c5756]{padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-weak);font-size:var(--fs-caption);cursor:pointer;transition:all var(--transition-fast)}.filter-btn[data-v-c87c5756]:hover{border-color:var(--text-weak);color:var(--text-secondary)}.filter-btn.active[data-v-c87c5756]{border-color:var(--brand-primary);color:var(--brand-primary);background:#dc35451a}.filter-right[data-v-c87c5756]{font-size:var(--fs-caption);color:var(--text-weak)}.final-count[data-v-c87c5756]{color:var(--brand-primary)}.keyframe-grid[data-v-c87c5756]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);flex:1;overflow-y:auto;padding:var(--space-2) 0}.kf-card[data-v-c87c5756]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-fast)}.kf-card[data-v-c87c5756]:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.kf-card.selected[data-v-c87c5756]{border-color:var(--brand-primary);box-shadow:var(--shadow-glow)}.kf-card.final[data-v-c87c5756]{border-color:var(--color-success)}.kf-image[data-v-c87c5756]{position:relative;aspect-ratio:1;background:var(--bg-elevated);overflow:hidden}.kf-image img[data-v-c87c5756]{width:100%;height:100%;object-fit:cover}.kf-placeholder[data-v-c87c5756]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-2)}.status-icon[data-v-c87c5756]{font-size:32px}.placeholder-text[data-v-c87c5756]{font-size:var(--fs-caption);color:var(--text-weak)}.kf-status-badge[data-v-c87c5756]{position:absolute;top:var(--space-2);left:var(--space-2);padding:1px var(--space-2);border-radius:var(--radius-xs);font-size:11px;color:#fff;font-weight:500}.kf-final-badge[data-v-c87c5756]{position:absolute;top:var(--space-2);right:var(--space-2);padding:1px var(--space-2);background:var(--brand-primary);color:var(--bg-deep);border-radius:var(--radius-xs);font-size:11px;font-weight:600;display:flex;align-items:center;gap:2px}.kf-number[data-v-c87c5756]{position:absolute;bottom:var(--space-2);left:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-h3);color:#fff9;font-weight:600}.kf-hover-actions[data-v-c87c5756]{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:var(--space-2);padding:var(--space-2);background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity var(--transition-fast)}.kf-card:hover .kf-hover-actions[data-v-c87c5756]{opacity:1}.kf-action-btn[data-v-c87c5756]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#fff3;color:#fff;border-radius:var(--radius-xs);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.kf-action-btn[data-v-c87c5756]:hover{background:#fff6}.kf-action-btn.danger[data-v-c87c5756]:hover{background:#f0525299}.kf-action-btn .is-final[data-v-c87c5756]{color:var(--brand-primary)}.kf-action-btn[data-v-c87c5756]:disabled{opacity:.4;cursor:not-allowed}.kf-prompt[data-v-c87c5756]{padding:var(--space-2) var(--space-3)}.kf-prompt p[data-v-c87c5756]{font-size:var(--fs-overline);color:var(--text-weak);margin:0;line-height:var(--lh-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.preview-overlay[data-v-c87c5756]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:var(--z-drawer);display:flex;align-items:center;justify-content:center}.preview-content[data-v-c87c5756]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:800px;max-width:90vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.preview-header[data-v-c87c5756]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-default);flex-shrink:0}.preview-header h3[data-v-c87c5756]{font-size:var(--fs-h3);margin:0;color:var(--text-primary)}.close-btn[data-v-c87c5756]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-weak);border-radius:var(--radius-sm);cursor:pointer;font-size:18px}.close-btn[data-v-c87c5756]:hover{color:var(--text-primary);background:var(--bg-elevated)}.preview-body[data-v-c87c5756]{display:flex;flex:1;overflow:hidden}.preview-image[data-v-c87c5756]{flex:1;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;min-height:300px}.preview-image img[data-v-c87c5756]{max-width:100%;max-height:100%;object-fit:contain}.no-image[data-v-c87c5756]{color:var(--text-weak);font-size:var(--fs-body)}.preview-info[data-v-c87c5756]{width:280px;flex-shrink:0;padding:var(--space-4) var(--space-6);border-left:1px solid var(--border-default);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.info-section label[data-v-c87c5756]{display:block;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:var(--space-1);font-weight:500}.info-section p[data-v-c87c5756]{font-size:var(--fs-body);color:var(--text-primary);margin:0;line-height:var(--lh-body)}.status-tag[data-v-c87c5756]{font-size:var(--fs-body);font-weight:500}.preview-actions[data-v-c87c5756]{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto}.drawer-enter-active[data-v-c87c5756],.drawer-leave-active[data-v-c87c5756]{transition:all .25s ease-out}.drawer-enter-from[data-v-c87c5756],.drawer-leave-to[data-v-c87c5756]{opacity:0}.drawer-enter-from .preview-content[data-v-c87c5756],.drawer-leave-to .preview-content[data-v-c87c5756]{transform:scale(.95)}.script-body[data-v-f990ff7f]{display:flex;flex-direction:column;gap:6px}.script-title[data-v-f990ff7f]{font-size:13px;font-weight:500;color:var(--text-primary, #E8E8EC);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.script-outline[data-v-f990ff7f]{font-size:11px;color:var(--text-weak, #6B6B76);line-height:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.script-stats[data-v-f990ff7f]{display:flex;gap:10px;margin-top:2px}.stat-item[data-v-f990ff7f]{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-secondary, #9191A0)}.node-status[data-v-f990ff7f]{font-size:11px;font-weight:500;margin-left:auto}.character-body[data-v-4b749bdc]{display:flex;gap:10px;align-items:flex-start}.character-avatar[data-v-4b749bdc]{width:48px;height:48px;border-radius:var(--radius-sm, 4px);overflow:hidden;flex-shrink:0;background:var(--bg-deep, #0F0F11)}.avatar-img[data-v-4b749bdc]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-4b749bdc]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-weak, #6B6B76);background:linear-gradient(135deg,#1a1a2e,#16213e)}.character-info[data-v-4b749bdc]{flex:1;min-width:0}.character-name[data-v-4b749bdc]{font-size:13px;font-weight:600;color:var(--text-primary, #E8E8EC);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-desc[data-v-4b749bdc]{font-size:11px;color:var(--text-weak, #6B6B76);line-height:14px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lock-badge[data-v-4b749bdc]{display:flex;align-items:center;color:var(--brand-primary, #DC3545);margin-left:auto}.gacha-badge[data-v-4b749bdc]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-full, 50%);background:#dc354533;color:var(--brand-primary, #DC3545);font-size:10px;font-weight:600;margin-left:4px}.storyboard-body[data-v-3de9f241]{display:flex;flex-direction:column;gap:6px}.scene-desc[data-v-3de9f241]{font-size:11px;color:var(--text-secondary, #9191A0);line-height:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene-meta[data-v-3de9f241]{display:flex;flex-direction:column;gap:3px}.meta-item[data-v-3de9f241]{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-secondary, #9191A0)}.meta-characters[data-v-3de9f241]{font-size:10px;color:var(--text-weak, #6B6B76);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-badge[data-v-3de9f241]{font-size:11px;font-weight:500;color:var(--text-secondary, #9191A0);margin-left:auto;background:var(--bg-hover, #2A2A30);padding:1px 6px;border-radius:var(--radius-xs, 2px)}.keyframe-body[data-v-0cffafee]{display:flex;flex-direction:column;gap:6px}.kf-preview[data-v-0cffafee]{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-sm, 4px);overflow:hidden;background:var(--bg-deep, #0F0F11)}.kf-img[data-v-0cffafee]{width:100%;height:100%;object-fit:cover}.kf-placeholder[data-v-0cffafee]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-weak, #6B6B76);font-size:20px}.final-badge[data-v-0cffafee]{position:absolute;top:4px;right:4px;padding:1px 6px;border-radius:var(--radius-xs, 2px);background:#3dd68cd9;color:#0f0f11;font-size:10px;font-weight:600}.kf-prompt[data-v-0cffafee]{font-size:11px;color:var(--text-weak, #6B6B76);line-height:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kf-status[data-v-0cffafee]{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:500;margin-left:auto}.spin[data-v-0cffafee]{display:inline-block;animation:spin-0cffafee 1s linear infinite}@keyframes spin-0cffafee{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.is-final[data-v-0cffafee]{border-color:#3dd68c66!important}.is-final.selected[data-v-0cffafee]{box-shadow:0 0 20px #3dd68c4d!important}.video-body[data-v-75c20634]{display:flex;flex-direction:column;gap:6px}.vd-preview[data-v-75c20634]{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-sm, 4px);overflow:hidden;background:var(--bg-deep, #0F0F11)}.vd-thumb[data-v-75c20634]{width:100%;height:100%;object-fit:cover}.vd-placeholder[data-v-75c20634]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-weak, #6B6B76);font-size:20px}.vd-duration[data-v-75c20634]{position:absolute;bottom:4px;right:4px;padding:1px 5px;border-radius:var(--radius-xs, 2px);background:#000000b3;color:#fff;font-size:10px;font-family:var(--font-mono, monospace)}.final-badge[data-v-75c20634]{position:absolute;top:4px;right:4px;padding:1px 6px;border-radius:var(--radius-xs, 2px);background:#3dd68cd9;color:#0f0f11;font-size:10px;font-weight:600}.vd-info[data-v-75c20634]{font-size:11px;color:var(--text-weak, #6B6B76);text-align:center}.vd-status[data-v-75c20634]{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:500;margin-left:auto}.spin[data-v-75c20634]{display:inline-block;animation:spin-75c20634 1s linear infinite}@keyframes spin-75c20634{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.is-final[data-v-75c20634]{border-color:#3dd68c66!important}.is-final.selected[data-v-75c20634]{box-shadow:0 0 20px #3dd68c4d!important}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.vue-flow__controls{box-shadow:0 0 2px 1px #00000014}.vue-flow__controls-button{background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px}.vue-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.vue-flow__controls-button:hover{background:#f4f4f4}.vue-flow__controls-button:disabled{pointer-events:none}.vue-flow__controls-button:disabled svg{fill-opacity:.4}.drama-canvas{width:100%;height:100%;background:var(--bg-deep, #0F0F11);position:relative}.drama-canvas .vue-flow{background:var(--bg-deep, #0F0F11)!important}.drama-canvas .vue-flow__minimap{background:var(--bg-surface, #1A1A1F)!important;border:1px solid var(--border-default, #2E2E35)!important;border-radius:var(--radius-md, 8px)!important}.drama-canvas .vue-flow__minimap-mask{fill:var(--bg-deep, #0F0F11)!important}.drama-canvas .vue-flow__minimap-node{fill:var(--bg-elevated, #242429)!important;stroke:var(--border-default, #2E2E35)!important;rx:2;ry:2}.drama-canvas .vue-flow__controls{background:var(--bg-surface, #1A1A1F)!important;border:1px solid var(--border-default, #2E2E35)!important;border-radius:var(--radius-md, 8px)!important;box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .4))!important}.drama-canvas .vue-flow__controls-button{background:transparent!important;border-bottom:1px solid var(--border-default, #2E2E35)!important;fill:var(--text-secondary, #9191A0)!important;width:28px!important;height:28px!important}.drama-canvas .vue-flow__controls-button:hover{background:var(--bg-hover, #2A2A30)!important;fill:var(--text-primary, #E8E8EC)!important}.drama-canvas .vue-flow__controls-button:last-child{border-bottom:none!important}.drama-canvas .vue-flow__background{--vf-dot-color: var(--border-default, #2E2E35) !important}.drama-canvas .vue-flow__edge-path{stroke:var(--border-hover, #3A3A42)!important;stroke-width:2!important}.drama-canvas .vue-flow__edge.selected .vue-flow__edge-path,.drama-canvas .vue-flow__edge:hover .vue-flow__edge-path{stroke:var(--brand-primary, #DC3545)!important}.drama-canvas .vue-flow__edge-textbg{fill:var(--bg-surface, #1A1A1F)!important}.drama-canvas .vue-flow__edge-textwrapper text{fill:var(--text-secondary, #9191A0)!important;font-size:11px!important}.drama-canvas .vue-flow__node{filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));transition:filter var(--transition-fast, .1s ease)}.drama-canvas .vue-flow__node.selected{filter:drop-shadow(0 0 12px rgba(220,53,69,.4))}.drama-canvas .vue-flow .selection{background:#dc354514!important;border:1px solid rgba(220,53,69,.3)!important;border-radius:var(--radius-sm, 4px)!important}.drama-canvas .vue-flow__handle{width:10px!important;height:10px!important;background:var(--bg-elevated, #242429)!important;border:2px solid var(--border-hover, #3A3A42)!important;transition:all var(--transition-fast, .1s ease)!important}.drama-canvas .vue-flow__handle:hover,.drama-canvas .vue-flow__handle.connecting{background:var(--brand-primary, #DC3545)!important;border-color:var(--brand-primary, #DC3545)!important;box-shadow:0 0 8px #dc354580!important}.canvas-toolbar{position:absolute;top:var(--space-4, 16px);left:50%;transform:translate(-50%);z-index:var(--z-sticky, 200);display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);background:var(--bg-surface, #1A1A1F);border:1px solid var(--border-default, #2E2E35);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .5));-webkit-user-select:none;user-select:none}.canvas-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--text-secondary, #9191A0);cursor:pointer;font-size:14px;transition:all var(--transition-fast, .1s ease)}.canvas-toolbar-btn:hover{background:var(--bg-hover, #2A2A30);color:var(--text-primary, #E8E8EC)}.canvas-toolbar-btn.active{background:#dc354526;color:var(--brand-primary, #DC3545)}.canvas-toolbar-divider{width:1px;height:20px;background:var(--border-default, #2E2E35);margin:0 var(--space-1, 4px)}.canvas-toolbar-label{font-size:var(--fs-caption, 12px);color:var(--text-weak, #6B6B76);font-family:var(--font-mono, monospace);padding:0 var(--space-2, 8px)}.canvas-empty-guide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-weak, #6B6B76);pointer-events:none}.canvas-empty-guide .icon{font-size:48px;margin-bottom:var(--space-4, 16px);opacity:.4}.canvas-empty-guide .title{font-size:var(--fs-h4, 15px);color:var(--text-secondary, #9191A0);margin-bottom:var(--space-2, 8px)}.canvas-empty-guide .desc{font-size:var(--fs-caption, 12px);line-height:var(--lh-caption, 16px)}.canvas-node{background:var(--bg-surface, #1A1A1F);border:1px solid var(--border-default, #2E2E35);border-radius:var(--radius-md, 8px);min-width:180px;max-width:320px;overflow:hidden;transition:border-color var(--transition-fast, .1s ease),box-shadow var(--transition-fast, .1s ease)}.canvas-node:hover{border-color:var(--border-hover, #3A3A42)}.canvas-node.selected{border-color:var(--brand-primary, #DC3545);box-shadow:var(--shadow-glow, 0 0 20px rgba(220, 53, 69, .3))}.canvas-node-header{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);border-bottom:1px solid var(--border-default, #2E2E35);font-size:var(--fs-caption, 12px);font-weight:500;color:var(--text-primary, #E8E8EC)}.canvas-node-header .node-type-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-xs, 2px);font-size:11px;font-family:var(--font-mono, monospace)}.canvas-node-body{padding:var(--space-3, 12px);font-size:var(--fs-caption, 12px);color:var(--text-secondary, #9191A0);line-height:var(--lh-caption, 16px)}.canvas-node.type-script .node-type-badge{background:#4da6ff26;color:var(--color-info, #6CB4EE)}.canvas-node.type-character .node-type-badge{background:#3dd68c26;color:var(--color-success, #3DD68C)}.canvas-node.type-storyboard .node-type-badge{background:#e8943a26;color:var(--color-warning, #E8943A)}.canvas-node.type-keyframe .node-type-badge{background:#dc354526;color:var(--brand-primary, #DC3545)}.canvas-node.type-video .node-type-badge{background:#f0525226;color:var(--color-error, #F05252)}.vue-flow-canvas[data-v-6456e96a]{width:100%;height:100%}.canvas-add-menu-overlay[data-v-6456e96a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999}.canvas-add-menu[data-v-6456e96a]{position:fixed;z-index:10000;min-width:180px;padding:var(--space-2, 8px) 0;background:var(--bg-surface, #1A1A1F);border:1px solid var(--border-default, #2E2E35);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .5))}.canvas-add-menu-title[data-v-6456e96a]{padding:var(--space-1, 4px) var(--space-3, 12px);font-size:var(--fs-overline, 11px);color:var(--text-weak, #6B6B76);text-transform:uppercase;letter-spacing:.5px}.canvas-add-menu-item[data-v-6456e96a]{display:flex;align-items:center;gap:var(--space-2, 8px);width:100%;padding:var(--space-2, 8px) var(--space-3, 12px);border:none;background:transparent;color:var(--text-primary, #E8E8EC);font-size:var(--fs-caption, 12px);cursor:pointer;text-align:left;transition:background var(--transition-fast, .1s ease)}.canvas-add-menu-item[data-v-6456e96a]:hover{background:var(--bg-hover, #2A2A30)}.canvas-add-menu-item .dot[data-v-6456e96a]{width:8px;height:8px;border-radius:var(--radius-full, 50%);flex-shrink:0}.canvas-save-indicator[data-v-6456e96a]{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:100;padding:6px 16px;background:#1a1a1fd9;border:1px solid var(--border-default, #2E2E35);border-radius:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.save-text[data-v-6456e96a]{font-size:12px;color:var(--text-secondary, #A0A0AB)}.save-text.saving[data-v-6456e96a]{color:var(--brand-primary, #DC3545)}.fade-enter-active[data-v-6456e96a],.fade-leave-active[data-v-6456e96a]{transition:opacity .3s ease}.fade-enter-from[data-v-6456e96a],.fade-leave-to[data-v-6456e96a]{opacity:0}.canvas-step[data-v-85dd1c89]{width:100%;height:100%;position:relative;overflow:hidden}.canvas-loading[data-v-85dd1c89]{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--text-weak, #6B6B76);font-size:14px}.spin[data-v-85dd1c89]{display:inline-block;animation:spin-85dd1c89 1s linear infinite}@keyframes spin-85dd1c89{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.canvas-empty-overlay[data-v-85dd1c89]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.empty-card[data-v-85dd1c89]{text-align:center;padding:var(--space-8);pointer-events:auto}.empty-icon[data-v-85dd1c89]{font-size:48px;margin-bottom:var(--space-4)}.empty-title[data-v-85dd1c89]{font-size:var(--fs-h3);color:var(--text-primary);margin:0 0 var(--space-2)}.empty-desc[data-v-85dd1c89]{font-size:var(--fs-body);color:var(--text-secondary);margin:0 0 var(--space-6);line-height:1.6}.empty-action[data-v-85dd1c89]{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-md);background:var(--brand-primary);color:var(--bg-deep);font-size:var(--fs-body);font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.empty-action[data-v-85dd1c89]:hover{opacity:.9;box-shadow:var(--shadow-glow)}.step-videos[data-v-cff35a5f]{display:flex;flex-direction:column;height:100%}.step-header[data-v-cff35a5f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-shrink:0}.step-header h1[data-v-cff35a5f]{font-size:var(--fs-h1);margin:0}.step-actions[data-v-cff35a5f]{display:flex;gap:var(--space-2);align-items:center}.model-select[data-v-cff35a5f]{padding:var(--space-1) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-caption);outline:none}.filter-bar[data-v-cff35a5f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-shrink:0}.filter-left[data-v-cff35a5f]{display:flex;align-items:center;gap:var(--space-2)}.filter-icon[data-v-cff35a5f]{color:var(--text-weak);font-size:14px}.filter-btn[data-v-cff35a5f]{padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-weak);font-size:var(--fs-caption);cursor:pointer;transition:all var(--transition-fast)}.filter-btn[data-v-cff35a5f]:hover{border-color:var(--text-weak);color:var(--text-secondary)}.filter-btn.active[data-v-cff35a5f]{border-color:var(--brand-primary);color:var(--brand-primary);background:#dc35451a}.filter-right[data-v-cff35a5f]{font-size:var(--fs-caption);color:var(--text-weak)}.final-count[data-v-cff35a5f]{color:var(--brand-primary)}.video-grid[data-v-cff35a5f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);flex:1;overflow-y:auto;padding:var(--space-2) 0}.video-card[data-v-cff35a5f]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-fast)}.video-card[data-v-cff35a5f]:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.video-card.selected[data-v-cff35a5f]{border-color:var(--brand-primary);box-shadow:var(--shadow-glow)}.video-card.final[data-v-cff35a5f]{border-color:var(--color-success)}.video-thumb[data-v-cff35a5f]{position:relative;aspect-ratio:16 / 9;background:var(--bg-elevated);overflow:hidden}.thumb-image[data-v-cff35a5f]{width:100%;height:100%}.thumb-image img[data-v-cff35a5f]{width:100%;height:100%;object-fit:cover}.play-overlay[data-v-cff35a5f]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;opacity:0;transition:opacity var(--transition-fast);cursor:pointer}.video-card:hover .play-overlay[data-v-cff35a5f]{opacity:1}.play-icon[data-v-cff35a5f]{font-size:36px;color:#fff}.thumb-placeholder[data-v-cff35a5f]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-2)}.status-icon[data-v-cff35a5f]{font-size:32px}.placeholder-text[data-v-cff35a5f]{font-size:var(--fs-caption);color:var(--text-weak)}.video-status-badge[data-v-cff35a5f]{position:absolute;top:var(--space-2);left:var(--space-2);padding:1px var(--space-2);border-radius:var(--radius-xs);font-size:11px;color:#fff;font-weight:500}.video-final-badge[data-v-cff35a5f]{position:absolute;top:var(--space-2);right:var(--space-2);padding:1px var(--space-2);background:var(--brand-primary);color:var(--bg-deep);border-radius:var(--radius-xs);font-size:11px;font-weight:600;display:flex;align-items:center;gap:2px}.video-duration[data-v-cff35a5f]{position:absolute;bottom:var(--space-2);right:var(--space-2);padding:1px var(--space-2);background:#000000b3;color:#fff;border-radius:var(--radius-xs);font-size:12px;font-family:var(--font-mono)}.video-hover-actions[data-v-cff35a5f]{position:absolute;bottom:var(--space-2);left:var(--space-2);display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.video-card:hover .video-hover-actions[data-v-cff35a5f]{opacity:1}.action-btn[data-v-cff35a5f]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#00000080;color:#fff;border-radius:var(--radius-xs);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.action-btn[data-v-cff35a5f]:hover{background:#000000b3}.action-btn.danger[data-v-cff35a5f]:hover{background:#f05252b3}.action-btn .is-final[data-v-cff35a5f]{color:var(--brand-primary)}.action-btn[data-v-cff35a5f]:disabled{opacity:.4;cursor:not-allowed}.video-meta[data-v-cff35a5f]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3)}.video-model[data-v-cff35a5f]{font-size:var(--fs-caption);color:var(--text-secondary)}.video-id[data-v-cff35a5f]{font-size:var(--fs-overline);color:var(--text-weak);font-family:var(--font-mono)}.preview-overlay[data-v-cff35a5f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:var(--z-drawer);display:flex;align-items:center;justify-content:center}.preview-content[data-v-cff35a5f]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:800px;max-width:90vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.preview-header[data-v-cff35a5f]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-default);flex-shrink:0}.preview-header h3[data-v-cff35a5f]{font-size:var(--fs-h3);margin:0;color:var(--text-primary)}.close-btn[data-v-cff35a5f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-weak);border-radius:var(--radius-sm);cursor:pointer;font-size:18px}.close-btn[data-v-cff35a5f]:hover{color:var(--text-primary);background:var(--bg-elevated)}.preview-body[data-v-cff35a5f]{display:flex;flex:1;overflow:hidden}.preview-video[data-v-cff35a5f]{flex:1;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;min-height:300px}.video-container[data-v-cff35a5f]{width:100%;height:100%;position:relative}.video-container img[data-v-cff35a5f]{width:100%;height:100%;object-fit:contain}.video-controls[data-v-cff35a5f]{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%)}.play-btn[data-v-cff35a5f]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;background:#00000080;color:#fff;border-radius:var(--radius-full);cursor:pointer;font-size:24px;transition:background var(--transition-fast)}.play-btn[data-v-cff35a5f]:hover{background:#000000b3}.no-video[data-v-cff35a5f]{color:var(--text-weak);font-size:var(--fs-body)}.preview-info[data-v-cff35a5f]{width:260px;flex-shrink:0;padding:var(--space-4) var(--space-6);border-left:1px solid var(--border-default);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.info-section label[data-v-cff35a5f]{display:block;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:var(--space-1);font-weight:500}.info-section p[data-v-cff35a5f]{font-size:var(--fs-body);color:var(--text-primary);margin:0}.status-tag[data-v-cff35a5f]{font-size:var(--fs-body);font-weight:500}.preview-actions[data-v-cff35a5f]{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto}.drawer-enter-active[data-v-cff35a5f],.drawer-leave-active[data-v-cff35a5f]{transition:all .25s ease-out}.drawer-enter-from[data-v-cff35a5f],.drawer-leave-to[data-v-cff35a5f]{opacity:0}.drawer-enter-from .preview-content[data-v-cff35a5f],.drawer-leave-to .preview-content[data-v-cff35a5f]{transform:scale(.95)}.step-timeline[data-v-5725524d]{display:flex;flex-direction:column;height:100%}.step-header[data-v-5725524d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-shrink:0}.step-header h1[data-v-5725524d]{font-size:var(--fs-h1);margin:0}.step-actions[data-v-5725524d]{display:flex;gap:var(--space-2);flex-wrap:wrap}.timeline-body[data-v-5725524d]{flex:1;display:flex;flex-direction:column;min-height:0}.time-ruler[data-v-5725524d]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-shrink:0}.ruler-label[data-v-5725524d]{font-size:var(--fs-caption);color:var(--text-secondary);font-weight:500;width:50px;flex-shrink:0}.ruler-track[data-v-5725524d]{flex:1;display:flex;align-items:center;gap:var(--space-3)}.ruler-marks[data-v-5725524d]{display:flex;flex:1;height:24px;background:var(--bg-elevated);border-radius:var(--radius-sm);overflow:hidden}.ruler-mark[data-v-5725524d]{display:flex;align-items:center;justify-content:center;font-size:11px;font-family:var(--font-mono);color:var(--text-weak);border-right:1px solid var(--border-default)}.ruler-mark[data-v-5725524d]:last-child{border-right:none}.ruler-total[data-v-5725524d]{font-size:var(--fs-caption);color:var(--text-weak);font-family:var(--font-mono);flex-shrink:0}.track-area[data-v-5725524d]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0}.track-item[data-v-5725524d]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative}.track-item[data-v-5725524d]:hover{border-color:var(--border-hover);background:var(--bg-elevated)}.track-item.selected[data-v-5725524d]{border-color:var(--brand-primary);box-shadow:var(--shadow-glow)}.track-item.previewing[data-v-5725524d]{border-color:var(--color-progress);box-shadow:0 0 0 2px #4da6ff4d}.track-item.drag-over[data-v-5725524d]{border-color:var(--color-progress);border-style:dashed}.track-number[data-v-5725524d]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-deep);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-secondary);font-weight:600;flex-shrink:0}.track-thumb[data-v-5725524d]{width:100px;height:56px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.track-thumb img[data-v-5725524d]{width:100%;height:100%;object-fit:cover}.track-info[data-v-5725524d]{flex:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.track-header[data-v-5725524d]{display:flex;align-items:center;gap:var(--space-2)}.track-id[data-v-5725524d]{font-size:var(--fs-caption);color:var(--text-primary);font-weight:500}.track-duration[data-v-5725524d]{font-size:var(--fs-overline);color:var(--text-weak);font-family:var(--font-mono)}.track-subtitle[data-v-5725524d]{flex:1}.subtitle-input[data-v-5725524d]{width:100%;padding:var(--space-1) var(--space-2);background:var(--bg-deep);border:1px solid var(--border-default);border-radius:var(--radius-xs);color:var(--text-primary);font-size:var(--fs-caption);outline:none;transition:border-color var(--transition-fast)}.subtitle-input[data-v-5725524d]:focus{border-color:var(--brand-primary)}.subtitle-input[data-v-5725524d]::placeholder{color:var(--text-weak)}.track-transition[data-v-5725524d]{display:flex;align-items:center;gap:var(--space-1)}.transition-icon[data-v-5725524d]{color:var(--text-weak);font-size:12px}.transition-select[data-v-5725524d]{padding:1px var(--space-2);background:var(--bg-deep);border:1px solid var(--border-default);border-radius:var(--radius-xs);color:var(--text-secondary);font-size:11px;outline:none}.transition-select option[data-v-5725524d]{background:var(--bg-surface)}.track-actions[data-v-5725524d]{flex-shrink:0}.track-action-btn[data-v-5725524d]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-weak);border-radius:var(--radius-xs);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.track-action-btn[data-v-5725524d]:hover{background:var(--bg-hover);color:var(--text-primary)}.track-action-btn.danger[data-v-5725524d]:hover{color:var(--color-error);background:#f052521a}.drag-handle[data-v-5725524d]{flex-shrink:0;color:var(--text-weak);font-size:12px;opacity:0;transition:opacity var(--transition-fast);cursor:grab}.track-item:hover .drag-handle[data-v-5725524d]{opacity:.5}.drag-handle[data-v-5725524d]:active{cursor:grabbing}.timeline-stats[data-v-5725524d]{display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-4);font-size:var(--fs-caption);color:var(--text-weak);border-top:1px solid var(--border-default);flex-shrink:0}.settings-view[data-v-e86fbdda]{min-height:100vh;background:var(--bg-deep)}.settings-header[data-v-e86fbdda]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--border-default)}.back-btn[data-v-e86fbdda]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer}.back-btn[data-v-e86fbdda]:hover{color:var(--text-primary);background:var(--bg-hover)}.settings-header h1[data-v-e86fbdda]{font-size:var(--fs-h3)}.settings-layout[data-v-e86fbdda]{display:flex;min-height:calc(100vh - 57px)}.settings-nav[data-v-e86fbdda]{width:220px;padding:var(--space-3);border-right:1px solid var(--border-default);flex-shrink:0}.nav-item[data-v-e86fbdda]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-body);text-align:left;transition:all var(--transition-fast)}.nav-item[data-v-e86fbdda]:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active[data-v-e86fbdda]{background:#dc35451a;color:var(--brand-primary)}.settings-content[data-v-e86fbdda]{flex:1;padding:var(--space-6);max-width:640px}.config-section[data-v-e86fbdda]{margin-bottom:var(--space-6)}.config-section h3[data-v-e86fbdda]{margin-bottom:var(--space-1)}.section-desc[data-v-e86fbdda]{font-size:var(--fs-caption);color:var(--text-weak)}.model-card[data-v-e86fbdda]{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.model-header[data-v-e86fbdda]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.model-info[data-v-e86fbdda]{display:flex;align-items:center;gap:var(--space-2)}.model-name[data-v-e86fbdda]{font-size:var(--fs-h4);font-weight:500}.model-type[data-v-e86fbdda]{font-size:var(--fs-overline);color:var(--text-weak);background:var(--bg-elevated);padding:1px 6px;border-radius:var(--radius-xs)}.model-status[data-v-e86fbdda]{display:flex;align-items:center;gap:var(--space-1)}.status-icon.configured[data-v-e86fbdda]{color:var(--color-success)}.status-icon.not-configured[data-v-e86fbdda]{color:var(--text-weak)}.status-text[data-v-e86fbdda]{font-size:var(--fs-caption);color:var(--text-secondary)}.model-keys[data-v-e86fbdda]{display:flex;flex-direction:column;gap:var(--space-2)}.key-item[data-v-e86fbdda]{display:flex;align-items:center;gap:var(--space-3)}.key-label[data-v-e86fbdda]{font-size:var(--fs-caption);color:var(--text-secondary);width:72px;flex-shrink:0}.key-input-group[data-v-e86fbdda]{display:flex;flex:1;gap:var(--space-2)}.key-input[data-v-e86fbdda]{flex:1;padding:var(--space-1) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-caption);font-family:var(--font-mono);outline:none;transition:border-color var(--transition-fast)}.key-input[data-v-e86fbdda]:focus{border-color:var(--brand-primary)}.key-edit-btn[data-v-e86fbdda]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-default);background:transparent;color:var(--text-weak);border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.key-edit-btn[data-v-e86fbdda]:hover{color:var(--text-secondary);border-color:var(--border-hover)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-primary);background-color:var(--bg-deep);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-weak)}h1,.h1{font-family:var(--font-heading);font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-h1);color:var(--text-primary)}h2,.h2{font-family:var(--font-heading);font-size:var(--fs-h2);font-weight:600;line-height:var(--lh-h2)}h3,.h3{font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-h3)}h4,.h4{font-size:var(--fs-h4);font-weight:500;line-height:var(--lh-h4)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-weak{color:var(--text-weak)}.text-brand{color:var(--brand-primary)}.text-success{color:var(--color-success)}.text-progress{color:var(--color-progress)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.font-heading{font-family:var(--font-heading)}.font-mono{font-family:var(--font-mono)}.ant-btn-primary{font-weight:500}.ant-btn-primary:not(:disabled):hover{box-shadow:var(--shadow-glow)}.ant-modal .ant-modal-content{background:var(--bg-surface);border:1px solid var(--border-default)}.ant-drawer .ant-drawer-content{background:var(--bg-surface)}.ant-popover .ant-popover-inner{background:var(--bg-elevated);border:1px solid var(--border-default)}.ant-tooltip .ant-tooltip-inner{background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-caption)}.ant-input,.ant-select-selector,.ant-input-number{font-family:var(--font-body)!important}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}::selection{background:#dc35454d;color:var(--text-primary)}@font-face{font-family:MiSans;font-weight:100 900;font-style:normal;font-display:swap;src:local("MiSans"),local("MiSans Regular"),local("MiSans-Regular")}@font-face{font-family:MiSans;font-weight:100 900;font-style:normal;font-display:swap;src:local("MiSans TC"),local("MiSans-TC")}@font-face{font-family:尚佳文创体;font-weight:400;font-style:normal;font-display:swap;src:local("尚佳文创体"),local("尚佳文创")}:root{--sj-red: #DC3545;--sj-red-hover: #B02A37;--sj-red-light: #FF6B6B;--sj-red-dark: #8B0000;--sj-red-bg: #FFF0F0;--sj-gold: #FFC107;--sj-gold-hover: #E0A800;--sj-gray-900: #1A1A1F;--sj-gray-800: #242429;--sj-gray-700: #2A2A30;--sj-gray-600: #2E2E35;--sj-gray-500: #3A3A42;--sj-gray-400: #6B6B76;--sj-gray-300: #9191A0;--sj-gray-200: #C0C0C8;--sj-gray-100: #E8E8EC;--sj-success: #3DD68C;--sj-warning: #E8943A;--sj-error: #F05252;--sj-info: #6CB4EE;--sj-font-sans: "MiSans", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--sj-font-brand: "尚佳文创体", "MiSans", "Noto Serif SC", serif;--sj-font-mono: "JetBrains Mono", "MiSans", monospace;--sj-font-en: "MiSans", "Helvetica Neue", Arial, sans-serif;--sj-glow: rgba(220, 53, 69, .3);--sj-shadow-brand: 0 0 20px rgba(220, 53, 69, .25)}:root{--brand-primary: var(--sj-red);--brand-hover: var(--sj-red-hover);--brand-glow: var(--sj-glow);--border-focus: var(--sj-red);--font-heading: var(--sj-font-brand);--font-body: var(--sj-font-sans);--font-mono: var(--sj-font-mono);--shadow-glow: var(--sj-shadow-brand)}:root{--bg-deep: #0F0F11;--bg-surface: #1A1A1F;--bg-elevated: #242429;--bg-hover: #2A2A30;--border-default: #2E2E35;--border-hover: #3A3A42;--border-focus: #DC3545;--text-primary: #E8E8EC;--text-secondary: #9191A0;--text-weak: #6B6B76;--brand-primary: #DC3545;--brand-hover: #B02A37;--brand-glow: rgba(220, 53, 69, .3);--color-success: #3DD68C;--color-progress: #4DA6FF;--color-error: #F05252;--color-warning: #E8943A;--color-info: #6CB4EE;--font-heading: "尚佳文创体", "MiSans", "Noto Serif SC", serif;--font-body: "MiSans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "MiSans", monospace;--fs-h1: 28px;--fs-h2: 22px;--fs-h3: 18px;--fs-h4: 15px;--fs-body: 14px;--fs-caption: 12px;--fs-overline: 11px;--lh-h1: 36px;--lh-h2: 30px;--lh-h3: 26px;--lh-h4: 22px;--lh-body: 20px;--lh-caption: 16px;--lh-overline: 14px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 50%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(220, 53, 69, .3);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-drawer: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease-out;--transition-bounce: .2s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width: 64px;--sidebar-expanded-width: 240px;--topbar-height: 48px;--bottombar-height: 36px}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-normal: 0ms;--transition-slow: 0ms;--transition-bounce: 0ms}}
