html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--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 Roboto;--mat-sys-body-large-font: Roboto;--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 Roboto;--mat-sys-body-medium-font: Roboto;--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 Roboto;--mat-sys-body-small-font: Roboto;--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 Roboto;--mat-sys-display-large-font: Roboto;--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 Roboto;--mat-sys-display-medium-font: Roboto;--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 Roboto;--mat-sys-display-small-font: Roboto;--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 Roboto;--mat-sys-headline-large-font: Roboto;--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 Roboto;--mat-sys-headline-medium-font: Roboto;--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 Roboto;--mat-sys-headline-small-font: Roboto;--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 Roboto;--mat-sys-label-large-font: Roboto;--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 Roboto;--mat-sys-label-medium-font: Roboto;--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 Roboto;--mat-sys-label-small-font: Roboto;--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 Roboto;--mat-sys-title-large-font: Roboto;--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 Roboto;--mat-sys-title-medium-font: Roboto;--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 Roboto;--mat-sys-title-small-font: Roboto;--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-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}:root{--text-xs: .14rem;--text-sm: .16rem;--text-base: .18rem;--text-md: .2rem;--text-lg: .22rem;--text-xl: .3rem;--text-xxl: .4rem;--text-xxxl: .5rem;--dark: #1d1d1d;--dark-bg: #101010;--dark-bg-secondary: #303030;--dark-bg-tertiary: #505050;--dark-text: #909090;--dark-text-secondary: #a5a5a5;--dark-text-tertiary: #c5c5c5;--dark-accent: #ffffff;--dark-color: rgb(0 92 187);--light: #ffffff;--light-bg: #f5f5f5;--light-bg-secondary: #e5e5e5;--light-bg-tertiary: #d5d5d5;--light-text: #606060;--light-text-secondary: #454545;--light-text-tertiary: #303030;--light-accent: #151515;--light-color: rgb(255, 204, 0);--font-sans: "Inter Tight", -apple-system, system-ui, sans-serif;--font-display: "Inter Tight", -apple-system, system-ui, sans-serif;--font-mono: monospace, -apple-system, system-ui, sans-serif;--nav-height: .85rem;--footer-height: .85rem;--switcher-bg: #e4e9f1;--switcher-bg-dark: #454545;--z-header: 100;--z-progress: 200;--z-skip-link: 300;--z-drawer: 400;--z-overlay: 500;--z-modal: 600;--z-spinner: 700;--ease: cubic-bezier(.4, 0, .2, 1);--transition: color .3s var(--ease), background-color .3s var(--ease), border-color .3s var(--ease), outline-color .3s var(--ease), outline-width .3s var(--ease), outline-offset .3s var(--ease), text-underline-offset .3s var(--ease), filter .3s var(--ease), opacity .3s var(--ease), transform .3s var(--ease), visibility .3s var(--ease);--bg: var(--dark);--bg-color: var(--dark-bg);--bg-color-secondary: var(--dark-bg-secondary);--bg-color-tertiary: var(--dark-bg-tertiary);--text: var(--dark-text);--text-color: var(--dark-text);--text-color-secondary: var(--dark-text-secondary);--text-color-highlight: var(--dark-text-tertiary);--accent-color: var(--dark-accent);--border-color: var(--dark-bg-tertiary);--color: var(--light-color);--social-icon-filter: grayscale(1) contrast(.345) brightness(1.16);--social-icon-filter-colored: grayscale(1) contrast(2.5) brightness(1.1);--social-icon-filter-hover: grayscale(1) contrast(0) brightness(2);--hero-glow-head: var(--light-color);--hero-glow-body: #c3ccd8;--hero-image-reveal-contrast: 1;--hero-image-reveal-brightness: 0;--saturation: 150%}body.dark-mode{--bg: var(--dark);--bg-color: var(--dark-bg);--bg-color-secondary: var(--dark-bg-secondary);--bg-color-tertiary: var(--dark-bg-tertiary);--text: var(--dark-text);--text-color: var(--dark-text);--text-color-secondary: var(--dark-text-secondary);--text-color-highlight: var(--dark-text-tertiary);--accent-color: var(--dark-accent);--border-color: var(--dark-bg-tertiary);--color: var(--dark-color);--social-icon-filter: grayscale(1) contrast(.345) brightness(1.16);--social-icon-filter-colored: grayscale(1) contrast(2.5) brightness(1.1);--social-icon-filter-hover: grayscale(1) contrast(0) brightness(2);--hero-glow-head: var(--dark-color);--hero-glow-body: #c3ccd8;--hero-image-reveal-contrast: 1;--hero-image-reveal-brightness: .5}body.light-mode{--bg: var(--light);--bg-color: var(--light-bg);--bg-color-secondary: var(--light-bg-secondary);--bg-color-tertiary: var(--light-bg-tertiary);--text: var(--dark-text);--text-color: var(--light-text);--text-color-secondary: var(--light-text-secondary);--text-color-highlight: var(--light-text-tertiary);--accent-color: var(--light-accent);--border-color: var(--light-bg-tertiary);--social-icon-filter: none;--social-icon-filter-colored: none;--social-icon-filter-hover: none;--hero-glow-head: var(--light-color);--hero-glow-body: #1d1d1d;--hero-image-reveal-contrast: .5;--hero-image-reveal-brightness: 1.5}*,*:before,*:after{box-sizing:border-box}html{box-sizing:border-box}*{margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){color:currentColor;text-decoration-skip-ink:auto}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}.cdk-overlay-container{z-index:var(--z-overlay)}.mat-mdc-menu-panel{--mat-menu-container-color: var(--bg);--mat-menu-container-shape: 8px;--mat-menu-container-elevation-shadow: none;--mat-menu-item-label-text-color: var(--text-color);--mat-menu-item-hover-state-layer-color: var(--bg-color-secondary);--mat-menu-item-leading-spacing: 16px;--mat-menu-item-trailing-spacing: 16px;margin-top:12px;border:1px solid var(--border-color);min-height:auto;font-size:14px;line-height:normal}.mat-mdc-menu-panel .mat-mdc-menu-content{margin:0;padding:0}.mat-mdc-menu-panel .mat-mdc-menu-item{margin:0;height:40px;min-height:40px;max-height:40px;font-size:14px;line-height:normal}.mat-mdc-menu-panel .mat-mdc-menu-item:hover{color:var(--text-color-highlight)}.mat-mdc-menu-panel.language-switcher-panel .mat-mdc-menu-item-text{display:flex;column-gap:8px;justify-content:start;align-items:center}.mat-mdc-menu-panel.language-switcher-panel .language-switcher-item__label{font-weight:500;font-size:14px;font-family:var(--font-mono)}.mat-mdc-menu-panel.language-switcher-panel .language-switcher-item__emoji{font-size:18px}body.dark-mode .mat-mdc-menu-panel{--mat-menu-item-hover-state-layer-color: var(--bg-color-tertiary)}@media(max-width:768px){.mat-mdc-menu-panel{--mat-menu-item-leading-spacing: 20px;--mat-menu-item-trailing-spacing: 20px}.mat-mdc-menu-panel .mat-mdc-menu-item{height:48px;min-height:48px;max-height:48px;font-size:15px}.mat-mdc-menu-panel.language-switcher-panel .language-switcher-item__label{font-size:15px}}.app__spinner .mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-color: var(--accent-color);--mat-sys-primary: var(--accent-color)}.app__spinner .mat-mdc-progress-spinner svg{max-width:none}::view-transition-group(*):not(::view-transition-group(root)){animation-duration:.48s;animation-timing-function:cubic-bezier(.42,0,.58,1)}::view-transition-image-pair(*):not(::view-transition-image-pair(root)){isolation:isolate}::view-transition-old(*):not(::view-transition-old(root)){mix-blend-mode:normal;animation:caseSlideOldOut .48s cubic-bezier(.42,0,.58,1) both}::view-transition-new(*):not(::view-transition-new(root)){mix-blend-mode:normal;animation:caseSlideNewIn .48s cubic-bezier(.42,0,.58,1) both}@keyframes caseSlideOldOut{0%{opacity:1}18%{opacity:0}to{opacity:0}}@keyframes caseSlideNewIn{0%{opacity:0}45%{opacity:0}85%{opacity:1}to{opacity:1}}@keyframes fadeInUp{0%{transform:translateY(.2rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{font-size:100px}@media(min-width:1025px){html{font-size:calc((1vw + 1vh) / 23.8 * 100)}}body{background:var(--bg-color);color:var(--text-color);font-size:var(--text-base);font-family:var(--font-sans);letter-spacing:.025em;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{margin:0 0 .1rem;color:var(--accent-color)}h1{font-weight:700;font-size:var(--text-xxl)}h2{font-weight:700;font-size:var(--text-xl)}h3{font-weight:700;font-size:var(--text-lg)}h4{font-weight:700;font-size:var(--text-md)}h5{font-weight:700;font-size:var(--text-base)}h6{font-weight:700;font-size:var(--text-sm)}a{color:var(--accent-color);text-decoration:none}a:hover{color:var(--dark-accent)}section{position:relative;padding:0 .32rem;scroll-margin-top:1rem;scroll-snap-align:start}.rich-text a{transition:var(--transition);cursor:pointer;color:var(--accent-color);text-decoration:underline;text-underline-offset:.04rem}.rich-text a:hover{text-underline-offset:.05rem}@media(max-width:1024px){html,body{overflow-x:clip}section{padding:0;scroll-margin-top:calc(var(--nav-height) + .24rem)}}@media(max-width:768px){section{scroll-margin-top:calc(var(--nav-height) + .16rem)}h1{font-size:clamp(.3rem,7.4vw,.4rem)}h2{font-size:clamp(.25rem,6vw,.3rem)}h3{font-size:clamp(.21rem,5vw,.24rem)}.rich-text a{text-underline-offset:.03rem}}@media print{body{background-color:#fff!important;color:#000!important}}main{flex:1;padding-bottom:var(--footer-height)}main:focus{outline:none}
