diff --git a/.gitattributes b/.gitattributes
index 807d598..0bcb35a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,3 +1,7 @@
+# Strip [tool.uv.sources] from pyproject.toml so git status stays clean
+# Requires: ./scripts/install-hooks.sh (configures the filter in git config)
+pyproject.toml filter=strip-uv-sources
+
# Use bd merge for beads JSONL files
.beads/issues.jsonl merge=beads
diff --git a/frontend/src/components/EnvironmentSwitcher.vue b/frontend/src/components/EnvironmentSwitcher.vue
index 4da97bb..85199c3 100644
--- a/frontend/src/components/EnvironmentSwitcher.vue
+++ b/frontend/src/components/EnvironmentSwitcher.vue
@@ -7,8 +7,12 @@
⚠️ Not in ComfyGit workspace. Environment switching is disabled.
+
+ ⚠️ An orchestrator is managing this workspace from another ComfyUI instance.
+ Switch environments from that instance, or stop the orchestrator first.
+
-
+
@@ -58,33 +60,102 @@
+
+
+
+
+
+
+ !
+ Some workflow issues cannot be fixed by committing
+
+
+ Commit anyway (ignore issues)
+
+
+
+
+
+
+ {{ commitError }}
+
+
-
- Understood
-
+
+
+ Cancel
+
+
+ {{ isCommitting ? 'Committing...' : allowIssues ? 'Force Commit & Export' : 'Commit & Export' }}
+
+
+
+
+ Understood
+
+
diff --git a/frontend/src/components/ExportSection.vue b/frontend/src/components/ExportSection.vue
index 539abda..d2beb59 100644
--- a/frontend/src/components/ExportSection.vue
+++ b/frontend/src/components/ExportSection.vue
@@ -134,6 +134,7 @@
v-if="showBlockedModal && validationResult"
:issues="validationResult.blocking_issues"
@close="showBlockedModal = false"
+ @committed="handleBlockedCommitted"
/>
@@ -215,6 +216,35 @@ async function handleExportConfirmed() {
await executeExport()
}
+async function handleBlockedCommitted() {
+ showBlockedModal.value = false
+
+ // Re-validate after successful commit
+ isValidating.value = true
+ try {
+ const result = await validateExport()
+ validationResult.value = result
+
+ if (!result.can_export) {
+ // Still blocked — re-show modal with updated issues
+ showBlockedModal.value = true
+ } else if (result.warnings.models_without_sources.length > 0) {
+ // Warnings only — show warnings modal
+ showWarningsModal.value = true
+ } else {
+ // Clean — auto-export
+ await executeExport()
+ }
+ } catch (err) {
+ exportResult.value = {
+ status: 'error',
+ message: err instanceof Error ? err.message : 'Re-validation failed'
+ }
+ } finally {
+ isValidating.value = false
+ }
+}
+
async function handleRevalidate() {
try {
const result = await validateExport()
diff --git a/frontend/src/composables/useComfyGitService.ts b/frontend/src/composables/useComfyGitService.ts
index 213b16f..b2785b2 100644
--- a/frontend/src/composables/useComfyGitService.ts
+++ b/frontend/src/composables/useComfyGitService.ts
@@ -444,17 +444,47 @@ export function useComfyGitService() {
}
// Environment Management
- async function getEnvironments(): Promise {
- if (USE_MOCK) return mockApi.getEnvironments()
+ type EnvironmentListResponse = {
+ environments: EnvironmentInfo[]
+ current: string | null
+ is_managed: boolean
+ orchestrator_active?: boolean
+ orchestrator_environment?: string | null
+ is_supervised?: boolean
+ }
+
+ async function listEnvironments(): Promise {
+ if (USE_MOCK) {
+ const { state: mockState } = useMockControls()
+ if (!mockState.isManaged) {
+ return {
+ environments: [],
+ current: null,
+ is_managed: false,
+ orchestrator_active: false,
+ orchestrator_environment: null,
+ is_supervised: false
+ }
+ }
+ const environments = await mockApi.getEnvironments()
+ const current = environments.find((env) => env.is_current)?.name ?? null
+ return {
+ environments,
+ current,
+ is_managed: true,
+ orchestrator_active: true,
+ orchestrator_environment: current,
+ is_supervised: true
+ }
+ }
try {
- const response = await fetchApi<{ environments: EnvironmentInfo[], current: string | null, is_managed: boolean }>('/v2/comfygit/environments')
- return response.environments
+ return await fetchApi('/v2/comfygit/environments')
} catch {
// Fallback: try to build single environment from status
try {
const status = await getStatus()
- return [{
+ const environment: EnvironmentInfo = {
name: status.environment,
is_current: true,
path: '~/comfygit/environments/' + status.environment,
@@ -463,13 +493,33 @@ export function useComfyGitService() {
node_count: 0,
model_count: 0,
current_branch: status.branch
- }]
+ }
+ return {
+ environments: [environment],
+ current: status.environment,
+ is_managed: true,
+ orchestrator_active: false,
+ orchestrator_environment: null,
+ is_supervised: false
+ }
} catch {
- return []
+ return {
+ environments: [],
+ current: null,
+ is_managed: false,
+ orchestrator_active: false,
+ orchestrator_environment: null,
+ is_supervised: false
+ }
}
}
}
+ async function getEnvironments(): Promise {
+ const response = await listEnvironments()
+ return response.environments
+ }
+
async function getEnvironmentDetails(name: string): Promise {
if (USE_MOCK) return null
try {
@@ -1701,6 +1751,7 @@ export function useComfyGitService() {
switchBranch,
deleteBranch,
// Environment Management
+ listEnvironments,
getEnvironments,
getEnvironmentDetails,
switchEnvironment,
diff --git a/frontend/src/main.ts b/frontend/src/main.ts
index 387c8cb..88aed36 100644
--- a/frontend/src/main.ts
+++ b/frontend/src/main.ts
@@ -58,7 +58,7 @@ const globalStatus = ref(null)
// Setup state for commit button enablement
type SetupState = 'no_workspace' | 'empty_workspace' | 'unmanaged' | 'managed'
-let currentSetupState: SetupState = 'managed'
+let currentSetupState: SetupState = 'no_workspace'
let hasComfyUIManager = false
// Button group reference
@@ -538,14 +538,17 @@ app.registerExtension({
// Hook into workflow loading to intercept missing resources
async beforeConfigureGraph(graphData: any, _missingNodeTypes: any[]) {
- // Disable ComfyUI's built-in popups - we show our own
- try {
- await Promise.all([
- app.ui.settings.setSettingValueAsync('Comfy.Workflow.ShowMissingModelsWarning', false),
- app.ui.settings.setSettingValueAsync('Comfy.Workflow.ShowMissingNodesWarning', false)
- ])
- } catch (e) {
- console.warn('[ComfyGit] Failed to disable built-in warnings:', e)
+ // Only suppress ComfyUI's built-in popups in managed environments
+ // Non-managed environments should use ComfyUI's native warnings
+ if (currentSetupState === 'managed') {
+ try {
+ await Promise.all([
+ app.ui.settings.setSettingValueAsync('Comfy.Workflow.ShowMissingModelsWarning', false),
+ app.ui.settings.setSettingValueAsync('Comfy.Workflow.ShowMissingNodesWarning', false)
+ ])
+ } catch (e) {
+ console.warn('[ComfyGit] Failed to disable built-in warnings:', e)
+ }
}
// Store workflow data for afterConfigureGraph (separate hook calls)
@@ -553,6 +556,9 @@ app.registerExtension({
},
async afterConfigureGraph(_missingNodeTypes: any[]) {
+ // Non-managed environments: let ComfyUI handle missing resources natively
+ if (currentSetupState !== 'managed') return
+
const workflow = (window as any).__comfygit_pending_workflow
if (!workflow) return
delete (window as any).__comfygit_pending_workflow
diff --git a/js/comfygit-panel.css b/js/comfygit-panel.css
index 5939ebd..754fda0 100644
--- a/js/comfygit-panel.css
+++ b/js/comfygit-panel.css
@@ -1 +1 @@
-.panel-layout[data-v-21565df9]{display:flex;flex-direction:column;height:100%}.panel-layout-content[data-v-21565df9]{flex:1;overflow-y:auto;min-height:0}.panel-layout-content[data-v-21565df9]::-webkit-scrollbar{width:8px}.panel-layout-content[data-v-21565df9]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.panel-layout-content[data-v-21565df9]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.panel-layout-content[data-v-21565df9]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.panel-title[data-v-c3875efc]{margin:0;font-weight:var(--cg-font-weight-normal);text-shadow:var(--cg-text-shadow-title)}.panel-title.view[data-v-c3875efc]{color:var(--cg-color-accent);font-size:var(--cg-font-size-lg);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.panel-title.dialog[data-v-c3875efc]{color:var(--cg-color-accent);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.panel-title-prefix[data-v-c3875efc]{opacity:.7}.panel-title-prefix-theme[data-v-c3875efc]:before{content:var(--cg-decoration-title-prefix);opacity:.7}.info-button[data-v-6fc7f16d]{background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:var(--cg-space-0-5);display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast)}.info-button[data-v-6fc7f16d]:hover{color:var(--cg-color-accent);transform:scale(1.1)}.panel-header[data-v-55a62cd6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--cg-space-4)}.panel-header.stacked[data-v-55a62cd6]{flex-direction:column;align-items:flex-start;gap:var(--cg-space-3)}.header-left[data-v-55a62cd6]{display:flex;align-items:center;gap:var(--cg-space-2)}.header-actions[data-v-55a62cd6]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.section-title[data-v-559361eb]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin:0;font-weight:var(--cg-font-weight-normal);text-shadow:var(--cg-text-shadow-accent)}.section-title[data-v-559361eb]:before{content:var(--cg-decoration-label-prefix)}.section-title[data-v-559361eb]:after{content:var(--cg-decoration-label-suffix)}.section-title.clickable[data-v-559361eb]{cursor:pointer;-webkit-user-select:none;user-select:none}.section-title.clickable[data-v-559361eb]:hover{color:var(--cg-color-accent)}.section-title-count[data-v-559361eb]{margin-left:var(--cg-space-1)}.section-title-icon[data-v-559361eb]{margin-left:var(--cg-space-2);font-size:var(--cg-font-size-xs)}.status-grid[data-v-73b7ba3f]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-md);overflow:hidden}.status-grid__columns[data-v-73b7ba3f]{display:grid;grid-template-columns:1fr 1fr;gap:0}.status-grid__column[data-v-73b7ba3f]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-3) var(--cg-space-4)}.status-grid__column--right[data-v-73b7ba3f]{border-left:1px solid var(--cg-color-border-subtle)}.status-grid__title[data-v-73b7ba3f]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;color:var(--cg-color-text-muted);margin:0 0 var(--cg-space-2) 0;letter-spacing:var(--cg-letter-spacing-wide)}.status-grid__footer[data-v-73b7ba3f]{border-top:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-3) var(--cg-space-4)}.status-item[data-v-6f929183]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);line-height:1.4}.status-item.is-separator[data-v-6f929183]{margin-top:var(--cg-space-1);padding-top:var(--cg-space-1);border-top:1px solid var(--cg-color-border-subtle)}.status-item__icon[data-v-6f929183]{font-size:var(--cg-font-size-xs);opacity:.7;flex-shrink:0}.status-item__count[data-v-6f929183]{font-weight:var(--cg-font-weight-semibold);min-width:16px;flex-shrink:0}.status-item__label[data-v-6f929183]{color:var(--cg-color-text-secondary);flex:1}.status-item--new .status-item__count[data-v-6f929183]{color:var(--cg-color-success)}.status-item--modified .status-item__count[data-v-6f929183]{color:var(--cg-color-warning)}.status-item--deleted .status-item__count[data-v-6f929183]{color:var(--cg-color-error)}.status-item--synced .status-item__count[data-v-6f929183],.status-item--synced .status-item__icon[data-v-6f929183]{color:var(--cg-color-text-muted)}.status-item--ok[data-v-6f929183]{color:var(--cg-color-success)}.status-item--ok .status-item__icon[data-v-6f929183]{opacity:1}.status-item--ok .status-item__label[data-v-6f929183]{color:var(--cg-color-success)}.issue-card[data-v-df6aa348]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3) var(--cg-space-4);border-radius:var(--cg-radius-md);border:1px solid;margin-bottom:var(--cg-space-3)}.issue-card--info[data-v-df6aa348]{background:var(--cg-color-info-muted);border-color:var(--cg-color-accent);color:var(--cg-color-text-primary)}.issue-card--warning[data-v-df6aa348]{background:var(--cg-color-warning-muted);border-color:var(--cg-color-warning);color:var(--cg-color-text-primary)}.issue-card--error[data-v-df6aa348]{background:var(--cg-color-error-muted);border-color:var(--cg-color-error);color:var(--cg-color-text-primary)}.issue-card__header[data-v-df6aa348]{display:flex;align-items:center;gap:var(--cg-space-2)}.issue-card__icon[data-v-df6aa348]{font-size:var(--cg-font-size-lg);flex-shrink:0}.issue-card--warning .issue-card__icon[data-v-df6aa348]{color:var(--cg-color-warning)}.issue-card--error .issue-card__icon[data-v-df6aa348]{color:var(--cg-color-error)}.issue-card--info .issue-card__icon[data-v-df6aa348]{color:var(--cg-color-accent)}.issue-card__title[data-v-df6aa348]{font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin:0}.issue-card__content[data-v-df6aa348]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.issue-card__description[data-v-df6aa348]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin:0;line-height:1.5}.issue-card__items[data-v-df6aa348]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding-left:var(--cg-space-2)}.issue-card__item[data-v-df6aa348]{display:flex;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);line-height:1.5}.issue-card__bullet[data-v-df6aa348]{color:var(--cg-color-text-muted);flex-shrink:0}.issue-card__actions[data-v-df6aa348]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.action-btn[data-v-772abe47]{font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);cursor:pointer;transition:all var(--cg-transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--cg-space-1);white-space:nowrap;border:1px solid}.action-btn[data-v-772abe47]:disabled{opacity:.5;cursor:not-allowed}.action-btn.loading[data-v-772abe47]{pointer-events:none}.spinner[data-v-772abe47]{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-772abe47 .6s linear infinite}@keyframes spin-772abe47{to{transform:rotate(360deg)}}.action-btn.xs[data-v-772abe47]{padding:var(--cg-space-1) var(--cg-space-2);font-size:var(--cg-font-size-xs)}.action-btn.sm[data-v-772abe47]{padding:var(--cg-space-1) var(--cg-space-3);font-size:var(--cg-font-size-xs)}.action-btn.md[data-v-772abe47]{padding:var(--cg-space-2) var(--cg-space-4);font-size:var(--cg-font-size-sm)}.action-btn.primary[data-v-772abe47]{background:transparent;color:var(--cg-color-accent);border-color:var(--cg-color-accent)}.action-btn.primary[data-v-772abe47]:hover:not(:disabled){background:var(--cg-color-bg-hover);box-shadow:0 0 8px var(--cg-shadow-accent)}.action-btn.secondary[data-v-772abe47]{background:transparent;color:var(--cg-color-text-secondary);border-color:var(--cg-color-border)}.action-btn.secondary[data-v-772abe47]:hover:not(:disabled){color:var(--cg-color-text-primary);border-color:var(--cg-color-text-primary)}.action-btn.destructive[data-v-772abe47]{background:transparent;color:var(--cg-color-error);border-color:var(--cg-color-error)}.action-btn.destructive[data-v-772abe47]:hover:not(:disabled){background:var(--cg-color-bg-hover);box-shadow:0 0 8px var(--cg-shadow-error)}.action-btn.ghost[data-v-772abe47]{background:transparent;color:var(--cg-color-text-muted);border-color:transparent}.action-btn.ghost[data-v-772abe47]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle);color:var(--cg-color-accent)}.action-btn.link[data-v-772abe47]{background:transparent;color:var(--cg-color-info);border:none;text-decoration:underline;padding:0}.action-btn.link[data-v-772abe47]:hover:not(:disabled){color:var(--cg-color-accent)}.empty-state[data-v-4466284f]{text-align:center;padding:var(--cg-space-8) var(--cg-space-6);color:var(--cg-color-text-muted)}.empty-icon[data-v-4466284f]{font-size:var(--cg-font-size-2xl);margin-bottom:var(--cg-space-3);opacity:.5}.empty-message[data-v-4466284f]{font-size:var(--cg-font-size-sm);margin:0 0 var(--cg-space-4) 0}.detail-label[data-v-75e9eeb8]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-normal)}.detail-value[data-v-2f186e4c]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);flex:1;word-break:break-word}.detail-value.mono[data-v-2f186e4c]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.detail-value.hash[data-v-2f186e4c]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);word-break:break-all}.detail-value.warning[data-v-2f186e4c]{color:var(--cg-color-warning)}.detail-value.error[data-v-2f186e4c]{color:var(--cg-color-error)}.detail-value.truncate[data-v-2f186e4c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-row[data-v-ef15664a]{display:flex;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);align-items:baseline}.modal-overlay[data-v-e2b37122]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-e2b37122]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:700px;width:90%;max-height:85vh;display:flex;flex-direction:column}.modal-header[data-v-e2b37122]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle);flex-shrink:0}.modal-title[data-v-e2b37122]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-e2b37122]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color var(--cg-transition-fast)}.modal-close[data-v-e2b37122]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-e2b37122]{padding:var(--cg-space-4);overflow-y:auto;flex:1;min-height:0}.modal-actions[data-v-e2b37122]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end;flex-shrink:0}.status-section[data-v-e2b37122]{margin-bottom:var(--cg-space-5)}.status-section[data-v-e2b37122]:last-child{margin-bottom:0}.section-header-row[data-v-e2b37122]{display:flex;justify-content:space-between;align-items:center}.link-btn[data-v-e2b37122]{background:transparent;border:none;color:var(--cg-color-accent);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);cursor:pointer;padding:4px 8px;text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);transition:opacity var(--cg-transition-fast)}.link-btn[data-v-e2b37122]:hover{opacity:.8;text-decoration:underline}.workflow-group[data-v-e2b37122]{margin-bottom:var(--cg-space-3)}.workflow-group-header[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.workflow-group-header.clickable[data-v-e2b37122]{cursor:pointer;-webkit-user-select:none;user-select:none}.workflow-group-header.clickable[data-v-e2b37122]:hover{color:var(--cg-color-accent)}.workflow-status-icon[data-v-e2b37122]{font-size:var(--cg-font-size-base);flex-shrink:0}.workflow-status-icon.new[data-v-e2b37122]{color:var(--cg-color-info)}.workflow-status-icon.modified[data-v-e2b37122]{color:var(--cg-color-warning)}.workflow-status-icon.deleted[data-v-e2b37122]{color:var(--cg-color-error)}.workflow-status-icon.synced[data-v-e2b37122]{color:var(--cg-color-success)}.workflow-status-icon.broken[data-v-e2b37122]{color:var(--cg-color-error)}.workflow-group-title[data-v-e2b37122]{font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);flex:1}.expand-icon[data-v-e2b37122]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.workflow-list[data-v-e2b37122]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding-left:var(--cg-space-5)}.workflow-item[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2)}.workflow-name[data-v-e2b37122]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.workflow-issue[data-v-e2b37122]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin-left:var(--cg-space-2);font-style:italic}.change-group[data-v-e2b37122]{margin-bottom:var(--cg-space-3)}.change-group-header[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.change-icon[data-v-e2b37122]{font-size:var(--cg-font-size-lg);font-weight:var(--cg-font-weight-bold);font-family:var(--cg-font-mono);flex-shrink:0}.change-icon.add[data-v-e2b37122]{color:var(--cg-color-info)}.change-icon.remove[data-v-e2b37122]{color:var(--cg-color-error)}.change-icon.modified[data-v-e2b37122]{color:var(--cg-color-warning)}.change-group-title[data-v-e2b37122]{font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.change-list[data-v-e2b37122]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding-left:var(--cg-space-5)}.change-item[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2)}.node-name[data-v-e2b37122]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.dev-badge[data-v-e2b37122]{display:inline-block;padding:2px 6px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;font-weight:var(--cg-font-weight-semibold)}.drift-item[data-v-e2b37122]{margin-bottom:var(--cg-space-3)}.drift-list[data-v-e2b37122]{margin-top:var(--cg-space-2);padding-left:var(--cg-space-4);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.drift-list-item[data-v-e2b37122]{margin-bottom:var(--cg-space-1)}.drift-list-more[data-v-e2b37122]{margin-top:var(--cg-space-1);color:var(--cg-color-text-muted);font-style:italic}.warning-box[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-warning);margin-bottom:var(--cg-space-3)}.warning-icon[data-v-e2b37122]{font-size:var(--cg-font-size-lg);flex-shrink:0}.info-box[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin-bottom:var(--cg-space-3)}.info-icon[data-v-e2b37122]{font-size:var(--cg-font-size-lg);flex-shrink:0;color:var(--cg-color-info)}.help-text[data-v-e2b37122]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-muted);line-height:1.5}.empty-state-inline[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm)}.empty-icon[data-v-e2b37122]{font-size:var(--cg-font-size-2xl);flex-shrink:0}.empty-message[data-v-e2b37122]{flex:1}.empty-message strong[data-v-e2b37122]{display:block;color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);margin-bottom:var(--cg-space-1)}.empty-message p[data-v-e2b37122]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);line-height:1.5}.version-mismatch[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-1)}.version-actual[data-v-e2b37122]{color:var(--cg-color-error);text-decoration:line-through}.version-expected[data-v-e2b37122]{color:var(--cg-color-success)}.repair-action[data-v-e2b37122]{margin-top:var(--cg-space-4);padding-top:var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle)}.repair-action .help-text[data-v-e2b37122]{margin-top:var(--cg-space-2)}.health-section-wrapper[data-v-55fcd77f]{position:relative}.health-section-header[data-v-55fcd77f]{position:relative;display:flex;justify-content:space-between;align-items:flex-start}.show-all-button[data-v-55fcd77f]{position:absolute;top:0;right:0}.footer-title[data-v-55fcd77f]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;color:var(--cg-color-text-muted);margin:0 0 var(--cg-space-2) 0;letter-spacing:var(--cg-letter-spacing-wide)}.suggestions-content[data-v-55fcd77f]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-3)}.suggestions-text[data-v-55fcd77f]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.fade-enter-active[data-v-55fcd77f],.fade-leave-active[data-v-55fcd77f]{transition:opacity var(--cg-transition-fast)}.fade-enter-from[data-v-55fcd77f],.fade-leave-to[data-v-55fcd77f]{opacity:0}.no-issues-text[data-v-55fcd77f]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.text-input[data-v-0380d08f]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);transition:border-color var(--cg-transition-fast),box-shadow var(--cg-transition-fast)}.text-input.monospace[data-v-0380d08f]{font-family:var(--cg-font-mono)}.text-input[data-v-0380d08f]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 8px var(--cg-shadow-accent)}.text-input[data-v-0380d08f]:disabled{opacity:.5;cursor:not-allowed}.text-input.error[data-v-0380d08f]{border-color:var(--cg-color-error)}.text-input.error[data-v-0380d08f]:focus{box-shadow:0 0 8px var(--cg-shadow-error)}.text-input[data-v-0380d08f]::placeholder{color:var(--cg-color-text-muted)}.branch-create-form[data-v-7c500394]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding:var(--cg-space-3);margin-bottom:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.form-actions[data-v-7c500394]{display:flex;gap:var(--cg-space-2)}.branch-list-item[data-v-c6581a24]{display:flex;align-items:center;padding:var(--cg-space-2) var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle);font-size:var(--cg-font-size-sm);transition:background var(--cg-transition-fast)}.branch-list-item[data-v-c6581a24]:last-child{border-bottom:none}.branch-list-item[data-v-c6581a24]:hover{background:var(--cg-color-bg-hover)}.branch-list-item.clickable[data-v-c6581a24]{cursor:pointer}.branch-list-item.current[data-v-c6581a24]{background:var(--cg-color-accent-muted);border-left:3px solid var(--cg-color-accent);padding-left:calc(var(--cg-space-3) - 3px)}.branch-list-item__indicator[data-v-c6581a24]{font-size:10px;margin-right:var(--cg-space-2);color:var(--cg-color-text-muted);flex-shrink:0}.branch-list-item.current .branch-list-item__indicator[data-v-c6581a24]{color:var(--cg-color-accent)}.branch-list-item__name[data-v-c6581a24]{flex:1;color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-list-item__actions[data-v-c6581a24]{display:flex;align-items:center;gap:var(--cg-space-2);flex-shrink:0}.branch-list-item__current-label[data-v-c6581a24]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);padding:var(--cg-space-1) var(--cg-space-2);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-family:var(--cg-font-mono)}.base-modal-overlay[data-v-8dab1081]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10003;animation:fadeIn-8dab1081 .15s ease}@keyframes fadeIn-8dab1081{0%{opacity:0}to{opacity:1}}.base-modal-content[data-v-8dab1081]{background:var(--cg-color-bg-primary);border:2px solid var(--cg-color-border);box-shadow:var(--cg-shadow-xl);max-height:80vh;width:90vw;display:flex;flex-direction:column;animation:slideIn-8dab1081 .2s ease}@keyframes slideIn-8dab1081{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.base-modal-content.sm[data-v-8dab1081]{max-width:400px}.base-modal-content.md[data-v-8dab1081]{max-width:600px}.base-modal-content.lg[data-v-8dab1081]{max-width:800px}.base-modal-content.xl[data-v-8dab1081]{max-width:1000px}.base-modal-content.fixed-height[data-v-8dab1081]{height:70vh;max-height:70vh}.base-modal-header[data-v-8dab1081]{padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-2)}.base-modal-title[data-v-8dab1081]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;flex:1}.base-modal-close[data-v-8dab1081]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.base-modal-close[data-v-8dab1081]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.base-modal-body[data-v-8dab1081]{flex:1;overflow-y:auto;padding:var(--cg-space-4)}.base-modal-body[data-v-8dab1081]::-webkit-scrollbar{width:8px}.base-modal-body[data-v-8dab1081]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.base-modal-body[data-v-8dab1081]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.base-modal-body[data-v-8dab1081]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.base-modal-loading[data-v-8dab1081],.base-modal-error[data-v-8dab1081]{text-align:center;padding:var(--cg-space-4);color:var(--cg-color-text-muted)}.base-modal-error[data-v-8dab1081]{color:var(--cg-color-error);border:1px solid var(--cg-color-error);background:var(--cg-color-error-muted)}.base-modal-footer[data-v-8dab1081]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:flex-end;gap:8px}.base-btn[data-v-f3452606]{border-radius:var(--cg-radius-md);font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-weight:var(--cg-font-weight-medium);cursor:pointer;transition:all var(--cg-transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative}.base-btn[data-v-f3452606]:disabled{opacity:.5;cursor:not-allowed}.base-btn.loading[data-v-f3452606]{pointer-events:none}.spinner[data-v-f3452606]{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-f3452606 .6s linear infinite}@keyframes spin-f3452606{to{transform:rotate(360deg)}}.base-btn.sm[data-v-f3452606]{padding:6px 12px;font-size:var(--cg-font-size-xs)}.base-btn.md[data-v-f3452606]{padding:8px 16px;font-size:var(--cg-font-size-sm)}.base-btn.lg[data-v-f3452606]{padding:10px 20px;font-size:var(--cg-font-size-base)}.base-btn.full-width[data-v-f3452606]{width:100%}.base-btn.primary[data-v-f3452606]{background:var(--cg-color-accent);color:var(--cg-color-text-inverse);border:none}.base-btn.primary[data-v-f3452606]:hover:not(:disabled){background:var(--cg-color-accent-hover);transform:translateY(-1px);box-shadow:0 2px 8px var(--cg-color-accent-muted)}.base-btn.secondary[data-v-f3452606]{background:transparent;color:var(--cg-color-text-secondary);border:1px solid var(--cg-color-border)}.base-btn.secondary[data-v-f3452606]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-strong);color:var(--cg-color-text-primary)}.base-btn.danger[data-v-f3452606]{background:var(--cg-color-error);color:var(--cg-color-text-inverse);border:none}.base-btn.danger[data-v-f3452606]:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.base-btn.ghost[data-v-f3452606]{background:transparent;color:var(--cg-color-text-muted);border:1px solid transparent}.base-btn.ghost[data-v-f3452606]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle);color:var(--cg-color-accent)}.base-btn.link[data-v-f3452606]{background:transparent;color:var(--cg-color-info);border:none;text-decoration:underline;padding:0}.base-btn.link[data-v-f3452606]:hover:not(:disabled){color:var(--cg-color-accent)}.commit-list[data-v-8c5ee761]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);overflow-y:auto}.commit-list[data-v-8c5ee761]::-webkit-scrollbar{width:8px}.commit-list[data-v-8c5ee761]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.commit-list[data-v-8c5ee761]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.commit-list[data-v-8c5ee761]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.commit-hash[data-v-7c333cc6]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);font-weight:var(--cg-font-weight-medium, 500);flex-shrink:0}.commit-item[data-v-dd7c621b]{display:flex;align-items:baseline;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle);position:relative;transition:background var(--cg-transition-fast),border-color var(--cg-transition-fast)}.commit-item[data-v-dd7c621b]:last-child{border-bottom:none}.commit-item.clickable[data-v-dd7c621b]{cursor:pointer}.commit-item.clickable[data-v-dd7c621b]:hover{background:var(--cg-color-bg-hover)}.commit-item:hover .commit-actions[data-v-dd7c621b]{opacity:1}.commit-message[data-v-dd7c621b]{flex:1;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.commit-date[data-v-dd7c621b]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);white-space:nowrap;flex-shrink:0;margin-right:32px}.commit-actions[data-v-dd7c621b]{position:absolute;right:var(--cg-space-2);top:50%;transform:translateY(-50%);opacity:0;transition:opacity .15s;display:flex;gap:var(--cg-space-1)}.header-info[data-v-2e5437cc]{flex:1;display:flex;flex-direction:column;gap:6px}.header-title[data-v-2e5437cc]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;font-weight:var(--cg-font-weight-normal)}.branch-name[data-v-2e5437cc]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-base);color:var(--cg-color-info);font-weight:var(--cg-font-weight-semibold)}.current-badge[data-v-2e5437cc]{display:inline-block;padding:2px 8px;background:transparent;border:1px solid var(--cg-color-accent);color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);width:fit-content}.branch-meta[data-v-2e5437cc]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-muted);margin-bottom:var(--cg-space-3);display:flex;gap:var(--cg-space-2)}.meta-note[data-v-2e5437cc]{color:var(--cg-color-text-muted);font-style:italic}.loading[data-v-2e5437cc],.empty-state[data-v-2e5437cc]{text-align:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.branch-commits[data-v-2e5437cc]{max-height:300px;overflow-y:auto}.footer-spacer[data-v-2e5437cc]{flex:1}.branch-list[data-v-eefdcb00]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.base-title[data-v-5a01561d]{font-weight:var(--cg-font-weight-normal)}.base-title.view[data-v-5a01561d]{color:var(--cg-color-accent);font-size:var(--cg-font-size-lg);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-weight:var(--cg-font-weight-semibold);margin:0 0 var(--cg-space-4) 0}.base-title.section[data-v-5a01561d]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin:0 0 var(--cg-space-2) 0}.base-title.group[data-v-5a01561d]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-weight:var(--cg-font-weight-medium);margin:0 0 var(--cg-space-2) 0}.base-title.dialog[data-v-5a01561d]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0}.base-title-count[data-v-5a01561d]{margin-left:4px}.base-select-wrapper[data-v-4996bfe0]{display:inline-flex;flex-direction:column;gap:4px}.base-select-wrapper.full-width[data-v-4996bfe0]{width:100%}.base-select[data-v-4996bfe0]{padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);transition:all var(--cg-transition-fast);cursor:pointer;width:100%;overscroll-behavior:contain;scrollbar-gutter:stable}.base-select[data-v-4996bfe0]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.base-select[data-v-4996bfe0]:disabled{opacity:.5;cursor:not-allowed}.base-select.error[data-v-4996bfe0]{border-color:var(--cg-color-error)}.base-select-error[data-v-4996bfe0]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error)}.base-select[data-v-4996bfe0]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4L6 8L10 4' stroke='%2300d9ff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.popover-overlay[data-v-42815ace]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10004}.popover[data-v-42815ace]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);box-shadow:var(--cg-shadow-lg);width:90%;animation:popoverFadeIn-42815ace var(--cg-transition-normal)}@keyframes popoverFadeIn-42815ace{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popover-header[data-v-42815ace]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-3) var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.popover-title[data-v-42815ace]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);margin:0}.popover-close[data-v-42815ace]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-lg);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast)}.popover-close[data-v-42815ace]:hover{color:var(--cg-color-text-primary)}.popover-content[data-v-42815ace]{padding:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);line-height:var(--cg-line-height-normal)}.popover-content[data-v-42815ace] p{margin:0 0 var(--cg-space-3) 0}.popover-content[data-v-42815ace] p:last-child{margin-bottom:0}.popover-content[data-v-42815ace] strong{color:var(--cg-color-accent);font-weight:var(--cg-font-weight-semibold)}.popover-actions[data-v-42815ace]{padding:var(--cg-space-3) var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.empty-message[data-v-668728e6]{text-align:center;padding:var(--cg-space-4);color:var(--cg-color-text-muted)}.detail-section[data-v-668728e6]{margin-bottom:var(--cg-space-5)}.model-card[data-v-668728e6]{border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-3);margin-bottom:var(--cg-space-3)}.model-header[data-v-668728e6]{display:flex;align-items:center;gap:8px;margin-bottom:var(--cg-space-2)}.model-icon[data-v-668728e6]{font-size:var(--cg-font-size-lg)}.model-name[data-v-668728e6]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.model-details[data-v-668728e6]{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--cg-space-2)}.model-row[data-v-668728e6]{display:flex;align-items:center;gap:8px;font-size:var(--cg-font-size-sm)}.model-row .label[data-v-668728e6]{color:var(--cg-color-text-muted);min-width:80px;display:inline-flex;align-items:center;gap:4px}.model-row .value[data-v-668728e6]{color:var(--cg-color-text-secondary)}.model-row .value.success[data-v-668728e6]{color:var(--cg-color-success)}.model-row .value.error[data-v-668728e6]{color:var(--cg-color-error)}.model-row .value.warning[data-v-668728e6]{color:var(--cg-color-warning, #f59e0b)}.model-row .value.info[data-v-668728e6]{color:var(--cg-color-info, #3b82f6)}.model-row code[data-v-668728e6]{background:var(--cg-color-bg-secondary);padding:0 var(--cg-space-1);border-radius:var(--cg-radius-sm, 2px);font-family:var(--cg-font-mono, monospace);font-size:var(--cg-font-size-xs, 11px)}.model-row-nodes[data-v-668728e6]{align-items:flex-start}.node-list[data-v-668728e6]{display:flex;flex-direction:column;gap:4px;flex:1}.node-reference[data-v-668728e6]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);padding:2px 0}.expand-toggle[data-v-668728e6]{background:none;border:none;color:var(--cg-color-accent);cursor:pointer;font-size:var(--cg-font-size-sm);padding:4px 0;text-align:left;margin-top:2px}.expand-toggle[data-v-668728e6]:hover{text-decoration:underline}.model-actions[data-v-668728e6]{margin-top:var(--cg-space-2)}.importance-info-list[data-v-668728e6]{margin:0;padding-left:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);list-style-type:"• "}.importance-info-list li[data-v-668728e6]{margin-bottom:var(--cg-space-2)}.importance-info-list strong[data-v-668728e6]{color:var(--cg-color-accent)}.node-item[data-v-668728e6]{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary);margin-bottom:4px;font-size:var(--cg-font-size-sm)}.node-status[data-v-668728e6]{font-weight:700;font-size:var(--cg-font-size-base)}.node-status.installed[data-v-668728e6]{color:var(--cg-color-success)}.node-status.missing[data-v-668728e6]{color:var(--cg-color-error)}.node-name[data-v-668728e6]{color:var(--cg-color-text-primary);flex:1}.node-version[data-v-668728e6]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.resolution-stepper[data-v-2a7b3af8]{display:flex;flex-direction:column;gap:0}.stepper-header[data-v-2a7b3af8]{display:flex;align-items:center;justify-content:space-between;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border-bottom:1px solid var(--cg-color-border)}.step[data-v-2a7b3af8]{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;position:relative;cursor:pointer;transition:opacity .2s}.step.disabled[data-v-2a7b3af8]{cursor:not-allowed;pointer-events:none}.step.disabled .step-indicator[data-v-2a7b3af8],.step.disabled .step-label[data-v-2a7b3af8]{opacity:.4}.step-indicator[data-v-2a7b3af8]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--cg-color-bg-tertiary);border:2px solid var(--cg-color-border);color:var(--cg-color-text-muted);font-weight:var(--cg-font-weight-semibold);font-size:var(--cg-font-size-xs);transition:all .2s;position:relative;z-index:2}.step-indicator.state-pending[data-v-2a7b3af8]{background:var(--cg-color-bg-tertiary);border-color:var(--cg-color-border);color:var(--cg-color-text-muted)}.step-indicator.state-partial[data-v-2a7b3af8]{background:var(--cg-color-warning-muted);border-color:var(--cg-color-warning);color:var(--cg-color-warning)}.step-indicator.state-complete[data-v-2a7b3af8]{background:var(--cg-color-success);border-color:var(--cg-color-success);color:#fff}.step.active .step-indicator[data-v-2a7b3af8]{box-shadow:0 0 0 2px var(--cg-color-accent-muted);border-color:var(--cg-color-accent)}.step-label[data-v-2a7b3af8]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-align:center;font-weight:var(--cg-font-weight-medium)}.step.active .step-label[data-v-2a7b3af8]{color:var(--cg-color-text);font-weight:var(--cg-font-weight-semibold)}.step-connector[data-v-2a7b3af8]{position:absolute;top:14px;left:calc(50% + 14px);right:calc(-50% + 14px);height:2px;background:var(--cg-color-border);z-index:1}.stepper-content[data-v-2a7b3af8]{padding:var(--cg-space-2) var(--cg-space-3)}.confidence-badge[data-v-17ec4b80]{display:inline-flex;align-items:center;justify-content:center;padding:var(--cg-spacing-xs) var(--cg-spacing-sm);border-radius:var(--cg-border-radius-sm);font-weight:var(--cg-font-weight-semibold);white-space:nowrap}.confidence-badge.sm[data-v-17ec4b80]{font-size:var(--cg-font-size-xs);padding:2px var(--cg-spacing-xs)}.confidence-badge.md[data-v-17ec4b80]{font-size:var(--cg-font-size-sm)}.confidence-high[data-v-17ec4b80]{background-color:var(--cg-color-success-bg);color:var(--cg-color-success);border:1px solid var(--cg-color-success)}.confidence-medium[data-v-17ec4b80]{background-color:var(--cg-color-warning-bg);color:var(--cg-color-warning);border:1px solid var(--cg-color-warning)}.confidence-low[data-v-17ec4b80]{background-color:var(--cg-color-error-bg);color:var(--cg-color-error);border:1px solid var(--cg-color-error)}.node-resolution-item[data-v-c2997d1d]{border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--cg-color-bg-secondary);overflow:hidden;transition:all var(--cg-transition-fast)}.node-resolution-item.ambiguous[data-v-c2997d1d]{border-color:var(--cg-color-warning)}.node-resolution-item.resolved[data-v-c2997d1d]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.node-info[data-v-c2997d1d]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);background:var(--cg-color-bg-tertiary);border-bottom:1px solid var(--cg-color-border-subtle)}.node-info-text[data-v-c2997d1d]{flex:1;min-width:0}.node-info code[data-v-c2997d1d]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary)}.status-badge[data-v-c2997d1d]{padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);white-space:nowrap;flex-shrink:0}.status-badge.unresolved[data-v-c2997d1d]{background:var(--cg-color-error-muted);color:var(--cg-color-error)}.status-badge.ambiguous[data-v-c2997d1d]{background:var(--cg-color-warning-muted);color:var(--cg-color-warning)}.status-badge.resolved[data-v-c2997d1d]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.status-badge.optional[data-v-c2997d1d]{background:var(--cg-color-info-muted);color:var(--cg-color-info)}.status-badge.skip[data-v-c2997d1d]{background:var(--cg-color-bg-hover);color:var(--cg-color-text-muted)}.item-body[data-v-c2997d1d]{padding:var(--cg-space-3)}.resolved-state[data-v-c2997d1d]{display:flex;justify-content:center}.multiple-options[data-v-c2997d1d]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.options-prompt[data-v-c2997d1d]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.options-list[data-v-c2997d1d]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.option-card[data-v-c2997d1d]{display:flex;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-md);background:var(--cg-color-bg-primary);cursor:pointer;transition:all var(--cg-transition-fast)}.option-card[data-v-c2997d1d]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.option-card.selected[data-v-c2997d1d]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.option-card input[type=radio][data-v-c2997d1d]{margin-top:4px;accent-color:var(--cg-color-accent)}.option-content[data-v-c2997d1d]{flex:1;min-width:0}.option-header[data-v-c2997d1d]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.option-package-id[data-v-c2997d1d]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-semibold);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.option-title[data-v-c2997d1d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.option-meta[data-v-c2997d1d]{display:flex;gap:var(--cg-space-2);align-items:center;margin-top:var(--cg-space-1)}.installed-badge[data-v-c2997d1d]{padding:2px var(--cg-space-2);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);background:var(--cg-color-success-muted);color:var(--cg-color-success)}.action-buttons[data-v-c2997d1d]{display:flex;flex-wrap:wrap;gap:var(--cg-space-2);justify-content:flex-start;padding-top:var(--cg-space-2);border-top:1px solid var(--cg-color-border-subtle)}.unresolved[data-v-c2997d1d]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.unresolved-message[data-v-c2997d1d]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);color:var(--cg-color-warning);font-size:var(--cg-font-size-sm)}.warning-icon[data-v-c2997d1d]{font-size:var(--cg-font-size-lg)}.searching-state[data-v-c2997d1d]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.searching-spinner[data-v-c2997d1d]{width:16px;height:16px;border:2px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-c2997d1d .8s linear infinite}@keyframes spin-c2997d1d{to{transform:rotate(360deg)}}.option-description[data-v-c2997d1d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin-top:2px}.item-navigator[data-v-74af7920]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-3);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-sm);border:1px solid var(--cg-color-border-subtle)}.nav-item-info[data-v-74af7920]{display:flex;align-items:center;gap:var(--cg-space-2);flex:1;min-width:0;overflow:hidden}.item-name[data-v-74af7920]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-accent);background:var(--cg-color-bg-primary);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.nav-controls[data-v-74af7920]{display:flex;align-items:center;gap:var(--cg-space-2);flex-shrink:0}.nav-arrows[data-v-74af7920]{display:flex;gap:4px}.nav-arrow[data-v-74af7920]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);width:48px;height:24px;border-radius:var(--cg-radius-sm);cursor:pointer;font-size:var(--cg-font-size-sm);display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast)}.nav-arrow[data-v-74af7920]:first-child{border-radius:var(--cg-radius-sm) 0 0 var(--cg-radius-sm)}.nav-arrow[data-v-74af7920]:last-child{border-radius:0 var(--cg-radius-sm) var(--cg-radius-sm) 0}.nav-arrow[data-v-74af7920]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.nav-arrow[data-v-74af7920]:disabled{opacity:.4;cursor:not-allowed}.nav-position[data-v-74af7920]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);color:var(--cg-color-text-muted);min-width:36px;text-align:right}.base-input-wrapper[data-v-9ba02cdc]{display:inline-flex;flex-direction:column;gap:4px}.base-input-wrapper.full-width[data-v-9ba02cdc]{width:100%}.base-input[data-v-9ba02cdc]{padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);transition:all var(--cg-transition-fast);width:100%}.base-input[data-v-9ba02cdc]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.base-input[data-v-9ba02cdc]:disabled{opacity:.5;cursor:not-allowed}.base-input.error[data-v-9ba02cdc]{border-color:var(--cg-color-error)}.base-input-error[data-v-9ba02cdc]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error)}.node-resolution-step[data-v-6d7f8125]{display:flex;flex-direction:column;gap:var(--cg-space-2);min-height:400px}.auto-resolved-section[data-v-6d7f8125]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-header[data-v-6d7f8125]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-3)}.section-info[data-v-6d7f8125]{flex:1}.section-title[data-v-6d7f8125]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin:0}.section-description[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin:2px 0 0}.resolved-packages-list[data-v-6d7f8125]{display:flex;flex-direction:column;gap:var(--cg-space-1);max-height:200px;overflow-y:auto}.resolved-package-item[data-v-6d7f8125]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);border-left:3px solid var(--cg-color-success)}.package-info[data-v-6d7f8125]{display:flex;align-items:center;gap:var(--cg-space-3)}.package-id[data-v-6d7f8125]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-accent)}.node-count[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.package-actions[data-v-6d7f8125]{display:flex;align-items:center;gap:var(--cg-space-2)}.status-badge[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);padding:2px 6px;border-radius:var(--cg-radius-sm);text-transform:uppercase;letter-spacing:.05em}.status-badge.install[data-v-6d7f8125]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.status-badge.skip[data-v-6d7f8125]{background:var(--cg-color-bg-hover);color:var(--cg-color-text-muted)}.toggle-skip-btn[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-sm);color:var(--cg-color-text-secondary);cursor:pointer;transition:all var(--cg-transition-fast)}.toggle-skip-btn[data-v-6d7f8125]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-text-primary)}.section-divider[data-v-6d7f8125]{height:1px;background:var(--cg-color-border);margin:var(--cg-space-2) 0}.step-header[data-v-6d7f8125]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border)}.step-info[data-v-6d7f8125]{flex:1}.step-title[data-v-6d7f8125]{font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin:0}.step-description[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin:2px 0 0}.stat-badge[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);padding:4px 8px;border-radius:var(--cg-radius-sm);background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-secondary);border:1px solid var(--cg-color-border-subtle);white-space:nowrap}.step-body[data-v-6d7f8125]{flex:1;overflow-y:auto}.empty-state[data-v-6d7f8125]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--cg-color-text-muted)}.node-resolution-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10010}.node-search-modal{width:90%;max-width:500px;height:75vh;background:var(--cg-color-bg-primary, #1a1a2e);border:1px solid var(--cg-color-border, #333);border-radius:var(--cg-radius-lg, 8px);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden}.node-manual-entry-modal{width:90%;max-width:500px;background:var(--cg-color-bg-primary, #1a1a2e);border:1px solid var(--cg-color-border, #333);border-radius:var(--cg-radius-lg, 8px);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden}.node-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--cg-color-border, #333);background:var(--cg-color-bg-secondary, #252542)}.node-modal-header h4{margin:0;font-size:14px;font-weight:600;color:var(--cg-color-text-primary, #fff)}.node-modal-close-btn{background:none;border:none;font-size:18px;color:var(--cg-color-text-muted, #888);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease}.node-modal-close-btn:hover{color:var(--cg-color-text-primary, #fff);background:var(--cg-color-bg-hover, #333)}.node-modal-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden}.node-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.node-search-result-item{padding:8px 12px;border:1px solid var(--cg-color-border-subtle, #444);border-radius:6px;background:var(--cg-color-bg-secondary, #252542);cursor:pointer;transition:all .15s ease}.node-search-result-item:hover{border-color:var(--cg-color-accent, #7c3aed);background:var(--cg-color-bg-hover, #333)}.node-result-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.node-result-package-id{font-family:var(--cg-font-mono, monospace);font-weight:600;font-size:13px;color:var(--cg-color-accent, #7c3aed)}.node-result-description{font-size:12px;color:var(--cg-color-text-muted, #888)}.node-search-results-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.node-search-results{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.node-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--cg-color-text-muted, #888);font-size:13px}.model-resolution-item[data-v-8a82fefa]{border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--cg-color-bg-secondary);overflow:hidden;transition:all var(--cg-transition-fast)}.model-resolution-item.ambiguous[data-v-8a82fefa]{border-color:var(--cg-color-warning)}.model-resolution-item.resolved[data-v-8a82fefa]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.node-info[data-v-8a82fefa]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);background:var(--cg-color-bg-tertiary);border-bottom:1px solid var(--cg-color-border-subtle)}.node-info-text[data-v-8a82fefa]{flex:1;min-width:0}.node-info code[data-v-8a82fefa]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary)}.status-badge[data-v-8a82fefa]{padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);white-space:nowrap;flex-shrink:0}.status-badge.unresolved[data-v-8a82fefa]{background:var(--cg-color-error-muted);color:var(--cg-color-error)}.status-badge.ambiguous[data-v-8a82fefa]{background:var(--cg-color-warning-muted);color:var(--cg-color-warning)}.status-badge.resolved[data-v-8a82fefa]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.status-badge.optional[data-v-8a82fefa]{background:var(--cg-color-info-muted);color:var(--cg-color-info)}.status-badge.skip[data-v-8a82fefa]{background:var(--cg-color-bg-hover);color:var(--cg-color-text-muted)}.item-body[data-v-8a82fefa]{padding:var(--cg-space-3)}.resolved-state[data-v-8a82fefa]{display:flex;justify-content:center}.multiple-options[data-v-8a82fefa]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.options-prompt[data-v-8a82fefa]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.options-list[data-v-8a82fefa]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.option-card[data-v-8a82fefa]{display:flex;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-md);background:var(--cg-color-bg-primary);cursor:pointer;transition:all var(--cg-transition-fast)}.option-card[data-v-8a82fefa]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.option-card.selected[data-v-8a82fefa]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.option-card input[type=radio][data-v-8a82fefa]{margin-top:4px;accent-color:var(--cg-color-accent)}.option-content[data-v-8a82fefa]{flex:1;min-width:0}.option-header[data-v-8a82fefa]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.option-filename[data-v-8a82fefa]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-semibold);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.option-meta[data-v-8a82fefa]{display:flex;gap:var(--cg-space-2);align-items:center;margin-top:var(--cg-space-1);font-size:var(--cg-font-size-xs)}.option-size[data-v-8a82fefa]{font-family:var(--cg-font-mono);color:var(--cg-color-text-muted)}.option-category[data-v-8a82fefa]{color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.option-path[data-v-8a82fefa]{margin-top:var(--cg-space-1);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);color:var(--cg-color-text-muted)}.action-buttons[data-v-8a82fefa]{display:flex;flex-wrap:wrap;gap:var(--cg-space-2);justify-content:flex-start;padding-top:var(--cg-space-2);border-top:1px solid var(--cg-color-border-subtle)}.unresolved[data-v-8a82fefa]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.unresolved-message[data-v-8a82fefa]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);color:var(--cg-color-warning);font-size:var(--cg-font-size-sm)}.warning-icon[data-v-8a82fefa]{font-size:var(--cg-font-size-lg)}.model-resolution-step[data-v-5c700bfa]{display:flex;flex-direction:column;gap:var(--cg-space-2);min-height:400px}.step-header[data-v-5c700bfa]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border)}.step-info[data-v-5c700bfa]{flex:1}.step-title[data-v-5c700bfa]{font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin:0}.step-description[data-v-5c700bfa]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin:2px 0 0}.stat-badge[data-v-5c700bfa]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);padding:4px 8px;border-radius:var(--cg-radius-sm);background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-secondary);border:1px solid var(--cg-color-border-subtle);white-space:nowrap}.step-body[data-v-5c700bfa]{flex:1;overflow-y:auto}.empty-state[data-v-5c700bfa]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--cg-color-text-muted)}.model-resolution-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10010}.model-search-modal,.model-download-url-modal{width:90%;max-width:500px;max-height:80vh;background:var(--cg-color-bg-primary, #1a1a2e);border:1px solid var(--cg-color-border, #333);border-radius:var(--cg-radius-lg, 8px);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden}.model-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--cg-color-border, #333);background:var(--cg-color-bg-secondary, #252542)}.model-modal-header h4{margin:0;font-size:14px;font-weight:600;color:var(--cg-color-text-primary, #fff)}.model-modal-close-btn{background:none;border:none;font-size:18px;color:var(--cg-color-text-muted, #888);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease}.model-modal-close-btn:hover{color:var(--cg-color-text-primary, #fff);background:var(--cg-color-bg-hover, #333)}.model-modal-body{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.model-input-group{display:flex;flex-direction:column;gap:4px}.model-input-label{font-size:12px;font-weight:500;color:var(--cg-color-text-secondary, #aaa)}.model-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.model-search-results{display:flex;flex-direction:column;gap:8px}.model-search-result-item{padding:8px 12px;border:1px solid var(--cg-color-border-subtle, #444);border-radius:6px;background:var(--cg-color-bg-secondary, #252542);cursor:pointer;transition:all .15s ease}.model-search-result-item:hover{border-color:var(--cg-color-accent, #7c3aed);background:var(--cg-color-bg-hover, #333)}.model-result-header{margin-bottom:4px}.model-result-filename{font-family:var(--cg-font-mono, monospace);font-weight:600;font-size:13px;color:var(--cg-color-accent, #7c3aed)}.model-result-meta{display:flex;gap:8px;font-size:12px;color:var(--cg-color-text-muted, #888);margin-bottom:4px}.model-result-category{text-transform:uppercase;letter-spacing:.05em}.model-result-size{font-family:var(--cg-font-mono, monospace)}.model-result-path{font-size:12px;font-family:var(--cg-font-mono, monospace);color:var(--cg-color-text-muted, #888)}.model-no-results,.model-searching{padding:16px;text-align:center;color:var(--cg-color-text-muted, #888);font-size:13px}.applying-step[data-v-5efaae58]{padding:var(--cg-space-4)}.phase-content[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.phase-header[data-v-5efaae58]{display:flex;align-items:center;gap:var(--cg-space-3)}.phase-icon[data-v-5efaae58]{font-size:var(--cg-font-size-xl)}.phase-icon.success[data-v-5efaae58]{color:var(--cg-color-success)}.phase-icon.error[data-v-5efaae58]{color:var(--cg-color-error)}.phase-icon.warning[data-v-5efaae58]{color:var(--cg-color-warning)}.phase-title[data-v-5efaae58]{margin:0;font-size:var(--cg-font-size-lg);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.phase-description[data-v-5efaae58]{margin:0;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.loading-spinner[data-v-5efaae58]{width:24px;height:24px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-5efaae58 .8s linear infinite}@keyframes spin-5efaae58{to{transform:rotate(360deg)}}.completion-summary[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.summary-item[data-v-5efaae58]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-sm)}.summary-item.success[data-v-5efaae58]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.summary-item.info[data-v-5efaae58]{background:var(--cg-color-info-muted);color:var(--cg-color-info)}.summary-note[data-v-5efaae58]{margin:0;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-style:italic}.summary-icon[data-v-5efaae58]{font-size:var(--cg-font-size-base)}.phase-content.error .error-message[data-v-5efaae58]{margin:0;padding:var(--cg-space-3);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-md);color:var(--cg-color-error);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.summary-item.error[data-v-5efaae58]{background:var(--cg-color-error-muted);color:var(--cg-color-error)}.overall-progress[data-v-5efaae58]{display:flex;align-items:center;gap:var(--cg-space-3);margin-bottom:var(--cg-space-2)}.progress-bar[data-v-5efaae58]{flex:1;height:6px;background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-full);overflow:hidden}.progress-fill[data-v-5efaae58]{height:100%;background:var(--cg-color-accent);border-radius:var(--cg-radius-full);transition:width var(--cg-transition-fast)}.progress-label[data-v-5efaae58]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);color:var(--cg-color-text-muted);white-space:nowrap}.install-list[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-2);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);max-height:150px;overflow-y:auto}.install-item[data-v-5efaae58]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);border-left:3px solid transparent}.install-item.pending[data-v-5efaae58]{border-left-color:var(--cg-color-border)}.install-item.installing[data-v-5efaae58]{border-left-color:var(--cg-color-accent);background:var(--cg-color-bg-tertiary)}.install-item.complete[data-v-5efaae58]{border-left-color:var(--cg-color-success)}.install-item.failed[data-v-5efaae58]{border-left-color:var(--cg-color-error)}.install-icon[data-v-5efaae58]{width:16px;text-align:center}.install-item.pending .install-icon[data-v-5efaae58]{color:var(--cg-color-text-muted)}.install-item.installing .install-icon[data-v-5efaae58]{color:var(--cg-color-accent)}.install-item.complete .install-icon[data-v-5efaae58]{color:var(--cg-color-success)}.install-item.failed .install-icon[data-v-5efaae58]{color:var(--cg-color-error)}.install-icon .spinner[data-v-5efaae58]{display:inline-block;animation:spin-5efaae58 1s linear infinite}.install-item code[data-v-5efaae58]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary)}.install-error[data-v-5efaae58]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error);margin-left:auto}.restart-prompt[data-v-5efaae58]{margin-top:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.restart-warning[data-v-5efaae58]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);color:var(--cg-color-warning)}.restart-warning .warning-icon[data-v-5efaae58]{font-size:var(--cg-font-size-lg);flex-shrink:0}.restart-warning .warning-content[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.restart-warning .warning-content strong[data-v-5efaae58]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold)}.restart-warning .warning-content p[data-v-5efaae58]{margin:0;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.restart-button[data-v-5efaae58]{align-self:flex-end;padding:var(--cg-space-2) var(--cg-space-4);background:var(--cg-color-warning);color:var(--cg-color-bg-primary);border:none;border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);cursor:pointer;transition:all var(--cg-transition-fast)}.restart-button[data-v-5efaae58]:hover{filter:brightness(1.1)}.failed-list[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-2);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-md);max-height:150px;overflow-y:auto}.failed-item[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-primary);border-radius:var(--cg-radius-sm)}.failed-node-id[data-v-5efaae58]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-error)}.failed-error[data-v-5efaae58]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);word-break:break-word}.retry-button[data-v-5efaae58]{align-self:flex-start;margin-top:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-4);background:var(--cg-color-accent);color:var(--cg-color-bg-primary);border:none;border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);cursor:pointer;transition:all var(--cg-transition-fast)}.retry-button[data-v-5efaae58]:hover{filter:brightness(1.1)}.loading-state[data-v-40d8d5a8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--cg-space-8);gap:var(--cg-space-3);color:var(--cg-color-text-muted)}.loading-spinner[data-v-40d8d5a8]{width:32px;height:32px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-40d8d5a8 .8s linear infinite}@keyframes spin-40d8d5a8{to{transform:rotate(360deg)}}.wizard-content[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:0}.step-content[data-v-40d8d5a8]{padding:var(--cg-space-3)}.analysis-summary[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.analysis-header[data-v-40d8d5a8],.review-header[data-v-40d8d5a8]{margin-bottom:var(--cg-space-2)}.summary-title[data-v-40d8d5a8]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-lg);font-weight:var(--cg-font-weight-semibold);margin:0 0 var(--cg-space-1) 0}.summary-description[data-v-40d8d5a8]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);margin:0}.stats-grid[data-v-40d8d5a8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--cg-space-3)}.stat-card[data-v-40d8d5a8]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);padding:var(--cg-space-3)}.stat-header[data-v-40d8d5a8]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin-bottom:var(--cg-space-2)}.stat-items[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.stat-item[data-v-40d8d5a8]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.stat-item.success[data-v-40d8d5a8]{color:var(--cg-color-success)}.stat-item.warning[data-v-40d8d5a8]{color:var(--cg-color-warning)}.stat-item.error[data-v-40d8d5a8]{color:var(--cg-color-error)}.stat-item.info[data-v-40d8d5a8]{color:var(--cg-color-info)}.stat-icon[data-v-40d8d5a8]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-bold)}.stat-count[data-v-40d8d5a8]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-semibold)}.stat-label[data-v-40d8d5a8]{color:inherit;opacity:.8}.status-message[data-v-40d8d5a8]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-sm)}.status-message.warning[data-v-40d8d5a8]{background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);color:var(--cg-color-warning)}.status-message.success[data-v-40d8d5a8]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);color:var(--cg-color-success)}.status-message.info[data-v-40d8d5a8]{background:var(--cg-color-info-muted);border:1px solid var(--cg-color-info);color:var(--cg-color-info)}.status-icon[data-v-40d8d5a8]{font-size:var(--cg-font-size-lg)}.category-mismatch-section[data-v-40d8d5a8]{margin-top:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md)}.section-subtitle[data-v-40d8d5a8]{color:var(--cg-color-warning);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);margin:0 0 var(--cg-space-2) 0}.mismatch-list[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.mismatch-item[data-v-40d8d5a8]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);flex-wrap:wrap}.mismatch-path[data-v-40d8d5a8]{font-family:var(--cg-font-mono);color:var(--cg-color-error)}.mismatch-arrow[data-v-40d8d5a8]{color:var(--cg-color-text-muted)}.mismatch-target[data-v-40d8d5a8]{font-family:var(--cg-font-mono);color:var(--cg-color-success)}.review-summary[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.review-stats[data-v-40d8d5a8]{display:flex;gap:var(--cg-space-4);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-lg)}.review-stat[data-v-40d8d5a8]{display:flex;flex-direction:column;align-items:center;flex:1}.review-stat .stat-value[data-v-40d8d5a8]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xl);font-weight:var(--cg-font-weight-bold);color:var(--cg-color-text-primary)}.review-stat .stat-label[data-v-40d8d5a8]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.review-section[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-title[data-v-40d8d5a8]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin:0;padding-bottom:var(--cg-space-1);border-bottom:1px solid var(--cg-color-border-subtle)}.review-items[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.review-item[data-v-40d8d5a8]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.item-name[data-v-40d8d5a8]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.item-choice[data-v-40d8d5a8]{display:flex;gap:var(--cg-space-2)}.choice-badge[data-v-40d8d5a8]{padding:var(--cg-space-1) var(--cg-space-2);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);border-radius:var(--cg-radius-sm)}.choice-badge.install[data-v-40d8d5a8],.choice-badge.download[data-v-40d8d5a8]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.choice-badge.optional[data-v-40d8d5a8]{background:var(--cg-color-info-muted);color:var(--cg-color-info)}.choice-badge.skip[data-v-40d8d5a8]{background:var(--cg-color-bg-hover);color:var(--cg-color-text-muted)}.choice-badge.pending[data-v-40d8d5a8]{background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-muted);font-style:italic}.no-choices[data-v-40d8d5a8]{padding:var(--cg-space-4);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-md);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-align:center}.download-details .download-item[data-v-40d8d5a8]{flex-direction:column;align-items:flex-start;gap:var(--cg-space-2)}.download-info[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-1);width:100%}.download-meta[data-v-40d8d5a8]{display:flex;flex-wrap:wrap;gap:var(--cg-space-2);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.download-path[data-v-40d8d5a8]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary)}.download-url[data-v-40d8d5a8]{font-family:var(--cg-font-mono);color:var(--cg-color-info);cursor:help;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.footer-spacer[data-v-40d8d5a8]{flex:1}.search-input-wrapper[data-v-266f857a]{position:relative;width:100%}.search-input[data-v-266f857a]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);padding-right:var(--cg-space-8);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.search-input[data-v-266f857a]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 8px var(--cg-shadow-accent)}.clear-button[data-v-266f857a]{position:absolute;right:var(--cg-space-2);top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:var(--cg-space-1);font-size:var(--cg-font-size-sm);display:flex;align-items:center;justify-content:center;transition:color var(--cg-transition-fast)}.clear-button[data-v-266f857a]:hover{color:var(--cg-color-text-primary)}.search-bar[data-v-3d51bbfd]{margin-bottom:var(--cg-space-2)}.section-group[data-v-c48e33ed]{margin-bottom:var(--cg-space-4)}.section-content[data-v-c48e33ed]{margin-top:var(--cg-space-2)}.item-card[data-v-cc435e0e]{border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-3);margin-bottom:var(--cg-space-2);border-left-width:3px;border-left-color:transparent}.item-card.compact[data-v-cc435e0e]{padding:var(--cg-space-2)}.item-card.clickable[data-v-cc435e0e]{cursor:pointer}.item-card.clickable[data-v-cc435e0e]:hover{background:var(--cg-color-bg-hover)}.item-card.status-broken[data-v-cc435e0e]{border-left-color:var(--cg-color-error)}.item-card.status-new[data-v-cc435e0e]{border-left-color:var(--cg-color-info)}.item-card.status-modified[data-v-cc435e0e]{border-left-color:var(--cg-color-warning)}.item-card.status-synced[data-v-cc435e0e]{border-left-color:var(--cg-color-success)}.item-card.status-missing[data-v-cc435e0e]{border-left-color:var(--cg-color-warning)}.item-card.status-deleted[data-v-cc435e0e]{border-left-color:var(--cg-color-error)}.item-header[data-v-cc435e0e]{display:flex;align-items:flex-start;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.item-header[data-v-cc435e0e]:last-child{margin-bottom:0}.item-icon[data-v-cc435e0e]{font-size:var(--cg-font-size-xl);flex-shrink:0}.item-info[data-v-cc435e0e]{flex:1;min-width:0}.item-title[data-v-cc435e0e]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);margin-bottom:var(--cg-space-1)}.item-subtitle[data-v-cc435e0e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.item-details[data-v-cc435e0e]{display:flex;flex-direction:column;gap:var(--cg-space-1);margin-bottom:var(--cg-space-2)}.item-details[data-v-cc435e0e]:last-child{margin-bottom:0}.item-actions[data-v-cc435e0e]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.loading-state[data-v-ad8436c9]{text-align:center;padding:var(--cg-space-8) var(--cg-space-6);color:var(--cg-color-text-muted);display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-3)}.spinner[data-v-ad8436c9]{width:32px;height:32px;border:3px solid var(--cg-color-border-subtle);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-ad8436c9 .8s linear infinite}@keyframes spin-ad8436c9{to{transform:rotate(360deg)}}.loading-message[data-v-ad8436c9]{font-size:var(--cg-font-size-sm);margin:0}.error-state[data-v-5397be48]{text-align:center;padding:var(--cg-space-6);color:var(--cg-color-error);border:1px solid var(--cg-color-error);background:transparent;display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-3)}.error-icon[data-v-5397be48]{font-size:var(--cg-font-size-2xl)}.error-message[data-v-5397be48]{font-size:var(--cg-font-size-sm);margin:0}.summary-bar[data-v-ccb7816e]{padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);margin-bottom:var(--cg-space-4)}.summary-bar.compact[data-v-ccb7816e]{padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-xs)}.model-details[data-v-f15cbb56]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.detail-section[data-v-f15cbb56]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);padding:var(--cg-space-3)}.section-header[data-v-f15cbb56]{color:var(--cg-color-accent);text-transform:uppercase;font-size:var(--cg-font-size-xs);letter-spacing:var(--cg-letter-spacing-wide);margin:0 0 var(--cg-space-2) 0;padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border)}.detail-row[data-v-f15cbb56]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-1) 0}.detail-label[data-v-f15cbb56]{color:var(--cg-color-text-muted);min-width:100px;font-size:var(--cg-font-size-sm)}.detail-value[data-v-f15cbb56]{color:var(--cg-color-text-primary);flex:1;word-break:break-all}.detail-value.mono[data-v-f15cbb56]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.copy-btn[data-v-f15cbb56]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);padding:2px 8px;font-size:var(--cg-font-size-xs);cursor:pointer}.copy-btn[data-v-f15cbb56]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-accent);border-color:var(--cg-color-accent)}.locations-list[data-v-f15cbb56],.sources-list[data-v-f15cbb56]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.location-item[data-v-f15cbb56]{display:flex;flex-direction:column;gap:2px;padding:var(--cg-space-2);background:var(--cg-color-bg-tertiary);border-left:2px solid var(--cg-color-accent)}.location-path[data-v-f15cbb56]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);word-break:break-all}.location-modified[data-v-f15cbb56]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.source-item[data-v-f15cbb56]{display:flex;gap:var(--cg-space-2);align-items:center}.source-type[data-v-f15cbb56]{color:var(--cg-color-text-muted);text-transform:capitalize;flex-shrink:0}.source-url[data-v-f15cbb56]{color:var(--cg-color-accent);word-break:break-all;font-size:var(--cg-font-size-sm);flex:1}.remove-source-btn[data-v-f15cbb56]{background:transparent;border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);width:20px;height:20px;font-size:14px;line-height:1;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.remove-source-btn[data-v-f15cbb56]:hover:not(:disabled){background:var(--cg-color-error, #ef4444);border-color:var(--cg-color-error, #ef4444);color:#fff}.remove-source-btn[data-v-f15cbb56]:disabled{opacity:.5;cursor:not-allowed}.empty-state[data-v-f15cbb56]{color:var(--cg-color-text-muted);font-style:italic;padding:var(--cg-space-2)}.add-source-form[data-v-f15cbb56]{display:flex;gap:var(--cg-space-2);margin-top:var(--cg-space-3)}.source-input[data-v-f15cbb56]{flex:1;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);padding:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.source-input[data-v-f15cbb56]::placeholder{color:var(--cg-color-text-muted)}.source-input[data-v-f15cbb56]:focus{outline:none;border-color:var(--cg-color-accent)}.add-source-btn[data-v-f15cbb56]{background:var(--cg-color-accent);border:none;color:var(--cg-color-bg-primary);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-sm);cursor:pointer;white-space:nowrap}.add-source-btn[data-v-f15cbb56]:disabled{opacity:.5;cursor:not-allowed}.add-source-btn[data-v-f15cbb56]:not(:disabled):hover{filter:brightness(1.1)}.source-error[data-v-f15cbb56]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin-top:var(--cg-space-2)}.source-success[data-v-f15cbb56]{color:var(--cg-color-success);font-size:var(--cg-font-size-sm);margin-top:var(--cg-space-2)}.btn-secondary[data-v-f15cbb56]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);padding:var(--cg-space-2) var(--cg-space-4);cursor:pointer}.btn-secondary[data-v-f15cbb56]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent)}.open-location-btn[data-v-f15cbb56]{margin-top:var(--cg-space-2);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);padding:4px 12px;font-size:var(--cg-font-size-xs);cursor:pointer;align-self:flex-start}.open-location-btn[data-v-f15cbb56]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-accent);border-color:var(--cg-color-accent)}.toast[data-v-f15cbb56]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-accent);color:var(--cg-color-text-primary);padding:10px 20px;font-size:var(--cg-font-size-sm);z-index:10010;animation:toastSlideIn-f15cbb56 .2s ease}.toast.success[data-v-f15cbb56]{border-color:var(--cg-color-success, #4ade80)}.toast.error[data-v-f15cbb56]{border-color:var(--cg-color-error, #ef4444)}.toast.info[data-v-f15cbb56]{border-color:var(--cg-color-accent)}@keyframes toastSlideIn-f15cbb56{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.base-dropdown[data-v-857e085b]{position:relative;display:inline-flex;flex-direction:column;gap:4px}.dropdown-trigger[data-v-857e085b]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);cursor:pointer;width:100%;text-align:left;transition:all var(--cg-transition-fast)}.dropdown-trigger[data-v-857e085b]:hover:not(:disabled){border-color:var(--cg-color-accent)}.dropdown-trigger[data-v-857e085b]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.dropdown-trigger[data-v-857e085b]:disabled{opacity:.5;cursor:not-allowed}.dropdown-trigger.open[data-v-857e085b]{border-color:var(--cg-color-accent)}.dropdown-trigger.error[data-v-857e085b]{border-color:var(--cg-color-error)}.dropdown-value[data-v-857e085b]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow[data-v-857e085b]{font-size:10px;color:var(--cg-color-accent);transition:transform .15s ease}.dropdown-trigger.open .dropdown-arrow[data-v-857e085b]{transform:rotate(180deg)}.dropdown-overlay[data-v-857e085b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10010}.dropdown-menu[data-v-857e085b]{position:fixed;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);box-shadow:var(--cg-shadow-lg);overflow-y:auto;overflow-x:hidden;z-index:10011;padding:4px 0}.dropdown-menu[data-v-857e085b]::-webkit-scrollbar{width:8px}.dropdown-menu[data-v-857e085b]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.dropdown-menu[data-v-857e085b]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border-radius:4px}.dropdown-menu[data-v-857e085b]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.dropdown-option[data-v-857e085b]{padding:8px 12px;cursor:pointer;font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);color:var(--cg-color-text-primary);transition:background-color .1s ease}.dropdown-option[data-v-857e085b]:hover{background:var(--cg-color-bg-hover)}.dropdown-option.selected[data-v-857e085b]{background:var(--cg-color-accent-muted);color:var(--cg-color-accent)}.dropdown-error[data-v-857e085b]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error)}.hf-file-browser[data-v-183acebc]{display:flex;flex-direction:column;gap:var(--cg-space-3);height:100%}.browser-header[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border)}.back-btn[data-v-183acebc]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-secondary);padding:6px 10px;font-size:var(--cg-font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.back-btn[data-v-183acebc]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.repo-info[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-2);flex:1}.repo-id[data-v-183acebc]{color:var(--cg-color-accent);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium)}.revision-pill[data-v-183acebc]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);padding:2px 8px;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-family:var(--cg-font-mono)}.loading-state[data-v-183acebc],.error-state[data-v-183acebc]{padding:var(--cg-space-4);text-align:center;color:var(--cg-color-text-muted)}.error-state[data-v-183acebc]{color:var(--cg-color-error)}.toolbar[data-v-183acebc]{display:flex;gap:var(--cg-space-2);align-items:center;flex-wrap:wrap}.search-input[data-v-183acebc]{flex:1;min-width:200px}.toolbar-actions[data-v-183acebc]{display:flex;gap:var(--cg-space-2)}.toggle-btn[data-v-183acebc],.action-btn[data-v-183acebc]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-secondary);padding:6px 12px;font-size:var(--cg-font-size-xs);cursor:pointer;white-space:nowrap}.toggle-btn[data-v-183acebc]:hover,.action-btn[data-v-183acebc]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.toggle-btn.active[data-v-183acebc]{background:var(--cg-color-accent);color:var(--cg-color-text-inverse);border-color:var(--cg-color-accent)}.file-list-container[data-v-183acebc]{flex:1;min-height:0;max-height:300px;overflow-y:auto;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border)}.file-list-container[data-v-183acebc]::-webkit-scrollbar{width:8px}.file-list-container[data-v-183acebc]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.file-list-container[data-v-183acebc]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.file-list-container[data-v-183acebc]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.file-list-header[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border-bottom:1px solid var(--cg-color-border);position:sticky;top:0;z-index:1}.header-name[data-v-183acebc],.header-size[data-v-183acebc]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--cg-space-1)}.header-name[data-v-183acebc]:hover,.header-size[data-v-183acebc]:hover{color:var(--cg-color-accent)}.header-name[data-v-183acebc]{flex:1}.header-size[data-v-183acebc]{white-space:nowrap}.sort-indicator[data-v-183acebc]{font-size:10px;color:var(--cg-color-accent);min-width:10px}.file-list[data-v-183acebc]{display:flex;flex-direction:column}.file-item[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);cursor:pointer;border-bottom:1px solid var(--cg-color-border-subtle)}.file-item[data-v-183acebc]:last-child{border-bottom:none}.file-item[data-v-183acebc]:hover{background:var(--cg-color-bg-hover)}.file-item.selected[data-v-183acebc]{background:var(--cg-color-accent-muted)}.file-checkbox[data-v-183acebc]{cursor:pointer;accent-color:var(--cg-color-accent)}.file-path[data-v-183acebc]{flex:1;font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);word-break:break-all;color:var(--cg-color-text-primary)}.file-size[data-v-183acebc]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);white-space:nowrap}.empty-state[data-v-183acebc]{padding:var(--cg-space-4);text-align:center;color:var(--cg-color-text-muted);font-style:italic}.destination-section[data-v-183acebc]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);padding:var(--cg-space-3)}.section-label[data-v-183acebc]{color:var(--cg-color-accent);text-transform:uppercase;font-size:var(--cg-font-size-xs);letter-spacing:var(--cg-letter-spacing-wide);margin:0 0 var(--cg-space-2) 0}.destination-row[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-2)}.dest-select[data-v-183acebc]{min-width:220px}.path-separator[data-v-183acebc]{color:var(--cg-color-text-muted);font-family:var(--cg-font-mono)}.dest-subfolder[data-v-183acebc]{flex:1}.dest-custom[data-v-183acebc]{margin-top:var(--cg-space-2)}.action-bar[data-v-183acebc]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-3)}.summary-info[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-3)}.summary-count[data-v-183acebc]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.summary-size[data-v-183acebc]{color:var(--cg-color-accent);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.token-config-modal[data-v-0687d0ce]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.provider-info[data-v-0687d0ce]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-lg);font-weight:var(--cg-font-weight-medium)}.current-token[data-v-0687d0ce]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-border-radius)}.current-token .label[data-v-0687d0ce]{color:var(--cg-color-text-secondary)}.current-token .mask[data-v-0687d0ce]{font-family:var(--cg-font-mono);flex:1}.token-input-section[data-v-0687d0ce]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.input-label[data-v-0687d0ce]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.help-text[data-v-0687d0ce]{font-size:var(--cg-font-size-xs)}.help-text a[data-v-0687d0ce]{color:var(--cg-color-accent)}.modal-actions[data-v-0687d0ce]{display:flex;justify-content:flex-end;gap:var(--cg-space-2)}.huggingface-tab[data-v-e13209bf]{display:flex;flex-direction:column;gap:var(--cg-space-3);height:100%}.search-section[data-v-e13209bf]{flex-shrink:0}.search-header[data-v-e13209bf]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-2)}.search-bar[data-v-e13209bf]{display:flex;gap:var(--cg-space-2);flex:1}.search-bar[data-v-e13209bf] .base-input-wrapper{flex:1}.search-results[data-v-e13209bf]{flex:1;min-height:0;overflow-y:auto}.loading-state[data-v-e13209bf],.error-state[data-v-e13209bf],.empty-state[data-v-e13209bf],.hint-state[data-v-e13209bf]{padding:var(--cg-space-4);text-align:center;color:var(--cg-color-text-muted)}.error-state[data-v-e13209bf]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2)}.error-state p[data-v-e13209bf]{color:var(--cg-color-error);margin:0}.hint-state[data-v-e13209bf]{font-style:italic}.results-list[data-v-e13209bf]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.repo-card[data-v-e13209bf]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);padding:var(--cg-space-3);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.repo-card[data-v-e13209bf]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.repo-header[data-v-e13209bf]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--cg-space-2);margin-bottom:var(--cg-space-1)}.repo-id[data-v-e13209bf]{color:var(--cg-color-accent);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);word-break:break-all}.repo-stats[data-v-e13209bf]{display:flex;gap:var(--cg-space-3);flex-shrink:0}.stat[data-v-e13209bf]{display:flex;align-items:center;gap:var(--cg-space-1);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);white-space:nowrap}.stat-icon[data-v-e13209bf]{font-size:var(--cg-font-size-xs)}.repo-desc[data-v-e13209bf]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);margin:0 0 var(--cg-space-2) 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.repo-tags[data-v-e13209bf]{display:flex;flex-wrap:wrap;gap:var(--cg-space-1)}.tag[data-v-e13209bf]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);padding:2px 6px}.search-results[data-v-e13209bf]::-webkit-scrollbar{width:8px}.search-results[data-v-e13209bf]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.search-results[data-v-e13209bf]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.search-results[data-v-e13209bf]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.civitai-tab[data-v-44948051]{display:flex;align-items:center;justify-content:center;min-height:300px;padding:var(--cg-space-4)}.placeholder[data-v-44948051]{text-align:center;color:var(--cg-color-text-muted)}.placeholder .icon[data-v-44948051]{font-size:48px;margin-bottom:var(--cg-space-3)}.placeholder h3[data-v-44948051]{color:var(--cg-color-text-secondary);margin:0 0 var(--cg-space-2) 0}.placeholder p[data-v-44948051]{margin:0;font-size:var(--cg-font-size-sm)}.direct-url-tab[data-v-01def7aa]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.input-group[data-v-01def7aa]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.input-group label[data-v-01def7aa]{font-weight:var(--cg-font-weight-medium);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.error[data-v-01def7aa]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin:0}.note[data-v-01def7aa]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);margin:0}.actions[data-v-01def7aa]{display:flex;justify-content:flex-end;margin-top:var(--cg-space-2)}.download-modal[data-v-90a9f401]{display:flex;flex-direction:column;height:100%}.tab-bar[data-v-90a9f401]{display:flex;gap:var(--cg-space-1);padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border);margin-bottom:var(--cg-space-3)}.tab-btn[data-v-90a9f401]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-secondary);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-sm);cursor:pointer;transition:all .15s ease}.tab-btn[data-v-90a9f401]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.tab-btn.active[data-v-90a9f401]{background:var(--cg-color-accent);border-color:var(--cg-color-accent);color:var(--cg-color-text-inverse)}.tab-content[data-v-90a9f401]{flex:1;min-height:0;overflow-y:auto}.indexing-progress[data-v-3705114c]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);padding:var(--cg-space-2) var(--cg-space-3);margin-bottom:var(--cg-space-2)}.progress-info[data-v-3705114c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--cg-space-1)}.progress-label[data-v-3705114c]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.progress-count[data-v-3705114c]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.progress-bar[data-v-3705114c]{height:4px;background:var(--cg-color-bg-hover);border-radius:2px;overflow:hidden}.progress-fill[data-v-3705114c]{height:100%;background:var(--cg-color-accent);transition:width .2s ease}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10010}.modal-content{width:90%;max-width:500px;background:var(--cg-color-bg-primary, #1a1a2e);border:1px solid var(--cg-color-border, #333);border-radius:var(--cg-radius-lg, 8px);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--cg-color-border, #333);background:var(--cg-color-bg-secondary, #252542)}.modal-header h3{margin:0;font-size:14px;font-weight:600;color:var(--cg-color-text-primary, #fff)}.modal-close{background:none;border:none;font-size:18px;color:var(--cg-color-text-muted, #888);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease}.modal-close:hover{color:var(--cg-color-text-primary, #fff);background:var(--cg-color-bg-hover, #333)}.modal-body{padding:16px;display:flex;flex-direction:column;gap:12px}.input-group{display:flex;flex-direction:column;gap:4px}.input-group label{font-size:12px;font-weight:500;color:var(--cg-color-text-secondary, #aaa)}.current-path{font-family:var(--cg-font-mono, monospace);font-size:13px;padding:8px 12px;background:var(--cg-color-bg-tertiary, #333);border-radius:4px;color:var(--cg-color-accent, #7c3aed);word-break:break-all;overflow-wrap:anywhere}.modal-note{font-size:12px;color:var(--cg-color-text-muted, #888);margin:0;padding:8px;background:var(--cg-color-bg-secondary, #252542);border-radius:4px}.modal-error{font-size:12px;color:var(--cg-color-error, #ef4444);margin-top:4px}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--cg-color-border, #333);background:var(--cg-color-bg-secondary, #252542)}.node-details[data-v-b342f626]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.status-row[data-v-b342f626]{display:flex;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.status-badge[data-v-b342f626]{padding:4px 12px;border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.status-badge.installed[data-v-b342f626]{background:var(--cg-color-success-muted, rgba(34, 197, 94, .15));color:var(--cg-color-success);border:1px solid var(--cg-color-success)}.status-badge.dev[data-v-b342f626]{background:var(--cg-color-accent-muted);color:var(--cg-color-accent);border:1px solid var(--cg-color-accent)}.status-badge.missing[data-v-b342f626]{background:var(--cg-color-error-muted);color:var(--cg-color-error);border:1px solid var(--cg-color-error)}.status-badge.warning[data-v-b342f626]{background:#f59e0b26;color:var(--cg-color-warning, #f59e0b);border:1px solid var(--cg-color-warning, #f59e0b)}.detail-row[data-v-b342f626]{display:flex;align-items:flex-start;gap:var(--cg-space-3);font-size:var(--cg-font-size-sm)}.label[data-v-b342f626]{color:var(--cg-color-text-muted);min-width:100px;flex-shrink:0}.value[data-v-b342f626]{color:var(--cg-color-text-secondary);word-break:break-word}.value.mono[data-v-b342f626]{font-family:var(--cg-font-mono)}.value.small[data-v-b342f626]{font-size:var(--cg-font-size-xs)}.repo-link[data-v-b342f626]{color:var(--cg-color-accent);text-decoration:none;display:inline-flex;align-items:center;gap:6px;word-break:break-all}.repo-link[data-v-b342f626]:hover{text-decoration:underline}.external-icon[data-v-b342f626]{flex-shrink:0;opacity:.7}.section-divider[data-v-b342f626]{height:1px;background:var(--cg-color-border-subtle);margin:var(--cg-space-2) 0}.workflow-list[data-v-b342f626]{display:flex;flex-wrap:wrap;gap:6px}.workflow-tag[data-v-b342f626]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:2px 8px;border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.dialog-message[data-v-3670b9f5]{margin:0 0 12px;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);line-height:var(--cg-line-height-normal)}.dialog-details[data-v-3670b9f5]{background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-md);padding:8px 12px;margin-bottom:12px}.detail-item[data-v-3670b9f5]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);padding:2px 0}.dialog-warning[data-v-3670b9f5]{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-xs);color:var(--cg-color-warning)}.warning-icon[data-v-3670b9f5]{flex-shrink:0}.mismatch-warning[data-v-1555a802]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-warning);margin-bottom:var(--cg-space-3)}.warning-icon[data-v-1555a802]{font-size:var(--cg-font-size-lg);flex-shrink:0}.version-mismatch[data-v-1555a802]{display:flex;align-items:center;gap:var(--cg-space-1);font-family:var(--cg-font-mono)}.version-actual[data-v-1555a802]{color:var(--cg-color-error);text-decoration:line-through}.version-arrow[data-v-1555a802]{color:var(--cg-color-text-muted)}.version-expected[data-v-1555a802]{color:var(--cg-color-success)}.remote-url-display[data-v-7768a58d]{display:inline-flex;align-items:center;gap:var(--cg-space-2);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.url-text[data-v-7768a58d]{color:var(--cg-color-text-secondary);word-break:break-all}.copy-btn[data-v-7768a58d]{background:transparent;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast);flex-shrink:0}.copy-btn[data-v-7768a58d]:hover{border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.copy-btn.copied[data-v-7768a58d]{color:var(--cg-color-success);border-color:var(--cg-color-success)}.remote-title[data-v-8310f3a8]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.default-badge[data-v-8310f3a8]{display:inline-block;padding:2px 6px;background:transparent;border:1px solid var(--cg-color-success);color:var(--cg-color-success);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.sync-badge[data-v-8310f3a8]{display:inline-flex;align-items:center;gap:var(--cg-space-1);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.sync-badge .ahead[data-v-8310f3a8]{color:var(--cg-color-info)}.sync-badge .behind[data-v-8310f3a8]{color:var(--cg-color-warning)}.sync-badge .synced[data-v-8310f3a8]{color:var(--cg-color-success)}.remote-url-link[data-v-8310f3a8]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);text-decoration:none}.remote-url-link[data-v-8310f3a8]:hover{text-decoration:underline}.remote-url-text[data-v-8310f3a8]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.base-form-field[data-v-9a1cf296]{display:flex;flex-direction:column;gap:6px}.base-form-field.full-width[data-v-9a1cf296]{width:100%}.base-form-field-label[data-v-9a1cf296]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);font-weight:var(--cg-font-weight-medium);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.base-form-field-required[data-v-9a1cf296]{color:var(--cg-color-error);margin-left:2px}.base-form-field-input[data-v-9a1cf296]{width:100%}.base-form-field-error[data-v-9a1cf296]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error)}.base-form-field-hint[data-v-9a1cf296]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.remote-form[data-v-56021b18]{border:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-4);margin-bottom:var(--cg-space-4)}.form-header[data-v-56021b18]{margin-bottom:var(--cg-space-4)}.form-body[data-v-56021b18]{display:flex;flex-direction:column;gap:var(--cg-space-3);margin-bottom:var(--cg-space-4)}.form-error[data-v-56021b18]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);color:var(--cg-color-error);font-size:var(--cg-font-size-sm)}.form-actions[data-v-56021b18]{display:flex;gap:var(--cg-space-2)}.conflict-summary-box[data-v-4e9e6cc9]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md)}.summary-header[data-v-4e9e6cc9]{display:flex;align-items:flex-start;gap:var(--cg-space-2)}.summary-icon[data-v-4e9e6cc9]{font-size:var(--cg-font-size-lg);color:var(--cg-color-warning)}.summary-text[data-v-4e9e6cc9]{flex:1}.summary-text strong[data-v-4e9e6cc9]{color:var(--cg-color-warning);font-size:var(--cg-font-size-sm)}.summary-text p[data-v-4e9e6cc9]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.summary-text p.all-resolved[data-v-4e9e6cc9]{color:var(--cg-color-success)}.summary-progress[data-v-4e9e6cc9]{display:flex;align-items:center;gap:var(--cg-space-2)}.progress-bar[data-v-4e9e6cc9]{flex:1;height:6px;background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-sm);overflow:hidden}.progress-fill[data-v-4e9e6cc9]{height:100%;background:var(--cg-color-warning);border-radius:var(--cg-radius-sm);transition:width .3s ease}.progress-text[data-v-4e9e6cc9]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);white-space:nowrap}.modal-overlay[data-v-1d633bba]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-1d633bba]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-1d633bba]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.modal-title[data-v-1d633bba]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-1d633bba]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-close[data-v-1d633bba]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-1d633bba]{padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-4)}.loading-state[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);justify-content:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted)}.spinner[data-v-1d633bba]{animation:spin-1d633bba 1s linear infinite}.error-box[data-v-1d633bba]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-sm);color:var(--cg-color-error)}.error-icon[data-v-1d633bba]{font-size:var(--cg-font-size-xl);flex-shrink:0}.error-box p[data-v-1d633bba]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.error-hint[data-v-1d633bba]{margin-top:var(--cg-space-2)!important;opacity:.9}@keyframes spin-1d633bba{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.commit-summary[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-base);color:var(--cg-color-text-primary)}.commit-summary .icon[data-v-1d633bba]{font-size:var(--cg-font-size-lg)}.warning-box[data-v-1d633bba]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);color:var(--cg-color-warning)}.warning-icon[data-v-1d633bba]{font-size:var(--cg-font-size-xl);flex-shrink:0}.warning-box p[data-v-1d633bba]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.options-section[data-v-1d633bba]{padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.options-section ul[data-v-1d633bba]{margin:var(--cg-space-2) 0 0 var(--cg-space-4);padding:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.commits-section[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.commit-list[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);max-height:200px;overflow-y:auto}.commit-item[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.commit-hash[data-v-1d633bba]{font-family:var(--cg-font-mono);color:var(--cg-color-info);flex-shrink:0}.commit-message[data-v-1d633bba]{color:var(--cg-color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-date[data-v-1d633bba]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);flex-shrink:0}.changes-section[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-title[data-v-1d633bba]{margin:0;font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.change-group[data-v-1d633bba]{background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);overflow:hidden}.change-group summary[data-v-1d633bba]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-2) var(--cg-space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.change-group summary[data-v-1d633bba]:hover{background:var(--cg-color-bg-hover)}.change-type[data-v-1d633bba]{font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary)}.change-count[data-v-1d633bba]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.change-list[data-v-1d633bba]{padding:var(--cg-space-2) var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle);max-height:150px;overflow-y:auto}.change-item[data-v-1d633bba]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);padding:var(--cg-space-1) 0}.change-item.add[data-v-1d633bba]{color:var(--cg-color-success)}.change-item.modify[data-v-1d633bba]{color:var(--cg-color-info)}.change-item.delete[data-v-1d633bba]{color:var(--cg-color-error)}.conflict-badge[data-v-1d633bba]{margin-left:var(--cg-space-2);padding:1px var(--cg-space-2);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-xs);color:var(--cg-color-warning)}.strategy-section[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.radio-group[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.radio-option[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;font-size:var(--cg-font-size-sm)}.radio-option input[data-v-1d633bba]{margin:0}.default-badge[data-v-1d633bba]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);background:var(--cg-color-bg-tertiary);padding:1px 4px;border-radius:var(--cg-radius-xs)}.strategy-hint[data-v-1d633bba]{margin:0;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-style:italic}.up-to-date[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-4);color:var(--cg-color-success);justify-content:center}.modal-actions[data-v-1d633bba]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.modal-overlay[data-v-3c2e35ab]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-3c2e35ab]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-3c2e35ab]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.modal-title[data-v-3c2e35ab]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-3c2e35ab]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-close[data-v-3c2e35ab]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-3c2e35ab]{padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-4)}.loading-state[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);justify-content:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted)}.spinner[data-v-3c2e35ab]{animation:spin-3c2e35ab 1s linear infinite}@keyframes spin-3c2e35ab{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.commit-summary[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-base);color:var(--cg-color-text-primary)}.commit-summary .icon[data-v-3c2e35ab]{font-size:var(--cg-font-size-lg)}.warning-box[data-v-3c2e35ab]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);color:var(--cg-color-warning)}.warning-icon[data-v-3c2e35ab]{font-size:var(--cg-font-size-xl);flex-shrink:0}.warning-box p[data-v-3c2e35ab]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.info-box[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-info-muted);border:1px solid var(--cg-color-info);border-radius:var(--cg-radius-sm);color:var(--cg-color-info);font-size:var(--cg-font-size-sm)}.info-icon[data-v-3c2e35ab]{flex-shrink:0}.commits-section[data-v-3c2e35ab]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-title[data-v-3c2e35ab]{margin:0;font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.commit-list[data-v-3c2e35ab]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);max-height:200px;overflow-y:auto}.commit-item[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.commit-hash[data-v-3c2e35ab]{font-family:var(--cg-font-mono);color:var(--cg-color-info);flex-shrink:0}.commit-message[data-v-3c2e35ab]{color:var(--cg-color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-date[data-v-3c2e35ab]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);flex-shrink:0}.force-option[data-v-3c2e35ab]{padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.checkbox-option[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;font-size:var(--cg-font-size-sm)}.checkbox-option input[data-v-3c2e35ab]{margin:0}.option-hint[data-v-3c2e35ab]{margin:var(--cg-space-1) 0 0 var(--cg-space-5);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.up-to-date[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-4);color:var(--cg-color-success);justify-content:center}.modal-actions[data-v-3c2e35ab]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.resolution-choice-group[data-v-985715ed]{display:flex;gap:var(--cg-space-2)}.choice-btn[data-v-985715ed]{display:flex;align-items:center;gap:var(--cg-space-1);padding:var(--cg-space-2) var(--cg-space-3);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-sm);background:var(--cg-color-bg-secondary);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);cursor:pointer;transition:all .15s ease}.choice-btn[data-v-985715ed]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-text-muted)}.choice-btn[data-v-985715ed]:disabled{opacity:.5;cursor:not-allowed}.choice-btn.selected[data-v-985715ed]{border-color:var(--cg-color-accent);background:var(--cg-color-accent-muted);color:var(--cg-color-accent)}.choice-btn.mine.selected[data-v-985715ed]{border-color:var(--cg-color-info);background:var(--cg-color-info-muted);color:var(--cg-color-info)}.choice-btn.theirs.selected[data-v-985715ed]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted);color:var(--cg-color-success)}.choice-icon[data-v-985715ed]{font-size:var(--cg-font-size-xs)}.conflict-item[data-v-506d3bbf]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);transition:all .2s ease}.conflict-item.resolved[data-v-506d3bbf]{background:var(--cg-color-bg-secondary);border-color:var(--cg-color-border)}.conflict-header[data-v-506d3bbf]{display:flex;align-items:flex-start;gap:var(--cg-space-3)}.conflict-icon[data-v-506d3bbf]{font-size:var(--cg-font-size-lg);color:var(--cg-color-warning);flex-shrink:0}.conflict-item.resolved .conflict-icon[data-v-506d3bbf]{color:var(--cg-color-text-muted)}.conflict-info[data-v-506d3bbf]{flex:1;min-width:0}.workflow-name[data-v-506d3bbf]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conflict-description[data-v-506d3bbf]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin-top:var(--cg-space-1)}.resolved-badge[data-v-506d3bbf]{display:flex;align-items:center;gap:var(--cg-space-1);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-success-muted);border-radius:var(--cg-radius-sm);color:var(--cg-color-success);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);flex-shrink:0}.conflict-hashes[data-v-506d3bbf]{display:flex;gap:var(--cg-space-4);padding:var(--cg-space-2);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.hash-item code[data-v-506d3bbf]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary)}.conflict-actions[data-v-506d3bbf]{display:flex;justify-content:flex-end}.resolution-content[data-v-c58d150d]{display:flex;flex-direction:column;gap:var(--cg-space-4);height:100%;min-height:0}.error-box[data-v-c58d150d]{flex-shrink:0;display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-sm);color:var(--cg-color-error)}.error-icon[data-v-c58d150d]{font-size:var(--cg-font-size-xl);flex-shrink:0}.error-box p[data-v-c58d150d]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.resolution-header[data-v-c58d150d]{flex-shrink:0;padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.header-stats[data-v-c58d150d]{display:flex;gap:var(--cg-space-4);margin-bottom:var(--cg-space-2)}.stat[data-v-c58d150d]{display:flex;flex-direction:column;align-items:center}.stat-value[data-v-c58d150d]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xl);font-weight:var(--cg-font-weight-bold);color:var(--cg-color-text-primary)}.stat.resolved .stat-value[data-v-c58d150d]{color:var(--cg-color-success)}.stat.pending .stat-value[data-v-c58d150d]{color:var(--cg-color-warning)}.stat-label[data-v-c58d150d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.header-hint[data-v-c58d150d]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin:0;line-height:1.5}.conflicts-list[data-v-c58d150d]{display:flex;flex-direction:column;gap:var(--cg-space-3);flex:1;min-height:0;overflow-y:auto;padding-right:var(--cg-space-2)}.all-resolved-message[data-v-c58d150d]{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);border-radius:var(--cg-radius-md);color:var(--cg-color-success);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium)}.resolved-icon[data-v-c58d150d]{font-size:var(--cg-font-size-lg)}.footer-spacer[data-v-c58d150d]{flex:1}.node-conflict-item[data-v-8b626725]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md)}.node-header[data-v-8b626725]{display:flex;align-items:baseline;gap:var(--cg-space-2)}.node-name[data-v-8b626725]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.node-id[data-v-8b626725]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.version-comparison[data-v-8b626725]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm)}.version[data-v-8b626725]{display:flex;flex-direction:column;gap:2px}.version .label[data-v-8b626725]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.version code[data-v-8b626725]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary)}.version.yours code[data-v-8b626725]{color:var(--cg-color-info)}.version.theirs code[data-v-8b626725]{color:var(--cg-color-success)}.arrow[data-v-8b626725]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-lg)}.chosen-version[data-v-8b626725]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-accent-muted);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm)}.chosen-version .label[data-v-8b626725]{color:var(--cg-color-text-muted)}.chosen-version .chosen[data-v-8b626725]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent)}.chosen-reason[data-v-8b626725]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);margin-left:auto}.affected-workflows[data-v-8b626725]{font-size:var(--cg-font-size-sm)}.affected-workflows summary[data-v-8b626725]{cursor:pointer;color:var(--cg-color-text-secondary);-webkit-user-select:none;user-select:none}.affected-workflows summary[data-v-8b626725]:hover{color:var(--cg-color-text-primary)}.affected-workflows ul[data-v-8b626725]{margin:var(--cg-space-2) 0 0 var(--cg-space-4);padding:0;list-style:none}.affected-workflows li[data-v-8b626725]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-1) 0;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs)}.affected-workflows li code[data-v-8b626725]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary)}.wf-source[data-v-8b626725]{color:var(--cg-color-text-muted)}.wf-version[data-v-8b626725]{margin-left:auto;color:var(--cg-color-text-muted)}.validation-content[data-v-fefd26ed]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.compatible-message[data-v-fefd26ed]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);border-radius:var(--cg-radius-md);color:var(--cg-color-success)}.compatible-message .icon[data-v-fefd26ed]{font-size:var(--cg-font-size-xl)}.compatible-message p[data-v-fefd26ed]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.warning-header[data-v-fefd26ed]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);color:var(--cg-color-warning)}.warning-header .icon[data-v-fefd26ed]{font-size:var(--cg-font-size-xl)}.warning-header p[data-v-fefd26ed]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.conflicts-list[data-v-fefd26ed]{display:flex;flex-direction:column;gap:var(--cg-space-3);max-height:300px;overflow-y:auto}.info-box[data-v-fefd26ed]{padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm)}.info-box strong[data-v-fefd26ed]{display:block;margin-bottom:var(--cg-space-1);color:var(--cg-color-text-primary)}.info-box p[data-v-fefd26ed]{margin:0;color:var(--cg-color-text-secondary)}.warnings-section[data-v-fefd26ed]{padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.warnings-section h4[data-v-fefd26ed]{margin:0 0 var(--cg-space-2) 0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.warnings-section ul[data-v-fefd26ed]{margin:0;padding:0 0 0 var(--cg-space-4);list-style:disc}.warnings-section li[data-v-fefd26ed]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);padding:var(--cg-space-1) 0}.footer-spacer[data-v-fefd26ed]{flex:1}.setting-row[data-v-cb5d236c]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-4);padding:var(--cg-space-3) 0;border-bottom:1px solid var(--cg-color-border-subtle)}.setting-row[data-v-cb5d236c]:last-child{border-bottom:none}.setting-row.disabled[data-v-cb5d236c]{opacity:.5;pointer-events:none}.setting-info[data-v-cb5d236c]{flex:1;min-width:0}.setting-label[data-v-cb5d236c]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);margin-bottom:var(--cg-space-1)}.required-marker[data-v-cb5d236c]{color:var(--cg-color-error);margin-left:2px}.setting-description[data-v-cb5d236c]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);line-height:var(--cg-line-height-normal)}.setting-control[data-v-cb5d236c]{flex-shrink:0;display:flex;align-items:center;gap:var(--cg-space-2)}.toggle[data-v-71c0f550]{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.toggle-input[data-v-71c0f550]{opacity:0;width:0;height:0;position:absolute}.toggle-slider[data-v-71c0f550]{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);transition:all var(--cg-transition-fast);border-radius:var(--cg-radius-full)}.toggle-slider[data-v-71c0f550]:before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:var(--cg-color-text-muted);transition:all var(--cg-transition-fast);border-radius:50%}.toggle-input:checked+.toggle-slider[data-v-71c0f550]{background:var(--cg-color-accent);border-color:var(--cg-color-accent)}.toggle-input:checked+.toggle-slider[data-v-71c0f550]:before{transform:translate(18px);background:var(--cg-color-text-primary)}.toggle-input:disabled+.toggle-slider[data-v-71c0f550]{opacity:.5;cursor:not-allowed}.toggle-input:focus+.toggle-slider[data-v-71c0f550]{box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.toggle-input:not(:disabled)+.toggle-slider[data-v-71c0f550]:hover{border-color:var(--cg-color-accent)}.workspace-settings-content[data-v-9c5b427b]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.settings-section[data-v-9c5b427b]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-3)}.path-setting[data-v-9c5b427b]{padding:var(--cg-space-3) 0;border-bottom:1px solid var(--cg-color-border-subtle)}.path-setting[data-v-9c5b427b]:last-child{border-bottom:none}.path-label[data-v-9c5b427b]{font-size:var(--cg-font-size-sm);font-weight:500;color:var(--cg-color-text-primary);margin-bottom:var(--cg-space-1)}.path-description[data-v-9c5b427b]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);margin-bottom:var(--cg-space-2)}.path-value[data-v-9c5b427b]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-primary);background:var(--cg-color-bg-primary);padding:var(--cg-space-2);border-radius:var(--cg-border-radius-sm);border:1px solid var(--cg-color-border-subtle);word-break:break-all}.setting-hint[data-v-9c5b427b]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);margin-top:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-bg-primary);border-radius:var(--cg-border-radius-sm)}.setting-hint code[data-v-9c5b427b]{font-family:var(--cg-font-mono);background:var(--cg-color-bg-secondary);padding:0 var(--cg-space-1);border-radius:var(--cg-border-radius-sm)}.base-tabs[data-v-ad5e6cad]{display:flex;gap:var(--cg-space-1);border-bottom:1px solid var(--cg-color-border-subtle);margin-bottom:var(--cg-space-3)}.base-tabs__tab[data-v-ad5e6cad]{padding:var(--cg-space-2) var(--cg-space-3);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--cg-color-text-secondary);font-family:var(--cg-font-body);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);cursor:pointer;transition:all var(--cg-transition-fast);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.base-tabs__tab[data-v-ad5e6cad]:hover:not(.disabled){color:var(--cg-color-text-primary)}.base-tabs__tab.active[data-v-ad5e6cad]{color:var(--cg-color-accent);border-bottom-color:var(--cg-color-accent)}.base-tabs__tab.disabled[data-v-ad5e6cad]{opacity:.5;cursor:not-allowed}.base-tabs__badge[data-v-ad5e6cad]{margin-left:var(--cg-space-1);padding:1px 6px;background:var(--cg-color-accent-muted);color:var(--cg-color-accent);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs)}.log-viewer-wrapper[data-v-c0cc6d21]{position:relative}.log-output[data-v-c0cc6d21]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-3);margin:0;user-select:text!important;-webkit-user-select:text!important;cursor:text}.copy-overlay-btn[data-v-c0cc6d21]{position:sticky;top:8px;float:right;margin-left:8px;margin-bottom:4px;padding:4px 8px;font-size:10px;font-family:var(--cg-font-body);line-height:1.2;background:var(--cg-color-bg-secondary);color:var(--cg-color-text-secondary);border:1px solid var(--cg-color-border);border-radius:4px;cursor:pointer;opacity:.4;transition:opacity .15s ease;z-index:2}.log-viewer-wrapper:hover .copy-overlay-btn[data-v-c0cc6d21]{opacity:1}.copy-overlay-btn[data-v-c0cc6d21]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-text-primary)}.copy-overlay-btn[data-v-c0cc6d21]:disabled{cursor:default}.log-line[data-v-c0cc6d21]{line-height:1.5;white-space:pre-wrap;word-wrap:break-word;user-select:text!important;-webkit-user-select:text!important}.log-level-error[data-v-c0cc6d21]{color:#f55}.log-level-warning[data-v-c0cc6d21]{color:#ffb86c}.log-level-info[data-v-c0cc6d21]{color:#50fa7b}.log-level-debug[data-v-c0cc6d21]{color:#6272a4}.env-title[data-v-9231917a]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.current-badge[data-v-9231917a]{display:inline-block;padding:2px 6px;background:transparent;border:1px solid var(--cg-color-success);color:var(--cg-color-success);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);border-radius:var(--cg-radius-sm)}.branch-info[data-v-9231917a]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);display:flex;align-items:center;gap:var(--cg-space-1)}.branch-icon[data-v-9231917a]{opacity:.7}.env-details[data-v-92e68b76]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.status-row[data-v-92e68b76]{display:flex;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.status-badge[data-v-92e68b76]{padding:4px 12px;border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.status-badge.current[data-v-92e68b76]{background:var(--cg-color-success-muted, rgba(34, 197, 94, .15));color:var(--cg-color-success);border:1px solid var(--cg-color-success)}.status-badge.inactive[data-v-92e68b76]{background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-muted);border:1px solid var(--cg-color-border-subtle)}.detail-row[data-v-92e68b76]{display:flex;align-items:flex-start;gap:var(--cg-space-3);font-size:var(--cg-font-size-sm)}.label[data-v-92e68b76]{color:var(--cg-color-text-muted);min-width:100px;flex-shrink:0}.value[data-v-92e68b76]{color:var(--cg-color-text-secondary);word-break:break-word}.value.mono[data-v-92e68b76]{font-family:var(--cg-font-mono)}.value.small[data-v-92e68b76]{font-size:var(--cg-font-size-xs)}.section-divider[data-v-92e68b76]{height:1px;background:var(--cg-color-border-subtle);margin:var(--cg-space-2) 0}.collapsible-section[data-v-92e68b76]{font-size:var(--cg-font-size-sm)}.collapsible-header[data-v-92e68b76]{display:flex;align-items:center;gap:var(--cg-space-3);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--cg-space-1) 0;border-radius:var(--cg-radius-sm)}.collapsible-header[data-v-92e68b76]:hover{opacity:.8}.chevron[data-v-92e68b76]{margin-left:auto;font-size:10px;color:var(--cg-color-text-muted);transition:transform .15s ease}.chevron.expanded[data-v-92e68b76]{transform:rotate(90deg)}.collapsible-body[data-v-92e68b76]{max-height:200px;overflow-y:auto;margin-top:var(--cg-space-2);padding-left:var(--cg-space-3);border-left:2px solid var(--cg-color-border-subtle)}.item-list[data-v-92e68b76]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.list-item[data-v-92e68b76]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-1) var(--cg-space-2);font-size:var(--cg-font-size-xs);border-radius:var(--cg-radius-sm)}.list-item[data-v-92e68b76]:hover{background:var(--cg-color-bg-tertiary)}.item-name[data-v-92e68b76]{color:var(--cg-color-text-secondary);font-family:var(--cg-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.item-meta[data-v-92e68b76]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);flex-shrink:0}.empty-list[data-v-92e68b76]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);font-style:italic;padding:var(--cg-space-1) var(--cg-space-2)}.sync-badge[data-v-92e68b76]{padding:1px 6px;border-radius:var(--cg-radius-sm);font-size:10px;font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.sync-badge.synced[data-v-92e68b76]{background:var(--cg-color-success-muted, rgba(34, 197, 94, .15));color:var(--cg-color-success)}.sync-badge.new[data-v-92e68b76]{background:var(--cg-color-info-muted, rgba(59, 130, 246, .15));color:var(--cg-color-info)}.sync-badge.modified[data-v-92e68b76]{background:var(--cg-color-warning-muted, rgba(245, 158, 11, .15));color:var(--cg-color-warning)}.sync-badge.deleted[data-v-92e68b76]{background:var(--cg-color-error-muted, rgba(239, 68, 68, .15));color:var(--cg-color-error)}.criticality-badge[data-v-92e68b76]{padding:1px 6px;border-radius:var(--cg-radius-sm);font-size:10px;font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.criticality-badge.required[data-v-92e68b76]{background:var(--cg-color-error-muted, rgba(239, 68, 68, .15));color:var(--cg-color-error)}.criticality-badge.flexible[data-v-92e68b76]{background:var(--cg-color-warning-muted, rgba(245, 158, 11, .15));color:var(--cg-color-warning)}.criticality-badge.optional[data-v-92e68b76]{background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-muted)}.model-item[data-v-92e68b76]{flex-direction:column;align-items:flex-start;gap:var(--cg-space-1)}.model-row[data-v-92e68b76]{display:flex;align-items:center;gap:var(--cg-space-2);width:100%}.model-meta[data-v-92e68b76]{display:flex;gap:var(--cg-space-2);padding-left:var(--cg-space-1)}.missing-count[data-v-92e68b76]{color:var(--cg-color-warning);font-size:var(--cg-font-size-xs)}.footer-actions[data-v-92e68b76]{display:flex;width:100%;align-items:center}.footer-spacer[data-v-92e68b76]{flex:1}.progress-bar[data-v-1beb0512]{width:100%;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:2px;overflow:hidden;position:relative}.progress-fill[data-v-1beb0512]{height:100%;transition:width .3s ease;position:relative}.progress-fill[data-v-1beb0512]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer-1beb0512 2s infinite}@keyframes shimmer-1beb0512{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-fill.default[data-v-1beb0512]{background:var(--cg-color-accent);box-shadow:0 0 8px #00ff4166}.progress-fill.success[data-v-1beb0512]{background:var(--cg-color-success);box-shadow:0 0 8px #4ade8066}.progress-fill.warning[data-v-1beb0512]{background:var(--cg-color-warning);box-shadow:0 0 8px #fbbf2466}.progress-fill.error[data-v-1beb0512]{background:var(--cg-color-error);box-shadow:0 0 8px #ef444466}.progress-bar[data-v-1beb0512]{height:var(--cg-space-2)}.task-progress[data-v-9d1de66c]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.progress-info[data-v-9d1de66c]{display:flex;justify-content:space-between;align-items:center;font-size:var(--cg-font-size-sm)}.progress-percentage[data-v-9d1de66c]{font-weight:var(--cg-font-weight-bold);color:var(--cg-color-accent);font-family:var(--cg-font-mono)}.progress-message[data-v-9d1de66c]{color:var(--cg-color-text-secondary);text-align:right;flex:1;margin-left:var(--cg-space-2)}.progress-steps[data-v-9d1de66c]{display:flex;flex-direction:column;gap:var(--cg-space-1);margin-top:var(--cg-space-2);padding-top:var(--cg-space-2);border-top:1px solid var(--cg-color-border-subtle)}.step[data-v-9d1de66c]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-xs);transition:all var(--cg-transition-fast)}.step.pending[data-v-9d1de66c]{color:var(--cg-color-text-muted)}.step.active[data-v-9d1de66c]{color:var(--cg-color-accent);font-weight:var(--cg-font-weight-medium)}.step.completed[data-v-9d1de66c]{color:var(--cg-color-success)}.step.active .step-icon[data-v-9d1de66c]{animation:spin-9d1de66c 1s linear infinite}@keyframes spin-9d1de66c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.step-icon[data-v-9d1de66c]{width:14px;text-align:center}.create-env-form[data-v-f37eaa42]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.form-field[data-v-f37eaa42]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.form-field--checkbox[data-v-f37eaa42]{flex-direction:row;align-items:center;margin-top:var(--cg-space-2)}.form-label[data-v-f37eaa42]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.form-input[data-v-f37eaa42],.form-select[data-v-f37eaa42]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);padding:var(--cg-space-2) var(--cg-space-3);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-f37eaa42]:hover,.form-select[data-v-f37eaa42]:hover{border-color:var(--cg-color-border)}.form-input[data-v-f37eaa42]:focus,.form-select[data-v-f37eaa42]:focus{outline:none;border-color:var(--cg-color-accent)}.form-select[data-v-f37eaa42]{cursor:pointer}.form-select[data-v-f37eaa42]:disabled{opacity:.5;cursor:not-allowed}.form-checkbox[data-v-f37eaa42]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.form-checkbox input[type=checkbox][data-v-f37eaa42]{width:16px;height:16px;accent-color:var(--cg-color-accent);cursor:pointer}.creating-intro[data-v-f37eaa42]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);margin-bottom:var(--cg-space-4);text-align:center}.progress-warning[data-v-f37eaa42]{margin-top:var(--cg-space-3);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-info-muted);border:1px solid var(--cg-color-info);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);text-align:center}.create-error[data-v-f37eaa42]{margin-top:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-sm)}.error-message[data-v-f37eaa42]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin:0}.footer-status[data-v-f37eaa42]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.file-path[data-v-f0982173]{display:inline-flex;align-items:center;gap:var(--cg-space-2);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-1) var(--cg-space-2);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);max-width:100%;overflow:hidden}.file-path-icon[data-v-f0982173]{flex-shrink:0;font-size:var(--cg-font-size-sm)}.file-path-text[data-v-f0982173]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:inherit}.copy-btn[data-v-f0982173]{flex-shrink:0;background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:0;font-size:var(--cg-font-size-sm);transition:color var(--cg-transition-fast)}.copy-btn[data-v-f0982173]:hover{color:var(--cg-color-accent)}.export-blocked[data-v-b52f5e32]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.error-header[data-v-b52f5e32]{display:flex;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-md)}.error-icon[data-v-b52f5e32]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--cg-color-error);color:var(--cg-color-bg-primary);border-radius:50%;flex-shrink:0}.error-summary[data-v-b52f5e32]{flex:1}.error-title[data-v-b52f5e32]{margin:0 0 var(--cg-space-1) 0;font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.error-description[data-v-b52f5e32]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.issues-list[data-v-b52f5e32]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.issue-item[data-v-b52f5e32]{padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md)}.issue-message[data-v-b52f5e32]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary);margin-bottom:var(--cg-space-2)}.issue-details[data-v-b52f5e32]{margin-bottom:var(--cg-space-2);padding-left:var(--cg-space-3)}.issue-detail[data-v-b52f5e32]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);font-family:var(--cg-font-mono);padding:var(--cg-space-1) 0}.issue-detail[data-v-b52f5e32]:before{content:"•";margin-right:var(--cg-space-2);color:var(--cg-color-text-muted)}.show-more-inline[data-v-b52f5e32]{background:none;border:none;color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);cursor:pointer;padding:0;margin-top:var(--cg-space-1)}.issue-fix[data-v-b52f5e32]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-style:italic}.export-warnings[data-v-b698d882]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.warning-header[data-v-b698d882]{display:flex;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md)}.warning-icon[data-v-b698d882]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--cg-color-warning);color:var(--cg-color-bg-primary);border-radius:50%;flex-shrink:0}.warning-summary[data-v-b698d882]{flex:1}.warning-title[data-v-b698d882]{margin:0 0 var(--cg-space-1) 0;font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.warning-description[data-v-b698d882]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.models-section[data-v-b698d882]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);overflow:hidden}.models-list[data-v-b698d882]{max-height:240px;overflow-y:auto}.model-item[data-v-b698d882]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--cg-space-3);padding:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.model-item[data-v-b698d882]:last-child{border-bottom:none}.model-info[data-v-b698d882]{flex:1;min-width:0}.model-filename[data-v-b698d882]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);word-break:break-all}.model-workflows[data-v-b698d882]{margin-top:var(--cg-space-1);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.add-source-btn[data-v-b698d882]{flex-shrink:0;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-accent);padding:4px 10px;font-size:var(--cg-font-size-xs);cursor:pointer;white-space:nowrap}.add-source-btn[data-v-b698d882]:hover{background:var(--cg-color-accent);color:var(--cg-color-bg-primary);border-color:var(--cg-color-accent)}.show-more-btn[data-v-b698d882]{width:100%;padding:var(--cg-space-2);background:transparent;border:none;border-top:1px solid var(--cg-color-border-subtle);color:var(--cg-color-accent);font-size:var(--cg-font-size-sm);cursor:pointer;transition:background var(--cg-transition-base)}.show-more-btn[data-v-b698d882]:hover{background:var(--cg-color-bg-secondary)}.success-header[data-v-b698d882]{display:flex;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);border-radius:var(--cg-radius-md)}.success-icon[data-v-b698d882]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--cg-color-success);color:var(--cg-color-bg-primary);border-radius:50%;flex-shrink:0}.success-summary[data-v-b698d882]{flex:1}.success-title[data-v-b698d882]{margin:0 0 var(--cg-space-1) 0;font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.success-description[data-v-b698d882]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.export-card[data-v-f4d120f2]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-4)}.export-card-header[data-v-f4d120f2]{display:flex;gap:var(--cg-space-3);align-items:flex-start}.export-icon[data-v-f4d120f2]{font-size:var(--cg-font-size-xl)}.export-header-text[data-v-f4d120f2]{flex:1}.export-title[data-v-f4d120f2]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.export-subtitle[data-v-f4d120f2]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.export-path-row[data-v-f4d120f2]{display:flex;gap:var(--cg-space-2);align-items:center}.export-path-row .path-input[data-v-f4d120f2]{flex:1}.export-actions[data-v-f4d120f2]{display:flex;gap:var(--cg-space-3);align-items:center;padding-top:var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle)}.export-warning[data-v-f4d120f2]{display:flex;gap:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);margin-top:var(--cg-space-2)}.warning-icon[data-v-f4d120f2]{color:var(--cg-color-warning);font-weight:var(--cg-font-weight-bold);flex-shrink:0}.warning-text[data-v-f4d120f2]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);line-height:1.4}.export-info[data-v-f4d120f2]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.info-section strong[data-v-f4d120f2]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.info-section ul[data-v-f4d120f2]{margin:var(--cg-space-2) 0 0 0;padding-left:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);line-height:1.6}.info-section li[data-v-f4d120f2]{margin-bottom:var(--cg-space-1)}.info-section li strong[data-v-f4d120f2]{font-size:var(--cg-font-size-xs)}.info-note[data-v-f4d120f2]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:0;padding:var(--cg-space-2);background:var(--cg-color-bg-secondary);border-left:2px solid var(--cg-color-warning)}.file-input-wrapper[data-v-cd192091]{display:inline-block}.file-input-hidden[data-v-cd192091]{display:none}.file-drop-zone[data-v-0f79cb86]{border:2px dashed var(--cg-color-border);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-4);text-align:center;transition:all var(--cg-transition-base);min-height:140px;display:flex;align-items:center;justify-content:center}.file-drop-zone.drop-active[data-v-0f79cb86]{border-color:var(--cg-color-accent);background:var(--cg-color-accent-muted);box-shadow:0 0 16px var(--cg-shadow-accent)}.file-drop-zone.has-file[data-v-0f79cb86]{border-style:solid;border-color:var(--cg-color-success);background:var(--cg-color-success-muted);min-height:auto;padding:var(--cg-space-4)}.drop-zone-empty[data-v-0f79cb86]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2);width:100%}.drop-zone-icon[data-v-0f79cb86]{color:var(--cg-color-text-muted);opacity:.5}.drop-zone-text[data-v-0f79cb86]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.drop-zone-primary[data-v-0f79cb86]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-medium);margin:0}.drop-zone-secondary[data-v-0f79cb86]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);margin:0}.drop-zone-actions[data-v-0f79cb86]{margin-top:0}.drop-zone-file[data-v-0f79cb86]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--cg-space-3)}.file-info[data-v-0f79cb86]{display:flex;align-items:center;gap:var(--cg-space-3);flex:1;min-width:0}.file-icon[data-v-0f79cb86]{font-size:var(--cg-font-size-2xl);flex-shrink:0}.file-details[data-v-0f79cb86]{flex:1;min-width:0;text-align:left}.file-name[data-v-0f79cb86]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-0f79cb86]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.import-preview[data-v-182fe113]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.preview-header[data-v-182fe113]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--cg-space-4);padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.source-env[data-v-182fe113]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.preview-content[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.preview-section[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-header[data-v-182fe113]{display:flex;align-items:center;gap:var(--cg-space-3)}.section-icon[data-v-182fe113]{font-size:var(--cg-font-size-2xl);flex-shrink:0}.section-info[data-v-182fe113]{flex:1}.section-title[data-v-182fe113]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.section-count[data-v-182fe113]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.item-list[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding-left:var(--cg-space-6)}.preview-item[data-v-182fe113]{display:flex;align-items:flex-start;gap:var(--cg-space-2);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.item-bullet[data-v-182fe113]{color:var(--cg-color-accent);flex-shrink:0}.item-name[data-v-182fe113]{font-family:var(--cg-font-mono);word-break:break-all}.item-details[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-1);min-width:0}.item-meta[data-v-182fe113]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono)}.item-more[data-v-182fe113]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);font-style:italic;padding-left:var(--cg-space-3)}.git-info[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding-left:var(--cg-space-6)}.import-config[data-v-89ea06a1]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.config-container[data-v-89ea06a1]{display:flex;flex-direction:column;gap:var(--cg-space-4);margin-top:var(--cg-space-3)}.config-field[data-v-89ea06a1]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.input-wrapper[data-v-89ea06a1]{position:relative;display:flex;align-items:center}.name-input[data-v-89ea06a1]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);padding-right:var(--cg-space-8);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-family:var(--cg-font-mono)}.name-input[data-v-89ea06a1]:focus{outline:none;border-color:var(--cg-color-accent)}.name-input.error[data-v-89ea06a1]{border-color:var(--cg-color-error)}.name-input.valid[data-v-89ea06a1]{border-color:var(--cg-color-success)}.validating-indicator[data-v-89ea06a1],.valid-indicator[data-v-89ea06a1]{position:absolute;right:var(--cg-space-3);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.valid-indicator[data-v-89ea06a1]{color:var(--cg-color-success)}.field-error[data-v-89ea06a1]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm)}.field-hint[data-v-89ea06a1]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.strategy-options[data-v-89ea06a1]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.strategy-option[data-v-89ea06a1]{display:flex;align-items:flex-start;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle);cursor:pointer;transition:all var(--cg-transition-fast)}.strategy-option[data-v-89ea06a1]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border)}.strategy-option.active[data-v-89ea06a1]{border-color:var(--cg-color-accent);background:var(--cg-color-accent-muted)}.strategy-option input[type=radio][data-v-89ea06a1]{margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:var(--cg-color-accent)}.strategy-content[data-v-89ea06a1]{display:flex;flex-direction:column;gap:var(--cg-space-1);flex:1}.strategy-label[data-v-89ea06a1]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-medium)}.strategy-description[data-v-89ea06a1]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.advanced-section[data-v-89ea06a1]{border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-secondary)}.advanced-toggle[data-v-89ea06a1]{padding:var(--cg-space-3);cursor:pointer;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.advanced-toggle[data-v-89ea06a1]:hover{color:var(--cg-color-text-primary)}.advanced-content[data-v-89ea06a1]{padding:var(--cg-space-3);padding-top:0}.backend-select[data-v-89ea06a1]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);cursor:pointer}.backend-select[data-v-89ea06a1]:focus{outline:none;border-color:var(--cg-color-accent)}.switch-field[data-v-89ea06a1]{padding-top:var(--cg-space-2)}.switch-label[data-v-89ea06a1]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.switch-label input[type=checkbox][data-v-89ea06a1]{width:16px;height:16px;cursor:pointer;accent-color:var(--cg-color-accent)}.import-flow[data-v-72cbc04e]{display:flex;flex-direction:column}.import-empty[data-v-72cbc04e]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.import-configure[data-v-72cbc04e]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.selected-file-bar[data-v-72cbc04e]{display:flex;justify-content:space-between;align-items:center;background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);padding:var(--cg-space-3)}.file-bar-content[data-v-72cbc04e]{display:flex;align-items:center;gap:var(--cg-space-3)}.file-bar-icon[data-v-72cbc04e]{font-size:var(--cg-font-size-2xl)}.file-bar-info[data-v-72cbc04e]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.file-bar-name[data-v-72cbc04e]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.file-bar-size[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.import-actions[data-v-72cbc04e]{display:flex;justify-content:flex-end;gap:var(--cg-space-3);padding-top:var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle)}.import-progress[data-v-72cbc04e]{display:flex;flex-direction:column;gap:var(--cg-space-4);padding:var(--cg-space-4)}.creating-intro[data-v-72cbc04e]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-base);margin:0;text-align:center}.creating-intro strong[data-v-72cbc04e]{color:var(--cg-color-text-primary)}.progress-warning[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-align:center;margin:0}.import-error[data-v-72cbc04e]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);padding:var(--cg-space-3)}.error-message[data-v-72cbc04e]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin:0}.import-complete[data-v-72cbc04e]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-4);padding:var(--cg-space-8) var(--cg-space-4)}.complete-icon[data-v-72cbc04e]{width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;border:3px solid;border-radius:50%}.complete-icon.success[data-v-72cbc04e]{color:var(--cg-color-success);border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.complete-icon.error[data-v-72cbc04e]{color:var(--cg-color-error);border-color:var(--cg-color-error);background:var(--cg-color-error-muted)}.complete-message[data-v-72cbc04e]{text-align:center;max-width:500px}.complete-title[data-v-72cbc04e]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-xl);font-weight:var(--cg-font-weight-bold);margin-bottom:var(--cg-space-2)}.complete-details[data-v-72cbc04e]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-base)}.complete-actions[data-v-72cbc04e]{display:flex;gap:var(--cg-space-3);margin-top:var(--cg-space-2)}.preview-loading[data-v-72cbc04e]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-3);padding:var(--cg-space-6);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.loading-spinner[data-v-72cbc04e]{width:32px;height:32px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-72cbc04e .8s linear infinite}@keyframes spin-72cbc04e{to{transform:rotate(360deg)}}.loading-text[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.import-divider[data-v-72cbc04e]{display:flex;align-items:center;gap:var(--cg-space-4);margin:var(--cg-space-2) 0}.import-divider[data-v-72cbc04e]:before,.import-divider[data-v-72cbc04e]:after{content:"";flex:1;height:1px;background:var(--cg-color-border-subtle)}.import-divider span[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-transform:lowercase}.git-import-section[data-v-72cbc04e]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.git-import-header[data-v-72cbc04e]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);margin-bottom:var(--cg-space-3)}.git-url-input-row[data-v-72cbc04e]{display:flex;gap:var(--cg-space-2)}.git-url-input[data-v-72cbc04e]{flex:1;padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);height:28px}.git-url-input[data-v-72cbc04e]:focus{outline:none;border-color:var(--cg-color-accent)}.git-url-input[data-v-72cbc04e]:disabled{opacity:.6;cursor:not-allowed}.git-url-hint[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-2)}.git-error[data-v-72cbc04e]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin-top:var(--cg-space-2)}.help-steps[data-v-e13bfe76]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.help-step[data-v-e13bfe76]{display:flex;gap:var(--cg-space-3);align-items:flex-start}.step-number[data-v-e13bfe76]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--cg-color-accent-muted);color:var(--cg-color-accent);border:1px solid var(--cg-color-accent);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-bold);flex-shrink:0}.step-content[data-v-e13bfe76]{flex:1}.step-content strong[data-v-e13bfe76]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);display:block;margin-bottom:var(--cg-space-1)}.step-content p[data-v-e13bfe76]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);margin:0}.instance-card[data-v-746c3894]{border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-3);margin-bottom:var(--cg-space-2);border-left-width:3px;border-left-color:transparent}.instance-card.status-running[data-v-746c3894]{border-left-color:var(--cg-color-success)}.instance-card.status-deploying[data-v-746c3894],.instance-card.status-starting[data-v-746c3894]{border-left-color:var(--cg-color-info)}.instance-card.status-stopped[data-v-746c3894]{border-left-color:var(--cg-color-text-muted)}.instance-card.status-error[data-v-746c3894]{border-left-color:var(--cg-color-error)}.instance-card.status-terminated[data-v-746c3894]{border-left-color:var(--cg-color-border-subtle);opacity:.6}.instance-header[data-v-746c3894]{display:flex;align-items:center;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.provider-badge[data-v-746c3894]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-hover);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-secondary)}.instance-name[data-v-746c3894]{flex:1;font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);font-weight:var(--cg-font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-indicator[data-v-746c3894]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);display:flex;align-items:center;gap:var(--cg-space-1)}.status-indicator.running[data-v-746c3894]{color:var(--cg-color-success)}.status-indicator.deploying[data-v-746c3894],.status-indicator.starting[data-v-746c3894]{color:var(--cg-color-info)}.status-indicator.stopped[data-v-746c3894]{color:var(--cg-color-text-muted)}.status-indicator.error[data-v-746c3894]{color:var(--cg-color-error)}.status-indicator.terminated[data-v-746c3894]{color:var(--cg-color-text-muted)}.status-indicator .spinner[data-v-746c3894]{width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-746c3894 .8s linear infinite}@keyframes spin-746c3894{to{transform:rotate(360deg)}}.instance-details[data-v-746c3894]{display:flex;flex-wrap:wrap;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.instance-details .detail[data-v-746c3894]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.instance-details .total-cost[data-v-746c3894]{color:var(--cg-color-text-secondary)}.instance-details .instance-url[data-v-746c3894]{color:var(--cg-color-accent);word-break:break-all;flex-basis:100%}.deployment-progress[data-v-746c3894]{margin-bottom:var(--cg-space-2)}.progress-message[data-v-746c3894]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);margin-bottom:var(--cg-space-1)}.instance-actions[data-v-746c3894]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.instances-tab[data-v-ba614fc3]{padding:var(--cg-space-3)}.instances-header[data-v-ba614fc3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--cg-space-3)}.loading-state[data-v-ba614fc3],.empty-state[data-v-ba614fc3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted);text-align:center}.loading-state .spinner[data-v-ba614fc3]{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-ba614fc3 .8s linear infinite;margin-bottom:var(--cg-space-2)}@keyframes spin-ba614fc3{to{transform:rotate(360deg)}}.empty-icon[data-v-ba614fc3]{font-size:var(--cg-font-size-2xl);margin-bottom:var(--cg-space-2)}.empty-text[data-v-ba614fc3]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin-bottom:var(--cg-space-2)}.empty-help[data-v-ba614fc3]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.instances-list[data-v-ba614fc3]{display:flex;flex-direction:column}.deploy-remote-card[data-v-d687d161]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);transition:border-color var(--cg-transition-fast)}.deploy-remote-card.selected[data-v-d687d161]{border-color:var(--cg-color-accent);background:var(--cg-color-bg-secondary)}.remote-header[data-v-d687d161]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.remote-info[data-v-d687d161]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.remote-icon[data-v-d687d161]{font-size:var(--cg-font-size-sm)}.remote-name[data-v-d687d161]{font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.default-badge[data-v-d687d161]{display:inline-block;padding:2px 6px;background:transparent;border:1px solid var(--cg-color-success);color:var(--cg-color-success);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.sync-badge[data-v-d687d161]{display:inline-flex;align-items:center;gap:var(--cg-space-1);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.sync-badge .ahead[data-v-d687d161]{color:var(--cg-color-info)}.sync-badge .behind[data-v-d687d161]{color:var(--cg-color-warning)}.sync-badge .synced[data-v-d687d161]{color:var(--cg-color-success)}.remote-url[data-v-d687d161]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);text-decoration:none}.remote-url[data-v-d687d161]:hover{text-decoration:underline}.remote-url-text[data-v-d687d161]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.remote-actions[data-v-d687d161]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.runpod-tab[data-v-522cd4d9]{padding:var(--cg-space-3)}.api-key-card[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.api-key-row[data-v-522cd4d9]{display:flex;gap:var(--cg-space-2);align-items:center}.api-key-input-wrapper[data-v-522cd4d9]{flex:1;position:relative;display:flex;align-items:center}.api-key-input[data-v-522cd4d9]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);padding-right:40px;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.api-key-input[data-v-522cd4d9]:focus{outline:none;border-color:var(--cg-color-accent)}.api-key-input[data-v-522cd4d9]:disabled{opacity:.7;cursor:not-allowed}.toggle-visibility-btn[data-v-522cd4d9]{position:absolute;right:8px;background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:4px;font-size:14px}.toggle-visibility-btn[data-v-522cd4d9]:hover{color:var(--cg-color-text-primary)}.connection-status[data-v-522cd4d9]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2);font-size:var(--cg-font-size-xs)}.connection-status.success[data-v-522cd4d9]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.connection-status.error[data-v-522cd4d9]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error)}.status-icon[data-v-522cd4d9]{font-weight:700}.connection-status.success .status-icon[data-v-522cd4d9]{color:var(--cg-color-success)}.connection-status.error .status-icon[data-v-522cd4d9]{color:var(--cg-color-error)}.status-text[data-v-522cd4d9]{flex:1;color:var(--cg-color-text-primary)}.credit-balance[data-v-522cd4d9]{color:var(--cg-color-accent);font-weight:var(--cg-font-weight-semibold)}.api-key-help[data-v-522cd4d9]{display:flex;gap:var(--cg-space-2);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.help-icon[data-v-522cd4d9]{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:1px solid var(--cg-color-border-subtle);border-radius:50%;font-size:10px}.help-text a[data-v-522cd4d9]{color:var(--cg-color-accent);text-decoration:none}.help-text a[data-v-522cd4d9]:hover{text-decoration:underline}.config-card[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-4)}.config-row[data-v-522cd4d9]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.loading-inline[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.no-volumes-state[data-v-522cd4d9]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning)}.no-volumes-icon[data-v-522cd4d9]{color:var(--cg-color-warning)}.no-volumes-text[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.volume-help[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:var(--cg-space-2) 0;line-height:1.4}.create-volume-link[data-v-522cd4d9]{display:inline-block;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-accent);color:var(--cg-color-bg-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);text-decoration:none;text-align:center}.create-volume-link[data-v-522cd4d9]:hover{background:var(--cg-color-accent-hover)}.create-volume-inline-link[data-v-522cd4d9]{display:inline-block;margin-top:var(--cg-space-2);color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);text-decoration:none;width:fit-content}.create-volume-inline-link[data-v-522cd4d9]:hover{text-decoration:underline}.config-label[data-v-522cd4d9]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.config-select[data-v-522cd4d9],.config-input[data-v-522cd4d9]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.config-select[data-v-522cd4d9]:focus,.config-input[data-v-522cd4d9]:focus{outline:none;border-color:var(--cg-color-accent)}.config-select[data-v-522cd4d9]:disabled{opacity:.5}.radio-group[data-v-522cd4d9]{display:flex;gap:var(--cg-space-4)}.radio-option[data-v-522cd4d9]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer}.radio-option input[data-v-522cd4d9]{accent-color:var(--cg-color-accent)}.radio-option.disabled[data-v-522cd4d9]{cursor:not-allowed;opacity:.5}.radio-option.disabled input[data-v-522cd4d9]{cursor:not-allowed}.radio-label[data-v-522cd4d9]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.summary-card[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-2)}.summary-row[data-v-522cd4d9]{display:flex;justify-content:space-between;align-items:center}.summary-label[data-v-522cd4d9]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.summary-value[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.summary-sub-row[data-v-522cd4d9]{padding-left:var(--cg-space-4)}.summary-sub-label[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.summary-sub-row.warning .summary-sub-label[data-v-522cd4d9]{color:var(--cg-color-warning)}.deploy-actions[data-v-522cd4d9]{display:flex;gap:var(--cg-space-3);padding:var(--cg-space-4) 0}.deployment-summary[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.summary-columns[data-v-522cd4d9]{display:grid;grid-template-columns:1fr 1fr;gap:var(--cg-space-4)}.summary-column[data-v-522cd4d9]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.column-header[data-v-522cd4d9]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border-subtle);margin-bottom:var(--cg-space-1)}.pricing-row[data-v-522cd4d9]{display:flex;justify-content:space-between;align-items:center}.pricing-label[data-v-522cd4d9]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.pricing-value[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.pricing-divider[data-v-522cd4d9]{height:1px;background:var(--cg-color-border-subtle);margin:var(--cg-space-1) 0}.pricing-row.total .pricing-label[data-v-522cd4d9],.pricing-row.total .pricing-value[data-v-522cd4d9]{font-weight:var(--cg-font-weight-semibold)}.pricing-row.total .pricing-value[data-v-522cd4d9]{color:var(--cg-color-accent)}.spec-row[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.spec-row.spot-warning[data-v-522cd4d9]{color:var(--cg-color-warning);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-2)}.info-tooltip[data-v-522cd4d9]{cursor:help;color:var(--cg-color-text-muted);font-size:12px;margin-left:var(--cg-space-1)}.loading-text[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-align:center;padding:var(--cg-space-4)}.empty-remotes[data-v-522cd4d9]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-4);padding:var(--cg-space-6);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);text-align:center}.empty-message[data-v-522cd4d9]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2)}.empty-icon[data-v-522cd4d9]{font-size:var(--cg-font-size-2xl)}.empty-text[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium)}.empty-help[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:0}.remotes-list[data-v-522cd4d9]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.sync-warning[data-v-522cd4d9]{display:flex;gap:var(--cg-space-3);align-items:flex-start;padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);margin-top:var(--cg-space-3)}.sync-warning .warning-icon[data-v-522cd4d9]{flex-shrink:0;font-size:var(--cg-font-size-lg)}.sync-warning .warning-content[data-v-522cd4d9]{flex:1}.sync-warning .warning-content strong[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.sync-warning .warning-content p[data-v-522cd4d9]{margin:var(--cg-space-1) 0 0 0;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs)}.remotes-footer[data-v-522cd4d9]{margin-top:var(--cg-space-3);text-align:right}.progress-content[data-v-522cd4d9]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.phase-indicator[data-v-522cd4d9]{display:flex;align-items:center;gap:var(--cg-space-3)}.phase-icon[data-v-522cd4d9]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;border-radius:50%;background:var(--cg-color-bg-tertiary);border:2px solid var(--cg-color-border)}.phase-icon.ready[data-v-522cd4d9]{background:var(--cg-color-success-muted);border-color:var(--cg-color-success);color:var(--cg-color-success)}.phase-icon.error[data-v-522cd4d9]{background:var(--cg-color-error-muted);border-color:var(--cg-color-error);color:var(--cg-color-error)}.phase-icon.stopped[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border-color:var(--cg-color-border);color:var(--cg-color-text-muted)}.phase-icon .spinner[data-v-522cd4d9]{animation:spin-522cd4d9 1s linear infinite}@keyframes spin-522cd4d9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.phase-text[data-v-522cd4d9]{flex:1}.phase-name[data-v-522cd4d9]{font-size:var(--cg-font-size-md);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.phase-detail[data-v-522cd4d9]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-muted);margin-top:var(--cg-space-1)}.ready-actions[data-v-522cd4d9]{display:flex;justify-content:center;padding:var(--cg-space-2) 0}.console-link[data-v-522cd4d9]{text-align:center}.console-link a[data-v-522cd4d9]{color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);text-decoration:none}.console-link a[data-v-522cd4d9]:hover{text-decoration:underline}.worker-card[data-v-b1be7134]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-3);display:flex;flex-direction:column;gap:var(--cg-space-2)}.worker-card.offline[data-v-b1be7134]{opacity:.7}.worker-header[data-v-b1be7134]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2)}.worker-status[data-v-b1be7134]{display:flex;align-items:center;gap:var(--cg-space-2)}.status-dot[data-v-b1be7134]{width:8px;height:8px;border-radius:50%}.status-dot.online[data-v-b1be7134]{background:var(--cg-color-success);box-shadow:0 0 4px var(--cg-color-success)}.status-dot.offline[data-v-b1be7134]{background:var(--cg-color-text-muted)}.status-dot.unknown[data-v-b1be7134]{background:var(--cg-color-warning)}.worker-name[data-v-b1be7134]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary)}.worker-actions[data-v-b1be7134]{display:flex;gap:var(--cg-space-1)}.worker-details[data-v-b1be7134]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.detail-item[data-v-b1be7134]{display:flex;align-items:center;gap:var(--cg-space-1)}.detail-label[data-v-b1be7134]{color:var(--cg-color-text-muted)}.detail-value[data-v-b1be7134]{font-family:var(--cg-font-mono)}.mode-badge[data-v-b1be7134]{text-transform:capitalize;padding:1px 6px;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border)}.worker-stats[data-v-b1be7134]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);display:flex;align-items:center;gap:var(--cg-space-1)}.stat-item[data-v-b1be7134]{display:flex;align-items:center;gap:var(--cg-space-1)}.stat-value[data-v-b1be7134]{font-weight:var(--cg-font-weight-medium)}.stat-value.online[data-v-b1be7134]{color:var(--cg-color-success)}.stat-value.offline[data-v-b1be7134]{color:var(--cg-color-text-muted)}.add-worker-content[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.manual-form[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.form-row[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.form-row-inline[data-v-07a00732]{display:flex;gap:var(--cg-space-3)}.form-field[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.flex-1[data-v-07a00732]{flex:1}.flex-2[data-v-07a00732]{flex:2}.form-label[data-v-07a00732]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.form-input[data-v-07a00732]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-07a00732]:focus{outline:none;border-color:var(--cg-color-accent)}.api-key-wrapper[data-v-07a00732]{position:relative;display:flex;align-items:center}.api-key-wrapper .form-input[data-v-07a00732]{width:100%;padding-right:40px}.toggle-visibility[data-v-07a00732]{position:absolute;right:8px;background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:4px;font-size:14px}.toggle-visibility[data-v-07a00732]:hover{color:var(--cg-color-text-primary)}.form-help[data-v-07a00732]{display:flex;align-items:center;gap:var(--cg-space-1);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.help-icon[data-v-07a00732]{font-size:10px}.form-help code[data-v-07a00732]{padding:1px 4px;background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);color:var(--cg-color-accent)}.test-result[data-v-07a00732]{display:flex;align-items:flex-start;gap:var(--cg-space-2);padding:var(--cg-space-3)}.test-result.success[data-v-07a00732]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.test-result.error[data-v-07a00732]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error)}.result-icon[data-v-07a00732]{font-weight:700}.test-result.success .result-icon[data-v-07a00732]{color:var(--cg-color-success)}.test-result.error .result-icon[data-v-07a00732]{color:var(--cg-color-error)}.result-content[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.result-message[data-v-07a00732]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.result-detail[data-v-07a00732]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.modal-actions[data-v-07a00732]{display:flex;gap:var(--cg-space-2);justify-content:flex-end}.discovered-content[data-v-5a3e40a4]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.workers-list[data-v-5a3e40a4]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.worker-item[data-v-5a3e40a4]{display:flex;align-items:center;justify-content:space-between;padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border)}.worker-info[data-v-5a3e40a4]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.worker-name[data-v-5a3e40a4]{color:var(--cg-color-text-primary);font-weight:var(--cg-font-weight-medium);font-size:var(--cg-font-size-sm)}.worker-address[data-v-5a3e40a4]{color:var(--cg-color-text-muted);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.worker-gpu[data-v-5a3e40a4]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs)}.empty-state[data-v-5a3e40a4]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-6);text-align:center}.empty-icon[data-v-5a3e40a4]{font-size:24px;opacity:.5}.empty-text[data-v-5a3e40a4]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.empty-help[data-v-5a3e40a4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.empty-help code[data-v-5a3e40a4]{padding:1px 4px;background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);color:var(--cg-color-accent)}.api-key-section[data-v-5a3e40a4]{border-top:1px solid var(--cg-color-border-subtle);padding-top:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.selected-worker[data-v-5a3e40a4]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.selected-label[data-v-5a3e40a4]{color:var(--cg-color-text-muted)}.selected-name[data-v-5a3e40a4]{color:var(--cg-color-text-primary);font-weight:var(--cg-font-weight-medium)}.selected-address[data-v-5a3e40a4]{color:var(--cg-color-text-muted);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.form-row[data-v-5a3e40a4]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.form-label[data-v-5a3e40a4]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.form-input[data-v-5a3e40a4]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-5a3e40a4]:focus{outline:none;border-color:var(--cg-color-accent)}.api-key-wrapper[data-v-5a3e40a4]{position:relative;display:flex;align-items:center}.api-key-wrapper .form-input[data-v-5a3e40a4]{width:100%;padding-right:40px}.toggle-visibility[data-v-5a3e40a4]{position:absolute;right:8px;background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:4px;font-size:14px}.toggle-visibility[data-v-5a3e40a4]:hover{color:var(--cg-color-text-primary)}.form-help[data-v-5a3e40a4]{display:flex;align-items:center;gap:var(--cg-space-1);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.help-icon[data-v-5a3e40a4]{font-size:10px}.form-help code[data-v-5a3e40a4]{padding:1px 4px;background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);color:var(--cg-color-accent)}.test-result[data-v-5a3e40a4]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-sm)}.test-result.success[data-v-5a3e40a4]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.test-result.error[data-v-5a3e40a4]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error)}.result-icon[data-v-5a3e40a4]{font-weight:700}.test-result.success .result-icon[data-v-5a3e40a4]{color:var(--cg-color-success)}.test-result.error .result-icon[data-v-5a3e40a4]{color:var(--cg-color-error)}.result-message[data-v-5a3e40a4]{color:var(--cg-color-text-primary)}.modal-actions[data-v-5a3e40a4]{display:flex;gap:var(--cg-space-2);justify-content:flex-end}.deploy-content[data-v-c12720d3]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.section[data-v-c12720d3]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-label[data-v-c12720d3]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.loading-text[data-v-c12720d3]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);padding:var(--cg-space-3);text-align:center}.empty-remotes[data-v-c12720d3]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-4);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);text-align:center}.empty-icon[data-v-c12720d3]{font-size:var(--cg-font-size-xl)}.empty-text[data-v-c12720d3]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.empty-help[data-v-c12720d3]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:0}.remotes-list[data-v-c12720d3],.mode-options[data-v-c12720d3]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.mode-option[data-v-c12720d3]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer}.mode-option input[data-v-c12720d3]{accent-color:var(--cg-color-accent)}.mode-option input[data-v-c12720d3]:disabled{opacity:.5}.mode-label[data-v-c12720d3]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.form-input[data-v-c12720d3]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-c12720d3]:focus{outline:none;border-color:var(--cg-color-accent)}.summary-row[data-v-c12720d3]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.sync-warning[data-v-c12720d3]{display:flex;gap:var(--cg-space-3);align-items:flex-start;padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning)}.sync-warning .warning-icon[data-v-c12720d3]{flex-shrink:0;font-size:var(--cg-font-size-lg)}.sync-warning .warning-content[data-v-c12720d3]{flex:1}.sync-warning .warning-content strong[data-v-c12720d3]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.sync-warning .warning-content p[data-v-c12720d3]{margin:var(--cg-space-1) 0 0 0;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs)}.modal-actions[data-v-c12720d3]{display:flex;gap:var(--cg-space-2);justify-content:flex-end}.custom-tab[data-v-1637dead]{padding:var(--cg-space-3)}.section-header[data-v-1637dead]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--cg-space-3)}.section-title[data-v-1637dead]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.section-actions[data-v-1637dead]{display:flex;gap:var(--cg-space-2)}.loading-state[data-v-1637dead]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted)}.loading-state .spinner[data-v-1637dead]{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-1637dead .8s linear infinite;margin-bottom:var(--cg-space-2)}@keyframes spin-1637dead{to{transform:rotate(360deg)}}.empty-state[data-v-1637dead]{padding:var(--cg-space-2)}.empty-card[data-v-1637dead]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.empty-text[data-v-1637dead]{display:block;color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);margin-bottom:var(--cg-space-3)}.empty-help[data-v-1637dead]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:0 0 var(--cg-space-2) 0}.setup-steps[data-v-1637dead]{margin:0;padding-left:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);line-height:1.6}.setup-steps li[data-v-1637dead]{margin-bottom:var(--cg-space-2)}.setup-steps code[data-v-1637dead]{display:inline-block;margin-top:var(--cg-space-1);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-accent)}.workers-list[data-v-1637dead]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.scan-result[data-v-1637dead]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);margin-top:var(--cg-space-3);font-size:var(--cg-font-size-xs)}.scan-result.success[data-v-1637dead]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.scan-result.info[data-v-1637dead]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border)}.scan-icon[data-v-1637dead]{flex-shrink:0}.scan-result.success .scan-icon[data-v-1637dead]{color:var(--cg-color-success)}.scan-message[data-v-1637dead]{flex:1;color:var(--cg-color-text-primary)}.dismiss-btn[data-v-1637dead]{background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:0 var(--cg-space-1);font-size:var(--cg-font-size-md)}.dismiss-btn[data-v-1637dead]:hover{color:var(--cg-color-text-primary)}.settings-content[data-v-b21588ad]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.settings-section[data-v-b21588ad]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.section-header[data-v-b21588ad]{display:flex;align-items:center;gap:var(--cg-space-2)}.section-title[data-v-b21588ad]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);color:var(--cg-color-text-primary)}.section-description[data-v-b21588ad]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin:0;line-height:1.5}.ssh-warning[data-v-b21588ad]{display:flex;align-items:flex-start;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning)}.warning-icon[data-v-b21588ad]{color:var(--cg-color-warning);font-weight:700;font-size:var(--cg-font-size-sm)}.warning-content[data-v-b21588ad]{font-size:var(--cg-font-size-xs);line-height:1.5}.warning-content strong[data-v-b21588ad]{color:var(--cg-color-text-primary)}.warning-content p[data-v-b21588ad]{margin:var(--cg-space-1) 0 0 0;color:var(--cg-color-text-secondary)}.warning-content code[data-v-b21588ad]{padding:1px 4px;background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.form-row[data-v-b21588ad]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.form-label[data-v-b21588ad]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.token-wrapper[data-v-b21588ad]{display:flex;align-items:center;gap:var(--cg-space-1)}.form-input[data-v-b21588ad]{flex:1;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-b21588ad]:focus{outline:none;border-color:var(--cg-color-accent)}.toggle-visibility[data-v-b21588ad]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;cursor:pointer}.toggle-visibility[data-v-b21588ad]:hover{color:var(--cg-color-text-primary);border-color:var(--cg-color-border-strong)}.form-help[data-v-b21588ad]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-style:italic}.test-result[data-v-b21588ad]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-sm)}.test-result.success[data-v-b21588ad]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.test-result.error[data-v-b21588ad]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error)}.result-icon[data-v-b21588ad]{font-weight:700}.test-result.success .result-icon[data-v-b21588ad]{color:var(--cg-color-success)}.test-result.error .result-icon[data-v-b21588ad]{color:var(--cg-color-error)}.result-message[data-v-b21588ad]{color:var(--cg-color-text-primary)}.token-actions[data-v-b21588ad]{display:flex;gap:var(--cg-space-2)}.deploy-info[data-v-d4e32a10]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.info-section strong[data-v-d4e32a10]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.info-section p[data-v-d4e32a10]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);margin:var(--cg-space-1) 0 0 0;line-height:1.5}.info-section ul[data-v-d4e32a10]{margin:var(--cg-space-2) 0 0 0;padding-left:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);line-height:1.6}.info-section li[data-v-d4e32a10]{margin-bottom:var(--cg-space-1)}.info-section li strong[data-v-d4e32a10]{font-size:var(--cg-font-size-xs)}.header-info[data-v-d256ff6d]{flex:1;display:flex;flex-direction:column;gap:6px}.header-title[data-v-d256ff6d]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;font-weight:var(--cg-font-weight-normal)}.commit-hash[data-v-d256ff6d]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-base);color:var(--cg-color-info);font-weight:var(--cg-font-weight-semibold)}.commit-refs[data-v-d256ff6d]{display:flex;gap:6px;flex-wrap:wrap}.ref-badge[data-v-d256ff6d]{padding:2px 8px;background:transparent;border:1px solid var(--cg-color-accent);color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.commit-message[data-v-d256ff6d]{font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin-bottom:6px}.commit-date[data-v-d256ff6d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin-bottom:var(--cg-space-4)}.loading[data-v-d256ff6d]{text-align:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.changes-section[data-v-d256ff6d]{margin-top:var(--cg-space-2)}.stats-row[data-v-d256ff6d]{display:flex;gap:16px;padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);margin-bottom:var(--cg-space-4);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.stat[data-v-d256ff6d]{color:var(--cg-color-text-muted)}.stat.insertions[data-v-d256ff6d]{color:var(--cg-color-success)}.stat.deletions[data-v-d256ff6d]{color:var(--cg-color-error)}.change-group[data-v-d256ff6d]{margin-bottom:var(--cg-space-4)}.change-item[data-v-d256ff6d]{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);font-family:var(--cg-font-mono);background:var(--cg-color-bg-tertiary);border-left:2px solid transparent;margin-bottom:2px}.change-icon[data-v-d256ff6d]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-bold);width:14px;text-align:center;font-size:var(--cg-font-size-base)}.change-item.added[data-v-d256ff6d]{border-left-color:var(--cg-color-success)}.change-item.added .change-icon[data-v-d256ff6d]{color:var(--cg-color-success)}.change-item.modified[data-v-d256ff6d]{border-left-color:var(--cg-color-warning)}.change-item.modified .change-icon[data-v-d256ff6d]{color:var(--cg-color-warning)}.change-item.deleted[data-v-d256ff6d]{border-left-color:var(--cg-color-error)}.change-item.deleted .change-icon[data-v-d256ff6d]{color:var(--cg-color-error)}.version[data-v-d256ff6d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.base-textarea-wrapper[data-v-c6d16c93]{display:flex;flex-direction:column;gap:4px}.base-textarea[data-v-c6d16c93]{width:100%;padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:inherit;resize:vertical;line-height:var(--cg-line-height-normal);transition:all var(--cg-transition-fast)}.base-textarea[data-v-c6d16c93]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.base-textarea[data-v-c6d16c93]:disabled{opacity:.5;cursor:not-allowed}.base-textarea-count[data-v-c6d16c93]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-align:right}.base-checkbox[data-v-bf17c831]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.base-checkbox.disabled[data-v-bf17c831]{opacity:.5;cursor:not-allowed}.base-checkbox-input[data-v-bf17c831]{position:absolute;opacity:0;pointer-events:none}.base-checkbox-box[data-v-bf17c831]{width:18px;height:18px;border:2px solid var(--cg-color-border);border-radius:var(--cg-radius-sm);background:var(--cg-color-bg-tertiary);display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast);flex-shrink:0}.base-checkbox:hover:not(.disabled) .base-checkbox-box[data-v-bf17c831]{border-color:var(--cg-color-accent)}.base-checkbox-input:checked+.base-checkbox-box[data-v-bf17c831]{background:var(--cg-color-accent);border-color:var(--cg-color-accent);color:var(--cg-color-text-inverse)}.base-checkbox-input:focus+.base-checkbox-box[data-v-bf17c831]{box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.base-checkbox-label[data-v-bf17c831]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.modal-overlay[data-v-5f897631]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.commit-popover[data-v-5f897631]{background:var(--cg-color-bg-primary);border:2px solid var(--cg-color-border);box-shadow:var(--cg-shadow-xl);min-width:400px;max-width:500px;display:flex;flex-direction:column}.commit-popover.modal[data-v-5f897631]{border-radius:var(--cg-radius-lg);animation:modalSlideIn-5f897631 .2s ease}@keyframes modalSlideIn-5f897631{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.popover-header[data-v-5f897631]{padding:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:space-between;align-items:center}.popover-title[data-v-5f897631]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;flex:1}.close-btn[data-v-5f897631]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.close-btn[data-v-5f897631]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.popover-body[data-v-5f897631]{padding:var(--cg-space-3);max-height:400px;overflow-y:auto}.popover-footer[data-v-5f897631]{padding:var(--cg-space-3);border-top:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:flex-end;gap:8px}.changes-summary[data-v-5f897631]{background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-md);padding:8px;margin-bottom:12px;font-size:var(--cg-font-size-xs)}.change-item[data-v-5f897631]{display:flex;align-items:center;gap:6px;padding:2px 0}.change-icon[data-v-5f897631]{font-family:monospace;font-weight:600;width:12px;text-align:center}.change-icon.new[data-v-5f897631]{color:var(--cg-color-success)}.change-icon.modified[data-v-5f897631]{color:var(--cg-color-warning)}.change-icon.deleted[data-v-5f897631]{color:var(--cg-color-error)}.no-changes[data-v-5f897631],.loading[data-v-5f897631]{text-align:center;padding:12px;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.message-section[data-v-5f897631]{margin-bottom:8px}.issues-error[data-v-5f897631]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-md);padding:10px;margin-bottom:12px}.error-header[data-v-5f897631]{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--cg-color-error)}.error-icon[data-v-5f897631]{font-size:14px;line-height:1}.error-title[data-v-5f897631]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium)}.issues-list[data-v-5f897631]{margin-bottom:10px;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.issue-item[data-v-5f897631]{padding:4px 0;line-height:1.4}.issue-item strong[data-v-5f897631]{color:var(--cg-color-text-primary)}.workflow-state[data-v-5f897631]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin-left:4px}.allow-issues-toggle[data-v-5f897631]{margin-top:8px;font-size:var(--cg-font-size-xs)}.modal-overlay[data-v-e9c5253e]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-e9c5253e]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-e9c5253e]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.modal-title[data-v-e9c5253e]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-e9c5253e]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color var(--cg-transition-fast)}.modal-close[data-v-e9c5253e]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-e9c5253e]{padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.switch-message[data-v-e9c5253e]{margin:0;font-size:var(--cg-font-size-base);color:var(--cg-color-text-primary);line-height:1.5}.switch-message strong[data-v-e9c5253e]{color:var(--cg-color-accent);font-family:var(--cg-font-mono)}.warning-box[data-v-e9c5253e]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-warning)}.warning-icon[data-v-e9c5253e]{font-size:var(--cg-font-size-lg);flex-shrink:0}.switch-details[data-v-e9c5253e]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);line-height:1.5}.switch-eta[data-v-e9c5253e]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-muted);font-style:italic}.modal-actions[data-v-e9c5253e]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.modal-overlay[data-v-768a5078]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content[data-v-768a5078]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-accent);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-xl),0 0 20px var(--cg-color-accent-muted);max-width:500px;width:90%;animation:modalSlideIn-768a5078 .3s ease}@keyframes modalSlideIn-768a5078{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-768a5078]{padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle);text-align:center}.modal-title[data-v-768a5078]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-body[data-v-768a5078]{padding:var(--cg-space-5);display:flex;flex-direction:column;gap:var(--cg-space-4)}.progress-info[data-v-768a5078]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-2)}.progress-percentage[data-v-768a5078]{font-size:var(--cg-font-size-xl);font-weight:var(--cg-font-weight-bold);color:var(--cg-color-accent);font-family:var(--cg-font-mono)}.progress-state[data-v-768a5078]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);text-align:right;flex:1}.switch-steps[data-v-768a5078]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm)}.switch-step[data-v-768a5078]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);transition:all var(--cg-transition-fast)}.switch-step.pending[data-v-768a5078],.switch-step.pending .step-icon[data-v-768a5078]{color:var(--cg-color-text-muted)}.switch-step.active[data-v-768a5078]{color:var(--cg-color-accent);font-weight:var(--cg-font-weight-medium)}.switch-step.active .step-icon[data-v-768a5078]{color:var(--cg-color-accent);animation:spin-768a5078 1s linear infinite}@keyframes spin-768a5078{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.switch-step.completed[data-v-768a5078],.switch-step.completed .step-icon[data-v-768a5078]{color:var(--cg-color-success)}.step-icon[data-v-768a5078]{flex-shrink:0;font-size:var(--cg-font-size-base);width:16px;display:inline-block;text-align:center}.step-label[data-v-768a5078]{flex:1}.progress-warning[data-v-768a5078]{margin:0;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-info-muted);border:1px solid var(--cg-color-info);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-info);text-align:center}.modal-overlay[data-v-7cad7518]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-7cad7518]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-7cad7518]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.modal-title[data-v-7cad7518]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-7cad7518]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color var(--cg-transition-fast)}.modal-close[data-v-7cad7518]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-7cad7518]{padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.sync-message[data-v-7cad7518]{margin:0;font-size:var(--cg-font-size-base);color:var(--cg-color-text-primary);line-height:1.5}.node-section[data-v-7cad7518]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-title[data-v-7cad7518]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.node-list[data-v-7cad7518]{display:flex;flex-direction:column;gap:var(--cg-space-1);max-height:200px;overflow-y:auto;padding:var(--cg-space-2);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.node-item[data-v-7cad7518]{font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);line-height:1.5}.node-item.add[data-v-7cad7518]{color:var(--cg-color-info)}.node-item.remove[data-v-7cad7518]{color:var(--cg-color-warning)}.warning-box[data-v-7cad7518]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-warning)}.warning-icon[data-v-7cad7518]{font-size:var(--cg-font-size-lg);flex-shrink:0}.modal-actions[data-v-7cad7518]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.social-buttons[data-v-4f846342]{display:flex;align-items:center;gap:4px}.icon-btn[data-v-4f846342]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center}.icon-btn[data-v-4f846342]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.sponsor-btn[data-v-4f846342]{gap:4px;padding:4px 8px;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-secondary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);opacity:.7}.sponsor-btn[data-v-4f846342]:hover{opacity:1;border-color:#db61a2;color:#db61a2}.icon-btn.social-link[data-v-4f846342]{opacity:.7}.icon-btn.social-link[data-v-4f846342]:hover{opacity:1}.footer-info[data-v-8bc3db0a]{display:flex;align-items:center;gap:var(--cg-space-3);font-size:10px;color:var(--cg-color-text-muted)}.version[data-v-8bc3db0a]{opacity:.7}.made-by[data-v-8bc3db0a]{display:flex;align-items:center;gap:2px}.heart-icon[data-v-8bc3db0a]{color:#db61a2}[data-v-fac00ae7] .base-modal-overlay{z-index:10004}.base-modal-title[data-v-9a9aadc0]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;flex:1}.header-actions[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2)}.wizard-step[data-v-9a9aadc0]{min-height:300px}.wizard-intro[data-v-9a9aadc0]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);line-height:1.6;margin-bottom:var(--cg-space-4)}.form-field[data-v-9a9aadc0]{display:flex;flex-direction:column;gap:var(--cg-space-1);margin-bottom:var(--cg-space-4)}.form-field--checkbox[data-v-9a9aadc0]{flex-direction:row;align-items:center}.form-label[data-v-9a9aadc0]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.form-input[data-v-9a9aadc0],.form-select[data-v-9a9aadc0]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);padding:var(--cg-space-2) var(--cg-space-3);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-9a9aadc0]:hover,.form-select[data-v-9a9aadc0]:hover{border-color:var(--cg-color-border)}.form-input[data-v-9a9aadc0]:focus,.form-select[data-v-9a9aadc0]:focus{outline:none;border-color:var(--cg-color-accent)}.form-select[data-v-9a9aadc0]{cursor:pointer}.form-select[data-v-9a9aadc0]:disabled{opacity:.5;cursor:not-allowed}.form-checkbox[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.form-checkbox input[type=checkbox][data-v-9a9aadc0]{width:16px;height:16px;accent-color:var(--cg-color-accent);cursor:pointer}.form-error[data-v-9a9aadc0]{color:var(--cg-color-error);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.form-info[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.form-suggestion[data-v-9a9aadc0]{color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.cli-warning[data-v-9a9aadc0]{background:#ffc1071a;border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);padding:var(--cg-space-3);margin-bottom:var(--cg-space-4)}.cli-warning-header[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.cli-warning-title[data-v-9a9aadc0]{flex:1}.cli-warning-close[data-v-9a9aadc0]{background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;opacity:.7}.cli-warning-close[data-v-9a9aadc0]:hover{opacity:1;color:var(--cg-color-text-primary)}.cli-warning-icon[data-v-9a9aadc0]{color:var(--cg-color-warning);font-size:var(--cg-font-size-lg);font-weight:700}.cli-warning-title[data-v-9a9aadc0]{font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.cli-warning-text[data-v-9a9aadc0]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin:0 0 var(--cg-space-2) 0;line-height:1.5}.cli-warning-commands[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.cli-warning-commands code[data-v-9a9aadc0]{background:var(--cg-color-bg-primary);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.cli-warning-or[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.env-landing[data-v-9a9aadc0]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.landing-option[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle);cursor:pointer;text-align:left;width:100%;transition:all var(--cg-transition-fast)}.landing-option[data-v-9a9aadc0]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-tertiary)}.option-icon[data-v-9a9aadc0]{font-size:var(--cg-font-size-2xl);flex-shrink:0}.option-content[data-v-9a9aadc0]{flex:1;display:flex;flex-direction:column;gap:var(--cg-space-1)}.option-title[data-v-9a9aadc0]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.option-description[data-v-9a9aadc0]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.option-arrow[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-lg)}.landing-divider[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-4);margin:var(--cg-space-2) 0}.landing-divider[data-v-9a9aadc0]:before,.landing-divider[data-v-9a9aadc0]:after{content:"";flex:1;height:1px;background:var(--cg-color-border-subtle)}.landing-divider span[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-transform:lowercase}.env-list[data-v-9a9aadc0]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.env-option[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm);cursor:pointer;transition:all var(--cg-transition-fast)}.env-option[data-v-9a9aadc0]:hover{border-color:var(--cg-color-border)}.env-option.selected[data-v-9a9aadc0]{border-color:var(--cg-color-accent);background:var(--cg-color-bg-tertiary)}.env-option input[type=radio][data-v-9a9aadc0]{accent-color:var(--cg-color-accent)}.env-name[data-v-9a9aadc0]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.env-create[data-v-9a9aadc0],.env-import[data-v-9a9aadc0]{display:flex;flex-direction:column}.env-creating[data-v-9a9aadc0]{display:flex;flex-direction:column;gap:var(--cg-space-4);padding:var(--cg-space-4)}.creating-intro[data-v-9a9aadc0]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-base);margin:0;text-align:center}.creating-intro strong[data-v-9a9aadc0]{color:var(--cg-color-text-primary)}.progress-warning[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-align:center;margin:0}.progress-check-loading[data-v-9a9aadc0]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--cg-space-3);padding:var(--cg-space-8);min-height:200px}.loading-spinner[data-v-9a9aadc0]{width:32px;height:32px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-9a9aadc0 .8s linear infinite}@keyframes spin-9a9aadc0{to{transform:rotate(360deg)}}.loading-text[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.icon-btn[data-v-9a9aadc0]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center}.icon-btn[data-v-9a9aadc0]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.header-divider[data-v-9a9aadc0]{width:1px;height:16px;background:var(--cg-color-border-subtle);margin:0 4px;align-self:center}.wizard-footer[data-v-9a9aadc0]{display:flex;justify-content:space-between;align-items:center;width:100%}.wizard-footer-actions[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2)}.comfygit-panel[data-v-45a711b4]{display:flex;flex-direction:column;height:70vh;width:100%;background:var(--cg-color-bg-primary);color:var(--cg-color-text-primary);border:2px solid var(--cg-color-border);overflow:hidden;font-family:var(--cg-font-mono)}.panel-header[data-v-45a711b4]{padding:var(--cg-space-3) var(--cg-space-4);border-bottom:1px solid var(--cg-color-border);display:flex;justify-content:space-between;align-items:center;background:var(--cg-color-bg-tertiary);flex-shrink:0}.header-left[data-v-45a711b4]{display:flex;align-items:center;gap:12px}.panel-title[data-v-45a711b4]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);margin:0;color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.header-info[data-v-45a711b4]{display:flex;align-items:center;gap:6px;font-size:var(--cg-font-size-xs)}.env-name[data-v-45a711b4]{color:var(--cg-color-text-secondary)}.branch-name[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.status-dot[data-v-45a711b4]{width:8px;height:8px;border-radius:50%}.status-dot.success[data-v-45a711b4]{background:var(--cg-color-success)}.status-dot.warning[data-v-45a711b4]{background:var(--cg-color-warning)}.status-dot.error[data-v-45a711b4]{background:var(--cg-color-error)}.status-dot.neutral[data-v-45a711b4]{background:var(--cg-color-text-muted)}.header-actions[data-v-45a711b4]{display:flex;gap:4px}.icon-btn[data-v-45a711b4]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center}.icon-btn[data-v-45a711b4]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.icon-btn.spinning svg[data-v-45a711b4]{animation:spin-45a711b4 1s linear infinite}@keyframes spin-45a711b4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-divider[data-v-45a711b4]{width:1px;height:16px;background:var(--cg-color-border-subtle);margin:0 4px;align-self:center}.env-switcher[data-v-45a711b4]{padding:var(--cg-space-3) var(--cg-space-4);border-bottom:1px solid var(--cg-color-border);background:var(--cg-color-bg-secondary);flex-shrink:0}.env-switcher-header[data-v-45a711b4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.env-switcher-label[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.env-control-buttons[data-v-45a711b4]{display:flex;gap:var(--cg-space-2)}.env-control-btn[data-v-45a711b4]{padding:2px 8px;font-family:var(--cg-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);background:transparent;border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);cursor:pointer;transition:all var(--cg-transition-fast)}.env-control-btn[data-v-45a711b4]:hover{border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.env-control-btn.stop[data-v-45a711b4]{border-color:var(--cg-color-error);color:var(--cg-color-error);opacity:.7}.env-control-btn.stop[data-v-45a711b4]:hover{opacity:1}.env-switcher-btn[data-v-45a711b4]{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);padding:8px 12px;cursor:pointer;font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.env-switcher-btn[data-v-45a711b4]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.switch-indicator[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.panel-main[data-v-45a711b4]{display:flex;flex:1;overflow:hidden}.sidebar[data-v-45a711b4]{width:234px;background:var(--cg-color-bg-tertiary);border-right:1px solid var(--cg-color-border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-content[data-v-45a711b4]{flex:1;overflow-y:auto}.sidebar-footer[data-v-45a711b4]{padding:var(--cg-space-2) var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle);flex-shrink:0}.sidebar-section[data-v-45a711b4]{padding:var(--cg-space-3) 0}.sidebar-section-title[data-v-45a711b4]{padding:0 var(--cg-space-3);margin-bottom:var(--cg-space-2);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.sidebar-item[data-v-45a711b4]{width:100%;padding:8px var(--cg-space-3);background:transparent;border:none;border-left:2px solid transparent;color:var(--cg-color-text-secondary);text-align:left;cursor:pointer;font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-normal)}.sidebar-item[data-v-45a711b4]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-accent)}.sidebar-item.active[data-v-45a711b4]{border-left-color:var(--cg-color-accent);color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.sidebar-badge[data-v-45a711b4]{margin-left:auto;padding:1px 6px;background:var(--cg-color-success);color:var(--cg-color-bg-primary);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold)}.sidebar-divider[data-v-45a711b4]{height:1px;background:var(--cg-color-border-subtle);margin:var(--cg-space-2) var(--cg-space-3)}.content-area[data-v-45a711b4]{flex:1;overflow-y:auto;padding:var(--cg-space-4);-webkit-user-select:text;user-select:text}.loading[data-v-45a711b4]{text-align:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted)}.error-message[data-v-45a711b4]{background:transparent;border:1px solid var(--cg-color-error);padding:var(--cg-space-3);color:var(--cg-color-error);font-size:var(--cg-font-size-sm);-webkit-user-select:text;user-select:text;cursor:text}.view-placeholder[data-v-45a711b4]{padding:var(--cg-space-4)}.view-title[data-v-45a711b4]{color:var(--cg-color-accent);font-size:var(--cg-font-size-lg);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin:0 0 var(--cg-space-4) 0}.view-placeholder p[data-v-45a711b4]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-base)}.dialog-overlay[data-v-45a711b4]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10003}.dialog-content[data-v-45a711b4]{background:var(--cg-color-bg-primary);border:2px solid var(--cg-color-border);box-shadow:0 0 16px #00ff4180;max-width:780px;width:90vw;max-height:80vh;display:flex;flex-direction:column}.env-selector-dialog[data-v-45a711b4]{width:780px}.dialog-header[data-v-45a711b4]{padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:space-between;align-items:center}.dialog-title[data-v-45a711b4]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);text-shadow:0 0 8px var(--cg-color-accent);margin:0}.dialog-body[data-v-45a711b4]{padding:var(--cg-space-4);overflow-y:auto}.dialog-message[data-v-45a711b4]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);margin:0 0 var(--cg-space-4) 0}.env-list[data-v-45a711b4]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.env-item[data-v-45a711b4]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-3);border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary)}.env-item.current[data-v-45a711b4]{border-color:var(--cg-color-accent)}.env-info[data-v-45a711b4]{flex:1}.env-name-row[data-v-45a711b4]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.env-indicator[data-v-45a711b4]{color:var(--cg-color-accent)}.env-name[data-v-45a711b4]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.env-branch[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.current-label[data-v-45a711b4]{margin-left:auto;padding:2px 8px;background:transparent;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.env-stats[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.switch-btn[data-v-45a711b4]{padding:6px 12px;background:transparent;border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);cursor:pointer}.switch-btn[data-v-45a711b4]:hover{border-color:var(--cg-color-accent);color:var(--cg-color-accent);box-shadow:0 0 8px #00ff414d}.toast-container[data-v-45a711b4]{position:fixed;bottom:16px;right:16px;z-index:10004;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast[data-v-45a711b4]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);box-shadow:0 0 8px #00ff4166;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-primary);pointer-events:auto;min-width:234px;max-width:390px;font-family:var(--cg-font-mono)}.toast.info[data-v-45a711b4]{border-left:3px solid var(--cg-color-info)}.toast.success[data-v-45a711b4]{border-left:3px solid var(--cg-color-success)}.toast.warning[data-v-45a711b4]{border-left:3px solid var(--cg-color-warning)}.toast.error[data-v-45a711b4]{border-left:3px solid var(--cg-color-error)}.toast-message[data-v-45a711b4]{flex:1}.toast-enter-active[data-v-45a711b4],.toast-leave-active[data-v-45a711b4]{transition:all .3s ease}.toast-enter-from[data-v-45a711b4],.toast-leave-to[data-v-45a711b4]{opacity:0;transform:translate(100%)}.toast-move[data-v-45a711b4]{transition:transform .3s ease}.sidebar-content[data-v-45a711b4]::-webkit-scrollbar,.content-area[data-v-45a711b4]::-webkit-scrollbar{width:8px}.sidebar-content[data-v-45a711b4]::-webkit-scrollbar-track,.content-area[data-v-45a711b4]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.sidebar-content[data-v-45a711b4]::-webkit-scrollbar-thumb,.content-area[data-v-45a711b4]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.sidebar-content[data-v-45a711b4]::-webkit-scrollbar-thumb:hover,.content-area[data-v-45a711b4]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.download-item[data-v-2110df65]{padding:var(--cg-space-2);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle)}.download-item.status-downloading[data-v-2110df65]{border-color:var(--cg-color-accent)}.download-item.status-completed[data-v-2110df65]{border-color:var(--cg-color-success)}.download-item.status-failed[data-v-2110df65]{border-color:var(--cg-color-error)}.download-item.status-paused[data-v-2110df65]{border-color:var(--cg-color-warning)}.item-header[data-v-2110df65]{display:flex;justify-content:space-between;align-items:flex-start}.item-info[data-v-2110df65]{flex:1;min-width:0}.filename[data-v-2110df65]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metadata[data-v-2110df65]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin-top:2px;display:flex;gap:var(--cg-space-2)}.item-actions[data-v-2110df65]{display:flex;gap:4px;flex-shrink:0}.action-icon[data-v-2110df65]{width:20px;height:20px;padding:0;background:transparent;border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.action-icon[data-v-2110df65]:hover{background:var(--cg-color-bg-hover)}.action-icon.cancel[data-v-2110df65]:hover,.action-icon.remove[data-v-2110df65]:hover{border-color:var(--cg-color-error);color:var(--cg-color-error)}.action-icon.retry[data-v-2110df65]:hover{border-color:var(--cg-color-warning);color:var(--cg-color-warning)}.action-icon.resume[data-v-2110df65]{font-size:10px}.action-icon.resume[data-v-2110df65]:hover{border-color:var(--cg-color-success);color:var(--cg-color-success)}.progress-section[data-v-2110df65]{margin-top:var(--cg-space-1)}.progress-bar[data-v-2110df65]{height:3px;background:var(--cg-color-bg-tertiary);border-radius:2px;overflow:hidden}.progress-fill[data-v-2110df65]{height:100%;background:var(--cg-color-accent);transition:width .2s ease}.progress-stats[data-v-2110df65]{display:flex;justify-content:space-between;margin-top:2px;font-size:10px;color:var(--cg-color-text-muted);font-family:var(--cg-font-mono)}.speed[data-v-2110df65]{color:var(--cg-color-accent)}.status-msg[data-v-2110df65]{font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.status-msg.paused[data-v-2110df65]{color:var(--cg-color-warning)}.status-msg.queued[data-v-2110df65]{color:var(--cg-color-text-muted)}.status-msg.completed[data-v-2110df65]{color:var(--cg-color-success)}.status-msg.failed[data-v-2110df65]{color:var(--cg-color-error)}.retries[data-v-2110df65]{opacity:.7}.model-download-queue[data-v-60751cfa]{position:fixed;bottom:16px;right:340px;width:360px;background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);box-shadow:0 2px 12px #0000004d;z-index:0;display:flex;flex-direction:column;overflow:hidden}.queue-header[data-v-60751cfa]{padding:var(--cg-space-2) var(--cg-space-3);border-bottom:1px solid var(--cg-color-border);display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--cg-color-bg-secondary)}.queue-header[data-v-60751cfa]:hover{background:var(--cg-color-bg-hover)}.queue-title[data-v-60751cfa]{display:flex;align-items:center;gap:var(--cg-space-2);color:var(--cg-color-text-primary);font-weight:var(--cg-font-weight-semibold);font-size:var(--cg-font-size-sm)}.icon[data-v-60751cfa]{font-size:var(--cg-font-size-base)}.count[data-v-60751cfa]{color:var(--cg-color-text-muted);font-weight:400;font-size:var(--cg-font-size-xs)}.action-label[data-v-60751cfa]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:lowercase;font-style:italic}.overall-progress[data-v-60751cfa]{padding:var(--cg-space-2) var(--cg-space-3)}.progress-bar[data-v-60751cfa]{height:4px;background:var(--cg-color-bg-tertiary);border-radius:2px;overflow:hidden}.progress-fill[data-v-60751cfa]{height:100%;background:var(--cg-color-accent);transition:width .3s ease}.current-mini[data-v-60751cfa]{display:flex;justify-content:space-between;margin-top:var(--cg-space-1);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.current-mini .filename[data-v-60751cfa]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-mini .speed[data-v-60751cfa]{color:var(--cg-color-accent);font-family:var(--cg-font-mono)}.queue-content[data-v-60751cfa]{max-height:450px;overflow-y:auto;padding:var(--cg-space-2);display:flex;flex-direction:column;gap:var(--cg-space-2)}.section[data-v-60751cfa]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.section-header[data-v-60751cfa]{display:flex;justify-content:space-between;align-items:center}.section-label[data-v-60751cfa]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.section-label.failed[data-v-60751cfa]{color:var(--cg-color-error)}.section-label.paused[data-v-60751cfa]{color:var(--cg-color-warning)}.resume-all-btn[data-v-60751cfa]{padding:4px 10px;background:var(--cg-color-warning);border:none;color:#000;font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);cursor:pointer}.resume-all-btn[data-v-60751cfa]:hover{filter:brightness(1.1)}.clear-btn[data-v-60751cfa]{padding:2px 6px;background:transparent;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);cursor:pointer}.clear-btn[data-v-60751cfa]:hover{color:var(--cg-color-error);border-color:var(--cg-color-error)}.items-list[data-v-60751cfa]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.detail-header[data-v-fac0fef0]{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--cg-space-3);margin-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.item-count[data-v-fac0fef0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.resource-list[data-v-fac0fef0]{display:flex;flex-direction:column;background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-md);padding:var(--cg-space-2)}.resource-item[data-v-fac0fef0]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);padding:var(--cg-space-2)}.resource-item[data-v-fac0fef0]:not(:last-child){border-bottom:1px solid var(--cg-color-border)}.item-info[data-v-fac0fef0]{display:flex;align-items:center;gap:var(--cg-space-2);flex:1;min-width:0}.item-name[data-v-fac0fef0]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-subtitle[data-v-fac0fef0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);flex-shrink:0}.no-action[data-v-fac0fef0]{color:var(--cg-color-warning);font-style:italic;font-size:var(--cg-font-size-xs);white-space:nowrap}.queued-badge[data-v-fac0fef0],.installing-badge[data-v-fac0fef0],.failed-badge[data-v-fac0fef0],.installed-badge[data-v-fac0fef0]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);white-space:nowrap}.queued-badge[data-v-fac0fef0]{color:var(--cg-color-warning);background:color-mix(in srgb,var(--cg-color-warning) 15%,transparent)}.installing-badge[data-v-fac0fef0]{color:var(--cg-color-accent);background:color-mix(in srgb,var(--cg-color-accent) 15%,transparent)}.failed-badge[data-v-fac0fef0]{color:var(--cg-color-error);background:color-mix(in srgb,var(--cg-color-error) 15%,transparent);cursor:help}.installed-badge[data-v-fac0fef0]{color:var(--cg-color-success);background:color-mix(in srgb,var(--cg-color-success) 15%,transparent)}.loading-state[data-v-512ff6ab]{display:flex;align-items:center;justify-content:center;padding:var(--cg-space-8);gap:var(--cg-space-3);color:var(--cg-color-text-muted)}.loading-spinner[data-v-512ff6ab]{width:24px;height:24px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-512ff6ab .8s linear infinite}@keyframes spin-512ff6ab{to{transform:rotate(360deg)}}.section[data-v-512ff6ab]{margin-bottom:var(--cg-space-4)}.section-header[data-v-512ff6ab]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.section-title[data-v-512ff6ab]{font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.item-list[data-v-512ff6ab]{background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-md);padding:var(--cg-space-2)}.item[data-v-512ff6ab]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-1) var(--cg-space-2);font-size:var(--cg-font-size-sm)}.package-item[data-v-512ff6ab],.model-item[data-v-512ff6ab]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);padding:var(--cg-space-2)}.package-item[data-v-512ff6ab]:not(:last-child),.model-item[data-v-512ff6ab]:not(:last-child){border-bottom:1px solid var(--cg-color-border)}.package-info[data-v-512ff6ab],.model-info[data-v-512ff6ab]{display:flex;align-items:center;gap:var(--cg-space-2);flex:1;min-width:0}.package-name[data-v-512ff6ab]{font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.node-count[data-v-512ff6ab]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.node-type[data-v-512ff6ab]{font-family:var(--cg-font-mono);background:var(--cg-color-bg-secondary);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);color:var(--cg-color-accent);font-size:var(--cg-font-size-xs)}.model-name[data-v-512ff6ab]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.not-found[data-v-512ff6ab],.no-url[data-v-512ff6ab]{color:var(--cg-color-warning);font-style:italic;font-size:var(--cg-font-size-xs);white-space:nowrap}.queued-badge[data-v-512ff6ab],.installing-badge[data-v-512ff6ab],.failed-badge[data-v-512ff6ab],.installed-badge[data-v-512ff6ab]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm)}.queued-badge[data-v-512ff6ab]{color:var(--cg-color-warning);background:color-mix(in srgb,var(--cg-color-warning) 15%,transparent)}.installing-badge[data-v-512ff6ab]{color:var(--cg-color-accent);background:color-mix(in srgb,var(--cg-color-accent) 15%,transparent)}.failed-badge[data-v-512ff6ab]{color:var(--cg-color-error);background:color-mix(in srgb,var(--cg-color-error) 15%,transparent);cursor:help}.installed-badge[data-v-512ff6ab]{color:var(--cg-color-success);background:color-mix(in srgb,var(--cg-color-success) 15%,transparent)}.show-all-row[data-v-512ff6ab]{display:flex;align-items:center;justify-content:space-between;padding:var(--cg-space-2);color:var(--cg-color-accent);cursor:pointer;font-size:var(--cg-font-size-sm);border-top:1px solid var(--cg-color-border)}.show-all-row[data-v-512ff6ab]:hover{background:var(--cg-color-bg-hover)}.show-all-arrow[data-v-512ff6ab]{opacity:.6}.overflow-note[data-v-512ff6ab]{padding:var(--cg-space-1) var(--cg-space-2);color:var(--cg-color-text-muted);font-style:italic;font-size:var(--cg-font-size-xs)}.dont-show-again[data-v-512ff6ab]{margin-top:var(--cg-space-4);padding-top:var(--cg-space-3);border-top:1px solid var(--cg-color-border)}[data-comfygit-theme]{user-select:text;-webkit-user-select:text}:root{--cg-font-display: system-ui, sans-serif;--cg-font-body: system-ui, sans-serif;--cg-font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--cg-font-size-xs: 10px;--cg-font-size-sm: 12px;--cg-font-size-base: 14px;--cg-font-size-lg: 16px;--cg-font-size-xl: 20px;--cg-font-size-2xl: 24px;--cg-font-weight-normal: 400;--cg-font-weight-medium: 500;--cg-font-weight-semibold: 600;--cg-font-weight-bold: 700;--cg-line-height-tight: 1.2;--cg-line-height-normal: 1.5;--cg-line-height-relaxed: 1.75;--cg-letter-spacing-tight: -.02em;--cg-letter-spacing-normal: 0;--cg-letter-spacing-wide: .05em;--cg-letter-spacing-wider: .1em;--cg-color-bg-primary: #353535;--cg-color-bg-secondary: #2a2a2a;--cg-color-bg-tertiary: #222222;--cg-color-bg-hover: #404040;--cg-color-bg-overlay: rgba(0, 0, 0, .5);--cg-color-text-primary: #dddddd;--cg-color-text-secondary: #999999;--cg-color-text-muted: #666666;--cg-color-text-inverse: #111111;--cg-color-border: #4a4a4a;--cg-color-border-subtle: #3a3a3a;--cg-color-border-strong: #5a5a5a;--cg-color-accent: #f97316;--cg-color-accent-hover: #ea580c;--cg-color-accent-muted: rgba(249, 115, 22, .2);--cg-color-success: #22c55e;--cg-color-success-muted: rgba(34, 197, 94, .15);--cg-color-warning: #fbbf24;--cg-color-warning-muted: rgba(251, 191, 36, .15);--cg-color-error: #ef4444;--cg-color-error-muted: rgba(239, 68, 68, .15);--cg-color-info: #3b82f6;--cg-color-info-muted: rgba(59, 130, 246, .15);--cg-space-0-5: 2px;--cg-space-1: 4px;--cg-space-2: 8px;--cg-space-3: 12px;--cg-space-4: 16px;--cg-space-5: 20px;--cg-space-6: 24px;--cg-space-8: 32px;--cg-space-10: 40px;--cg-space-12: 48px;--cg-radius-none: 0;--cg-radius-sm: 2px;--cg-radius-md: 4px;--cg-radius-lg: 8px;--cg-radius-xl: 12px;--cg-radius-2xl: 16px;--cg-radius-full: 9999px;--cg-shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--cg-shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--cg-shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--cg-shadow-xl: 0 16px 48px rgba(0, 0, 0, .5);--cg-blur-sm: 4px;--cg-blur-md: 8px;--cg-blur-lg: 16px;--cg-transition-fast: .1s ease;--cg-transition-normal: .2s ease;--cg-transition-slow: .3s ease;--cg-z-dropdown: 100;--cg-z-modal: 1000;--cg-z-popover: 1001;--cg-z-tooltip: 1002;--cg-panel-width: 580px;--cg-panel-height: 70vh;--cg-panel-max-width: 90vw;--cg-panel-max-height: 85vh;--cg-btn-gradient-start: #fb923c;--cg-btn-gradient-end: #ea580c;--cg-btn-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(0, 0, 0, .15);--cg-decoration-title-prefix: "";--cg-decoration-label-prefix: "";--cg-decoration-label-suffix: "";--cg-decoration-status-animation: none;--cg-decoration-status-shape: circle;--cg-shadow-accent: rgba(249, 115, 22, .3);--cg-shadow-accent-strong: rgba(249, 115, 22, .5);--cg-shadow-error: rgba(239, 68, 68, .3);--cg-shadow-success: rgba(34, 197, 94, .3);--cg-text-shadow-title: none;--cg-text-shadow-accent: none}
+.panel-layout[data-v-21565df9]{display:flex;flex-direction:column;height:100%}.panel-layout-content[data-v-21565df9]{flex:1;overflow-y:auto;min-height:0}.panel-layout-content[data-v-21565df9]::-webkit-scrollbar{width:8px}.panel-layout-content[data-v-21565df9]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.panel-layout-content[data-v-21565df9]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.panel-layout-content[data-v-21565df9]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.panel-title[data-v-c3875efc]{margin:0;font-weight:var(--cg-font-weight-normal);text-shadow:var(--cg-text-shadow-title)}.panel-title.view[data-v-c3875efc]{color:var(--cg-color-accent);font-size:var(--cg-font-size-lg);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.panel-title.dialog[data-v-c3875efc]{color:var(--cg-color-accent);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.panel-title-prefix[data-v-c3875efc]{opacity:.7}.panel-title-prefix-theme[data-v-c3875efc]:before{content:var(--cg-decoration-title-prefix);opacity:.7}.info-button[data-v-6fc7f16d]{background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:var(--cg-space-0-5);display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast)}.info-button[data-v-6fc7f16d]:hover{color:var(--cg-color-accent);transform:scale(1.1)}.panel-header[data-v-55a62cd6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--cg-space-4)}.panel-header.stacked[data-v-55a62cd6]{flex-direction:column;align-items:flex-start;gap:var(--cg-space-3)}.header-left[data-v-55a62cd6]{display:flex;align-items:center;gap:var(--cg-space-2)}.header-actions[data-v-55a62cd6]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.section-title[data-v-559361eb]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin:0;font-weight:var(--cg-font-weight-normal);text-shadow:var(--cg-text-shadow-accent)}.section-title[data-v-559361eb]:before{content:var(--cg-decoration-label-prefix)}.section-title[data-v-559361eb]:after{content:var(--cg-decoration-label-suffix)}.section-title.clickable[data-v-559361eb]{cursor:pointer;-webkit-user-select:none;user-select:none}.section-title.clickable[data-v-559361eb]:hover{color:var(--cg-color-accent)}.section-title-count[data-v-559361eb]{margin-left:var(--cg-space-1)}.section-title-icon[data-v-559361eb]{margin-left:var(--cg-space-2);font-size:var(--cg-font-size-xs)}.status-grid[data-v-73b7ba3f]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-md);overflow:hidden}.status-grid__columns[data-v-73b7ba3f]{display:grid;grid-template-columns:1fr 1fr;gap:0}.status-grid__column[data-v-73b7ba3f]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-3) var(--cg-space-4)}.status-grid__column--right[data-v-73b7ba3f]{border-left:1px solid var(--cg-color-border-subtle)}.status-grid__title[data-v-73b7ba3f]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;color:var(--cg-color-text-muted);margin:0 0 var(--cg-space-2) 0;letter-spacing:var(--cg-letter-spacing-wide)}.status-grid__footer[data-v-73b7ba3f]{border-top:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-3) var(--cg-space-4)}.status-item[data-v-6f929183]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);line-height:1.4}.status-item.is-separator[data-v-6f929183]{margin-top:var(--cg-space-1);padding-top:var(--cg-space-1);border-top:1px solid var(--cg-color-border-subtle)}.status-item__icon[data-v-6f929183]{font-size:var(--cg-font-size-xs);opacity:.7;flex-shrink:0}.status-item__count[data-v-6f929183]{font-weight:var(--cg-font-weight-semibold);min-width:16px;flex-shrink:0}.status-item__label[data-v-6f929183]{color:var(--cg-color-text-secondary);flex:1}.status-item--new .status-item__count[data-v-6f929183]{color:var(--cg-color-success)}.status-item--modified .status-item__count[data-v-6f929183]{color:var(--cg-color-warning)}.status-item--deleted .status-item__count[data-v-6f929183]{color:var(--cg-color-error)}.status-item--synced .status-item__count[data-v-6f929183],.status-item--synced .status-item__icon[data-v-6f929183]{color:var(--cg-color-text-muted)}.status-item--ok[data-v-6f929183]{color:var(--cg-color-success)}.status-item--ok .status-item__icon[data-v-6f929183]{opacity:1}.status-item--ok .status-item__label[data-v-6f929183]{color:var(--cg-color-success)}.issue-card[data-v-df6aa348]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3) var(--cg-space-4);border-radius:var(--cg-radius-md);border:1px solid;margin-bottom:var(--cg-space-3)}.issue-card--info[data-v-df6aa348]{background:var(--cg-color-info-muted);border-color:var(--cg-color-accent);color:var(--cg-color-text-primary)}.issue-card--warning[data-v-df6aa348]{background:var(--cg-color-warning-muted);border-color:var(--cg-color-warning);color:var(--cg-color-text-primary)}.issue-card--error[data-v-df6aa348]{background:var(--cg-color-error-muted);border-color:var(--cg-color-error);color:var(--cg-color-text-primary)}.issue-card__header[data-v-df6aa348]{display:flex;align-items:center;gap:var(--cg-space-2)}.issue-card__icon[data-v-df6aa348]{font-size:var(--cg-font-size-lg);flex-shrink:0}.issue-card--warning .issue-card__icon[data-v-df6aa348]{color:var(--cg-color-warning)}.issue-card--error .issue-card__icon[data-v-df6aa348]{color:var(--cg-color-error)}.issue-card--info .issue-card__icon[data-v-df6aa348]{color:var(--cg-color-accent)}.issue-card__title[data-v-df6aa348]{font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin:0}.issue-card__content[data-v-df6aa348]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.issue-card__description[data-v-df6aa348]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin:0;line-height:1.5}.issue-card__items[data-v-df6aa348]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding-left:var(--cg-space-2)}.issue-card__item[data-v-df6aa348]{display:flex;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);line-height:1.5}.issue-card__bullet[data-v-df6aa348]{color:var(--cg-color-text-muted);flex-shrink:0}.issue-card__actions[data-v-df6aa348]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.action-btn[data-v-772abe47]{font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);cursor:pointer;transition:all var(--cg-transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--cg-space-1);white-space:nowrap;border:1px solid}.action-btn[data-v-772abe47]:disabled{opacity:.5;cursor:not-allowed}.action-btn.loading[data-v-772abe47]{pointer-events:none}.spinner[data-v-772abe47]{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-772abe47 .6s linear infinite}@keyframes spin-772abe47{to{transform:rotate(360deg)}}.action-btn.xs[data-v-772abe47]{padding:var(--cg-space-1) var(--cg-space-2);font-size:var(--cg-font-size-xs)}.action-btn.sm[data-v-772abe47]{padding:var(--cg-space-1) var(--cg-space-3);font-size:var(--cg-font-size-xs)}.action-btn.md[data-v-772abe47]{padding:var(--cg-space-2) var(--cg-space-4);font-size:var(--cg-font-size-sm)}.action-btn.primary[data-v-772abe47]{background:transparent;color:var(--cg-color-accent);border-color:var(--cg-color-accent)}.action-btn.primary[data-v-772abe47]:hover:not(:disabled){background:var(--cg-color-bg-hover);box-shadow:0 0 8px var(--cg-shadow-accent)}.action-btn.secondary[data-v-772abe47]{background:transparent;color:var(--cg-color-text-secondary);border-color:var(--cg-color-border)}.action-btn.secondary[data-v-772abe47]:hover:not(:disabled){color:var(--cg-color-text-primary);border-color:var(--cg-color-text-primary)}.action-btn.destructive[data-v-772abe47]{background:transparent;color:var(--cg-color-error);border-color:var(--cg-color-error)}.action-btn.destructive[data-v-772abe47]:hover:not(:disabled){background:var(--cg-color-bg-hover);box-shadow:0 0 8px var(--cg-shadow-error)}.action-btn.ghost[data-v-772abe47]{background:transparent;color:var(--cg-color-text-muted);border-color:transparent}.action-btn.ghost[data-v-772abe47]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle);color:var(--cg-color-accent)}.action-btn.link[data-v-772abe47]{background:transparent;color:var(--cg-color-info);border:none;text-decoration:underline;padding:0}.action-btn.link[data-v-772abe47]:hover:not(:disabled){color:var(--cg-color-accent)}.empty-state[data-v-4466284f]{text-align:center;padding:var(--cg-space-8) var(--cg-space-6);color:var(--cg-color-text-muted)}.empty-icon[data-v-4466284f]{font-size:var(--cg-font-size-2xl);margin-bottom:var(--cg-space-3);opacity:.5}.empty-message[data-v-4466284f]{font-size:var(--cg-font-size-sm);margin:0 0 var(--cg-space-4) 0}.detail-label[data-v-75e9eeb8]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-normal)}.detail-value[data-v-2f186e4c]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);flex:1;word-break:break-word}.detail-value.mono[data-v-2f186e4c]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.detail-value.hash[data-v-2f186e4c]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);word-break:break-all}.detail-value.warning[data-v-2f186e4c]{color:var(--cg-color-warning)}.detail-value.error[data-v-2f186e4c]{color:var(--cg-color-error)}.detail-value.truncate[data-v-2f186e4c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-row[data-v-ef15664a]{display:flex;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);align-items:baseline}.modal-overlay[data-v-e2b37122]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-e2b37122]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:700px;width:90%;max-height:85vh;display:flex;flex-direction:column}.modal-header[data-v-e2b37122]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle);flex-shrink:0}.modal-title[data-v-e2b37122]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-e2b37122]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color var(--cg-transition-fast)}.modal-close[data-v-e2b37122]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-e2b37122]{padding:var(--cg-space-4);overflow-y:auto;flex:1;min-height:0}.modal-actions[data-v-e2b37122]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end;flex-shrink:0}.status-section[data-v-e2b37122]{margin-bottom:var(--cg-space-5)}.status-section[data-v-e2b37122]:last-child{margin-bottom:0}.section-header-row[data-v-e2b37122]{display:flex;justify-content:space-between;align-items:center}.link-btn[data-v-e2b37122]{background:transparent;border:none;color:var(--cg-color-accent);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);cursor:pointer;padding:4px 8px;text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);transition:opacity var(--cg-transition-fast)}.link-btn[data-v-e2b37122]:hover{opacity:.8;text-decoration:underline}.workflow-group[data-v-e2b37122]{margin-bottom:var(--cg-space-3)}.workflow-group-header[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.workflow-group-header.clickable[data-v-e2b37122]{cursor:pointer;-webkit-user-select:none;user-select:none}.workflow-group-header.clickable[data-v-e2b37122]:hover{color:var(--cg-color-accent)}.workflow-status-icon[data-v-e2b37122]{font-size:var(--cg-font-size-base);flex-shrink:0}.workflow-status-icon.new[data-v-e2b37122]{color:var(--cg-color-info)}.workflow-status-icon.modified[data-v-e2b37122]{color:var(--cg-color-warning)}.workflow-status-icon.deleted[data-v-e2b37122]{color:var(--cg-color-error)}.workflow-status-icon.synced[data-v-e2b37122]{color:var(--cg-color-success)}.workflow-status-icon.broken[data-v-e2b37122]{color:var(--cg-color-error)}.workflow-group-title[data-v-e2b37122]{font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);flex:1}.expand-icon[data-v-e2b37122]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.workflow-list[data-v-e2b37122]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding-left:var(--cg-space-5)}.workflow-item[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2)}.workflow-name[data-v-e2b37122]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.workflow-issue[data-v-e2b37122]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin-left:var(--cg-space-2);font-style:italic}.change-group[data-v-e2b37122]{margin-bottom:var(--cg-space-3)}.change-group-header[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.change-icon[data-v-e2b37122]{font-size:var(--cg-font-size-lg);font-weight:var(--cg-font-weight-bold);font-family:var(--cg-font-mono);flex-shrink:0}.change-icon.add[data-v-e2b37122]{color:var(--cg-color-info)}.change-icon.remove[data-v-e2b37122]{color:var(--cg-color-error)}.change-icon.modified[data-v-e2b37122]{color:var(--cg-color-warning)}.change-group-title[data-v-e2b37122]{font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.change-list[data-v-e2b37122]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding-left:var(--cg-space-5)}.change-item[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2)}.node-name[data-v-e2b37122]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.dev-badge[data-v-e2b37122]{display:inline-block;padding:2px 6px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;font-weight:var(--cg-font-weight-semibold)}.drift-item[data-v-e2b37122]{margin-bottom:var(--cg-space-3)}.drift-list[data-v-e2b37122]{margin-top:var(--cg-space-2);padding-left:var(--cg-space-4);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.drift-list-item[data-v-e2b37122]{margin-bottom:var(--cg-space-1)}.drift-list-more[data-v-e2b37122]{margin-top:var(--cg-space-1);color:var(--cg-color-text-muted);font-style:italic}.warning-box[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-warning);margin-bottom:var(--cg-space-3)}.warning-icon[data-v-e2b37122]{font-size:var(--cg-font-size-lg);flex-shrink:0}.info-box[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin-bottom:var(--cg-space-3)}.info-icon[data-v-e2b37122]{font-size:var(--cg-font-size-lg);flex-shrink:0;color:var(--cg-color-info)}.help-text[data-v-e2b37122]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-muted);line-height:1.5}.empty-state-inline[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm)}.empty-icon[data-v-e2b37122]{font-size:var(--cg-font-size-2xl);flex-shrink:0}.empty-message[data-v-e2b37122]{flex:1}.empty-message strong[data-v-e2b37122]{display:block;color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);margin-bottom:var(--cg-space-1)}.empty-message p[data-v-e2b37122]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);line-height:1.5}.version-mismatch[data-v-e2b37122]{display:flex;align-items:center;gap:var(--cg-space-1)}.version-actual[data-v-e2b37122]{color:var(--cg-color-error);text-decoration:line-through}.version-expected[data-v-e2b37122]{color:var(--cg-color-success)}.repair-action[data-v-e2b37122]{margin-top:var(--cg-space-4);padding-top:var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle)}.repair-action .help-text[data-v-e2b37122]{margin-top:var(--cg-space-2)}.health-section-wrapper[data-v-55fcd77f]{position:relative}.health-section-header[data-v-55fcd77f]{position:relative;display:flex;justify-content:space-between;align-items:flex-start}.show-all-button[data-v-55fcd77f]{position:absolute;top:0;right:0}.footer-title[data-v-55fcd77f]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;color:var(--cg-color-text-muted);margin:0 0 var(--cg-space-2) 0;letter-spacing:var(--cg-letter-spacing-wide)}.suggestions-content[data-v-55fcd77f]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-3)}.suggestions-text[data-v-55fcd77f]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.fade-enter-active[data-v-55fcd77f],.fade-leave-active[data-v-55fcd77f]{transition:opacity var(--cg-transition-fast)}.fade-enter-from[data-v-55fcd77f],.fade-leave-to[data-v-55fcd77f]{opacity:0}.no-issues-text[data-v-55fcd77f]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.text-input[data-v-0380d08f]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);transition:border-color var(--cg-transition-fast),box-shadow var(--cg-transition-fast)}.text-input.monospace[data-v-0380d08f]{font-family:var(--cg-font-mono)}.text-input[data-v-0380d08f]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 8px var(--cg-shadow-accent)}.text-input[data-v-0380d08f]:disabled{opacity:.5;cursor:not-allowed}.text-input.error[data-v-0380d08f]{border-color:var(--cg-color-error)}.text-input.error[data-v-0380d08f]:focus{box-shadow:0 0 8px var(--cg-shadow-error)}.text-input[data-v-0380d08f]::placeholder{color:var(--cg-color-text-muted)}.branch-create-form[data-v-7c500394]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding:var(--cg-space-3);margin-bottom:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.form-actions[data-v-7c500394]{display:flex;gap:var(--cg-space-2)}.branch-list-item[data-v-c6581a24]{display:flex;align-items:center;padding:var(--cg-space-2) var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle);font-size:var(--cg-font-size-sm);transition:background var(--cg-transition-fast)}.branch-list-item[data-v-c6581a24]:last-child{border-bottom:none}.branch-list-item[data-v-c6581a24]:hover{background:var(--cg-color-bg-hover)}.branch-list-item.clickable[data-v-c6581a24]{cursor:pointer}.branch-list-item.current[data-v-c6581a24]{background:var(--cg-color-accent-muted);border-left:3px solid var(--cg-color-accent);padding-left:calc(var(--cg-space-3) - 3px)}.branch-list-item__indicator[data-v-c6581a24]{font-size:10px;margin-right:var(--cg-space-2);color:var(--cg-color-text-muted);flex-shrink:0}.branch-list-item.current .branch-list-item__indicator[data-v-c6581a24]{color:var(--cg-color-accent)}.branch-list-item__name[data-v-c6581a24]{flex:1;color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-list-item__actions[data-v-c6581a24]{display:flex;align-items:center;gap:var(--cg-space-2);flex-shrink:0}.branch-list-item__current-label[data-v-c6581a24]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);padding:var(--cg-space-1) var(--cg-space-2);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-family:var(--cg-font-mono)}.base-modal-overlay[data-v-8dab1081]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10003;animation:fadeIn-8dab1081 .15s ease}@keyframes fadeIn-8dab1081{0%{opacity:0}to{opacity:1}}.base-modal-content[data-v-8dab1081]{background:var(--cg-color-bg-primary);border:2px solid var(--cg-color-border);box-shadow:var(--cg-shadow-xl);max-height:80vh;width:90vw;display:flex;flex-direction:column;animation:slideIn-8dab1081 .2s ease}@keyframes slideIn-8dab1081{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.base-modal-content.sm[data-v-8dab1081]{max-width:400px}.base-modal-content.md[data-v-8dab1081]{max-width:600px}.base-modal-content.lg[data-v-8dab1081]{max-width:800px}.base-modal-content.xl[data-v-8dab1081]{max-width:1000px}.base-modal-content.fixed-height[data-v-8dab1081]{height:70vh;max-height:70vh}.base-modal-header[data-v-8dab1081]{padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-2)}.base-modal-title[data-v-8dab1081]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;flex:1}.base-modal-close[data-v-8dab1081]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.base-modal-close[data-v-8dab1081]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.base-modal-body[data-v-8dab1081]{flex:1;overflow-y:auto;padding:var(--cg-space-4)}.base-modal-body[data-v-8dab1081]::-webkit-scrollbar{width:8px}.base-modal-body[data-v-8dab1081]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.base-modal-body[data-v-8dab1081]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.base-modal-body[data-v-8dab1081]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.base-modal-loading[data-v-8dab1081],.base-modal-error[data-v-8dab1081]{text-align:center;padding:var(--cg-space-4);color:var(--cg-color-text-muted)}.base-modal-error[data-v-8dab1081]{color:var(--cg-color-error);border:1px solid var(--cg-color-error);background:var(--cg-color-error-muted)}.base-modal-footer[data-v-8dab1081]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:flex-end;gap:8px}.base-btn[data-v-f3452606]{border-radius:var(--cg-radius-md);font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-weight:var(--cg-font-weight-medium);cursor:pointer;transition:all var(--cg-transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative}.base-btn[data-v-f3452606]:disabled{opacity:.5;cursor:not-allowed}.base-btn.loading[data-v-f3452606]{pointer-events:none}.spinner[data-v-f3452606]{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-f3452606 .6s linear infinite}@keyframes spin-f3452606{to{transform:rotate(360deg)}}.base-btn.sm[data-v-f3452606]{padding:6px 12px;font-size:var(--cg-font-size-xs)}.base-btn.md[data-v-f3452606]{padding:8px 16px;font-size:var(--cg-font-size-sm)}.base-btn.lg[data-v-f3452606]{padding:10px 20px;font-size:var(--cg-font-size-base)}.base-btn.full-width[data-v-f3452606]{width:100%}.base-btn.primary[data-v-f3452606]{background:var(--cg-color-accent);color:var(--cg-color-text-inverse);border:none}.base-btn.primary[data-v-f3452606]:hover:not(:disabled){background:var(--cg-color-accent-hover);transform:translateY(-1px);box-shadow:0 2px 8px var(--cg-color-accent-muted)}.base-btn.secondary[data-v-f3452606]{background:transparent;color:var(--cg-color-text-secondary);border:1px solid var(--cg-color-border)}.base-btn.secondary[data-v-f3452606]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-strong);color:var(--cg-color-text-primary)}.base-btn.danger[data-v-f3452606]{background:var(--cg-color-error);color:var(--cg-color-text-inverse);border:none}.base-btn.danger[data-v-f3452606]:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.base-btn.ghost[data-v-f3452606]{background:transparent;color:var(--cg-color-text-muted);border:1px solid transparent}.base-btn.ghost[data-v-f3452606]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle);color:var(--cg-color-accent)}.base-btn.link[data-v-f3452606]{background:transparent;color:var(--cg-color-info);border:none;text-decoration:underline;padding:0}.base-btn.link[data-v-f3452606]:hover:not(:disabled){color:var(--cg-color-accent)}.commit-list[data-v-8c5ee761]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);overflow-y:auto}.commit-list[data-v-8c5ee761]::-webkit-scrollbar{width:8px}.commit-list[data-v-8c5ee761]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.commit-list[data-v-8c5ee761]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.commit-list[data-v-8c5ee761]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.commit-hash[data-v-7c333cc6]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);font-weight:var(--cg-font-weight-medium, 500);flex-shrink:0}.commit-item[data-v-dd7c621b]{display:flex;align-items:baseline;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle);position:relative;transition:background var(--cg-transition-fast),border-color var(--cg-transition-fast)}.commit-item[data-v-dd7c621b]:last-child{border-bottom:none}.commit-item.clickable[data-v-dd7c621b]{cursor:pointer}.commit-item.clickable[data-v-dd7c621b]:hover{background:var(--cg-color-bg-hover)}.commit-item:hover .commit-actions[data-v-dd7c621b]{opacity:1}.commit-message[data-v-dd7c621b]{flex:1;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.commit-date[data-v-dd7c621b]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);white-space:nowrap;flex-shrink:0;margin-right:32px}.commit-actions[data-v-dd7c621b]{position:absolute;right:var(--cg-space-2);top:50%;transform:translateY(-50%);opacity:0;transition:opacity .15s;display:flex;gap:var(--cg-space-1)}.header-info[data-v-2e5437cc]{flex:1;display:flex;flex-direction:column;gap:6px}.header-title[data-v-2e5437cc]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;font-weight:var(--cg-font-weight-normal)}.branch-name[data-v-2e5437cc]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-base);color:var(--cg-color-info);font-weight:var(--cg-font-weight-semibold)}.current-badge[data-v-2e5437cc]{display:inline-block;padding:2px 8px;background:transparent;border:1px solid var(--cg-color-accent);color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);width:fit-content}.branch-meta[data-v-2e5437cc]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-muted);margin-bottom:var(--cg-space-3);display:flex;gap:var(--cg-space-2)}.meta-note[data-v-2e5437cc]{color:var(--cg-color-text-muted);font-style:italic}.loading[data-v-2e5437cc],.empty-state[data-v-2e5437cc]{text-align:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.branch-commits[data-v-2e5437cc]{max-height:300px;overflow-y:auto}.footer-spacer[data-v-2e5437cc]{flex:1}.branch-list[data-v-eefdcb00]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.base-title[data-v-5a01561d]{font-weight:var(--cg-font-weight-normal)}.base-title.view[data-v-5a01561d]{color:var(--cg-color-accent);font-size:var(--cg-font-size-lg);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-weight:var(--cg-font-weight-semibold);margin:0 0 var(--cg-space-4) 0}.base-title.section[data-v-5a01561d]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin:0 0 var(--cg-space-2) 0}.base-title.group[data-v-5a01561d]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-weight:var(--cg-font-weight-medium);margin:0 0 var(--cg-space-2) 0}.base-title.dialog[data-v-5a01561d]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0}.base-title-count[data-v-5a01561d]{margin-left:4px}.base-select-wrapper[data-v-4996bfe0]{display:inline-flex;flex-direction:column;gap:4px}.base-select-wrapper.full-width[data-v-4996bfe0]{width:100%}.base-select[data-v-4996bfe0]{padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);transition:all var(--cg-transition-fast);cursor:pointer;width:100%;overscroll-behavior:contain;scrollbar-gutter:stable}.base-select[data-v-4996bfe0]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.base-select[data-v-4996bfe0]:disabled{opacity:.5;cursor:not-allowed}.base-select.error[data-v-4996bfe0]{border-color:var(--cg-color-error)}.base-select-error[data-v-4996bfe0]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error)}.base-select[data-v-4996bfe0]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4L6 8L10 4' stroke='%2300d9ff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.popover-overlay[data-v-42815ace]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10004}.popover[data-v-42815ace]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);box-shadow:var(--cg-shadow-lg);width:90%;animation:popoverFadeIn-42815ace var(--cg-transition-normal)}@keyframes popoverFadeIn-42815ace{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popover-header[data-v-42815ace]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-3) var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.popover-title[data-v-42815ace]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);margin:0}.popover-close[data-v-42815ace]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-lg);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast)}.popover-close[data-v-42815ace]:hover{color:var(--cg-color-text-primary)}.popover-content[data-v-42815ace]{padding:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);line-height:var(--cg-line-height-normal)}.popover-content[data-v-42815ace] p{margin:0 0 var(--cg-space-3) 0}.popover-content[data-v-42815ace] p:last-child{margin-bottom:0}.popover-content[data-v-42815ace] strong{color:var(--cg-color-accent);font-weight:var(--cg-font-weight-semibold)}.popover-actions[data-v-42815ace]{padding:var(--cg-space-3) var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.empty-message[data-v-668728e6]{text-align:center;padding:var(--cg-space-4);color:var(--cg-color-text-muted)}.detail-section[data-v-668728e6]{margin-bottom:var(--cg-space-5)}.model-card[data-v-668728e6]{border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-3);margin-bottom:var(--cg-space-3)}.model-header[data-v-668728e6]{display:flex;align-items:center;gap:8px;margin-bottom:var(--cg-space-2)}.model-icon[data-v-668728e6]{font-size:var(--cg-font-size-lg)}.model-name[data-v-668728e6]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.model-details[data-v-668728e6]{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--cg-space-2)}.model-row[data-v-668728e6]{display:flex;align-items:center;gap:8px;font-size:var(--cg-font-size-sm)}.model-row .label[data-v-668728e6]{color:var(--cg-color-text-muted);min-width:80px;display:inline-flex;align-items:center;gap:4px}.model-row .value[data-v-668728e6]{color:var(--cg-color-text-secondary)}.model-row .value.success[data-v-668728e6]{color:var(--cg-color-success)}.model-row .value.error[data-v-668728e6]{color:var(--cg-color-error)}.model-row .value.warning[data-v-668728e6]{color:var(--cg-color-warning, #f59e0b)}.model-row .value.info[data-v-668728e6]{color:var(--cg-color-info, #3b82f6)}.model-row code[data-v-668728e6]{background:var(--cg-color-bg-secondary);padding:0 var(--cg-space-1);border-radius:var(--cg-radius-sm, 2px);font-family:var(--cg-font-mono, monospace);font-size:var(--cg-font-size-xs, 11px)}.model-row-nodes[data-v-668728e6]{align-items:flex-start}.node-list[data-v-668728e6]{display:flex;flex-direction:column;gap:4px;flex:1}.node-reference[data-v-668728e6]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);padding:2px 0}.expand-toggle[data-v-668728e6]{background:none;border:none;color:var(--cg-color-accent);cursor:pointer;font-size:var(--cg-font-size-sm);padding:4px 0;text-align:left;margin-top:2px}.expand-toggle[data-v-668728e6]:hover{text-decoration:underline}.model-actions[data-v-668728e6]{margin-top:var(--cg-space-2)}.importance-info-list[data-v-668728e6]{margin:0;padding-left:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);list-style-type:"• "}.importance-info-list li[data-v-668728e6]{margin-bottom:var(--cg-space-2)}.importance-info-list strong[data-v-668728e6]{color:var(--cg-color-accent)}.node-item[data-v-668728e6]{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary);margin-bottom:4px;font-size:var(--cg-font-size-sm)}.node-status[data-v-668728e6]{font-weight:700;font-size:var(--cg-font-size-base)}.node-status.installed[data-v-668728e6]{color:var(--cg-color-success)}.node-status.missing[data-v-668728e6]{color:var(--cg-color-error)}.node-name[data-v-668728e6]{color:var(--cg-color-text-primary);flex:1}.node-version[data-v-668728e6]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.resolution-stepper[data-v-2a7b3af8]{display:flex;flex-direction:column;gap:0}.stepper-header[data-v-2a7b3af8]{display:flex;align-items:center;justify-content:space-between;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border-bottom:1px solid var(--cg-color-border)}.step[data-v-2a7b3af8]{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;position:relative;cursor:pointer;transition:opacity .2s}.step.disabled[data-v-2a7b3af8]{cursor:not-allowed;pointer-events:none}.step.disabled .step-indicator[data-v-2a7b3af8],.step.disabled .step-label[data-v-2a7b3af8]{opacity:.4}.step-indicator[data-v-2a7b3af8]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--cg-color-bg-tertiary);border:2px solid var(--cg-color-border);color:var(--cg-color-text-muted);font-weight:var(--cg-font-weight-semibold);font-size:var(--cg-font-size-xs);transition:all .2s;position:relative;z-index:2}.step-indicator.state-pending[data-v-2a7b3af8]{background:var(--cg-color-bg-tertiary);border-color:var(--cg-color-border);color:var(--cg-color-text-muted)}.step-indicator.state-partial[data-v-2a7b3af8]{background:var(--cg-color-warning-muted);border-color:var(--cg-color-warning);color:var(--cg-color-warning)}.step-indicator.state-complete[data-v-2a7b3af8]{background:var(--cg-color-success);border-color:var(--cg-color-success);color:#fff}.step.active .step-indicator[data-v-2a7b3af8]{box-shadow:0 0 0 2px var(--cg-color-accent-muted);border-color:var(--cg-color-accent)}.step-label[data-v-2a7b3af8]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-align:center;font-weight:var(--cg-font-weight-medium)}.step.active .step-label[data-v-2a7b3af8]{color:var(--cg-color-text);font-weight:var(--cg-font-weight-semibold)}.step-connector[data-v-2a7b3af8]{position:absolute;top:14px;left:calc(50% + 14px);right:calc(-50% + 14px);height:2px;background:var(--cg-color-border);z-index:1}.stepper-content[data-v-2a7b3af8]{padding:var(--cg-space-2) var(--cg-space-3)}.confidence-badge[data-v-17ec4b80]{display:inline-flex;align-items:center;justify-content:center;padding:var(--cg-spacing-xs) var(--cg-spacing-sm);border-radius:var(--cg-border-radius-sm);font-weight:var(--cg-font-weight-semibold);white-space:nowrap}.confidence-badge.sm[data-v-17ec4b80]{font-size:var(--cg-font-size-xs);padding:2px var(--cg-spacing-xs)}.confidence-badge.md[data-v-17ec4b80]{font-size:var(--cg-font-size-sm)}.confidence-high[data-v-17ec4b80]{background-color:var(--cg-color-success-bg);color:var(--cg-color-success);border:1px solid var(--cg-color-success)}.confidence-medium[data-v-17ec4b80]{background-color:var(--cg-color-warning-bg);color:var(--cg-color-warning);border:1px solid var(--cg-color-warning)}.confidence-low[data-v-17ec4b80]{background-color:var(--cg-color-error-bg);color:var(--cg-color-error);border:1px solid var(--cg-color-error)}.node-resolution-item[data-v-c2997d1d]{border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--cg-color-bg-secondary);overflow:hidden;transition:all var(--cg-transition-fast)}.node-resolution-item.ambiguous[data-v-c2997d1d]{border-color:var(--cg-color-warning)}.node-resolution-item.resolved[data-v-c2997d1d]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.node-info[data-v-c2997d1d]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);background:var(--cg-color-bg-tertiary);border-bottom:1px solid var(--cg-color-border-subtle)}.node-info-text[data-v-c2997d1d]{flex:1;min-width:0}.node-info code[data-v-c2997d1d]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary)}.status-badge[data-v-c2997d1d]{padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);white-space:nowrap;flex-shrink:0}.status-badge.unresolved[data-v-c2997d1d]{background:var(--cg-color-error-muted);color:var(--cg-color-error)}.status-badge.ambiguous[data-v-c2997d1d]{background:var(--cg-color-warning-muted);color:var(--cg-color-warning)}.status-badge.resolved[data-v-c2997d1d]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.status-badge.optional[data-v-c2997d1d]{background:var(--cg-color-info-muted);color:var(--cg-color-info)}.status-badge.skip[data-v-c2997d1d]{background:var(--cg-color-bg-hover);color:var(--cg-color-text-muted)}.item-body[data-v-c2997d1d]{padding:var(--cg-space-3)}.resolved-state[data-v-c2997d1d]{display:flex;justify-content:center}.multiple-options[data-v-c2997d1d]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.options-prompt[data-v-c2997d1d]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.options-list[data-v-c2997d1d]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.option-card[data-v-c2997d1d]{display:flex;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-md);background:var(--cg-color-bg-primary);cursor:pointer;transition:all var(--cg-transition-fast)}.option-card[data-v-c2997d1d]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.option-card.selected[data-v-c2997d1d]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.option-card input[type=radio][data-v-c2997d1d]{margin-top:4px;accent-color:var(--cg-color-accent)}.option-content[data-v-c2997d1d]{flex:1;min-width:0}.option-header[data-v-c2997d1d]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.option-package-id[data-v-c2997d1d]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-semibold);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.option-title[data-v-c2997d1d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.option-meta[data-v-c2997d1d]{display:flex;gap:var(--cg-space-2);align-items:center;margin-top:var(--cg-space-1)}.installed-badge[data-v-c2997d1d]{padding:2px var(--cg-space-2);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);background:var(--cg-color-success-muted);color:var(--cg-color-success)}.action-buttons[data-v-c2997d1d]{display:flex;flex-wrap:wrap;gap:var(--cg-space-2);justify-content:flex-start;padding-top:var(--cg-space-2);border-top:1px solid var(--cg-color-border-subtle)}.unresolved[data-v-c2997d1d]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.unresolved-message[data-v-c2997d1d]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);color:var(--cg-color-warning);font-size:var(--cg-font-size-sm)}.warning-icon[data-v-c2997d1d]{font-size:var(--cg-font-size-lg)}.searching-state[data-v-c2997d1d]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.searching-spinner[data-v-c2997d1d]{width:16px;height:16px;border:2px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-c2997d1d .8s linear infinite}@keyframes spin-c2997d1d{to{transform:rotate(360deg)}}.option-description[data-v-c2997d1d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin-top:2px}.item-navigator[data-v-74af7920]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-3);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-sm);border:1px solid var(--cg-color-border-subtle)}.nav-item-info[data-v-74af7920]{display:flex;align-items:center;gap:var(--cg-space-2);flex:1;min-width:0;overflow:hidden}.item-name[data-v-74af7920]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-accent);background:var(--cg-color-bg-primary);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.nav-controls[data-v-74af7920]{display:flex;align-items:center;gap:var(--cg-space-2);flex-shrink:0}.nav-arrows[data-v-74af7920]{display:flex;gap:4px}.nav-arrow[data-v-74af7920]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);width:48px;height:24px;border-radius:var(--cg-radius-sm);cursor:pointer;font-size:var(--cg-font-size-sm);display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast)}.nav-arrow[data-v-74af7920]:first-child{border-radius:var(--cg-radius-sm) 0 0 var(--cg-radius-sm)}.nav-arrow[data-v-74af7920]:last-child{border-radius:0 var(--cg-radius-sm) var(--cg-radius-sm) 0}.nav-arrow[data-v-74af7920]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.nav-arrow[data-v-74af7920]:disabled{opacity:.4;cursor:not-allowed}.nav-position[data-v-74af7920]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);color:var(--cg-color-text-muted);min-width:36px;text-align:right}.base-input-wrapper[data-v-9ba02cdc]{display:inline-flex;flex-direction:column;gap:4px}.base-input-wrapper.full-width[data-v-9ba02cdc]{width:100%}.base-input[data-v-9ba02cdc]{padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);transition:all var(--cg-transition-fast);width:100%}.base-input[data-v-9ba02cdc]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.base-input[data-v-9ba02cdc]:disabled{opacity:.5;cursor:not-allowed}.base-input.error[data-v-9ba02cdc]{border-color:var(--cg-color-error)}.base-input-error[data-v-9ba02cdc]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error)}.node-resolution-step[data-v-6d7f8125]{display:flex;flex-direction:column;gap:var(--cg-space-2);min-height:400px}.auto-resolved-section[data-v-6d7f8125]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-header[data-v-6d7f8125]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-3)}.section-info[data-v-6d7f8125]{flex:1}.section-title[data-v-6d7f8125]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin:0}.section-description[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin:2px 0 0}.resolved-packages-list[data-v-6d7f8125]{display:flex;flex-direction:column;gap:var(--cg-space-1);max-height:200px;overflow-y:auto}.resolved-package-item[data-v-6d7f8125]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);border-left:3px solid var(--cg-color-success)}.package-info[data-v-6d7f8125]{display:flex;align-items:center;gap:var(--cg-space-3)}.package-id[data-v-6d7f8125]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-accent)}.node-count[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.package-actions[data-v-6d7f8125]{display:flex;align-items:center;gap:var(--cg-space-2)}.status-badge[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);padding:2px 6px;border-radius:var(--cg-radius-sm);text-transform:uppercase;letter-spacing:.05em}.status-badge.install[data-v-6d7f8125]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.status-badge.skip[data-v-6d7f8125]{background:var(--cg-color-bg-hover);color:var(--cg-color-text-muted)}.toggle-skip-btn[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-sm);color:var(--cg-color-text-secondary);cursor:pointer;transition:all var(--cg-transition-fast)}.toggle-skip-btn[data-v-6d7f8125]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-text-primary)}.section-divider[data-v-6d7f8125]{height:1px;background:var(--cg-color-border);margin:var(--cg-space-2) 0}.step-header[data-v-6d7f8125]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border)}.step-info[data-v-6d7f8125]{flex:1}.step-title[data-v-6d7f8125]{font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin:0}.step-description[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin:2px 0 0}.stat-badge[data-v-6d7f8125]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);padding:4px 8px;border-radius:var(--cg-radius-sm);background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-secondary);border:1px solid var(--cg-color-border-subtle);white-space:nowrap}.step-body[data-v-6d7f8125]{flex:1;overflow-y:auto}.empty-state[data-v-6d7f8125]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--cg-color-text-muted)}.node-resolution-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10010}.node-search-modal{width:90%;max-width:500px;height:75vh;background:var(--cg-color-bg-primary, #1a1a2e);border:1px solid var(--cg-color-border, #333);border-radius:var(--cg-radius-lg, 8px);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden}.node-manual-entry-modal{width:90%;max-width:500px;background:var(--cg-color-bg-primary, #1a1a2e);border:1px solid var(--cg-color-border, #333);border-radius:var(--cg-radius-lg, 8px);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden}.node-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--cg-color-border, #333);background:var(--cg-color-bg-secondary, #252542)}.node-modal-header h4{margin:0;font-size:14px;font-weight:600;color:var(--cg-color-text-primary, #fff)}.node-modal-close-btn{background:none;border:none;font-size:18px;color:var(--cg-color-text-muted, #888);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease}.node-modal-close-btn:hover{color:var(--cg-color-text-primary, #fff);background:var(--cg-color-bg-hover, #333)}.node-modal-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden}.node-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.node-search-result-item{padding:8px 12px;border:1px solid var(--cg-color-border-subtle, #444);border-radius:6px;background:var(--cg-color-bg-secondary, #252542);cursor:pointer;transition:all .15s ease}.node-search-result-item:hover{border-color:var(--cg-color-accent, #7c3aed);background:var(--cg-color-bg-hover, #333)}.node-result-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.node-result-package-id{font-family:var(--cg-font-mono, monospace);font-weight:600;font-size:13px;color:var(--cg-color-accent, #7c3aed)}.node-result-description{font-size:12px;color:var(--cg-color-text-muted, #888)}.node-search-results-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.node-search-results{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.node-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--cg-color-text-muted, #888);font-size:13px}.model-resolution-item[data-v-8a82fefa]{border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--cg-color-bg-secondary);overflow:hidden;transition:all var(--cg-transition-fast)}.model-resolution-item.ambiguous[data-v-8a82fefa]{border-color:var(--cg-color-warning)}.model-resolution-item.resolved[data-v-8a82fefa]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.node-info[data-v-8a82fefa]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);background:var(--cg-color-bg-tertiary);border-bottom:1px solid var(--cg-color-border-subtle)}.node-info-text[data-v-8a82fefa]{flex:1;min-width:0}.node-info code[data-v-8a82fefa]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary)}.status-badge[data-v-8a82fefa]{padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);white-space:nowrap;flex-shrink:0}.status-badge.unresolved[data-v-8a82fefa]{background:var(--cg-color-error-muted);color:var(--cg-color-error)}.status-badge.ambiguous[data-v-8a82fefa]{background:var(--cg-color-warning-muted);color:var(--cg-color-warning)}.status-badge.resolved[data-v-8a82fefa]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.status-badge.optional[data-v-8a82fefa]{background:var(--cg-color-info-muted);color:var(--cg-color-info)}.status-badge.skip[data-v-8a82fefa]{background:var(--cg-color-bg-hover);color:var(--cg-color-text-muted)}.item-body[data-v-8a82fefa]{padding:var(--cg-space-3)}.resolved-state[data-v-8a82fefa]{display:flex;justify-content:center}.multiple-options[data-v-8a82fefa]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.options-prompt[data-v-8a82fefa]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.options-list[data-v-8a82fefa]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.option-card[data-v-8a82fefa]{display:flex;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-md);background:var(--cg-color-bg-primary);cursor:pointer;transition:all var(--cg-transition-fast)}.option-card[data-v-8a82fefa]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.option-card.selected[data-v-8a82fefa]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.option-card input[type=radio][data-v-8a82fefa]{margin-top:4px;accent-color:var(--cg-color-accent)}.option-content[data-v-8a82fefa]{flex:1;min-width:0}.option-header[data-v-8a82fefa]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.option-filename[data-v-8a82fefa]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-semibold);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.option-meta[data-v-8a82fefa]{display:flex;gap:var(--cg-space-2);align-items:center;margin-top:var(--cg-space-1);font-size:var(--cg-font-size-xs)}.option-size[data-v-8a82fefa]{font-family:var(--cg-font-mono);color:var(--cg-color-text-muted)}.option-category[data-v-8a82fefa]{color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.option-path[data-v-8a82fefa]{margin-top:var(--cg-space-1);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);color:var(--cg-color-text-muted)}.action-buttons[data-v-8a82fefa]{display:flex;flex-wrap:wrap;gap:var(--cg-space-2);justify-content:flex-start;padding-top:var(--cg-space-2);border-top:1px solid var(--cg-color-border-subtle)}.unresolved[data-v-8a82fefa]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.unresolved-message[data-v-8a82fefa]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);color:var(--cg-color-warning);font-size:var(--cg-font-size-sm)}.warning-icon[data-v-8a82fefa]{font-size:var(--cg-font-size-lg)}.model-resolution-step[data-v-5c700bfa]{display:flex;flex-direction:column;gap:var(--cg-space-2);min-height:400px}.step-header[data-v-5c700bfa]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border)}.step-info[data-v-5c700bfa]{flex:1}.step-title[data-v-5c700bfa]{font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin:0}.step-description[data-v-5c700bfa]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin:2px 0 0}.stat-badge[data-v-5c700bfa]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);padding:4px 8px;border-radius:var(--cg-radius-sm);background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-secondary);border:1px solid var(--cg-color-border-subtle);white-space:nowrap}.step-body[data-v-5c700bfa]{flex:1;overflow-y:auto}.empty-state[data-v-5c700bfa]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--cg-color-text-muted)}.model-resolution-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10010}.model-search-modal,.model-download-url-modal{width:90%;max-width:500px;max-height:80vh;background:var(--cg-color-bg-primary, #1a1a2e);border:1px solid var(--cg-color-border, #333);border-radius:var(--cg-radius-lg, 8px);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden}.model-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--cg-color-border, #333);background:var(--cg-color-bg-secondary, #252542)}.model-modal-header h4{margin:0;font-size:14px;font-weight:600;color:var(--cg-color-text-primary, #fff)}.model-modal-close-btn{background:none;border:none;font-size:18px;color:var(--cg-color-text-muted, #888);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease}.model-modal-close-btn:hover{color:var(--cg-color-text-primary, #fff);background:var(--cg-color-bg-hover, #333)}.model-modal-body{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.model-input-group{display:flex;flex-direction:column;gap:4px}.model-input-label{font-size:12px;font-weight:500;color:var(--cg-color-text-secondary, #aaa)}.model-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.model-search-results{display:flex;flex-direction:column;gap:8px}.model-search-result-item{padding:8px 12px;border:1px solid var(--cg-color-border-subtle, #444);border-radius:6px;background:var(--cg-color-bg-secondary, #252542);cursor:pointer;transition:all .15s ease}.model-search-result-item:hover{border-color:var(--cg-color-accent, #7c3aed);background:var(--cg-color-bg-hover, #333)}.model-result-header{margin-bottom:4px}.model-result-filename{font-family:var(--cg-font-mono, monospace);font-weight:600;font-size:13px;color:var(--cg-color-accent, #7c3aed)}.model-result-meta{display:flex;gap:8px;font-size:12px;color:var(--cg-color-text-muted, #888);margin-bottom:4px}.model-result-category{text-transform:uppercase;letter-spacing:.05em}.model-result-size{font-family:var(--cg-font-mono, monospace)}.model-result-path{font-size:12px;font-family:var(--cg-font-mono, monospace);color:var(--cg-color-text-muted, #888)}.model-no-results,.model-searching{padding:16px;text-align:center;color:var(--cg-color-text-muted, #888);font-size:13px}.applying-step[data-v-5efaae58]{padding:var(--cg-space-4)}.phase-content[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.phase-header[data-v-5efaae58]{display:flex;align-items:center;gap:var(--cg-space-3)}.phase-icon[data-v-5efaae58]{font-size:var(--cg-font-size-xl)}.phase-icon.success[data-v-5efaae58]{color:var(--cg-color-success)}.phase-icon.error[data-v-5efaae58]{color:var(--cg-color-error)}.phase-icon.warning[data-v-5efaae58]{color:var(--cg-color-warning)}.phase-title[data-v-5efaae58]{margin:0;font-size:var(--cg-font-size-lg);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.phase-description[data-v-5efaae58]{margin:0;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.loading-spinner[data-v-5efaae58]{width:24px;height:24px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-5efaae58 .8s linear infinite}@keyframes spin-5efaae58{to{transform:rotate(360deg)}}.completion-summary[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.summary-item[data-v-5efaae58]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-sm)}.summary-item.success[data-v-5efaae58]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.summary-item.info[data-v-5efaae58]{background:var(--cg-color-info-muted);color:var(--cg-color-info)}.summary-note[data-v-5efaae58]{margin:0;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-style:italic}.summary-icon[data-v-5efaae58]{font-size:var(--cg-font-size-base)}.phase-content.error .error-message[data-v-5efaae58]{margin:0;padding:var(--cg-space-3);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-md);color:var(--cg-color-error);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.summary-item.error[data-v-5efaae58]{background:var(--cg-color-error-muted);color:var(--cg-color-error)}.overall-progress[data-v-5efaae58]{display:flex;align-items:center;gap:var(--cg-space-3);margin-bottom:var(--cg-space-2)}.progress-bar[data-v-5efaae58]{flex:1;height:6px;background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-full);overflow:hidden}.progress-fill[data-v-5efaae58]{height:100%;background:var(--cg-color-accent);border-radius:var(--cg-radius-full);transition:width var(--cg-transition-fast)}.progress-label[data-v-5efaae58]{font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);color:var(--cg-color-text-muted);white-space:nowrap}.install-list[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-2);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);max-height:150px;overflow-y:auto}.install-item[data-v-5efaae58]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);border-left:3px solid transparent}.install-item.pending[data-v-5efaae58]{border-left-color:var(--cg-color-border)}.install-item.installing[data-v-5efaae58]{border-left-color:var(--cg-color-accent);background:var(--cg-color-bg-tertiary)}.install-item.complete[data-v-5efaae58]{border-left-color:var(--cg-color-success)}.install-item.failed[data-v-5efaae58]{border-left-color:var(--cg-color-error)}.install-icon[data-v-5efaae58]{width:16px;text-align:center}.install-item.pending .install-icon[data-v-5efaae58]{color:var(--cg-color-text-muted)}.install-item.installing .install-icon[data-v-5efaae58]{color:var(--cg-color-accent)}.install-item.complete .install-icon[data-v-5efaae58]{color:var(--cg-color-success)}.install-item.failed .install-icon[data-v-5efaae58]{color:var(--cg-color-error)}.install-icon .spinner[data-v-5efaae58]{display:inline-block;animation:spin-5efaae58 1s linear infinite}.install-item code[data-v-5efaae58]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary)}.install-error[data-v-5efaae58]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error);margin-left:auto}.restart-prompt[data-v-5efaae58]{margin-top:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.restart-warning[data-v-5efaae58]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);color:var(--cg-color-warning)}.restart-warning .warning-icon[data-v-5efaae58]{font-size:var(--cg-font-size-lg);flex-shrink:0}.restart-warning .warning-content[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.restart-warning .warning-content strong[data-v-5efaae58]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold)}.restart-warning .warning-content p[data-v-5efaae58]{margin:0;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.restart-button[data-v-5efaae58]{align-self:flex-end;padding:var(--cg-space-2) var(--cg-space-4);background:var(--cg-color-warning);color:var(--cg-color-bg-primary);border:none;border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);cursor:pointer;transition:all var(--cg-transition-fast)}.restart-button[data-v-5efaae58]:hover{filter:brightness(1.1)}.failed-list[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-2);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-md);max-height:150px;overflow-y:auto}.failed-item[data-v-5efaae58]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-primary);border-radius:var(--cg-radius-sm)}.failed-node-id[data-v-5efaae58]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-error)}.failed-error[data-v-5efaae58]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);word-break:break-word}.retry-button[data-v-5efaae58]{align-self:flex-start;margin-top:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-4);background:var(--cg-color-accent);color:var(--cg-color-bg-primary);border:none;border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);cursor:pointer;transition:all var(--cg-transition-fast)}.retry-button[data-v-5efaae58]:hover{filter:brightness(1.1)}.loading-state[data-v-40d8d5a8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--cg-space-8);gap:var(--cg-space-3);color:var(--cg-color-text-muted)}.loading-spinner[data-v-40d8d5a8]{width:32px;height:32px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-40d8d5a8 .8s linear infinite}@keyframes spin-40d8d5a8{to{transform:rotate(360deg)}}.wizard-content[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:0}.step-content[data-v-40d8d5a8]{padding:var(--cg-space-3)}.analysis-summary[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.analysis-header[data-v-40d8d5a8],.review-header[data-v-40d8d5a8]{margin-bottom:var(--cg-space-2)}.summary-title[data-v-40d8d5a8]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-lg);font-weight:var(--cg-font-weight-semibold);margin:0 0 var(--cg-space-1) 0}.summary-description[data-v-40d8d5a8]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);margin:0}.stats-grid[data-v-40d8d5a8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--cg-space-3)}.stat-card[data-v-40d8d5a8]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);padding:var(--cg-space-3)}.stat-header[data-v-40d8d5a8]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin-bottom:var(--cg-space-2)}.stat-items[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.stat-item[data-v-40d8d5a8]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.stat-item.success[data-v-40d8d5a8]{color:var(--cg-color-success)}.stat-item.warning[data-v-40d8d5a8]{color:var(--cg-color-warning)}.stat-item.error[data-v-40d8d5a8]{color:var(--cg-color-error)}.stat-item.info[data-v-40d8d5a8]{color:var(--cg-color-info)}.stat-icon[data-v-40d8d5a8]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-bold)}.stat-count[data-v-40d8d5a8]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-semibold)}.stat-label[data-v-40d8d5a8]{color:inherit;opacity:.8}.status-message[data-v-40d8d5a8]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-sm)}.status-message.warning[data-v-40d8d5a8]{background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);color:var(--cg-color-warning)}.status-message.success[data-v-40d8d5a8]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);color:var(--cg-color-success)}.status-message.info[data-v-40d8d5a8]{background:var(--cg-color-info-muted);border:1px solid var(--cg-color-info);color:var(--cg-color-info)}.status-icon[data-v-40d8d5a8]{font-size:var(--cg-font-size-lg)}.category-mismatch-section[data-v-40d8d5a8]{margin-top:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md)}.section-subtitle[data-v-40d8d5a8]{color:var(--cg-color-warning);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);margin:0 0 var(--cg-space-2) 0}.mismatch-list[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.mismatch-item[data-v-40d8d5a8]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);flex-wrap:wrap}.mismatch-path[data-v-40d8d5a8]{font-family:var(--cg-font-mono);color:var(--cg-color-error)}.mismatch-arrow[data-v-40d8d5a8]{color:var(--cg-color-text-muted)}.mismatch-target[data-v-40d8d5a8]{font-family:var(--cg-font-mono);color:var(--cg-color-success)}.review-summary[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.review-stats[data-v-40d8d5a8]{display:flex;gap:var(--cg-space-4);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-lg)}.review-stat[data-v-40d8d5a8]{display:flex;flex-direction:column;align-items:center;flex:1}.review-stat .stat-value[data-v-40d8d5a8]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xl);font-weight:var(--cg-font-weight-bold);color:var(--cg-color-text-primary)}.review-stat .stat-label[data-v-40d8d5a8]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.review-section[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-title[data-v-40d8d5a8]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin:0;padding-bottom:var(--cg-space-1);border-bottom:1px solid var(--cg-color-border-subtle)}.review-items[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.review-item[data-v-40d8d5a8]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.item-name[data-v-40d8d5a8]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.item-choice[data-v-40d8d5a8]{display:flex;gap:var(--cg-space-2)}.choice-badge[data-v-40d8d5a8]{padding:var(--cg-space-1) var(--cg-space-2);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);border-radius:var(--cg-radius-sm)}.choice-badge.install[data-v-40d8d5a8],.choice-badge.download[data-v-40d8d5a8]{background:var(--cg-color-success-muted);color:var(--cg-color-success)}.choice-badge.optional[data-v-40d8d5a8]{background:var(--cg-color-info-muted);color:var(--cg-color-info)}.choice-badge.skip[data-v-40d8d5a8]{background:var(--cg-color-bg-hover);color:var(--cg-color-text-muted)}.choice-badge.pending[data-v-40d8d5a8]{background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-muted);font-style:italic}.no-choices[data-v-40d8d5a8]{padding:var(--cg-space-4);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-md);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-align:center}.download-details .download-item[data-v-40d8d5a8]{flex-direction:column;align-items:flex-start;gap:var(--cg-space-2)}.download-info[data-v-40d8d5a8]{display:flex;flex-direction:column;gap:var(--cg-space-1);width:100%}.download-meta[data-v-40d8d5a8]{display:flex;flex-wrap:wrap;gap:var(--cg-space-2);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.download-path[data-v-40d8d5a8]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary)}.download-url[data-v-40d8d5a8]{font-family:var(--cg-font-mono);color:var(--cg-color-info);cursor:help;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.footer-spacer[data-v-40d8d5a8]{flex:1}.search-input-wrapper[data-v-266f857a]{position:relative;width:100%}.search-input[data-v-266f857a]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);padding-right:var(--cg-space-8);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.search-input[data-v-266f857a]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 8px var(--cg-shadow-accent)}.clear-button[data-v-266f857a]{position:absolute;right:var(--cg-space-2);top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:var(--cg-space-1);font-size:var(--cg-font-size-sm);display:flex;align-items:center;justify-content:center;transition:color var(--cg-transition-fast)}.clear-button[data-v-266f857a]:hover{color:var(--cg-color-text-primary)}.search-bar[data-v-3d51bbfd]{margin-bottom:var(--cg-space-2)}.section-group[data-v-c48e33ed]{margin-bottom:var(--cg-space-4)}.section-content[data-v-c48e33ed]{margin-top:var(--cg-space-2)}.item-card[data-v-cc435e0e]{border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-3);margin-bottom:var(--cg-space-2);border-left-width:3px;border-left-color:transparent}.item-card.compact[data-v-cc435e0e]{padding:var(--cg-space-2)}.item-card.clickable[data-v-cc435e0e]{cursor:pointer}.item-card.clickable[data-v-cc435e0e]:hover{background:var(--cg-color-bg-hover)}.item-card.status-broken[data-v-cc435e0e]{border-left-color:var(--cg-color-error)}.item-card.status-new[data-v-cc435e0e]{border-left-color:var(--cg-color-info)}.item-card.status-modified[data-v-cc435e0e]{border-left-color:var(--cg-color-warning)}.item-card.status-synced[data-v-cc435e0e]{border-left-color:var(--cg-color-success)}.item-card.status-missing[data-v-cc435e0e]{border-left-color:var(--cg-color-warning)}.item-card.status-deleted[data-v-cc435e0e]{border-left-color:var(--cg-color-error)}.item-header[data-v-cc435e0e]{display:flex;align-items:flex-start;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.item-header[data-v-cc435e0e]:last-child{margin-bottom:0}.item-icon[data-v-cc435e0e]{font-size:var(--cg-font-size-xl);flex-shrink:0}.item-info[data-v-cc435e0e]{flex:1;min-width:0}.item-title[data-v-cc435e0e]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);margin-bottom:var(--cg-space-1)}.item-subtitle[data-v-cc435e0e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.item-details[data-v-cc435e0e]{display:flex;flex-direction:column;gap:var(--cg-space-1);margin-bottom:var(--cg-space-2)}.item-details[data-v-cc435e0e]:last-child{margin-bottom:0}.item-actions[data-v-cc435e0e]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.loading-state[data-v-ad8436c9]{text-align:center;padding:var(--cg-space-8) var(--cg-space-6);color:var(--cg-color-text-muted);display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-3)}.spinner[data-v-ad8436c9]{width:32px;height:32px;border:3px solid var(--cg-color-border-subtle);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-ad8436c9 .8s linear infinite}@keyframes spin-ad8436c9{to{transform:rotate(360deg)}}.loading-message[data-v-ad8436c9]{font-size:var(--cg-font-size-sm);margin:0}.error-state[data-v-5397be48]{text-align:center;padding:var(--cg-space-6);color:var(--cg-color-error);border:1px solid var(--cg-color-error);background:transparent;display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-3)}.error-icon[data-v-5397be48]{font-size:var(--cg-font-size-2xl)}.error-message[data-v-5397be48]{font-size:var(--cg-font-size-sm);margin:0}.summary-bar[data-v-ccb7816e]{padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);margin-bottom:var(--cg-space-4)}.summary-bar.compact[data-v-ccb7816e]{padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-xs)}.model-details[data-v-f15cbb56]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.detail-section[data-v-f15cbb56]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);padding:var(--cg-space-3)}.section-header[data-v-f15cbb56]{color:var(--cg-color-accent);text-transform:uppercase;font-size:var(--cg-font-size-xs);letter-spacing:var(--cg-letter-spacing-wide);margin:0 0 var(--cg-space-2) 0;padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border)}.detail-row[data-v-f15cbb56]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-1) 0}.detail-label[data-v-f15cbb56]{color:var(--cg-color-text-muted);min-width:100px;font-size:var(--cg-font-size-sm)}.detail-value[data-v-f15cbb56]{color:var(--cg-color-text-primary);flex:1;word-break:break-all}.detail-value.mono[data-v-f15cbb56]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.copy-btn[data-v-f15cbb56]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);padding:2px 8px;font-size:var(--cg-font-size-xs);cursor:pointer}.copy-btn[data-v-f15cbb56]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-accent);border-color:var(--cg-color-accent)}.locations-list[data-v-f15cbb56],.sources-list[data-v-f15cbb56]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.location-item[data-v-f15cbb56]{display:flex;flex-direction:column;gap:2px;padding:var(--cg-space-2);background:var(--cg-color-bg-tertiary);border-left:2px solid var(--cg-color-accent)}.location-path[data-v-f15cbb56]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);word-break:break-all}.location-modified[data-v-f15cbb56]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.source-item[data-v-f15cbb56]{display:flex;gap:var(--cg-space-2);align-items:center}.source-type[data-v-f15cbb56]{color:var(--cg-color-text-muted);text-transform:capitalize;flex-shrink:0}.source-url[data-v-f15cbb56]{color:var(--cg-color-accent);word-break:break-all;font-size:var(--cg-font-size-sm);flex:1}.remove-source-btn[data-v-f15cbb56]{background:transparent;border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);width:20px;height:20px;font-size:14px;line-height:1;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.remove-source-btn[data-v-f15cbb56]:hover:not(:disabled){background:var(--cg-color-error, #ef4444);border-color:var(--cg-color-error, #ef4444);color:#fff}.remove-source-btn[data-v-f15cbb56]:disabled{opacity:.5;cursor:not-allowed}.empty-state[data-v-f15cbb56]{color:var(--cg-color-text-muted);font-style:italic;padding:var(--cg-space-2)}.add-source-form[data-v-f15cbb56]{display:flex;gap:var(--cg-space-2);margin-top:var(--cg-space-3)}.source-input[data-v-f15cbb56]{flex:1;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);padding:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.source-input[data-v-f15cbb56]::placeholder{color:var(--cg-color-text-muted)}.source-input[data-v-f15cbb56]:focus{outline:none;border-color:var(--cg-color-accent)}.add-source-btn[data-v-f15cbb56]{background:var(--cg-color-accent);border:none;color:var(--cg-color-bg-primary);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-sm);cursor:pointer;white-space:nowrap}.add-source-btn[data-v-f15cbb56]:disabled{opacity:.5;cursor:not-allowed}.add-source-btn[data-v-f15cbb56]:not(:disabled):hover{filter:brightness(1.1)}.source-error[data-v-f15cbb56]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin-top:var(--cg-space-2)}.source-success[data-v-f15cbb56]{color:var(--cg-color-success);font-size:var(--cg-font-size-sm);margin-top:var(--cg-space-2)}.btn-secondary[data-v-f15cbb56]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);padding:var(--cg-space-2) var(--cg-space-4);cursor:pointer}.btn-secondary[data-v-f15cbb56]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent)}.open-location-btn[data-v-f15cbb56]{margin-top:var(--cg-space-2);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);padding:4px 12px;font-size:var(--cg-font-size-xs);cursor:pointer;align-self:flex-start}.open-location-btn[data-v-f15cbb56]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-accent);border-color:var(--cg-color-accent)}.toast[data-v-f15cbb56]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-accent);color:var(--cg-color-text-primary);padding:10px 20px;font-size:var(--cg-font-size-sm);z-index:10010;animation:toastSlideIn-f15cbb56 .2s ease}.toast.success[data-v-f15cbb56]{border-color:var(--cg-color-success, #4ade80)}.toast.error[data-v-f15cbb56]{border-color:var(--cg-color-error, #ef4444)}.toast.info[data-v-f15cbb56]{border-color:var(--cg-color-accent)}@keyframes toastSlideIn-f15cbb56{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.base-dropdown[data-v-857e085b]{position:relative;display:inline-flex;flex-direction:column;gap:4px}.dropdown-trigger[data-v-857e085b]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);cursor:pointer;width:100%;text-align:left;transition:all var(--cg-transition-fast)}.dropdown-trigger[data-v-857e085b]:hover:not(:disabled){border-color:var(--cg-color-accent)}.dropdown-trigger[data-v-857e085b]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.dropdown-trigger[data-v-857e085b]:disabled{opacity:.5;cursor:not-allowed}.dropdown-trigger.open[data-v-857e085b]{border-color:var(--cg-color-accent)}.dropdown-trigger.error[data-v-857e085b]{border-color:var(--cg-color-error)}.dropdown-value[data-v-857e085b]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow[data-v-857e085b]{font-size:10px;color:var(--cg-color-accent);transition:transform .15s ease}.dropdown-trigger.open .dropdown-arrow[data-v-857e085b]{transform:rotate(180deg)}.dropdown-overlay[data-v-857e085b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10010}.dropdown-menu[data-v-857e085b]{position:fixed;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);box-shadow:var(--cg-shadow-lg);overflow-y:auto;overflow-x:hidden;z-index:10011;padding:4px 0}.dropdown-menu[data-v-857e085b]::-webkit-scrollbar{width:8px}.dropdown-menu[data-v-857e085b]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.dropdown-menu[data-v-857e085b]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border-radius:4px}.dropdown-menu[data-v-857e085b]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.dropdown-option[data-v-857e085b]{padding:8px 12px;cursor:pointer;font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);color:var(--cg-color-text-primary);transition:background-color .1s ease}.dropdown-option[data-v-857e085b]:hover{background:var(--cg-color-bg-hover)}.dropdown-option.selected[data-v-857e085b]{background:var(--cg-color-accent-muted);color:var(--cg-color-accent)}.dropdown-error[data-v-857e085b]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error)}.hf-file-browser[data-v-183acebc]{display:flex;flex-direction:column;gap:var(--cg-space-3);height:100%}.browser-header[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border)}.back-btn[data-v-183acebc]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-secondary);padding:6px 10px;font-size:var(--cg-font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.back-btn[data-v-183acebc]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.repo-info[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-2);flex:1}.repo-id[data-v-183acebc]{color:var(--cg-color-accent);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium)}.revision-pill[data-v-183acebc]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);padding:2px 8px;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-family:var(--cg-font-mono)}.loading-state[data-v-183acebc],.error-state[data-v-183acebc]{padding:var(--cg-space-4);text-align:center;color:var(--cg-color-text-muted)}.error-state[data-v-183acebc]{color:var(--cg-color-error)}.toolbar[data-v-183acebc]{display:flex;gap:var(--cg-space-2);align-items:center;flex-wrap:wrap}.search-input[data-v-183acebc]{flex:1;min-width:200px}.toolbar-actions[data-v-183acebc]{display:flex;gap:var(--cg-space-2)}.toggle-btn[data-v-183acebc],.action-btn[data-v-183acebc]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-secondary);padding:6px 12px;font-size:var(--cg-font-size-xs);cursor:pointer;white-space:nowrap}.toggle-btn[data-v-183acebc]:hover,.action-btn[data-v-183acebc]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.toggle-btn.active[data-v-183acebc]{background:var(--cg-color-accent);color:var(--cg-color-text-inverse);border-color:var(--cg-color-accent)}.file-list-container[data-v-183acebc]{flex:1;min-height:0;max-height:300px;overflow-y:auto;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border)}.file-list-container[data-v-183acebc]::-webkit-scrollbar{width:8px}.file-list-container[data-v-183acebc]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.file-list-container[data-v-183acebc]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.file-list-container[data-v-183acebc]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.file-list-header[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border-bottom:1px solid var(--cg-color-border);position:sticky;top:0;z-index:1}.header-name[data-v-183acebc],.header-size[data-v-183acebc]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--cg-space-1)}.header-name[data-v-183acebc]:hover,.header-size[data-v-183acebc]:hover{color:var(--cg-color-accent)}.header-name[data-v-183acebc]{flex:1}.header-size[data-v-183acebc]{white-space:nowrap}.sort-indicator[data-v-183acebc]{font-size:10px;color:var(--cg-color-accent);min-width:10px}.file-list[data-v-183acebc]{display:flex;flex-direction:column}.file-item[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);cursor:pointer;border-bottom:1px solid var(--cg-color-border-subtle)}.file-item[data-v-183acebc]:last-child{border-bottom:none}.file-item[data-v-183acebc]:hover{background:var(--cg-color-bg-hover)}.file-item.selected[data-v-183acebc]{background:var(--cg-color-accent-muted)}.file-checkbox[data-v-183acebc]{cursor:pointer;accent-color:var(--cg-color-accent)}.file-path[data-v-183acebc]{flex:1;font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);word-break:break-all;color:var(--cg-color-text-primary)}.file-size[data-v-183acebc]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);white-space:nowrap}.empty-state[data-v-183acebc]{padding:var(--cg-space-4);text-align:center;color:var(--cg-color-text-muted);font-style:italic}.destination-section[data-v-183acebc]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);padding:var(--cg-space-3)}.section-label[data-v-183acebc]{color:var(--cg-color-accent);text-transform:uppercase;font-size:var(--cg-font-size-xs);letter-spacing:var(--cg-letter-spacing-wide);margin:0 0 var(--cg-space-2) 0}.destination-row[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-2)}.dest-select[data-v-183acebc]{min-width:220px}.path-separator[data-v-183acebc]{color:var(--cg-color-text-muted);font-family:var(--cg-font-mono)}.dest-subfolder[data-v-183acebc]{flex:1}.dest-custom[data-v-183acebc]{margin-top:var(--cg-space-2)}.action-bar[data-v-183acebc]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-3)}.summary-info[data-v-183acebc]{display:flex;align-items:center;gap:var(--cg-space-3)}.summary-count[data-v-183acebc]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.summary-size[data-v-183acebc]{color:var(--cg-color-accent);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.token-config-modal[data-v-0687d0ce]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.provider-info[data-v-0687d0ce]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-lg);font-weight:var(--cg-font-weight-medium)}.current-token[data-v-0687d0ce]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-border-radius)}.current-token .label[data-v-0687d0ce]{color:var(--cg-color-text-secondary)}.current-token .mask[data-v-0687d0ce]{font-family:var(--cg-font-mono);flex:1}.token-input-section[data-v-0687d0ce]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.input-label[data-v-0687d0ce]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.help-text[data-v-0687d0ce]{font-size:var(--cg-font-size-xs)}.help-text a[data-v-0687d0ce]{color:var(--cg-color-accent)}.modal-actions[data-v-0687d0ce]{display:flex;justify-content:flex-end;gap:var(--cg-space-2)}.huggingface-tab[data-v-e13209bf]{display:flex;flex-direction:column;gap:var(--cg-space-3);height:100%}.search-section[data-v-e13209bf]{flex-shrink:0}.search-header[data-v-e13209bf]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-2)}.search-bar[data-v-e13209bf]{display:flex;gap:var(--cg-space-2);flex:1}.search-bar[data-v-e13209bf] .base-input-wrapper{flex:1}.search-results[data-v-e13209bf]{flex:1;min-height:0;overflow-y:auto}.loading-state[data-v-e13209bf],.error-state[data-v-e13209bf],.empty-state[data-v-e13209bf],.hint-state[data-v-e13209bf]{padding:var(--cg-space-4);text-align:center;color:var(--cg-color-text-muted)}.error-state[data-v-e13209bf]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2)}.error-state p[data-v-e13209bf]{color:var(--cg-color-error);margin:0}.hint-state[data-v-e13209bf]{font-style:italic}.results-list[data-v-e13209bf]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.repo-card[data-v-e13209bf]{background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);padding:var(--cg-space-3);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.repo-card[data-v-e13209bf]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.repo-header[data-v-e13209bf]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--cg-space-2);margin-bottom:var(--cg-space-1)}.repo-id[data-v-e13209bf]{color:var(--cg-color-accent);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);word-break:break-all}.repo-stats[data-v-e13209bf]{display:flex;gap:var(--cg-space-3);flex-shrink:0}.stat[data-v-e13209bf]{display:flex;align-items:center;gap:var(--cg-space-1);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);white-space:nowrap}.stat-icon[data-v-e13209bf]{font-size:var(--cg-font-size-xs)}.repo-desc[data-v-e13209bf]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);margin:0 0 var(--cg-space-2) 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.repo-tags[data-v-e13209bf]{display:flex;flex-wrap:wrap;gap:var(--cg-space-1)}.tag[data-v-e13209bf]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);padding:2px 6px}.search-results[data-v-e13209bf]::-webkit-scrollbar{width:8px}.search-results[data-v-e13209bf]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.search-results[data-v-e13209bf]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.search-results[data-v-e13209bf]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.civitai-tab[data-v-44948051]{display:flex;align-items:center;justify-content:center;min-height:300px;padding:var(--cg-space-4)}.placeholder[data-v-44948051]{text-align:center;color:var(--cg-color-text-muted)}.placeholder .icon[data-v-44948051]{font-size:48px;margin-bottom:var(--cg-space-3)}.placeholder h3[data-v-44948051]{color:var(--cg-color-text-secondary);margin:0 0 var(--cg-space-2) 0}.placeholder p[data-v-44948051]{margin:0;font-size:var(--cg-font-size-sm)}.direct-url-tab[data-v-01def7aa]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.input-group[data-v-01def7aa]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.input-group label[data-v-01def7aa]{font-weight:var(--cg-font-weight-medium);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.error[data-v-01def7aa]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin:0}.note[data-v-01def7aa]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);margin:0}.actions[data-v-01def7aa]{display:flex;justify-content:flex-end;margin-top:var(--cg-space-2)}.download-modal[data-v-90a9f401]{display:flex;flex-direction:column;height:100%}.tab-bar[data-v-90a9f401]{display:flex;gap:var(--cg-space-1);padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border);margin-bottom:var(--cg-space-3)}.tab-btn[data-v-90a9f401]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-secondary);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-sm);cursor:pointer;transition:all .15s ease}.tab-btn[data-v-90a9f401]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.tab-btn.active[data-v-90a9f401]{background:var(--cg-color-accent);border-color:var(--cg-color-accent);color:var(--cg-color-text-inverse)}.tab-content[data-v-90a9f401]{flex:1;min-height:0;overflow-y:auto}.indexing-progress[data-v-3705114c]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);padding:var(--cg-space-2) var(--cg-space-3);margin-bottom:var(--cg-space-2)}.progress-info[data-v-3705114c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--cg-space-1)}.progress-label[data-v-3705114c]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.progress-count[data-v-3705114c]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.progress-bar[data-v-3705114c]{height:4px;background:var(--cg-color-bg-hover);border-radius:2px;overflow:hidden}.progress-fill[data-v-3705114c]{height:100%;background:var(--cg-color-accent);transition:width .2s ease}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10010}.modal-content{width:90%;max-width:500px;background:var(--cg-color-bg-primary, #1a1a2e);border:1px solid var(--cg-color-border, #333);border-radius:var(--cg-radius-lg, 8px);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--cg-color-border, #333);background:var(--cg-color-bg-secondary, #252542)}.modal-header h3{margin:0;font-size:14px;font-weight:600;color:var(--cg-color-text-primary, #fff)}.modal-close{background:none;border:none;font-size:18px;color:var(--cg-color-text-muted, #888);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease}.modal-close:hover{color:var(--cg-color-text-primary, #fff);background:var(--cg-color-bg-hover, #333)}.modal-body{padding:16px;display:flex;flex-direction:column;gap:12px}.input-group{display:flex;flex-direction:column;gap:4px}.input-group label{font-size:12px;font-weight:500;color:var(--cg-color-text-secondary, #aaa)}.current-path{font-family:var(--cg-font-mono, monospace);font-size:13px;padding:8px 12px;background:var(--cg-color-bg-tertiary, #333);border-radius:4px;color:var(--cg-color-accent, #7c3aed);word-break:break-all;overflow-wrap:anywhere}.modal-note{font-size:12px;color:var(--cg-color-text-muted, #888);margin:0;padding:8px;background:var(--cg-color-bg-secondary, #252542);border-radius:4px}.modal-error{font-size:12px;color:var(--cg-color-error, #ef4444);margin-top:4px}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--cg-color-border, #333);background:var(--cg-color-bg-secondary, #252542)}.node-details[data-v-b342f626]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.status-row[data-v-b342f626]{display:flex;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.status-badge[data-v-b342f626]{padding:4px 12px;border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.status-badge.installed[data-v-b342f626]{background:var(--cg-color-success-muted, rgba(34, 197, 94, .15));color:var(--cg-color-success);border:1px solid var(--cg-color-success)}.status-badge.dev[data-v-b342f626]{background:var(--cg-color-accent-muted);color:var(--cg-color-accent);border:1px solid var(--cg-color-accent)}.status-badge.missing[data-v-b342f626]{background:var(--cg-color-error-muted);color:var(--cg-color-error);border:1px solid var(--cg-color-error)}.status-badge.warning[data-v-b342f626]{background:#f59e0b26;color:var(--cg-color-warning, #f59e0b);border:1px solid var(--cg-color-warning, #f59e0b)}.detail-row[data-v-b342f626]{display:flex;align-items:flex-start;gap:var(--cg-space-3);font-size:var(--cg-font-size-sm)}.label[data-v-b342f626]{color:var(--cg-color-text-muted);min-width:100px;flex-shrink:0}.value[data-v-b342f626]{color:var(--cg-color-text-secondary);word-break:break-word}.value.mono[data-v-b342f626]{font-family:var(--cg-font-mono)}.value.small[data-v-b342f626]{font-size:var(--cg-font-size-xs)}.repo-link[data-v-b342f626]{color:var(--cg-color-accent);text-decoration:none;display:inline-flex;align-items:center;gap:6px;word-break:break-all}.repo-link[data-v-b342f626]:hover{text-decoration:underline}.external-icon[data-v-b342f626]{flex-shrink:0;opacity:.7}.section-divider[data-v-b342f626]{height:1px;background:var(--cg-color-border-subtle);margin:var(--cg-space-2) 0}.workflow-list[data-v-b342f626]{display:flex;flex-wrap:wrap;gap:6px}.workflow-tag[data-v-b342f626]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:2px 8px;border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.dialog-message[data-v-3670b9f5]{margin:0 0 12px;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);line-height:var(--cg-line-height-normal)}.dialog-details[data-v-3670b9f5]{background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-md);padding:8px 12px;margin-bottom:12px}.detail-item[data-v-3670b9f5]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);padding:2px 0}.dialog-warning[data-v-3670b9f5]{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);font-size:var(--cg-font-size-xs);color:var(--cg-color-warning)}.warning-icon[data-v-3670b9f5]{flex-shrink:0}.mismatch-warning[data-v-1555a802]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-warning);margin-bottom:var(--cg-space-3)}.warning-icon[data-v-1555a802]{font-size:var(--cg-font-size-lg);flex-shrink:0}.version-mismatch[data-v-1555a802]{display:flex;align-items:center;gap:var(--cg-space-1);font-family:var(--cg-font-mono)}.version-actual[data-v-1555a802]{color:var(--cg-color-error);text-decoration:line-through}.version-arrow[data-v-1555a802]{color:var(--cg-color-text-muted)}.version-expected[data-v-1555a802]{color:var(--cg-color-success)}.remote-url-display[data-v-7768a58d]{display:inline-flex;align-items:center;gap:var(--cg-space-2);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.url-text[data-v-7768a58d]{color:var(--cg-color-text-secondary);word-break:break-all}.copy-btn[data-v-7768a58d]{background:transparent;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast);flex-shrink:0}.copy-btn[data-v-7768a58d]:hover{border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.copy-btn.copied[data-v-7768a58d]{color:var(--cg-color-success);border-color:var(--cg-color-success)}.remote-title[data-v-8310f3a8]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.default-badge[data-v-8310f3a8]{display:inline-block;padding:2px 6px;background:transparent;border:1px solid var(--cg-color-success);color:var(--cg-color-success);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.sync-badge[data-v-8310f3a8]{display:inline-flex;align-items:center;gap:var(--cg-space-1);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.sync-badge .ahead[data-v-8310f3a8]{color:var(--cg-color-info)}.sync-badge .behind[data-v-8310f3a8]{color:var(--cg-color-warning)}.sync-badge .synced[data-v-8310f3a8]{color:var(--cg-color-success)}.remote-url-link[data-v-8310f3a8]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);text-decoration:none}.remote-url-link[data-v-8310f3a8]:hover{text-decoration:underline}.remote-url-text[data-v-8310f3a8]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.base-form-field[data-v-9a1cf296]{display:flex;flex-direction:column;gap:6px}.base-form-field.full-width[data-v-9a1cf296]{width:100%}.base-form-field-label[data-v-9a1cf296]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);font-weight:var(--cg-font-weight-medium);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.base-form-field-required[data-v-9a1cf296]{color:var(--cg-color-error);margin-left:2px}.base-form-field-input[data-v-9a1cf296]{width:100%}.base-form-field-error[data-v-9a1cf296]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error)}.base-form-field-hint[data-v-9a1cf296]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.remote-form[data-v-56021b18]{border:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-4);margin-bottom:var(--cg-space-4)}.form-header[data-v-56021b18]{margin-bottom:var(--cg-space-4)}.form-body[data-v-56021b18]{display:flex;flex-direction:column;gap:var(--cg-space-3);margin-bottom:var(--cg-space-4)}.form-error[data-v-56021b18]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);color:var(--cg-color-error);font-size:var(--cg-font-size-sm)}.form-actions[data-v-56021b18]{display:flex;gap:var(--cg-space-2)}.conflict-summary-box[data-v-4e9e6cc9]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md)}.summary-header[data-v-4e9e6cc9]{display:flex;align-items:flex-start;gap:var(--cg-space-2)}.summary-icon[data-v-4e9e6cc9]{font-size:var(--cg-font-size-lg);color:var(--cg-color-warning)}.summary-text[data-v-4e9e6cc9]{flex:1}.summary-text strong[data-v-4e9e6cc9]{color:var(--cg-color-warning);font-size:var(--cg-font-size-sm)}.summary-text p[data-v-4e9e6cc9]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.summary-text p.all-resolved[data-v-4e9e6cc9]{color:var(--cg-color-success)}.summary-progress[data-v-4e9e6cc9]{display:flex;align-items:center;gap:var(--cg-space-2)}.progress-bar[data-v-4e9e6cc9]{flex:1;height:6px;background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-sm);overflow:hidden}.progress-fill[data-v-4e9e6cc9]{height:100%;background:var(--cg-color-warning);border-radius:var(--cg-radius-sm);transition:width .3s ease}.progress-text[data-v-4e9e6cc9]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);white-space:nowrap}.modal-overlay[data-v-1d633bba]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-1d633bba]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-1d633bba]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.modal-title[data-v-1d633bba]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-1d633bba]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-close[data-v-1d633bba]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-1d633bba]{padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-4)}.loading-state[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);justify-content:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted)}.spinner[data-v-1d633bba]{animation:spin-1d633bba 1s linear infinite}.error-box[data-v-1d633bba]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-sm);color:var(--cg-color-error)}.error-icon[data-v-1d633bba]{font-size:var(--cg-font-size-xl);flex-shrink:0}.error-box p[data-v-1d633bba]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.error-hint[data-v-1d633bba]{margin-top:var(--cg-space-2)!important;opacity:.9}@keyframes spin-1d633bba{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.commit-summary[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-base);color:var(--cg-color-text-primary)}.commit-summary .icon[data-v-1d633bba]{font-size:var(--cg-font-size-lg)}.warning-box[data-v-1d633bba]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);color:var(--cg-color-warning)}.warning-icon[data-v-1d633bba]{font-size:var(--cg-font-size-xl);flex-shrink:0}.warning-box p[data-v-1d633bba]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.options-section[data-v-1d633bba]{padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.options-section ul[data-v-1d633bba]{margin:var(--cg-space-2) 0 0 var(--cg-space-4);padding:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.commits-section[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.commit-list[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);max-height:200px;overflow-y:auto}.commit-item[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.commit-hash[data-v-1d633bba]{font-family:var(--cg-font-mono);color:var(--cg-color-info);flex-shrink:0}.commit-message[data-v-1d633bba]{color:var(--cg-color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-date[data-v-1d633bba]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);flex-shrink:0}.changes-section[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-title[data-v-1d633bba]{margin:0;font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.change-group[data-v-1d633bba]{background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);overflow:hidden}.change-group summary[data-v-1d633bba]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-2) var(--cg-space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.change-group summary[data-v-1d633bba]:hover{background:var(--cg-color-bg-hover)}.change-type[data-v-1d633bba]{font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary)}.change-count[data-v-1d633bba]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.change-list[data-v-1d633bba]{padding:var(--cg-space-2) var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle);max-height:150px;overflow-y:auto}.change-item[data-v-1d633bba]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);padding:var(--cg-space-1) 0}.change-item.add[data-v-1d633bba]{color:var(--cg-color-success)}.change-item.modify[data-v-1d633bba]{color:var(--cg-color-info)}.change-item.delete[data-v-1d633bba]{color:var(--cg-color-error)}.conflict-badge[data-v-1d633bba]{margin-left:var(--cg-space-2);padding:1px var(--cg-space-2);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-xs);color:var(--cg-color-warning)}.strategy-section[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.radio-group[data-v-1d633bba]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.radio-option[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;font-size:var(--cg-font-size-sm)}.radio-option input[data-v-1d633bba]{margin:0}.default-badge[data-v-1d633bba]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);background:var(--cg-color-bg-tertiary);padding:1px 4px;border-radius:var(--cg-radius-xs)}.strategy-hint[data-v-1d633bba]{margin:0;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-style:italic}.up-to-date[data-v-1d633bba]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-4);color:var(--cg-color-success);justify-content:center}.modal-actions[data-v-1d633bba]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.modal-overlay[data-v-3c2e35ab]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-3c2e35ab]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-3c2e35ab]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.modal-title[data-v-3c2e35ab]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-3c2e35ab]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-close[data-v-3c2e35ab]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-3c2e35ab]{padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-4)}.loading-state[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);justify-content:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted)}.spinner[data-v-3c2e35ab]{animation:spin-3c2e35ab 1s linear infinite}@keyframes spin-3c2e35ab{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.commit-summary[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-base);color:var(--cg-color-text-primary)}.commit-summary .icon[data-v-3c2e35ab]{font-size:var(--cg-font-size-lg)}.warning-box[data-v-3c2e35ab]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);color:var(--cg-color-warning)}.warning-icon[data-v-3c2e35ab]{font-size:var(--cg-font-size-xl);flex-shrink:0}.warning-box p[data-v-3c2e35ab]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.info-box[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-info-muted);border:1px solid var(--cg-color-info);border-radius:var(--cg-radius-sm);color:var(--cg-color-info);font-size:var(--cg-font-size-sm)}.info-icon[data-v-3c2e35ab]{flex-shrink:0}.commits-section[data-v-3c2e35ab]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-title[data-v-3c2e35ab]{margin:0;font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.commit-list[data-v-3c2e35ab]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);max-height:200px;overflow-y:auto}.commit-item[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.commit-hash[data-v-3c2e35ab]{font-family:var(--cg-font-mono);color:var(--cg-color-info);flex-shrink:0}.commit-message[data-v-3c2e35ab]{color:var(--cg-color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-date[data-v-3c2e35ab]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);flex-shrink:0}.force-option[data-v-3c2e35ab]{padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.checkbox-option[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;font-size:var(--cg-font-size-sm)}.checkbox-option input[data-v-3c2e35ab]{margin:0}.option-hint[data-v-3c2e35ab]{margin:var(--cg-space-1) 0 0 var(--cg-space-5);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.up-to-date[data-v-3c2e35ab]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-4);color:var(--cg-color-success);justify-content:center}.modal-actions[data-v-3c2e35ab]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.resolution-choice-group[data-v-985715ed]{display:flex;gap:var(--cg-space-2)}.choice-btn[data-v-985715ed]{display:flex;align-items:center;gap:var(--cg-space-1);padding:var(--cg-space-2) var(--cg-space-3);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-sm);background:var(--cg-color-bg-secondary);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);cursor:pointer;transition:all .15s ease}.choice-btn[data-v-985715ed]:hover:not(:disabled){background:var(--cg-color-bg-hover);border-color:var(--cg-color-text-muted)}.choice-btn[data-v-985715ed]:disabled{opacity:.5;cursor:not-allowed}.choice-btn.selected[data-v-985715ed]{border-color:var(--cg-color-accent);background:var(--cg-color-accent-muted);color:var(--cg-color-accent)}.choice-btn.mine.selected[data-v-985715ed]{border-color:var(--cg-color-info);background:var(--cg-color-info-muted);color:var(--cg-color-info)}.choice-btn.theirs.selected[data-v-985715ed]{border-color:var(--cg-color-success);background:var(--cg-color-success-muted);color:var(--cg-color-success)}.choice-icon[data-v-985715ed]{font-size:var(--cg-font-size-xs)}.conflict-item[data-v-506d3bbf]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);transition:all .2s ease}.conflict-item.resolved[data-v-506d3bbf]{background:var(--cg-color-bg-secondary);border-color:var(--cg-color-border)}.conflict-header[data-v-506d3bbf]{display:flex;align-items:flex-start;gap:var(--cg-space-3)}.conflict-icon[data-v-506d3bbf]{font-size:var(--cg-font-size-lg);color:var(--cg-color-warning);flex-shrink:0}.conflict-item.resolved .conflict-icon[data-v-506d3bbf]{color:var(--cg-color-text-muted)}.conflict-info[data-v-506d3bbf]{flex:1;min-width:0}.workflow-name[data-v-506d3bbf]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conflict-description[data-v-506d3bbf]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin-top:var(--cg-space-1)}.resolved-badge[data-v-506d3bbf]{display:flex;align-items:center;gap:var(--cg-space-1);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-success-muted);border-radius:var(--cg-radius-sm);color:var(--cg-color-success);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);flex-shrink:0}.conflict-hashes[data-v-506d3bbf]{display:flex;gap:var(--cg-space-4);padding:var(--cg-space-2);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.hash-item code[data-v-506d3bbf]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary)}.conflict-actions[data-v-506d3bbf]{display:flex;justify-content:flex-end}.resolution-content[data-v-c58d150d]{display:flex;flex-direction:column;gap:var(--cg-space-4);height:100%;min-height:0}.error-box[data-v-c58d150d]{flex-shrink:0;display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-sm);color:var(--cg-color-error)}.error-icon[data-v-c58d150d]{font-size:var(--cg-font-size-xl);flex-shrink:0}.error-box p[data-v-c58d150d]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.resolution-header[data-v-c58d150d]{flex-shrink:0;padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.header-stats[data-v-c58d150d]{display:flex;gap:var(--cg-space-4);margin-bottom:var(--cg-space-2)}.stat[data-v-c58d150d]{display:flex;flex-direction:column;align-items:center}.stat-value[data-v-c58d150d]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xl);font-weight:var(--cg-font-weight-bold);color:var(--cg-color-text-primary)}.stat.resolved .stat-value[data-v-c58d150d]{color:var(--cg-color-success)}.stat.pending .stat-value[data-v-c58d150d]{color:var(--cg-color-warning)}.stat-label[data-v-c58d150d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.header-hint[data-v-c58d150d]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin:0;line-height:1.5}.conflicts-list[data-v-c58d150d]{display:flex;flex-direction:column;gap:var(--cg-space-3);flex:1;min-height:0;overflow-y:auto;padding-right:var(--cg-space-2)}.all-resolved-message[data-v-c58d150d]{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);border-radius:var(--cg-radius-md);color:var(--cg-color-success);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium)}.resolved-icon[data-v-c58d150d]{font-size:var(--cg-font-size-lg)}.footer-spacer[data-v-c58d150d]{flex:1}.node-conflict-item[data-v-8b626725]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md)}.node-header[data-v-8b626725]{display:flex;align-items:baseline;gap:var(--cg-space-2)}.node-name[data-v-8b626725]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.node-id[data-v-8b626725]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.version-comparison[data-v-8b626725]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm)}.version[data-v-8b626725]{display:flex;flex-direction:column;gap:2px}.version .label[data-v-8b626725]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.version code[data-v-8b626725]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary)}.version.yours code[data-v-8b626725]{color:var(--cg-color-info)}.version.theirs code[data-v-8b626725]{color:var(--cg-color-success)}.arrow[data-v-8b626725]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-lg)}.chosen-version[data-v-8b626725]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-accent-muted);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm)}.chosen-version .label[data-v-8b626725]{color:var(--cg-color-text-muted)}.chosen-version .chosen[data-v-8b626725]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent)}.chosen-reason[data-v-8b626725]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);margin-left:auto}.affected-workflows[data-v-8b626725]{font-size:var(--cg-font-size-sm)}.affected-workflows summary[data-v-8b626725]{cursor:pointer;color:var(--cg-color-text-secondary);-webkit-user-select:none;user-select:none}.affected-workflows summary[data-v-8b626725]:hover{color:var(--cg-color-text-primary)}.affected-workflows ul[data-v-8b626725]{margin:var(--cg-space-2) 0 0 var(--cg-space-4);padding:0;list-style:none}.affected-workflows li[data-v-8b626725]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-1) 0;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs)}.affected-workflows li code[data-v-8b626725]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary)}.wf-source[data-v-8b626725]{color:var(--cg-color-text-muted)}.wf-version[data-v-8b626725]{margin-left:auto;color:var(--cg-color-text-muted)}.validation-content[data-v-fefd26ed]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.compatible-message[data-v-fefd26ed]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);border-radius:var(--cg-radius-md);color:var(--cg-color-success)}.compatible-message .icon[data-v-fefd26ed]{font-size:var(--cg-font-size-xl)}.compatible-message p[data-v-fefd26ed]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.warning-header[data-v-fefd26ed]{display:flex;align-items:flex-start;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);color:var(--cg-color-warning)}.warning-header .icon[data-v-fefd26ed]{font-size:var(--cg-font-size-xl)}.warning-header p[data-v-fefd26ed]{margin:var(--cg-space-1) 0 0 0;font-size:var(--cg-font-size-sm)}.conflicts-list[data-v-fefd26ed]{display:flex;flex-direction:column;gap:var(--cg-space-3);max-height:300px;overflow-y:auto}.info-box[data-v-fefd26ed]{padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm)}.info-box strong[data-v-fefd26ed]{display:block;margin-bottom:var(--cg-space-1);color:var(--cg-color-text-primary)}.info-box p[data-v-fefd26ed]{margin:0;color:var(--cg-color-text-secondary)}.warnings-section[data-v-fefd26ed]{padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.warnings-section h4[data-v-fefd26ed]{margin:0 0 var(--cg-space-2) 0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.warnings-section ul[data-v-fefd26ed]{margin:0;padding:0 0 0 var(--cg-space-4);list-style:disc}.warnings-section li[data-v-fefd26ed]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);padding:var(--cg-space-1) 0}.footer-spacer[data-v-fefd26ed]{flex:1}.setting-row[data-v-cb5d236c]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-4);padding:var(--cg-space-3) 0;border-bottom:1px solid var(--cg-color-border-subtle)}.setting-row[data-v-cb5d236c]:last-child{border-bottom:none}.setting-row.disabled[data-v-cb5d236c]{opacity:.5;pointer-events:none}.setting-info[data-v-cb5d236c]{flex:1;min-width:0}.setting-label[data-v-cb5d236c]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);margin-bottom:var(--cg-space-1)}.required-marker[data-v-cb5d236c]{color:var(--cg-color-error);margin-left:2px}.setting-description[data-v-cb5d236c]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);line-height:var(--cg-line-height-normal)}.setting-control[data-v-cb5d236c]{flex-shrink:0;display:flex;align-items:center;gap:var(--cg-space-2)}.toggle[data-v-71c0f550]{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.toggle-input[data-v-71c0f550]{opacity:0;width:0;height:0;position:absolute}.toggle-slider[data-v-71c0f550]{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);transition:all var(--cg-transition-fast);border-radius:var(--cg-radius-full)}.toggle-slider[data-v-71c0f550]:before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:var(--cg-color-text-muted);transition:all var(--cg-transition-fast);border-radius:50%}.toggle-input:checked+.toggle-slider[data-v-71c0f550]{background:var(--cg-color-accent);border-color:var(--cg-color-accent)}.toggle-input:checked+.toggle-slider[data-v-71c0f550]:before{transform:translate(18px);background:var(--cg-color-text-primary)}.toggle-input:disabled+.toggle-slider[data-v-71c0f550]{opacity:.5;cursor:not-allowed}.toggle-input:focus+.toggle-slider[data-v-71c0f550]{box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.toggle-input:not(:disabled)+.toggle-slider[data-v-71c0f550]:hover{border-color:var(--cg-color-accent)}.workspace-settings-content[data-v-9c5b427b]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.settings-section[data-v-9c5b427b]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-3)}.path-setting[data-v-9c5b427b]{padding:var(--cg-space-3) 0;border-bottom:1px solid var(--cg-color-border-subtle)}.path-setting[data-v-9c5b427b]:last-child{border-bottom:none}.path-label[data-v-9c5b427b]{font-size:var(--cg-font-size-sm);font-weight:500;color:var(--cg-color-text-primary);margin-bottom:var(--cg-space-1)}.path-description[data-v-9c5b427b]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);margin-bottom:var(--cg-space-2)}.path-value[data-v-9c5b427b]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-primary);background:var(--cg-color-bg-primary);padding:var(--cg-space-2);border-radius:var(--cg-border-radius-sm);border:1px solid var(--cg-color-border-subtle);word-break:break-all}.setting-hint[data-v-9c5b427b]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);margin-top:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-bg-primary);border-radius:var(--cg-border-radius-sm)}.setting-hint code[data-v-9c5b427b]{font-family:var(--cg-font-mono);background:var(--cg-color-bg-secondary);padding:0 var(--cg-space-1);border-radius:var(--cg-border-radius-sm)}.base-tabs[data-v-ad5e6cad]{display:flex;gap:var(--cg-space-1);border-bottom:1px solid var(--cg-color-border-subtle);margin-bottom:var(--cg-space-3)}.base-tabs__tab[data-v-ad5e6cad]{padding:var(--cg-space-2) var(--cg-space-3);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--cg-color-text-secondary);font-family:var(--cg-font-body);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);cursor:pointer;transition:all var(--cg-transition-fast);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.base-tabs__tab[data-v-ad5e6cad]:hover:not(.disabled){color:var(--cg-color-text-primary)}.base-tabs__tab.active[data-v-ad5e6cad]{color:var(--cg-color-accent);border-bottom-color:var(--cg-color-accent)}.base-tabs__tab.disabled[data-v-ad5e6cad]{opacity:.5;cursor:not-allowed}.base-tabs__badge[data-v-ad5e6cad]{margin-left:var(--cg-space-1);padding:1px 6px;background:var(--cg-color-accent-muted);color:var(--cg-color-accent);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs)}.log-viewer-wrapper[data-v-c0cc6d21]{position:relative}.log-output[data-v-c0cc6d21]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-3);margin:0;user-select:text!important;-webkit-user-select:text!important;cursor:text}.copy-overlay-btn[data-v-c0cc6d21]{position:sticky;top:8px;float:right;margin-left:8px;margin-bottom:4px;padding:4px 8px;font-size:10px;font-family:var(--cg-font-body);line-height:1.2;background:var(--cg-color-bg-secondary);color:var(--cg-color-text-secondary);border:1px solid var(--cg-color-border);border-radius:4px;cursor:pointer;opacity:.4;transition:opacity .15s ease;z-index:2}.log-viewer-wrapper:hover .copy-overlay-btn[data-v-c0cc6d21]{opacity:1}.copy-overlay-btn[data-v-c0cc6d21]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-text-primary)}.copy-overlay-btn[data-v-c0cc6d21]:disabled{cursor:default}.log-line[data-v-c0cc6d21]{line-height:1.5;white-space:pre-wrap;word-wrap:break-word;user-select:text!important;-webkit-user-select:text!important}.log-level-error[data-v-c0cc6d21]{color:#f55}.log-level-warning[data-v-c0cc6d21]{color:#ffb86c}.log-level-info[data-v-c0cc6d21]{color:#50fa7b}.log-level-debug[data-v-c0cc6d21]{color:#6272a4}.env-title[data-v-9231917a]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.current-badge[data-v-9231917a]{display:inline-block;padding:2px 6px;background:transparent;border:1px solid var(--cg-color-success);color:var(--cg-color-success);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);border-radius:var(--cg-radius-sm)}.branch-info[data-v-9231917a]{font-family:var(--cg-font-mono);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);display:flex;align-items:center;gap:var(--cg-space-1)}.branch-icon[data-v-9231917a]{opacity:.7}.env-details[data-v-92e68b76]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.status-row[data-v-92e68b76]{display:flex;align-items:center;gap:var(--cg-space-3);padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.status-badge[data-v-92e68b76]{padding:4px 12px;border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.status-badge.current[data-v-92e68b76]{background:var(--cg-color-success-muted, rgba(34, 197, 94, .15));color:var(--cg-color-success);border:1px solid var(--cg-color-success)}.status-badge.inactive[data-v-92e68b76]{background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-muted);border:1px solid var(--cg-color-border-subtle)}.detail-row[data-v-92e68b76]{display:flex;align-items:flex-start;gap:var(--cg-space-3);font-size:var(--cg-font-size-sm)}.label[data-v-92e68b76]{color:var(--cg-color-text-muted);min-width:100px;flex-shrink:0}.value[data-v-92e68b76]{color:var(--cg-color-text-secondary);word-break:break-word}.value.mono[data-v-92e68b76]{font-family:var(--cg-font-mono)}.value.small[data-v-92e68b76]{font-size:var(--cg-font-size-xs)}.section-divider[data-v-92e68b76]{height:1px;background:var(--cg-color-border-subtle);margin:var(--cg-space-2) 0}.collapsible-section[data-v-92e68b76]{font-size:var(--cg-font-size-sm)}.collapsible-header[data-v-92e68b76]{display:flex;align-items:center;gap:var(--cg-space-3);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--cg-space-1) 0;border-radius:var(--cg-radius-sm)}.collapsible-header[data-v-92e68b76]:hover{opacity:.8}.chevron[data-v-92e68b76]{margin-left:auto;font-size:10px;color:var(--cg-color-text-muted);transition:transform .15s ease}.chevron.expanded[data-v-92e68b76]{transform:rotate(90deg)}.collapsible-body[data-v-92e68b76]{max-height:200px;overflow-y:auto;margin-top:var(--cg-space-2);padding-left:var(--cg-space-3);border-left:2px solid var(--cg-color-border-subtle)}.item-list[data-v-92e68b76]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.list-item[data-v-92e68b76]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-1) var(--cg-space-2);font-size:var(--cg-font-size-xs);border-radius:var(--cg-radius-sm)}.list-item[data-v-92e68b76]:hover{background:var(--cg-color-bg-tertiary)}.item-name[data-v-92e68b76]{color:var(--cg-color-text-secondary);font-family:var(--cg-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.item-meta[data-v-92e68b76]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);flex-shrink:0}.empty-list[data-v-92e68b76]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);font-style:italic;padding:var(--cg-space-1) var(--cg-space-2)}.sync-badge[data-v-92e68b76]{padding:1px 6px;border-radius:var(--cg-radius-sm);font-size:10px;font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.sync-badge.synced[data-v-92e68b76]{background:var(--cg-color-success-muted, rgba(34, 197, 94, .15));color:var(--cg-color-success)}.sync-badge.new[data-v-92e68b76]{background:var(--cg-color-info-muted, rgba(59, 130, 246, .15));color:var(--cg-color-info)}.sync-badge.modified[data-v-92e68b76]{background:var(--cg-color-warning-muted, rgba(245, 158, 11, .15));color:var(--cg-color-warning)}.sync-badge.deleted[data-v-92e68b76]{background:var(--cg-color-error-muted, rgba(239, 68, 68, .15));color:var(--cg-color-error)}.criticality-badge[data-v-92e68b76]{padding:1px 6px;border-radius:var(--cg-radius-sm);font-size:10px;font-weight:var(--cg-font-weight-semibold);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.criticality-badge.required[data-v-92e68b76]{background:var(--cg-color-error-muted, rgba(239, 68, 68, .15));color:var(--cg-color-error)}.criticality-badge.flexible[data-v-92e68b76]{background:var(--cg-color-warning-muted, rgba(245, 158, 11, .15));color:var(--cg-color-warning)}.criticality-badge.optional[data-v-92e68b76]{background:var(--cg-color-bg-tertiary);color:var(--cg-color-text-muted)}.model-item[data-v-92e68b76]{flex-direction:column;align-items:flex-start;gap:var(--cg-space-1)}.model-row[data-v-92e68b76]{display:flex;align-items:center;gap:var(--cg-space-2);width:100%}.model-meta[data-v-92e68b76]{display:flex;gap:var(--cg-space-2);padding-left:var(--cg-space-1)}.missing-count[data-v-92e68b76]{color:var(--cg-color-warning);font-size:var(--cg-font-size-xs)}.footer-actions[data-v-92e68b76]{display:flex;width:100%;align-items:center}.footer-spacer[data-v-92e68b76]{flex:1}.progress-bar[data-v-1beb0512]{width:100%;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:2px;overflow:hidden;position:relative}.progress-fill[data-v-1beb0512]{height:100%;transition:width .3s ease;position:relative}.progress-fill[data-v-1beb0512]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer-1beb0512 2s infinite}@keyframes shimmer-1beb0512{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-fill.default[data-v-1beb0512]{background:var(--cg-color-accent);box-shadow:0 0 8px #00ff4166}.progress-fill.success[data-v-1beb0512]{background:var(--cg-color-success);box-shadow:0 0 8px #4ade8066}.progress-fill.warning[data-v-1beb0512]{background:var(--cg-color-warning);box-shadow:0 0 8px #fbbf2466}.progress-fill.error[data-v-1beb0512]{background:var(--cg-color-error);box-shadow:0 0 8px #ef444466}.progress-bar[data-v-1beb0512]{height:var(--cg-space-2)}.task-progress[data-v-9d1de66c]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.progress-info[data-v-9d1de66c]{display:flex;justify-content:space-between;align-items:center;font-size:var(--cg-font-size-sm)}.progress-percentage[data-v-9d1de66c]{font-weight:var(--cg-font-weight-bold);color:var(--cg-color-accent);font-family:var(--cg-font-mono)}.progress-message[data-v-9d1de66c]{color:var(--cg-color-text-secondary);text-align:right;flex:1;margin-left:var(--cg-space-2)}.progress-steps[data-v-9d1de66c]{display:flex;flex-direction:column;gap:var(--cg-space-1);margin-top:var(--cg-space-2);padding-top:var(--cg-space-2);border-top:1px solid var(--cg-color-border-subtle)}.step[data-v-9d1de66c]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-xs);transition:all var(--cg-transition-fast)}.step.pending[data-v-9d1de66c]{color:var(--cg-color-text-muted)}.step.active[data-v-9d1de66c]{color:var(--cg-color-accent);font-weight:var(--cg-font-weight-medium)}.step.completed[data-v-9d1de66c]{color:var(--cg-color-success)}.step.active .step-icon[data-v-9d1de66c]{animation:spin-9d1de66c 1s linear infinite}@keyframes spin-9d1de66c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.step-icon[data-v-9d1de66c]{width:14px;text-align:center}.create-env-form[data-v-f37eaa42]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.form-field[data-v-f37eaa42]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.form-field--checkbox[data-v-f37eaa42]{flex-direction:row;align-items:center;margin-top:var(--cg-space-2)}.form-label[data-v-f37eaa42]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.form-input[data-v-f37eaa42],.form-select[data-v-f37eaa42]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);padding:var(--cg-space-2) var(--cg-space-3);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-f37eaa42]:hover,.form-select[data-v-f37eaa42]:hover{border-color:var(--cg-color-border)}.form-input[data-v-f37eaa42]:focus,.form-select[data-v-f37eaa42]:focus{outline:none;border-color:var(--cg-color-accent)}.form-select[data-v-f37eaa42]{cursor:pointer}.form-select[data-v-f37eaa42]:disabled{opacity:.5;cursor:not-allowed}.form-checkbox[data-v-f37eaa42]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.form-checkbox input[type=checkbox][data-v-f37eaa42]{width:16px;height:16px;accent-color:var(--cg-color-accent);cursor:pointer}.creating-intro[data-v-f37eaa42]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);margin-bottom:var(--cg-space-4);text-align:center}.progress-warning[data-v-f37eaa42]{margin-top:var(--cg-space-3);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-info-muted);border:1px solid var(--cg-color-info);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);text-align:center}.create-error[data-v-f37eaa42]{margin-top:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-sm)}.error-message[data-v-f37eaa42]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin:0}.footer-status[data-v-f37eaa42]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.file-path[data-v-f0982173]{display:inline-flex;align-items:center;gap:var(--cg-space-2);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-1) var(--cg-space-2);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);max-width:100%;overflow:hidden}.file-path-icon[data-v-f0982173]{flex-shrink:0;font-size:var(--cg-font-size-sm)}.file-path-text[data-v-f0982173]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:inherit}.copy-btn[data-v-f0982173]{flex-shrink:0;background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:0;font-size:var(--cg-font-size-sm);transition:color var(--cg-transition-fast)}.copy-btn[data-v-f0982173]:hover{color:var(--cg-color-accent)}.base-textarea-wrapper[data-v-c6d16c93]{display:flex;flex-direction:column;gap:4px}.base-textarea[data-v-c6d16c93]{width:100%;padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:inherit;resize:vertical;line-height:var(--cg-line-height-normal);transition:all var(--cg-transition-fast)}.base-textarea[data-v-c6d16c93]:focus{outline:none;border-color:var(--cg-color-accent);box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.base-textarea[data-v-c6d16c93]:disabled{opacity:.5;cursor:not-allowed}.base-textarea-count[data-v-c6d16c93]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-align:right}.base-checkbox[data-v-bf17c831]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.base-checkbox.disabled[data-v-bf17c831]{opacity:.5;cursor:not-allowed}.base-checkbox-input[data-v-bf17c831]{position:absolute;opacity:0;pointer-events:none}.base-checkbox-box[data-v-bf17c831]{width:18px;height:18px;border:2px solid var(--cg-color-border);border-radius:var(--cg-radius-sm);background:var(--cg-color-bg-tertiary);display:flex;align-items:center;justify-content:center;transition:all var(--cg-transition-fast);flex-shrink:0}.base-checkbox:hover:not(.disabled) .base-checkbox-box[data-v-bf17c831]{border-color:var(--cg-color-accent)}.base-checkbox-input:checked+.base-checkbox-box[data-v-bf17c831]{background:var(--cg-color-accent);border-color:var(--cg-color-accent);color:var(--cg-color-text-inverse)}.base-checkbox-input:focus+.base-checkbox-box[data-v-bf17c831]{box-shadow:0 0 0 2px var(--cg-color-accent-muted)}.base-checkbox-label[data-v-bf17c831]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.export-blocked[data-v-bd79ba24]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.error-header[data-v-bd79ba24]{display:flex;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-md)}.error-icon[data-v-bd79ba24]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--cg-color-error);color:var(--cg-color-bg-primary);border-radius:50%;flex-shrink:0}.error-summary[data-v-bd79ba24]{flex:1}.error-title[data-v-bd79ba24]{margin:0 0 var(--cg-space-1) 0;font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.error-description[data-v-bd79ba24]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.issues-list[data-v-bd79ba24]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.issue-item[data-v-bd79ba24]{padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md)}.issue-message[data-v-bd79ba24]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary);margin-bottom:var(--cg-space-2)}.issue-details[data-v-bd79ba24]{margin-bottom:var(--cg-space-2);padding-left:var(--cg-space-3)}.issue-detail[data-v-bd79ba24]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);font-family:var(--cg-font-mono);padding:var(--cg-space-1) 0}.issue-detail[data-v-bd79ba24]:before{content:"•";margin-right:var(--cg-space-2);color:var(--cg-color-text-muted)}.show-more-inline[data-v-bd79ba24]{background:none;border:none;color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);cursor:pointer;padding:0;margin-top:var(--cg-space-1)}.issue-fix[data-v-bd79ba24]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-style:italic}.commit-section[data-v-bd79ba24]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding-top:var(--cg-space-3);border-top:1px solid var(--cg-color-border)}.issues-warning[data-v-bd79ba24]{background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);padding:var(--cg-space-3)}.warning-header[data-v-bd79ba24]{display:flex;align-items:center;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.warning-icon-badge[data-v-bd79ba24]{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--cg-color-warning);color:var(--cg-color-bg-primary);border-radius:50%;font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-bold);flex-shrink:0}.allow-issues-toggle[data-v-bd79ba24]{font-size:var(--cg-font-size-xs)}.commit-error[data-v-bd79ba24]{font-size:var(--cg-font-size-xs);color:var(--cg-color-error);padding:var(--cg-space-2);background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-md)}.export-warnings[data-v-b698d882]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.warning-header[data-v-b698d882]{display:flex;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md)}.warning-icon[data-v-b698d882]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--cg-color-warning);color:var(--cg-color-bg-primary);border-radius:50%;flex-shrink:0}.warning-summary[data-v-b698d882]{flex:1}.warning-title[data-v-b698d882]{margin:0 0 var(--cg-space-1) 0;font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.warning-description[data-v-b698d882]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.models-section[data-v-b698d882]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);overflow:hidden}.models-list[data-v-b698d882]{max-height:240px;overflow-y:auto}.model-item[data-v-b698d882]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--cg-space-3);padding:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.model-item[data-v-b698d882]:last-child{border-bottom:none}.model-info[data-v-b698d882]{flex:1;min-width:0}.model-filename[data-v-b698d882]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);word-break:break-all}.model-workflows[data-v-b698d882]{margin-top:var(--cg-space-1);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.add-source-btn[data-v-b698d882]{flex-shrink:0;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-accent);padding:4px 10px;font-size:var(--cg-font-size-xs);cursor:pointer;white-space:nowrap}.add-source-btn[data-v-b698d882]:hover{background:var(--cg-color-accent);color:var(--cg-color-bg-primary);border-color:var(--cg-color-accent)}.show-more-btn[data-v-b698d882]{width:100%;padding:var(--cg-space-2);background:transparent;border:none;border-top:1px solid var(--cg-color-border-subtle);color:var(--cg-color-accent);font-size:var(--cg-font-size-sm);cursor:pointer;transition:background var(--cg-transition-base)}.show-more-btn[data-v-b698d882]:hover{background:var(--cg-color-bg-secondary)}.success-header[data-v-b698d882]{display:flex;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);border-radius:var(--cg-radius-md)}.success-icon[data-v-b698d882]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--cg-color-success);color:var(--cg-color-bg-primary);border-radius:50%;flex-shrink:0}.success-summary[data-v-b698d882]{flex:1}.success-title[data-v-b698d882]{margin:0 0 var(--cg-space-1) 0;font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.success-description[data-v-b698d882]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.export-card[data-v-ddeffd68]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-4)}.export-card-header[data-v-ddeffd68]{display:flex;gap:var(--cg-space-3);align-items:flex-start}.export-icon[data-v-ddeffd68]{font-size:var(--cg-font-size-xl)}.export-header-text[data-v-ddeffd68]{flex:1}.export-title[data-v-ddeffd68]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.export-subtitle[data-v-ddeffd68]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.export-path-row[data-v-ddeffd68]{display:flex;gap:var(--cg-space-2);align-items:center}.export-path-row .path-input[data-v-ddeffd68]{flex:1}.export-actions[data-v-ddeffd68]{display:flex;gap:var(--cg-space-3);align-items:center;padding-top:var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle)}.export-warning[data-v-ddeffd68]{display:flex;gap:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);margin-top:var(--cg-space-2)}.warning-icon[data-v-ddeffd68]{color:var(--cg-color-warning);font-weight:var(--cg-font-weight-bold);flex-shrink:0}.warning-text[data-v-ddeffd68]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);line-height:1.4}.export-info[data-v-ddeffd68]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.info-section strong[data-v-ddeffd68]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.info-section ul[data-v-ddeffd68]{margin:var(--cg-space-2) 0 0 0;padding-left:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);line-height:1.6}.info-section li[data-v-ddeffd68]{margin-bottom:var(--cg-space-1)}.info-section li strong[data-v-ddeffd68]{font-size:var(--cg-font-size-xs)}.info-note[data-v-ddeffd68]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:0;padding:var(--cg-space-2);background:var(--cg-color-bg-secondary);border-left:2px solid var(--cg-color-warning)}.file-input-wrapper[data-v-cd192091]{display:inline-block}.file-input-hidden[data-v-cd192091]{display:none}.file-drop-zone[data-v-0f79cb86]{border:2px dashed var(--cg-color-border);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-4);text-align:center;transition:all var(--cg-transition-base);min-height:140px;display:flex;align-items:center;justify-content:center}.file-drop-zone.drop-active[data-v-0f79cb86]{border-color:var(--cg-color-accent);background:var(--cg-color-accent-muted);box-shadow:0 0 16px var(--cg-shadow-accent)}.file-drop-zone.has-file[data-v-0f79cb86]{border-style:solid;border-color:var(--cg-color-success);background:var(--cg-color-success-muted);min-height:auto;padding:var(--cg-space-4)}.drop-zone-empty[data-v-0f79cb86]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2);width:100%}.drop-zone-icon[data-v-0f79cb86]{color:var(--cg-color-text-muted);opacity:.5}.drop-zone-text[data-v-0f79cb86]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.drop-zone-primary[data-v-0f79cb86]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-medium);margin:0}.drop-zone-secondary[data-v-0f79cb86]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);margin:0}.drop-zone-actions[data-v-0f79cb86]{margin-top:0}.drop-zone-file[data-v-0f79cb86]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--cg-space-3)}.file-info[data-v-0f79cb86]{display:flex;align-items:center;gap:var(--cg-space-3);flex:1;min-width:0}.file-icon[data-v-0f79cb86]{font-size:var(--cg-font-size-2xl);flex-shrink:0}.file-details[data-v-0f79cb86]{flex:1;min-width:0;text-align:left}.file-name[data-v-0f79cb86]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-0f79cb86]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.import-preview[data-v-182fe113]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.preview-header[data-v-182fe113]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--cg-space-4);padding-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.source-env[data-v-182fe113]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.preview-content[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.preview-section[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-header[data-v-182fe113]{display:flex;align-items:center;gap:var(--cg-space-3)}.section-icon[data-v-182fe113]{font-size:var(--cg-font-size-2xl);flex-shrink:0}.section-info[data-v-182fe113]{flex:1}.section-title[data-v-182fe113]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.section-count[data-v-182fe113]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.item-list[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-1);padding-left:var(--cg-space-6)}.preview-item[data-v-182fe113]{display:flex;align-items:flex-start;gap:var(--cg-space-2);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.item-bullet[data-v-182fe113]{color:var(--cg-color-accent);flex-shrink:0}.item-name[data-v-182fe113]{font-family:var(--cg-font-mono);word-break:break-all}.item-details[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-1);min-width:0}.item-meta[data-v-182fe113]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono)}.item-more[data-v-182fe113]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);font-style:italic;padding-left:var(--cg-space-3)}.git-info[data-v-182fe113]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding-left:var(--cg-space-6)}.import-config[data-v-89ea06a1]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.config-container[data-v-89ea06a1]{display:flex;flex-direction:column;gap:var(--cg-space-4);margin-top:var(--cg-space-3)}.config-field[data-v-89ea06a1]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.input-wrapper[data-v-89ea06a1]{position:relative;display:flex;align-items:center}.name-input[data-v-89ea06a1]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);padding-right:var(--cg-space-8);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-family:var(--cg-font-mono)}.name-input[data-v-89ea06a1]:focus{outline:none;border-color:var(--cg-color-accent)}.name-input.error[data-v-89ea06a1]{border-color:var(--cg-color-error)}.name-input.valid[data-v-89ea06a1]{border-color:var(--cg-color-success)}.validating-indicator[data-v-89ea06a1],.valid-indicator[data-v-89ea06a1]{position:absolute;right:var(--cg-space-3);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.valid-indicator[data-v-89ea06a1]{color:var(--cg-color-success)}.field-error[data-v-89ea06a1]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm)}.field-hint[data-v-89ea06a1]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.strategy-options[data-v-89ea06a1]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.strategy-option[data-v-89ea06a1]{display:flex;align-items:flex-start;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle);cursor:pointer;transition:all var(--cg-transition-fast)}.strategy-option[data-v-89ea06a1]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border)}.strategy-option.active[data-v-89ea06a1]{border-color:var(--cg-color-accent);background:var(--cg-color-accent-muted)}.strategy-option input[type=radio][data-v-89ea06a1]{margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:var(--cg-color-accent)}.strategy-content[data-v-89ea06a1]{display:flex;flex-direction:column;gap:var(--cg-space-1);flex:1}.strategy-label[data-v-89ea06a1]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-medium)}.strategy-description[data-v-89ea06a1]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.advanced-section[data-v-89ea06a1]{border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-secondary)}.advanced-toggle[data-v-89ea06a1]{padding:var(--cg-space-3);cursor:pointer;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.advanced-toggle[data-v-89ea06a1]:hover{color:var(--cg-color-text-primary)}.advanced-content[data-v-89ea06a1]{padding:var(--cg-space-3);padding-top:0}.backend-select[data-v-89ea06a1]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);cursor:pointer}.backend-select[data-v-89ea06a1]:focus{outline:none;border-color:var(--cg-color-accent)}.switch-field[data-v-89ea06a1]{padding-top:var(--cg-space-2)}.switch-label[data-v-89ea06a1]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.switch-label input[type=checkbox][data-v-89ea06a1]{width:16px;height:16px;cursor:pointer;accent-color:var(--cg-color-accent)}.import-flow[data-v-72cbc04e]{display:flex;flex-direction:column}.import-empty[data-v-72cbc04e]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.import-configure[data-v-72cbc04e]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.selected-file-bar[data-v-72cbc04e]{display:flex;justify-content:space-between;align-items:center;background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success);padding:var(--cg-space-3)}.file-bar-content[data-v-72cbc04e]{display:flex;align-items:center;gap:var(--cg-space-3)}.file-bar-icon[data-v-72cbc04e]{font-size:var(--cg-font-size-2xl)}.file-bar-info[data-v-72cbc04e]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.file-bar-name[data-v-72cbc04e]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.file-bar-size[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.import-actions[data-v-72cbc04e]{display:flex;justify-content:flex-end;gap:var(--cg-space-3);padding-top:var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle)}.import-progress[data-v-72cbc04e]{display:flex;flex-direction:column;gap:var(--cg-space-4);padding:var(--cg-space-4)}.creating-intro[data-v-72cbc04e]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-base);margin:0;text-align:center}.creating-intro strong[data-v-72cbc04e]{color:var(--cg-color-text-primary)}.progress-warning[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-align:center;margin:0}.import-error[data-v-72cbc04e]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);padding:var(--cg-space-3)}.error-message[data-v-72cbc04e]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin:0}.import-complete[data-v-72cbc04e]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-4);padding:var(--cg-space-8) var(--cg-space-4)}.complete-icon[data-v-72cbc04e]{width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;border:3px solid;border-radius:50%}.complete-icon.success[data-v-72cbc04e]{color:var(--cg-color-success);border-color:var(--cg-color-success);background:var(--cg-color-success-muted)}.complete-icon.error[data-v-72cbc04e]{color:var(--cg-color-error);border-color:var(--cg-color-error);background:var(--cg-color-error-muted)}.complete-message[data-v-72cbc04e]{text-align:center;max-width:500px}.complete-title[data-v-72cbc04e]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-xl);font-weight:var(--cg-font-weight-bold);margin-bottom:var(--cg-space-2)}.complete-details[data-v-72cbc04e]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-base)}.complete-actions[data-v-72cbc04e]{display:flex;gap:var(--cg-space-3);margin-top:var(--cg-space-2)}.preview-loading[data-v-72cbc04e]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-3);padding:var(--cg-space-6);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.loading-spinner[data-v-72cbc04e]{width:32px;height:32px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-72cbc04e .8s linear infinite}@keyframes spin-72cbc04e{to{transform:rotate(360deg)}}.loading-text[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.import-divider[data-v-72cbc04e]{display:flex;align-items:center;gap:var(--cg-space-4);margin:var(--cg-space-2) 0}.import-divider[data-v-72cbc04e]:before,.import-divider[data-v-72cbc04e]:after{content:"";flex:1;height:1px;background:var(--cg-color-border-subtle)}.import-divider span[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-transform:lowercase}.git-import-section[data-v-72cbc04e]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.git-import-header[data-v-72cbc04e]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);margin-bottom:var(--cg-space-3)}.git-url-input-row[data-v-72cbc04e]{display:flex;gap:var(--cg-space-2)}.git-url-input[data-v-72cbc04e]{flex:1;padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);height:28px}.git-url-input[data-v-72cbc04e]:focus{outline:none;border-color:var(--cg-color-accent)}.git-url-input[data-v-72cbc04e]:disabled{opacity:.6;cursor:not-allowed}.git-url-hint[data-v-72cbc04e]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-2)}.git-error[data-v-72cbc04e]{color:var(--cg-color-error);font-size:var(--cg-font-size-sm);margin-top:var(--cg-space-2)}.help-steps[data-v-e13bfe76]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.help-step[data-v-e13bfe76]{display:flex;gap:var(--cg-space-3);align-items:flex-start}.step-number[data-v-e13bfe76]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--cg-color-accent-muted);color:var(--cg-color-accent);border:1px solid var(--cg-color-accent);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-bold);flex-shrink:0}.step-content[data-v-e13bfe76]{flex:1}.step-content strong[data-v-e13bfe76]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);display:block;margin-bottom:var(--cg-space-1)}.step-content p[data-v-e13bfe76]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);margin:0}.instance-card[data-v-746c3894]{border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary);padding:var(--cg-space-3);margin-bottom:var(--cg-space-2);border-left-width:3px;border-left-color:transparent}.instance-card.status-running[data-v-746c3894]{border-left-color:var(--cg-color-success)}.instance-card.status-deploying[data-v-746c3894],.instance-card.status-starting[data-v-746c3894]{border-left-color:var(--cg-color-info)}.instance-card.status-stopped[data-v-746c3894]{border-left-color:var(--cg-color-text-muted)}.instance-card.status-error[data-v-746c3894]{border-left-color:var(--cg-color-error)}.instance-card.status-terminated[data-v-746c3894]{border-left-color:var(--cg-color-border-subtle);opacity:.6}.instance-header[data-v-746c3894]{display:flex;align-items:center;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.provider-badge[data-v-746c3894]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-hover);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-secondary)}.instance-name[data-v-746c3894]{flex:1;font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);font-weight:var(--cg-font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-indicator[data-v-746c3894]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);display:flex;align-items:center;gap:var(--cg-space-1)}.status-indicator.running[data-v-746c3894]{color:var(--cg-color-success)}.status-indicator.deploying[data-v-746c3894],.status-indicator.starting[data-v-746c3894]{color:var(--cg-color-info)}.status-indicator.stopped[data-v-746c3894]{color:var(--cg-color-text-muted)}.status-indicator.error[data-v-746c3894]{color:var(--cg-color-error)}.status-indicator.terminated[data-v-746c3894]{color:var(--cg-color-text-muted)}.status-indicator .spinner[data-v-746c3894]{width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-746c3894 .8s linear infinite}@keyframes spin-746c3894{to{transform:rotate(360deg)}}.instance-details[data-v-746c3894]{display:flex;flex-wrap:wrap;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.instance-details .detail[data-v-746c3894]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.instance-details .total-cost[data-v-746c3894]{color:var(--cg-color-text-secondary)}.instance-details .instance-url[data-v-746c3894]{color:var(--cg-color-accent);word-break:break-all;flex-basis:100%}.deployment-progress[data-v-746c3894]{margin-bottom:var(--cg-space-2)}.progress-message[data-v-746c3894]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);margin-bottom:var(--cg-space-1)}.instance-actions[data-v-746c3894]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.instances-tab[data-v-ba614fc3]{padding:var(--cg-space-3)}.instances-header[data-v-ba614fc3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--cg-space-3)}.loading-state[data-v-ba614fc3],.empty-state[data-v-ba614fc3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted);text-align:center}.loading-state .spinner[data-v-ba614fc3]{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-ba614fc3 .8s linear infinite;margin-bottom:var(--cg-space-2)}@keyframes spin-ba614fc3{to{transform:rotate(360deg)}}.empty-icon[data-v-ba614fc3]{font-size:var(--cg-font-size-2xl);margin-bottom:var(--cg-space-2)}.empty-text[data-v-ba614fc3]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin-bottom:var(--cg-space-2)}.empty-help[data-v-ba614fc3]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.instances-list[data-v-ba614fc3]{display:flex;flex-direction:column}.deploy-remote-card[data-v-d687d161]{display:flex;flex-direction:column;gap:var(--cg-space-3);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);transition:border-color var(--cg-transition-fast)}.deploy-remote-card.selected[data-v-d687d161]{border-color:var(--cg-color-accent);background:var(--cg-color-bg-secondary)}.remote-header[data-v-d687d161]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.remote-info[data-v-d687d161]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.remote-icon[data-v-d687d161]{font-size:var(--cg-font-size-sm)}.remote-name[data-v-d687d161]{font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.default-badge[data-v-d687d161]{display:inline-block;padding:2px 6px;background:transparent;border:1px solid var(--cg-color-success);color:var(--cg-color-success);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.sync-badge[data-v-d687d161]{display:inline-flex;align-items:center;gap:var(--cg-space-1);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.sync-badge .ahead[data-v-d687d161]{color:var(--cg-color-info)}.sync-badge .behind[data-v-d687d161]{color:var(--cg-color-warning)}.sync-badge .synced[data-v-d687d161]{color:var(--cg-color-success)}.remote-url[data-v-d687d161]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-info);text-decoration:none}.remote-url[data-v-d687d161]:hover{text-decoration:underline}.remote-url-text[data-v-d687d161]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.remote-actions[data-v-d687d161]{display:flex;gap:var(--cg-space-2);flex-wrap:wrap}.runpod-tab[data-v-522cd4d9]{padding:var(--cg-space-3)}.api-key-card[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.api-key-row[data-v-522cd4d9]{display:flex;gap:var(--cg-space-2);align-items:center}.api-key-input-wrapper[data-v-522cd4d9]{flex:1;position:relative;display:flex;align-items:center}.api-key-input[data-v-522cd4d9]{width:100%;padding:var(--cg-space-2) var(--cg-space-3);padding-right:40px;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.api-key-input[data-v-522cd4d9]:focus{outline:none;border-color:var(--cg-color-accent)}.api-key-input[data-v-522cd4d9]:disabled{opacity:.7;cursor:not-allowed}.toggle-visibility-btn[data-v-522cd4d9]{position:absolute;right:8px;background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:4px;font-size:14px}.toggle-visibility-btn[data-v-522cd4d9]:hover{color:var(--cg-color-text-primary)}.connection-status[data-v-522cd4d9]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2);font-size:var(--cg-font-size-xs)}.connection-status.success[data-v-522cd4d9]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.connection-status.error[data-v-522cd4d9]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error)}.status-icon[data-v-522cd4d9]{font-weight:700}.connection-status.success .status-icon[data-v-522cd4d9]{color:var(--cg-color-success)}.connection-status.error .status-icon[data-v-522cd4d9]{color:var(--cg-color-error)}.status-text[data-v-522cd4d9]{flex:1;color:var(--cg-color-text-primary)}.credit-balance[data-v-522cd4d9]{color:var(--cg-color-accent);font-weight:var(--cg-font-weight-semibold)}.api-key-help[data-v-522cd4d9]{display:flex;gap:var(--cg-space-2);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.help-icon[data-v-522cd4d9]{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:1px solid var(--cg-color-border-subtle);border-radius:50%;font-size:10px}.help-text a[data-v-522cd4d9]{color:var(--cg-color-accent);text-decoration:none}.help-text a[data-v-522cd4d9]:hover{text-decoration:underline}.config-card[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-4)}.config-row[data-v-522cd4d9]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.loading-inline[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.no-volumes-state[data-v-522cd4d9]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning)}.no-volumes-icon[data-v-522cd4d9]{color:var(--cg-color-warning)}.no-volumes-text[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.volume-help[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:var(--cg-space-2) 0;line-height:1.4}.create-volume-link[data-v-522cd4d9]{display:inline-block;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-accent);color:var(--cg-color-bg-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);text-decoration:none;text-align:center}.create-volume-link[data-v-522cd4d9]:hover{background:var(--cg-color-accent-hover)}.create-volume-inline-link[data-v-522cd4d9]{display:inline-block;margin-top:var(--cg-space-2);color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);text-decoration:none;width:fit-content}.create-volume-inline-link[data-v-522cd4d9]:hover{text-decoration:underline}.config-label[data-v-522cd4d9]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.config-select[data-v-522cd4d9],.config-input[data-v-522cd4d9]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.config-select[data-v-522cd4d9]:focus,.config-input[data-v-522cd4d9]:focus{outline:none;border-color:var(--cg-color-accent)}.config-select[data-v-522cd4d9]:disabled{opacity:.5}.radio-group[data-v-522cd4d9]{display:flex;gap:var(--cg-space-4)}.radio-option[data-v-522cd4d9]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer}.radio-option input[data-v-522cd4d9]{accent-color:var(--cg-color-accent)}.radio-option.disabled[data-v-522cd4d9]{cursor:not-allowed;opacity:.5}.radio-option.disabled input[data-v-522cd4d9]{cursor:not-allowed}.radio-label[data-v-522cd4d9]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.summary-card[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-2)}.summary-row[data-v-522cd4d9]{display:flex;justify-content:space-between;align-items:center}.summary-label[data-v-522cd4d9]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.summary-value[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.summary-sub-row[data-v-522cd4d9]{padding-left:var(--cg-space-4)}.summary-sub-label[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.summary-sub-row.warning .summary-sub-label[data-v-522cd4d9]{color:var(--cg-color-warning)}.deploy-actions[data-v-522cd4d9]{display:flex;gap:var(--cg-space-3);padding:var(--cg-space-4) 0}.deployment-summary[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.summary-columns[data-v-522cd4d9]{display:grid;grid-template-columns:1fr 1fr;gap:var(--cg-space-4)}.summary-column[data-v-522cd4d9]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.column-header[data-v-522cd4d9]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);padding-bottom:var(--cg-space-2);border-bottom:1px solid var(--cg-color-border-subtle);margin-bottom:var(--cg-space-1)}.pricing-row[data-v-522cd4d9]{display:flex;justify-content:space-between;align-items:center}.pricing-label[data-v-522cd4d9]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.pricing-value[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.pricing-divider[data-v-522cd4d9]{height:1px;background:var(--cg-color-border-subtle);margin:var(--cg-space-1) 0}.pricing-row.total .pricing-label[data-v-522cd4d9],.pricing-row.total .pricing-value[data-v-522cd4d9]{font-weight:var(--cg-font-weight-semibold)}.pricing-row.total .pricing-value[data-v-522cd4d9]{color:var(--cg-color-accent)}.spec-row[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.spec-row.spot-warning[data-v-522cd4d9]{color:var(--cg-color-warning);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-2)}.info-tooltip[data-v-522cd4d9]{cursor:help;color:var(--cg-color-text-muted);font-size:12px;margin-left:var(--cg-space-1)}.loading-text[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-align:center;padding:var(--cg-space-4)}.empty-remotes[data-v-522cd4d9]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-4);padding:var(--cg-space-6);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);text-align:center}.empty-message[data-v-522cd4d9]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2)}.empty-icon[data-v-522cd4d9]{font-size:var(--cg-font-size-2xl)}.empty-text[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium)}.empty-help[data-v-522cd4d9]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:0}.remotes-list[data-v-522cd4d9]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.sync-warning[data-v-522cd4d9]{display:flex;gap:var(--cg-space-3);align-items:flex-start;padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);margin-top:var(--cg-space-3)}.sync-warning .warning-icon[data-v-522cd4d9]{flex-shrink:0;font-size:var(--cg-font-size-lg)}.sync-warning .warning-content[data-v-522cd4d9]{flex:1}.sync-warning .warning-content strong[data-v-522cd4d9]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.sync-warning .warning-content p[data-v-522cd4d9]{margin:var(--cg-space-1) 0 0 0;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs)}.remotes-footer[data-v-522cd4d9]{margin-top:var(--cg-space-3);text-align:right}.progress-content[data-v-522cd4d9]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.phase-indicator[data-v-522cd4d9]{display:flex;align-items:center;gap:var(--cg-space-3)}.phase-icon[data-v-522cd4d9]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;border-radius:50%;background:var(--cg-color-bg-tertiary);border:2px solid var(--cg-color-border)}.phase-icon.ready[data-v-522cd4d9]{background:var(--cg-color-success-muted);border-color:var(--cg-color-success);color:var(--cg-color-success)}.phase-icon.error[data-v-522cd4d9]{background:var(--cg-color-error-muted);border-color:var(--cg-color-error);color:var(--cg-color-error)}.phase-icon.stopped[data-v-522cd4d9]{background:var(--cg-color-bg-tertiary);border-color:var(--cg-color-border);color:var(--cg-color-text-muted)}.phase-icon .spinner[data-v-522cd4d9]{animation:spin-522cd4d9 1s linear infinite}@keyframes spin-522cd4d9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.phase-text[data-v-522cd4d9]{flex:1}.phase-name[data-v-522cd4d9]{font-size:var(--cg-font-size-md);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.phase-detail[data-v-522cd4d9]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-muted);margin-top:var(--cg-space-1)}.ready-actions[data-v-522cd4d9]{display:flex;justify-content:center;padding:var(--cg-space-2) 0}.console-link[data-v-522cd4d9]{text-align:center}.console-link a[data-v-522cd4d9]{color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);text-decoration:none}.console-link a[data-v-522cd4d9]:hover{text-decoration:underline}.worker-card[data-v-b1be7134]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-3);display:flex;flex-direction:column;gap:var(--cg-space-2)}.worker-card.offline[data-v-b1be7134]{opacity:.7}.worker-header[data-v-b1be7134]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2)}.worker-status[data-v-b1be7134]{display:flex;align-items:center;gap:var(--cg-space-2)}.status-dot[data-v-b1be7134]{width:8px;height:8px;border-radius:50%}.status-dot.online[data-v-b1be7134]{background:var(--cg-color-success);box-shadow:0 0 4px var(--cg-color-success)}.status-dot.offline[data-v-b1be7134]{background:var(--cg-color-text-muted)}.status-dot.unknown[data-v-b1be7134]{background:var(--cg-color-warning)}.worker-name[data-v-b1be7134]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary)}.worker-actions[data-v-b1be7134]{display:flex;gap:var(--cg-space-1)}.worker-details[data-v-b1be7134]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.detail-item[data-v-b1be7134]{display:flex;align-items:center;gap:var(--cg-space-1)}.detail-label[data-v-b1be7134]{color:var(--cg-color-text-muted)}.detail-value[data-v-b1be7134]{font-family:var(--cg-font-mono)}.mode-badge[data-v-b1be7134]{text-transform:capitalize;padding:1px 6px;background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border)}.worker-stats[data-v-b1be7134]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);display:flex;align-items:center;gap:var(--cg-space-1)}.stat-item[data-v-b1be7134]{display:flex;align-items:center;gap:var(--cg-space-1)}.stat-value[data-v-b1be7134]{font-weight:var(--cg-font-weight-medium)}.stat-value.online[data-v-b1be7134]{color:var(--cg-color-success)}.stat-value.offline[data-v-b1be7134]{color:var(--cg-color-text-muted)}.add-worker-content[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.manual-form[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.form-row[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.form-row-inline[data-v-07a00732]{display:flex;gap:var(--cg-space-3)}.form-field[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.flex-1[data-v-07a00732]{flex:1}.flex-2[data-v-07a00732]{flex:2}.form-label[data-v-07a00732]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.form-input[data-v-07a00732]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-07a00732]:focus{outline:none;border-color:var(--cg-color-accent)}.api-key-wrapper[data-v-07a00732]{position:relative;display:flex;align-items:center}.api-key-wrapper .form-input[data-v-07a00732]{width:100%;padding-right:40px}.toggle-visibility[data-v-07a00732]{position:absolute;right:8px;background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:4px;font-size:14px}.toggle-visibility[data-v-07a00732]:hover{color:var(--cg-color-text-primary)}.form-help[data-v-07a00732]{display:flex;align-items:center;gap:var(--cg-space-1);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.help-icon[data-v-07a00732]{font-size:10px}.form-help code[data-v-07a00732]{padding:1px 4px;background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);color:var(--cg-color-accent)}.test-result[data-v-07a00732]{display:flex;align-items:flex-start;gap:var(--cg-space-2);padding:var(--cg-space-3)}.test-result.success[data-v-07a00732]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.test-result.error[data-v-07a00732]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error)}.result-icon[data-v-07a00732]{font-weight:700}.test-result.success .result-icon[data-v-07a00732]{color:var(--cg-color-success)}.test-result.error .result-icon[data-v-07a00732]{color:var(--cg-color-error)}.result-content[data-v-07a00732]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.result-message[data-v-07a00732]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.result-detail[data-v-07a00732]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.modal-actions[data-v-07a00732]{display:flex;gap:var(--cg-space-2);justify-content:flex-end}.discovered-content[data-v-5a3e40a4]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.workers-list[data-v-5a3e40a4]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.worker-item[data-v-5a3e40a4]{display:flex;align-items:center;justify-content:space-between;padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border)}.worker-info[data-v-5a3e40a4]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.worker-name[data-v-5a3e40a4]{color:var(--cg-color-text-primary);font-weight:var(--cg-font-weight-medium);font-size:var(--cg-font-size-sm)}.worker-address[data-v-5a3e40a4]{color:var(--cg-color-text-muted);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.worker-gpu[data-v-5a3e40a4]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs)}.empty-state[data-v-5a3e40a4]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-6);text-align:center}.empty-icon[data-v-5a3e40a4]{font-size:24px;opacity:.5}.empty-text[data-v-5a3e40a4]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.empty-help[data-v-5a3e40a4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.empty-help code[data-v-5a3e40a4]{padding:1px 4px;background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);color:var(--cg-color-accent)}.api-key-section[data-v-5a3e40a4]{border-top:1px solid var(--cg-color-border-subtle);padding-top:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.selected-worker[data-v-5a3e40a4]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm)}.selected-label[data-v-5a3e40a4]{color:var(--cg-color-text-muted)}.selected-name[data-v-5a3e40a4]{color:var(--cg-color-text-primary);font-weight:var(--cg-font-weight-medium)}.selected-address[data-v-5a3e40a4]{color:var(--cg-color-text-muted);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.form-row[data-v-5a3e40a4]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.form-label[data-v-5a3e40a4]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.form-input[data-v-5a3e40a4]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-5a3e40a4]:focus{outline:none;border-color:var(--cg-color-accent)}.api-key-wrapper[data-v-5a3e40a4]{position:relative;display:flex;align-items:center}.api-key-wrapper .form-input[data-v-5a3e40a4]{width:100%;padding-right:40px}.toggle-visibility[data-v-5a3e40a4]{position:absolute;right:8px;background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:4px;font-size:14px}.toggle-visibility[data-v-5a3e40a4]:hover{color:var(--cg-color-text-primary)}.form-help[data-v-5a3e40a4]{display:flex;align-items:center;gap:var(--cg-space-1);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.help-icon[data-v-5a3e40a4]{font-size:10px}.form-help code[data-v-5a3e40a4]{padding:1px 4px;background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);color:var(--cg-color-accent)}.test-result[data-v-5a3e40a4]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-sm)}.test-result.success[data-v-5a3e40a4]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.test-result.error[data-v-5a3e40a4]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error)}.result-icon[data-v-5a3e40a4]{font-weight:700}.test-result.success .result-icon[data-v-5a3e40a4]{color:var(--cg-color-success)}.test-result.error .result-icon[data-v-5a3e40a4]{color:var(--cg-color-error)}.result-message[data-v-5a3e40a4]{color:var(--cg-color-text-primary)}.modal-actions[data-v-5a3e40a4]{display:flex;gap:var(--cg-space-2);justify-content:flex-end}.deploy-content[data-v-c12720d3]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.section[data-v-c12720d3]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-label[data-v-c12720d3]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.loading-text[data-v-c12720d3]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);padding:var(--cg-space-3);text-align:center}.empty-remotes[data-v-c12720d3]{display:flex;flex-direction:column;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-4);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);text-align:center}.empty-icon[data-v-c12720d3]{font-size:var(--cg-font-size-xl)}.empty-text[data-v-c12720d3]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.empty-help[data-v-c12720d3]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:0}.remotes-list[data-v-c12720d3],.mode-options[data-v-c12720d3]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.mode-option[data-v-c12720d3]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer}.mode-option input[data-v-c12720d3]{accent-color:var(--cg-color-accent)}.mode-option input[data-v-c12720d3]:disabled{opacity:.5}.mode-label[data-v-c12720d3]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.form-input[data-v-c12720d3]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-c12720d3]:focus{outline:none;border-color:var(--cg-color-accent)}.summary-row[data-v-c12720d3]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle)}.sync-warning[data-v-c12720d3]{display:flex;gap:var(--cg-space-3);align-items:flex-start;padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning)}.sync-warning .warning-icon[data-v-c12720d3]{flex-shrink:0;font-size:var(--cg-font-size-lg)}.sync-warning .warning-content[data-v-c12720d3]{flex:1}.sync-warning .warning-content strong[data-v-c12720d3]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.sync-warning .warning-content p[data-v-c12720d3]{margin:var(--cg-space-1) 0 0 0;color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs)}.modal-actions[data-v-c12720d3]{display:flex;gap:var(--cg-space-2);justify-content:flex-end}.custom-tab[data-v-1637dead]{padding:var(--cg-space-3)}.section-header[data-v-1637dead]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--cg-space-3)}.section-title[data-v-1637dead]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.section-actions[data-v-1637dead]{display:flex;gap:var(--cg-space-2)}.loading-state[data-v-1637dead]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted)}.loading-state .spinner[data-v-1637dead]{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-1637dead .8s linear infinite;margin-bottom:var(--cg-space-2)}@keyframes spin-1637dead{to{transform:rotate(360deg)}}.empty-state[data-v-1637dead]{padding:var(--cg-space-2)}.empty-card[data-v-1637dead]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);padding:var(--cg-space-4)}.empty-text[data-v-1637dead]{display:block;color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);margin-bottom:var(--cg-space-3)}.empty-help[data-v-1637dead]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin:0 0 var(--cg-space-2) 0}.setup-steps[data-v-1637dead]{margin:0;padding-left:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);line-height:1.6}.setup-steps li[data-v-1637dead]{margin-bottom:var(--cg-space-2)}.setup-steps code[data-v-1637dead]{display:inline-block;margin-top:var(--cg-space-1);padding:var(--cg-space-1) var(--cg-space-2);background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);color:var(--cg-color-accent)}.workers-list[data-v-1637dead]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.scan-result[data-v-1637dead]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);margin-top:var(--cg-space-3);font-size:var(--cg-font-size-xs)}.scan-result.success[data-v-1637dead]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.scan-result.info[data-v-1637dead]{background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border)}.scan-icon[data-v-1637dead]{flex-shrink:0}.scan-result.success .scan-icon[data-v-1637dead]{color:var(--cg-color-success)}.scan-message[data-v-1637dead]{flex:1;color:var(--cg-color-text-primary)}.dismiss-btn[data-v-1637dead]{background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:0 var(--cg-space-1);font-size:var(--cg-font-size-md)}.dismiss-btn[data-v-1637dead]:hover{color:var(--cg-color-text-primary)}.settings-content[data-v-b21588ad]{display:flex;flex-direction:column;gap:var(--cg-space-4)}.settings-section[data-v-b21588ad]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.section-header[data-v-b21588ad]{display:flex;align-items:center;gap:var(--cg-space-2)}.section-title[data-v-b21588ad]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-medium);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);color:var(--cg-color-text-primary)}.section-description[data-v-b21588ad]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin:0;line-height:1.5}.ssh-warning[data-v-b21588ad]{display:flex;align-items:flex-start;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning)}.warning-icon[data-v-b21588ad]{color:var(--cg-color-warning);font-weight:700;font-size:var(--cg-font-size-sm)}.warning-content[data-v-b21588ad]{font-size:var(--cg-font-size-xs);line-height:1.5}.warning-content strong[data-v-b21588ad]{color:var(--cg-color-text-primary)}.warning-content p[data-v-b21588ad]{margin:var(--cg-space-1) 0 0 0;color:var(--cg-color-text-secondary)}.warning-content code[data-v-b21588ad]{padding:1px 4px;background:var(--cg-color-bg-secondary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs)}.form-row[data-v-b21588ad]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.form-label[data-v-b21588ad]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.token-wrapper[data-v-b21588ad]{display:flex;align-items:center;gap:var(--cg-space-1)}.form-input[data-v-b21588ad]{flex:1;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-b21588ad]:focus{outline:none;border-color:var(--cg-color-accent)}.toggle-visibility[data-v-b21588ad]{padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;cursor:pointer}.toggle-visibility[data-v-b21588ad]:hover{color:var(--cg-color-text-primary);border-color:var(--cg-color-border-strong)}.form-help[data-v-b21588ad]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);font-style:italic}.test-result[data-v-b21588ad]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);font-size:var(--cg-font-size-sm)}.test-result.success[data-v-b21588ad]{background:var(--cg-color-success-muted);border:1px solid var(--cg-color-success)}.test-result.error[data-v-b21588ad]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error)}.result-icon[data-v-b21588ad]{font-weight:700}.test-result.success .result-icon[data-v-b21588ad]{color:var(--cg-color-success)}.test-result.error .result-icon[data-v-b21588ad]{color:var(--cg-color-error)}.result-message[data-v-b21588ad]{color:var(--cg-color-text-primary)}.token-actions[data-v-b21588ad]{display:flex;gap:var(--cg-space-2)}.deploy-info[data-v-d4e32a10]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.info-section strong[data-v-d4e32a10]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.info-section p[data-v-d4e32a10]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);margin:var(--cg-space-1) 0 0 0;line-height:1.5}.info-section ul[data-v-d4e32a10]{margin:var(--cg-space-2) 0 0 0;padding-left:var(--cg-space-4);color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-xs);line-height:1.6}.info-section li[data-v-d4e32a10]{margin-bottom:var(--cg-space-1)}.info-section li strong[data-v-d4e32a10]{font-size:var(--cg-font-size-xs)}.header-info[data-v-d256ff6d]{flex:1;display:flex;flex-direction:column;gap:6px}.header-title[data-v-d256ff6d]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;font-weight:var(--cg-font-weight-normal)}.commit-hash[data-v-d256ff6d]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-base);color:var(--cg-color-info);font-weight:var(--cg-font-weight-semibold)}.commit-refs[data-v-d256ff6d]{display:flex;gap:6px;flex-wrap:wrap}.ref-badge[data-v-d256ff6d]{padding:2px 8px;background:transparent;border:1px solid var(--cg-color-accent);color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);font-family:var(--cg-font-mono);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.commit-message[data-v-d256ff6d]{font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary);margin-bottom:6px}.commit-date[data-v-d256ff6d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin-bottom:var(--cg-space-4)}.loading[data-v-d256ff6d]{text-align:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.changes-section[data-v-d256ff6d]{margin-top:var(--cg-space-2)}.stats-row[data-v-d256ff6d]{display:flex;gap:16px;padding:10px 12px;background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);margin-bottom:var(--cg-space-4);font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono)}.stat[data-v-d256ff6d]{color:var(--cg-color-text-muted)}.stat.insertions[data-v-d256ff6d]{color:var(--cg-color-success)}.stat.deletions[data-v-d256ff6d]{color:var(--cg-color-error)}.change-group[data-v-d256ff6d]{margin-bottom:var(--cg-space-4)}.change-item[data-v-d256ff6d]{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);font-family:var(--cg-font-mono);background:var(--cg-color-bg-tertiary);border-left:2px solid transparent;margin-bottom:2px}.change-icon[data-v-d256ff6d]{font-family:var(--cg-font-mono);font-weight:var(--cg-font-weight-bold);width:14px;text-align:center;font-size:var(--cg-font-size-base)}.change-item.added[data-v-d256ff6d]{border-left-color:var(--cg-color-success)}.change-item.added .change-icon[data-v-d256ff6d]{color:var(--cg-color-success)}.change-item.modified[data-v-d256ff6d]{border-left-color:var(--cg-color-warning)}.change-item.modified .change-icon[data-v-d256ff6d]{color:var(--cg-color-warning)}.change-item.deleted[data-v-d256ff6d]{border-left-color:var(--cg-color-error)}.change-item.deleted .change-icon[data-v-d256ff6d]{color:var(--cg-color-error)}.version[data-v-d256ff6d]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.modal-overlay[data-v-5f897631]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.commit-popover[data-v-5f897631]{background:var(--cg-color-bg-primary);border:2px solid var(--cg-color-border);box-shadow:var(--cg-shadow-xl);min-width:400px;max-width:500px;display:flex;flex-direction:column}.commit-popover.modal[data-v-5f897631]{border-radius:var(--cg-radius-lg);animation:modalSlideIn-5f897631 .2s ease}@keyframes modalSlideIn-5f897631{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.popover-header[data-v-5f897631]{padding:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:space-between;align-items:center}.popover-title[data-v-5f897631]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;flex:1}.close-btn[data-v-5f897631]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.close-btn[data-v-5f897631]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.popover-body[data-v-5f897631]{padding:var(--cg-space-3);max-height:400px;overflow-y:auto}.popover-footer[data-v-5f897631]{padding:var(--cg-space-3);border-top:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:flex-end;gap:8px}.changes-summary[data-v-5f897631]{background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-md);padding:8px;margin-bottom:12px;font-size:var(--cg-font-size-xs)}.change-item[data-v-5f897631]{display:flex;align-items:center;gap:6px;padding:2px 0}.change-icon[data-v-5f897631]{font-family:monospace;font-weight:600;width:12px;text-align:center}.change-icon.new[data-v-5f897631]{color:var(--cg-color-success)}.change-icon.modified[data-v-5f897631]{color:var(--cg-color-warning)}.change-icon.deleted[data-v-5f897631]{color:var(--cg-color-error)}.no-changes[data-v-5f897631],.loading[data-v-5f897631]{text-align:center;padding:12px;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.message-section[data-v-5f897631]{margin-bottom:8px}.issues-error[data-v-5f897631]{background:var(--cg-color-error-muted);border:1px solid var(--cg-color-error);border-radius:var(--cg-radius-md);padding:10px;margin-bottom:12px}.error-header[data-v-5f897631]{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--cg-color-error)}.error-icon[data-v-5f897631]{font-size:14px;line-height:1}.error-title[data-v-5f897631]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium)}.issues-list[data-v-5f897631]{margin-bottom:10px;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-secondary)}.issue-item[data-v-5f897631]{padding:4px 0;line-height:1.4}.issue-item strong[data-v-5f897631]{color:var(--cg-color-text-primary)}.workflow-state[data-v-5f897631]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin-left:4px}.allow-issues-toggle[data-v-5f897631]{margin-top:8px;font-size:var(--cg-font-size-xs)}.modal-overlay[data-v-e9c5253e]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-e9c5253e]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-e9c5253e]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.modal-title[data-v-e9c5253e]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-e9c5253e]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color var(--cg-transition-fast)}.modal-close[data-v-e9c5253e]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-e9c5253e]{padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.switch-message[data-v-e9c5253e]{margin:0;font-size:var(--cg-font-size-base);color:var(--cg-color-text-primary);line-height:1.5}.switch-message strong[data-v-e9c5253e]{color:var(--cg-color-accent);font-family:var(--cg-font-mono)}.warning-box[data-v-e9c5253e]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-warning)}.warning-icon[data-v-e9c5253e]{font-size:var(--cg-font-size-lg);flex-shrink:0}.switch-details[data-v-e9c5253e]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);line-height:1.5}.switch-eta[data-v-e9c5253e]{margin:0;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-muted);font-style:italic}.modal-actions[data-v-e9c5253e]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.modal-overlay[data-v-768a5078]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content[data-v-768a5078]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-accent);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-xl),0 0 20px var(--cg-color-accent-muted);max-width:500px;width:90%;animation:modalSlideIn-768a5078 .3s ease}@keyframes modalSlideIn-768a5078{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-768a5078]{padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle);text-align:center}.modal-title[data-v-768a5078]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-body[data-v-768a5078]{padding:var(--cg-space-5);display:flex;flex-direction:column;gap:var(--cg-space-4)}.progress-info[data-v-768a5078]{display:flex;justify-content:space-between;align-items:center;gap:var(--cg-space-2)}.progress-percentage[data-v-768a5078]{font-size:var(--cg-font-size-xl);font-weight:var(--cg-font-weight-bold);color:var(--cg-color-accent);font-family:var(--cg-font-mono)}.progress-state[data-v-768a5078]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);text-align:right;flex:1}.switch-steps[data-v-768a5078]{display:flex;flex-direction:column;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-bg-tertiary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm)}.switch-step[data-v-768a5078]{display:flex;align-items:center;gap:var(--cg-space-2);font-size:var(--cg-font-size-sm);transition:all var(--cg-transition-fast)}.switch-step.pending[data-v-768a5078],.switch-step.pending .step-icon[data-v-768a5078]{color:var(--cg-color-text-muted)}.switch-step.active[data-v-768a5078]{color:var(--cg-color-accent);font-weight:var(--cg-font-weight-medium)}.switch-step.active .step-icon[data-v-768a5078]{color:var(--cg-color-accent);animation:spin-768a5078 1s linear infinite}@keyframes spin-768a5078{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.switch-step.completed[data-v-768a5078],.switch-step.completed .step-icon[data-v-768a5078]{color:var(--cg-color-success)}.step-icon[data-v-768a5078]{flex-shrink:0;font-size:var(--cg-font-size-base);width:16px;display:inline-block;text-align:center}.step-label[data-v-768a5078]{flex:1}.progress-warning[data-v-768a5078]{margin:0;padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-info-muted);border:1px solid var(--cg-color-info);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-info);text-align:center}.modal-overlay[data-v-7cad7518]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-7cad7518]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-lg);max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-7cad7518]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border-subtle)}.modal-title[data-v-7cad7518]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.modal-close[data-v-7cad7518]{background:transparent;border:none;color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xl);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color var(--cg-transition-fast)}.modal-close[data-v-7cad7518]:hover{color:var(--cg-color-text-primary)}.modal-body[data-v-7cad7518]{padding:var(--cg-space-4);display:flex;flex-direction:column;gap:var(--cg-space-3)}.sync-message[data-v-7cad7518]{margin:0;font-size:var(--cg-font-size-base);color:var(--cg-color-text-primary);line-height:1.5}.node-section[data-v-7cad7518]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.section-title[data-v-7cad7518]{margin:0;font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-secondary);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.node-list[data-v-7cad7518]{display:flex;flex-direction:column;gap:var(--cg-space-1);max-height:200px;overflow-y:auto;padding:var(--cg-space-2);background:var(--cg-color-bg-secondary);border-radius:var(--cg-radius-sm)}.node-item[data-v-7cad7518]{font-size:var(--cg-font-size-sm);font-family:var(--cg-font-mono);line-height:1.5}.node-item.add[data-v-7cad7518]{color:var(--cg-color-info)}.node-item.remove[data-v-7cad7518]{color:var(--cg-color-warning)}.warning-box[data-v-7cad7518]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-3);background:var(--cg-color-warning-muted);border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-sm);color:var(--cg-color-warning)}.warning-icon[data-v-7cad7518]{font-size:var(--cg-font-size-lg);flex-shrink:0}.modal-actions[data-v-7cad7518]{padding:var(--cg-space-4);border-top:1px solid var(--cg-color-border-subtle);display:flex;gap:var(--cg-space-2);justify-content:flex-end}.social-buttons[data-v-4f846342]{display:flex;align-items:center;gap:4px}.icon-btn[data-v-4f846342]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center}.icon-btn[data-v-4f846342]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.sponsor-btn[data-v-4f846342]{gap:4px;padding:4px 8px;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-secondary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);opacity:.7}.sponsor-btn[data-v-4f846342]:hover{opacity:1;border-color:#db61a2;color:#db61a2}.icon-btn.social-link[data-v-4f846342]{opacity:.7}.icon-btn.social-link[data-v-4f846342]:hover{opacity:1}.footer-info[data-v-8bc3db0a]{display:flex;align-items:center;gap:var(--cg-space-3);font-size:10px;color:var(--cg-color-text-muted)}.version[data-v-8bc3db0a]{opacity:.7}.made-by[data-v-8bc3db0a]{display:flex;align-items:center;gap:2px}.heart-icon[data-v-8bc3db0a]{color:#db61a2}[data-v-fac00ae7] .base-modal-overlay{z-index:10004}.base-modal-title[data-v-9a9aadc0]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);margin:0;flex:1}.header-actions[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2)}.wizard-step[data-v-9a9aadc0]{min-height:300px}.wizard-intro[data-v-9a9aadc0]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm);line-height:1.6;margin-bottom:var(--cg-space-4)}.form-field[data-v-9a9aadc0]{display:flex;flex-direction:column;gap:var(--cg-space-1);margin-bottom:var(--cg-space-4)}.form-field--checkbox[data-v-9a9aadc0]{flex-direction:row;align-items:center}.form-label[data-v-9a9aadc0]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.form-input[data-v-9a9aadc0],.form-select[data-v-9a9aadc0]{background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);padding:var(--cg-space-2) var(--cg-space-3);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.form-input[data-v-9a9aadc0]:hover,.form-select[data-v-9a9aadc0]:hover{border-color:var(--cg-color-border)}.form-input[data-v-9a9aadc0]:focus,.form-select[data-v-9a9aadc0]:focus{outline:none;border-color:var(--cg-color-accent)}.form-select[data-v-9a9aadc0]{cursor:pointer}.form-select[data-v-9a9aadc0]:disabled{opacity:.5;cursor:not-allowed}.form-checkbox[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2);cursor:pointer;font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary)}.form-checkbox input[type=checkbox][data-v-9a9aadc0]{width:16px;height:16px;accent-color:var(--cg-color-accent);cursor:pointer}.form-error[data-v-9a9aadc0]{color:var(--cg-color-error);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.form-info[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.form-suggestion[data-v-9a9aadc0]{color:var(--cg-color-accent);font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.cli-warning[data-v-9a9aadc0]{background:#ffc1071a;border:1px solid var(--cg-color-warning);border-radius:var(--cg-radius-md);padding:var(--cg-space-3);margin-bottom:var(--cg-space-4)}.cli-warning-header[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.cli-warning-title[data-v-9a9aadc0]{flex:1}.cli-warning-close[data-v-9a9aadc0]{background:transparent;border:none;color:var(--cg-color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;opacity:.7}.cli-warning-close[data-v-9a9aadc0]:hover{opacity:1;color:var(--cg-color-text-primary)}.cli-warning-icon[data-v-9a9aadc0]{color:var(--cg-color-warning);font-size:var(--cg-font-size-lg);font-weight:700}.cli-warning-title[data-v-9a9aadc0]{font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.cli-warning-text[data-v-9a9aadc0]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-secondary);margin:0 0 var(--cg-space-2) 0;line-height:1.5}.cli-warning-commands[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2);flex-wrap:wrap}.cli-warning-commands code[data-v-9a9aadc0]{background:var(--cg-color-bg-primary);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.cli-warning-or[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.env-landing[data-v-9a9aadc0]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.landing-option[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-3);padding:var(--cg-space-4);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle);cursor:pointer;text-align:left;width:100%;transition:all var(--cg-transition-fast)}.landing-option[data-v-9a9aadc0]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-tertiary)}.option-icon[data-v-9a9aadc0]{font-size:var(--cg-font-size-2xl);flex-shrink:0}.option-content[data-v-9a9aadc0]{flex:1;display:flex;flex-direction:column;gap:var(--cg-space-1)}.option-title[data-v-9a9aadc0]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.option-description[data-v-9a9aadc0]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-sm)}.option-arrow[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-lg)}.landing-divider[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-4);margin:var(--cg-space-2) 0}.landing-divider[data-v-9a9aadc0]:before,.landing-divider[data-v-9a9aadc0]:after{content:"";flex:1;height:1px;background:var(--cg-color-border-subtle)}.landing-divider span[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-transform:lowercase}.env-list[data-v-9a9aadc0]{display:flex;flex-direction:column;gap:var(--cg-space-2)}.env-option[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-2) var(--cg-space-3);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle);border-radius:var(--cg-radius-sm);cursor:pointer;transition:all var(--cg-transition-fast)}.env-option[data-v-9a9aadc0]:hover{border-color:var(--cg-color-border)}.env-option.selected[data-v-9a9aadc0]{border-color:var(--cg-color-accent);background:var(--cg-color-bg-tertiary)}.env-option input[type=radio][data-v-9a9aadc0]{accent-color:var(--cg-color-accent)}.env-name[data-v-9a9aadc0]{font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary)}.env-create[data-v-9a9aadc0],.env-import[data-v-9a9aadc0]{display:flex;flex-direction:column}.env-creating[data-v-9a9aadc0]{display:flex;flex-direction:column;gap:var(--cg-space-4);padding:var(--cg-space-4)}.creating-intro[data-v-9a9aadc0]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-base);margin:0;text-align:center}.creating-intro strong[data-v-9a9aadc0]{color:var(--cg-color-text-primary)}.progress-warning[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm);text-align:center;margin:0}.progress-check-loading[data-v-9a9aadc0]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--cg-space-3);padding:var(--cg-space-8);min-height:200px}.loading-spinner[data-v-9a9aadc0]{width:32px;height:32px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-9a9aadc0 .8s linear infinite}@keyframes spin-9a9aadc0{to{transform:rotate(360deg)}}.loading-text[data-v-9a9aadc0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.icon-btn[data-v-9a9aadc0]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center}.icon-btn[data-v-9a9aadc0]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.header-divider[data-v-9a9aadc0]{width:1px;height:16px;background:var(--cg-color-border-subtle);margin:0 4px;align-self:center}.wizard-footer[data-v-9a9aadc0]{display:flex;justify-content:space-between;align-items:center;width:100%}.wizard-footer-actions[data-v-9a9aadc0]{display:flex;align-items:center;gap:var(--cg-space-2)}.comfygit-panel[data-v-45a711b4]{display:flex;flex-direction:column;height:70vh;width:100%;background:var(--cg-color-bg-primary);color:var(--cg-color-text-primary);border:2px solid var(--cg-color-border);overflow:hidden;font-family:var(--cg-font-mono)}.panel-header[data-v-45a711b4]{padding:var(--cg-space-3) var(--cg-space-4);border-bottom:1px solid var(--cg-color-border);display:flex;justify-content:space-between;align-items:center;background:var(--cg-color-bg-tertiary);flex-shrink:0}.header-left[data-v-45a711b4]{display:flex;align-items:center;gap:12px}.panel-title[data-v-45a711b4]{font-size:var(--cg-font-size-sm);font-weight:var(--cg-font-weight-semibold);margin:0;color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.header-info[data-v-45a711b4]{display:flex;align-items:center;gap:6px;font-size:var(--cg-font-size-xs)}.env-name[data-v-45a711b4]{color:var(--cg-color-text-secondary)}.branch-name[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.status-dot[data-v-45a711b4]{width:8px;height:8px;border-radius:50%}.status-dot.success[data-v-45a711b4]{background:var(--cg-color-success)}.status-dot.warning[data-v-45a711b4]{background:var(--cg-color-warning)}.status-dot.error[data-v-45a711b4]{background:var(--cg-color-error)}.status-dot.neutral[data-v-45a711b4]{background:var(--cg-color-text-muted)}.header-actions[data-v-45a711b4]{display:flex;gap:4px}.icon-btn[data-v-45a711b4]{background:transparent;border:1px solid transparent;color:var(--cg-color-text-primary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center}.icon-btn[data-v-45a711b4]:hover{background:var(--cg-color-bg-hover);border-color:var(--cg-color-border-subtle)}.icon-btn.spinning svg[data-v-45a711b4]{animation:spin-45a711b4 1s linear infinite}@keyframes spin-45a711b4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-divider[data-v-45a711b4]{width:1px;height:16px;background:var(--cg-color-border-subtle);margin:0 4px;align-self:center}.env-switcher[data-v-45a711b4]{padding:var(--cg-space-3) var(--cg-space-4);border-bottom:1px solid var(--cg-color-border);background:var(--cg-color-bg-secondary);flex-shrink:0}.env-switcher-header[data-v-45a711b4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.env-switcher-label[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.env-control-buttons[data-v-45a711b4]{display:flex;gap:var(--cg-space-2)}.env-control-btn[data-v-45a711b4]{padding:2px 8px;font-family:var(--cg-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);background:transparent;border:1px solid var(--cg-color-border);color:var(--cg-color-text-muted);cursor:pointer;transition:all var(--cg-transition-fast)}.env-control-btn[data-v-45a711b4]:hover{border-color:var(--cg-color-accent);color:var(--cg-color-accent)}.env-control-btn.stop[data-v-45a711b4]{border-color:var(--cg-color-error);color:var(--cg-color-error);opacity:.7}.env-control-btn.stop[data-v-45a711b4]:hover{opacity:1}.env-switcher-btn[data-v-45a711b4]{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-primary);padding:8px 12px;cursor:pointer;font-family:var(--cg-font-mono);font-size:var(--cg-font-size-sm)}.env-switcher-btn[data-v-45a711b4]:hover{border-color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.switch-indicator[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.panel-main[data-v-45a711b4]{display:flex;flex:1;overflow:hidden}.sidebar[data-v-45a711b4]{width:234px;background:var(--cg-color-bg-tertiary);border-right:1px solid var(--cg-color-border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-content[data-v-45a711b4]{flex:1;overflow-y:auto}.sidebar-footer[data-v-45a711b4]{padding:var(--cg-space-2) var(--cg-space-3);border-top:1px solid var(--cg-color-border-subtle);flex-shrink:0}.sidebar-section[data-v-45a711b4]{padding:var(--cg-space-3) 0}.sidebar-section-title[data-v-45a711b4]{padding:0 var(--cg-space-3);margin-bottom:var(--cg-space-2);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.sidebar-item[data-v-45a711b4]{width:100%;padding:8px var(--cg-space-3);background:transparent;border:none;border-left:2px solid transparent;color:var(--cg-color-text-secondary);text-align:left;cursor:pointer;font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-normal)}.sidebar-item[data-v-45a711b4]:hover{background:var(--cg-color-bg-hover);color:var(--cg-color-accent)}.sidebar-item.active[data-v-45a711b4]{border-left-color:var(--cg-color-accent);color:var(--cg-color-accent);background:var(--cg-color-bg-hover)}.sidebar-badge[data-v-45a711b4]{margin-left:auto;padding:1px 6px;background:var(--cg-color-success);color:var(--cg-color-bg-primary);border-radius:var(--cg-radius-sm);font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold)}.sidebar-divider[data-v-45a711b4]{height:1px;background:var(--cg-color-border-subtle);margin:var(--cg-space-2) var(--cg-space-3)}.content-area[data-v-45a711b4]{flex:1;overflow-y:auto;padding:var(--cg-space-4);-webkit-user-select:text;user-select:text}.loading[data-v-45a711b4]{text-align:center;padding:var(--cg-space-6);color:var(--cg-color-text-muted)}.error-message[data-v-45a711b4]{background:transparent;border:1px solid var(--cg-color-error);padding:var(--cg-space-3);color:var(--cg-color-error);font-size:var(--cg-font-size-sm);-webkit-user-select:text;user-select:text;cursor:text}.view-placeholder[data-v-45a711b4]{padding:var(--cg-space-4)}.view-title[data-v-45a711b4]{color:var(--cg-color-accent);font-size:var(--cg-font-size-lg);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);margin:0 0 var(--cg-space-4) 0}.view-placeholder p[data-v-45a711b4]{color:var(--cg-color-text-secondary);font-size:var(--cg-font-size-base)}.dialog-overlay[data-v-45a711b4]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--cg-color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10003}.dialog-content[data-v-45a711b4]{background:var(--cg-color-bg-primary);border:2px solid var(--cg-color-border);box-shadow:0 0 16px #00ff4180;max-width:780px;width:90vw;max-height:80vh;display:flex;flex-direction:column}.env-selector-dialog[data-v-45a711b4]{width:780px}.dialog-header[data-v-45a711b4]{padding:var(--cg-space-4);border-bottom:1px solid var(--cg-color-border);background:var(--cg-color-bg-tertiary);display:flex;justify-content:space-between;align-items:center}.dialog-title[data-v-45a711b4]{color:var(--cg-color-accent);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);font-size:var(--cg-font-size-sm);text-shadow:0 0 8px var(--cg-color-accent);margin:0}.dialog-body[data-v-45a711b4]{padding:var(--cg-space-4);overflow-y:auto}.dialog-message[data-v-45a711b4]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);margin:0 0 var(--cg-space-4) 0}.env-list[data-v-45a711b4]{display:flex;flex-direction:column;gap:var(--cg-space-3)}.env-item[data-v-45a711b4]{display:flex;justify-content:space-between;align-items:center;padding:var(--cg-space-3);border:1px solid var(--cg-color-border-subtle);background:var(--cg-color-bg-tertiary)}.env-item.current[data-v-45a711b4]{border-color:var(--cg-color-accent)}.env-info[data-v-45a711b4]{flex:1}.env-name-row[data-v-45a711b4]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.env-indicator[data-v-45a711b4]{color:var(--cg-color-accent)}.env-name[data-v-45a711b4]{color:var(--cg-color-text-primary);font-size:var(--cg-font-size-base);font-weight:var(--cg-font-weight-semibold)}.env-branch[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.current-label[data-v-45a711b4]{margin-left:auto;padding:2px 8px;background:transparent;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.env-stats[data-v-45a711b4]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.switch-btn[data-v-45a711b4]{padding:6px 12px;background:transparent;border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);font-family:var(--cg-font-mono);font-size:var(--cg-font-size-xs);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide);cursor:pointer}.switch-btn[data-v-45a711b4]:hover{border-color:var(--cg-color-accent);color:var(--cg-color-accent);box-shadow:0 0 8px #00ff414d}.toast-container[data-v-45a711b4]{position:fixed;bottom:16px;right:16px;z-index:10004;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast[data-v-45a711b4]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);box-shadow:0 0 8px #00ff4166;font-size:var(--cg-font-size-xs);color:var(--cg-color-text-primary);pointer-events:auto;min-width:234px;max-width:390px;font-family:var(--cg-font-mono)}.toast.info[data-v-45a711b4]{border-left:3px solid var(--cg-color-info)}.toast.success[data-v-45a711b4]{border-left:3px solid var(--cg-color-success)}.toast.warning[data-v-45a711b4]{border-left:3px solid var(--cg-color-warning)}.toast.error[data-v-45a711b4]{border-left:3px solid var(--cg-color-error)}.toast-message[data-v-45a711b4]{flex:1}.toast-enter-active[data-v-45a711b4],.toast-leave-active[data-v-45a711b4]{transition:all .3s ease}.toast-enter-from[data-v-45a711b4],.toast-leave-to[data-v-45a711b4]{opacity:0;transform:translate(100%)}.toast-move[data-v-45a711b4]{transition:transform .3s ease}.sidebar-content[data-v-45a711b4]::-webkit-scrollbar,.content-area[data-v-45a711b4]::-webkit-scrollbar{width:8px}.sidebar-content[data-v-45a711b4]::-webkit-scrollbar-track,.content-area[data-v-45a711b4]::-webkit-scrollbar-track{background:var(--cg-color-bg-tertiary)}.sidebar-content[data-v-45a711b4]::-webkit-scrollbar-thumb,.content-area[data-v-45a711b4]::-webkit-scrollbar-thumb{background:var(--cg-color-border-subtle);border:1px solid var(--cg-color-bg-tertiary)}.sidebar-content[data-v-45a711b4]::-webkit-scrollbar-thumb:hover,.content-area[data-v-45a711b4]::-webkit-scrollbar-thumb:hover{background:var(--cg-color-accent)}.download-item[data-v-2110df65]{padding:var(--cg-space-2);background:var(--cg-color-bg-secondary);border:1px solid var(--cg-color-border-subtle)}.download-item.status-downloading[data-v-2110df65]{border-color:var(--cg-color-accent)}.download-item.status-completed[data-v-2110df65]{border-color:var(--cg-color-success)}.download-item.status-failed[data-v-2110df65]{border-color:var(--cg-color-error)}.download-item.status-paused[data-v-2110df65]{border-color:var(--cg-color-warning)}.item-header[data-v-2110df65]{display:flex;justify-content:space-between;align-items:flex-start}.item-info[data-v-2110df65]{flex:1;min-width:0}.filename[data-v-2110df65]{font-size:var(--cg-font-size-sm);color:var(--cg-color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metadata[data-v-2110df65]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);margin-top:2px;display:flex;gap:var(--cg-space-2)}.item-actions[data-v-2110df65]{display:flex;gap:4px;flex-shrink:0}.action-icon[data-v-2110df65]{width:20px;height:20px;padding:0;background:transparent;border:1px solid var(--cg-color-border);color:var(--cg-color-text-primary);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.action-icon[data-v-2110df65]:hover{background:var(--cg-color-bg-hover)}.action-icon.cancel[data-v-2110df65]:hover,.action-icon.remove[data-v-2110df65]:hover{border-color:var(--cg-color-error);color:var(--cg-color-error)}.action-icon.retry[data-v-2110df65]:hover{border-color:var(--cg-color-warning);color:var(--cg-color-warning)}.action-icon.resume[data-v-2110df65]{font-size:10px}.action-icon.resume[data-v-2110df65]:hover{border-color:var(--cg-color-success);color:var(--cg-color-success)}.progress-section[data-v-2110df65]{margin-top:var(--cg-space-1)}.progress-bar[data-v-2110df65]{height:3px;background:var(--cg-color-bg-tertiary);border-radius:2px;overflow:hidden}.progress-fill[data-v-2110df65]{height:100%;background:var(--cg-color-accent);transition:width .2s ease}.progress-stats[data-v-2110df65]{display:flex;justify-content:space-between;margin-top:2px;font-size:10px;color:var(--cg-color-text-muted);font-family:var(--cg-font-mono)}.speed[data-v-2110df65]{color:var(--cg-color-accent)}.status-msg[data-v-2110df65]{font-size:var(--cg-font-size-xs);margin-top:var(--cg-space-1)}.status-msg.paused[data-v-2110df65]{color:var(--cg-color-warning)}.status-msg.queued[data-v-2110df65]{color:var(--cg-color-text-muted)}.status-msg.completed[data-v-2110df65]{color:var(--cg-color-success)}.status-msg.failed[data-v-2110df65]{color:var(--cg-color-error)}.retries[data-v-2110df65]{opacity:.7}.model-download-queue[data-v-60751cfa]{position:fixed;bottom:16px;right:340px;width:360px;background:var(--cg-color-bg-primary);border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);box-shadow:0 2px 12px #0000004d;z-index:0;display:flex;flex-direction:column;overflow:hidden}.queue-header[data-v-60751cfa]{padding:var(--cg-space-2) var(--cg-space-3);border-bottom:1px solid var(--cg-color-border);display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--cg-color-bg-secondary)}.queue-header[data-v-60751cfa]:hover{background:var(--cg-color-bg-hover)}.queue-title[data-v-60751cfa]{display:flex;align-items:center;gap:var(--cg-space-2);color:var(--cg-color-text-primary);font-weight:var(--cg-font-weight-semibold);font-size:var(--cg-font-size-sm)}.icon[data-v-60751cfa]{font-size:var(--cg-font-size-base)}.count[data-v-60751cfa]{color:var(--cg-color-text-muted);font-weight:400;font-size:var(--cg-font-size-xs)}.action-label[data-v-60751cfa]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);text-transform:lowercase;font-style:italic}.overall-progress[data-v-60751cfa]{padding:var(--cg-space-2) var(--cg-space-3)}.progress-bar[data-v-60751cfa]{height:4px;background:var(--cg-color-bg-tertiary);border-radius:2px;overflow:hidden}.progress-fill[data-v-60751cfa]{height:100%;background:var(--cg-color-accent);transition:width .3s ease}.current-mini[data-v-60751cfa]{display:flex;justify-content:space-between;margin-top:var(--cg-space-1);font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted)}.current-mini .filename[data-v-60751cfa]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-mini .speed[data-v-60751cfa]{color:var(--cg-color-accent);font-family:var(--cg-font-mono)}.queue-content[data-v-60751cfa]{max-height:450px;overflow-y:auto;padding:var(--cg-space-2);display:flex;flex-direction:column;gap:var(--cg-space-2)}.section[data-v-60751cfa]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.section-header[data-v-60751cfa]{display:flex;justify-content:space-between;align-items:center}.section-label[data-v-60751cfa]{font-size:var(--cg-font-size-xs);color:var(--cg-color-text-muted);text-transform:uppercase;letter-spacing:var(--cg-letter-spacing-wide)}.section-label.failed[data-v-60751cfa]{color:var(--cg-color-error)}.section-label.paused[data-v-60751cfa]{color:var(--cg-color-warning)}.resume-all-btn[data-v-60751cfa]{padding:4px 10px;background:var(--cg-color-warning);border:none;color:#000;font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-semibold);cursor:pointer}.resume-all-btn[data-v-60751cfa]:hover{filter:brightness(1.1)}.clear-btn[data-v-60751cfa]{padding:2px 6px;background:transparent;border:1px solid var(--cg-color-border-subtle);color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);cursor:pointer}.clear-btn[data-v-60751cfa]:hover{color:var(--cg-color-error);border-color:var(--cg-color-error)}.items-list[data-v-60751cfa]{display:flex;flex-direction:column;gap:var(--cg-space-1)}.detail-header[data-v-fac0fef0]{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--cg-space-3);margin-bottom:var(--cg-space-3);border-bottom:1px solid var(--cg-color-border-subtle)}.item-count[data-v-fac0fef0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-sm)}.resource-list[data-v-fac0fef0]{display:flex;flex-direction:column;background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-md);padding:var(--cg-space-2)}.resource-item[data-v-fac0fef0]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);padding:var(--cg-space-2)}.resource-item[data-v-fac0fef0]:not(:last-child){border-bottom:1px solid var(--cg-color-border)}.item-info[data-v-fac0fef0]{display:flex;align-items:center;gap:var(--cg-space-2);flex:1;min-width:0}.item-name[data-v-fac0fef0]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-subtitle[data-v-fac0fef0]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs);flex-shrink:0}.no-action[data-v-fac0fef0]{color:var(--cg-color-warning);font-style:italic;font-size:var(--cg-font-size-xs);white-space:nowrap}.queued-badge[data-v-fac0fef0],.installing-badge[data-v-fac0fef0],.failed-badge[data-v-fac0fef0],.installed-badge[data-v-fac0fef0]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);white-space:nowrap}.queued-badge[data-v-fac0fef0]{color:var(--cg-color-warning);background:color-mix(in srgb,var(--cg-color-warning) 15%,transparent)}.installing-badge[data-v-fac0fef0]{color:var(--cg-color-accent);background:color-mix(in srgb,var(--cg-color-accent) 15%,transparent)}.failed-badge[data-v-fac0fef0]{color:var(--cg-color-error);background:color-mix(in srgb,var(--cg-color-error) 15%,transparent);cursor:help}.installed-badge[data-v-fac0fef0]{color:var(--cg-color-success);background:color-mix(in srgb,var(--cg-color-success) 15%,transparent)}.loading-state[data-v-512ff6ab]{display:flex;align-items:center;justify-content:center;padding:var(--cg-space-8);gap:var(--cg-space-3);color:var(--cg-color-text-muted)}.loading-spinner[data-v-512ff6ab]{width:24px;height:24px;border:3px solid var(--cg-color-border);border-top-color:var(--cg-color-accent);border-radius:50%;animation:spin-512ff6ab .8s linear infinite}@keyframes spin-512ff6ab{to{transform:rotate(360deg)}}.section[data-v-512ff6ab]{margin-bottom:var(--cg-space-4)}.section-header[data-v-512ff6ab]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);margin-bottom:var(--cg-space-2)}.section-title[data-v-512ff6ab]{font-weight:var(--cg-font-weight-semibold);color:var(--cg-color-text-primary)}.item-list[data-v-512ff6ab]{background:var(--cg-color-bg-tertiary);border-radius:var(--cg-radius-md);padding:var(--cg-space-2)}.item[data-v-512ff6ab]{display:flex;align-items:center;gap:var(--cg-space-2);padding:var(--cg-space-1) var(--cg-space-2);font-size:var(--cg-font-size-sm)}.package-item[data-v-512ff6ab],.model-item[data-v-512ff6ab]{display:flex;align-items:center;justify-content:space-between;gap:var(--cg-space-2);padding:var(--cg-space-2)}.package-item[data-v-512ff6ab]:not(:last-child),.model-item[data-v-512ff6ab]:not(:last-child){border-bottom:1px solid var(--cg-color-border)}.package-info[data-v-512ff6ab],.model-info[data-v-512ff6ab]{display:flex;align-items:center;gap:var(--cg-space-2);flex:1;min-width:0}.package-name[data-v-512ff6ab]{font-weight:var(--cg-font-weight-medium);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-sm)}.node-count[data-v-512ff6ab]{color:var(--cg-color-text-muted);font-size:var(--cg-font-size-xs)}.node-type[data-v-512ff6ab]{font-family:var(--cg-font-mono);background:var(--cg-color-bg-secondary);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm);color:var(--cg-color-accent);font-size:var(--cg-font-size-xs)}.model-name[data-v-512ff6ab]{font-family:var(--cg-font-mono);color:var(--cg-color-text-primary);font-size:var(--cg-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.not-found[data-v-512ff6ab],.no-url[data-v-512ff6ab]{color:var(--cg-color-warning);font-style:italic;font-size:var(--cg-font-size-xs);white-space:nowrap}.queued-badge[data-v-512ff6ab],.installing-badge[data-v-512ff6ab],.failed-badge[data-v-512ff6ab],.installed-badge[data-v-512ff6ab]{font-size:var(--cg-font-size-xs);font-weight:var(--cg-font-weight-medium);padding:var(--cg-space-1) var(--cg-space-2);border-radius:var(--cg-radius-sm)}.queued-badge[data-v-512ff6ab]{color:var(--cg-color-warning);background:color-mix(in srgb,var(--cg-color-warning) 15%,transparent)}.installing-badge[data-v-512ff6ab]{color:var(--cg-color-accent);background:color-mix(in srgb,var(--cg-color-accent) 15%,transparent)}.failed-badge[data-v-512ff6ab]{color:var(--cg-color-error);background:color-mix(in srgb,var(--cg-color-error) 15%,transparent);cursor:help}.installed-badge[data-v-512ff6ab]{color:var(--cg-color-success);background:color-mix(in srgb,var(--cg-color-success) 15%,transparent)}.show-all-row[data-v-512ff6ab]{display:flex;align-items:center;justify-content:space-between;padding:var(--cg-space-2);color:var(--cg-color-accent);cursor:pointer;font-size:var(--cg-font-size-sm);border-top:1px solid var(--cg-color-border)}.show-all-row[data-v-512ff6ab]:hover{background:var(--cg-color-bg-hover)}.show-all-arrow[data-v-512ff6ab]{opacity:.6}.overflow-note[data-v-512ff6ab]{padding:var(--cg-space-1) var(--cg-space-2);color:var(--cg-color-text-muted);font-style:italic;font-size:var(--cg-font-size-xs)}.dont-show-again[data-v-512ff6ab]{margin-top:var(--cg-space-4);padding-top:var(--cg-space-3);border-top:1px solid var(--cg-color-border)}[data-comfygit-theme]{user-select:text;-webkit-user-select:text}:root{--cg-font-display: system-ui, sans-serif;--cg-font-body: system-ui, sans-serif;--cg-font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--cg-font-size-xs: 10px;--cg-font-size-sm: 12px;--cg-font-size-base: 14px;--cg-font-size-lg: 16px;--cg-font-size-xl: 20px;--cg-font-size-2xl: 24px;--cg-font-weight-normal: 400;--cg-font-weight-medium: 500;--cg-font-weight-semibold: 600;--cg-font-weight-bold: 700;--cg-line-height-tight: 1.2;--cg-line-height-normal: 1.5;--cg-line-height-relaxed: 1.75;--cg-letter-spacing-tight: -.02em;--cg-letter-spacing-normal: 0;--cg-letter-spacing-wide: .05em;--cg-letter-spacing-wider: .1em;--cg-color-bg-primary: #353535;--cg-color-bg-secondary: #2a2a2a;--cg-color-bg-tertiary: #222222;--cg-color-bg-hover: #404040;--cg-color-bg-overlay: rgba(0, 0, 0, .5);--cg-color-text-primary: #dddddd;--cg-color-text-secondary: #999999;--cg-color-text-muted: #666666;--cg-color-text-inverse: #111111;--cg-color-border: #4a4a4a;--cg-color-border-subtle: #3a3a3a;--cg-color-border-strong: #5a5a5a;--cg-color-accent: #f97316;--cg-color-accent-hover: #ea580c;--cg-color-accent-muted: rgba(249, 115, 22, .2);--cg-color-success: #22c55e;--cg-color-success-muted: rgba(34, 197, 94, .15);--cg-color-warning: #fbbf24;--cg-color-warning-muted: rgba(251, 191, 36, .15);--cg-color-error: #ef4444;--cg-color-error-muted: rgba(239, 68, 68, .15);--cg-color-info: #3b82f6;--cg-color-info-muted: rgba(59, 130, 246, .15);--cg-space-0-5: 2px;--cg-space-1: 4px;--cg-space-2: 8px;--cg-space-3: 12px;--cg-space-4: 16px;--cg-space-5: 20px;--cg-space-6: 24px;--cg-space-8: 32px;--cg-space-10: 40px;--cg-space-12: 48px;--cg-radius-none: 0;--cg-radius-sm: 2px;--cg-radius-md: 4px;--cg-radius-lg: 8px;--cg-radius-xl: 12px;--cg-radius-2xl: 16px;--cg-radius-full: 9999px;--cg-shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--cg-shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--cg-shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--cg-shadow-xl: 0 16px 48px rgba(0, 0, 0, .5);--cg-blur-sm: 4px;--cg-blur-md: 8px;--cg-blur-lg: 16px;--cg-transition-fast: .1s ease;--cg-transition-normal: .2s ease;--cg-transition-slow: .3s ease;--cg-z-dropdown: 100;--cg-z-modal: 1000;--cg-z-popover: 1001;--cg-z-tooltip: 1002;--cg-panel-width: 580px;--cg-panel-height: 70vh;--cg-panel-max-width: 90vw;--cg-panel-max-height: 85vh;--cg-btn-gradient-start: #fb923c;--cg-btn-gradient-end: #ea580c;--cg-btn-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(0, 0, 0, .15);--cg-decoration-title-prefix: "";--cg-decoration-label-prefix: "";--cg-decoration-label-suffix: "";--cg-decoration-status-animation: none;--cg-decoration-status-shape: circle;--cg-shadow-accent: rgba(249, 115, 22, .3);--cg-shadow-accent-strong: rgba(249, 115, 22, .5);--cg-shadow-error: rgba(239, 68, 68, .3);--cg-shadow-success: rgba(34, 197, 94, .3);--cg-text-shadow-title: none;--cg-text-shadow-accent: none}
diff --git a/js/comfygit-panel.js b/js/comfygit-panel.js
index ad52168..41c6f63 100644
--- a/js/comfygit-panel.js
+++ b/js/comfygit-panel.js
@@ -5,106 +5,106 @@ import { app as Wt } from "../../scripts/app.js";
* @license MIT
**/
// @__NO_SIDE_EFFECTS__
-function za(e) {
+function Ba(e) {
const s = /* @__PURE__ */ Object.create(null);
for (const o of e.split(",")) s[o] = 1;
return (o) => o in s;
}
-const nt = {}, po = [], gs = () => {
-}, ci = () => !1, Wn = (e) => e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && // uppercase letter
-(e.charCodeAt(2) > 122 || e.charCodeAt(2) < 97), Fa = (e) => e.startsWith("onUpdate:"), pt = Object.assign, Ba = (e, s) => {
+const ot = {}, po = [], gs = () => {
+}, ui = () => !1, Hn = (e) => e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && // uppercase letter
+(e.charCodeAt(2) > 122 || e.charCodeAt(2) < 97), Wa = (e) => e.startsWith("onUpdate:"), pt = Object.assign, Ga = (e, s) => {
const o = e.indexOf(s);
o > -1 && e.splice(o, 1);
-}, oc = Object.prototype.hasOwnProperty, et = (e, s) => oc.call(e, s), Be = Array.isArray, go = (e) => an(e) === "[object Map]", Co = (e) => an(e) === "[object Set]", dl = (e) => an(e) === "[object Date]", Ge = (e) => typeof e == "function", ut = (e) => typeof e == "string", ts = (e) => typeof e == "symbol", ot = (e) => e !== null && typeof e == "object", ui = (e) => (ot(e) || Ge(e)) && Ge(e.then) && Ge(e.catch), di = Object.prototype.toString, an = (e) => di.call(e), nc = (e) => an(e).slice(8, -1), fi = (e) => an(e) === "[object Object]", Va = (e) => ut(e) && e !== "NaN" && e[0] !== "-" && "" + parseInt(e, 10) === e, Fo = /* @__PURE__ */ za(
+}, nc = Object.prototype.hasOwnProperty, et = (e, s) => nc.call(e, s), Fe = Array.isArray, go = (e) => ln(e) === "[object Map]", Co = (e) => ln(e) === "[object Set]", ml = (e) => ln(e) === "[object Date]", We = (e) => typeof e == "function", ut = (e) => typeof e == "string", ts = (e) => typeof e == "symbol", st = (e) => e !== null && typeof e == "object", di = (e) => (st(e) || We(e)) && We(e.then) && We(e.catch), fi = Object.prototype.toString, ln = (e) => fi.call(e), ac = (e) => ln(e).slice(8, -1), mi = (e) => ln(e) === "[object Object]", ja = (e) => ut(e) && e !== "NaN" && e[0] !== "-" && "" + parseInt(e, 10) === e, Fo = /* @__PURE__ */ Ba(
// the leading comma is intentional so empty string "" is also included
",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
-), Gn = (e) => {
+), Kn = (e) => {
const s = /* @__PURE__ */ Object.create(null);
return ((o) => s[o] || (s[o] = e(o)));
-}, ac = /-\w/g, Kt = Gn(
- (e) => e.replace(ac, (s) => s.slice(1).toUpperCase())
-), lc = /\B([A-Z])/g, Vs = Gn(
- (e) => e.replace(lc, "-$1").toLowerCase()
-), jn = Gn((e) => e.charAt(0).toUpperCase() + e.slice(1)), na = Gn(
- (e) => e ? `on${jn(e)}` : ""
-), zs = (e, s) => !Object.is(e, s), xn = (e, ...s) => {
+}, lc = /-\w/g, Kt = Kn(
+ (e) => e.replace(lc, (s) => s.slice(1).toUpperCase())
+), ic = /\B([A-Z])/g, Bs = Kn(
+ (e) => e.replace(ic, "-$1").toLowerCase()
+), qn = Kn((e) => e.charAt(0).toUpperCase() + e.slice(1)), ia = Kn(
+ (e) => e ? `on${qn(e)}` : ""
+), zs = (e, s) => !Object.is(e, s), In = (e, ...s) => {
for (let o = 0; o < e.length; o++)
e[o](...s);
-}, mi = (e, s, o, n = !1) => {
+}, vi = (e, s, o, a = !1) => {
Object.defineProperty(e, s, {
configurable: !0,
enumerable: !1,
- writable: n,
+ writable: a,
value: o
});
-}, Hn = (e) => {
+}, Yn = (e) => {
const s = parseFloat(e);
return isNaN(s) ? e : s;
-}, ic = (e) => {
+}, rc = (e) => {
const s = ut(e) ? Number(e) : NaN;
return isNaN(s) ? e : s;
};
-let fl;
-const Kn = () => fl || (fl = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {});
+let vl;
+const Jn = () => vl || (vl = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {});
function Ft(e) {
- if (Be(e)) {
+ if (Fe(e)) {
const s = {};
for (let o = 0; o < e.length; o++) {
- const n = e[o], l = ut(n) ? dc(n) : Ft(n);
+ const a = e[o], l = ut(a) ? fc(a) : Ft(a);
if (l)
for (const r in l)
s[r] = l[r];
}
return s;
- } else if (ut(e) || ot(e))
+ } else if (ut(e) || st(e))
return e;
}
-const rc = /;(?![^(]*\))/g, cc = /:([^]+)/, uc = /\/\*[^]*?\*\//g;
-function dc(e) {
+const cc = /;(?![^(]*\))/g, uc = /:([^]+)/, dc = /\/\*[^]*?\*\//g;
+function fc(e) {
const s = {};
- return e.replace(uc, "").split(rc).forEach((o) => {
+ return e.replace(dc, "").split(cc).forEach((o) => {
if (o) {
- const n = o.split(cc);
- n.length > 1 && (s[n[0].trim()] = n[1].trim());
+ const a = o.split(uc);
+ a.length > 1 && (s[a[0].trim()] = a[1].trim());
}
}), s;
}
-function Se(e) {
+function Ie(e) {
let s = "";
if (ut(e))
s = e;
- else if (Be(e))
+ else if (Fe(e))
for (let o = 0; o < e.length; o++) {
- const n = Se(e[o]);
- n && (s += n + " ");
+ const a = Ie(e[o]);
+ a && (s += a + " ");
}
- else if (ot(e))
+ else if (st(e))
for (const o in e)
e[o] && (s += o + " ");
return s.trim();
}
-const fc = "itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly", mc = /* @__PURE__ */ za(fc);
-function vi(e) {
+const mc = "itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly", vc = /* @__PURE__ */ Ba(mc);
+function pi(e) {
return !!e || e === "";
}
-function vc(e, s) {
+function pc(e, s) {
if (e.length !== s.length) return !1;
let o = !0;
- for (let n = 0; o && n < e.length; n++)
- o = so(e[n], s[n]);
+ for (let a = 0; o && a < e.length; a++)
+ o = so(e[a], s[a]);
return o;
}
function so(e, s) {
if (e === s) return !0;
- let o = dl(e), n = dl(s);
- if (o || n)
- return o && n ? e.getTime() === s.getTime() : !1;
- if (o = ts(e), n = ts(s), o || n)
+ let o = ml(e), a = ml(s);
+ if (o || a)
+ return o && a ? e.getTime() === s.getTime() : !1;
+ if (o = ts(e), a = ts(s), o || a)
return e === s;
- if (o = Be(e), n = Be(s), o || n)
- return o && n ? vc(e, s) : !1;
- if (o = ot(e), n = ot(s), o || n) {
- if (!o || !n)
+ if (o = Fe(e), a = Fe(s), o || a)
+ return o && a ? pc(e, s) : !1;
+ if (o = st(e), a = st(s), o || a) {
+ if (!o || !a)
return !1;
const l = Object.keys(e).length, r = Object.keys(s).length;
if (l !== r)
@@ -117,17 +117,17 @@ function so(e, s) {
}
return String(e) === String(s);
}
-function Wa(e, s) {
+function Ha(e, s) {
return e.findIndex((o) => so(o, s));
}
-const pi = (e) => !!(e && e.__v_isRef === !0), f = (e) => ut(e) ? e : e == null ? "" : Be(e) || ot(e) && (e.toString === di || !Ge(e.toString)) ? pi(e) ? f(e.value) : JSON.stringify(e, gi, 2) : String(e), gi = (e, s) => pi(s) ? gi(e, s.value) : go(s) ? {
+const gi = (e) => !!(e && e.__v_isRef === !0), f = (e) => ut(e) ? e : e == null ? "" : Fe(e) || st(e) && (e.toString === fi || !We(e.toString)) ? gi(e) ? f(e.value) : JSON.stringify(e, hi, 2) : String(e), hi = (e, s) => gi(s) ? hi(e, s.value) : go(s) ? {
[`Map(${s.size})`]: [...s.entries()].reduce(
- (o, [n, l], r) => (o[aa(n, r) + " =>"] = l, o),
+ (o, [a, l], r) => (o[ra(a, r) + " =>"] = l, o),
{}
)
} : Co(s) ? {
- [`Set(${s.size})`]: [...s.values()].map((o) => aa(o))
-} : ts(s) ? aa(s) : ot(s) && !Be(s) && !fi(s) ? String(s) : s, aa = (e, s = "") => {
+ [`Set(${s.size})`]: [...s.values()].map((o) => ra(o))
+} : ts(s) ? ra(s) : st(s) && !Fe(s) && !mi(s) ? String(s) : s, ra = (e, s = "") => {
var o;
return (
// Symbol.description in es2019+ so we need to cast here to pass
@@ -140,10 +140,10 @@ const pi = (e) => !!(e && e.__v_isRef === !0), f = (e) => ut(e) ? e : e == null
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
-let At;
-class pc {
+let Lt;
+class gc {
constructor(s = !1) {
- this.detached = s, this._active = !0, this._on = 0, this.effects = [], this.cleanups = [], this._isPaused = !1, this.parent = At, !s && At && (this.index = (At.scopes || (At.scopes = [])).push(
+ this.detached = s, this._active = !0, this._on = 0, this.effects = [], this.cleanups = [], this._isPaused = !1, this.parent = Lt, !s && Lt && (this.index = (Lt.scopes || (Lt.scopes = [])).push(
this
) - 1);
}
@@ -177,11 +177,11 @@ class pc {
}
run(s) {
if (this._active) {
- const o = At;
+ const o = Lt;
try {
- return At = this, s();
+ return Lt = this, s();
} finally {
- At = o;
+ Lt = o;
}
}
}
@@ -190,25 +190,25 @@ class pc {
* @internal
*/
on() {
- ++this._on === 1 && (this.prevScope = At, At = this);
+ ++this._on === 1 && (this.prevScope = Lt, Lt = this);
}
/**
* This should only be called on non-detached scopes
* @internal
*/
off() {
- this._on > 0 && --this._on === 0 && (At = this.prevScope, this.prevScope = void 0);
+ this._on > 0 && --this._on === 0 && (Lt = this.prevScope, this.prevScope = void 0);
}
stop(s) {
if (this._active) {
this._active = !1;
- let o, n;
- for (o = 0, n = this.effects.length; o < n; o++)
+ let o, a;
+ for (o = 0, a = this.effects.length; o < a; o++)
this.effects[o].stop();
- for (this.effects.length = 0, o = 0, n = this.cleanups.length; o < n; o++)
+ for (this.effects.length = 0, o = 0, a = this.cleanups.length; o < a; o++)
this.cleanups[o]();
if (this.cleanups.length = 0, this.scopes) {
- for (o = 0, n = this.scopes.length; o < n; o++)
+ for (o = 0, a = this.scopes.length; o < a; o++)
this.scopes[o].stop(!0);
this.scopes.length = 0;
}
@@ -220,184 +220,184 @@ class pc {
}
}
}
-function gc() {
- return At;
+function hc() {
+ return Lt;
}
-let lt;
-const la = /* @__PURE__ */ new WeakSet();
-class hi {
+let at;
+const ca = /* @__PURE__ */ new WeakSet();
+class yi {
constructor(s) {
- this.fn = s, this.deps = void 0, this.depsTail = void 0, this.flags = 5, this.next = void 0, this.cleanup = void 0, this.scheduler = void 0, At && At.active && At.effects.push(this);
+ this.fn = s, this.deps = void 0, this.depsTail = void 0, this.flags = 5, this.next = void 0, this.cleanup = void 0, this.scheduler = void 0, Lt && Lt.active && Lt.effects.push(this);
}
pause() {
this.flags |= 64;
}
resume() {
- this.flags & 64 && (this.flags &= -65, la.has(this) && (la.delete(this), this.trigger()));
+ this.flags & 64 && (this.flags &= -65, ca.has(this) && (ca.delete(this), this.trigger()));
}
/**
* @internal
*/
notify() {
- this.flags & 2 && !(this.flags & 32) || this.flags & 8 || wi(this);
+ this.flags & 2 && !(this.flags & 32) || this.flags & 8 || ki(this);
}
run() {
if (!(this.flags & 1))
return this.fn();
- this.flags |= 2, ml(this), ki(this);
- const s = lt, o = es;
- lt = this, es = !0;
+ this.flags |= 2, pl(this), _i(this);
+ const s = at, o = es;
+ at = this, es = !0;
try {
return this.fn();
} finally {
- _i(this), lt = s, es = o, this.flags &= -3;
+ bi(this), at = s, es = o, this.flags &= -3;
}
}
stop() {
if (this.flags & 1) {
for (let s = this.deps; s; s = s.nextDep)
- Ha(s);
- this.deps = this.depsTail = void 0, ml(this), this.onStop && this.onStop(), this.flags &= -2;
+ Ya(s);
+ this.deps = this.depsTail = void 0, pl(this), this.onStop && this.onStop(), this.flags &= -2;
}
}
trigger() {
- this.flags & 64 ? la.add(this) : this.scheduler ? this.scheduler() : this.runIfDirty();
+ this.flags & 64 ? ca.add(this) : this.scheduler ? this.scheduler() : this.runIfDirty();
}
/**
* @internal
*/
runIfDirty() {
- ba(this) && this.run();
+ xa(this) && this.run();
}
get dirty() {
- return ba(this);
+ return xa(this);
}
}
-let yi = 0, Bo, Vo;
-function wi(e, s = !1) {
+let wi = 0, Vo, Bo;
+function ki(e, s = !1) {
if (e.flags |= 8, s) {
- e.next = Vo, Vo = e;
+ e.next = Bo, Bo = e;
return;
}
- e.next = Bo, Bo = e;
+ e.next = Vo, Vo = e;
}
-function Ga() {
- yi++;
+function Ka() {
+ wi++;
}
-function ja() {
- if (--yi > 0)
+function qa() {
+ if (--wi > 0)
return;
- if (Vo) {
- let s = Vo;
- for (Vo = void 0; s; ) {
+ if (Bo) {
+ let s = Bo;
+ for (Bo = void 0; s; ) {
const o = s.next;
s.next = void 0, s.flags &= -9, s = o;
}
}
let e;
- for (; Bo; ) {
- let s = Bo;
- for (Bo = void 0; s; ) {
+ for (; Vo; ) {
+ let s = Vo;
+ for (Vo = void 0; s; ) {
const o = s.next;
if (s.next = void 0, s.flags &= -9, s.flags & 1)
try {
s.trigger();
- } catch (n) {
- e || (e = n);
+ } catch (a) {
+ e || (e = a);
}
s = o;
}
}
if (e) throw e;
}
-function ki(e) {
+function _i(e) {
for (let s = e.deps; s; s = s.nextDep)
s.version = -1, s.prevActiveLink = s.dep.activeLink, s.dep.activeLink = s;
}
-function _i(e) {
- let s, o = e.depsTail, n = o;
- for (; n; ) {
- const l = n.prevDep;
- n.version === -1 ? (n === o && (o = l), Ha(n), hc(n)) : s = n, n.dep.activeLink = n.prevActiveLink, n.prevActiveLink = void 0, n = l;
+function bi(e) {
+ let s, o = e.depsTail, a = o;
+ for (; a; ) {
+ const l = a.prevDep;
+ a.version === -1 ? (a === o && (o = l), Ya(a), yc(a)) : s = a, a.dep.activeLink = a.prevActiveLink, a.prevActiveLink = void 0, a = l;
}
e.deps = s, e.depsTail = o;
}
-function ba(e) {
+function xa(e) {
for (let s = e.deps; s; s = s.nextDep)
- if (s.dep.version !== s.version || s.dep.computed && (bi(s.dep.computed) || s.dep.version !== s.version))
+ if (s.dep.version !== s.version || s.dep.computed && ($i(s.dep.computed) || s.dep.version !== s.version))
return !0;
return !!e._dirty;
}
-function bi(e) {
- if (e.flags & 4 && !(e.flags & 16) || (e.flags &= -17, e.globalVersion === Qo) || (e.globalVersion = Qo, !e.isSSR && e.flags & 128 && (!e.deps && !e._dirty || !ba(e))))
+function $i(e) {
+ if (e.flags & 4 && !(e.flags & 16) || (e.flags &= -17, e.globalVersion === Qo) || (e.globalVersion = Qo, !e.isSSR && e.flags & 128 && (!e.deps && !e._dirty || !xa(e))))
return;
e.flags |= 2;
- const s = e.dep, o = lt, n = es;
- lt = e, es = !0;
+ const s = e.dep, o = at, a = es;
+ at = e, es = !0;
try {
- ki(e);
+ _i(e);
const l = e.fn(e._value);
(s.version === 0 || zs(l, e._value)) && (e.flags |= 128, e._value = l, s.version++);
} catch (l) {
throw s.version++, l;
} finally {
- lt = o, es = n, _i(e), e.flags &= -3;
+ at = o, es = a, bi(e), e.flags &= -3;
}
}
-function Ha(e, s = !1) {
- const { dep: o, prevSub: n, nextSub: l } = e;
- if (n && (n.nextSub = l, e.prevSub = void 0), l && (l.prevSub = n, e.nextSub = void 0), o.subs === e && (o.subs = n, !n && o.computed)) {
+function Ya(e, s = !1) {
+ const { dep: o, prevSub: a, nextSub: l } = e;
+ if (a && (a.nextSub = l, e.prevSub = void 0), l && (l.prevSub = a, e.nextSub = void 0), o.subs === e && (o.subs = a, !a && o.computed)) {
o.computed.flags &= -5;
for (let r = o.computed.deps; r; r = r.nextDep)
- Ha(r, !0);
+ Ya(r, !0);
}
!s && !--o.sc && o.map && o.map.delete(o.key);
}
-function hc(e) {
+function yc(e) {
const { prevDep: s, nextDep: o } = e;
s && (s.nextDep = o, e.prevDep = void 0), o && (o.prevDep = s, e.nextDep = void 0);
}
let es = !0;
-const $i = [];
+const Ci = [];
function Es() {
- $i.push(es), es = !1;
+ Ci.push(es), es = !1;
}
function Ts() {
- const e = $i.pop();
+ const e = Ci.pop();
es = e === void 0 ? !0 : e;
}
-function ml(e) {
+function pl(e) {
const { cleanup: s } = e;
if (e.cleanup = void 0, s) {
- const o = lt;
- lt = void 0;
+ const o = at;
+ at = void 0;
try {
s();
} finally {
- lt = o;
+ at = o;
}
}
}
let Qo = 0;
-class yc {
+class wc {
constructor(s, o) {
this.sub = s, this.dep = o, this.version = o.version, this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;
}
}
-class Ka {
+class Ja {
// TODO isolatedDeclarations "__v_skip"
constructor(s) {
this.computed = s, this.version = 0, this.activeLink = void 0, this.subs = void 0, this.map = void 0, this.key = void 0, this.sc = 0, this.__v_skip = !0;
}
track(s) {
- if (!lt || !es || lt === this.computed)
+ if (!at || !es || at === this.computed)
return;
let o = this.activeLink;
- if (o === void 0 || o.sub !== lt)
- o = this.activeLink = new yc(lt, this), lt.deps ? (o.prevDep = lt.depsTail, lt.depsTail.nextDep = o, lt.depsTail = o) : lt.deps = lt.depsTail = o, Ci(o);
+ if (o === void 0 || o.sub !== at)
+ o = this.activeLink = new wc(at, this), at.deps ? (o.prevDep = at.depsTail, at.depsTail.nextDep = o, at.depsTail = o) : at.deps = at.depsTail = o, xi(o);
else if (o.version === -1 && (o.version = this.version, o.nextDep)) {
- const n = o.nextDep;
- n.prevDep = o.prevDep, o.prevDep && (o.prevDep.nextDep = n), o.prevDep = lt.depsTail, o.nextDep = void 0, lt.depsTail.nextDep = o, lt.depsTail = o, lt.deps === o && (lt.deps = n);
+ const a = o.nextDep;
+ a.prevDep = o.prevDep, o.prevDep && (o.prevDep.nextDep = a), o.prevDep = at.depsTail, o.nextDep = void 0, at.depsTail.nextDep = o, at.depsTail = o, at.deps === o && (at.deps = a);
}
return o;
}
@@ -405,44 +405,44 @@ class Ka {
this.version++, Qo++, this.notify(s);
}
notify(s) {
- Ga();
+ Ka();
try {
for (let o = this.subs; o; o = o.prevSub)
o.sub.notify() && o.sub.dep.notify();
} finally {
- ja();
+ qa();
}
}
}
-function Ci(e) {
+function xi(e) {
if (e.dep.sc++, e.sub.flags & 4) {
const s = e.dep.computed;
if (s && !e.dep.subs) {
s.flags |= 20;
- for (let n = s.deps; n; n = n.nextDep)
- Ci(n);
+ for (let a = s.deps; a; a = a.nextDep)
+ xi(a);
}
const o = e.dep.subs;
o !== e && (e.prevSub = o, o && (o.nextSub = e)), e.dep.subs = e;
}
}
-const $a = /* @__PURE__ */ new WeakMap(), eo = Symbol(
+const Sa = /* @__PURE__ */ new WeakMap(), eo = Symbol(
""
-), Ca = Symbol(
+), Ia = Symbol(
""
), Xo = Symbol(
""
);
function _t(e, s, o) {
- if (es && lt) {
- let n = $a.get(e);
- n || $a.set(e, n = /* @__PURE__ */ new Map());
- let l = n.get(o);
- l || (n.set(o, l = new Ka()), l.map = n, l.key = o), l.track();
+ if (es && at) {
+ let a = Sa.get(e);
+ a || Sa.set(e, a = /* @__PURE__ */ new Map());
+ let l = a.get(o);
+ l || (a.set(o, l = new Ja()), l.map = a, l.key = o), l.track();
}
}
-function xs(e, s, o, n, l, r) {
- const c = $a.get(e);
+function xs(e, s, o, a, l, r) {
+ const c = Sa.get(e);
if (!c) {
Qo++;
return;
@@ -450,52 +450,52 @@ function xs(e, s, o, n, l, r) {
const u = (d) => {
d && d.trigger();
};
- if (Ga(), s === "clear")
+ if (Ka(), s === "clear")
c.forEach(u);
else {
- const d = Be(e), m = d && Va(o);
+ const d = Fe(e), m = d && ja(o);
if (d && o === "length") {
- const v = Number(n);
+ const v = Number(a);
c.forEach((g, w) => {
(w === "length" || w === Xo || !ts(w) && w >= v) && u(g);
});
} else
switch ((o !== void 0 || c.has(void 0)) && u(c.get(o)), m && u(c.get(Xo)), s) {
case "add":
- d ? m && u(c.get("length")) : (u(c.get(eo)), go(e) && u(c.get(Ca)));
+ d ? m && u(c.get("length")) : (u(c.get(eo)), go(e) && u(c.get(Ia)));
break;
case "delete":
- d || (u(c.get(eo)), go(e) && u(c.get(Ca)));
+ d || (u(c.get(eo)), go(e) && u(c.get(Ia)));
break;
case "set":
go(e) && u(c.get(eo));
break;
}
}
- ja();
+ qa();
}
function ro(e) {
- const s = Xe(e);
+ const s = Qe(e);
return s === e ? s : (_t(s, "iterate", Xo), Gt(e) ? s : s.map(ss));
}
-function qn(e) {
- return _t(e = Xe(e), "iterate", Xo), e;
+function Qn(e) {
+ return _t(e = Qe(e), "iterate", Xo), e;
}
function Os(e, s) {
return Rs(e) ? to(e) ? _o(ss(s)) : _o(s) : ss(s);
}
-const wc = {
+const kc = {
__proto__: null,
[Symbol.iterator]() {
- return ia(this, Symbol.iterator, (e) => Os(this, e));
+ return ua(this, Symbol.iterator, (e) => Os(this, e));
},
concat(...e) {
return ro(this).concat(
- ...e.map((s) => Be(s) ? ro(s) : s)
+ ...e.map((s) => Fe(s) ? ro(s) : s)
);
},
entries() {
- return ia(this, "entries", (e) => (e[1] = Os(this, e[1]), e));
+ return ua(this, "entries", (e) => (e[1] = Os(this, e[1]), e));
},
every(e, s) {
return bs(this, "every", e, s, void 0, arguments);
@@ -506,7 +506,7 @@ const wc = {
"filter",
e,
s,
- (o) => o.map((n) => Os(this, n)),
+ (o) => o.map((a) => Os(this, a)),
arguments
);
},
@@ -541,17 +541,17 @@ const wc = {
return bs(this, "forEach", e, s, void 0, arguments);
},
includes(...e) {
- return ra(this, "includes", e);
+ return da(this, "includes", e);
},
indexOf(...e) {
- return ra(this, "indexOf", e);
+ return da(this, "indexOf", e);
},
join(e) {
return ro(this).join(e);
},
// keys() iterator only reads `length`, no optimization required
lastIndexOf(...e) {
- return ra(this, "lastIndexOf", e);
+ return da(this, "lastIndexOf", e);
},
map(e, s) {
return bs(this, "map", e, s, void 0, arguments);
@@ -563,10 +563,10 @@ const wc = {
return Po(this, "push", e);
},
reduce(e, ...s) {
- return vl(this, "reduce", e, s);
+ return gl(this, "reduce", e, s);
},
reduceRight(e, ...s) {
- return vl(this, "reduceRight", e, s);
+ return gl(this, "reduceRight", e, s);
},
shift() {
return Po(this, "shift");
@@ -591,20 +591,20 @@ const wc = {
return Po(this, "unshift", e);
},
values() {
- return ia(this, "values", (e) => Os(this, e));
+ return ua(this, "values", (e) => Os(this, e));
}
};
-function ia(e, s, o) {
- const n = qn(e), l = n[s]();
- return n !== e && !Gt(e) && (l._next = l.next, l.next = () => {
+function ua(e, s, o) {
+ const a = Qn(e), l = a[s]();
+ return a !== e && !Gt(e) && (l._next = l.next, l.next = () => {
const r = l._next();
return r.done || (r.value = o(r.value)), r;
}), l;
}
-const kc = Array.prototype;
-function bs(e, s, o, n, l, r) {
- const c = qn(e), u = c !== e && !Gt(e), d = c[s];
- if (d !== kc[s]) {
+const _c = Array.prototype;
+function bs(e, s, o, a, l, r) {
+ const c = Qn(e), u = c !== e && !Gt(e), d = c[s];
+ if (d !== _c[s]) {
const g = d.apply(e, r);
return u ? ss(g) : g;
}
@@ -614,42 +614,42 @@ function bs(e, s, o, n, l, r) {
} : o.length > 2 && (m = function(g, w) {
return o.call(this, g, w, e);
}));
- const v = d.call(c, m, n);
+ const v = d.call(c, m, a);
return u && l ? l(v) : v;
}
-function vl(e, s, o, n) {
- const l = qn(e);
+function gl(e, s, o, a) {
+ const l = Qn(e);
let r = o;
return l !== e && (Gt(e) ? o.length > 3 && (r = function(c, u, d) {
return o.call(this, c, u, d, e);
}) : r = function(c, u, d) {
return o.call(this, c, Os(e, u), d, e);
- }), l[s](r, ...n);
+ }), l[s](r, ...a);
}
-function ra(e, s, o) {
- const n = Xe(e);
- _t(n, "iterate", Xo);
- const l = n[s](...o);
- return (l === -1 || l === !1) && Ja(o[0]) ? (o[0] = Xe(o[0]), n[s](...o)) : l;
+function da(e, s, o) {
+ const a = Qe(e);
+ _t(a, "iterate", Xo);
+ const l = a[s](...o);
+ return (l === -1 || l === !1) && Za(o[0]) ? (o[0] = Qe(o[0]), a[s](...o)) : l;
}
function Po(e, s, o = []) {
- Es(), Ga();
- const n = Xe(e)[s].apply(e, o);
- return ja(), Ts(), n;
+ Es(), Ka();
+ const a = Qe(e)[s].apply(e, o);
+ return qa(), Ts(), a;
}
-const _c = /* @__PURE__ */ za("__proto__,__v_isRef,__isVue"), xi = new Set(
+const bc = /* @__PURE__ */ Ba("__proto__,__v_isRef,__isVue"), Si = new Set(
/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((e) => e !== "arguments" && e !== "caller").map((e) => Symbol[e]).filter(ts)
);
-function bc(e) {
+function $c(e) {
ts(e) || (e = String(e));
- const s = Xe(this);
+ const s = Qe(this);
return _t(s, "has", e), s.hasOwnProperty(e);
}
-class Si {
+class Ii {
constructor(s = !1, o = !1) {
this._isReadonly = s, this._isShallow = o;
}
- get(s, o, n) {
+ get(s, o, a) {
if (o === "__v_skip") return s.__v_skip;
const l = this._isReadonly, r = this._isShallow;
if (o === "__v_isReactive")
@@ -659,16 +659,16 @@ class Si {
if (o === "__v_isShallow")
return r;
if (o === "__v_raw")
- return n === (l ? r ? Mc : Ri : r ? Ti : Ei).get(s) || // receiver is not the reactive proxy, but has the same prototype
+ return a === (l ? r ? Dc : Pi : r ? Ri : Ti).get(s) || // receiver is not the reactive proxy, but has the same prototype
// this means the receiver is a user proxy of the reactive proxy
- Object.getPrototypeOf(s) === Object.getPrototypeOf(n) ? s : void 0;
- const c = Be(s);
+ Object.getPrototypeOf(s) === Object.getPrototypeOf(a) ? s : void 0;
+ const c = Fe(s);
if (!l) {
let d;
- if (c && (d = wc[o]))
+ if (c && (d = kc[o]))
return d;
if (o === "hasOwnProperty")
- return bc;
+ return $c;
}
const u = Reflect.get(
s,
@@ -676,56 +676,56 @@ class Si {
// if this is a proxy wrapping a ref, return methods using the raw ref
// as receiver so that we don't have to call `toRaw` on the ref in all
// its class methods
- Ct(s) ? s : n
+ Ct(s) ? s : a
);
- if ((ts(o) ? xi.has(o) : _c(o)) || (l || _t(s, "get", o), r))
+ if ((ts(o) ? Si.has(o) : bc(o)) || (l || _t(s, "get", o), r))
return u;
if (Ct(u)) {
- const d = c && Va(o) ? u : u.value;
- return l && ot(d) ? Mn(d) : d;
+ const d = c && ja(o) ? u : u.value;
+ return l && st(d) ? Ln(d) : d;
}
- return ot(u) ? l ? Mn(u) : Ws(u) : u;
+ return st(u) ? l ? Ln(u) : Ws(u) : u;
}
}
-class Ii extends Si {
+class Ei extends Ii {
constructor(s = !1) {
super(!1, s);
}
- set(s, o, n, l) {
+ set(s, o, a, l) {
let r = s[o];
- const c = Be(s) && Va(o);
+ const c = Fe(s) && ja(o);
if (!this._isShallow) {
const m = Rs(r);
- if (!Gt(n) && !Rs(n) && (r = Xe(r), n = Xe(n)), !c && Ct(r) && !Ct(n))
- return m || (r.value = n), !0;
+ if (!Gt(a) && !Rs(a) && (r = Qe(r), a = Qe(a)), !c && Ct(r) && !Ct(a))
+ return m || (r.value = a), !0;
}
const u = c ? Number(o) < s.length : et(s, o), d = Reflect.set(
s,
o,
- n,
+ a,
Ct(s) ? s : l
);
- return s === Xe(l) && (u ? zs(n, r) && xs(s, "set", o, n) : xs(s, "add", o, n)), d;
+ return s === Qe(l) && (u ? zs(a, r) && xs(s, "set", o, a) : xs(s, "add", o, a)), d;
}
deleteProperty(s, o) {
- const n = et(s, o);
+ const a = et(s, o);
s[o];
const l = Reflect.deleteProperty(s, o);
- return l && n && xs(s, "delete", o, void 0), l;
+ return l && a && xs(s, "delete", o, void 0), l;
}
has(s, o) {
- const n = Reflect.has(s, o);
- return (!ts(o) || !xi.has(o)) && _t(s, "has", o), n;
+ const a = Reflect.has(s, o);
+ return (!ts(o) || !Si.has(o)) && _t(s, "has", o), a;
}
ownKeys(s) {
return _t(
s,
"iterate",
- Be(s) ? "length" : eo
+ Fe(s) ? "length" : eo
), Reflect.ownKeys(s);
}
}
-class $c extends Si {
+class Cc extends Ii {
constructor(s = !1) {
super(!0, s);
}
@@ -736,15 +736,15 @@ class $c extends Si {
return !0;
}
}
-const Cc = /* @__PURE__ */ new Ii(), xc = /* @__PURE__ */ new $c(), Sc = /* @__PURE__ */ new Ii(!0);
-const xa = (e) => e, pn = (e) => Reflect.getPrototypeOf(e);
-function Ic(e, s, o) {
- return function(...n) {
- const l = this.__v_raw, r = Xe(l), c = go(r), u = e === "entries" || e === Symbol.iterator && c, d = e === "keys" && c, m = l[e](...n), v = o ? xa : s ? _o : ss;
+const xc = /* @__PURE__ */ new Ei(), Sc = /* @__PURE__ */ new Cc(), Ic = /* @__PURE__ */ new Ei(!0);
+const Ea = (e) => e, hn = (e) => Reflect.getPrototypeOf(e);
+function Ec(e, s, o) {
+ return function(...a) {
+ const l = this.__v_raw, r = Qe(l), c = go(r), u = e === "entries" || e === Symbol.iterator && c, d = e === "keys" && c, m = l[e](...a), v = o ? Ea : s ? _o : ss;
return !s && _t(
r,
"iterate",
- d ? Ca : eo
+ d ? Ia : eo
), {
// iterator protocol
next() {
@@ -761,17 +761,17 @@ function Ic(e, s, o) {
};
};
}
-function gn(e) {
+function yn(e) {
return function(...s) {
return e === "delete" ? !1 : e === "clear" ? void 0 : this;
};
}
-function Ec(e, s) {
+function Tc(e, s) {
const o = {
get(l) {
- const r = this.__v_raw, c = Xe(r), u = Xe(l);
+ const r = this.__v_raw, c = Qe(r), u = Qe(l);
e || (zs(l, u) && _t(c, "get", l), _t(c, "get", u));
- const { has: d } = pn(c), m = s ? xa : e ? _o : ss;
+ const { has: d } = hn(c), m = s ? Ea : e ? _o : ss;
if (d.call(c, l))
return m(r.get(l));
if (d.call(c, u))
@@ -780,47 +780,47 @@ function Ec(e, s) {
},
get size() {
const l = this.__v_raw;
- return !e && _t(Xe(l), "iterate", eo), l.size;
+ return !e && _t(Qe(l), "iterate", eo), l.size;
},
has(l) {
- const r = this.__v_raw, c = Xe(r), u = Xe(l);
+ const r = this.__v_raw, c = Qe(r), u = Qe(l);
return e || (zs(l, u) && _t(c, "has", l), _t(c, "has", u)), l === u ? r.has(l) : r.has(l) || r.has(u);
},
forEach(l, r) {
- const c = this, u = c.__v_raw, d = Xe(u), m = s ? xa : e ? _o : ss;
+ const c = this, u = c.__v_raw, d = Qe(u), m = s ? Ea : e ? _o : ss;
return !e && _t(d, "iterate", eo), u.forEach((v, g) => l.call(r, m(v), m(g), c));
}
};
return pt(
o,
e ? {
- add: gn("add"),
- set: gn("set"),
- delete: gn("delete"),
- clear: gn("clear")
+ add: yn("add"),
+ set: yn("set"),
+ delete: yn("delete"),
+ clear: yn("clear")
} : {
add(l) {
- !s && !Gt(l) && !Rs(l) && (l = Xe(l));
- const r = Xe(this);
- return pn(r).has.call(r, l) || (r.add(l), xs(r, "add", l, l)), this;
+ !s && !Gt(l) && !Rs(l) && (l = Qe(l));
+ const r = Qe(this);
+ return hn(r).has.call(r, l) || (r.add(l), xs(r, "add", l, l)), this;
},
set(l, r) {
- !s && !Gt(r) && !Rs(r) && (r = Xe(r));
- const c = Xe(this), { has: u, get: d } = pn(c);
+ !s && !Gt(r) && !Rs(r) && (r = Qe(r));
+ const c = Qe(this), { has: u, get: d } = hn(c);
let m = u.call(c, l);
- m || (l = Xe(l), m = u.call(c, l));
+ m || (l = Qe(l), m = u.call(c, l));
const v = d.call(c, l);
return c.set(l, r), m ? zs(r, v) && xs(c, "set", l, r) : xs(c, "add", l, r), this;
},
delete(l) {
- const r = Xe(this), { has: c, get: u } = pn(r);
+ const r = Qe(this), { has: c, get: u } = hn(r);
let d = c.call(r, l);
- d || (l = Xe(l), d = c.call(r, l)), u && u.call(r, l);
+ d || (l = Qe(l), d = c.call(r, l)), u && u.call(r, l);
const m = r.delete(l);
return d && xs(r, "delete", l, void 0), m;
},
clear() {
- const l = Xe(this), r = l.size !== 0, c = l.clear();
+ const l = Qe(this), r = l.size !== 0, c = l.clear();
return r && xs(
l,
"clear",
@@ -835,26 +835,26 @@ function Ec(e, s) {
"entries",
Symbol.iterator
].forEach((l) => {
- o[l] = Ic(l, e, s);
+ o[l] = Ec(l, e, s);
}), o;
}
-function qa(e, s) {
- const o = Ec(e, s);
- return (n, l, r) => l === "__v_isReactive" ? !e : l === "__v_isReadonly" ? e : l === "__v_raw" ? n : Reflect.get(
- et(o, l) && l in n ? o : n,
+function Qa(e, s) {
+ const o = Tc(e, s);
+ return (a, l, r) => l === "__v_isReactive" ? !e : l === "__v_isReadonly" ? e : l === "__v_raw" ? a : Reflect.get(
+ et(o, l) && l in a ? o : a,
l,
r
);
}
-const Tc = {
- get: /* @__PURE__ */ qa(!1, !1)
-}, Rc = {
- get: /* @__PURE__ */ qa(!1, !0)
+const Rc = {
+ get: /* @__PURE__ */ Qa(!1, !1)
}, Pc = {
- get: /* @__PURE__ */ qa(!0, !1)
+ get: /* @__PURE__ */ Qa(!1, !0)
+}, Mc = {
+ get: /* @__PURE__ */ Qa(!0, !1)
};
-const Ei = /* @__PURE__ */ new WeakMap(), Ti = /* @__PURE__ */ new WeakMap(), Ri = /* @__PURE__ */ new WeakMap(), Mc = /* @__PURE__ */ new WeakMap();
-function Dc(e) {
+const Ti = /* @__PURE__ */ new WeakMap(), Ri = /* @__PURE__ */ new WeakMap(), Pi = /* @__PURE__ */ new WeakMap(), Dc = /* @__PURE__ */ new WeakMap();
+function Lc(e) {
switch (e) {
case "Object":
case "Array":
@@ -868,40 +868,40 @@ function Dc(e) {
return 0;
}
}
-function Lc(e) {
- return e.__v_skip || !Object.isExtensible(e) ? 0 : Dc(nc(e));
+function Ac(e) {
+ return e.__v_skip || !Object.isExtensible(e) ? 0 : Lc(ac(e));
}
function Ws(e) {
- return Rs(e) ? e : Ya(
+ return Rs(e) ? e : Xa(
e,
!1,
- Cc,
- Tc,
- Ei
+ xc,
+ Rc,
+ Ti
);
}
-function Ac(e) {
- return Ya(
+function Oc(e) {
+ return Xa(
e,
!1,
- Sc,
- Rc,
- Ti
+ Ic,
+ Pc,
+ Ri
);
}
-function Mn(e) {
- return Ya(
+function Ln(e) {
+ return Xa(
e,
!0,
- xc,
- Pc,
- Ri
+ Sc,
+ Mc,
+ Pi
);
}
-function Ya(e, s, o, n, l) {
- if (!ot(e) || e.__v_raw && !(s && e.__v_isReactive))
+function Xa(e, s, o, a, l) {
+ if (!st(e) || e.__v_raw && !(s && e.__v_isReactive))
return e;
- const r = Lc(e);
+ const r = Ac(e);
if (r === 0)
return e;
const c = l.get(e);
@@ -909,7 +909,7 @@ function Ya(e, s, o, n, l) {
return c;
const u = new Proxy(
e,
- r === 2 ? n : o
+ r === 2 ? a : o
);
return l.set(e, u), u;
}
@@ -922,94 +922,94 @@ function Rs(e) {
function Gt(e) {
return !!(e && e.__v_isShallow);
}
-function Ja(e) {
+function Za(e) {
return e ? !!e.__v_raw : !1;
}
-function Xe(e) {
+function Qe(e) {
const s = e && e.__v_raw;
- return s ? Xe(s) : e;
+ return s ? Qe(s) : e;
}
-function Oc(e) {
- return !et(e, "__v_skip") && Object.isExtensible(e) && mi(e, "__v_skip", !0), e;
+function Nc(e) {
+ return !et(e, "__v_skip") && Object.isExtensible(e) && vi(e, "__v_skip", !0), e;
}
-const ss = (e) => ot(e) ? Ws(e) : e, _o = (e) => ot(e) ? Mn(e) : e;
+const ss = (e) => st(e) ? Ws(e) : e, _o = (e) => st(e) ? Ln(e) : e;
function Ct(e) {
return e ? e.__v_isRef === !0 : !1;
}
function _(e) {
- return Nc(e, !1);
+ return Uc(e, !1);
}
-function Nc(e, s) {
- return Ct(e) ? e : new Uc(e, s);
+function Uc(e, s) {
+ return Ct(e) ? e : new zc(e, s);
}
-class Uc {
+class zc {
constructor(s, o) {
- this.dep = new Ka(), this.__v_isRef = !0, this.__v_isShallow = !1, this._rawValue = o ? s : Xe(s), this._value = o ? s : ss(s), this.__v_isShallow = o;
+ this.dep = new Ja(), this.__v_isRef = !0, this.__v_isShallow = !1, this._rawValue = o ? s : Qe(s), this._value = o ? s : ss(s), this.__v_isShallow = o;
}
get value() {
return this.dep.track(), this._value;
}
set value(s) {
- const o = this._rawValue, n = this.__v_isShallow || Gt(s) || Rs(s);
- s = n ? s : Xe(s), zs(s, o) && (this._rawValue = s, this._value = n ? s : ss(s), this.dep.trigger());
+ const o = this._rawValue, a = this.__v_isShallow || Gt(s) || Rs(s);
+ s = a ? s : Qe(s), zs(s, o) && (this._rawValue = s, this._value = a ? s : ss(s), this.dep.trigger());
}
}
-function We(e) {
+function Be(e) {
return Ct(e) ? e.value : e;
}
-const zc = {
- get: (e, s, o) => s === "__v_raw" ? e : We(Reflect.get(e, s, o)),
- set: (e, s, o, n) => {
+const Fc = {
+ get: (e, s, o) => s === "__v_raw" ? e : Be(Reflect.get(e, s, o)),
+ set: (e, s, o, a) => {
const l = e[s];
- return Ct(l) && !Ct(o) ? (l.value = o, !0) : Reflect.set(e, s, o, n);
+ return Ct(l) && !Ct(o) ? (l.value = o, !0) : Reflect.set(e, s, o, a);
}
};
-function Pi(e) {
- return to(e) ? e : new Proxy(e, zc);
+function Mi(e) {
+ return to(e) ? e : new Proxy(e, Fc);
}
-class Fc {
- constructor(s, o, n) {
- this.fn = s, this.setter = o, this._value = void 0, this.dep = new Ka(this), this.__v_isRef = !0, this.deps = void 0, this.depsTail = void 0, this.flags = 16, this.globalVersion = Qo - 1, this.next = void 0, this.effect = this, this.__v_isReadonly = !o, this.isSSR = n;
+class Vc {
+ constructor(s, o, a) {
+ this.fn = s, this.setter = o, this._value = void 0, this.dep = new Ja(this), this.__v_isRef = !0, this.deps = void 0, this.depsTail = void 0, this.flags = 16, this.globalVersion = Qo - 1, this.next = void 0, this.effect = this, this.__v_isReadonly = !o, this.isSSR = a;
}
/**
* @internal
*/
notify() {
if (this.flags |= 16, !(this.flags & 8) && // avoid infinite self recursion
- lt !== this)
- return wi(this, !0), !0;
+ at !== this)
+ return ki(this, !0), !0;
}
get value() {
const s = this.dep.track();
- return bi(this), s && (s.version = this.dep.version), this._value;
+ return $i(this), s && (s.version = this.dep.version), this._value;
}
set value(s) {
this.setter && this.setter(s);
}
}
function Bc(e, s, o = !1) {
- let n, l;
- return Ge(e) ? n = e : (n = e.get, l = e.set), new Fc(n, l, o);
+ let a, l;
+ return We(e) ? a = e : (a = e.get, l = e.set), new Vc(a, l, o);
}
-const hn = {}, Dn = /* @__PURE__ */ new WeakMap();
+const wn = {}, An = /* @__PURE__ */ new WeakMap();
let Xs;
-function Vc(e, s = !1, o = Xs) {
+function Wc(e, s = !1, o = Xs) {
if (o) {
- let n = Dn.get(o);
- n || Dn.set(o, n = []), n.push(e);
+ let a = An.get(o);
+ a || An.set(o, a = []), a.push(e);
}
}
-function Wc(e, s, o = nt) {
- const { immediate: n, deep: l, once: r, scheduler: c, augmentJob: u, call: d } = o, m = (E) => l ? E : Gt(E) || l === !1 || l === 0 ? Ss(E, 1) : Ss(E);
+function Gc(e, s, o = ot) {
+ const { immediate: a, deep: l, once: r, scheduler: c, augmentJob: u, call: d } = o, m = (T) => l ? T : Gt(T) || l === !1 || l === 0 ? Ss(T, 1) : Ss(T);
let v, g, w, p, k = !1, C = !1;
- if (Ct(e) ? (g = () => e.value, k = Gt(e)) : to(e) ? (g = () => m(e), k = !0) : Be(e) ? (C = !0, k = e.some((E) => to(E) || Gt(E)), g = () => e.map((E) => {
- if (Ct(E))
- return E.value;
- if (to(E))
- return m(E);
- if (Ge(E))
- return d ? d(E, 2) : E();
- })) : Ge(e) ? s ? g = d ? () => d(e, 2) : e : g = () => {
+ if (Ct(e) ? (g = () => e.value, k = Gt(e)) : to(e) ? (g = () => m(e), k = !0) : Fe(e) ? (C = !0, k = e.some((T) => to(T) || Gt(T)), g = () => e.map((T) => {
+ if (Ct(T))
+ return T.value;
+ if (to(T))
+ return m(T);
+ if (We(T))
+ return d ? d(T, 2) : T();
+ })) : We(e) ? s ? g = d ? () => d(e, 2) : e : g = () => {
if (w) {
Es();
try {
@@ -1018,81 +1018,81 @@ function Wc(e, s, o = nt) {
Ts();
}
}
- const E = Xs;
+ const T = Xs;
Xs = v;
try {
return d ? d(e, 3, [p]) : e(p);
} finally {
- Xs = E;
+ Xs = T;
}
} : g = gs, s && l) {
- const E = g, U = l === !0 ? 1 / 0 : l;
- g = () => Ss(E(), U);
+ const T = g, L = l === !0 ? 1 / 0 : l;
+ g = () => Ss(T(), L);
}
- const b = gc(), T = () => {
- v.stop(), b && b.active && Ba(b.effects, v);
+ const b = hc(), x = () => {
+ v.stop(), b && b.active && Ga(b.effects, v);
};
if (r && s) {
- const E = s;
- s = (...U) => {
- E(...U), T();
+ const T = s;
+ s = (...L) => {
+ T(...L), x();
};
}
- let D = C ? new Array(e.length).fill(hn) : hn;
- const P = (E) => {
- if (!(!(v.flags & 1) || !v.dirty && !E))
+ let M = C ? new Array(e.length).fill(wn) : wn;
+ const P = (T) => {
+ if (!(!(v.flags & 1) || !v.dirty && !T))
if (s) {
- const U = v.run();
- if (l || k || (C ? U.some((B, V) => zs(B, D[V])) : zs(U, D))) {
+ const L = v.run();
+ if (l || k || (C ? L.some((V, B) => zs(V, M[B])) : zs(L, M))) {
w && w();
- const B = Xs;
+ const V = Xs;
Xs = v;
try {
- const V = [
- U,
+ const B = [
+ L,
// pass undefined as the old value when it's changed for the first time
- D === hn ? void 0 : C && D[0] === hn ? [] : D,
+ M === wn ? void 0 : C && M[0] === wn ? [] : M,
p
];
- D = U, d ? d(s, 3, V) : (
+ M = L, d ? d(s, 3, B) : (
// @ts-expect-error
- s(...V)
+ s(...B)
);
} finally {
- Xs = B;
+ Xs = V;
}
}
} else
v.run();
};
- return u && u(P), v = new hi(g), v.scheduler = c ? () => c(P, !1) : P, p = (E) => Vc(E, !1, v), w = v.onStop = () => {
- const E = Dn.get(v);
- if (E) {
+ return u && u(P), v = new yi(g), v.scheduler = c ? () => c(P, !1) : P, p = (T) => Wc(T, !1, v), w = v.onStop = () => {
+ const T = An.get(v);
+ if (T) {
if (d)
- d(E, 4);
+ d(T, 4);
else
- for (const U of E) U();
- Dn.delete(v);
+ for (const L of T) L();
+ An.delete(v);
}
- }, s ? n ? P(!0) : D = v.run() : c ? c(P.bind(null, !0), !0) : v.run(), T.pause = v.pause.bind(v), T.resume = v.resume.bind(v), T.stop = T, T;
+ }, s ? a ? P(!0) : M = v.run() : c ? c(P.bind(null, !0), !0) : v.run(), x.pause = v.pause.bind(v), x.resume = v.resume.bind(v), x.stop = x, x;
}
function Ss(e, s = 1 / 0, o) {
- if (s <= 0 || !ot(e) || e.__v_skip || (o = o || /* @__PURE__ */ new Map(), (o.get(e) || 0) >= s))
+ if (s <= 0 || !st(e) || e.__v_skip || (o = o || /* @__PURE__ */ new Map(), (o.get(e) || 0) >= s))
return e;
if (o.set(e, s), s--, Ct(e))
Ss(e.value, s, o);
- else if (Be(e))
- for (let n = 0; n < e.length; n++)
- Ss(e[n], s, o);
+ else if (Fe(e))
+ for (let a = 0; a < e.length; a++)
+ Ss(e[a], s, o);
else if (Co(e) || go(e))
- e.forEach((n) => {
- Ss(n, s, o);
+ e.forEach((a) => {
+ Ss(a, s, o);
});
- else if (fi(e)) {
- for (const n in e)
- Ss(e[n], s, o);
- for (const n of Object.getOwnPropertySymbols(e))
- Object.prototype.propertyIsEnumerable.call(e, n) && Ss(e[n], s, o);
+ else if (mi(e)) {
+ for (const a in e)
+ Ss(e[a], s, o);
+ for (const a of Object.getOwnPropertySymbols(e))
+ Object.prototype.propertyIsEnumerable.call(e, a) && Ss(e[a], s, o);
}
return e;
}
@@ -1101,29 +1101,29 @@ function Ss(e, s = 1 / 0, o) {
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
-function ln(e, s, o, n) {
+function rn(e, s, o, a) {
try {
- return n ? e(...n) : e();
+ return a ? e(...a) : e();
} catch (l) {
- Yn(l, s, o);
+ Xn(l, s, o);
}
}
-function os(e, s, o, n) {
- if (Ge(e)) {
- const l = ln(e, s, o, n);
- return l && ui(l) && l.catch((r) => {
- Yn(r, s, o);
+function os(e, s, o, a) {
+ if (We(e)) {
+ const l = rn(e, s, o, a);
+ return l && di(l) && l.catch((r) => {
+ Xn(r, s, o);
}), l;
}
- if (Be(e)) {
+ if (Fe(e)) {
const l = [];
for (let r = 0; r < e.length; r++)
- l.push(os(e[r], s, o, n));
+ l.push(os(e[r], s, o, a));
return l;
}
}
-function Yn(e, s, o, n = !0) {
- const l = s ? s.vnode : null, { errorHandler: r, throwUnhandledErrorInProduction: c } = s && s.appContext.config || nt;
+function Xn(e, s, o, a = !0) {
+ const l = s ? s.vnode : null, { errorHandler: r, throwUnhandledErrorInProduction: c } = s && s.appContext.config || ot;
if (s) {
let u = s.parent;
const d = s.proxy, m = `https://vuejs.org/error-reference/#runtime-${o}`;
@@ -1137,7 +1137,7 @@ function Yn(e, s, o, n = !0) {
u = u.parent;
}
if (r) {
- Es(), ln(r, null, 10, [
+ Es(), rn(r, null, 10, [
e,
d,
m
@@ -1145,9 +1145,9 @@ function Yn(e, s, o, n = !0) {
return;
}
}
- Gc(e, o, l, n, c);
+ jc(e, o, l, a, c);
}
-function Gc(e, s, o, n = !0, l = !1) {
+function jc(e, s, o, a = !0, l = !1) {
if (l)
throw e;
console.error(e);
@@ -1156,47 +1156,47 @@ const Rt = [];
let ms = -1;
const ho = [];
let Ns = null, fo = 0;
-const Mi = /* @__PURE__ */ Promise.resolve();
-let Ln = null;
+const Di = /* @__PURE__ */ Promise.resolve();
+let On = null;
function gt(e) {
- const s = Ln || Mi;
+ const s = On || Di;
return e ? s.then(this ? e.bind(this) : e) : s;
}
-function jc(e) {
+function Hc(e) {
let s = ms + 1, o = Rt.length;
for (; s < o; ) {
- const n = s + o >>> 1, l = Rt[n], r = Zo(l);
- r < e || r === e && l.flags & 2 ? s = n + 1 : o = n;
+ const a = s + o >>> 1, l = Rt[a], r = Zo(l);
+ r < e || r === e && l.flags & 2 ? s = a + 1 : o = a;
}
return s;
}
-function Qa(e) {
+function el(e) {
if (!(e.flags & 1)) {
const s = Zo(e), o = Rt[Rt.length - 1];
!o || // fast path when the job id is larger than the tail
- !(e.flags & 2) && s >= Zo(o) ? Rt.push(e) : Rt.splice(jc(s), 0, e), e.flags |= 1, Di();
+ !(e.flags & 2) && s >= Zo(o) ? Rt.push(e) : Rt.splice(Hc(s), 0, e), e.flags |= 1, Li();
}
}
-function Di() {
- Ln || (Ln = Mi.then(Ai));
+function Li() {
+ On || (On = Di.then(Oi));
}
-function Hc(e) {
- Be(e) ? ho.push(...e) : Ns && e.id === -1 ? Ns.splice(fo + 1, 0, e) : e.flags & 1 || (ho.push(e), e.flags |= 1), Di();
+function Kc(e) {
+ Fe(e) ? ho.push(...e) : Ns && e.id === -1 ? Ns.splice(fo + 1, 0, e) : e.flags & 1 || (ho.push(e), e.flags |= 1), Li();
}
-function pl(e, s, o = ms + 1) {
+function hl(e, s, o = ms + 1) {
for (; o < Rt.length; o++) {
- const n = Rt[o];
- if (n && n.flags & 2) {
- if (e && n.id !== e.uid)
+ const a = Rt[o];
+ if (a && a.flags & 2) {
+ if (e && a.id !== e.uid)
continue;
- Rt.splice(o, 1), o--, n.flags & 4 && (n.flags &= -2), n(), n.flags & 4 || (n.flags &= -2);
+ Rt.splice(o, 1), o--, a.flags & 4 && (a.flags &= -2), a(), a.flags & 4 || (a.flags &= -2);
}
}
}
-function Li(e) {
+function Ai(e) {
if (ho.length) {
const s = [...new Set(ho)].sort(
- (o, n) => Zo(o) - Zo(n)
+ (o, a) => Zo(o) - Zo(a)
);
if (ho.length = 0, Ns) {
Ns.push(...s);
@@ -1210,11 +1210,11 @@ function Li(e) {
}
}
const Zo = (e) => e.id == null ? e.flags & 2 ? -1 : 1 / 0 : e.id;
-function Ai(e) {
+function Oi(e) {
try {
for (ms = 0; ms < Rt.length; ms++) {
const s = Rt[ms];
- s && !(s.flags & 8) && (s.flags & 4 && (s.flags &= -2), ln(
+ s && !(s.flags & 8) && (s.flags & 4 && (s.flags &= -2), rn(
s,
s.i,
s.i ? 15 : 14
@@ -1225,40 +1225,40 @@ function Ai(e) {
const s = Rt[ms];
s && (s.flags &= -2);
}
- ms = -1, Rt.length = 0, Li(), Ln = null, (Rt.length || ho.length) && Ai();
+ ms = -1, Rt.length = 0, Ai(), On = null, (Rt.length || ho.length) && Oi();
}
}
-let wt = null, Oi = null;
-function An(e) {
+let wt = null, Ni = null;
+function Nn(e) {
const s = wt;
- return wt = e, Oi = e && e.type.__scopeId || null, s;
+ return wt = e, Ni = e && e.type.__scopeId || null, s;
}
function h(e, s = wt, o) {
if (!s || e._n)
return e;
- const n = (...l) => {
- n._d && Un(-1);
- const r = An(s);
+ const a = (...l) => {
+ a._d && Fn(-1);
+ const r = Nn(s);
let c;
try {
c = e(...l);
} finally {
- An(r), n._d && Un(1);
+ Nn(r), a._d && Fn(1);
}
return c;
};
- return n._n = !0, n._c = !0, n._d = !0, n;
+ return a._n = !0, a._c = !0, a._d = !0, a;
}
-function qe(e, s) {
+function Ke(e, s) {
if (wt === null)
return e;
- const o = ea(wt), n = e.dirs || (e.dirs = []);
+ const o = oa(wt), a = e.dirs || (e.dirs = []);
for (let l = 0; l < s.length; l++) {
- let [r, c, u, d = nt] = s[l];
- r && (Ge(r) && (r = {
+ let [r, c, u, d = ot] = s[l];
+ r && (We(r) && (r = {
mounted: r,
updated: r
- }), r.deep && Ss(c), n.push({
+ }), r.deep && Ss(c), a.push({
dir: r,
instance: o,
value: c,
@@ -1269,12 +1269,12 @@ function qe(e, s) {
}
return e;
}
-function qs(e, s, o, n) {
+function qs(e, s, o, a) {
const l = e.dirs, r = s && s.dirs;
for (let c = 0; c < l.length; c++) {
const u = l[c];
r && (u.oldValue = r[c].value);
- let d = u.dir[n];
+ let d = u.dir[a];
d && (Es(), os(d, o, 8, [
e.el,
u,
@@ -1283,49 +1283,49 @@ function qs(e, s, o, n) {
]), Ts());
}
}
-const Ni = Symbol("_vte"), Ui = (e) => e.__isTeleport, Wo = (e) => e && (e.disabled || e.disabled === ""), gl = (e) => e && (e.defer || e.defer === ""), hl = (e) => typeof SVGElement < "u" && e instanceof SVGElement, yl = (e) => typeof MathMLElement == "function" && e instanceof MathMLElement, Sa = (e, s) => {
+const Ui = Symbol("_vte"), zi = (e) => e.__isTeleport, Wo = (e) => e && (e.disabled || e.disabled === ""), yl = (e) => e && (e.defer || e.defer === ""), wl = (e) => typeof SVGElement < "u" && e instanceof SVGElement, kl = (e) => typeof MathMLElement == "function" && e instanceof MathMLElement, Ta = (e, s) => {
const o = e && e.to;
return ut(o) ? s ? s(o) : null : o;
-}, zi = {
+}, Fi = {
name: "Teleport",
__isTeleport: !0,
- process(e, s, o, n, l, r, c, u, d, m) {
+ process(e, s, o, a, l, r, c, u, d, m) {
const {
mc: v,
pc: g,
pbc: w,
o: { insert: p, querySelector: k, createText: C, createComment: b }
- } = m, T = Wo(s.props);
- let { shapeFlag: D, children: P, dynamicChildren: E } = s;
+ } = m, x = Wo(s.props);
+ let { shapeFlag: M, children: P, dynamicChildren: T } = s;
if (e == null) {
- const U = s.el = C(""), B = s.anchor = C("");
- p(U, o, n), p(B, o, n);
- const V = (I, L) => {
- D & 16 && v(
+ const L = s.el = C(""), V = s.anchor = C("");
+ p(L, o, a), p(V, o, a);
+ const B = (I, A) => {
+ M & 16 && v(
P,
I,
- L,
+ A,
l,
r,
c,
u,
d
);
- }, S = () => {
- const I = s.target = Sa(s.props, k), L = Fi(I, s, C, p);
- I && (c !== "svg" && hl(I) ? c = "svg" : c !== "mathml" && yl(I) && (c = "mathml"), l && l.isCE && (l.ce._teleportTargets || (l.ce._teleportTargets = /* @__PURE__ */ new Set())).add(I), T || (V(I, L), Sn(s, !1)));
+ }, E = () => {
+ const I = s.target = Ta(s.props, k), A = Vi(I, s, C, p);
+ I && (c !== "svg" && wl(I) ? c = "svg" : c !== "mathml" && kl(I) && (c = "mathml"), l && l.isCE && (l.ce._teleportTargets || (l.ce._teleportTargets = /* @__PURE__ */ new Set())).add(I), x || (B(I, A), En(s, !1)));
};
- T && (V(o, B), Sn(s, !0)), gl(s.props) ? (s.el.__isMounted = !1, Et(() => {
- S(), delete s.el.__isMounted;
- }, r)) : S();
+ x && (B(o, V), En(s, !0)), yl(s.props) ? (s.el.__isMounted = !1, Et(() => {
+ E(), delete s.el.__isMounted;
+ }, r)) : E();
} else {
- if (gl(s.props) && e.el.__isMounted === !1) {
+ if (yl(s.props) && e.el.__isMounted === !1) {
Et(() => {
- zi.process(
+ Fi.process(
e,
s,
o,
- n,
+ a,
l,
r,
c,
@@ -1337,56 +1337,56 @@ const Ni = Symbol("_vte"), Ui = (e) => e.__isTeleport, Wo = (e) => e && (e.disab
return;
}
s.el = e.el, s.targetStart = e.targetStart;
- const U = s.anchor = e.anchor, B = s.target = e.target, V = s.targetAnchor = e.targetAnchor, S = Wo(e.props), I = S ? o : B, L = S ? U : V;
- if (c === "svg" || hl(B) ? c = "svg" : (c === "mathml" || yl(B)) && (c = "mathml"), E ? (w(
+ const L = s.anchor = e.anchor, V = s.target = e.target, B = s.targetAnchor = e.targetAnchor, E = Wo(e.props), I = E ? o : V, A = E ? L : B;
+ if (c === "svg" || wl(V) ? c = "svg" : (c === "mathml" || kl(V)) && (c = "mathml"), T ? (w(
e.dynamicChildren,
- E,
+ T,
I,
l,
r,
c,
u
- ), sl(e, s, !0)) : d || g(
+ ), al(e, s, !0)) : d || g(
e,
s,
I,
- L,
+ A,
l,
r,
c,
u,
!1
- ), T)
- S ? s.props && e.props && s.props.to !== e.props.to && (s.props.to = e.props.to) : yn(
+ ), x)
+ E ? s.props && e.props && s.props.to !== e.props.to && (s.props.to = e.props.to) : kn(
s,
o,
- U,
+ L,
m,
1
);
else if ((s.props && s.props.to) !== (e.props && e.props.to)) {
- const Z = s.target = Sa(
+ const te = s.target = Ta(
s.props,
k
);
- Z && yn(
+ te && kn(
s,
- Z,
+ te,
null,
m,
0
);
- } else S && yn(
+ } else E && kn(
s,
- B,
V,
+ B,
m,
1
);
- Sn(s, T);
+ En(s, x);
}
},
- remove(e, s, o, { um: n, o: { remove: l } }, r) {
+ remove(e, s, o, { um: a, o: { remove: l } }, r) {
const {
shapeFlag: c,
children: u,
@@ -1400,7 +1400,7 @@ const Ni = Symbol("_vte"), Ui = (e) => e.__isTeleport, Wo = (e) => e && (e.disab
const p = r || !Wo(w);
for (let k = 0; k < u.length; k++) {
const C = u[k];
- n(
+ a(
C,
s,
o,
@@ -1410,13 +1410,13 @@ const Ni = Symbol("_vte"), Ui = (e) => e.__isTeleport, Wo = (e) => e && (e.disab
}
}
},
- move: yn,
- hydrate: Kc
+ move: kn,
+ hydrate: qc
};
-function yn(e, s, o, { o: { insert: n }, m: l }, r = 2) {
- r === 0 && n(e.targetAnchor, s, o);
+function kn(e, s, o, { o: { insert: a }, m: l }, r = 2) {
+ r === 0 && a(e.targetAnchor, s, o);
const { el: c, anchor: u, shapeFlag: d, children: m, props: v } = e, g = r === 2;
- if (g && n(c, s, o), (!g || Wo(v)) && d & 16)
+ if (g && a(c, s, o), (!g || Wo(v)) && d & 16)
for (let w = 0; w < m.length; w++)
l(
m[w],
@@ -1424,23 +1424,23 @@ function yn(e, s, o, { o: { insert: n }, m: l }, r = 2) {
o,
2
);
- g && n(u, s, o);
+ g && a(u, s, o);
}
-function Kc(e, s, o, n, l, r, {
+function qc(e, s, o, a, l, r, {
o: { nextSibling: c, parentNode: u, querySelector: d, insert: m, createText: v }
}, g) {
- function w(C, b, T, D) {
+ function w(C, b, x, M) {
b.anchor = g(
c(C),
b,
u(C),
o,
- n,
+ a,
l,
r
- ), b.targetStart = T, b.targetAnchor = D;
+ ), b.targetStart = x, b.targetAnchor = M;
}
- const p = s.target = Sa(
+ const p = s.target = Ta(
s.props,
d
), k = Wo(s.props);
@@ -1468,35 +1468,35 @@ function Kc(e, s, o, n, l, r, {
}
b = c(b);
}
- s.targetAnchor || Fi(p, s, v, m), g(
+ s.targetAnchor || Vi(p, s, v, m), g(
C && c(C),
s,
p,
o,
- n,
+ a,
l,
r
);
}
- Sn(s, k);
+ En(s, k);
} else k && s.shapeFlag & 16 && w(e, s, e, c(e));
return s.anchor && c(s.anchor);
}
-const kt = zi;
-function Sn(e, s) {
+const kt = Fi;
+function En(e, s) {
const o = e.ctx;
if (o && o.ut) {
- let n, l;
- for (s ? (n = e.el, l = e.anchor) : (n = e.targetStart, l = e.targetAnchor); n && n !== l; )
- n.nodeType === 1 && n.setAttribute("data-v-owner", o.uid), n = n.nextSibling;
+ let a, l;
+ for (s ? (a = e.el, l = e.anchor) : (a = e.targetStart, l = e.targetAnchor); a && a !== l; )
+ a.nodeType === 1 && a.setAttribute("data-v-owner", o.uid), a = a.nextSibling;
o.ut();
}
}
-function Fi(e, s, o, n) {
+function Vi(e, s, o, a) {
const l = s.targetStart = o(""), r = s.targetAnchor = o("");
- return l[Ni] = r, e && (n(l, e), n(r, e)), r;
+ return l[Ui] = r, e && (a(l, e), a(r, e)), r;
}
-const Cs = Symbol("_leaveCb"), wn = Symbol("_enterCb");
+const Cs = Symbol("_leaveCb"), _n = Symbol("_enterCb");
function Bi() {
const e = {
isMounted: !1,
@@ -1504,73 +1504,73 @@ function Bi() {
isUnmounting: !1,
leavingVNodes: /* @__PURE__ */ new Map()
};
- return Qe(() => {
+ return Je(() => {
e.isMounted = !0;
- }), Yi(() => {
+ }), Ji(() => {
e.isUnmounting = !0;
}), e;
}
-const Vt = [Function, Array], Vi = {
+const Bt = [Function, Array], Wi = {
mode: String,
appear: Boolean,
persisted: Boolean,
// enter
- onBeforeEnter: Vt,
- onEnter: Vt,
- onAfterEnter: Vt,
- onEnterCancelled: Vt,
+ onBeforeEnter: Bt,
+ onEnter: Bt,
+ onAfterEnter: Bt,
+ onEnterCancelled: Bt,
// leave
- onBeforeLeave: Vt,
- onLeave: Vt,
- onAfterLeave: Vt,
- onLeaveCancelled: Vt,
+ onBeforeLeave: Bt,
+ onLeave: Bt,
+ onAfterLeave: Bt,
+ onLeaveCancelled: Bt,
// appear
- onBeforeAppear: Vt,
- onAppear: Vt,
- onAfterAppear: Vt,
- onAppearCancelled: Vt
-}, Wi = (e) => {
+ onBeforeAppear: Bt,
+ onAppear: Bt,
+ onAfterAppear: Bt,
+ onAppearCancelled: Bt
+}, Gi = (e) => {
const s = e.subTree;
- return s.component ? Wi(s.component) : s;
-}, qc = {
+ return s.component ? Gi(s.component) : s;
+}, Yc = {
name: "BaseTransition",
- props: Vi,
+ props: Wi,
setup(e, { slots: s }) {
- const o = nl(), n = Bi();
+ const o = il(), a = Bi();
return () => {
- const l = s.default && Xa(s.default(), !0);
+ const l = s.default && tl(s.default(), !0);
if (!l || !l.length)
return;
- const r = Gi(l), c = Xe(e), { mode: u } = c;
- if (n.isLeaving)
- return ca(r);
- const d = wl(r);
+ const r = ji(l), c = Qe(e), { mode: u } = c;
+ if (a.isLeaving)
+ return fa(r);
+ const d = _l(r);
if (!d)
- return ca(r);
+ return fa(r);
let m = en(
d,
c,
- n,
+ a,
o,
// #11061, ensure enterHooks is fresh after clone
(g) => m = g
);
d.type !== bt && oo(d, m);
- let v = o.subTree && wl(o.subTree);
- if (v && v.type !== bt && !Zs(v, d) && Wi(o).type !== bt) {
+ let v = o.subTree && _l(o.subTree);
+ if (v && v.type !== bt && !Zs(v, d) && Gi(o).type !== bt) {
let g = en(
v,
c,
- n,
+ a,
o
);
if (oo(v, g), u === "out-in" && d.type !== bt)
- return n.isLeaving = !0, g.afterLeave = () => {
- n.isLeaving = !1, o.job.flags & 8 || o.update(), delete g.afterLeave, v = void 0;
- }, ca(r);
+ return a.isLeaving = !0, g.afterLeave = () => {
+ a.isLeaving = !1, o.job.flags & 8 || o.update(), delete g.afterLeave, v = void 0;
+ }, fa(r);
u === "in-out" && d.type !== bt ? g.delayLeave = (w, p, k) => {
- const C = ji(
- n,
+ const C = Hi(
+ a,
v
);
C[String(v.key)] = v, w[Cs] = () => {
@@ -1584,7 +1584,7 @@ const Vt = [Function, Array], Vi = {
};
}
};
-function Gi(e) {
+function ji(e) {
let s = e[0];
if (e.length > 1) {
for (const o of e)
@@ -1595,13 +1595,13 @@ function Gi(e) {
}
return s;
}
-const Yc = qc;
-function ji(e, s) {
+const Jc = Yc;
+function Hi(e, s) {
const { leavingVNodes: o } = e;
- let n = o.get(s.type);
- return n || (n = /* @__PURE__ */ Object.create(null), o.set(s.type, n)), n;
+ let a = o.get(s.type);
+ return a || (a = /* @__PURE__ */ Object.create(null), o.set(s.type, a)), a;
}
-function en(e, s, o, n, l) {
+function en(e, s, o, a, l) {
const {
appear: r,
mode: c,
@@ -1615,142 +1615,142 @@ function en(e, s, o, n, l) {
onAfterLeave: k,
onLeaveCancelled: C,
onBeforeAppear: b,
- onAppear: T,
- onAfterAppear: D,
+ onAppear: x,
+ onAfterAppear: M,
onAppearCancelled: P
- } = s, E = String(e.key), U = ji(o, e), B = (I, L) => {
+ } = s, T = String(e.key), L = Hi(o, e), V = (I, A) => {
I && os(
I,
- n,
+ a,
9,
- L
+ A
);
- }, V = (I, L) => {
- const Z = L[1];
- B(I, L), Be(I) ? I.every((W) => W.length <= 1) && Z() : I.length <= 1 && Z();
- }, S = {
+ }, B = (I, A) => {
+ const te = A[1];
+ V(I, A), Fe(I) ? I.every((W) => W.length <= 1) && te() : I.length <= 1 && te();
+ }, E = {
mode: c,
persisted: u,
beforeEnter(I) {
- let L = d;
+ let A = d;
if (!o.isMounted)
if (r)
- L = b || d;
+ A = b || d;
else
return;
I[Cs] && I[Cs](
!0
/* cancelled */
);
- const Z = U[E];
- Z && Zs(e, Z) && Z.el[Cs] && Z.el[Cs](), B(L, [I]);
+ const te = L[T];
+ te && Zs(e, te) && te.el[Cs] && te.el[Cs](), V(A, [I]);
},
enter(I) {
- let L = m, Z = v, W = g;
+ let A = m, te = v, W = g;
if (!o.isMounted)
if (r)
- L = T || m, Z = D || v, W = P || g;
+ A = x || m, te = M || v, W = P || g;
else
return;
- let A = !1;
- const j = I[wn] = (X) => {
- A || (A = !0, X ? B(W, [I]) : B(Z, [I]), S.delayedLeave && S.delayedLeave(), I[wn] = void 0);
+ let O = !1;
+ const j = I[_n] = (X) => {
+ O || (O = !0, X ? V(W, [I]) : V(te, [I]), E.delayedLeave && E.delayedLeave(), I[_n] = void 0);
};
- L ? V(L, [I, j]) : j();
+ A ? B(A, [I, j]) : j();
},
- leave(I, L) {
- const Z = String(e.key);
- if (I[wn] && I[wn](
+ leave(I, A) {
+ const te = String(e.key);
+ if (I[_n] && I[_n](
!0
/* cancelled */
), o.isUnmounting)
- return L();
- B(w, [I]);
+ return A();
+ V(w, [I]);
let W = !1;
- const A = I[Cs] = (j) => {
- W || (W = !0, L(), j ? B(C, [I]) : B(k, [I]), I[Cs] = void 0, U[Z] === e && delete U[Z]);
+ const O = I[Cs] = (j) => {
+ W || (W = !0, A(), j ? V(C, [I]) : V(k, [I]), I[Cs] = void 0, L[te] === e && delete L[te]);
};
- U[Z] = e, p ? V(p, [I, A]) : A();
+ L[te] = e, p ? B(p, [I, O]) : O();
},
clone(I) {
- const L = en(
+ const A = en(
I,
s,
o,
- n,
+ a,
l
);
- return l && l(L), L;
+ return l && l(A), A;
}
};
- return S;
+ return E;
}
-function ca(e) {
- if (Jn(e))
+function fa(e) {
+ if (Zn(e))
return e = Fs(e), e.children = null, e;
}
-function wl(e) {
- if (!Jn(e))
- return Ui(e.type) && e.children ? Gi(e.children) : e;
+function _l(e) {
+ if (!Zn(e))
+ return zi(e.type) && e.children ? ji(e.children) : e;
if (e.component)
return e.component.subTree;
const { shapeFlag: s, children: o } = e;
if (o) {
if (s & 16)
return o[0];
- if (s & 32 && Ge(o.default))
+ if (s & 32 && We(o.default))
return o.default();
}
}
function oo(e, s) {
e.shapeFlag & 6 && e.component ? (e.transition = s, oo(e.component.subTree, s)) : e.shapeFlag & 128 ? (e.ssContent.transition = s.clone(e.ssContent), e.ssFallback.transition = s.clone(e.ssFallback)) : e.transition = s;
}
-function Xa(e, s = !1, o) {
- let n = [], l = 0;
+function tl(e, s = !1, o) {
+ let a = [], l = 0;
for (let r = 0; r < e.length; r++) {
let c = e[r];
const u = o == null ? c.key : String(o) + String(c.key != null ? c.key : r);
- c.type === H ? (c.patchFlag & 128 && l++, n = n.concat(
- Xa(c.children, s, u)
- )) : (s || c.type !== bt) && n.push(u != null ? Fs(c, { key: u }) : c);
+ c.type === H ? (c.patchFlag & 128 && l++, a = a.concat(
+ tl(c.children, s, u)
+ )) : (s || c.type !== bt) && a.push(u != null ? Fs(c, { key: u }) : c);
}
if (l > 1)
- for (let r = 0; r < n.length; r++)
- n[r].patchFlag = -2;
- return n;
+ for (let r = 0; r < a.length; r++)
+ a[r].patchFlag = -2;
+ return a;
}
// @__NO_SIDE_EFFECTS__
function fe(e, s) {
- return Ge(e) ? (
+ return We(e) ? (
// #8236: extend call and options.name access are considered side-effects
// by Rollup, so we have to wrap it in a pure-annotated IIFE.
pt({ name: e.name }, s, { setup: e })
) : e;
}
-function Hi(e) {
+function Ki(e) {
e.ids = [e.ids[0] + e.ids[2]++ + "-", 0, 0];
}
-const On = /* @__PURE__ */ new WeakMap();
-function Go(e, s, o, n, l = !1) {
- if (Be(e)) {
+const Un = /* @__PURE__ */ new WeakMap();
+function Go(e, s, o, a, l = !1) {
+ if (Fe(e)) {
e.forEach(
(k, C) => Go(
k,
- s && (Be(s) ? s[C] : s),
+ s && (Fe(s) ? s[C] : s),
o,
- n,
+ a,
l
)
);
return;
}
- if (yo(n) && !l) {
- n.shapeFlag & 512 && n.type.__asyncResolved && n.component.subTree.component && Go(e, s, o, n.component.subTree);
+ if (yo(a) && !l) {
+ a.shapeFlag & 512 && a.type.__asyncResolved && a.component.subTree.component && Go(e, s, o, a.component.subTree);
return;
}
- const r = n.shapeFlag & 4 ? ea(n.component) : n.el, c = l ? null : r, { i: u, r: d } = e, m = s && s.r, v = u.refs === nt ? u.refs = {} : u.refs, g = u.setupState, w = Xe(g), p = g === nt ? ci : (k) => et(w, k);
+ const r = a.shapeFlag & 4 ? oa(a.component) : a.el, c = l ? null : r, { i: u, r: d } = e, m = s && s.r, v = u.refs === ot ? u.refs = {} : u.refs, g = u.setupState, w = Qe(g), p = g === ot ? ui : (k) => et(w, k);
if (m != null && m !== d) {
- if (kl(s), ut(m))
+ if (bl(s), ut(m))
v[m] = null, p(m) && (g[m] = null);
else if (Ct(m)) {
m.value = null;
@@ -1758,51 +1758,51 @@ function Go(e, s, o, n, l = !1) {
k.k && (v[k.k] = null);
}
}
- if (Ge(d))
- ln(d, u, 12, [c, v]);
+ if (We(d))
+ rn(d, u, 12, [c, v]);
else {
const k = ut(d), C = Ct(d);
if (k || C) {
const b = () => {
if (e.f) {
- const T = k ? p(d) ? g[d] : v[d] : d.value;
+ const x = k ? p(d) ? g[d] : v[d] : d.value;
if (l)
- Be(T) && Ba(T, r);
- else if (Be(T))
- T.includes(r) || T.push(r);
+ Fe(x) && Ga(x, r);
+ else if (Fe(x))
+ x.includes(r) || x.push(r);
else if (k)
v[d] = [r], p(d) && (g[d] = v[d]);
else {
- const D = [r];
- d.value = D, e.k && (v[e.k] = D);
+ const M = [r];
+ d.value = M, e.k && (v[e.k] = M);
}
} else k ? (v[d] = c, p(d) && (g[d] = c)) : C && (d.value = c, e.k && (v[e.k] = c));
};
if (c) {
- const T = () => {
- b(), On.delete(e);
+ const x = () => {
+ b(), Un.delete(e);
};
- T.id = -1, On.set(e, T), Et(T, o);
+ x.id = -1, Un.set(e, x), Et(x, o);
} else
- kl(e), b();
+ bl(e), b();
}
}
}
-function kl(e) {
- const s = On.get(e);
- s && (s.flags |= 8, On.delete(e));
-}
-Kn().requestIdleCallback;
-Kn().cancelIdleCallback;
-const yo = (e) => !!e.type.__asyncLoader, Jn = (e) => e.type.__isKeepAlive;
-function Jc(e, s) {
- Ki(e, "a", s);
+function bl(e) {
+ const s = Un.get(e);
+ s && (s.flags |= 8, Un.delete(e));
}
+Jn().requestIdleCallback;
+Jn().cancelIdleCallback;
+const yo = (e) => !!e.type.__asyncLoader, Zn = (e) => e.type.__isKeepAlive;
function Qc(e, s) {
- Ki(e, "da", s);
+ qi(e, "a", s);
}
-function Ki(e, s, o = $t) {
- const n = e.__wdc || (e.__wdc = () => {
+function Xc(e, s) {
+ qi(e, "da", s);
+}
+function qi(e, s, o = $t) {
+ const a = e.__wdc || (e.__wdc = () => {
let l = o;
for (; l; ) {
if (l.isDeactivated)
@@ -1811,81 +1811,81 @@ function Ki(e, s, o = $t) {
}
return e();
});
- if (Qn(s, n, o), o) {
+ if (ea(s, a, o), o) {
let l = o.parent;
for (; l && l.parent; )
- Jn(l.parent.vnode) && Xc(n, s, o, l), l = l.parent;
+ Zn(l.parent.vnode) && Zc(a, s, o, l), l = l.parent;
}
}
-function Xc(e, s, o, n) {
- const l = Qn(
+function Zc(e, s, o, a) {
+ const l = ea(
s,
e,
- n,
+ a,
!0
/* prepend */
);
Gs(() => {
- Ba(n[s], l);
+ Ga(a[s], l);
}, o);
}
-function Qn(e, s, o = $t, n = !1) {
+function ea(e, s, o = $t, a = !1) {
if (o) {
const l = o[e] || (o[e] = []), r = s.__weh || (s.__weh = (...c) => {
Es();
- const u = rn(o), d = os(s, o, e, c);
+ const u = cn(o), d = os(s, o, e, c);
return u(), Ts(), d;
});
- return n ? l.unshift(r) : l.push(r), r;
+ return a ? l.unshift(r) : l.push(r), r;
}
}
const Ps = (e) => (s, o = $t) => {
- (!on || e === "sp") && Qn(e, (...n) => s(...n), o);
-}, Zc = Ps("bm"), Qe = Ps("m"), eu = Ps(
+ (!on || e === "sp") && ea(e, (...a) => s(...a), o);
+}, eu = Ps("bm"), Je = Ps("m"), tu = Ps(
"bu"
-), qi = Ps("u"), Yi = Ps(
+), Yi = Ps("u"), Ji = Ps(
"bum"
-), Gs = Ps("um"), tu = Ps(
+), Gs = Ps("um"), su = Ps(
"sp"
-), su = Ps("rtg"), ou = Ps("rtc");
-function nu(e, s = $t) {
- Qn("ec", e, s);
+), ou = Ps("rtg"), nu = Ps("rtc");
+function au(e, s = $t) {
+ ea("ec", e, s);
}
-const au = "components", Ji = Symbol.for("v-ndc");
-function Za(e) {
- return ut(e) ? lu(au, e, !1) || e : e || Ji;
+const lu = "components", Qi = Symbol.for("v-ndc");
+function sl(e) {
+ return ut(e) ? iu(lu, e, !1) || e : e || Qi;
}
-function lu(e, s, o = !0, n = !1) {
+function iu(e, s, o = !0, a = !1) {
const l = wt || $t;
if (l) {
const r = l.type;
{
- const u = qu(
+ const u = Yu(
r,
!1
);
- if (u && (u === s || u === Kt(s) || u === jn(Kt(s))))
+ if (u && (u === s || u === Kt(s) || u === qn(Kt(s))))
return r;
}
const c = (
// local registration
// check instance[type] first which is resolved for options API
- _l(l[e] || r[e], s) || // global registration
- _l(l.appContext[e], s)
+ $l(l[e] || r[e], s) || // global registration
+ $l(l.appContext[e], s)
);
- return !c && n ? r : c;
+ return !c && a ? r : c;
}
}
-function _l(e, s) {
- return e && (e[s] || e[Kt(s)] || e[jn(Kt(s))]);
+function $l(e, s) {
+ return e && (e[s] || e[Kt(s)] || e[qn(Kt(s))]);
}
-function ve(e, s, o, n) {
+function ve(e, s, o, a) {
let l;
- const r = o, c = Be(e);
+ const r = o, c = Fe(e);
if (c || ut(e)) {
const u = c && to(e);
let d = !1, m = !1;
- u && (d = !Gt(e), m = Rs(e), e = qn(e)), l = new Array(e.length);
+ u && (d = !Gt(e), m = Rs(e), e = Qn(e)), l = new Array(e.length);
for (let v = 0, g = e.length; v < g; v++)
l[v] = s(
d ? m ? _o(ss(e[v])) : ss(e[v]) : e[v],
@@ -1897,7 +1897,7 @@ function ve(e, s, o, n) {
l = new Array(e);
for (let u = 0; u < e; u++)
l[u] = s(u + 1, u, void 0, r);
- } else if (ot(e))
+ } else if (st(e))
if (e[Symbol.iterator])
l = Array.from(
e,
@@ -1917,46 +1917,46 @@ function ve(e, s, o, n) {
}
function no(e, s) {
for (let o = 0; o < s.length; o++) {
- const n = s[o];
- if (Be(n))
- for (let l = 0; l < n.length; l++)
- e[n[l].name] = n[l].fn;
- else n && (e[n.name] = n.key ? (...l) => {
- const r = n.fn(...l);
- return r && (r.key = n.key), r;
- } : n.fn);
+ const a = s[o];
+ if (Fe(a))
+ for (let l = 0; l < a.length; l++)
+ e[a[l].name] = a[l].fn;
+ else a && (e[a.name] = a.key ? (...l) => {
+ const r = a.fn(...l);
+ return r && (r.key = a.key), r;
+ } : a.fn);
}
return e;
}
-function Ke(e, s, o = {}, n, l) {
+function He(e, s, o = {}, a, l) {
if (wt.ce || wt.parent && yo(wt.parent) && wt.parent.ce) {
const m = Object.keys(o).length > 0;
- return s !== "default" && (o.name = s), a(), M(
+ return s !== "default" && (o.name = s), n(), D(
H,
null,
- [x("slot", o, n && n())],
+ [S("slot", o, a && a())],
m ? -2 : 64
);
}
let r = e[s];
- r && r._c && (r._d = !1), a();
- const c = r && Qi(r(o)), u = o.key || // slot content array of a dynamic conditional slot may have a branch
+ r && r._c && (r._d = !1), n();
+ const c = r && Xi(r(o)), u = o.key || // slot content array of a dynamic conditional slot may have a branch
// key attached in the `createSlots` helper, respect that
- c && c.key, d = M(
+ c && c.key, d = D(
H,
{
key: (u && !ts(u) ? u : `_${s}`) + // #7256 force differentiate fallback content from actual content
- (!c && n ? "_fb" : "")
+ (!c && a ? "_fb" : "")
},
- c || (n ? n() : []),
+ c || (a ? a() : []),
c && e._ === 1 ? 64 : -2
);
return r && r._c && (r._d = !0), d;
}
-function Qi(e) {
- return e.some((s) => sn(s) ? !(s.type === bt || s.type === H && !Qi(s.children)) : !0) ? e : null;
+function Xi(e) {
+ return e.some((s) => sn(s) ? !(s.type === bt || s.type === H && !Xi(s.children)) : !0) ? e : null;
}
-const Ia = (e) => e ? gr(e) ? ea(e) : Ia(e.parent) : null, jo = (
+const Ra = (e) => e ? hr(e) ? oa(e) : Ra(e.parent) : null, jo = (
// Move PURE marker to new line to workaround compiler discarding it
// due to type annotation
/* @__PURE__ */ pt(/* @__PURE__ */ Object.create(null), {
@@ -1967,28 +1967,28 @@ const Ia = (e) => e ? gr(e) ? ea(e) : Ia(e.parent) : null, jo = (
$attrs: (e) => e.attrs,
$slots: (e) => e.slots,
$refs: (e) => e.refs,
- $parent: (e) => Ia(e.parent),
- $root: (e) => Ia(e.root),
+ $parent: (e) => Ra(e.parent),
+ $root: (e) => Ra(e.root),
$host: (e) => e.ce,
$emit: (e) => e.emit,
- $options: (e) => Zi(e),
+ $options: (e) => er(e),
$forceUpdate: (e) => e.f || (e.f = () => {
- Qa(e.update);
+ el(e.update);
}),
$nextTick: (e) => e.n || (e.n = gt.bind(e.proxy)),
- $watch: (e) => yu.bind(e)
+ $watch: (e) => wu.bind(e)
})
-), ua = (e, s) => e !== nt && !e.__isScriptSetup && et(e, s), iu = {
+), ma = (e, s) => e !== ot && !e.__isScriptSetup && et(e, s), ru = {
get({ _: e }, s) {
if (s === "__v_skip")
return !0;
- const { ctx: o, setupState: n, data: l, props: r, accessCache: c, type: u, appContext: d } = e;
+ const { ctx: o, setupState: a, data: l, props: r, accessCache: c, type: u, appContext: d } = e;
if (s[0] !== "$") {
const w = c[s];
if (w !== void 0)
switch (w) {
case 1:
- return n[s];
+ return a[s];
case 2:
return l[s];
case 4:
@@ -1997,15 +1997,15 @@ const Ia = (e) => e ? gr(e) ? ea(e) : Ia(e.parent) : null, jo = (
return r[s];
}
else {
- if (ua(n, s))
- return c[s] = 1, n[s];
- if (l !== nt && et(l, s))
+ if (ma(a, s))
+ return c[s] = 1, a[s];
+ if (l !== ot && et(l, s))
return c[s] = 2, l[s];
if (et(r, s))
return c[s] = 3, r[s];
- if (o !== nt && et(o, s))
+ if (o !== ot && et(o, s))
return c[s] = 4, o[s];
- Ea && (c[s] = 0);
+ Pa && (c[s] = 0);
}
}
const m = jo[s];
@@ -2017,7 +2017,7 @@ const Ia = (e) => e ? gr(e) ? ea(e) : Ia(e.parent) : null, jo = (
(v = u.__cssModules) && (v = v[s])
)
return v;
- if (o !== nt && et(o, s))
+ if (o !== ot && et(o, s))
return c[s] = 4, o[s];
if (
// global properties
@@ -2026,29 +2026,29 @@ const Ia = (e) => e ? gr(e) ? ea(e) : Ia(e.parent) : null, jo = (
return g[s];
},
set({ _: e }, s, o) {
- const { data: n, setupState: l, ctx: r } = e;
- return ua(l, s) ? (l[s] = o, !0) : n !== nt && et(n, s) ? (n[s] = o, !0) : et(e.props, s) || s[0] === "$" && s.slice(1) in e ? !1 : (r[s] = o, !0);
+ const { data: a, setupState: l, ctx: r } = e;
+ return ma(l, s) ? (l[s] = o, !0) : a !== ot && et(a, s) ? (a[s] = o, !0) : et(e.props, s) || s[0] === "$" && s.slice(1) in e ? !1 : (r[s] = o, !0);
},
has({
- _: { data: e, setupState: s, accessCache: o, ctx: n, appContext: l, props: r, type: c }
+ _: { data: e, setupState: s, accessCache: o, ctx: a, appContext: l, props: r, type: c }
}, u) {
let d;
- return !!(o[u] || e !== nt && u[0] !== "$" && et(e, u) || ua(s, u) || et(r, u) || et(n, u) || et(jo, u) || et(l.config.globalProperties, u) || (d = c.__cssModules) && d[u]);
+ return !!(o[u] || e !== ot && u[0] !== "$" && et(e, u) || ma(s, u) || et(r, u) || et(a, u) || et(jo, u) || et(l.config.globalProperties, u) || (d = c.__cssModules) && d[u]);
},
defineProperty(e, s, o) {
return o.get != null ? e._.accessCache[s] = 0 : et(o, "value") && this.set(e, s, o.value, null), Reflect.defineProperty(e, s, o);
}
};
-function bl(e) {
- return Be(e) ? e.reduce(
+function Cl(e) {
+ return Fe(e) ? e.reduce(
(s, o) => (s[o] = null, s),
{}
) : e;
}
-let Ea = !0;
-function ru(e) {
- const s = Zi(e), o = e.proxy, n = e.ctx;
- Ea = !1, s.beforeCreate && $l(s.beforeCreate, e, "bc");
+let Pa = !0;
+function cu(e) {
+ const s = er(e), o = e.proxy, a = e.ctx;
+ Pa = !1, s.beforeCreate && xl(s.beforeCreate, e, "bc");
const {
// state
data: l,
@@ -2065,137 +2065,137 @@ function ru(e) {
updated: k,
activated: C,
deactivated: b,
- beforeDestroy: T,
- beforeUnmount: D,
+ beforeDestroy: x,
+ beforeUnmount: M,
destroyed: P,
- unmounted: E,
- render: U,
- renderTracked: B,
- renderTriggered: V,
- errorCaptured: S,
+ unmounted: T,
+ render: L,
+ renderTracked: V,
+ renderTriggered: B,
+ errorCaptured: E,
serverPrefetch: I,
// public API
- expose: L,
- inheritAttrs: Z,
+ expose: A,
+ inheritAttrs: te,
// assets
components: W,
- directives: A,
+ directives: O,
filters: j
} = s;
- if (m && cu(m, n, null), c)
+ if (m && uu(m, a, null), c)
for (const ae in c) {
- const ee = c[ae];
- Ge(ee) && (n[ae] = ee.bind(o));
+ const Z = c[ae];
+ We(Z) && (a[ae] = Z.bind(o));
}
if (l) {
const ae = l.call(o, o);
- ot(ae) && (e.data = Ws(ae));
+ st(ae) && (e.data = Ws(ae));
}
- if (Ea = !0, r)
+ if (Pa = !0, r)
for (const ae in r) {
- const ee = r[ae], ke = Ge(ee) ? ee.bind(o, o) : Ge(ee.get) ? ee.get.bind(o, o) : gs, be = !Ge(ee) && Ge(ee.set) ? ee.set.bind(o) : gs, Le = N({
- get: ke,
- set: be
+ const Z = r[ae], _e = We(Z) ? Z.bind(o, o) : We(Z.get) ? Z.get.bind(o, o) : gs, $e = !We(Z) && We(Z.set) ? Z.set.bind(o) : gs, Le = U({
+ get: _e,
+ set: $e
});
- Object.defineProperty(n, ae, {
+ Object.defineProperty(a, ae, {
enumerable: !0,
configurable: !0,
get: () => Le.value,
- set: (ze) => Le.value = ze
+ set: (Ue) => Le.value = Ue
});
}
if (u)
for (const ae in u)
- Xi(u[ae], n, o, ae);
+ Zi(u[ae], a, o, ae);
if (d) {
- const ae = Ge(d) ? d.call(o) : d;
- Reflect.ownKeys(ae).forEach((ee) => {
- pu(ee, ae[ee]);
+ const ae = We(d) ? d.call(o) : d;
+ Reflect.ownKeys(ae).forEach((Z) => {
+ gu(Z, ae[Z]);
});
}
- v && $l(v, e, "c");
- function z(ae, ee) {
- Be(ee) ? ee.forEach((ke) => ae(ke.bind(o))) : ee && ae(ee.bind(o));
+ v && xl(v, e, "c");
+ function z(ae, Z) {
+ Fe(Z) ? Z.forEach((_e) => ae(_e.bind(o))) : Z && ae(Z.bind(o));
}
- if (z(Zc, g), z(Qe, w), z(eu, p), z(qi, k), z(Jc, C), z(Qc, b), z(nu, S), z(ou, B), z(su, V), z(Yi, D), z(Gs, E), z(tu, I), Be(L))
- if (L.length) {
+ if (z(eu, g), z(Je, w), z(tu, p), z(Yi, k), z(Qc, C), z(Xc, b), z(au, E), z(nu, V), z(ou, B), z(Ji, M), z(Gs, T), z(su, I), Fe(A))
+ if (A.length) {
const ae = e.exposed || (e.exposed = {});
- L.forEach((ee) => {
- Object.defineProperty(ae, ee, {
- get: () => o[ee],
- set: (ke) => o[ee] = ke,
+ A.forEach((Z) => {
+ Object.defineProperty(ae, Z, {
+ get: () => o[Z],
+ set: (_e) => o[Z] = _e,
enumerable: !0
});
});
} else e.exposed || (e.exposed = {});
- U && e.render === gs && (e.render = U), Z != null && (e.inheritAttrs = Z), W && (e.components = W), A && (e.directives = A), I && Hi(e);
+ L && e.render === gs && (e.render = L), te != null && (e.inheritAttrs = te), W && (e.components = W), O && (e.directives = O), I && Ki(e);
}
-function cu(e, s, o = gs) {
- Be(e) && (e = Ta(e));
- for (const n in e) {
- const l = e[n];
+function uu(e, s, o = gs) {
+ Fe(e) && (e = Ma(e));
+ for (const a in e) {
+ const l = e[a];
let r;
- ot(l) ? "default" in l ? r = In(
- l.from || n,
+ st(l) ? "default" in l ? r = Tn(
+ l.from || a,
l.default,
!0
- ) : r = In(l.from || n) : r = In(l), Ct(r) ? Object.defineProperty(s, n, {
+ ) : r = Tn(l.from || a) : r = Tn(l), Ct(r) ? Object.defineProperty(s, a, {
enumerable: !0,
configurable: !0,
get: () => r.value,
set: (c) => r.value = c
- }) : s[n] = r;
+ }) : s[a] = r;
}
}
-function $l(e, s, o) {
+function xl(e, s, o) {
os(
- Be(e) ? e.map((n) => n.bind(s.proxy)) : e.bind(s.proxy),
+ Fe(e) ? e.map((a) => a.bind(s.proxy)) : e.bind(s.proxy),
s,
o
);
}
-function Xi(e, s, o, n) {
- let l = n.includes(".") ? sr(o, n) : () => o[n];
+function Zi(e, s, o, a) {
+ let l = a.includes(".") ? or(o, a) : () => o[a];
if (ut(e)) {
const r = s[e];
- Ge(r) && dt(l, r);
- } else if (Ge(e))
+ We(r) && dt(l, r);
+ } else if (We(e))
dt(l, e.bind(o));
- else if (ot(e))
- if (Be(e))
- e.forEach((r) => Xi(r, s, o, n));
+ else if (st(e))
+ if (Fe(e))
+ e.forEach((r) => Zi(r, s, o, a));
else {
- const r = Ge(e.handler) ? e.handler.bind(o) : s[e.handler];
- Ge(r) && dt(l, r, e);
+ const r = We(e.handler) ? e.handler.bind(o) : s[e.handler];
+ We(r) && dt(l, r, e);
}
}
-function Zi(e) {
- const s = e.type, { mixins: o, extends: n } = s, {
+function er(e) {
+ const s = e.type, { mixins: o, extends: a } = s, {
mixins: l,
optionsCache: r,
config: { optionMergeStrategies: c }
} = e.appContext, u = r.get(s);
let d;
- return u ? d = u : !l.length && !o && !n ? d = s : (d = {}, l.length && l.forEach(
- (m) => Nn(d, m, c, !0)
- ), Nn(d, s, c)), ot(s) && r.set(s, d), d;
+ return u ? d = u : !l.length && !o && !a ? d = s : (d = {}, l.length && l.forEach(
+ (m) => zn(d, m, c, !0)
+ ), zn(d, s, c)), st(s) && r.set(s, d), d;
}
-function Nn(e, s, o, n = !1) {
+function zn(e, s, o, a = !1) {
const { mixins: l, extends: r } = s;
- r && Nn(e, r, o, !0), l && l.forEach(
- (c) => Nn(e, c, o, !0)
+ r && zn(e, r, o, !0), l && l.forEach(
+ (c) => zn(e, c, o, !0)
);
for (const c in s)
- if (!(n && c === "expose")) {
- const u = uu[c] || o && o[c];
+ if (!(a && c === "expose")) {
+ const u = du[c] || o && o[c];
e[c] = u ? u(e[c], s[c]) : s[c];
}
return e;
}
-const uu = {
- data: Cl,
- props: xl,
- emits: xl,
+const du = {
+ data: Sl,
+ props: Il,
+ emits: Il,
// objects
methods: zo,
computed: zo,
@@ -2218,24 +2218,24 @@ const uu = {
components: zo,
directives: zo,
// watch
- watch: fu,
+ watch: mu,
// provide / inject
- provide: Cl,
- inject: du
+ provide: Sl,
+ inject: fu
};
-function Cl(e, s) {
+function Sl(e, s) {
return s ? e ? function() {
return pt(
- Ge(e) ? e.call(this, this) : e,
- Ge(s) ? s.call(this, this) : s
+ We(e) ? e.call(this, this) : e,
+ We(s) ? s.call(this, this) : s
);
} : s : e;
}
-function du(e, s) {
- return zo(Ta(e), Ta(s));
+function fu(e, s) {
+ return zo(Ma(e), Ma(s));
}
-function Ta(e) {
- if (Be(e)) {
+function Ma(e) {
+ if (Fe(e)) {
const s = {};
for (let o = 0; o < e.length; o++)
s[e[o]] = e[o];
@@ -2249,26 +2249,26 @@ function It(e, s) {
function zo(e, s) {
return e ? pt(/* @__PURE__ */ Object.create(null), e, s) : s;
}
-function xl(e, s) {
- return e ? Be(e) && Be(s) ? [.../* @__PURE__ */ new Set([...e, ...s])] : pt(
+function Il(e, s) {
+ return e ? Fe(e) && Fe(s) ? [.../* @__PURE__ */ new Set([...e, ...s])] : pt(
/* @__PURE__ */ Object.create(null),
- bl(e),
- bl(s ?? {})
+ Cl(e),
+ Cl(s ?? {})
) : s;
}
-function fu(e, s) {
+function mu(e, s) {
if (!e) return s;
if (!s) return e;
const o = pt(/* @__PURE__ */ Object.create(null), e);
- for (const n in s)
- o[n] = It(e[n], s[n]);
+ for (const a in s)
+ o[a] = It(e[a], s[a]);
return o;
}
-function er() {
+function tr() {
return {
app: null,
config: {
- isNativeTag: ci,
+ isNativeTag: ui,
performance: !1,
globalProperties: {},
optionMergeStrategies: {},
@@ -2285,27 +2285,27 @@ function er() {
emitsCache: /* @__PURE__ */ new WeakMap()
};
}
-let mu = 0;
-function vu(e, s) {
- return function(n, l = null) {
- Ge(n) || (n = pt({}, n)), l != null && !ot(l) && (l = null);
- const r = er(), c = /* @__PURE__ */ new WeakSet(), u = [];
+let vu = 0;
+function pu(e, s) {
+ return function(a, l = null) {
+ We(a) || (a = pt({}, a)), l != null && !st(l) && (l = null);
+ const r = tr(), c = /* @__PURE__ */ new WeakSet(), u = [];
let d = !1;
const m = r.app = {
- _uid: mu++,
- _component: n,
+ _uid: vu++,
+ _component: a,
_props: l,
_container: null,
_context: r,
_instance: null,
- version: Ju,
+ version: Qu,
get config() {
return r.config;
},
set config(v) {
},
use(v, ...g) {
- return c.has(v) || (v && Ge(v.install) ? (c.add(v), v.install(m, ...g)) : Ge(v) && (c.add(v), v(m, ...g))), m;
+ return c.has(v) || (v && We(v.install) ? (c.add(v), v.install(m, ...g)) : We(v) && (c.add(v), v(m, ...g))), m;
},
mixin(v) {
return r.mixins.includes(v) || r.mixins.push(v), m;
@@ -2318,8 +2318,8 @@ function vu(e, s) {
},
mount(v, g, w) {
if (!d) {
- const p = m._ceVNode || x(n, l);
- return p.appContext = r, w === !0 ? w = "svg" : w === !1 && (w = void 0), e(p, v, w), d = !0, m._container = v, v.__vue_app__ = m, ea(p.component);
+ const p = m._ceVNode || S(a, l);
+ return p.appContext = r, w === !0 ? w = "svg" : w === !1 && (w = void 0), e(p, v, w), d = !0, m._container = v, v.__vue_app__ = m, oa(p.component);
}
},
onUnmount(v) {
@@ -2349,33 +2349,33 @@ function vu(e, s) {
};
}
let wo = null;
-function pu(e, s) {
+function gu(e, s) {
if ($t) {
let o = $t.provides;
- const n = $t.parent && $t.parent.provides;
- n === o && (o = $t.provides = Object.create(n)), o[e] = s;
+ const a = $t.parent && $t.parent.provides;
+ a === o && (o = $t.provides = Object.create(a)), o[e] = s;
}
}
-function In(e, s, o = !1) {
- const n = nl();
- if (n || wo) {
- let l = wo ? wo._context.provides : n ? n.parent == null || n.ce ? n.vnode.appContext && n.vnode.appContext.provides : n.parent.provides : void 0;
+function Tn(e, s, o = !1) {
+ const a = il();
+ if (a || wo) {
+ let l = wo ? wo._context.provides : a ? a.parent == null || a.ce ? a.vnode.appContext && a.vnode.appContext.provides : a.parent.provides : void 0;
if (l && e in l)
return l[e];
if (arguments.length > 1)
- return o && Ge(s) ? s.call(n && n.proxy) : s;
+ return o && We(s) ? s.call(a && a.proxy) : s;
}
}
-const gu = Symbol.for("v-scx"), hu = () => In(gu);
+const hu = Symbol.for("v-scx"), yu = () => Tn(hu);
function dt(e, s, o) {
- return tr(e, s, o);
+ return sr(e, s, o);
}
-function tr(e, s, o = nt) {
- const { immediate: n, deep: l, flush: r, once: c } = o, u = pt({}, o), d = s && n || !s && r !== "post";
+function sr(e, s, o = ot) {
+ const { immediate: a, deep: l, flush: r, once: c } = o, u = pt({}, o), d = s && a || !s && r !== "post";
let m;
if (on) {
if (r === "sync") {
- const p = hu();
+ const p = yu();
m = p.__watcherHandles || (p.__watcherHandles = []);
} else if (!d) {
const p = () => {
@@ -2389,45 +2389,45 @@ function tr(e, s, o = nt) {
r === "post" ? u.scheduler = (p) => {
Et(p, v && v.suspense);
} : r !== "sync" && (g = !0, u.scheduler = (p, k) => {
- k ? p() : Qa(p);
+ k ? p() : el(p);
}), u.augmentJob = (p) => {
s && (p.flags |= 4), g && (p.flags |= 2, v && (p.id = v.uid, p.i = v));
};
- const w = Wc(e, s, u);
+ const w = Gc(e, s, u);
return on && (m ? m.push(w) : d && w()), w;
}
-function yu(e, s, o) {
- const n = this.proxy, l = ut(e) ? e.includes(".") ? sr(n, e) : () => n[e] : e.bind(n, n);
+function wu(e, s, o) {
+ const a = this.proxy, l = ut(e) ? e.includes(".") ? or(a, e) : () => a[e] : e.bind(a, a);
let r;
- Ge(s) ? r = s : (r = s.handler, o = s);
- const c = rn(this), u = tr(l, r.bind(n), o);
+ We(s) ? r = s : (r = s.handler, o = s);
+ const c = cn(this), u = sr(l, r.bind(a), o);
return c(), u;
}
-function sr(e, s) {
+function or(e, s) {
const o = s.split(".");
return () => {
- let n = e;
- for (let l = 0; l < o.length && n; l++)
- n = n[o[l]];
- return n;
+ let a = e;
+ for (let l = 0; l < o.length && a; l++)
+ a = a[o[l]];
+ return a;
};
}
-const wu = (e, s) => s === "modelValue" || s === "model-value" ? e.modelModifiers : e[`${s}Modifiers`] || e[`${Kt(s)}Modifiers`] || e[`${Vs(s)}Modifiers`];
-function ku(e, s, ...o) {
+const ku = (e, s) => s === "modelValue" || s === "model-value" ? e.modelModifiers : e[`${s}Modifiers`] || e[`${Kt(s)}Modifiers`] || e[`${Bs(s)}Modifiers`];
+function _u(e, s, ...o) {
if (e.isUnmounted) return;
- const n = e.vnode.props || nt;
+ const a = e.vnode.props || ot;
let l = o;
- const r = s.startsWith("update:"), c = r && wu(n, s.slice(7));
- c && (c.trim && (l = o.map((v) => ut(v) ? v.trim() : v)), c.number && (l = o.map(Hn)));
- let u, d = n[u = na(s)] || // also try camelCase event handler (#2249)
- n[u = na(Kt(s))];
- !d && r && (d = n[u = na(Vs(s))]), d && os(
+ const r = s.startsWith("update:"), c = r && ku(a, s.slice(7));
+ c && (c.trim && (l = o.map((v) => ut(v) ? v.trim() : v)), c.number && (l = o.map(Yn)));
+ let u, d = a[u = ia(s)] || // also try camelCase event handler (#2249)
+ a[u = ia(Kt(s))];
+ !d && r && (d = a[u = ia(Bs(s))]), d && os(
d,
e,
6,
l
);
- const m = n[u + "Once"];
+ const m = a[u + "Once"];
if (m) {
if (!e.emitted)
e.emitted = {};
@@ -2441,30 +2441,30 @@ function ku(e, s, ...o) {
);
}
}
-const _u = /* @__PURE__ */ new WeakMap();
-function or(e, s, o = !1) {
- const n = o ? _u : s.emitsCache, l = n.get(e);
+const bu = /* @__PURE__ */ new WeakMap();
+function nr(e, s, o = !1) {
+ const a = o ? bu : s.emitsCache, l = a.get(e);
if (l !== void 0)
return l;
const r = e.emits;
let c = {}, u = !1;
- if (!Ge(e)) {
+ if (!We(e)) {
const d = (m) => {
- const v = or(m, s, !0);
+ const v = nr(m, s, !0);
v && (u = !0, pt(c, v));
};
!o && s.mixins.length && s.mixins.forEach(d), e.extends && d(e.extends), e.mixins && e.mixins.forEach(d);
}
- return !r && !u ? (ot(e) && n.set(e, null), null) : (Be(r) ? r.forEach((d) => c[d] = null) : pt(c, r), ot(e) && n.set(e, c), c);
+ return !r && !u ? (st(e) && a.set(e, null), null) : (Fe(r) ? r.forEach((d) => c[d] = null) : pt(c, r), st(e) && a.set(e, c), c);
}
-function Xn(e, s) {
- return !e || !Wn(s) ? !1 : (s = s.slice(2).replace(/Once$/, ""), et(e, s[0].toLowerCase() + s.slice(1)) || et(e, Vs(s)) || et(e, s));
+function ta(e, s) {
+ return !e || !Hn(s) ? !1 : (s = s.slice(2).replace(/Once$/, ""), et(e, s[0].toLowerCase() + s.slice(1)) || et(e, Bs(s)) || et(e, s));
}
-function Sl(e) {
+function El(e) {
const {
type: s,
vnode: o,
- proxy: n,
+ proxy: a,
withProxy: l,
propsOptions: [r],
slots: c,
@@ -2477,125 +2477,125 @@ function Sl(e) {
setupState: p,
ctx: k,
inheritAttrs: C
- } = e, b = An(e);
- let T, D;
+ } = e, b = Nn(e);
+ let x, M;
try {
if (o.shapeFlag & 4) {
- const E = l || n, U = E;
- T = ps(
+ const T = l || a, L = T;
+ x = ps(
m.call(
- U,
- E,
+ L,
+ T,
v,
g,
p,
w,
k
)
- ), D = u;
+ ), M = u;
} else {
- const E = s;
- T = ps(
- E.length > 1 ? E(
+ const T = s;
+ x = ps(
+ T.length > 1 ? T(
g,
{ attrs: u, slots: c, emit: d }
- ) : E(
+ ) : T(
g,
null
)
- ), D = s.props ? u : bu(u);
+ ), M = s.props ? u : $u(u);
}
- } catch (E) {
- Ho.length = 0, Yn(E, e, 1), T = x(bt);
+ } catch (T) {
+ Ho.length = 0, Xn(T, e, 1), x = S(bt);
}
- let P = T;
- if (D && C !== !1) {
- const E = Object.keys(D), { shapeFlag: U } = P;
- E.length && U & 7 && (r && E.some(Fa) && (D = $u(
- D,
+ let P = x;
+ if (M && C !== !1) {
+ const T = Object.keys(M), { shapeFlag: L } = P;
+ T.length && L & 7 && (r && T.some(Wa) && (M = Cu(
+ M,
r
- )), P = Fs(P, D, !1, !0));
+ )), P = Fs(P, M, !1, !0));
}
- return o.dirs && (P = Fs(P, null, !1, !0), P.dirs = P.dirs ? P.dirs.concat(o.dirs) : o.dirs), o.transition && oo(P, o.transition), T = P, An(b), T;
+ return o.dirs && (P = Fs(P, null, !1, !0), P.dirs = P.dirs ? P.dirs.concat(o.dirs) : o.dirs), o.transition && oo(P, o.transition), x = P, Nn(b), x;
}
-const bu = (e) => {
+const $u = (e) => {
let s;
for (const o in e)
- (o === "class" || o === "style" || Wn(o)) && ((s || (s = {}))[o] = e[o]);
+ (o === "class" || o === "style" || Hn(o)) && ((s || (s = {}))[o] = e[o]);
return s;
-}, $u = (e, s) => {
+}, Cu = (e, s) => {
const o = {};
- for (const n in e)
- (!Fa(n) || !(n.slice(9) in s)) && (o[n] = e[n]);
+ for (const a in e)
+ (!Wa(a) || !(a.slice(9) in s)) && (o[a] = e[a]);
return o;
};
-function Cu(e, s, o) {
- const { props: n, children: l, component: r } = e, { props: c, children: u, patchFlag: d } = s, m = r.emitsOptions;
+function xu(e, s, o) {
+ const { props: a, children: l, component: r } = e, { props: c, children: u, patchFlag: d } = s, m = r.emitsOptions;
if (s.dirs || s.transition)
return !0;
if (o && d >= 0) {
if (d & 1024)
return !0;
if (d & 16)
- return n ? Il(n, c, m) : !!c;
+ return a ? Tl(a, c, m) : !!c;
if (d & 8) {
const v = s.dynamicProps;
for (let g = 0; g < v.length; g++) {
const w = v[g];
- if (c[w] !== n[w] && !Xn(m, w))
+ if (c[w] !== a[w] && !ta(m, w))
return !0;
}
}
} else
- return (l || u) && (!u || !u.$stable) ? !0 : n === c ? !1 : n ? c ? Il(n, c, m) : !0 : !!c;
+ return (l || u) && (!u || !u.$stable) ? !0 : a === c ? !1 : a ? c ? Tl(a, c, m) : !0 : !!c;
return !1;
}
-function Il(e, s, o) {
- const n = Object.keys(s);
- if (n.length !== Object.keys(e).length)
+function Tl(e, s, o) {
+ const a = Object.keys(s);
+ if (a.length !== Object.keys(e).length)
return !0;
- for (let l = 0; l < n.length; l++) {
- const r = n[l];
- if (s[r] !== e[r] && !Xn(o, r))
+ for (let l = 0; l < a.length; l++) {
+ const r = a[l];
+ if (s[r] !== e[r] && !ta(o, r))
return !0;
}
return !1;
}
-function xu({ vnode: e, parent: s }, o) {
+function Su({ vnode: e, parent: s }, o) {
for (; s; ) {
- const n = s.subTree;
- if (n.suspense && n.suspense.activeBranch === e && (n.el = e.el), n === e)
+ const a = s.subTree;
+ if (a.suspense && a.suspense.activeBranch === e && (a.el = e.el), a === e)
(e = s.vnode).el = o, s = s.parent;
else
break;
}
}
-const nr = {}, ar = () => Object.create(nr), lr = (e) => Object.getPrototypeOf(e) === nr;
-function Su(e, s, o, n = !1) {
- const l = {}, r = ar();
- e.propsDefaults = /* @__PURE__ */ Object.create(null), ir(e, s, l, r);
+const ar = {}, lr = () => Object.create(ar), ir = (e) => Object.getPrototypeOf(e) === ar;
+function Iu(e, s, o, a = !1) {
+ const l = {}, r = lr();
+ e.propsDefaults = /* @__PURE__ */ Object.create(null), rr(e, s, l, r);
for (const c in e.propsOptions[0])
c in l || (l[c] = void 0);
- o ? e.props = n ? l : Ac(l) : e.type.props ? e.props = l : e.props = r, e.attrs = r;
+ o ? e.props = a ? l : Oc(l) : e.type.props ? e.props = l : e.props = r, e.attrs = r;
}
-function Iu(e, s, o, n) {
+function Eu(e, s, o, a) {
const {
props: l,
attrs: r,
vnode: { patchFlag: c }
- } = e, u = Xe(l), [d] = e.propsOptions;
+ } = e, u = Qe(l), [d] = e.propsOptions;
let m = !1;
if (
// always force full diff in dev
// - #1942 if hmr is enabled with sfc component
// - vite#872 non-sfc component used by sfc component
- (n || c > 0) && !(c & 16)
+ (a || c > 0) && !(c & 16)
) {
if (c & 8) {
const v = e.vnode.dynamicProps;
for (let g = 0; g < v.length; g++) {
let w = v[g];
- if (Xn(e.emitsOptions, w))
+ if (ta(e.emitsOptions, w))
continue;
const p = s[w];
if (d)
@@ -2603,7 +2603,7 @@ function Iu(e, s, o, n) {
p !== r[w] && (r[w] = p, m = !0);
else {
const k = Kt(w);
- l[k] = Ra(
+ l[k] = Da(
d,
u,
k,
@@ -2617,15 +2617,15 @@ function Iu(e, s, o, n) {
}
}
} else {
- ir(e, s, l, r) && (m = !0);
+ rr(e, s, l, r) && (m = !0);
let v;
for (const g in u)
(!s || // for camelCase
!et(s, g) && // it's possible the original props was passed in as kebab-case
// and converted to camelCase (#955)
- ((v = Vs(g)) === g || !et(s, v))) && (d ? o && // for camelCase
+ ((v = Bs(g)) === g || !et(s, v))) && (d ? o && // for camelCase
(o[g] !== void 0 || // for kebab-case
- o[v] !== void 0) && (l[g] = Ra(
+ o[v] !== void 0) && (l[g] = Da(
d,
u,
g,
@@ -2639,7 +2639,7 @@ function Iu(e, s, o, n) {
}
m && xs(e.attrs, "set", "");
}
-function ir(e, s, o, n) {
+function rr(e, s, o, a) {
const [l, r] = e.propsOptions;
let c = !1, u;
if (s)
@@ -2648,13 +2648,13 @@ function ir(e, s, o, n) {
continue;
const m = s[d];
let v;
- l && et(l, v = Kt(d)) ? !r || !r.includes(v) ? o[v] = m : (u || (u = {}))[v] = m : Xn(e.emitsOptions, d) || (!(d in n) || m !== n[d]) && (n[d] = m, c = !0);
+ l && et(l, v = Kt(d)) ? !r || !r.includes(v) ? o[v] = m : (u || (u = {}))[v] = m : ta(e.emitsOptions, d) || (!(d in a) || m !== a[d]) && (a[d] = m, c = !0);
}
if (r) {
- const d = Xe(o), m = u || nt;
+ const d = Qe(o), m = u || ot;
for (let v = 0; v < r.length; v++) {
const g = r[v];
- o[g] = Ra(
+ o[g] = Da(
l,
d,
g,
@@ -2666,75 +2666,75 @@ function ir(e, s, o, n) {
}
return c;
}
-function Ra(e, s, o, n, l, r) {
+function Da(e, s, o, a, l, r) {
const c = e[o];
if (c != null) {
const u = et(c, "default");
- if (u && n === void 0) {
+ if (u && a === void 0) {
const d = c.default;
- if (c.type !== Function && !c.skipFactory && Ge(d)) {
+ if (c.type !== Function && !c.skipFactory && We(d)) {
const { propsDefaults: m } = l;
if (o in m)
- n = m[o];
+ a = m[o];
else {
- const v = rn(l);
- n = m[o] = d.call(
+ const v = cn(l);
+ a = m[o] = d.call(
null,
s
), v();
}
} else
- n = d;
- l.ce && l.ce._setProp(o, n);
+ a = d;
+ l.ce && l.ce._setProp(o, a);
}
c[
0
/* shouldCast */
- ] && (r && !u ? n = !1 : c[
+ ] && (r && !u ? a = !1 : c[
1
/* shouldCastTrue */
- ] && (n === "" || n === Vs(o)) && (n = !0));
+ ] && (a === "" || a === Bs(o)) && (a = !0));
}
- return n;
+ return a;
}
-const Eu = /* @__PURE__ */ new WeakMap();
-function rr(e, s, o = !1) {
- const n = o ? Eu : s.propsCache, l = n.get(e);
+const Tu = /* @__PURE__ */ new WeakMap();
+function cr(e, s, o = !1) {
+ const a = o ? Tu : s.propsCache, l = a.get(e);
if (l)
return l;
const r = e.props, c = {}, u = [];
let d = !1;
- if (!Ge(e)) {
+ if (!We(e)) {
const v = (g) => {
d = !0;
- const [w, p] = rr(g, s, !0);
+ const [w, p] = cr(g, s, !0);
pt(c, w), p && u.push(...p);
};
!o && s.mixins.length && s.mixins.forEach(v), e.extends && v(e.extends), e.mixins && e.mixins.forEach(v);
}
if (!r && !d)
- return ot(e) && n.set(e, po), po;
- if (Be(r))
+ return st(e) && a.set(e, po), po;
+ if (Fe(r))
for (let v = 0; v < r.length; v++) {
const g = Kt(r[v]);
- El(g) && (c[g] = nt);
+ Rl(g) && (c[g] = ot);
}
else if (r)
for (const v in r) {
const g = Kt(v);
- if (El(g)) {
- const w = r[v], p = c[g] = Be(w) || Ge(w) ? { type: w } : pt({}, w), k = p.type;
+ if (Rl(g)) {
+ const w = r[v], p = c[g] = Fe(w) || We(w) ? { type: w } : pt({}, w), k = p.type;
let C = !1, b = !0;
- if (Be(k))
- for (let T = 0; T < k.length; ++T) {
- const D = k[T], P = Ge(D) && D.name;
+ if (Fe(k))
+ for (let x = 0; x < k.length; ++x) {
+ const M = k[x], P = We(M) && M.name;
if (P === "Boolean") {
C = !0;
break;
} else P === "String" && (b = !1);
}
else
- C = Ge(k) && k.name === "Boolean";
+ C = We(k) && k.name === "Boolean";
p[
0
/* shouldCast */
@@ -2745,59 +2745,59 @@ function rr(e, s, o = !1) {
}
}
const m = [c, u];
- return ot(e) && n.set(e, m), m;
+ return st(e) && a.set(e, m), m;
}
-function El(e) {
+function Rl(e) {
return e[0] !== "$" && !Fo(e);
}
-const el = (e) => e === "_" || e === "_ctx" || e === "$stable", tl = (e) => Be(e) ? e.map(ps) : [ps(e)], Tu = (e, s, o) => {
+const ol = (e) => e === "_" || e === "_ctx" || e === "$stable", nl = (e) => Fe(e) ? e.map(ps) : [ps(e)], Ru = (e, s, o) => {
if (s._n)
return s;
- const n = h((...l) => tl(s(...l)), o);
- return n._c = !1, n;
-}, cr = (e, s, o) => {
- const n = e._ctx;
+ const a = h((...l) => nl(s(...l)), o);
+ return a._c = !1, a;
+}, ur = (e, s, o) => {
+ const a = e._ctx;
for (const l in e) {
- if (el(l)) continue;
+ if (ol(l)) continue;
const r = e[l];
- if (Ge(r))
- s[l] = Tu(l, r, n);
+ if (We(r))
+ s[l] = Ru(l, r, a);
else if (r != null) {
- const c = tl(r);
+ const c = nl(r);
s[l] = () => c;
}
}
-}, ur = (e, s) => {
- const o = tl(s);
+}, dr = (e, s) => {
+ const o = nl(s);
e.slots.default = () => o;
-}, dr = (e, s, o) => {
- for (const n in s)
- (o || !el(n)) && (e[n] = s[n]);
-}, Ru = (e, s, o) => {
- const n = e.slots = ar();
+}, fr = (e, s, o) => {
+ for (const a in s)
+ (o || !ol(a)) && (e[a] = s[a]);
+}, Pu = (e, s, o) => {
+ const a = e.slots = lr();
if (e.vnode.shapeFlag & 32) {
const l = s._;
- l ? (dr(n, s, o), o && mi(n, "_", l, !0)) : cr(s, n);
- } else s && ur(e, s);
-}, Pu = (e, s, o) => {
- const { vnode: n, slots: l } = e;
- let r = !0, c = nt;
- if (n.shapeFlag & 32) {
+ l ? (fr(a, s, o), o && vi(a, "_", l, !0)) : ur(s, a);
+ } else s && dr(e, s);
+}, Mu = (e, s, o) => {
+ const { vnode: a, slots: l } = e;
+ let r = !0, c = ot;
+ if (a.shapeFlag & 32) {
const u = s._;
- u ? o && u === 1 ? r = !1 : dr(l, s, o) : (r = !s.$stable, cr(s, l)), c = s;
- } else s && (ur(e, s), c = { default: 1 });
+ u ? o && u === 1 ? r = !1 : fr(l, s, o) : (r = !s.$stable, ur(s, l)), c = s;
+ } else s && (dr(e, s), c = { default: 1 });
if (r)
for (const u in l)
- !el(u) && c[u] == null && delete l[u];
-}, Et = Ou;
-function Mu(e) {
- return Du(e);
+ !ol(u) && c[u] == null && delete l[u];
+}, Et = Nu;
+function Du(e) {
+ return Lu(e);
}
-function Du(e, s) {
- const o = Kn();
+function Lu(e, s) {
+ const o = Jn();
o.__VUE__ = !0;
const {
- insert: n,
+ insert: a,
remove: l,
patchProp: r,
createElement: c,
@@ -2809,126 +2809,126 @@ function Du(e, s) {
nextSibling: w,
setScopeId: p = gs,
insertStaticContent: k
- } = e, C = (O, R, F, q = null, ne = null, re = null, $e = void 0, ie = null, we = !!R.dynamicChildren) => {
- if (O === R)
+ } = e, C = (N, R, F, q = null, ne = null, re = null, Ce = void 0, ie = null, we = !!R.dynamicChildren) => {
+ if (N === R)
return;
- O && !Zs(O, R) && (q = ce(O), ze(O, ne, re, !0), O = null), R.patchFlag === -2 && (we = !1, R.dynamicChildren = null);
- const { type: he, ref: Pe, shapeFlag: Ie } = R;
+ N && !Zs(N, R) && (q = ce(N), Ue(N, ne, re, !0), N = null), R.patchFlag === -2 && (we = !1, R.dynamicChildren = null);
+ const { type: he, ref: Me, shapeFlag: Ee } = R;
switch (he) {
- case Zn:
- b(O, R, F, q);
+ case sa:
+ b(N, R, F, q);
break;
case bt:
- T(O, R, F, q);
+ x(N, R, F, q);
break;
- case fa:
- O == null && D(R, F, q, $e);
+ case pa:
+ N == null && M(R, F, q, Ce);
break;
case H:
W(
- O,
+ N,
R,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we
);
break;
default:
- Ie & 1 ? U(
- O,
+ Ee & 1 ? L(
+ N,
R,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we
- ) : Ie & 6 ? A(
- O,
+ ) : Ee & 6 ? O(
+ N,
R,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we
- ) : (Ie & 64 || Ie & 128) && he.process(
- O,
+ ) : (Ee & 64 || Ee & 128) && he.process(
+ N,
R,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we,
- Re
+ Pe
);
}
- Pe != null && ne ? Go(Pe, O && O.ref, re, R || O, !R) : Pe == null && O && O.ref != null && Go(O.ref, null, re, O, !0);
- }, b = (O, R, F, q) => {
- if (O == null)
- n(
+ Me != null && ne ? Go(Me, N && N.ref, re, R || N, !R) : Me == null && N && N.ref != null && Go(N.ref, null, re, N, !0);
+ }, b = (N, R, F, q) => {
+ if (N == null)
+ a(
R.el = u(R.children),
F,
q
);
else {
- const ne = R.el = O.el;
- R.children !== O.children && m(ne, R.children);
+ const ne = R.el = N.el;
+ R.children !== N.children && m(ne, R.children);
}
- }, T = (O, R, F, q) => {
- O == null ? n(
+ }, x = (N, R, F, q) => {
+ N == null ? a(
R.el = d(R.children || ""),
F,
q
- ) : R.el = O.el;
- }, D = (O, R, F, q) => {
- [O.el, O.anchor] = k(
- O.children,
+ ) : R.el = N.el;
+ }, M = (N, R, F, q) => {
+ [N.el, N.anchor] = k(
+ N.children,
R,
F,
q,
- O.el,
- O.anchor
+ N.el,
+ N.anchor
);
- }, P = ({ el: O, anchor: R }, F, q) => {
+ }, P = ({ el: N, anchor: R }, F, q) => {
let ne;
- for (; O && O !== R; )
- ne = w(O), n(O, F, q), O = ne;
- n(R, F, q);
- }, E = ({ el: O, anchor: R }) => {
+ for (; N && N !== R; )
+ ne = w(N), a(N, F, q), N = ne;
+ a(R, F, q);
+ }, T = ({ el: N, anchor: R }) => {
let F;
- for (; O && O !== R; )
- F = w(O), l(O), O = F;
+ for (; N && N !== R; )
+ F = w(N), l(N), N = F;
l(R);
- }, U = (O, R, F, q, ne, re, $e, ie, we) => {
- if (R.type === "svg" ? $e = "svg" : R.type === "math" && ($e = "mathml"), O == null)
- B(
+ }, L = (N, R, F, q, ne, re, Ce, ie, we) => {
+ if (R.type === "svg" ? Ce = "svg" : R.type === "math" && (Ce = "mathml"), N == null)
+ V(
R,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we
);
else {
- const he = O.el && O.el._isVueCE ? O.el : null;
+ const he = N.el && N.el._isVueCE ? N.el : null;
try {
he && he._beginPatch(), I(
- O,
+ N,
R,
ne,
re,
- $e,
+ Ce,
ie,
we
);
@@ -2936,107 +2936,107 @@ function Du(e, s) {
he && he._endPatch();
}
}
- }, B = (O, R, F, q, ne, re, $e, ie) => {
+ }, V = (N, R, F, q, ne, re, Ce, ie) => {
let we, he;
- const { props: Pe, shapeFlag: Ie, transition: te, dirs: Y } = O;
- if (we = O.el = c(
- O.type,
+ const { props: Me, shapeFlag: Ee, transition: ee, dirs: Y } = N;
+ if (we = N.el = c(
+ N.type,
re,
- Pe && Pe.is,
- Pe
- ), Ie & 8 ? v(we, O.children) : Ie & 16 && S(
- O.children,
+ Me && Me.is,
+ Me
+ ), Ee & 8 ? v(we, N.children) : Ee & 16 && E(
+ N.children,
we,
null,
q,
ne,
- da(O, re),
- $e,
+ va(N, re),
+ Ce,
ie
- ), Y && qs(O, null, q, "created"), V(we, O, O.scopeId, $e, q), Pe) {
- for (const Ce in Pe)
- Ce !== "value" && !Fo(Ce) && r(we, Ce, null, Pe[Ce], re, q);
- "value" in Pe && r(we, "value", null, Pe.value, re), (he = Pe.onVnodeBeforeMount) && us(he, q, O);
- }
- Y && qs(O, null, q, "beforeMount");
- const Me = Lu(ne, te);
- Me && te.beforeEnter(we), n(we, R, F), ((he = Pe && Pe.onVnodeMounted) || Me || Y) && Et(() => {
- he && us(he, q, O), Me && te.enter(we), Y && qs(O, null, q, "mounted");
+ ), Y && qs(N, null, q, "created"), B(we, N, N.scopeId, Ce, q), Me) {
+ for (const xe in Me)
+ xe !== "value" && !Fo(xe) && r(we, xe, null, Me[xe], re, q);
+ "value" in Me && r(we, "value", null, Me.value, re), (he = Me.onVnodeBeforeMount) && us(he, q, N);
+ }
+ Y && qs(N, null, q, "beforeMount");
+ const De = Au(ne, ee);
+ De && ee.beforeEnter(we), a(we, R, F), ((he = Me && Me.onVnodeMounted) || De || Y) && Et(() => {
+ he && us(he, q, N), De && ee.enter(we), Y && qs(N, null, q, "mounted");
}, ne);
- }, V = (O, R, F, q, ne) => {
- if (F && p(O, F), q)
+ }, B = (N, R, F, q, ne) => {
+ if (F && p(N, F), q)
for (let re = 0; re < q.length; re++)
- p(O, q[re]);
+ p(N, q[re]);
if (ne) {
let re = ne.subTree;
- if (R === re || mr(re.type) && (re.ssContent === R || re.ssFallback === R)) {
- const $e = ne.vnode;
- V(
- O,
- $e,
- $e.scopeId,
- $e.slotScopeIds,
+ if (R === re || vr(re.type) && (re.ssContent === R || re.ssFallback === R)) {
+ const Ce = ne.vnode;
+ B(
+ N,
+ Ce,
+ Ce.scopeId,
+ Ce.slotScopeIds,
ne.parent
);
}
}
- }, S = (O, R, F, q, ne, re, $e, ie, we = 0) => {
- for (let he = we; he < O.length; he++) {
- const Pe = O[he] = ie ? Us(O[he]) : ps(O[he]);
+ }, E = (N, R, F, q, ne, re, Ce, ie, we = 0) => {
+ for (let he = we; he < N.length; he++) {
+ const Me = N[he] = ie ? Us(N[he]) : ps(N[he]);
C(
null,
- Pe,
+ Me,
R,
F,
q,
ne,
re,
- $e,
+ Ce,
ie
);
}
- }, I = (O, R, F, q, ne, re, $e) => {
- const ie = R.el = O.el;
- let { patchFlag: we, dynamicChildren: he, dirs: Pe } = R;
- we |= O.patchFlag & 16;
- const Ie = O.props || nt, te = R.props || nt;
+ }, I = (N, R, F, q, ne, re, Ce) => {
+ const ie = R.el = N.el;
+ let { patchFlag: we, dynamicChildren: he, dirs: Me } = R;
+ we |= N.patchFlag & 16;
+ const Ee = N.props || ot, ee = R.props || ot;
let Y;
- if (F && Ys(F, !1), (Y = te.onVnodeBeforeUpdate) && us(Y, F, R, O), Pe && qs(R, O, F, "beforeUpdate"), F && Ys(F, !0), (Ie.innerHTML && te.innerHTML == null || Ie.textContent && te.textContent == null) && v(ie, ""), he ? L(
- O.dynamicChildren,
+ if (F && Ys(F, !1), (Y = ee.onVnodeBeforeUpdate) && us(Y, F, R, N), Me && qs(R, N, F, "beforeUpdate"), F && Ys(F, !0), (Ee.innerHTML && ee.innerHTML == null || Ee.textContent && ee.textContent == null) && v(ie, ""), he ? A(
+ N.dynamicChildren,
he,
ie,
F,
q,
- da(R, ne),
+ va(R, ne),
re
- ) : $e || ee(
- O,
+ ) : Ce || Z(
+ N,
R,
ie,
null,
F,
q,
- da(R, ne),
+ va(R, ne),
re,
!1
), we > 0) {
if (we & 16)
- Z(ie, Ie, te, F, ne);
- else if (we & 2 && Ie.class !== te.class && r(ie, "class", null, te.class, ne), we & 4 && r(ie, "style", Ie.style, te.style, ne), we & 8) {
- const Me = R.dynamicProps;
- for (let Ce = 0; Ce < Me.length; Ce++) {
- const ye = Me[Ce], K = Ie[ye], G = te[ye];
+ te(ie, Ee, ee, F, ne);
+ else if (we & 2 && Ee.class !== ee.class && r(ie, "class", null, ee.class, ne), we & 4 && r(ie, "style", Ee.style, ee.style, ne), we & 8) {
+ const De = R.dynamicProps;
+ for (let xe = 0; xe < De.length; xe++) {
+ const ye = De[xe], K = Ee[ye], G = ee[ye];
(G !== K || ye === "value") && r(ie, ye, K, G, ne, F);
}
}
- we & 1 && O.children !== R.children && v(ie, R.children);
- } else !$e && he == null && Z(ie, Ie, te, F, ne);
- ((Y = te.onVnodeUpdated) || Pe) && Et(() => {
- Y && us(Y, F, R, O), Pe && qs(R, O, F, "updated");
+ we & 1 && N.children !== R.children && v(ie, R.children);
+ } else !Ce && he == null && te(ie, Ee, ee, F, ne);
+ ((Y = ee.onVnodeUpdated) || Me) && Et(() => {
+ Y && us(Y, F, R, N), Me && qs(R, N, F, "updated");
}, q);
- }, L = (O, R, F, q, ne, re, $e) => {
+ }, A = (N, R, F, q, ne, re, Ce) => {
for (let ie = 0; ie < R.length; ie++) {
- const we = O[ie], he = R[ie], Pe = (
+ const we = N[ie], he = R[ie], Me = (
// oldVNode may be an errored async setup() component inside Suspense
// which will not have a mounted element
we.el && // - In the case of a Fragment, we need to provide the actual parent
@@ -3053,21 +3053,21 @@ function Du(e, s) {
C(
we,
he,
- Pe,
+ Me,
null,
q,
ne,
re,
- $e,
+ Ce,
!0
);
}
- }, Z = (O, R, F, q, ne) => {
+ }, te = (N, R, F, q, ne) => {
if (R !== F) {
- if (R !== nt)
+ if (R !== ot)
for (const re in R)
!Fo(re) && !(re in F) && r(
- O,
+ N,
re,
R[re],
null,
@@ -3076,63 +3076,63 @@ function Du(e, s) {
);
for (const re in F) {
if (Fo(re)) continue;
- const $e = F[re], ie = R[re];
- $e !== ie && re !== "value" && r(O, re, ie, $e, ne, q);
+ const Ce = F[re], ie = R[re];
+ Ce !== ie && re !== "value" && r(N, re, ie, Ce, ne, q);
}
- "value" in F && r(O, "value", R.value, F.value, ne);
+ "value" in F && r(N, "value", R.value, F.value, ne);
}
- }, W = (O, R, F, q, ne, re, $e, ie, we) => {
- const he = R.el = O ? O.el : u(""), Pe = R.anchor = O ? O.anchor : u("");
- let { patchFlag: Ie, dynamicChildren: te, slotScopeIds: Y } = R;
- Y && (ie = ie ? ie.concat(Y) : Y), O == null ? (n(he, F, q), n(Pe, F, q), S(
+ }, W = (N, R, F, q, ne, re, Ce, ie, we) => {
+ const he = R.el = N ? N.el : u(""), Me = R.anchor = N ? N.anchor : u("");
+ let { patchFlag: Ee, dynamicChildren: ee, slotScopeIds: Y } = R;
+ Y && (ie = ie ? ie.concat(Y) : Y), N == null ? (a(he, F, q), a(Me, F, q), E(
// #10007
// such fragment like `<>>` will be compiled into
// a fragment which doesn't have a children.
// In this case fallback to an empty array
R.children || [],
F,
- Pe,
+ Me,
ne,
re,
- $e,
+ Ce,
ie,
we
- )) : Ie > 0 && Ie & 64 && te && // #2715 the previous fragment could've been a BAILed one as a result
+ )) : Ee > 0 && Ee & 64 && ee && // #2715 the previous fragment could've been a BAILed one as a result
// of renderSlot() with no valid children
- O.dynamicChildren ? (L(
- O.dynamicChildren,
- te,
+ N.dynamicChildren ? (A(
+ N.dynamicChildren,
+ ee,
F,
ne,
re,
- $e,
+ Ce,
ie
), // #2080 if the stable fragment has a key, it's a that may
// get moved around. Make sure all root level vnodes inherit el.
// #2134 or if it's a component root, it may also get moved around
// as the component is being moved.
- (R.key != null || ne && R === ne.subTree) && sl(
- O,
+ (R.key != null || ne && R === ne.subTree) && al(
+ N,
R,
!0
/* shallow */
- )) : ee(
- O,
+ )) : Z(
+ N,
R,
F,
- Pe,
+ Me,
ne,
re,
- $e,
+ Ce,
ie,
we
);
- }, A = (O, R, F, q, ne, re, $e, ie, we) => {
- R.slotScopeIds = ie, O == null ? R.shapeFlag & 512 ? ne.ctx.activate(
+ }, O = (N, R, F, q, ne, re, Ce, ie, we) => {
+ R.slotScopeIds = ie, N == null ? R.shapeFlag & 512 ? ne.ctx.activate(
R,
F,
q,
- $e,
+ Ce,
we
) : j(
R,
@@ -3140,209 +3140,209 @@ function Du(e, s) {
q,
ne,
re,
- $e,
+ Ce,
we
- ) : X(O, R, we);
- }, j = (O, R, F, q, ne, re, $e) => {
- const ie = O.component = Wu(
- O,
+ ) : X(N, R, we);
+ }, j = (N, R, F, q, ne, re, Ce) => {
+ const ie = N.component = Gu(
+ N,
q,
ne
);
- if (Jn(O) && (ie.ctx.renderer = Re), Gu(ie, !1, $e), ie.asyncDep) {
- if (ne && ne.registerDep(ie, z, $e), !O.el) {
- const we = ie.subTree = x(bt);
- T(null, we, R, F), O.placeholder = we.el;
+ if (Zn(N) && (ie.ctx.renderer = Pe), ju(ie, !1, Ce), ie.asyncDep) {
+ if (ne && ne.registerDep(ie, z, Ce), !N.el) {
+ const we = ie.subTree = S(bt);
+ x(null, we, R, F), N.placeholder = we.el;
}
} else
z(
ie,
- O,
+ N,
R,
F,
ne,
re,
- $e
+ Ce
);
- }, X = (O, R, F) => {
- const q = R.component = O.component;
- if (Cu(O, R, F))
+ }, X = (N, R, F) => {
+ const q = R.component = N.component;
+ if (xu(N, R, F))
if (q.asyncDep && !q.asyncResolved) {
ae(q, R, F);
return;
} else
q.next = R, q.update();
else
- R.el = O.el, q.vnode = R;
- }, z = (O, R, F, q, ne, re, $e) => {
+ R.el = N.el, q.vnode = R;
+ }, z = (N, R, F, q, ne, re, Ce) => {
const ie = () => {
- if (O.isMounted) {
- let { next: Ie, bu: te, u: Y, parent: Me, vnode: Ce } = O;
+ if (N.isMounted) {
+ let { next: Ee, bu: ee, u: Y, parent: De, vnode: xe } = N;
{
- const Ve = fr(O);
+ const Ve = mr(N);
if (Ve) {
- Ie && (Ie.el = Ce.el, ae(O, Ie, $e)), Ve.asyncDep.then(() => {
- O.isUnmounted || ie();
+ Ee && (Ee.el = xe.el, ae(N, Ee, Ce)), Ve.asyncDep.then(() => {
+ N.isUnmounted || ie();
});
return;
}
}
- let ye = Ie, K;
- Ys(O, !1), Ie ? (Ie.el = Ce.el, ae(O, Ie, $e)) : Ie = Ce, te && xn(te), (K = Ie.props && Ie.props.onVnodeBeforeUpdate) && us(K, Me, Ie, Ce), Ys(O, !0);
- const G = Sl(O), me = O.subTree;
- O.subTree = G, C(
+ let ye = Ee, K;
+ Ys(N, !1), Ee ? (Ee.el = xe.el, ae(N, Ee, Ce)) : Ee = xe, ee && In(ee), (K = Ee.props && Ee.props.onVnodeBeforeUpdate) && us(K, De, Ee, xe), Ys(N, !0);
+ const G = El(N), me = N.subTree;
+ N.subTree = G, C(
me,
G,
// parent may have changed if it's in a teleport
g(me.el),
// anchor may have changed if it's in a fragment
ce(me),
- O,
+ N,
ne,
re
- ), Ie.el = G.el, ye === null && xu(O, G.el), Y && Et(Y, ne), (K = Ie.props && Ie.props.onVnodeUpdated) && Et(
- () => us(K, Me, Ie, Ce),
+ ), Ee.el = G.el, ye === null && Su(N, G.el), Y && Et(Y, ne), (K = Ee.props && Ee.props.onVnodeUpdated) && Et(
+ () => us(K, De, Ee, xe),
ne
);
} else {
- let Ie;
- const { el: te, props: Y } = R, { bm: Me, m: Ce, parent: ye, root: K, type: G } = O, me = yo(R);
- Ys(O, !1), Me && xn(Me), !me && (Ie = Y && Y.onVnodeBeforeMount) && us(Ie, ye, R), Ys(O, !0);
+ let Ee;
+ const { el: ee, props: Y } = R, { bm: De, m: xe, parent: ye, root: K, type: G } = N, me = yo(R);
+ Ys(N, !1), De && In(De), !me && (Ee = Y && Y.onVnodeBeforeMount) && us(Ee, ye, R), Ys(N, !0);
{
K.ce && // @ts-expect-error _def is private
K.ce._def.shadowRoot !== !1 && K.ce._injectChildStyle(G);
- const Ve = O.subTree = Sl(O);
+ const Ve = N.subTree = El(N);
C(
null,
Ve,
F,
q,
- O,
+ N,
ne,
re
), R.el = Ve.el;
}
- if (Ce && Et(Ce, ne), !me && (Ie = Y && Y.onVnodeMounted)) {
+ if (xe && Et(xe, ne), !me && (Ee = Y && Y.onVnodeMounted)) {
const Ve = R;
Et(
- () => us(Ie, ye, Ve),
+ () => us(Ee, ye, Ve),
ne
);
}
- (R.shapeFlag & 256 || ye && yo(ye.vnode) && ye.vnode.shapeFlag & 256) && O.a && Et(O.a, ne), O.isMounted = !0, R = F = q = null;
+ (R.shapeFlag & 256 || ye && yo(ye.vnode) && ye.vnode.shapeFlag & 256) && N.a && Et(N.a, ne), N.isMounted = !0, R = F = q = null;
}
};
- O.scope.on();
- const we = O.effect = new hi(ie);
- O.scope.off();
- const he = O.update = we.run.bind(we), Pe = O.job = we.runIfDirty.bind(we);
- Pe.i = O, Pe.id = O.uid, we.scheduler = () => Qa(Pe), Ys(O, !0), he();
- }, ae = (O, R, F) => {
- R.component = O;
- const q = O.vnode.props;
- O.vnode = R, O.next = null, Iu(O, R.props, q, F), Pu(O, R.children, F), Es(), pl(O), Ts();
- }, ee = (O, R, F, q, ne, re, $e, ie, we = !1) => {
- const he = O && O.children, Pe = O ? O.shapeFlag : 0, Ie = R.children, { patchFlag: te, shapeFlag: Y } = R;
- if (te > 0) {
- if (te & 128) {
- be(
+ N.scope.on();
+ const we = N.effect = new yi(ie);
+ N.scope.off();
+ const he = N.update = we.run.bind(we), Me = N.job = we.runIfDirty.bind(we);
+ Me.i = N, Me.id = N.uid, we.scheduler = () => el(Me), Ys(N, !0), he();
+ }, ae = (N, R, F) => {
+ R.component = N;
+ const q = N.vnode.props;
+ N.vnode = R, N.next = null, Eu(N, R.props, q, F), Mu(N, R.children, F), Es(), hl(N), Ts();
+ }, Z = (N, R, F, q, ne, re, Ce, ie, we = !1) => {
+ const he = N && N.children, Me = N ? N.shapeFlag : 0, Ee = R.children, { patchFlag: ee, shapeFlag: Y } = R;
+ if (ee > 0) {
+ if (ee & 128) {
+ $e(
he,
- Ie,
+ Ee,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we
);
return;
- } else if (te & 256) {
- ke(
+ } else if (ee & 256) {
+ _e(
he,
- Ie,
+ Ee,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we
);
return;
}
}
- Y & 8 ? (Pe & 16 && oe(he, ne, re), Ie !== he && v(F, Ie)) : Pe & 16 ? Y & 16 ? be(
+ Y & 8 ? (Me & 16 && oe(he, ne, re), Ee !== he && v(F, Ee)) : Me & 16 ? Y & 16 ? $e(
he,
- Ie,
+ Ee,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we
- ) : oe(he, ne, re, !0) : (Pe & 8 && v(F, ""), Y & 16 && S(
- Ie,
+ ) : oe(he, ne, re, !0) : (Me & 8 && v(F, ""), Y & 16 && E(
+ Ee,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we
));
- }, ke = (O, R, F, q, ne, re, $e, ie, we) => {
- O = O || po, R = R || po;
- const he = O.length, Pe = R.length, Ie = Math.min(he, Pe);
- let te;
- for (te = 0; te < Ie; te++) {
- const Y = R[te] = we ? Us(R[te]) : ps(R[te]);
+ }, _e = (N, R, F, q, ne, re, Ce, ie, we) => {
+ N = N || po, R = R || po;
+ const he = N.length, Me = R.length, Ee = Math.min(he, Me);
+ let ee;
+ for (ee = 0; ee < Ee; ee++) {
+ const Y = R[ee] = we ? Us(R[ee]) : ps(R[ee]);
C(
- O[te],
+ N[ee],
Y,
F,
null,
ne,
re,
- $e,
+ Ce,
ie,
we
);
}
- he > Pe ? oe(
- O,
+ he > Me ? oe(
+ N,
ne,
re,
!0,
!1,
- Ie
- ) : S(
+ Ee
+ ) : E(
R,
F,
q,
ne,
re,
- $e,
+ Ce,
ie,
we,
- Ie
+ Ee
);
- }, be = (O, R, F, q, ne, re, $e, ie, we) => {
+ }, $e = (N, R, F, q, ne, re, Ce, ie, we) => {
let he = 0;
- const Pe = R.length;
- let Ie = O.length - 1, te = Pe - 1;
- for (; he <= Ie && he <= te; ) {
- const Y = O[he], Me = R[he] = we ? Us(R[he]) : ps(R[he]);
- if (Zs(Y, Me))
+ const Me = R.length;
+ let Ee = N.length - 1, ee = Me - 1;
+ for (; he <= Ee && he <= ee; ) {
+ const Y = N[he], De = R[he] = we ? Us(R[he]) : ps(R[he]);
+ if (Zs(Y, De))
C(
Y,
- Me,
+ De,
F,
null,
ne,
re,
- $e,
+ Ce,
ie,
we
);
@@ -3350,84 +3350,84 @@ function Du(e, s) {
break;
he++;
}
- for (; he <= Ie && he <= te; ) {
- const Y = O[Ie], Me = R[te] = we ? Us(R[te]) : ps(R[te]);
- if (Zs(Y, Me))
+ for (; he <= Ee && he <= ee; ) {
+ const Y = N[Ee], De = R[ee] = we ? Us(R[ee]) : ps(R[ee]);
+ if (Zs(Y, De))
C(
Y,
- Me,
+ De,
F,
null,
ne,
re,
- $e,
+ Ce,
ie,
we
);
else
break;
- Ie--, te--;
+ Ee--, ee--;
}
- if (he > Ie) {
- if (he <= te) {
- const Y = te + 1, Me = Y < Pe ? R[Y].el : q;
- for (; he <= te; )
+ if (he > Ee) {
+ if (he <= ee) {
+ const Y = ee + 1, De = Y < Me ? R[Y].el : q;
+ for (; he <= ee; )
C(
null,
R[he] = we ? Us(R[he]) : ps(R[he]),
F,
- Me,
+ De,
ne,
re,
- $e,
+ Ce,
ie,
we
), he++;
}
- } else if (he > te)
- for (; he <= Ie; )
- ze(O[he], ne, re, !0), he++;
+ } else if (he > ee)
+ for (; he <= Ee; )
+ Ue(N[he], ne, re, !0), he++;
else {
- const Y = he, Me = he, Ce = /* @__PURE__ */ new Map();
- for (he = Me; he <= te; he++) {
- const st = R[he] = we ? Us(R[he]) : ps(R[he]);
- st.key != null && Ce.set(st.key, he);
+ const Y = he, De = he, xe = /* @__PURE__ */ new Map();
+ for (he = De; he <= ee; he++) {
+ const tt = R[he] = we ? Us(R[he]) : ps(R[he]);
+ tt.key != null && xe.set(tt.key, he);
}
let ye, K = 0;
- const G = te - Me + 1;
+ const G = ee - De + 1;
let me = !1, Ve = 0;
const Ze = new Array(G);
for (he = 0; he < G; he++) Ze[he] = 0;
- for (he = Y; he <= Ie; he++) {
- const st = O[he];
+ for (he = Y; he <= Ee; he++) {
+ const tt = N[he];
if (K >= G) {
- ze(st, ne, re, !0);
+ Ue(tt, ne, re, !0);
continue;
}
let vt;
- if (st.key != null)
- vt = Ce.get(st.key);
+ if (tt.key != null)
+ vt = xe.get(tt.key);
else
- for (ye = Me; ye <= te; ye++)
- if (Ze[ye - Me] === 0 && Zs(st, R[ye])) {
+ for (ye = De; ye <= ee; ye++)
+ if (Ze[ye - De] === 0 && Zs(tt, R[ye])) {
vt = ye;
break;
}
- vt === void 0 ? ze(st, ne, re, !0) : (Ze[vt - Me] = he + 1, vt >= Ve ? Ve = vt : me = !0, C(
- st,
+ vt === void 0 ? Ue(tt, ne, re, !0) : (Ze[vt - De] = he + 1, vt >= Ve ? Ve = vt : me = !0, C(
+ tt,
R[vt],
F,
null,
ne,
re,
- $e,
+ Ce,
ie,
we
), K++);
}
- const St = me ? Au(Ze) : po;
+ const St = me ? Ou(Ze) : po;
for (ye = St.length - 1, he = G - 1; he >= 0; he--) {
- const st = Me + he, vt = R[st], qt = R[st + 1], ht = st + 1 < Pe ? (
+ const tt = De + he, vt = R[tt], qt = R[tt + 1], ht = tt + 1 < Me ? (
// #13559, fallback to el placeholder for unresolved async component
qt.el || qt.placeholder
) : q;
@@ -3438,85 +3438,85 @@ function Du(e, s) {
ht,
ne,
re,
- $e,
+ Ce,
ie,
we
) : me && (ye < 0 || he !== St[ye] ? Le(vt, F, ht, 2) : ye--);
}
}
- }, Le = (O, R, F, q, ne = null) => {
- const { el: re, type: $e, transition: ie, children: we, shapeFlag: he } = O;
+ }, Le = (N, R, F, q, ne = null) => {
+ const { el: re, type: Ce, transition: ie, children: we, shapeFlag: he } = N;
if (he & 6) {
- Le(O.component.subTree, R, F, q);
+ Le(N.component.subTree, R, F, q);
return;
}
if (he & 128) {
- O.suspense.move(R, F, q);
+ N.suspense.move(R, F, q);
return;
}
if (he & 64) {
- $e.move(O, R, F, Re);
+ Ce.move(N, R, F, Pe);
return;
}
- if ($e === H) {
- n(re, R, F);
- for (let Ie = 0; Ie < we.length; Ie++)
- Le(we[Ie], R, F, q);
- n(O.anchor, R, F);
+ if (Ce === H) {
+ a(re, R, F);
+ for (let Ee = 0; Ee < we.length; Ee++)
+ Le(we[Ee], R, F, q);
+ a(N.anchor, R, F);
return;
}
- if ($e === fa) {
- P(O, R, F);
+ if (Ce === pa) {
+ P(N, R, F);
return;
}
if (q !== 2 && he & 1 && ie)
if (q === 0)
- ie.beforeEnter(re), n(re, R, F), Et(() => ie.enter(re), ne);
+ ie.beforeEnter(re), a(re, R, F), Et(() => ie.enter(re), ne);
else {
- const { leave: Ie, delayLeave: te, afterLeave: Y } = ie, Me = () => {
- O.ctx.isUnmounted ? l(re) : n(re, R, F);
- }, Ce = () => {
+ const { leave: Ee, delayLeave: ee, afterLeave: Y } = ie, De = () => {
+ N.ctx.isUnmounted ? l(re) : a(re, R, F);
+ }, xe = () => {
re._isLeaving && re[Cs](
!0
/* cancelled */
- ), Ie(re, () => {
- Me(), Y && Y();
+ ), Ee(re, () => {
+ De(), Y && Y();
});
};
- te ? te(re, Me, Ce) : Ce();
+ ee ? ee(re, De, xe) : xe();
}
else
- n(re, R, F);
- }, ze = (O, R, F, q = !1, ne = !1) => {
+ a(re, R, F);
+ }, Ue = (N, R, F, q = !1, ne = !1) => {
const {
type: re,
- props: $e,
+ props: Ce,
ref: ie,
children: we,
dynamicChildren: he,
- shapeFlag: Pe,
- patchFlag: Ie,
- dirs: te,
+ shapeFlag: Me,
+ patchFlag: Ee,
+ dirs: ee,
cacheIndex: Y
- } = O;
- if (Ie === -2 && (ne = !1), ie != null && (Es(), Go(ie, null, F, O, !0), Ts()), Y != null && (R.renderCache[Y] = void 0), Pe & 256) {
- R.ctx.deactivate(O);
+ } = N;
+ if (Ee === -2 && (ne = !1), ie != null && (Es(), Go(ie, null, F, N, !0), Ts()), Y != null && (R.renderCache[Y] = void 0), Me & 256) {
+ R.ctx.deactivate(N);
return;
}
- const Me = Pe & 1 && te, Ce = !yo(O);
+ const De = Me & 1 && ee, xe = !yo(N);
let ye;
- if (Ce && (ye = $e && $e.onVnodeBeforeUnmount) && us(ye, R, O), Pe & 6)
- pe(O.component, F, q);
+ if (xe && (ye = Ce && Ce.onVnodeBeforeUnmount) && us(ye, R, N), Me & 6)
+ pe(N.component, F, q);
else {
- if (Pe & 128) {
- O.suspense.unmount(F, q);
+ if (Me & 128) {
+ N.suspense.unmount(F, q);
return;
}
- Me && qs(O, null, R, "beforeUnmount"), Pe & 64 ? O.type.remove(
- O,
+ De && qs(N, null, R, "beforeUnmount"), Me & 64 ? N.type.remove(
+ N,
R,
F,
- Re,
+ Pe,
q
) : he && // #5154
// when v-once is used inside a block, setBlockTracking(-1) marks the
@@ -3524,173 +3524,173 @@ function Du(e, s) {
// so that it doesn't take the fast path during unmount - otherwise
// components nested in v-once are never unmounted.
!he.hasOnce && // #1153: fast path should not be taken for non-stable (v-for) fragments
- (re !== H || Ie > 0 && Ie & 64) ? oe(
+ (re !== H || Ee > 0 && Ee & 64) ? oe(
he,
R,
F,
!1,
!0
- ) : (re === H && Ie & 384 || !ne && Pe & 16) && oe(we, R, F), q && Ue(O);
+ ) : (re === H && Ee & 384 || !ne && Me & 16) && oe(we, R, F), q && Ne(N);
}
- (Ce && (ye = $e && $e.onVnodeUnmounted) || Me) && Et(() => {
- ye && us(ye, R, O), Me && qs(O, null, R, "unmounted");
+ (xe && (ye = Ce && Ce.onVnodeUnmounted) || De) && Et(() => {
+ ye && us(ye, R, N), De && qs(N, null, R, "unmounted");
}, F);
- }, Ue = (O) => {
- const { type: R, el: F, anchor: q, transition: ne } = O;
+ }, Ne = (N) => {
+ const { type: R, el: F, anchor: q, transition: ne } = N;
if (R === H) {
- Ye(F, q);
+ qe(F, q);
return;
}
- if (R === fa) {
- E(O);
+ if (R === pa) {
+ T(N);
return;
}
const re = () => {
l(F), ne && !ne.persisted && ne.afterLeave && ne.afterLeave();
};
- if (O.shapeFlag & 1 && ne && !ne.persisted) {
- const { leave: $e, delayLeave: ie } = ne, we = () => $e(F, re);
- ie ? ie(O.el, re, we) : we();
+ if (N.shapeFlag & 1 && ne && !ne.persisted) {
+ const { leave: Ce, delayLeave: ie } = ne, we = () => Ce(F, re);
+ ie ? ie(N.el, re, we) : we();
} else
re();
- }, Ye = (O, R) => {
+ }, qe = (N, R) => {
let F;
- for (; O !== R; )
- F = w(O), l(O), O = F;
+ for (; N !== R; )
+ F = w(N), l(N), N = F;
l(R);
- }, pe = (O, R, F) => {
- const { bum: q, scope: ne, job: re, subTree: $e, um: ie, m: we, a: he } = O;
- Tl(we), Tl(he), q && xn(q), ne.stop(), re && (re.flags |= 8, ze($e, O, R, F)), ie && Et(ie, R), Et(() => {
- O.isUnmounted = !0;
+ }, pe = (N, R, F) => {
+ const { bum: q, scope: ne, job: re, subTree: Ce, um: ie, m: we, a: he } = N;
+ Pl(we), Pl(he), q && In(q), ne.stop(), re && (re.flags |= 8, Ue(Ce, N, R, F)), ie && Et(ie, R), Et(() => {
+ N.isUnmounted = !0;
}, R);
- }, oe = (O, R, F, q = !1, ne = !1, re = 0) => {
- for (let $e = re; $e < O.length; $e++)
- ze(O[$e], R, F, q, ne);
- }, ce = (O) => {
- if (O.shapeFlag & 6)
- return ce(O.component.subTree);
- if (O.shapeFlag & 128)
- return O.suspense.next();
- const R = w(O.anchor || O.el), F = R && R[Ni];
+ }, oe = (N, R, F, q = !1, ne = !1, re = 0) => {
+ for (let Ce = re; Ce < N.length; Ce++)
+ Ue(N[Ce], R, F, q, ne);
+ }, ce = (N) => {
+ if (N.shapeFlag & 6)
+ return ce(N.component.subTree);
+ if (N.shapeFlag & 128)
+ return N.suspense.next();
+ const R = w(N.anchor || N.el), F = R && R[Ui];
return F ? w(F) : R;
};
let ue = !1;
- const Ee = (O, R, F) => {
- O == null ? R._vnode && ze(R._vnode, null, null, !0) : C(
+ const Te = (N, R, F) => {
+ N == null ? R._vnode && Ue(R._vnode, null, null, !0) : C(
R._vnode || null,
- O,
+ N,
R,
null,
null,
null,
F
- ), R._vnode = O, ue || (ue = !0, pl(), Li(), ue = !1);
- }, Re = {
+ ), R._vnode = N, ue || (ue = !0, hl(), Ai(), ue = !1);
+ }, Pe = {
p: C,
- um: ze,
+ um: Ue,
m: Le,
- r: Ue,
+ r: Ne,
mt: j,
- mc: S,
- pc: ee,
- pbc: L,
+ mc: E,
+ pc: Z,
+ pbc: A,
n: ce,
o: e
};
return {
- render: Ee,
+ render: Te,
hydrate: void 0,
- createApp: vu(Ee)
+ createApp: pu(Te)
};
}
-function da({ type: e, props: s }, o) {
+function va({ type: e, props: s }, o) {
return o === "svg" && e === "foreignObject" || o === "mathml" && e === "annotation-xml" && s && s.encoding && s.encoding.includes("html") ? void 0 : o;
}
function Ys({ effect: e, job: s }, o) {
o ? (e.flags |= 32, s.flags |= 4) : (e.flags &= -33, s.flags &= -5);
}
-function Lu(e, s) {
+function Au(e, s) {
return (!e || e && !e.pendingBranch) && s && !s.persisted;
}
-function sl(e, s, o = !1) {
- const n = e.children, l = s.children;
- if (Be(n) && Be(l))
- for (let r = 0; r < n.length; r++) {
- const c = n[r];
+function al(e, s, o = !1) {
+ const a = e.children, l = s.children;
+ if (Fe(a) && Fe(l))
+ for (let r = 0; r < a.length; r++) {
+ const c = a[r];
let u = l[r];
- u.shapeFlag & 1 && !u.dynamicChildren && ((u.patchFlag <= 0 || u.patchFlag === 32) && (u = l[r] = Us(l[r]), u.el = c.el), !o && u.patchFlag !== -2 && sl(c, u)), u.type === Zn && // avoid cached text nodes retaining detached dom nodes
+ u.shapeFlag & 1 && !u.dynamicChildren && ((u.patchFlag <= 0 || u.patchFlag === 32) && (u = l[r] = Us(l[r]), u.el = c.el), !o && u.patchFlag !== -2 && al(c, u)), u.type === sa && // avoid cached text nodes retaining detached dom nodes
u.patchFlag !== -1 && (u.el = c.el), u.type === bt && !u.el && (u.el = c.el);
}
}
-function Au(e) {
+function Ou(e) {
const s = e.slice(), o = [0];
- let n, l, r, c, u;
+ let a, l, r, c, u;
const d = e.length;
- for (n = 0; n < d; n++) {
- const m = e[n];
+ for (a = 0; a < d; a++) {
+ const m = e[a];
if (m !== 0) {
if (l = o[o.length - 1], e[l] < m) {
- s[n] = l, o.push(n);
+ s[a] = l, o.push(a);
continue;
}
for (r = 0, c = o.length - 1; r < c; )
u = r + c >> 1, e[o[u]] < m ? r = u + 1 : c = u;
- m < e[o[r]] && (r > 0 && (s[n] = o[r - 1]), o[r] = n);
+ m < e[o[r]] && (r > 0 && (s[a] = o[r - 1]), o[r] = a);
}
}
for (r = o.length, c = o[r - 1]; r-- > 0; )
o[r] = c, c = s[c];
return o;
}
-function fr(e) {
+function mr(e) {
const s = e.subTree.component;
if (s)
- return s.asyncDep && !s.asyncResolved ? s : fr(s);
+ return s.asyncDep && !s.asyncResolved ? s : mr(s);
}
-function Tl(e) {
+function Pl(e) {
if (e)
for (let s = 0; s < e.length; s++)
e[s].flags |= 8;
}
-const mr = (e) => e.__isSuspense;
-function Ou(e, s) {
- s && s.pendingBranch ? Be(e) ? s.effects.push(...e) : s.effects.push(e) : Hc(e);
+const vr = (e) => e.__isSuspense;
+function Nu(e, s) {
+ s && s.pendingBranch ? Fe(e) ? s.effects.push(...e) : s.effects.push(e) : Kc(e);
}
-const H = Symbol.for("v-fgt"), Zn = Symbol.for("v-txt"), bt = Symbol.for("v-cmt"), fa = Symbol.for("v-stc"), Ho = [];
+const H = Symbol.for("v-fgt"), sa = Symbol.for("v-txt"), bt = Symbol.for("v-cmt"), pa = Symbol.for("v-stc"), Ho = [];
let Ut = null;
-function a(e = !1) {
+function n(e = !1) {
Ho.push(Ut = e ? null : []);
}
-function Nu() {
+function Uu() {
Ho.pop(), Ut = Ho[Ho.length - 1] || null;
}
let tn = 1;
-function Un(e, s = !1) {
+function Fn(e, s = !1) {
tn += e, e < 0 && Ut && s && (Ut.hasOnce = !0);
}
-function vr(e) {
- return e.dynamicChildren = tn > 0 ? Ut || po : null, Nu(), tn > 0 && Ut && Ut.push(e), e;
+function pr(e) {
+ return e.dynamicChildren = tn > 0 ? Ut || po : null, Uu(), tn > 0 && Ut && Ut.push(e), e;
}
-function i(e, s, o, n, l, r) {
- return vr(
+function i(e, s, o, a, l, r) {
+ return pr(
t(
e,
s,
o,
- n,
+ a,
l,
r,
!0
)
);
}
-function M(e, s, o, n, l) {
- return vr(
- x(
+function D(e, s, o, a, l) {
+ return pr(
+ S(
e,
s,
o,
- n,
+ a,
l,
!0
)
@@ -3702,20 +3702,20 @@ function sn(e) {
function Zs(e, s) {
return e.type === s.type && e.key === s.key;
}
-const pr = ({ key: e }) => e ?? null, En = ({
+const gr = ({ key: e }) => e ?? null, Rn = ({
ref: e,
ref_key: s,
ref_for: o
-}) => (typeof e == "number" && (e = "" + e), e != null ? ut(e) || Ct(e) || Ge(e) ? { i: wt, r: e, k: s, f: !!o } : e : null);
-function t(e, s = null, o = null, n = 0, l = null, r = e === H ? 0 : 1, c = !1, u = !1) {
+}) => (typeof e == "number" && (e = "" + e), e != null ? ut(e) || Ct(e) || We(e) ? { i: wt, r: e, k: s, f: !!o } : e : null);
+function t(e, s = null, o = null, a = 0, l = null, r = e === H ? 0 : 1, c = !1, u = !1) {
const d = {
__v_isVNode: !0,
__v_skip: !0,
type: e,
props: s,
- key: s && pr(s),
- ref: s && En(s),
- scopeId: Oi,
+ key: s && gr(s),
+ ref: s && Rn(s),
+ scopeId: Ni,
slotScopeIds: null,
children: o,
component: null,
@@ -3731,13 +3731,13 @@ function t(e, s = null, o = null, n = 0, l = null, r = e === H ? 0 : 1, c = !1,
targetAnchor: null,
staticCount: 0,
shapeFlag: r,
- patchFlag: n,
+ patchFlag: a,
dynamicProps: l,
dynamicChildren: null,
appContext: null,
ctx: wt
};
- return u ? (ol(d, o), r & 128 && e.normalize(d)) : o && (d.shapeFlag |= ut(o) ? 8 : 16), tn > 0 && // avoid a block node from tracking itself
+ return u ? (ll(d, o), r & 128 && e.normalize(d)) : o && (d.shapeFlag |= ut(o) ? 8 : 16), tn > 0 && // avoid a block node from tracking itself
!c && // has current parent block
Ut && // presence of a patch flag indicates this node needs patching on updates.
// component nodes also should always be patched, because even if the
@@ -3747,49 +3747,49 @@ function t(e, s = null, o = null, n = 0, l = null, r = e === H ? 0 : 1, c = !1,
// vnode should not be considered dynamic due to handler caching.
d.patchFlag !== 32 && Ut.push(d), d;
}
-const x = Uu;
-function Uu(e, s = null, o = null, n = 0, l = null, r = !1) {
- if ((!e || e === Ji) && (e = bt), sn(e)) {
+const S = zu;
+function zu(e, s = null, o = null, a = 0, l = null, r = !1) {
+ if ((!e || e === Qi) && (e = bt), sn(e)) {
const u = Fs(
e,
s,
!0
/* mergeRef: true */
);
- return o && ol(u, o), tn > 0 && !r && Ut && (u.shapeFlag & 6 ? Ut[Ut.indexOf(e)] = u : Ut.push(u)), u.patchFlag = -2, u;
+ return o && ll(u, o), tn > 0 && !r && Ut && (u.shapeFlag & 6 ? Ut[Ut.indexOf(e)] = u : Ut.push(u)), u.patchFlag = -2, u;
}
- if (Yu(e) && (e = e.__vccOpts), s) {
- s = zu(s);
+ if (Ju(e) && (e = e.__vccOpts), s) {
+ s = Fu(s);
let { class: u, style: d } = s;
- u && !ut(u) && (s.class = Se(u)), ot(d) && (Ja(d) && !Be(d) && (d = pt({}, d)), s.style = Ft(d));
+ u && !ut(u) && (s.class = Ie(u)), st(d) && (Za(d) && !Fe(d) && (d = pt({}, d)), s.style = Ft(d));
}
- const c = ut(e) ? 1 : mr(e) ? 128 : Ui(e) ? 64 : ot(e) ? 4 : Ge(e) ? 2 : 0;
+ const c = ut(e) ? 1 : vr(e) ? 128 : zi(e) ? 64 : st(e) ? 4 : We(e) ? 2 : 0;
return t(
e,
s,
o,
- n,
+ a,
l,
c,
r,
!0
);
}
-function zu(e) {
- return e ? Ja(e) || lr(e) ? pt({}, e) : e : null;
+function Fu(e) {
+ return e ? Za(e) || ir(e) ? pt({}, e) : e : null;
}
-function Fs(e, s, o = !1, n = !1) {
- const { props: l, ref: r, patchFlag: c, children: u, transition: d } = e, m = s ? Fu(l || {}, s) : l, v = {
+function Fs(e, s, o = !1, a = !1) {
+ const { props: l, ref: r, patchFlag: c, children: u, transition: d } = e, m = s ? Vu(l || {}, s) : l, v = {
__v_isVNode: !0,
__v_skip: !0,
type: e.type,
props: m,
- key: m && pr(m),
+ key: m && gr(m),
ref: s && s.ref ? (
// #2078 in the case of
// if the vnode itself already has a ref, cloneVNode will need to merge
// the refs so the single vnode can be set on multiple refs
- o && r ? Be(r) ? r.concat(En(s)) : [r, En(s)] : En(s)
+ o && r ? Fe(r) ? r.concat(Rn(s)) : [r, Rn(s)] : Rn(s)
) : r,
scopeId: e.scopeId,
slotScopeIds: e.slotScopeIds,
@@ -3823,77 +3823,77 @@ function Fs(e, s, o = !1, n = !1) {
ctx: e.ctx,
ce: e.ce
};
- return d && n && oo(
+ return d && a && oo(
v,
d.clone(v)
), v;
}
function $(e = " ", s = 0) {
- return x(Zn, null, e, s);
+ return S(sa, null, e, s);
}
function y(e = "", s = !1) {
- return s ? (a(), M(bt, null, e)) : x(bt, null, e);
+ return s ? (n(), D(bt, null, e)) : S(bt, null, e);
}
function ps(e) {
- return e == null || typeof e == "boolean" ? x(bt) : Be(e) ? x(
+ return e == null || typeof e == "boolean" ? S(bt) : Fe(e) ? S(
H,
null,
// #3666, avoid reference pollution when reusing vnode
e.slice()
- ) : sn(e) ? Us(e) : x(Zn, null, String(e));
+ ) : sn(e) ? Us(e) : S(sa, null, String(e));
}
function Us(e) {
return e.el === null && e.patchFlag !== -1 || e.memo ? e : Fs(e);
}
-function ol(e, s) {
+function ll(e, s) {
let o = 0;
- const { shapeFlag: n } = e;
+ const { shapeFlag: a } = e;
if (s == null)
s = null;
- else if (Be(s))
+ else if (Fe(s))
o = 16;
else if (typeof s == "object")
- if (n & 65) {
+ if (a & 65) {
const l = s.default;
- l && (l._c && (l._d = !1), ol(e, l()), l._c && (l._d = !0));
+ l && (l._c && (l._d = !1), ll(e, l()), l._c && (l._d = !0));
return;
} else {
o = 32;
const l = s._;
- !l && !lr(s) ? s._ctx = wt : l === 3 && wt && (wt.slots._ === 1 ? s._ = 1 : (s._ = 2, e.patchFlag |= 1024));
+ !l && !ir(s) ? s._ctx = wt : l === 3 && wt && (wt.slots._ === 1 ? s._ = 1 : (s._ = 2, e.patchFlag |= 1024));
}
- else Ge(s) ? (s = { default: s, _ctx: wt }, o = 32) : (s = String(s), n & 64 ? (o = 16, s = [$(s)]) : o = 8);
+ else We(s) ? (s = { default: s, _ctx: wt }, o = 32) : (s = String(s), a & 64 ? (o = 16, s = [$(s)]) : o = 8);
e.children = s, e.shapeFlag |= o;
}
-function Fu(...e) {
+function Vu(...e) {
const s = {};
for (let o = 0; o < e.length; o++) {
- const n = e[o];
- for (const l in n)
+ const a = e[o];
+ for (const l in a)
if (l === "class")
- s.class !== n.class && (s.class = Se([s.class, n.class]));
+ s.class !== a.class && (s.class = Ie([s.class, a.class]));
else if (l === "style")
- s.style = Ft([s.style, n.style]);
- else if (Wn(l)) {
- const r = s[l], c = n[l];
- c && r !== c && !(Be(r) && r.includes(c)) && (s[l] = r ? [].concat(r, c) : c);
- } else l !== "" && (s[l] = n[l]);
+ s.style = Ft([s.style, a.style]);
+ else if (Hn(l)) {
+ const r = s[l], c = a[l];
+ c && r !== c && !(Fe(r) && r.includes(c)) && (s[l] = r ? [].concat(r, c) : c);
+ } else l !== "" && (s[l] = a[l]);
}
return s;
}
-function us(e, s, o, n = null) {
+function us(e, s, o, a = null) {
os(e, s, 7, [
o,
- n
+ a
]);
}
-const Bu = er();
-let Vu = 0;
-function Wu(e, s, o) {
- const n = e.type, l = (s ? s.appContext : e.appContext) || Bu, r = {
- uid: Vu++,
+const Bu = tr();
+let Wu = 0;
+function Gu(e, s, o) {
+ const a = e.type, l = (s ? s.appContext : e.appContext) || Bu, r = {
+ uid: Wu++,
vnode: e,
- type: n,
+ type: a,
parent: s,
appContext: l,
root: null,
@@ -3905,7 +3905,7 @@ function Wu(e, s, o) {
update: null,
// will be set synchronously right after creation
job: null,
- scope: new pc(
+ scope: new gc(
!0
/* detached */
),
@@ -3922,24 +3922,24 @@ function Wu(e, s, o) {
components: null,
directives: null,
// resolved props and emits options
- propsOptions: rr(n, l),
- emitsOptions: or(n, l),
+ propsOptions: cr(a, l),
+ emitsOptions: nr(a, l),
// emit
emit: null,
// to be set immediately
emitted: null,
// props default value
- propsDefaults: nt,
+ propsDefaults: ot,
// inheritAttrs
- inheritAttrs: n.inheritAttrs,
+ inheritAttrs: a.inheritAttrs,
// state
- ctx: nt,
- data: nt,
- props: nt,
- attrs: nt,
- slots: nt,
- refs: nt,
- setupState: nt,
+ ctx: ot,
+ data: ot,
+ props: ot,
+ attrs: ot,
+ slots: ot,
+ refs: ot,
+ setupState: ot,
setupContext: null,
// suspense related
suspense: o,
@@ -3966,107 +3966,107 @@ function Wu(e, s, o) {
ec: null,
sp: null
};
- return r.ctx = { _: r }, r.root = s ? s.root : r, r.emit = ku.bind(null, r), e.ce && e.ce(r), r;
+ return r.ctx = { _: r }, r.root = s ? s.root : r, r.emit = _u.bind(null, r), e.ce && e.ce(r), r;
}
let $t = null;
-const nl = () => $t || wt;
-let zn, Pa;
+const il = () => $t || wt;
+let Vn, La;
{
- const e = Kn(), s = (o, n) => {
+ const e = Jn(), s = (o, a) => {
let l;
- return (l = e[o]) || (l = e[o] = []), l.push(n), (r) => {
+ return (l = e[o]) || (l = e[o] = []), l.push(a), (r) => {
l.length > 1 ? l.forEach((c) => c(r)) : l[0](r);
};
};
- zn = s(
+ Vn = s(
"__VUE_INSTANCE_SETTERS__",
(o) => $t = o
- ), Pa = s(
+ ), La = s(
"__VUE_SSR_SETTERS__",
(o) => on = o
);
}
-const rn = (e) => {
+const cn = (e) => {
const s = $t;
- return zn(e), e.scope.on(), () => {
- e.scope.off(), zn(s);
+ return Vn(e), e.scope.on(), () => {
+ e.scope.off(), Vn(s);
};
-}, Rl = () => {
- $t && $t.scope.off(), zn(null);
+}, Ml = () => {
+ $t && $t.scope.off(), Vn(null);
};
-function gr(e) {
+function hr(e) {
return e.vnode.shapeFlag & 4;
}
let on = !1;
-function Gu(e, s = !1, o = !1) {
- s && Pa(s);
- const { props: n, children: l } = e.vnode, r = gr(e);
- Su(e, n, r, s), Ru(e, l, o || s);
- const c = r ? ju(e, s) : void 0;
- return s && Pa(!1), c;
-}
-function ju(e, s) {
+function ju(e, s = !1, o = !1) {
+ s && La(s);
+ const { props: a, children: l } = e.vnode, r = hr(e);
+ Iu(e, a, r, s), Pu(e, l, o || s);
+ const c = r ? Hu(e, s) : void 0;
+ return s && La(!1), c;
+}
+function Hu(e, s) {
const o = e.type;
- e.accessCache = /* @__PURE__ */ Object.create(null), e.proxy = new Proxy(e.ctx, iu);
- const { setup: n } = o;
- if (n) {
+ e.accessCache = /* @__PURE__ */ Object.create(null), e.proxy = new Proxy(e.ctx, ru);
+ const { setup: a } = o;
+ if (a) {
Es();
- const l = e.setupContext = n.length > 1 ? Ku(e) : null, r = rn(e), c = ln(
- n,
+ const l = e.setupContext = a.length > 1 ? qu(e) : null, r = cn(e), c = rn(
+ a,
e,
0,
[
e.props,
l
]
- ), u = ui(c);
- if (Ts(), r(), (u || e.sp) && !yo(e) && Hi(e), u) {
- if (c.then(Rl, Rl), s)
+ ), u = di(c);
+ if (Ts(), r(), (u || e.sp) && !yo(e) && Ki(e), u) {
+ if (c.then(Ml, Ml), s)
return c.then((d) => {
- Pl(e, d);
+ Dl(e, d);
}).catch((d) => {
- Yn(d, e, 0);
+ Xn(d, e, 0);
});
e.asyncDep = c;
} else
- Pl(e, c);
+ Dl(e, c);
} else
- hr(e);
+ yr(e);
}
-function Pl(e, s, o) {
- Ge(s) ? e.type.__ssrInlineRender ? e.ssrRender = s : e.render = s : ot(s) && (e.setupState = Pi(s)), hr(e);
+function Dl(e, s, o) {
+ We(s) ? e.type.__ssrInlineRender ? e.ssrRender = s : e.render = s : st(s) && (e.setupState = Mi(s)), yr(e);
}
-function hr(e, s, o) {
- const n = e.type;
- e.render || (e.render = n.render || gs);
+function yr(e, s, o) {
+ const a = e.type;
+ e.render || (e.render = a.render || gs);
{
- const l = rn(e);
+ const l = cn(e);
Es();
try {
- ru(e);
+ cu(e);
} finally {
Ts(), l();
}
}
}
-const Hu = {
+const Ku = {
get(e, s) {
return _t(e, "get", ""), e[s];
}
};
-function Ku(e) {
+function qu(e) {
const s = (o) => {
e.exposed = o || {};
};
return {
- attrs: new Proxy(e.attrs, Hu),
+ attrs: new Proxy(e.attrs, Ku),
slots: e.slots,
emit: e.emit,
expose: s
};
}
-function ea(e) {
- return e.exposed ? e.exposeProxy || (e.exposeProxy = new Proxy(Pi(Oc(e.exposed)), {
+function oa(e) {
+ return e.exposed ? e.exposeProxy || (e.exposeProxy = new Proxy(Mi(Nc(e.exposed)), {
get(s, o) {
if (o in s)
return s[o];
@@ -4078,38 +4078,38 @@ function ea(e) {
}
})) : e.proxy;
}
-function qu(e, s = !0) {
- return Ge(e) ? e.displayName || e.name : e.name || s && e.__name;
+function Yu(e, s = !0) {
+ return We(e) ? e.displayName || e.name : e.name || s && e.__name;
}
-function Yu(e) {
- return Ge(e) && "__vccOpts" in e;
+function Ju(e) {
+ return We(e) && "__vccOpts" in e;
}
-const N = (e, s) => Bc(e, s, on);
-function cn(e, s, o) {
+const U = (e, s) => Bc(e, s, on);
+function un(e, s, o) {
try {
- Un(-1);
- const n = arguments.length;
- return n === 2 ? ot(s) && !Be(s) ? sn(s) ? x(e, null, [s]) : x(e, s) : x(e, null, s) : (n > 3 ? o = Array.prototype.slice.call(arguments, 2) : n === 3 && sn(o) && (o = [o]), x(e, s, o));
+ Fn(-1);
+ const a = arguments.length;
+ return a === 2 ? st(s) && !Fe(s) ? sn(s) ? S(e, null, [s]) : S(e, s) : S(e, null, s) : (a > 3 ? o = Array.prototype.slice.call(arguments, 2) : a === 3 && sn(o) && (o = [o]), S(e, s, o));
} finally {
- Un(1);
+ Fn(1);
}
}
-const Ju = "3.5.25";
+const Qu = "3.5.25";
/**
* @vue/runtime-dom v3.5.25
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
-let Ma;
-const Ml = typeof window < "u" && window.trustedTypes;
-if (Ml)
+let Aa;
+const Ll = typeof window < "u" && window.trustedTypes;
+if (Ll)
try {
- Ma = /* @__PURE__ */ Ml.createPolicy("vue", {
+ Aa = /* @__PURE__ */ Ll.createPolicy("vue", {
createHTML: (e) => e
});
} catch {
}
-const yr = Ma ? (e) => Ma.createHTML(e) : (e) => e, Qu = "http://www.w3.org/2000/svg", Xu = "http://www.w3.org/1998/Math/MathML", $s = typeof document < "u" ? document : null, Dl = $s && /* @__PURE__ */ $s.createElement("template"), Zu = {
+const wr = Aa ? (e) => Aa.createHTML(e) : (e) => e, Xu = "http://www.w3.org/2000/svg", Zu = "http://www.w3.org/1998/Math/MathML", $s = typeof document < "u" ? document : null, Al = $s && /* @__PURE__ */ $s.createElement("template"), ed = {
insert: (e, s, o) => {
s.insertBefore(e, o || null);
},
@@ -4117,9 +4117,9 @@ const yr = Ma ? (e) => Ma.createHTML(e) : (e) => e, Qu = "http://www.w3.org/2000
const s = e.parentNode;
s && s.removeChild(e);
},
- createElement: (e, s, o, n) => {
- const l = s === "svg" ? $s.createElementNS(Qu, e) : s === "mathml" ? $s.createElementNS(Xu, e) : o ? $s.createElement(e, { is: o }) : $s.createElement(e);
- return e === "select" && n && n.multiple != null && l.setAttribute("multiple", n.multiple), l;
+ createElement: (e, s, o, a) => {
+ const l = s === "svg" ? $s.createElementNS(Xu, e) : s === "mathml" ? $s.createElementNS(Zu, e) : o ? $s.createElement(e, { is: o }) : $s.createElement(e);
+ return e === "select" && a && a.multiple != null && l.setAttribute("multiple", a.multiple), l;
},
createText: (e) => $s.createTextNode(e),
createComment: (e) => $s.createComment(e),
@@ -4139,17 +4139,17 @@ const yr = Ma ? (e) => Ma.createHTML(e) : (e) => e, Qu = "http://www.w3.org/2000
// Reason: innerHTML.
// Static content here can only come from compiled templates.
// As long as the user only uses trusted templates, this is safe.
- insertStaticContent(e, s, o, n, l, r) {
+ insertStaticContent(e, s, o, a, l, r) {
const c = o ? o.previousSibling : s.lastChild;
if (l && (l === r || l.nextSibling))
for (; s.insertBefore(l.cloneNode(!0), o), !(l === r || !(l = l.nextSibling)); )
;
else {
- Dl.innerHTML = yr(
- n === "svg" ? `` : n === "mathml" ? `` : e
+ Al.innerHTML = wr(
+ a === "svg" ? `` : a === "mathml" ? `` : e
);
- const u = Dl.content;
- if (n === "svg" || n === "mathml") {
+ const u = Al.content;
+ if (a === "svg" || a === "mathml") {
const d = u.firstChild;
for (; d.firstChild; )
u.appendChild(d.firstChild);
@@ -4164,7 +4164,7 @@ const yr = Ma ? (e) => Ma.createHTML(e) : (e) => e, Qu = "http://www.w3.org/2000
o ? o.previousSibling : s.lastChild
];
}
-}, Ls = "transition", Mo = "animation", bo = Symbol("_vtc"), wr = {
+}, Ls = "transition", Mo = "animation", bo = Symbol("_vtc"), kr = {
name: String,
type: String,
css: {
@@ -4181,24 +4181,24 @@ const yr = Ma ? (e) => Ma.createHTML(e) : (e) => e, Qu = "http://www.w3.org/2000
leaveFromClass: String,
leaveActiveClass: String,
leaveToClass: String
-}, kr = /* @__PURE__ */ pt(
+}, _r = /* @__PURE__ */ pt(
{},
- Vi,
- wr
-), ed = (e) => (e.displayName = "Transition", e.props = kr, e), td = /* @__PURE__ */ ed(
- (e, { slots: s }) => cn(Yc, _r(e), s)
+ Wi,
+ kr
+), td = (e) => (e.displayName = "Transition", e.props = _r, e), sd = /* @__PURE__ */ td(
+ (e, { slots: s }) => un(Jc, br(e), s)
), Js = (e, s = []) => {
- Be(e) ? e.forEach((o) => o(...s)) : e && e(...s);
-}, Ll = (e) => e ? Be(e) ? e.some((s) => s.length > 1) : e.length > 1 : !1;
-function _r(e) {
+ Fe(e) ? e.forEach((o) => o(...s)) : e && e(...s);
+}, Ol = (e) => e ? Fe(e) ? e.some((s) => s.length > 1) : e.length > 1 : !1;
+function br(e) {
const s = {};
for (const W in e)
- W in wr || (s[W] = e[W]);
+ W in kr || (s[W] = e[W]);
if (e.css === !1)
return s;
const {
name: o = "v",
- type: n,
+ type: a,
duration: l,
enterFromClass: r = `${o}-enter-from`,
enterActiveClass: c = `${o}-enter-active`,
@@ -4209,88 +4209,88 @@ function _r(e) {
leaveFromClass: g = `${o}-leave-from`,
leaveActiveClass: w = `${o}-leave-active`,
leaveToClass: p = `${o}-leave-to`
- } = e, k = sd(l), C = k && k[0], b = k && k[1], {
- onBeforeEnter: T,
- onEnter: D,
+ } = e, k = od(l), C = k && k[0], b = k && k[1], {
+ onBeforeEnter: x,
+ onEnter: M,
onEnterCancelled: P,
- onLeave: E,
- onLeaveCancelled: U,
- onBeforeAppear: B = T,
- onAppear: V = D,
- onAppearCancelled: S = P
- } = s, I = (W, A, j, X) => {
- W._enterCancelled = X, As(W, A ? v : u), As(W, A ? m : c), j && j();
- }, L = (W, A) => {
- W._isLeaving = !1, As(W, g), As(W, p), As(W, w), A && A();
- }, Z = (W) => (A, j) => {
- const X = W ? V : D, z = () => I(A, W, j);
- Js(X, [A, z]), Al(() => {
- As(A, W ? d : r), fs(A, W ? v : u), Ll(X) || Ol(A, n, C, z);
+ onLeave: T,
+ onLeaveCancelled: L,
+ onBeforeAppear: V = x,
+ onAppear: B = M,
+ onAppearCancelled: E = P
+ } = s, I = (W, O, j, X) => {
+ W._enterCancelled = X, As(W, O ? v : u), As(W, O ? m : c), j && j();
+ }, A = (W, O) => {
+ W._isLeaving = !1, As(W, g), As(W, p), As(W, w), O && O();
+ }, te = (W) => (O, j) => {
+ const X = W ? B : M, z = () => I(O, W, j);
+ Js(X, [O, z]), Nl(() => {
+ As(O, W ? d : r), fs(O, W ? v : u), Ol(X) || Ul(O, a, C, z);
});
};
return pt(s, {
onBeforeEnter(W) {
- Js(T, [W]), fs(W, r), fs(W, c);
+ Js(x, [W]), fs(W, r), fs(W, c);
},
onBeforeAppear(W) {
- Js(B, [W]), fs(W, d), fs(W, m);
+ Js(V, [W]), fs(W, d), fs(W, m);
},
- onEnter: Z(!1),
- onAppear: Z(!0),
- onLeave(W, A) {
+ onEnter: te(!1),
+ onAppear: te(!0),
+ onLeave(W, O) {
W._isLeaving = !0;
- const j = () => L(W, A);
- fs(W, g), W._enterCancelled ? (fs(W, w), Da(W)) : (Da(W), fs(W, w)), Al(() => {
- W._isLeaving && (As(W, g), fs(W, p), Ll(E) || Ol(W, n, b, j));
- }), Js(E, [W, j]);
+ const j = () => A(W, O);
+ fs(W, g), W._enterCancelled ? (fs(W, w), Oa(W)) : (Oa(W), fs(W, w)), Nl(() => {
+ W._isLeaving && (As(W, g), fs(W, p), Ol(T) || Ul(W, a, b, j));
+ }), Js(T, [W, j]);
},
onEnterCancelled(W) {
I(W, !1, void 0, !0), Js(P, [W]);
},
onAppearCancelled(W) {
- I(W, !0, void 0, !0), Js(S, [W]);
+ I(W, !0, void 0, !0), Js(E, [W]);
},
onLeaveCancelled(W) {
- L(W), Js(U, [W]);
+ A(W), Js(L, [W]);
}
});
}
-function sd(e) {
+function od(e) {
if (e == null)
return null;
- if (ot(e))
- return [ma(e.enter), ma(e.leave)];
+ if (st(e))
+ return [ga(e.enter), ga(e.leave)];
{
- const s = ma(e);
+ const s = ga(e);
return [s, s];
}
}
-function ma(e) {
- return ic(e);
+function ga(e) {
+ return rc(e);
}
function fs(e, s) {
s.split(/\s+/).forEach((o) => o && e.classList.add(o)), (e[bo] || (e[bo] = /* @__PURE__ */ new Set())).add(s);
}
function As(e, s) {
- s.split(/\s+/).forEach((n) => n && e.classList.remove(n));
+ s.split(/\s+/).forEach((a) => a && e.classList.remove(a));
const o = e[bo];
o && (o.delete(s), o.size || (e[bo] = void 0));
}
-function Al(e) {
+function Nl(e) {
requestAnimationFrame(() => {
requestAnimationFrame(e);
});
}
-let od = 0;
-function Ol(e, s, o, n) {
- const l = e._endId = ++od, r = () => {
- l === e._endId && n();
+let nd = 0;
+function Ul(e, s, o, a) {
+ const l = e._endId = ++nd, r = () => {
+ l === e._endId && a();
};
if (o != null)
return setTimeout(r, o);
- const { type: c, timeout: u, propCount: d } = br(e, s);
+ const { type: c, timeout: u, propCount: d } = $r(e, s);
if (!c)
- return n();
+ return a();
const m = c + "end";
let v = 0;
const g = () => {
@@ -4302,12 +4302,12 @@ function Ol(e, s, o, n) {
v < d && g();
}, u + 1), e.addEventListener(m, w);
}
-function br(e, s) {
- const o = window.getComputedStyle(e), n = (k) => (o[k] || "").split(", "), l = n(`${Ls}Delay`), r = n(`${Ls}Duration`), c = Nl(l, r), u = n(`${Mo}Delay`), d = n(`${Mo}Duration`), m = Nl(u, d);
+function $r(e, s) {
+ const o = window.getComputedStyle(e), a = (k) => (o[k] || "").split(", "), l = a(`${Ls}Delay`), r = a(`${Ls}Duration`), c = zl(l, r), u = a(`${Mo}Delay`), d = a(`${Mo}Duration`), m = zl(u, d);
let v = null, g = 0, w = 0;
s === Ls ? c > 0 && (v = Ls, g = c, w = r.length) : s === Mo ? m > 0 && (v = Mo, g = m, w = d.length) : (g = Math.max(c, m), v = g > 0 ? c > m ? Ls : Mo : null, w = v ? v === Ls ? r.length : d.length : 0);
const p = v === Ls && /\b(?:transform|all)(?:,|$)/.test(
- n(`${Ls}Property`).toString()
+ a(`${Ls}Property`).toString()
);
return {
type: v,
@@ -4316,86 +4316,86 @@ function br(e, s) {
hasTransform: p
};
}
-function Nl(e, s) {
+function zl(e, s) {
for (; e.length < s.length; )
e = e.concat(e);
- return Math.max(...s.map((o, n) => Ul(o) + Ul(e[n])));
+ return Math.max(...s.map((o, a) => Fl(o) + Fl(e[a])));
}
-function Ul(e) {
+function Fl(e) {
return e === "auto" ? 0 : Number(e.slice(0, -1).replace(",", ".")) * 1e3;
}
-function Da(e) {
+function Oa(e) {
return (e ? e.ownerDocument : document).body.offsetHeight;
}
-function nd(e, s, o) {
- const n = e[bo];
- n && (s = (s ? [s, ...n] : [...n]).join(" ")), s == null ? e.removeAttribute("class") : o ? e.setAttribute("class", s) : e.className = s;
+function ad(e, s, o) {
+ const a = e[bo];
+ a && (s = (s ? [s, ...a] : [...a]).join(" ")), s == null ? e.removeAttribute("class") : o ? e.setAttribute("class", s) : e.className = s;
}
-const zl = Symbol("_vod"), ad = Symbol("_vsh"), ld = Symbol(""), id = /(?:^|;)\s*display\s*:/;
-function rd(e, s, o) {
- const n = e.style, l = ut(o);
+const Vl = Symbol("_vod"), ld = Symbol("_vsh"), id = Symbol(""), rd = /(?:^|;)\s*display\s*:/;
+function cd(e, s, o) {
+ const a = e.style, l = ut(o);
let r = !1;
if (o && !l) {
if (s)
if (ut(s))
for (const c of s.split(";")) {
const u = c.slice(0, c.indexOf(":")).trim();
- o[u] == null && Tn(n, u, "");
+ o[u] == null && Pn(a, u, "");
}
else
for (const c in s)
- o[c] == null && Tn(n, c, "");
+ o[c] == null && Pn(a, c, "");
for (const c in o)
- c === "display" && (r = !0), Tn(n, c, o[c]);
+ c === "display" && (r = !0), Pn(a, c, o[c]);
} else if (l) {
if (s !== o) {
- const c = n[ld];
- c && (o += ";" + c), n.cssText = o, r = id.test(o);
+ const c = a[id];
+ c && (o += ";" + c), a.cssText = o, r = rd.test(o);
}
} else s && e.removeAttribute("style");
- zl in e && (e[zl] = r ? n.display : "", e[ad] && (n.display = "none"));
+ Vl in e && (e[Vl] = r ? a.display : "", e[ld] && (a.display = "none"));
}
-const Fl = /\s*!important$/;
-function Tn(e, s, o) {
- if (Be(o))
- o.forEach((n) => Tn(e, s, n));
+const Bl = /\s*!important$/;
+function Pn(e, s, o) {
+ if (Fe(o))
+ o.forEach((a) => Pn(e, s, a));
else if (o == null && (o = ""), s.startsWith("--"))
e.setProperty(s, o);
else {
- const n = cd(e, s);
- Fl.test(o) ? e.setProperty(
- Vs(n),
- o.replace(Fl, ""),
+ const a = ud(e, s);
+ Bl.test(o) ? e.setProperty(
+ Bs(a),
+ o.replace(Bl, ""),
"important"
- ) : e[n] = o;
+ ) : e[a] = o;
}
}
-const Bl = ["Webkit", "Moz", "ms"], va = {};
-function cd(e, s) {
- const o = va[s];
+const Wl = ["Webkit", "Moz", "ms"], ha = {};
+function ud(e, s) {
+ const o = ha[s];
if (o)
return o;
- let n = Kt(s);
- if (n !== "filter" && n in e)
- return va[s] = n;
- n = jn(n);
- for (let l = 0; l < Bl.length; l++) {
- const r = Bl[l] + n;
+ let a = Kt(s);
+ if (a !== "filter" && a in e)
+ return ha[s] = a;
+ a = qn(a);
+ for (let l = 0; l < Wl.length; l++) {
+ const r = Wl[l] + a;
if (r in e)
- return va[s] = r;
+ return ha[s] = r;
}
return s;
}
-const Vl = "http://www.w3.org/1999/xlink";
-function Wl(e, s, o, n, l, r = mc(s)) {
- n && s.startsWith("xlink:") ? o == null ? e.removeAttributeNS(Vl, s.slice(6, s.length)) : e.setAttributeNS(Vl, s, o) : o == null || r && !vi(o) ? e.removeAttribute(s) : e.setAttribute(
+const Gl = "http://www.w3.org/1999/xlink";
+function jl(e, s, o, a, l, r = vc(s)) {
+ a && s.startsWith("xlink:") ? o == null ? e.removeAttributeNS(Gl, s.slice(6, s.length)) : e.setAttributeNS(Gl, s, o) : o == null || r && !pi(o) ? e.removeAttribute(s) : e.setAttribute(
s,
r ? "" : ts(o) ? String(o) : o
);
}
-function Gl(e, s, o, n, l) {
+function Hl(e, s, o, a, l) {
if (s === "innerHTML" || s === "textContent") {
- o != null && (e[s] = s === "innerHTML" ? yr(o) : o);
+ o != null && (e[s] = s === "innerHTML" ? wr(o) : o);
return;
}
const r = e.tagName;
@@ -4412,7 +4412,7 @@ function Gl(e, s, o, n, l) {
let c = !1;
if (o === "" || o == null) {
const u = typeof e[s];
- u === "boolean" ? o = vi(o) : o == null && u === "string" ? (o = "", c = !0) : u === "number" && (o = 0, c = !0);
+ u === "boolean" ? o = pi(o) : o == null && u === "string" ? (o = "", c = !0) : u === "number" && (o = 0, c = !0);
}
try {
e[s] = o;
@@ -4420,75 +4420,75 @@ function Gl(e, s, o, n, l) {
}
c && e.removeAttribute(l || s);
}
-function Is(e, s, o, n) {
- e.addEventListener(s, o, n);
+function Is(e, s, o, a) {
+ e.addEventListener(s, o, a);
}
-function ud(e, s, o, n) {
- e.removeEventListener(s, o, n);
+function dd(e, s, o, a) {
+ e.removeEventListener(s, o, a);
}
-const jl = Symbol("_vei");
-function dd(e, s, o, n, l = null) {
- const r = e[jl] || (e[jl] = {}), c = r[s];
- if (n && c)
- c.value = n;
+const Kl = Symbol("_vei");
+function fd(e, s, o, a, l = null) {
+ const r = e[Kl] || (e[Kl] = {}), c = r[s];
+ if (a && c)
+ c.value = a;
else {
- const [u, d] = fd(s);
- if (n) {
- const m = r[s] = pd(
- n,
+ const [u, d] = md(s);
+ if (a) {
+ const m = r[s] = gd(
+ a,
l
);
Is(e, u, m, d);
- } else c && (ud(e, u, c, d), r[s] = void 0);
+ } else c && (dd(e, u, c, d), r[s] = void 0);
}
}
-const Hl = /(?:Once|Passive|Capture)$/;
-function fd(e) {
+const ql = /(?:Once|Passive|Capture)$/;
+function md(e) {
let s;
- if (Hl.test(e)) {
+ if (ql.test(e)) {
s = {};
- let n;
- for (; n = e.match(Hl); )
- e = e.slice(0, e.length - n[0].length), s[n[0].toLowerCase()] = !0;
- }
- return [e[2] === ":" ? e.slice(3) : Vs(e.slice(2)), s];
-}
-let pa = 0;
-const md = /* @__PURE__ */ Promise.resolve(), vd = () => pa || (md.then(() => pa = 0), pa = Date.now());
-function pd(e, s) {
- const o = (n) => {
- if (!n._vts)
- n._vts = Date.now();
- else if (n._vts <= o.attached)
+ let a;
+ for (; a = e.match(ql); )
+ e = e.slice(0, e.length - a[0].length), s[a[0].toLowerCase()] = !0;
+ }
+ return [e[2] === ":" ? e.slice(3) : Bs(e.slice(2)), s];
+}
+let ya = 0;
+const vd = /* @__PURE__ */ Promise.resolve(), pd = () => ya || (vd.then(() => ya = 0), ya = Date.now());
+function gd(e, s) {
+ const o = (a) => {
+ if (!a._vts)
+ a._vts = Date.now();
+ else if (a._vts <= o.attached)
return;
os(
- gd(n, o.value),
+ hd(a, o.value),
s,
5,
- [n]
+ [a]
);
};
- return o.value = e, o.attached = vd(), o;
+ return o.value = e, o.attached = pd(), o;
}
-function gd(e, s) {
- if (Be(s)) {
+function hd(e, s) {
+ if (Fe(s)) {
const o = e.stopImmediatePropagation;
return e.stopImmediatePropagation = () => {
o.call(e), e._stopped = !0;
}, s.map(
- (n) => (l) => !l._stopped && n && n(l)
+ (a) => (l) => !l._stopped && a && a(l)
);
} else
return s;
}
-const Kl = (e) => e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && // lowercase letter
-e.charCodeAt(2) > 96 && e.charCodeAt(2) < 123, hd = (e, s, o, n, l, r) => {
+const Yl = (e) => e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && // lowercase letter
+e.charCodeAt(2) > 96 && e.charCodeAt(2) < 123, yd = (e, s, o, a, l, r) => {
const c = l === "svg";
- s === "class" ? nd(e, n, c) : s === "style" ? rd(e, o, n) : Wn(s) ? Fa(s) || dd(e, s, o, n, r) : (s[0] === "." ? (s = s.slice(1), !0) : s[0] === "^" ? (s = s.slice(1), !1) : yd(e, s, n, c)) ? (Gl(e, s, n), !e.tagName.includes("-") && (s === "value" || s === "checked" || s === "selected") && Wl(e, s, n, c, r, s !== "value")) : /* #11081 force set props for possible async custom element */ e._isVueCE && (/[A-Z]/.test(s) || !ut(n)) ? Gl(e, Kt(s), n, r, s) : (s === "true-value" ? e._trueValue = n : s === "false-value" && (e._falseValue = n), Wl(e, s, n, c));
+ s === "class" ? ad(e, a, c) : s === "style" ? cd(e, o, a) : Hn(s) ? Wa(s) || fd(e, s, o, a, r) : (s[0] === "." ? (s = s.slice(1), !0) : s[0] === "^" ? (s = s.slice(1), !1) : wd(e, s, a, c)) ? (Hl(e, s, a), !e.tagName.includes("-") && (s === "value" || s === "checked" || s === "selected") && jl(e, s, a, c, r, s !== "value")) : /* #11081 force set props for possible async custom element */ e._isVueCE && (/[A-Z]/.test(s) || !ut(a)) ? Hl(e, Kt(s), a, r, s) : (s === "true-value" ? e._trueValue = a : s === "false-value" && (e._falseValue = a), jl(e, s, a, c));
};
-function yd(e, s, o, n) {
- if (n)
- return !!(s === "innerHTML" || s === "textContent" || s in e && Kl(s) && Ge(o));
+function wd(e, s, o, a) {
+ if (a)
+ return !!(s === "innerHTML" || s === "textContent" || s in e && Yl(s) && We(o));
if (s === "spellcheck" || s === "draggable" || s === "translate" || s === "autocorrect" || s === "sandbox" && e.tagName === "IFRAME" || s === "form" || s === "list" && e.tagName === "INPUT" || s === "type" && e.tagName === "TEXTAREA")
return !1;
if (s === "width" || s === "height") {
@@ -4496,22 +4496,22 @@ function yd(e, s, o, n) {
if (l === "IMG" || l === "VIDEO" || l === "CANVAS" || l === "SOURCE")
return !1;
}
- return Kl(s) && ut(o) ? !1 : s in e;
+ return Yl(s) && ut(o) ? !1 : s in e;
}
-const $r = /* @__PURE__ */ new WeakMap(), Cr = /* @__PURE__ */ new WeakMap(), Fn = Symbol("_moveCb"), ql = Symbol("_enterCb"), wd = (e) => (delete e.props.mode, e), kd = /* @__PURE__ */ wd({
+const Cr = /* @__PURE__ */ new WeakMap(), xr = /* @__PURE__ */ new WeakMap(), Bn = Symbol("_moveCb"), Jl = Symbol("_enterCb"), kd = (e) => (delete e.props.mode, e), _d = /* @__PURE__ */ kd({
name: "TransitionGroup",
- props: /* @__PURE__ */ pt({}, kr, {
+ props: /* @__PURE__ */ pt({}, _r, {
tag: String,
moveClass: String
}),
setup(e, { slots: s }) {
- const o = nl(), n = Bi();
+ const o = il(), a = Bi();
let l, r;
- return qi(() => {
+ return Yi(() => {
if (!l.length)
return;
const c = e.moveClass || `${e.name || "v"}-move`;
- if (!xd(
+ if (!Sd(
l[0].el,
o.vnode.el,
c
@@ -4519,18 +4519,18 @@ const $r = /* @__PURE__ */ new WeakMap(), Cr = /* @__PURE__ */ new WeakMap(), Fn
l = [];
return;
}
- l.forEach(bd), l.forEach($d);
- const u = l.filter(Cd);
- Da(o.vnode.el), u.forEach((d) => {
+ l.forEach($d), l.forEach(Cd);
+ const u = l.filter(xd);
+ Oa(o.vnode.el), u.forEach((d) => {
const m = d.el, v = m.style;
fs(m, c), v.transform = v.webkitTransform = v.transitionDuration = "";
- const g = m[Fn] = (w) => {
- w && w.target !== m || (!w || w.propertyName.endsWith("transform")) && (m.removeEventListener("transitionend", g), m[Fn] = null, As(m, c));
+ const g = m[Bn] = (w) => {
+ w && w.target !== m || (!w || w.propertyName.endsWith("transform")) && (m.removeEventListener("transitionend", g), m[Bn] = null, As(m, c));
};
m.addEventListener("transitionend", g);
}), l = [];
}), () => {
- const c = Xe(e), u = _r(c);
+ const c = Qe(e), u = br(c);
let d = c.tag || H;
if (l = [], r)
for (let m = 0; m < r.length; m++) {
@@ -4540,173 +4540,173 @@ const $r = /* @__PURE__ */ new WeakMap(), Cr = /* @__PURE__ */ new WeakMap(), Fn
en(
v,
u,
- n,
+ a,
o
)
- ), $r.set(v, {
+ ), Cr.set(v, {
left: v.el.offsetLeft,
top: v.el.offsetTop
}));
}
- r = s.default ? Xa(s.default()) : [];
+ r = s.default ? tl(s.default()) : [];
for (let m = 0; m < r.length; m++) {
const v = r[m];
v.key != null && oo(
v,
- en(v, u, n, o)
+ en(v, u, a, o)
);
}
- return x(d, null, r);
+ return S(d, null, r);
};
}
-}), _d = kd;
-function bd(e) {
+}), bd = _d;
+function $d(e) {
const s = e.el;
- s[Fn] && s[Fn](), s[ql] && s[ql]();
+ s[Bn] && s[Bn](), s[Jl] && s[Jl]();
}
-function $d(e) {
- Cr.set(e, {
+function Cd(e) {
+ xr.set(e, {
left: e.el.offsetLeft,
top: e.el.offsetTop
});
}
-function Cd(e) {
- const s = $r.get(e), o = Cr.get(e), n = s.left - o.left, l = s.top - o.top;
- if (n || l) {
+function xd(e) {
+ const s = Cr.get(e), o = xr.get(e), a = s.left - o.left, l = s.top - o.top;
+ if (a || l) {
const r = e.el.style;
- return r.transform = r.webkitTransform = `translate(${n}px,${l}px)`, r.transitionDuration = "0s", e;
+ return r.transform = r.webkitTransform = `translate(${a}px,${l}px)`, r.transitionDuration = "0s", e;
}
}
-function xd(e, s, o) {
- const n = e.cloneNode(), l = e[bo];
+function Sd(e, s, o) {
+ const a = e.cloneNode(), l = e[bo];
l && l.forEach((u) => {
- u.split(/\s+/).forEach((d) => d && n.classList.remove(d));
- }), o.split(/\s+/).forEach((u) => u && n.classList.add(u)), n.style.display = "none";
+ u.split(/\s+/).forEach((d) => d && a.classList.remove(d));
+ }), o.split(/\s+/).forEach((u) => u && a.classList.add(u)), a.style.display = "none";
const r = s.nodeType === 1 ? s : s.parentNode;
- r.appendChild(n);
- const { hasTransform: c } = br(n);
- return r.removeChild(n), c;
+ r.appendChild(a);
+ const { hasTransform: c } = $r(a);
+ return r.removeChild(a), c;
}
-const Bs = (e) => {
+const Vs = (e) => {
const s = e.props["onUpdate:modelValue"] || !1;
- return Be(s) ? (o) => xn(s, o) : s;
+ return Fe(s) ? (o) => In(s, o) : s;
};
-function Sd(e) {
+function Id(e) {
e.target.composing = !0;
}
-function Yl(e) {
+function Ql(e) {
const s = e.target;
s.composing && (s.composing = !1, s.dispatchEvent(new Event("input")));
}
const jt = Symbol("_assign");
-function Jl(e, s, o) {
- return s && (e = e.trim()), o && (e = Hn(e)), e;
+function Xl(e, s, o) {
+ return s && (e = e.trim()), o && (e = Yn(e)), e;
}
const zt = {
- created(e, { modifiers: { lazy: s, trim: o, number: n } }, l) {
- e[jt] = Bs(l);
- const r = n || l.props && l.props.type === "number";
+ created(e, { modifiers: { lazy: s, trim: o, number: a } }, l) {
+ e[jt] = Vs(l);
+ const r = a || l.props && l.props.type === "number";
Is(e, s ? "change" : "input", (c) => {
- c.target.composing || e[jt](Jl(e.value, o, r));
+ c.target.composing || e[jt](Xl(e.value, o, r));
}), (o || r) && Is(e, "change", () => {
- e.value = Jl(e.value, o, r);
- }), s || (Is(e, "compositionstart", Sd), Is(e, "compositionend", Yl), Is(e, "change", Yl));
+ e.value = Xl(e.value, o, r);
+ }), s || (Is(e, "compositionstart", Id), Is(e, "compositionend", Ql), Is(e, "change", Ql));
},
// set value on mounted so it's after min/max for type="range"
mounted(e, { value: s }) {
e.value = s ?? "";
},
- beforeUpdate(e, { value: s, oldValue: o, modifiers: { lazy: n, trim: l, number: r } }, c) {
- if (e[jt] = Bs(c), e.composing) return;
- const u = (r || e.type === "number") && !/^0\d/.test(e.value) ? Hn(e.value) : e.value, d = s ?? "";
- u !== d && (document.activeElement === e && e.type !== "range" && (n && s === o || l && e.value.trim() === d) || (e.value = d));
+ beforeUpdate(e, { value: s, oldValue: o, modifiers: { lazy: a, trim: l, number: r } }, c) {
+ if (e[jt] = Vs(c), e.composing) return;
+ const u = (r || e.type === "number") && !/^0\d/.test(e.value) ? Yn(e.value) : e.value, d = s ?? "";
+ u !== d && (document.activeElement === e && e.type !== "range" && (a && s === o || l && e.value.trim() === d) || (e.value = d));
}
}, nn = {
// #4096 array checkboxes need to be deep traversed
deep: !0,
created(e, s, o) {
- e[jt] = Bs(o), Is(e, "change", () => {
- const n = e._modelValue, l = $o(e), r = e.checked, c = e[jt];
- if (Be(n)) {
- const u = Wa(n, l), d = u !== -1;
+ e[jt] = Vs(o), Is(e, "change", () => {
+ const a = e._modelValue, l = $o(e), r = e.checked, c = e[jt];
+ if (Fe(a)) {
+ const u = Ha(a, l), d = u !== -1;
if (r && !d)
- c(n.concat(l));
+ c(a.concat(l));
else if (!r && d) {
- const m = [...n];
+ const m = [...a];
m.splice(u, 1), c(m);
}
- } else if (Co(n)) {
- const u = new Set(n);
+ } else if (Co(a)) {
+ const u = new Set(a);
r ? u.add(l) : u.delete(l), c(u);
} else
- c(xr(e, r));
+ c(Sr(e, r));
});
},
// set initial checked on mount to wait for true-value/false-value
- mounted: Ql,
+ mounted: Zl,
beforeUpdate(e, s, o) {
- e[jt] = Bs(o), Ql(e, s, o);
+ e[jt] = Vs(o), Zl(e, s, o);
}
};
-function Ql(e, { value: s, oldValue: o }, n) {
+function Zl(e, { value: s, oldValue: o }, a) {
e._modelValue = s;
let l;
- if (Be(s))
- l = Wa(s, n.props.value) > -1;
+ if (Fe(s))
+ l = Ha(s, a.props.value) > -1;
else if (Co(s))
- l = s.has(n.props.value);
+ l = s.has(a.props.value);
else {
if (s === o) return;
- l = so(s, xr(e, !0));
+ l = so(s, Sr(e, !0));
}
e.checked !== l && (e.checked = l);
}
const Zt = {
created(e, { value: s }, o) {
- e.checked = so(s, o.props.value), e[jt] = Bs(o), Is(e, "change", () => {
+ e.checked = so(s, o.props.value), e[jt] = Vs(o), Is(e, "change", () => {
e[jt]($o(e));
});
},
- beforeUpdate(e, { value: s, oldValue: o }, n) {
- e[jt] = Bs(n), s !== o && (e.checked = so(s, n.props.value));
+ beforeUpdate(e, { value: s, oldValue: o }, a) {
+ e[jt] = Vs(a), s !== o && (e.checked = so(s, a.props.value));
}
}, hs = {
//