html{--mat-sys-background:var(--lightningcss-light,#f9faf3)var(--lightningcss-dark,#121410);--mat-sys-error:var(--lightningcss-light,#ba1a1a)var(--lightningcss-dark,#ffb4ab);--mat-sys-error-container:var(--lightningcss-light,#ffdad6)var(--lightningcss-dark,#93000a);--mat-sys-inverse-on-surface:var(--lightningcss-light,#edf2e7)var(--lightningcss-dark,#29332a);--mat-sys-inverse-primary:var(--lightningcss-light,#a5d6b5)var(--lightningcss-dark,#285c43);--mat-sys-inverse-surface:var(--lightningcss-light,#29332a)var(--lightningcss-dark,#e1e6dc);--mat-sys-on-background:var(--lightningcss-light,#1a1c18)var(--lightningcss-dark,#e2e3dc);--mat-sys-on-error:var(--lightningcss-light,#fff)var(--lightningcss-dark,#690005);--mat-sys-on-error-container:var(--lightningcss-light,#93000a)var(--lightningcss-dark,#ffdad6);--mat-sys-on-primary:var(--lightningcss-light,#fff)var(--lightningcss-dark,#103822);--mat-sys-on-primary-container:var(--lightningcss-light,#163b27)var(--lightningcss-dark,#d6ebd4);--mat-sys-on-primary-fixed:var(--lightningcss-light,#020)var(--lightningcss-dark,#020);--mat-sys-on-primary-fixed-variant:var(--lightningcss-light,#015300)var(--lightningcss-dark,#015300);--mat-sys-on-secondary:var(--lightningcss-light,#fff)var(--lightningcss-dark,#243421);--mat-sys-on-secondary-container:var(--lightningcss-light,#293824)var(--lightningcss-dark,#dce8d3);--mat-sys-on-secondary-fixed:var(--lightningcss-light,#121f0e)var(--lightningcss-dark,#121f0e);--mat-sys-on-secondary-fixed-variant:var(--lightningcss-light,#3c4b37)var(--lightningcss-dark,#3c4b37);--mat-sys-on-surface:var(--lightningcss-light,#202a22)var(--lightningcss-dark,#e1e6dc);--mat-sys-on-surface-variant:var(--lightningcss-light,#566052)var(--lightningcss-dark,#b9c4b5);--mat-sys-on-tertiary:var(--lightningcss-light,#fff)var(--lightningcss-dark,#482614);--mat-sys-on-tertiary-container:var(--lightningcss-light,#522e1c)var(--lightningcss-dark,#ffdcc6);--mat-sys-on-tertiary-fixed:var(--lightningcss-light,#311300)var(--lightningcss-dark,#311300);--mat-sys-on-tertiary-fixed-variant:var(--lightningcss-light,#723600)var(--lightningcss-dark,#723600);--mat-sys-outline:var(--lightningcss-light,#75816e)var(--lightningcss-dark,#8c9884);--mat-sys-outline-variant:var(--lightningcss-light,#d5dccf)var(--lightningcss-dark,#414c3d);--mat-sys-primary:var(--lightningcss-light,#285c43)var(--lightningcss-dark,#a5d6b5);--mat-sys-primary-container:var(--lightningcss-light,#d6ebd4)var(--lightningcss-dark,#244c36);--mat-sys-primary-fixed:var(--lightningcss-light,#77ff61)var(--lightningcss-dark,#77ff61);--mat-sys-primary-fixed-dim:var(--lightningcss-light,#02e600)var(--lightningcss-dark,#02e600);--mat-sys-scrim:var(--lightningcss-light,#000)var(--lightningcss-dark,#000);--mat-sys-secondary:var(--lightningcss-light,#52634f)var(--lightningcss-dark,#b8cbb2);--mat-sys-secondary-container:var(--lightningcss-light,#e4e9d9)var(--lightningcss-dark,#3a4a35);--mat-sys-secondary-fixed:var(--lightningcss-light,#d7e8cd)var(--lightningcss-dark,#d7e8cd);--mat-sys-secondary-fixed-dim:var(--lightningcss-light,#bbcbb2)var(--lightningcss-dark,#bbcbb2);--mat-sys-shadow:var(--lightningcss-light,#000)var(--lightningcss-dark,#000);--mat-sys-surface:var(--lightningcss-light,#fafbf6)var(--lightningcss-dark,#141914);--mat-sys-surface-bright:var(--lightningcss-light,#fafbf6)var(--lightningcss-dark,#3a4038);--mat-sys-surface-container:var(--lightningcss-light,#ecefe5)var(--lightningcss-dark,#242b23);--mat-sys-surface-container-high:var(--lightningcss-light,#e6eadf)var(--lightningcss-dark,#2c342b);--mat-sys-surface-container-highest:var(--lightningcss-light,#dfe5d8)var(--lightningcss-dark,#373f35);--mat-sys-surface-container-low:var(--lightningcss-light,#f2f4ec)var(--lightningcss-dark,#1c221b);--mat-sys-surface-container-lowest:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0f140f);--mat-sys-surface-dim:var(--lightningcss-light,#dce0d6)var(--lightningcss-dark,#141914);--mat-sys-surface-tint:var(--lightningcss-light,#026e00)var(--lightningcss-dark,#02e600);--mat-sys-surface-variant:var(--lightningcss-light,#dfe4d7)var(--lightningcss-dark,#43483f);--mat-sys-tertiary:var(--lightningcss-light,#81513c)var(--lightningcss-dark,#f1b79a);--mat-sys-tertiary-container:var(--lightningcss-light,#ffdcc6)var(--lightningcss-dark,#643c28);--mat-sys-tertiary-fixed:var(--lightningcss-light,#ffdcc7)var(--lightningcss-dark,#ffdcc7);--mat-sys-tertiary-fixed-dim:var(--lightningcss-light,#ffb787)var(--lightningcss-dark,#ffb787);--mat-sys-neutral-variant20:#2c3229;--mat-sys-neutral10:#1a1c18;--mat-sys-level0:0px 0px 0px 0px #0003, 0px 0px 0px 0px #00000024, 0px 0px 0px 0px #0000001f;--mat-sys-level1:0px 2px 1px -1px #0003, 0px 1px 1px 0px #00000024, 0px 1px 3px 0px #0000001f;--mat-sys-level2:0px 3px 3px -2px #0003, 0px 3px 4px 0px #00000024, 0px 1px 8px 0px #0000001f;--mat-sys-level3:0px 3px 5px -1px #0003, 0px 6px 10px 0px #00000024, 0px 1px 18px 0px #0000001f;--mat-sys-level4:0px 5px 5px -3px #0003, 0px 8px 10px 1px #00000024, 0px 3px 14px 2px #0000001f;--mat-sys-level5:0px 7px 8px -4px #0003, 0px 12px 17px 2px #00000024, 0px 5px 22px 4px #0000001f;--mat-sys-body-large:400 1rem / 1.5rem "Manrope", "Noto Sans SC", sans-serif;--mat-sys-body-large-font:"Manrope", "Noto Sans SC", 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 "Manrope", "Noto Sans SC", sans-serif;--mat-sys-body-medium-font:"Manrope", "Noto Sans SC", 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 "Manrope", "Noto Sans SC", sans-serif;--mat-sys-body-small-font:"Manrope", "Noto Sans SC", 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 "Manrope", "Noto Sans SC", sans-serif;--mat-sys-display-large-font:"Manrope", "Noto Sans SC", 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 "Manrope", "Noto Sans SC", sans-serif;--mat-sys-display-medium-font:"Manrope", "Noto Sans SC", 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 "Manrope", "Noto Sans SC", sans-serif;--mat-sys-display-small-font:"Manrope", "Noto Sans SC", 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 "Manrope", "Noto Sans SC", sans-serif;--mat-sys-headline-large-font:"Manrope", "Noto Sans SC", 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 "Manrope", "Noto Sans SC", sans-serif;--mat-sys-headline-medium-font:"Manrope", "Noto Sans SC", 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 "Manrope", "Noto Sans SC", sans-serif;--mat-sys-headline-small-font:"Manrope", "Noto Sans SC", 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:600 .875rem / 1.25rem "Manrope", "Noto Sans SC", sans-serif;--mat-sys-label-large-font:"Manrope", "Noto Sans SC", 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:600;--mat-sys-label-large-weight-prominent:700;--mat-sys-label-medium:600 .75rem / 1rem "Manrope", "Noto Sans SC", sans-serif;--mat-sys-label-medium-font:"Manrope", "Noto Sans SC", 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:600;--mat-sys-label-medium-weight-prominent:700;--mat-sys-label-small:600 .688rem / 1rem "Manrope", "Noto Sans SC", sans-serif;--mat-sys-label-small-font:"Manrope", "Noto Sans SC", 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:600;--mat-sys-title-large:400 1.375rem / 1.75rem "Manrope", "Noto Sans SC", sans-serif;--mat-sys-title-large-font:"Manrope", "Noto Sans SC", 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:600 1rem / 1.5rem "Manrope", "Noto Sans SC", sans-serif;--mat-sys-title-medium-font:"Manrope", "Noto Sans SC", 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:600;--mat-sys-title-small:600 .875rem / 1.25rem "Manrope", "Noto Sans SC", sans-serif;--mat-sys-title-small-font:"Manrope", "Noto Sans SC", 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:600;--mat-sys-corner-extra-large:32px;--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:24px;--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;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--app-header-height:88px;--app-display-font:"Manrope", "Noto Sans SC", sans-serif;--app-motion-fast:.18s ease;--app-motion-spring:.45s cubic-bezier(.2, .8, .2, 1.15);--app-yellow-container:var(--lightningcss-light,#f3efbd)var(--lightningcss-dark,#494723);--app-on-yellow-container:var(--lightningcss-light,#474820)var(--lightningcss-dark,#eee9ae);--app-peach-container:var(--mat-sys-tertiary-container);--app-on-peach-container:var(--mat-sys-on-tertiary-container)}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{min-height:100%;scroll-padding-top:112px}body{font-family:var(--app-display-font);color:var(--mat-sys-on-surface);background:var(--mat-sys-surface);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--mat-sys-on-surface);line-height:1.3}a{color:var(--mat-sys-primary);text-decoration:none}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}mat-icon{flex-shrink:0}.mat-mdc-icon-button.mat-mdc-button-base{justify-content:center;align-items:center;display:inline-flex}:focus-visible{outline:3px solid var(--mat-sys-primary);outline-offset:4px}::selection{background:var(--mat-sys-primary);color:var(--mat-sys-on-primary)}.page-shell{width:min(100%,1360px);margin:0 auto;padding:40px}.page-intro{padding:24px 0 40px}.page-intro h1{letter-spacing:-.055em;margin-top:20px;font-size:clamp(38px,5vw,64px);font-weight:800;line-height:1.28}.page-intro>p{color:var(--mat-sys-on-surface-variant);max-width:600px;margin-top:20px;font-size:16px;line-height:1.9}.eyebrow{color:var(--mat-sys-primary);letter-spacing:.09em;align-items:center;gap:8px;font-size:11px;font-weight:650;display:inline-flex}.status-dot{background:var(--mat-sys-primary);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.action.mat-mdc-button-base{letter-spacing:0;height:48px;transition:border-radius var(--app-motion-spring), transform var(--app-motion-spring);border-radius:28px;padding:0 24px;font-size:14px;font-weight:650}.action.action-large{height:58px;padding:0 30px;font-size:15px}.action.mat-mdc-button-base:hover{border-radius:18px}.action.mat-mdc-button-base:active{border-radius:12px;transform:scale(.97)}.text-action{min-height:48px;color:var(--mat-sys-primary);align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.text-action mat-icon{width:20px;height:20px;transition:transform var(--app-motion-spring);font-size:20px}.text-action:hover mat-icon{transform:translate(4px)}.skip-link{z-index:1000;background:var(--mat-sys-primary);color:var(--mat-sys-on-primary);border-radius:16px;padding:12px 24px;position:fixed;top:10px;left:20px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.markdown-body{color:var(--mat-sys-on-surface);overflow-wrap:anywhere;font-size:16px;line-height:1.95}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:1.9em 0 .7em;scroll-margin-top:130px;font-weight:700;line-height:1.45}.markdown-body h1{letter-spacing:-.045em;margin-top:12px;padding-bottom:16px;font-size:clamp(30px,3vw,44px);font-weight:800}.markdown-body h2{letter-spacing:-.025em;font-size:26px}.markdown-body h3{font-size:20px}.markdown-body h4{font-size:17px}.markdown-body p{margin-bottom:1.1em}.markdown-body strong{font-weight:700}.markdown-body a{text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--mat-sys-primary) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--mat-sys-primary) 35%, transparent)}.markdown-body a:hover{text-decoration-color:currentColor}.markdown-body ul,.markdown-body ol{margin-bottom:1.2em;padding-left:1.6em}.markdown-body li{margin-bottom:.4em}.markdown-body li>ul,.markdown-body li>ol{margin-top:.4em;margin-bottom:0}.markdown-body blockquote{border-left:4px solid var(--mat-sys-primary);background:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container);border-radius:4px 20px 20px 4px;margin:1.5em 0;padding:20px 24px}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body code{background:var(--mat-sys-surface-container-high);border-radius:6px;padding:.18em .4em;font-family:Cascadia Code,ui-monospace,monospace;font-size:.86em}.markdown-body pre{border:1px solid var(--mat-sys-outline-variant);border-radius:20px;margin:1.5em 0;padding:48px 24px 24px;line-height:1.7;position:relative;overflow-x:auto}.markdown-body pre code{background:0 0;border-radius:0;padding:0;font-size:13px}.markdown-body .copy-btn{background:var(--mat-sys-surface-container);width:40px;height:40px;color:var(--mat-sys-on-surface-variant);border:0;border-radius:12px;font-size:18px;position:absolute;top:6px;right:8px}.markdown-body .copy-btn:hover,.markdown-body .copy-btn.copied{color:var(--mat-sys-primary);background:var(--mat-sys-primary-container)}.markdown-body table{border-spacing:0;border:1px solid var(--mat-sys-outline-variant);border-radius:16px;width:100%;margin:1.5em 0;font-size:14px;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{text-align:left;border-bottom:1px solid var(--mat-sys-outline-variant);min-width:100px;padding:12px 16px}.markdown-body th{background:var(--mat-sys-surface-container);font-weight:650}.markdown-body tr:last-child td{border-bottom:0}.markdown-body hr{border:0;border-top:1px solid var(--mat-sys-outline-variant);margin:32px 0}.markdown-body img{object-fit:contain;border-radius:16px;margin:24px auto}.markdown-body .doc-authors{color:var(--mat-sys-on-surface-variant);align-items:center;gap:12px;margin:0 0 32px;font-size:12px;display:flex}.markdown-body .doc-author-list{flex-wrap:wrap;gap:6px;display:flex}.markdown-body .doc-author{border-radius:50%;width:32px;height:32px;overflow:hidden}.markdown-body .doc-author img{border-radius:50%;width:32px;height:32px;margin:0}pre.shiki{background-color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#24292e)}html[data-theme=dark] pre.shiki{background-color:var(--shiki-dark-bg,#24292e)!important}html[data-theme=dark] pre.shiki code span{color:var(--shiki-dark)!important}@media (prefers-color-scheme:dark){html:not([data-theme]) pre.shiki{background-color:var(--shiki-dark-bg,#24292e)!important}html:not([data-theme]) pre.shiki code span{color:var(--shiki-dark)!important}}.markdown-alert{border-radius:4px 20px 20px 4px;padding:20px 24px!important}div[style*="border-left:0.25em"]>:last-child{margin-bottom:0!important}@media (max-width:1000px){.page-shell{padding:28px 24px}}@media (max-width:700px){html{--app-header-height:72px;scroll-padding-top:92px}body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.page-shell{padding:16px}.page-intro{padding:20px 8px 32px}.page-intro>p{font-size:14px}.markdown-body{font-size:15px}.markdown-body h2{font-size:24px}.markdown-body pre{padding-left:16px;padding-right:16px}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}::view-transition-old(root){animation:.18s both theme-out}::view-transition-new(root){animation:.22s both theme-in}@keyframes theme-out{to{opacity:0}}@keyframes theme-in{0%{opacity:0}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}
