:root,:root[data-theme=light]{color-scheme:light;--app-bg: #f5f7fb;--app-bg-secondary: #eef3f8;--app-surface: #fff;--app-surface-raised: #fff;--app-surface-subtle: #f7f9fc;--app-surface-hover: #edf3f8;--app-surface-active: #e3eef7;--app-text: #142033;--app-text-secondary: #47566d;--app-text-muted: #607084;--app-border: #d9e2ec;--app-border-strong: #b8c7d8;--app-primary: #176b87;--app-primary-hover: #0f5871;--app-primary-active: #0b465c;--app-primary-soft: #e2f2f6;--app-accent: #4f73c6;--app-on-primary: #fff;--app-success: #147657;--app-success-soft: #e7f6ef;--app-warning: #946215;--app-warning-soft: #fff4d8;--app-danger: #b53649;--app-danger-soft: #fff0f2;--app-info: #2b67a2;--app-info-soft: #eaf3fd;--font-family-ui: "Inter", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-body: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.35rem;--font-size-page-title: clamp(2rem, 3.3vw, 3rem);--font-weight-regular: 400;--font-weight-medium: 560;--font-weight-semibold: 650;--font-weight-bold: 740;--line-height-body: 1.55;--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;--app-radius-sm: 9px;--app-radius-md: 14px;--app-radius-lg: 20px;--app-radius-xl: 28px;--app-shadow-sm: 0 1px 2px rgb(20 32 51 / 4%), 0 8px 24px rgb(20 32 51 / 5%);--app-shadow-md: 0 18px 48px rgb(20 32 51 / 10%);--app-shadow-lg: 0 28px 80px rgb(20 32 51 / 16%);--app-focus-ring: 0 0 0 3px color-mix(in srgb, var(--app-primary) 24%, transparent);--app-transition: .16s ease;--app-sidebar-expanded-width: 248px;--app-sidebar-collapsed-width: 76px;--app-header-height: 68px;--app-page-padding: clamp(20px, 2.6vw, 42px);--app-content-max: 1500px;--app-reading-max: 980px;--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);--text-on-dark-primary: #f8fafc;--text-on-dark-secondary: #d7deea;--text-on-dark-muted: #acb8cc}:root[data-theme=dark]{color-scheme:dark;--app-bg: #101822;--app-bg-secondary: #15212d;--app-surface: #1a2734;--app-surface-raised: #202f3e;--app-surface-subtle: #15222e;--app-surface-hover: #263848;--app-surface-active: #304657;--app-text: #f2f6f8;--app-text-secondary: #c3cfda;--app-text-muted: #97a8b9;--app-border: #344656;--app-border-strong: #4d6274;--app-primary: #78c7da;--app-primary-hover: #9adbea;--app-primary-active: #b8e8f2;--app-primary-soft: #173b47;--app-accent: #8ea8eb;--app-on-primary: #101822;--app-success: #6fd3ad;--app-success-soft: #153b30;--app-warning: #f1c275;--app-warning-soft: #44371c;--app-danger: #ff9baa;--app-danger-soft: #48242c;--app-info: #8dc2f1;--app-info-soft: #1d354b;--app-shadow-sm: 0 8px 28px rgb(0 0 0 / 18%);--app-shadow-md: 0 20px 50px rgb(0 0 0 / 28%);--app-shadow-lg: 0 30px 90px rgb(0 0 0 / 38%)}html{height:100%;scrollbar-gutter:stable;--mat-sys-background: light-dark(#f7faf9, #101414);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#eff1f0, #2d3131);--mat-sys-inverse-primary: light-dark(#00dddd, #006a6a);--mat-sys-inverse-surface: light-dark(#2d3131, #e0e3e2);--mat-sys-on-background: light-dark(#191c1c, #e0e3e2);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #003737);--mat-sys-on-primary-container: light-dark(#004f4f, #00fbfb);--mat-sys-on-primary-fixed: light-dark(#002020, #002020);--mat-sys-on-primary-fixed-variant: light-dark(#004f4f, #004f4f);--mat-sys-on-secondary: light-dark(#ffffff, #1b3534);--mat-sys-on-secondary-container: light-dark(#324b4b, #cce8e7);--mat-sys-on-secondary-fixed: light-dark(#051f1f, #051f1f);--mat-sys-on-secondary-fixed-variant: light-dark(#324b4b, #324b4b);--mat-sys-on-surface: light-dark(#191c1c, #e0e3e2);--mat-sys-on-surface-variant: light-dark(#3f4948, #dae5e4);--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(#6f7979, #889392);--mat-sys-outline-variant: light-dark(#bec9c8, #3f4948);--mat-sys-primary: light-dark(#006a6a, #00dddd);--mat-sys-primary-container: light-dark(#00fbfb, #004f4f);--mat-sys-primary-fixed: light-dark(#00fbfb, #00fbfb);--mat-sys-primary-fixed-dim: light-dark(#00dddd, #00dddd);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#4a6363, #b0cccb);--mat-sys-secondary-container: light-dark(#cce8e7, #324b4b);--mat-sys-secondary-fixed: light-dark(#cce8e7, #cce8e7);--mat-sys-secondary-fixed-dim: light-dark(#b0cccb, #b0cccb);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f7faf9, #101414);--mat-sys-surface-bright: light-dark(#f7faf9, #363a39);--mat-sys-surface-container: light-dark(#ebefed, #1c2020);--mat-sys-surface-container-high: light-dark(#e6e9e7, #272b2a);--mat-sys-surface-container-highest: light-dark(#e0e3e2, #313635);--mat-sys-surface-container-low: light-dark(#f1f4f3, #191c1c);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0b0f0e);--mat-sys-surface-dim: light-dark(#d7dbd9, #101414);--mat-sys-surface-tint: light-dark(#006a6a, #00dddd);--mat-sys-surface-variant: light-dark(#dae5e4, #3f4948);--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: #293232;--mat-sys-neutral10: #191c1c;--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;color:var(--app-text);background:var(--app-bg) url(/images/shell-soft-bg.jpg) center center/cover no-repeat fixed;font-family:var(--font-family-ui);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased}:root[data-theme=dark] body{background-image:linear-gradient(#101822eb,#101822f5),url(/images/shell-soft-bg.jpg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{transition:color var(--app-transition),background-color var(--app-transition),border-color var(--app-transition),box-shadow var(--app-transition),transform var(--app-transition)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--app-primary);outline-offset:3px;box-shadow:var(--app-focus-ring)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--app-text);line-height:1.2}app-root{display:block;min-height:100dvh}.page{width:100%;max-width:var(--app-content-max);margin-inline:auto}.learning-surface{--learning-surface-base: color-mix(in srgb, var(--app-surface) 72%, var(--app-bg-secondary));min-width:0;min-height:100vh;margin:calc(-1 * var(--app-page-padding));padding:var(--app-page-padding);background-color:var(--learning-surface-base);background-image:url(/images/learning-paths-bg.jpg);background-repeat:no-repeat;background-position:top center;background-size:100% auto}.learning-surface>.page{position:relative}:root[data-theme=dark] .learning-surface{--learning-surface-base: color-mix(in srgb, var(--app-bg) 82%, var(--app-surface));background-image:linear-gradient(rgba(16,24,34,.8),var(--learning-surface-base)),url(/images/learning-paths-bg.jpg);background-size:100% 100%,100% auto}.page-enter{animation:page-in .2s ease-out both}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}.page-header{min-height:118px;margin-bottom:var(--space-6);padding:28px 30px;border:1px solid var(--app-border);border-radius:var(--app-radius-xl);background:color-mix(in srgb,var(--app-surface) 94%,transparent);box-shadow:var(--app-shadow-sm)}.page-header h1{margin:0 0 var(--space-2);font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);letter-spacing:-.035em}.page-header p{max-width:76ch;margin:0;color:var(--app-text-secondary)}.eyebrow{margin:0 0 var(--space-2);color:var(--app-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase}.card{padding:var(--space-6);border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-sm)}.app-button,.page a.app-button{min-height:42px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--app-radius-sm);color:var(--app-on-primary);background:var(--app-primary);font-weight:var(--font-weight-semibold);text-decoration:none;box-shadow:0 8px 18px color-mix(in srgb,var(--app-primary) 22%,transparent)}.app-button:hover,.page a.app-button:hover{background:var(--app-primary-hover);transform:translateY(-1px)}.app-button.secondary,.page a.app-button.secondary{border-color:var(--app-border-strong);color:var(--app-text);background:var(--app-surface);box-shadow:none}.app-button.ghost,.page a.app-button.ghost{color:var(--app-primary);background:transparent;box-shadow:none}.app-button.secondary:hover,.page a.app-button.secondary:hover,.app-button.ghost:hover,.page a.app-button.ghost:hover{background:var(--app-surface-hover)}.app-icon-button{width:42px;height:42px;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-raised);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:var(--font-size-sm)}.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 .check{margin-left:auto}.app-select-panel .mat-mdc-menu-item[disabled]{opacity:1;color:var(--app-text-secondary);background:var(--app-surface-subtle)}.learning-dark-surface,.v2>header,.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,.v2>header h1,.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,.v2>header p:not(.eyebrow),.lesson-content .block p,.lesson-content .block li,.lesson-content .lead p,.activities p,.activities label{color:var(--text-on-dark-secondary)!important}@media(max-width:760px){.learning-surface{margin:-16px;padding:16px}.page-header{min-height:0;padding:24px 20px}.card{padding:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
