:root,:root[data-theme=light]{color-scheme:light;--app-bg: #f4f6fc;--app-bg-secondary: #edf1fa;--app-surface: #fff;--app-surface-hover: #f6f7fd;--app-surface-active: #eeefff;--app-text: #20253a;--app-text-secondary: #5f6980;--app-text-muted: #8891a5;--app-border: #dfe4f0;--app-border-strong: #c9d1e1;--app-primary: #5b5ce2;--app-primary-hover: #494ad0;--app-primary-soft: #eeefff;--app-danger: #c94c63;--app-success: #16856a;--app-warning: #ae7418;--app-glow-secondary: #5f9cff;--app-sidebar-expanded-width: 240px;--app-sidebar-collapsed-width: 72px;--app-header-height: 64px;--app-page-padding: clamp(24px, 2.3vw, 40px);--app-radius-sm: 10px;--app-radius-md: 14px;--app-radius-lg: 18px;--app-shadow-sm: 0 1px 2px rgb(31 42 74 / 4%), 0 6px 18px rgb(31 42 74 / 4%);--app-shadow-md: 0 14px 36px rgb(31 42 74 / 8%);--app-background: var(--app-bg);--color-bg: var(--app-bg);--color-surface: var(--app-surface);--color-text: var(--app-text);--color-text-soft: var(--app-text-secondary);--color-text-muted: var(--app-text-muted);--color-border: var(--app-border);--color-primary: var(--app-primary);--color-primary-strong: var(--app-primary-hover);--color-primary-soft: var(--app-primary-soft);--font-family-ui: "Inter", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-size-body: 15px;--font-size-page-title: clamp(28px, 2.2vw, 34px);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-page-title: 650;--line-height-page-title: 1.15;--shadow-card: var(--app-shadow-sm)}:root[data-theme=dark]{color-scheme:dark;--app-bg: #101526;--app-bg-secondary: #151b30;--app-surface: #191f34;--app-surface-hover: #202842;--app-surface-active: #292b56;--app-text: #e9ebf5;--app-text-secondary: #afb8cd;--app-text-muted: #7f8aa3;--app-border: #2b3550;--app-border-strong: #3a4767;--app-primary: #9b9cf9;--app-primary-hover: #b2b2ff;--app-primary-soft: #282957;--app-danger: #ff9cab;--app-success: #72d9b2;--app-warning: #f1c66f;--app-glow-secondary: #5576b9;--app-shadow-sm: 0 1px 2px rgb(0 0 0 / 16%), 0 8px 22px rgb(0 0 0 / 16%);--app-shadow-md: 0 16px 40px rgb(0 0 0 / 25%);--app-background: var(--app-bg);--color-bg: var(--app-bg);--color-surface: var(--app-surface);--color-text: var(--app-text);--color-text-soft: var(--app-text-secondary);--color-text-muted: var(--app-text-muted);--color-border: var(--app-border);--color-primary: var(--app-primary);--color-primary-strong: var(--app-primary-hover);--color-primary-soft: var(--app-primary-soft);--shadow-card: var(--app-shadow-sm)}html{height:100%;scrollbar-gutter:stable;--mat-sys-background: light-dark(#fef8fc, #151316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f5eff4, #323033);--mat-sys-inverse-primary: light-dark(#d5baff, #7d00fa);--mat-sys-inverse-surface: light-dark(#323033, #e6e1e6);--mat-sys-on-background: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #42008a);--mat-sys-on-primary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-primary-fixed: light-dark(#270057, #270057);--mat-sys-on-primary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-on-secondary: light-dark(#ffffff, #352d40);--mat-sys-on-secondary-container: light-dark(#4b4357, #eadef7);--mat-sys-on-secondary-fixed: light-dark(#1f182a, #1f182a);--mat-sys-on-secondary-fixed-variant: light-dark(#4b4357, #4b4357);--mat-sys-on-surface: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-surface-variant: light-dark(#49454e, #e8e0eb);--mat-sys-on-tertiary: light-dark(#ffffff, #002f65);--mat-sys-on-tertiary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-tertiary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-tertiary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-outline: light-dark(#7b757f, #958e99);--mat-sys-outline-variant: light-dark(#cbc4cf, #49454e);--mat-sys-primary: light-dark(#7d00fa, #d5baff);--mat-sys-primary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-primary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-primary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#645b70, #cec2db);--mat-sys-secondary-container: light-dark(#eadef7, #4b4357);--mat-sys-secondary-fixed: light-dark(#eadef7, #eadef7);--mat-sys-secondary-fixed-dim: light-dark(#cec2db, #cec2db);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fef8fc, #151316);--mat-sys-surface-bright: light-dark(#fef8fc, #3b383c);--mat-sys-surface-container: light-dark(#f2ecf1, #211f22);--mat-sys-surface-container-high: light-dark(#ede6eb, #2b292d);--mat-sys-surface-container-highest: light-dark(#e6e1e6, #363437);--mat-sys-surface-container-low: light-dark(#f8f2f6, #1d1b1e);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0d11);--mat-sys-surface-dim: light-dark(#ded8dd, #151316);--mat-sys-surface-tint: light-dark(#7d00fa, #d5baff);--mat-sys-surface-variant: light-dark(#e8e0eb, #49454e);--mat-sys-tertiary: light-dark(#005cbb, #abc7ff);--mat-sys-tertiary-container: light-dark(#d7e3ff, #00458f);--mat-sys-tertiary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-tertiary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem var(--font-family-ui);--mat-sys-body-large-font: var(--font-family-ui);--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem var(--font-family-ui);--mat-sys-body-medium-font: var(--font-family-ui);--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem var(--font-family-ui);--mat-sys-body-small-font: var(--font-family-ui);--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem var(--font-family-ui);--mat-sys-display-large-font: var(--font-family-ui);--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem var(--font-family-ui);--mat-sys-display-medium-font: var(--font-family-ui);--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem var(--font-family-ui);--mat-sys-display-small-font: var(--font-family-ui);--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem var(--font-family-ui);--mat-sys-headline-large-font: var(--font-family-ui);--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem var(--font-family-ui);--mat-sys-headline-medium-font: var(--font-family-ui);--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem var(--font-family-ui);--mat-sys-headline-small-font: var(--font-family-ui);--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem var(--font-family-ui);--mat-sys-label-large-font: var(--font-family-ui);--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem var(--font-family-ui);--mat-sys-label-medium-font: var(--font-family-ui);--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem var(--font-family-ui);--mat-sys-label-small-font: var(--font-family-ui);--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem var(--font-family-ui);--mat-sys-title-large-font: var(--font-family-ui);--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem var(--font-family-ui);--mat-sys-title-medium-font: var(--font-family-ui);--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem var(--font-family-ui);--mat-sys-title-small-font: var(--font-family-ui);--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-checkbox-touch-target-display: block;--mat-checkbox-state-layer-size: 36px;--mat-chip-container-height: 28px;--mat-expansion-header-collapsed-state-height: 44px;--mat-expansion-header-expanded-state-height: 60px;--mat-fab-small-touch-target-display: ;--mat-fab-touch-target-display: block;--mat-button-filled-touch-target-display: block;--mat-button-filled-container-height: 36px;--mat-button-outlined-container-height: 36px;--mat-button-outlined-touch-target-display: block;--mat-button-protected-touch-target-display: block;--mat-button-protected-container-height: 36px;--mat-button-text-touch-target-display: block;--mat-button-text-container-height: 36px;--mat-button-tonal-container-height: 36px;--mat-button-tonal-touch-target-display: block;--mat-form-field-container-height: 52px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 14px;--mat-form-field-filled-with-label-container-padding-top: 22px;--mat-form-field-filled-with-label-container-padding-bottom: 6px;--mat-icon-button-touch-target-display: block;--mat-icon-button-state-layer-size: 36px;--mat-list-list-item-leading-icon-start-space: 12px;--mat-list-list-item-leading-icon-end-space: 12px;--mat-list-list-item-one-line-container-height: 44px;--mat-list-list-item-two-line-container-height: 60px;--mat-list-list-item-three-line-container-height: 84px;--mat-paginator-container-size: 52px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mat-radio-touch-target-display: block;--mat-radio-state-layer-size: 36px;--mat-tab-container-height: 44px;--mat-select-arrow-transform: translateY(-8px);--mat-button-toggle-height: 40px;--mat-stepper-header-height: 68px;--mat-table-header-container-height: 52px;--mat-table-footer-container-height: 48px;--mat-table-row-item-container-height: 48px;--mat-toolbar-standard-height: 60px;--mat-toolbar-mobile-height: 52px;--mat-tree-node-min-height: 44px;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}*{box-sizing:border-box}body{min-width:320px;min-height:100%;margin:0;background:radial-gradient(900px 540px at -12% -12%,color-mix(in srgb,var(--app-primary) 11%,transparent),transparent 68%),radial-gradient(760px 500px at 112% 8%,color-mix(in srgb,var(--app-glow-secondary) 8%,transparent),transparent 70%),var(--app-background);background-attachment:fixed;color:var(--app-text);font-family:var(--font-family-ui);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--app-primary) 48%,transparent);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--app-text)}.page{width:100%;max-width:none;margin-inline:auto}.page-enter{animation:page-in .2s ease-out both}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}.page-header{width:100%;min-height:118px;margin-bottom:24px;padding:28px 30px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:color-mix(in srgb,var(--app-surface) 92%,transparent);box-shadow:var(--app-shadow-sm)}.page-header h1{margin:0 0 8px;font-size:var(--font-size-page-title);font-weight:var(--font-weight-page-title);line-height:var(--line-height-page-title);letter-spacing:-.025em}.page-header p{max-width:76ch;margin:0;color:var(--app-text-secondary)}.eyebrow{margin:0 0 8px;color:var(--app-primary);font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.1em;text-transform:uppercase}.card{padding:24px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-sm)}.app-icon-button{width:40px;height:40px;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:var(--app-radius-sm)!important;color:var(--app-text-secondary)!important}.app-icon-button:hover{color:var(--app-text)!important;background:var(--app-surface-hover)!important}.app-icon-button mat-icon{width:21px;height:21px;font-size:21px;line-height:21px}.app-select-panel.mat-mdc-menu-panel{min-width:176px;max-width:min(280px,100vw - 24px);padding:6px;overflow:auto;border:1px solid var(--app-border);border-radius:var(--app-radius-md);color:var(--app-text);background:var(--app-surface);box-shadow:var(--app-shadow-md)}.app-select-panel .mat-mdc-menu-item{min-height:40px;margin:1px 0;border-radius:var(--app-radius-sm);color:var(--app-text);font-family:var(--font-family-ui);font-size:14px}.app-select-panel .mat-mdc-menu-item:hover:not([disabled]){background:var(--app-surface-hover)}.app-select-panel .mat-mdc-menu-item.selected{color:var(--app-primary);background:var(--app-primary-soft)}.app-select-panel .mat-mdc-menu-item mat-icon{color:inherit}.app-select-panel .mat-mdc-menu-item .check{margin-left:auto}@media(max-width:760px){body{background-attachment:scroll}.page-header{min-height:0;padding:24px 20px}.card{padding:20px}}:root{color-scheme:dark;--app-bg:#0a0d18;--app-bg-secondary:#11172a;--app-surface:#151b30;--app-surface-hover:#202845;--app-surface-active:#2b2857;--app-text:#f4f5ff;--app-text-secondary:#c0c7dc;--app-text-muted:#8f99b5;--app-border:#303a5b;--app-border-strong:#46557d;--app-primary:#a78bfa;--app-primary-hover:#c4b5fd;--app-primary-soft:#29224d;--app-success:#55d6ad;--app-warning:#f3b96b;--app-glow-secondary:#4f8dff;--app-content-max:1320px;--app-reading-max:980px;--app-radius-lg:20px;--app-radius-md:14px;--app-shadow-sm:0 10px 30px rgb(0 0 0 / 22%);--app-shadow-md:0 24px 64px rgb(0 0 0 / 34%);--app-glow:0 0 42px color-mix(in srgb,var(--app-primary) 18%,transparent)}:root[data-theme=light]{color-scheme:light;--app-bg:#f4f6fc;--app-bg-secondary:#edf1fa;--app-surface:#fff;--app-surface-hover:#f6f7fd;--app-surface-active:#eeefff;--app-text:#20253a;--app-text-secondary:#5f6980;--app-text-muted:#778197;--app-border:#dfe4f0;--app-border-strong:#c9d1e1;--app-primary:#5b5ce2;--app-primary-hover:#494ad0;--app-primary-soft:#eeefff;--app-success:#16856a;--app-warning:#ae7418}body{background:radial-gradient(900px 560px at -10% -12%,rgba(109,66,187,.168627451),transparent 65%),radial-gradient(820px 560px at 108% 0,rgba(43,124,245,.168627451),transparent 65%),var(--app-bg)}.page{max-width:var(--app-content-max);margin-inline:auto}.page-header{background:linear-gradient(135deg,color-mix(in srgb,var(--app-surface) 96%,#4c318f 4%),var(--app-surface));box-shadow:var(--app-shadow-sm)}.app-button,.page a.app-button{min-height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);font-weight:700;text-decoration:none;box-shadow:0 8px 20px #31206a55;transition:transform .15s,filter .15s}.app-button:hover,.page a.app-button:hover{filter:brightness(1.1);transform:translateY(-1px)}.app-button.secondary{border-color:var(--app-border-strong);color:var(--app-text);background:var(--app-surface-hover);box-shadow:none}.app-button.ghost{color:var(--app-primary);background:transparent;box-shadow:none}:root{--text-on-dark-primary:#f8f9ff;--text-on-dark-secondary:#d9deed;--text-on-dark-muted:#acb6ce;--text-on-light-primary:#192036;--text-on-light-secondary:#4d5870;--app-on-dark:var(--text-on-dark-primary);--app-on-dark-secondary:var(--text-on-dark-secondary);--app-on-dark-muted:var(--text-on-dark-muted)}:root[data-theme=light]{--app-text:var(--text-on-light-primary);--app-text-secondary:var(--text-on-light-secondary)}body{position:relative;isolation:isolate;background:var(--app-bg)}body:before{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;background:radial-gradient(1000px 680px at -10% -12%,rgba(117,72,203,.1882352941),transparent 68%),radial-gradient(900px 680px at 110% 4%,rgba(43,124,245,.168627451),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--app-bg-secondary) 24%,transparent),transparent 38%)}app-root{position:relative;z-index:1;display:block;min-height:100dvh}.learning-dark-surface,.learning-hero,.course-hero,.v2>header,.phase-card.active,.lesson-content .block,.lesson-content .lead,.activities,.activities article{color:var(--text-on-dark-primary)!important}.learning-dark-surface h1,.learning-dark-surface h2,.learning-dark-surface h3,.learning-hero h1,.course-hero h1,.v2>header h1,.phase-card.active h3,.lesson-content .block h2,.lesson-content .lead h2,.activities h2,.activities h3{color:var(--text-on-dark-primary)!important}.learning-dark-surface p,.learning-dark-surface li,.learning-hero p,.course-hero p:not(.eyebrow),.v2>header p:not(.eyebrow),.phase-card.active p,.lesson-content .block p,.lesson-content .block li,.lesson-content .lead p,.activities p,.activities label{color:var(--text-on-dark-secondary)!important}.learning-dark-surface .eyebrow,.learning-hero .eyebrow,.course-hero .eyebrow,.v2>header .eyebrow,.lesson-content .block .eyebrow,.lesson-content .lead .eyebrow{color:var(--text-on-dark-muted)!important}@media(max-width:760px){.page{max-width:none}.page-header{padding:24px 20px}}
