html .mat-bg-primary{background-color:var(--mat-sys-primary)}html .mat-bg-primary-container{background-color:var(--mat-sys-primary-container)}html .mat-bg-secondary{background-color:var(--mat-sys-secondary)}html .mat-bg-secondary-container{background-color:var(--mat-sys-secondary-container)}html .mat-bg-error{background-color:var(--mat-sys-error)}html .mat-bg-error-container{background-color:var(--mat-sys-error-container)}html .mat-bg-surface{background-color:var(--mat-sys-surface)}html .mat-bg-surface-variant{background-color:var(--mat-sys-surface-variant)}html .mat-bg-surface-container-highest{background-color:var(--mat-sys-surface-container-highest)}html .mat-bg-surface-container-high{background-color:var(--mat-sys-surface-container-high)}html .mat-bg-surface-container{background-color:var(--mat-sys-surface-container)}html .mat-bg-surface-container-low{background-color:var(--mat-sys-surface-container-low)}html .mat-bg-surface-container-lowest{background-color:var(--mat-sys-surface-container-lowest)}html .mat-bg-inverse-surface{background-color:var(--mat-sys-inverse-surface)}html .mat-bg-disabled{background-color:color-mix(in srgb,var(--mat-sys-on-surface) 12%,transparent)}html .mat-text-primary{color:var(--mat-sys-primary)}html .mat-text-secondary{color:var(--mat-sys-secondary)}html .mat-text-error{color:var(--mat-sys-error)}html .mat-text-disabled{color:color-mix(in srgb,var(--mat-sys-on-surface) 38%,transparent)}html .mat-text-on-surface-variant{color:var(--mat-sys-on-surface-variant)}html .mat-text-on-primary{color:var(--mat-sys-on-primary)}html .mat-text-on-primary-container{color:var(--mat-sys-on-primary-container)}html .mat-text-on-secondary{color:var(--mat-sys-on-secondary)}html .mat-text-on-secondary-container{color:var(--mat-sys-on-secondary-container)}html .mat-text-on-error{color:var(--mat-sys-on-error)}html .mat-text-on-error-container{color:var(--mat-sys-on-error-container)}html .mat-text-on-surface{color:var(--mat-sys-on-surface)}html .mat-text-inverse-on-surface{color:var(--mat-sys-inverse-on-surface)}html .mat-font-body-sm{font:var(--mat-sys-body-small);letter-spacing:var(--mat-sys-body-small-tracking)}html .mat-font-body-md{font:var(--mat-sys-body-medium);letter-spacing:var(--mat-sys-body-medium-tracking)}html .mat-font-body-lg{font:var(--mat-sys-body-large);letter-spacing:var(--mat-sys-body-large-tracking)}html .mat-font-display-sm{font:var(--mat-sys-display-small);letter-spacing:var(--mat-sys-display-small-tracking)}html .mat-font-display-md{font:var(--mat-sys-display-medium);letter-spacing:var(--mat-sys-display-medium-tracking)}html .mat-font-display-lg{font:var(--mat-sys-display-large);letter-spacing:var(--mat-sys-display-large-tracking)}html .mat-font-headline-sm{font:var(--mat-sys-headline-small);letter-spacing:var(--mat-sys-headline-small-tracking)}html .mat-font-headline-md{font:var(--mat-sys-headline-medium);letter-spacing:var(--mat-sys-headline-medium-tracking)}html .mat-font-headline-lg{font:var(--mat-sys-headline-large);letter-spacing:var(--mat-sys-headline-large-tracking)}html .mat-font-label-sm{font:var(--mat-sys-label-small);letter-spacing:var(--mat-sys-label-small-tracking)}html .mat-font-label-md{font:var(--mat-sys-label-medium);letter-spacing:var(--mat-sys-label-medium-tracking)}html .mat-font-label-lg{font:var(--mat-sys-label-large);letter-spacing:var(--mat-sys-label-large-tracking)}html .mat-font-title-sm{font:var(--mat-sys-title-small);letter-spacing:var(--mat-sys-title-small-tracking)}html .mat-font-title-md{font:var(--mat-sys-title-medium);letter-spacing:var(--mat-sys-title-medium-tracking)}html .mat-font-title-lg{font:var(--mat-sys-title-large);letter-spacing:var(--mat-sys-title-large-tracking)}html .mat-corner-xs{border-radius:var(--mat-sys-corner-extra-small)}html .mat-corner-sm{border-radius:var(--mat-sys-corner-small)}html .mat-corner-md{border-radius:var(--mat-sys-corner-medium)}html .mat-corner-lg{border-radius:var(--mat-sys-corner-large)}html .mat-corner-xl{border-radius:var(--mat-sys-corner-extra-large)}html .mat-corner-full{border-radius:var(--mat-sys-corner-full)}html .mat-border{border:1px solid var(--mat-sys-outline)}html .mat-border-subtle{border:1px solid var(--mat-sys-outline-variant)}html .mat-shadow-1{box-shadow:var(--mat-sys-level1)}html .mat-shadow-2{box-shadow:var(--mat-sys-level2)}html .mat-shadow-3{box-shadow:var(--mat-sys-level3)}html .mat-shadow-4{box-shadow:var(--mat-sys-level4)}html .mat-shadow-5{box-shadow:var(--mat-sys-level5)}html{color-scheme:light;--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, #42008a);--mat-sys-on-tertiary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-tertiary-fixed: light-dark(#270057, #270057);--mat-sys-on-tertiary-fixed-variant: light-dark(#5f00c0, #5f00c0);--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(#7d00fa, #d5baff);--mat-sys-tertiary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-tertiary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-tertiary-fixed-dim: light-dark(#d5baff, #d5baff);--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-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}html body.dark-mode{color-scheme:dark}:root{--bg-gradient: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);--bg-primary: #161b22;--bg-secondary: #21262d;--text-primary: #e6edf3;--text-secondary: #c9d1d9;--text-muted: #8b949e;--accent-blue: #58a6ff;--accent-green: #238636;--accent-purple: #a371f7;--accent-red: #f85149;--border-color: #30363d}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--accent-blue);text-decoration:none}a:hover{text-decoration:underline}code{font-family:Courier New,Consolas,monospace;background-color:var(--bg-secondary);padding:2px 6px;border-radius:4px;font-size:.9em;color:var(--accent-blue)}pre{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:16px;overflow-x:auto;margin:0}pre code{background:none;padding:0;color:var(--text-secondary)}h2{font-size:1.3rem;font-weight:600;margin:0 0 24px;padding-bottom:12px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}interactive-code::part(interactive){text-decoration:none;border:1.5px solid var(--code-interactive-border-color);border-radius:55% 45% 50% 40%/40% 50% 45% 55%;padding:2px 8px}interactive-code::part(interactive):hover{box-shadow:0 0 0 1px var(--code-interactive-border-color)}
