.confirm-backdrop[data-v-42829833]{z-index:var(--z-modal);padding:var(--space-4);background:var(--color-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;display:grid;position:fixed;inset:0}.confirm-panel[data-v-42829833]{width:min(100%,440px);padding:var(--space-6);border:1px solid color-mix(in srgb, var(--color-primary-200) 35%, var(--color-border-light));border-radius:var(--radius-2xl);color:var(--color-text-primary);background:var(--color-surface-overlay);box-shadow:var(--shadow-overlay), var(--shadow-inset);-webkit-backdrop-filter:blur(22px)saturate(130%);backdrop-filter:blur(22px)saturate(130%);position:relative}.confirm-panel[data-v-42829833]:focus{outline:none}.confirm-close[data-v-42829833]{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-tertiary);justify-content:center;align-items:center;display:inline-flex;position:absolute}.confirm-close[data-v-42829833]:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-surface-card-hover)}.confirm-icon[data-v-42829833]{width:48px;height:48px;margin-bottom:var(--space-4);border:1px solid var(--color-primary-200);border-radius:var(--radius-xl);color:var(--color-primary);background:var(--color-primary-50);box-shadow:var(--shadow-low), var(--shadow-inset);justify-content:center;align-items:center;display:inline-flex}.is-danger .confirm-icon[data-v-42829833]{border-color:color-mix(in srgb, var(--color-error) 35%, var(--color-border));color:var(--color-error-dark);background:var(--color-error-light)}.confirm-copy[data-v-42829833]{padding-right:var(--space-4)}.confirm-copy h2[data-v-42829833]{font-family:var(--font-display);font-size:var(--text-subtitle);font-weight:var(--weight-bold);line-height:var(--leading-subtitle);margin:0}.confirm-copy p[data-v-42829833]{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:var(--leading-body)}.confirm-actions[data-v-42829833]{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6);display:flex}.dialog-button[data-v-42829833]{min-width:92px;min-height:40px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);justify-content:center;align-items:center;display:inline-flex}.cancel-button[data-v-42829833]{color:var(--color-text-secondary);background:var(--color-surface-card);box-shadow:var(--shadow-low), var(--shadow-inset)}.cancel-button[data-v-42829833]:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-surface-card-hover)}.confirm-button[data-v-42829833]{border-color:var(--color-primary);color:var(--color-text-inverse);background:linear-gradient(145deg, var(--color-primary-400), var(--color-primary-600));box-shadow:0 7px 16px color-mix(in srgb, var(--color-primary) 25%, transparent)}.confirm-button.danger[data-v-42829833]{border-color:var(--color-error);color:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--color-error) 78%, white), var(--color-error-dark));box-shadow:0 7px 16px color-mix(in srgb, var(--color-error) 22%, transparent)}.confirm-button[data-v-42829833]:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.button-spinner[data-v-42829833]{width:14px;height:14px;margin-right:var(--space-2);border:2px solid;border-right-color:#0000;border-radius:50%;animation:.7s linear infinite confirm-spin-42829833}.confirm-dialog-enter-active[data-v-42829833],.confirm-dialog-leave-active[data-v-42829833]{transition:opacity var(--transition-normal)}.confirm-dialog-enter-active .confirm-panel[data-v-42829833],.confirm-dialog-leave-active .confirm-panel[data-v-42829833]{transition:opacity var(--transition-normal), transform var(--transition-spring)}.confirm-dialog-enter-from[data-v-42829833],.confirm-dialog-leave-to[data-v-42829833]{opacity:0}.confirm-dialog-enter-from .confirm-panel[data-v-42829833],.confirm-dialog-leave-to .confirm-panel[data-v-42829833]{opacity:0;transform:translateY(12px)scale(.97)}@keyframes confirm-spin-42829833{to{transform:rotate(360deg)}}@media (width<=480px){.confirm-panel[data-v-42829833]{padding:var(--space-5);border-radius:var(--radius-xl)}.confirm-actions[data-v-42829833]{flex-direction:column-reverse}.dialog-button[data-v-42829833]{width:100%}}[data-theme=dark] .topbar[data-v-ef5b59a2]{background:#0f172ad9}.topbar[data-v-ef5b59a2]{height:var(--topbar-height);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-3);background:color-mix(in srgb, var(--color-surface-overlay) 88%, transparent);border-bottom:1px solid var(--color-border);z-index:var(--z-sticky);box-shadow:0 1px 0 color-mix(in srgb, var(--color-primary-200) 30%, transparent);-webkit-backdrop-filter:blur(20px)saturate(130%);backdrop-filter:blur(20px)saturate(130%);flex-shrink:0;display:flex}.topbar-left[data-v-ef5b59a2]{align-items:center;gap:var(--space-3);flex:1 1 0;min-width:0;display:flex}.brand[data-v-ef5b59a2]{align-items:center;gap:var(--space-2);display:flex}.brand-icon[data-v-ef5b59a2]{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-600));color:#fff;width:26px;height:26px;font-size:11px;font-weight:var(--weight-bold);border-radius:var(--radius-sm);font-family:var(--font-display);letter-spacing:-.5px;justify-content:center;align-items:center;display:flex}.brand-name[data-v-ef5b59a2]{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-body-lg);color:var(--color-text-primary)}.course-switcher[data-v-ef5b59a2]{min-width:0;position:relative}.course-trigger[data-v-ef5b59a2]{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-surface-sidebar);border-radius:var(--radius-md);font-size:var(--text-body-sm);color:var(--color-text-secondary);min-height:32px;display:flex}.course-trigger[data-v-ef5b59a2]:hover,.course-trigger[aria-expanded=true][data-v-ef5b59a2]{color:var(--color-text-primary);background:var(--color-surface-card-hover)}.chevron[data-v-ef5b59a2]{transition:transform var(--transition-fast)}.chevron.open[data-v-ef5b59a2]{transform:rotate(180deg)}.course-dropdown[data-v-ef5b59a2]{background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-medium);min-width:180px;padding:var(--space-1);z-index:var(--z-dropdown);position:absolute;top:calc(100% + 4px);left:0}.course-dropdown button[data-v-ef5b59a2]{text-align:left;width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-body-sm);color:var(--color-text-primary);display:block}.course-dropdown button[data-v-ef5b59a2]:hover,.course-dropdown button.active[data-v-ef5b59a2]{background:var(--color-primary-50);color:var(--color-primary-700)}.topbar-center[data-v-ef5b59a2]{align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);min-width:0;display:flex}.goal-badge[data-v-ef5b59a2]{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.separator[data-v-ef5b59a2]{color:var(--color-text-tertiary)}.path-switcher[data-v-ef5b59a2]{position:relative}.path-trigger[data-v-ef5b59a2]{align-items:center;gap:var(--space-2);min-width:164px;max-width:230px;min-height:36px;padding:4px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-card);color:var(--color-text-secondary);text-align:left;display:flex}.path-trigger[data-v-ef5b59a2]:hover:not(:disabled),.path-trigger[aria-expanded=true][data-v-ef5b59a2]{border-color:var(--color-primary-300);color:var(--color-primary-700);background:var(--color-primary-50)}.path-trigger[data-v-ef5b59a2]:disabled{cursor:wait;opacity:.58}.path-trigger-copy[data-v-ef5b59a2]{flex:1;min-width:0;line-height:1.15;display:grid}.path-trigger-copy small[data-v-ef5b59a2]{color:var(--color-text-tertiary);font-size:9px}.path-trigger-copy strong[data-v-ef5b59a2]{color:var(--color-text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.path-chevron[data-v-ef5b59a2]{transition:transform var(--transition-fast);flex:none}.path-chevron.open[data-v-ef5b59a2]{transform:rotate(180deg)}.path-dropdown[data-v-ef5b59a2]{width:min(420px,100vw - 24px);max-height:min(460px, calc(100vh - var(--topbar-height) - 20px));border:1px solid color-mix(in srgb, var(--color-primary-200) 26%, var(--color-border));border-radius:var(--radius-xl);background:var(--color-surface-card);box-shadow:0 24px 64px color-mix(in srgb, var(--color-backdrop) 72%, transparent), inset 0 1px 0 #ffffff94, 0 0 0 1px color-mix(in srgb, var(--color-primary-100) 18%, transparent);z-index:var(--z-dropdown);position:absolute;top:calc(100% + 6px);left:50%;overflow-y:auto;transform:translate(-50%)}.path-dropdown-header[data-v-ef5b59a2]{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid color-mix(in srgb, var(--color-border) 62%, transparent);background:var(--color-surface-card);display:flex;position:sticky;top:0;box-shadow:0 1px #ffffff3d}.path-dropdown-header>div[data-v-ef5b59a2]{gap:1px;display:grid}.path-dropdown-header span[data-v-ef5b59a2]{color:var(--color-text-tertiary);font-size:var(--text-caption)}.path-dropdown-header strong[data-v-ef5b59a2]{color:var(--color-text-primary);font-size:var(--text-body-sm)}.path-header-actions[data-v-ef5b59a2]{grid-auto-flow:column;gap:var(--space-1)!important;display:flex!important}.path-detail-link[data-v-ef5b59a2]{align-items:center;gap:var(--space-1);min-height:30px;padding:0 var(--space-2);color:var(--color-primary-600);font-size:var(--text-caption);display:inline-flex}.path-detail-link[data-v-ef5b59a2]:hover{background:var(--color-primary-50)}.path-menu-list[data-v-ef5b59a2]{padding:6px}.path-menu-item[data-v-ef5b59a2]{align-items:center;gap:var(--space-2);min-height:58px;padding:var(--space-1);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;display:flex}.path-menu-item+.path-menu-item[data-v-ef5b59a2]{margin-top:2px}.path-menu-item.active[data-v-ef5b59a2]{border-color:color-mix(in srgb, var(--color-primary-300) 48%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary-100) 72%, transparent), color-mix(in srgb, var(--color-surface-card) 46%, transparent));box-shadow:inset 0 1px 0 #ffffff5c, 0 6px 18px color-mix(in srgb, var(--color-primary-alpha) 50%, transparent)}.path-menu-item.selected[data-v-ef5b59a2]{border-color:var(--color-primary-400);background:var(--color-selected-background);box-shadow:inset 0 0 0 1px var(--color-primary-100)}.path-preview-action[data-v-ef5b59a2]{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);border-radius:var(--radius-md);text-align:left;flex:1;display:flex}.path-preview-action[data-v-ef5b59a2]:hover{background:color-mix(in srgb, var(--color-surface-card-hover) 64%, transparent)}.path-preview-action.selectable[data-v-ef5b59a2]{cursor:pointer}.path-preview-action[data-v-ef5b59a2]:disabled{cursor:wait;opacity:.62}.path-item-icon[data-v-ef5b59a2]{border:1px solid var(--color-border);border-radius:var(--radius-md);width:26px;height:26px;color:var(--color-text-tertiary);flex:none;justify-content:center;align-items:center;display:inline-flex}.path-item-icon.active[data-v-ef5b59a2]{border-color:var(--color-primary-300);background:var(--color-primary-500);color:#fff}.path-item-icon.selectable[data-v-ef5b59a2]{background:var(--color-surface-card)}.path-item-icon.selectable.selected[data-v-ef5b59a2]{border-color:var(--color-primary-500);background:var(--color-primary-500);color:#fff}.path-item-copy[data-v-ef5b59a2]{gap:3px;min-width:0;display:grid}.path-item-copy strong[data-v-ef5b59a2]{color:var(--color-text-primary);font-size:var(--text-body-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.path-item-copy small[data-v-ef5b59a2]{color:var(--color-text-tertiary);font-size:var(--text-caption)}.path-selection-label[data-v-ef5b59a2]{min-width:42px;color:var(--color-text-tertiary);font-size:var(--text-caption);text-align:center;flex:none}.current-path-label[data-v-ef5b59a2]{border:1px solid color-mix(in srgb, var(--color-primary-300) 42%, transparent);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-primary-100) 66%, transparent);color:var(--color-primary-700);font-size:var(--text-caption);font-weight:var(--weight-semibold);flex:none;padding:3px 8px}.path-activate-action[data-v-ef5b59a2]{min-height:30px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-caption);flex:none}.path-activate-action[data-v-ef5b59a2]:hover{border-color:var(--color-primary-300);color:var(--color-primary-700)}.path-activate-action[data-v-ef5b59a2]:disabled{cursor:wait;opacity:.55}.path-batch-toolbar[data-v-ef5b59a2]{z-index:1;align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface-card);box-shadow:0 -8px 18px color-mix(in srgb, var(--color-backdrop) 14%, transparent);display:flex;position:sticky;bottom:0}.path-select-all[data-v-ef5b59a2],.path-batch-archive[data-v-ef5b59a2]{justify-content:center;align-items:center;gap:var(--space-1);min-height:32px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-caption);display:flex}.path-select-all[data-v-ef5b59a2]:hover{border-color:var(--color-primary-300);color:var(--color-primary-700)}.path-check-indicator[data-v-ef5b59a2]{border:1px solid var(--color-border);background:var(--color-surface-card);border-radius:4px;place-items:center;width:16px;height:16px;display:grid}.path-check-indicator.checked[data-v-ef5b59a2]{border-color:var(--color-primary-500);background:var(--color-primary-500);color:#fff}.path-selection-count[data-v-ef5b59a2]{color:var(--color-text-tertiary);font-size:var(--text-caption);text-align:center;flex:1}.path-batch-archive[data-v-ef5b59a2]{border-color:var(--color-warning);background:var(--color-warning);color:#fff;font-weight:var(--weight-semibold)}.path-batch-archive[data-v-ef5b59a2]:hover:not(:disabled){filter:brightness(1.04)}.path-select-all[data-v-ef5b59a2]:disabled,.path-batch-archive[data-v-ef5b59a2]:disabled{cursor:not-allowed;opacity:.48}.path-operation-spinner[data-v-ef5b59a2]{animation:.7s linear infinite path-operation-spin-ef5b59a2}@keyframes path-operation-spin-ef5b59a2{to{transform:rotate(360deg)}}.path-menu-state[data-v-ef5b59a2]{padding:var(--space-6) var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-body-sm);text-align:center}.node-badge[data-v-ef5b59a2]{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:var(--weight-medium);display:flex}.node-badge.recommended[data-v-ef5b59a2]{background:var(--color-primary-50);color:var(--color-primary-700)}.node-badge.learning[data-v-ef5b59a2]{background:var(--color-info-light);color:var(--color-info-dark)}.node-badge.review[data-v-ef5b59a2]{background:var(--color-warning-light);color:var(--color-warning-dark)}.node-badge.mastered[data-v-ef5b59a2]{background:var(--color-success-light);color:var(--color-success-dark)}.node-dot[data-v-ef5b59a2]{border-radius:var(--radius-full);background:currentColor;width:6px;height:6px}.topbar-right[data-v-ef5b59a2]{align-items:center;gap:var(--space-1);flex:1 1 0;justify-content:flex-end;min-width:0;display:flex}.icon-btn[data-v-ef5b59a2]{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.icon-btn[data-v-ef5b59a2]:hover{background:var(--color-surface-card-hover);color:var(--color-text-primary)}.user-menu[data-v-ef5b59a2]{margin-left:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--color-border);position:relative}.user-trigger[data-v-ef5b59a2]{align-items:center;gap:var(--space-2);min-height:38px;padding:3px var(--space-2) 3px 4px;border-radius:var(--radius-full);color:var(--color-text-secondary);border:1px solid #0000;display:flex}.user-trigger[data-v-ef5b59a2]:hover,.user-trigger[aria-expanded=true][data-v-ef5b59a2]{border-color:var(--color-border);background:var(--color-surface-card)}.user-avatar[data-v-ef5b59a2]{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-600));color:#fff;width:30px;height:30px;box-shadow:0 5px 14px color-mix(in srgb, var(--color-primary-500) 24%, transparent);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:50%;flex:0 0 30px;place-items:center;display:inline-grid}.user-avatar.large[data-v-ef5b59a2]{flex-basis:38px;width:38px;height:38px}.user-chevron[data-v-ef5b59a2]{transition:transform var(--transition-fast)}.user-chevron.open[data-v-ef5b59a2]{transform:rotate(180deg)}.user-name[data-v-ef5b59a2]{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:13px;overflow:hidden}.user-dropdown[data-v-ef5b59a2]{width:min(260px,100vw - 24px);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-overlay);box-shadow:var(--shadow-overlay);z-index:var(--z-dropdown);position:absolute;top:calc(100% + 8px);right:0}.user-dropdown-header[data-v-ef5b59a2]{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-3);display:flex}.user-dropdown-header>span[data-v-ef5b59a2]:last-child{gap:2px;min-width:0;display:grid}.user-dropdown-header strong[data-v-ef5b59a2],.user-dropdown-header small[data-v-ef5b59a2]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-dropdown-header strong[data-v-ef5b59a2]{color:var(--color-text-primary);font-size:var(--text-body-sm)}.user-dropdown-header small[data-v-ef5b59a2]{color:var(--color-text-tertiary);font-size:var(--text-caption)}.user-dropdown>button[data-v-ef5b59a2],.user-dropdown>a[data-v-ef5b59a2]{align-items:center;gap:var(--space-3);width:100%;min-height:38px;padding:0 var(--space-3);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--text-body-sm);text-align:left;display:flex}.user-dropdown>button[data-v-ef5b59a2]:hover,.user-dropdown>a[data-v-ef5b59a2]:hover{background:var(--color-surface-card-hover);color:var(--color-text-primary)}.user-dropdown .logout-action[data-v-ef5b59a2]:hover{background:var(--color-error-light);color:var(--color-error)}.user-dropdown .logout-action[data-v-ef5b59a2]:disabled{cursor:wait;opacity:.72;background:var(--color-surface-card-hover)}.logout-spinner[data-v-ef5b59a2]{animation:.8s linear infinite spin-slow}.menu-separator[data-v-ef5b59a2]{height:1px;margin:var(--space-2);background:var(--color-border-light)}@media (width<=1320px){.goal-badge[data-v-ef5b59a2],.topbar-center>.separator[data-v-ef5b59a2]:first-of-type{display:none}}@media (width<=1100px){.node-badge[data-v-ef5b59a2],.topbar-center>.separator[data-v-ef5b59a2]:last-of-type,.brand-name[data-v-ef5b59a2]{display:none}}@media (width<=768px){.topbar[data-v-ef5b59a2]{gap:var(--space-2);padding:0 var(--space-2)}.topbar-left[data-v-ef5b59a2]{gap:var(--space-2);min-width:0}.brand-name[data-v-ef5b59a2],.user-name[data-v-ef5b59a2]{display:none}.topbar-center[data-v-ef5b59a2]{margin-left:auto}.goal-badge[data-v-ef5b59a2],.topbar-center>.separator[data-v-ef5b59a2],.node-badge[data-v-ef5b59a2],.path-trigger-copy[data-v-ef5b59a2],.path-trigger .path-chevron[data-v-ef5b59a2]{display:none}.path-trigger[data-v-ef5b59a2]{justify-content:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0}.path-dropdown[data-v-ef5b59a2]{top:calc(var(--topbar-height) + 6px);width:auto;position:fixed;left:8px;right:8px;transform:none}.course-switcher[data-v-ef5b59a2]{min-width:0;max-width:112px;padding:0}.course-trigger[data-v-ef5b59a2]{width:100%;min-width:0;max-width:100%;padding:var(--space-1) var(--space-2)}.course-trigger>span[data-v-ef5b59a2]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.course-trigger>svg[data-v-ef5b59a2]{flex:none}.topbar-right[data-v-ef5b59a2]{flex-shrink:0}.topbar-right .icon-btn[data-v-ef5b59a2]{width:32px;height:32px}.user-menu[data-v-ef5b59a2]{border-left:0;gap:0;margin-left:0;padding-left:0}.user-trigger[data-v-ef5b59a2]{min-height:34px;padding:2px}.user-chevron[data-v-ef5b59a2]{display:none}.user-dropdown[data-v-ef5b59a2]{top:calc(var(--topbar-height) + 6px);position:fixed;right:8px}.menu-theme-action[data-v-ef5b59a2]{display:flex!important}}@media (width>=769px){.menu-theme-action[data-v-ef5b59a2]{display:none!important}}@media (width<=420px){.theme-btn[data-v-ef5b59a2]{display:none}.course-switcher[data-v-ef5b59a2]{max-width:108px}}.app-main[data-v-9c7518cd]{background:var(--color-surface-app);flex:1;min-height:0;position:relative;overflow:hidden}.skip-link[data-v-9c7518cd]{top:var(--space-2);left:var(--space-3);z-index:calc(var(--z-toast) + 1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--color-primary-600);color:#fff;box-shadow:var(--shadow-overlay);position:fixed;transform:translateY(-160%)}.skip-link[data-v-9c7518cd]:focus{color:#fff;transform:translateY(0)}.toast-container[data-v-9c7518cd]{top:calc(var(--topbar-height) + var(--space-3));right:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;max-width:400px;display:flex;position:fixed}.toast-item[data-v-9c7518cd]{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-high);font-size:var(--text-body-sm);pointer-events:auto;color:var(--color-text-primary);display:flex}.toast-item.success[data-v-9c7518cd]{border-left:3px solid var(--color-success)}.toast-item.error[data-v-9c7518cd]{border-left:3px solid var(--color-error)}.toast-item.warning[data-v-9c7518cd]{border-left:3px solid var(--color-warning)}.toast-item.info[data-v-9c7518cd]{border-left:3px solid var(--color-info)}.toast-icon[data-v-9c7518cd]{font-weight:var(--weight-bold);flex-shrink:0}.toast-item.success .toast-icon[data-v-9c7518cd]{color:var(--color-success)}.toast-item.error .toast-icon[data-v-9c7518cd]{color:var(--color-error)}.toast-item.warning .toast-icon[data-v-9c7518cd]{color:var(--color-warning)}.toast-item.info .toast-icon[data-v-9c7518cd]{color:var(--color-info)}.toast-msg[data-v-9c7518cd]{flex:1}.toast-close[data-v-9c7518cd]{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-close[data-v-9c7518cd]:hover{background:var(--color-surface-card-hover);color:var(--color-text-primary)}.toast-enter-active[data-v-9c7518cd]{transition:opacity .24s,transform .3s cubic-bezier(.16,1,.3,1)}.toast-leave-active[data-v-9c7518cd]{transition:opacity .16s ease-in,transform .2s ease-in}.toast-enter-from[data-v-9c7518cd],.toast-leave-to[data-v-9c7518cd]{opacity:0;transform:translate(100%)}:root{--color-primary-50:#fff1e9;--color-primary-100:#f2d8c7;--color-primary-200:#efbea7;--color-primary-300:#eba07d;--color-primary-400:#e68158;--color-primary-500:#e26635;--color-primary-600:#913f22;--color-primary-700:#73321f;--color-primary-800:#59291c;--color-primary-900:#3d1d16;--color-primary:var(--color-primary-500);--color-primary-alpha:#e2663526;--color-brand-hover:#913f22;--color-brand-pressed:#73321f;--color-on-brand:#2b1710;--color-on-brand-strong:#fff9f2;--color-selected-background:#f2d8c7;--color-brand-spark:#d99a2b;--color-spark:var(--color-brand-spark);--color-surface-app:#fbf3e8;--color-surface-sidebar:#f6e9dc;--color-surface-chat:#fbf3e8;--color-surface-canvas:#fdf7ef;--color-surface-card:#fff9f2;--color-surface-card-hover:#faede2;--color-surface-input:#fff9f2;--color-surface-code:#1e293b;--color-surface-raised:#fffcf8;--color-surface-subtle:#f6e9dc;--color-surface-overlay:#fff9f2e6;--color-backdrop:#35251f3d;--color-surface:var(--color-surface-card);--color-surface-page:var(--color-surface-app);--color-bg-primary:var(--color-surface-card);--color-bg-secondary:var(--color-surface-subtle);--color-text-primary:#35251f;--color-text-secondary:#796158;--color-text-tertiary:#8a6e63;--color-text-inverse:#fff9f2;--color-border:#e4c8b7;--color-border-light:#eedbcf;--color-border-focus:var(--color-primary-500);--color-field-focus:#c49b85;--color-scrollbar-thumb:color-mix(in srgb, var(--color-primary-400) 42%, var(--color-border));--color-scrollbar-thumb-hover:color-mix(in srgb, var(--color-primary-500) 58%, var(--color-border));--color-success:#10b981;--color-success-light:#d1fae5;--color-success-dark:#065f46;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-warning-dark:#92400e;--color-error:#ef4444;--color-error-light:#fee2e2;--color-error-dark:#991b1b;--color-info:#3b82f6;--color-info-light:#dbeafe;--color-info-dark:#1e40af;--color-danger:var(--color-error);--color-danger-light:var(--color-error-light);--color-danger-dark:var(--color-error-dark);--color-primary-light:var(--color-primary-100);--color-agent-supervisor:var(--color-primary-500);--color-agent-profile:#2fa7c9;--color-agent-knowledge:#06b6d4;--color-agent-path:#10b981;--color-agent-resource:var(--color-brand-spark);--color-agent-assessment:#ec4899;--color-agent-safety:#6b7280;--color-node-unstarted:#94a3b8;--color-node-recommended:var(--color-primary-500);--color-node-learning:#3b82f6;--color-node-review:#f59e0b;--color-node-mastered:#10b981;--color-node-skipped:#9ca3af;--font-display:"Satoshi", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body:"DM Sans", "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--font-cjk:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--text-caption:.6875rem;--text-body-sm:.8125rem;--text-body:.875rem;--text-body-lg:1rem;--text-subtitle:1.125rem;--text-title:1.25rem;--text-heading:1.5rem;--text-display:1.875rem;--leading-caption:1rem;--leading-body-sm:1.25rem;--leading-body:1.375rem;--leading-body-lg:1.625rem;--leading-subtitle:1.75rem;--leading-title:1.875rem;--leading-heading:2.125rem;--leading-display:2.625rem;--weight-regular:400;--weight-normal:var(--weight-regular);--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tighter:-.02em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.02em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:22px;--radius-3xl:28px;--radius-full:9999px;--shadow-low:0 2px 8px #73321f0e, 0 1px 2px #35251f0a;--shadow-medium:0 10px 26px #73321f16, 0 3px 8px #35251f0d;--shadow-high:0 18px 42px #73321f1f, 0 6px 16px #35251f11;--shadow-overlay:0 28px 80px #35251f33, 0 8px 28px #913f221f;--shadow-inset:inset 0 1px 0 #ffffffd1;--shadow-focus:0 0 0 4px #e2663533;--shadow-field-focus:0 0 0 3px #7961581f;--shadow-card:var(--shadow-low);--shadow-md:var(--shadow-medium);--shadow-lg:var(--shadow-high);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.28s cubic-bezier(.16, 1, .3, 1);--transition-spring:.35s cubic-bezier(.16, 1, .3, 1);--z-base:0;--z-dropdown:100;--z-sticky:200;--z-drawer:300;--z-agent-bar:400;--z-modal:500;--z-toast:600;--z-tooltip:700;--sidebar-width:280px;--canvas-width:640px;--canvas-max-width:1040px;--topbar-height:48px;--input-area-height:72px;--canvas-header-height:48px;--page-max-width:1180px;--page-gutter:clamp(16px, 3vw, 40px);--text-small:var(--text-body-sm);--color-code-bg:#1e293b;--color-code-text:#e2e8f0}[data-theme=dark]{--color-surface-app:#1b1310;--color-surface-sidebar:#17100d;--color-surface-chat:#241a16;--color-surface-canvas:#241a16;--color-surface-card:#2a1d18;--color-surface-card-hover:#37251e;--color-surface-input:#211612;--color-surface-code:#17100d;--color-surface-raised:#33231c;--color-surface-subtle:#241814;--color-surface-overlay:#2a1d18eb;--color-backdrop:#0e0907a8;--color-text-primary:#fff4ec;--color-text-secondary:#d9c2b6;--color-text-tertiary:#ad9083;--color-text-inverse:#35251f;--color-border:#594036;--color-border-light:#453128;--color-border-focus:#e68158;--color-field-focus:#8d6b5c;--color-scrollbar-thumb:color-mix(in srgb, var(--color-primary-400) 52%, var(--color-border));--color-scrollbar-thumb-hover:color-mix(in srgb, var(--color-primary-500) 62%, var(--color-border));--color-primary-alpha:#e2663538;--color-selected-background:#43251a;--color-primary-50:#2d1b15;--color-primary-100:#43251a;--color-primary-200:#5b2d1d;--color-primary-300:#7a3922;--color-primary-400:#b8552f;--color-primary-500:#e26635;--color-primary-600:#eba07d;--color-primary-700:#f1b99f;--color-primary-800:#f7d5c5;--color-primary-900:#fceadf;--color-success-light:#064e3b;--color-success-dark:#6ee7b7;--color-warning-light:#78350f;--color-warning-dark:#fcd34d;--color-error-light:#7f1d1d;--color-error-dark:#fca5a5;--color-info-light:#1e3a5f;--color-info-dark:#93c5fd;--shadow-low:0 3px 10px #0e090752;--shadow-medium:0 12px 30px #0e090770, 0 0 0 1px #e266350d;--shadow-high:0 22px 48px #0e09078a, 0 0 0 1px #e2663512;--shadow-overlay:0 30px 90px #0e0907c2, 0 0 0 1px #e266351a;--shadow-inset:inset 0 1px 0 #ffffff0d;--shadow-focus:0 0 0 4px #e266354d;--shadow-field-focus:0 0 0 3px #ad90832e;--color-code-bg:#17100d;--color-code-text:#ebd9cf}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}html.theme-transitioning *{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s!important}body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-text-primary);background-color:var(--color-surface-app);min-width:320px;height:100dvh;overflow:hidden}#app{flex-direction:column;height:100dvh;display:flex}a{color:var(--color-primary-500);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-600)}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:not(:disabled):active{transform:scale(.985)}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;outline:none}input,textarea{background:0 0;border:none}button,input,textarea,select{min-width:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;box-shadow:var(--shadow-focus)}input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:var(--shadow-field-focus);outline:none}h1[tabindex="-1"]:focus-visible,[role=heading][aria-level="1"][tabindex="-1"]:focus-visible,main[tabindex="-1"]:focus-visible{box-shadow:none;outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}*{scrollbar-color:var(--color-scrollbar-thumb) transparent;scrollbar-width:thin}::selection{background:var(--color-primary-200);color:var(--color-primary-900)}[data-theme=dark] ::selection{background:var(--color-primary-700);color:var(--color-primary-50)}:focus-visible{border-radius:var(--radius-sm)}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.page-scroll{overscroll-behavior:contain;height:100%;min-height:0;padding:var(--page-gutter);background:radial-gradient(circle at 85% -10%, color-mix(in srgb, var(--color-primary-200) 24%, transparent), transparent 34%), var(--color-surface-app);overflow-y:auto}.page-container{width:min(100%, var(--page-max-width));margin:0 auto}.soft-surface{border:1px solid var(--color-border-light);border-radius:var(--radius-2xl);background:var(--color-surface-overlay);box-shadow:var(--shadow-low), var(--shadow-inset);-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%)}@media (hover:hover){.interactive-surface:hover{border-color:color-mix(in srgb, var(--color-primary-300) 50%, var(--color-border));box-shadow:var(--shadow-medium), var(--shadow-inset);transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-theme=dark] .theme-transitioning *{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s!important}.slide-up-enter-active{transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1)}.slide-up-enter-from{opacity:0;transform:translateY(16px)scale(.98)}.drawer-slide-enter-active{transition:opacity .3s,transform .42s cubic-bezier(.16,1,.3,1)}.drawer-slide-leave-active{transition:opacity .18s,transform .22s cubic-bezier(.4,0,1,1)}.drawer-slide-enter-from{opacity:0;transform:translate(32px)scale(.985)}.drawer-slide-leave-to{opacity:0;transform:translate(22px)scale(.99)}.drawer-backdrop-enter-active,.drawer-backdrop-leave-active{transition:opacity .22s}.drawer-backdrop-enter-from,.drawer-backdrop-leave-to{opacity:0}.sidebar-slide-enter-active{transition:opacity .24s,transform .32s cubic-bezier(.16,1,.3,1)}.sidebar-slide-leave-active{transition:opacity .18s,transform .2s cubic-bezier(.4,0,1,1)}.sidebar-slide-enter-from{opacity:0;transform:translate(-60%)}.sidebar-slide-leave-to{opacity:0;transform:translate(-40%)}.section-body{max-height:600px;transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1),padding .5s cubic-bezier(.16,1,.3,1);overflow:hidden}.section-body.section-collapsed{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.route-forward-enter-active,.route-forward-leave-active,.route-back-enter-active,.route-back-leave-active,.route-fade-enter-active,.route-fade-leave-active,.route-auth-enter-active,.route-auth-leave-active{backface-visibility:hidden;transform-origin:50% 42%;will-change:opacity, transform;width:100%;height:100%;inset:0;position:absolute!important}.route-forward-enter-active,.route-back-enter-active,.route-fade-enter-active,.route-auth-enter-active{z-index:2}.route-forward-leave-active,.route-back-leave-active,.route-fade-leave-active,.route-auth-leave-active{z-index:1;pointer-events:none}.route-forward-enter-active{transition:opacity .22s ease-out,transform .28s cubic-bezier(.16,1,.3,1)}.route-forward-leave-active{transition:opacity .18s ease-in,transform .2s cubic-bezier(.4,0,1,1)}.route-forward-enter-from{opacity:0;transform:translate(20px)scale(.995)}.route-forward-leave-to{opacity:.46;transform:translate(-12px)scale(.998)}.route-back-enter-active{transition:opacity .22s ease-out,transform .26s cubic-bezier(.16,1,.3,1)}.route-back-leave-active{transition:opacity .18s ease-in,transform .2s cubic-bezier(.4,0,1,1)}.route-back-enter-from{opacity:0;transform:translate(-20px)scale(.995)}.route-back-leave-to{opacity:.46;transform:translate(12px)scale(.998)}.route-fade-enter-active{transition:opacity .2s ease-out,transform .24s cubic-bezier(.16,1,.3,1)}.route-fade-leave-active{transition:opacity .18s ease-in,transform .18s ease-in}.route-fade-enter-from{opacity:0;transform:translateY(6px)}.route-fade-leave-to{opacity:0;transform:scale(.998)}.route-auth-enter-active{transition:opacity .22s ease-out,transform .28s cubic-bezier(.16,1,.3,1)}.route-auth-leave-active{transition:opacity .18s ease-in,transform .2s ease-in}.route-auth-enter-from{opacity:0;transform:translateY(8px)scale(.988)}.route-auth-leave-to{opacity:0;transform:scale(1.006)}.route-progress{z-index:calc(var(--z-dropdown) + 1);pointer-events:none;background:color-mix(in srgb, var(--color-primary-200) 34%, transparent);height:2px;position:absolute;inset:0 0 auto;overflow:hidden}.route-progress-bar{border-radius:var(--radius-full);background:linear-gradient(90deg, transparent, var(--color-primary-400), var(--color-primary-600));width:42%;height:100%;box-shadow:0 0 10px color-mix(in srgb, var(--color-primary) 42%, transparent);animation:.9s cubic-bezier(.4,0,.2,1) infinite route-progress;display:block}.route-progress-enter-active,.route-progress-leave-active{transition:opacity .18s}.route-progress-enter-from,.route-progress-leave-to{opacity:0}.fade-enter-active{transition:opacity .25s cubic-bezier(.16,1,.3,1)}.fade-leave-active{transition:opacity .15s ease-in}.fade-enter-from,.fade-leave-to{opacity:0}.toast-enter-active{transition:opacity .26s,transform .35s cubic-bezier(.16,1,.3,1)}.toast-leave-active{transition:opacity .16s ease-in,transform .2s ease-in}.toast-enter-from{opacity:0;transform:translate(80px)scale(.92)}.toast-leave-to{opacity:0;transform:translate(40px)scale(.95)}.scale-fade-enter-active{transition:opacity .18s,transform .22s cubic-bezier(.16,1,.3,1)}.scale-fade-leave-active{transition:opacity .12s ease-in,transform .14s ease-in}.scale-fade-enter-from{opacity:0;transform:scale(.92)translateY(-4px)}.scale-fade-leave-to{opacity:0;transform:scale(.95)translateY(-2px)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes route-progress{0%{transform:translate(-115%)}to{transform:translate(340%)}}@keyframes loading-reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translate(0,0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #e266355c}50%{box-shadow:0 0 0 8px #e2663500}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.animate-shimmer{background:linear-gradient(90deg, var(--color-surface-card) 25%, var(--color-surface-card-hover) 50%, var(--color-surface-card) 75%);background-size:200% 100%;animation:1.35s ease-in-out infinite shimmer,.22s ease-out both loading-reveal}.state-panel[role=status],.state-box,.mistake-state,.archive-state,.viewer-state,.workspace-state,.wait-state,.node-resource-loading{animation:.22s ease-out both loading-reveal}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}.animate-spin-slow{animation:2s linear infinite spin-slow}.stagger-item{opacity:0;animation:.4s cubic-bezier(.16,1,.3,1) forwards fade-in-up}.hover-lift{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.hover-lift:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.stagger-item{opacity:1;animation:none}.animate-shimmer,.animate-pulse-glow,.animate-spin-slow{animation:none}.route-progress-bar{opacity:.7;width:100%;animation:none}}
