@charset "UTF-8";.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-lg{font-size:var(--text-lg)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-center{text-align:center}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none!important}html{height:100%;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-display-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-display-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-display-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-headline-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-headline-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-headline-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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}[data-theme=dark]{--mat-sys-background: #121316;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #2f3033;--mat-sys-inverse-primary: #005cbb;--mat-sys-inverse-surface: #e3e2e6;--mat-sys-on-background: #e3e2e6;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #002f65;--mat-sys-on-primary-container: #d7e3ff;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #283041;--mat-sys-on-secondary-container: #dae2f9;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #e3e2e6;--mat-sys-on-surface-variant: #e0e2ec;--mat-sys-on-tertiary: #0001ac;--mat-sys-on-tertiary-container: #e0e0ff;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #8e9099;--mat-sys-outline-variant: #44474e;--mat-sys-primary: #abc7ff;--mat-sys-primary-container: #00458f;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #bec6dc;--mat-sys-secondary-container: #3e4759;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #121316;--mat-sys-surface-bright: #38393c;--mat-sys-surface-container: #1f2022;--mat-sys-surface-container-high: #292a2c;--mat-sys-surface-container-highest: #343537;--mat-sys-surface-container-low: #1a1b1f;--mat-sys-surface-container-lowest: #0d0e11;--mat-sys-surface-dim: #121316;--mat-sys-surface-tint: #abc7ff;--mat-sys-surface-variant: #44474e;--mat-sys-tertiary: #bec2ff;--mat-sys-tertiary-container: #0000ef;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-display-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-display-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-display-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-headline-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-headline-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-headline-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-large-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-medium-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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 -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-small-font: -apple-system, BlinkMacSystemFont, SF Pro Display, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--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}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #FAFAFA;--color-bg-alt: #F5F5F7;--color-bg-elevated: #FFFFFF;--color-surface: #FFFFFF;--color-border: #E5E5EA;--color-border-subtle: #F0F0F2;--color-text-primary: #1D1D1F;--color-text-secondary: #6E6E73;--color-text-tertiary: #86868B;--color-text-inverse: #FFFFFF;--color-accent: #0071E3;--color-accent-hover: #0077ED;--color-accent-subtle: rgba(0, 113, 227, .08);--color-success: #34C759;--color-warning: #FF9F0A;--color-error: #FF3B30;--color-code-bg: #F5F5F7;--color-code-border: #E5E5EA;--color-shadow: rgba(0, 0, 0, .04);--color-shadow-md: rgba(0, 0, 0, .08);--color-shadow-lg: rgba(0, 0, 0, .12);--color-glass: rgba(255, 255, 255, .72);--color-glass-border: rgba(255, 255, 255, .3);--color-nav-bg: rgba(250, 250, 250, .85);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3.25rem;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.6;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--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;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--max-width: 1200px;--max-width-narrow: 800px;--max-width-wide: 1400px;--sidebar-width: 260px;--nav-height: 60px;--grid-gap: 1.5rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s;--transition-base: .25s;--transition-slow: .4s}[data-theme=dark]{--color-bg: #000000;--color-bg-alt: #1C1C1E;--color-bg-elevated: #2C2C2E;--color-surface: #1C1C1E;--color-border: #38383A;--color-border-subtle: #2C2C2E;--color-text-primary: #F5F5F7;--color-text-secondary: #A1A1A6;--color-text-tertiary: #6E6E73;--color-text-inverse: #1D1D1F;--color-accent: #2997FF;--color-accent-hover: #40A9FF;--color-accent-subtle: rgba(41, 151, 255, .12);--color-code-bg: #1C1C1E;--color-code-border: #38383A;--color-shadow: rgba(0, 0, 0, .2);--color-shadow-md: rgba(0, 0, 0, .3);--color-shadow-lg: rgba(0, 0, 0, .4);--color-glass: rgba(28, 28, 30, .72);--color-glass-border: rgba(56, 56, 58, .3);--color-nav-bg: rgba(0, 0, 0, .85)}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;height:100%}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}img{max-width:100%;display:block}h1,h2,h3,h4{font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}ul,ol{padding-left:var(--space-6)}li{margin-bottom:var(--space-2)}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-code-bg);padding:.15em .4em;border-radius:var(--radius-sm)}pre code{background:none;padding:0}strong{font-weight:600}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:600;background:var(--color-bg-alt)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.container--narrow{max-width:var(--max-width-narrow)}.container--wide{max-width:var(--max-width-wide)}.section{padding:var(--space-20) 0}.section--sm{padding:var(--space-8) 0}.section--lg{padding:var(--space-32) 0}.section--alt{background:var(--color-bg-alt)}.grid{display:grid;gap:var(--grid-gap)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex--center{align-items:center;justify-content:center}.flex--between{align-items:center;justify-content:space-between}.flex--gap-2{gap:var(--space-2)}.flex--gap-4{gap:var(--space-4)}.flex--gap-6{gap:var(--space-6)}.flex--wrap{flex-wrap:wrap}.hero{padding:var(--space-24) 0 var(--space-16);text-align:center}.hero--left{text-align:left}.hero__title{font-size:var(--text-5xl);margin-bottom:var(--space-6);max-width:800px}.hero:not(.hero--left) .hero__title{margin-left:auto;margin-right:auto}.hero__subtitle{font-size:var(--text-xl);color:var(--color-text-secondary);line-height:var(--leading-normal);max-width:600px;margin-bottom:var(--space-8)}.hero:not(.hero--left) .hero__subtitle{margin-left:auto;margin-right:auto}.hero__brand{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6)}.hero__logo{width:72px;height:72px;flex-shrink:0}.hero__actions{display:flex;gap:var(--space-4)}.hero:not(.hero--left) .hero__actions{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.625rem 1.25rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none;text-decoration:none;white-space:nowrap;font-family:var(--font-sans)}.btn--primary{background:var(--color-accent);color:var(--color-text-inverse)}.btn--primary:hover{background:var(--color-accent-hover);color:var(--color-text-inverse)}.btn--secondary{background:transparent;color:var(--color-accent);border:1px solid var(--color-border)}.btn--secondary:hover{border-color:var(--color-accent);background:var(--color-accent-subtle)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover{color:var(--color-accent)}.btn--sm{padding:.375rem .875rem;font-size:var(--text-xs)}.btn--lg{padding:.875rem 1.75rem;font-size:var(--text-base)}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);transition:all var(--transition-base)}.card--link{display:block;text-decoration:none;color:inherit}.card--link:hover{border-color:var(--color-accent);box-shadow:0 4px 24px var(--color-shadow-md);transform:translateY(-2px);color:inherit}.card__icon{margin-bottom:var(--space-4);color:var(--color-accent)}.card__logo{margin-bottom:var(--space-4)}.card__logo img{width:48px;height:48px}.card__title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text-primary)}.card__description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.card__meta{margin-top:var(--space-4);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.pcard{display:flex;flex-direction:column;height:100%;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-decoration:none;color:inherit;transition:all var(--transition-base)}.pcard:hover{border-color:var(--color-accent);box-shadow:0 4px 24px var(--color-shadow-md);transform:translateY(-2px)}.pcard__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.pcard__logo{width:32px;height:32px;flex-shrink:0}.pcard__icon{color:var(--color-accent);flex-shrink:0;display:flex}.pcard__icon .mat-icon{width:26px;height:26px;font-size:26px}.pcard__name{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.pcard__tagline{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal);flex:1}.pcard__badges{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4)}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;background:var(--color-accent-subtle);color:var(--color-accent)}.badge--neutral{background:var(--color-bg-alt);color:var(--color-text-secondary)}.badge--success{background:#34c7591f;color:var(--color-success)}.badge--warning{background:#ff9f0a1f;color:var(--color-warning)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--grid-gap)}.pricing-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);display:flex;flex-direction:column}.pricing-card--featured{border-color:var(--color-accent);position:relative}.pricing-card--featured:before{content:"Most Popular";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-accent);color:#fff;padding:.2rem .75rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.pricing-card__tier{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.pricing-card__price{font-size:var(--text-3xl);font-weight:700;margin-bottom:var(--space-1)}.pricing-card__period{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-6)}.pricing-card__features{list-style:none;padding:0;margin-bottom:var(--space-8);flex:1}.pricing-card__features li{padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle)}.pricing-card__features li:before{content:"\2713  ";color:var(--color-success);font-weight:600}.press-card{padding:var(--space-6) 0;border-bottom:1px solid var(--color-border-subtle)}.press-card:first-child{padding-top:0}.press-card__date{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.press-card__title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.press-card__title a{color:var(--color-text-primary)}.press-card__title a:hover{color:var(--color-accent)}.press-card__summary{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.changelog-entry{padding:var(--space-6) 0;border-bottom:1px solid var(--color-border-subtle)}.changelog-entry:first-child{padding-top:0}.changelog-entry__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.changelog-entry__date{font-size:var(--text-xs);color:var(--color-text-tertiary)}.changelog-entry__version{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono)}.changelog-entry__summary{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-3)}.changelog-entry__bullets{font-size:var(--text-sm);color:var(--color-text-secondary)}.changelog-entry__bullets li{margin-bottom:var(--space-1)}.product-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:var(--space-12);max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6) var(--space-16)}.product-layout__sidebar{position:relative}.product-layout__content{min-width:0}.product-sidenav{position:sticky;top:calc(var(--nav-height) + var(--space-8))}.product-sidenav__title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.product-sidenav__link{display:block;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);border-left:2px solid transparent;transition:all var(--transition-fast);text-decoration:none}.product-sidenav__link:hover{color:var(--color-text-primary)}.product-sidenav__link--active{color:var(--color-accent);border-left-color:var(--color-accent);font-weight:500}.product-section{padding:var(--space-16) 0;border-bottom:1px solid var(--color-border-subtle)}.product-section:last-child{border-bottom:none}.product-section__title{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.docs-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:var(--space-12);max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6) var(--space-16)}.docs-sidebar{position:relative}.docs-sidebar__search{position:relative;margin-bottom:var(--space-6)}.docs-sidebar__search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary)}.docs-sidebar__search-input{width:100%;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-bg-elevated);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast);font-family:var(--font-sans)}.docs-sidebar__search-input:focus{border-color:var(--color-accent)}.docs-sidebar__search-kbd{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--text-xs);color:var(--color-text-tertiary);background:var(--color-bg-alt);padding:.1rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-family:var(--font-mono)}.docs-nav__group{margin-bottom:var(--space-6)}.docs-nav__brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.docs-nav__logo{width:28px;height:28px;flex-shrink:0}.docs-nav__group-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-tertiary);margin-bottom:var(--space-3)}.docs-brand-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.docs-brand-header__logo{width:56px;height:56px;flex-shrink:0}.docs-nav__link{display:block;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none}.docs-nav__link:hover{color:var(--color-text-primary);background:var(--color-bg-alt)}.docs-nav__link--active{color:var(--color-accent);font-weight:500;background:var(--color-accent-subtle)}.docs-content{max-width:720px}.docs-content h1{font-size:var(--text-3xl);margin-bottom:var(--space-6)}.docs-content h2{font-size:var(--text-xl);margin-top:var(--space-12);margin-bottom:var(--space-4)}.docs-content h3{font-size:var(--text-lg);margin-top:var(--space-8);margin-bottom:var(--space-3)}.docs-content p{margin-bottom:var(--space-4);color:var(--color-text-secondary);line-height:var(--leading-normal)}.docs-content ul,.docs-content ol{margin-bottom:var(--space-4)}.docs-footer{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.docs-footer__link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none}.docs-footer__link:hover{color:var(--color-accent)}.docs-footer__nav{display:flex;gap:var(--space-6)}.filter-bar{display:flex;gap:var(--space-2);margin-bottom:var(--space-8);flex-wrap:wrap}.filter-btn{padding:.375rem .875rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans)}.filter-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-btn--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--space-8)}.error-page__code{font-size:8rem;font-weight:700;color:var(--color-border);line-height:1}.error-page__title{font-size:var(--text-2xl);margin:var(--space-4) 0}.error-page__text{color:var(--color-text-secondary);margin-bottom:var(--space-8)}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--space-8)}.coming-soon__badge{margin-bottom:var(--space-6)}.coming-soon__title{font-size:var(--text-3xl);margin-bottom:var(--space-4)}.coming-soon__text{color:var(--color-text-secondary);max-width:480px;line-height:var(--leading-normal)}.contact-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8)}.contact-card__title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-3)}.contact-card__text{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);line-height:var(--leading-normal)}.contact-card__link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-accent);text-decoration:none}.contact-card__link:hover{color:var(--color-accent-hover)}.newsletter{max-width:480px;margin:0 auto}.newsletter__form{display:flex;gap:var(--space-3)}.newsletter__input{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);background:var(--color-bg-elevated);color:var(--color-text-primary);outline:none;font-family:var(--font-sans)}.newsletter__input:focus{border-color:var(--color-accent)}.home-featured{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}.home-latest{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.home-audience{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}.cta-band{background:var(--color-bg-alt);padding:var(--space-20) 0;text-align:center}.cta-band__title{font-size:var(--text-3xl);margin-bottom:var(--space-8);max-width:600px;margin-left:auto;margin-right:auto}.nav{position:sticky;top:0;z-index:100;background:var(--color-nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border-subtle);height:var(--nav-height)}.nav__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width-wide);margin:0 auto;padding:0 var(--space-6);height:100%}.nav__logo{display:flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--color-text-primary);text-decoration:none;font-size:var(--text-lg)}.nav__links{display:flex;align-items:center;gap:var(--space-1)}.nav__link{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav__link:hover{color:var(--color-text-primary);background:var(--color-bg-alt)}.nav__link--active{color:var(--color-text-primary);font-weight:500}.nav__actions{display:flex;align-items:center;gap:var(--space-3)}.nav__toggle-theme{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-2);border-radius:var(--radius-md);transition:color var(--transition-fast);display:flex;align-items:center}.nav__toggle-theme:hover{color:var(--color-text-primary)}.nav__mobile-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-2)}.footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border-subtle);padding:var(--space-16) 0 var(--space-8);margin-top:auto}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-12)}.footer__logo{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:var(--space-4)}.footer__tagline{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal);max-width:280px}.footer__section-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.footer__link{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;padding:var(--space-1) 0;transition:color var(--transition-fast)}.footer__link:hover{color:var(--color-accent)}.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-8);border-top:1px solid var(--color-border-subtle);font-size:var(--text-sm);color:var(--color-text-tertiary)}.footer__social{display:flex;gap:var(--space-4)}.footer__social a{color:var(--color-text-tertiary);transition:color var(--transition-fast);text-decoration:none}.footer__social a:hover{color:var(--color-accent)}.code-block{position:relative;background:var(--color-code-bg);border:1px solid var(--color-code-border);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-4) 0;overflow-x:auto}.code-block pre{margin:0}.code-block code{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-primary)}.code-block__copy{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);font-family:var(--font-sans)}.code-block__copy:hover{color:var(--color-accent);border-color:var(--color-accent)}.callout{border-left:3px solid var(--color-accent);background:var(--color-accent-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-4) var(--space-6);margin:var(--space-6) 0}.callout__title{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--color-accent)}.callout--success{border-left-color:var(--color-success);background:#34c75914}.callout--success .callout__title{color:var(--color-success)}.callout--warning{border-left-color:var(--color-warning);background:#ff9f0a14}.callout--warning .callout__title{color:var(--color-warning)}.callout--error{border-left-color:var(--color-error);background:#ff3b3014}.callout--error .callout__title{color:var(--color-error)}.screenshot-placeholder{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:240px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.screenshot-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.screenshot-card__img{width:100%;height:auto;display:block}.docs-figure{margin:var(--space-8) 0}.docs-figure img{width:100%;height:auto;display:block;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.docs-figure figcaption{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-2);text-align:center}.video-placeholder{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:320px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);text-align:center;padding:var(--space-8)}.search-results{display:none;position:fixed;inset:0;z-index:200;background:#0006;padding:var(--space-16)}.search-results.is-open{display:flex;align-items:flex-start;justify-content:center}.search-results__inner{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);max-width:600px;width:100%;max-height:60vh;overflow-y:auto}.search-results__item{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle)}.search-results__item:last-child{border-bottom:none}.search-results__item a{font-weight:500;color:var(--color-text-primary)}.search-results__item p{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.search-results__item mark{background:var(--color-accent-subtle);color:var(--color-accent);padding:.1em .2em;border-radius:2px}.table-wrapper{overflow-x:auto;margin:var(--space-4) 0;border:1px solid var(--color-border);border-radius:var(--radius-md)}.table-wrapper table{margin:0}.table-wrapper th,.table-wrapper td{border-bottom:1px solid var(--color-border-subtle)}.heading-anchor{color:var(--color-text-tertiary);text-decoration:none;padding-left:var(--space-2);opacity:0;transition:opacity var(--transition-fast);font-weight:400}h2:hover .heading-anchor,h3:hover .heading-anchor{opacity:1}.disclosure-steps{counter-reset:step;list-style:none;padding:0}.disclosure-steps li{counter-increment:step;padding:var(--space-3) 0 var(--space-3) var(--space-8);position:relative;font-size:var(--text-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle)}.disclosure-steps li:before{content:counter(step);position:absolute;left:0;width:24px;height:24px;background:var(--color-accent-subtle);color:var(--color-accent);border-radius:50%;font-size:var(--text-xs);font-weight:600;display:flex;align-items:center;justify-content:center}.legal-section{padding:var(--space-8) 0;border-bottom:1px solid var(--color-border-subtle)}.legal-section:last-child{border-bottom:none}.legal-section h2{margin-bottom:var(--space-4)}.legal-section p{color:var(--color-text-secondary);line-height:var(--leading-normal)}.platform-badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.breadcrumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary)}.breadcrumbs a{color:var(--color-text-secondary);text-decoration:none}.breadcrumbs a:hover{color:var(--color-accent)}.breadcrumbs__separator{color:var(--color-text-tertiary)}.press-detail__date{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-4)}.press-detail__body{font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--color-text-secondary);margin-top:var(--space-8)}@media(max-width:1024px){.grid--4,.grid--3{grid-template-columns:repeat(2,1fr)}.product-layout{grid-template-columns:1fr}.product-layout__sidebar{display:none}.docs-layout{grid-template-columns:1fr}.docs-sidebar{display:none}.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}@media(max-width:640px){.grid--4,.grid--3,.grid--2{grid-template-columns:1fr}.hero__title,h1{font-size:var(--text-3xl)}h2{font-size:var(--text-xl)}.hero{padding:var(--space-16) 0 var(--space-10)}.hero__actions{flex-direction:column}.nav__links,.nav__cta--desktop{display:none}.nav__mobile-toggle{display:flex}.newsletter__form{flex-direction:column}.footer__grid{grid-template-columns:1fr 1fr}.footer__bottom{flex-direction:column;gap:var(--space-4)}.home-featured,.home-latest{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.mat-mdc-button,.mat-mdc-raised-button,.mat-mdc-outlined-button,.mat-mdc-flat-button{border-radius:var(--radius-full)!important;font-family:var(--font-sans)!important}.mat-mdc-card{border:1px solid var(--color-border);box-shadow:none!important;border-radius:var(--radius-lg)!important}.mat-toolbar{background:var(--color-nav-bg)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
