@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-sans-latin-700-normal.Bxkt5Cjx.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-700-normal.Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-serif-latin-400-normal.BIGslYFI.woff2)format("woff2"),url(/_astro/ibm-plex-serif-latin-400-normal.BB-zNvJB.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-serif-latin-600-normal.DAxitmSu.woff2)format("woff2"),url(/_astro/ibm-plex-serif-latin-600-normal.D3rpGdkS.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}:root{--edu-bg:#fff;--edu-bg-subtle:#fafaf9;--edu-bg-sunken:#f5f5f4;--edu-surface:#fff;--edu-surface-hover:#fafaf9;--edu-border:#e7e5e4;--edu-border-strong:#d6d3d1;--edu-text:#1c1917;--edu-text-secondary:#44403c;--edu-text-muted:#6f6862;--edu-text-invert:#fff;--edu-accent:#0f766e;--edu-accent-hover:#115e59;--edu-accent-subtle:#f0fdfa;--edu-accent-border:#99f6e4;--edu-on-accent:#fff;--edu-success:#15803d;--edu-warning:#b45309;--edu-danger:#b91c1c;--edu-info:#1d4ed8;--edu-dg-input:#56b4e9;--edu-dg-process:#0072b2;--edu-dg-output:#009e73;--edu-dg-parameter:#e69f00;--edu-dg-error:#d55e00;--edu-dg-highlight:#cc79a7;--edu-dg-neutral-fill:#f5f5f4;--edu-dg-neutral-stroke:#78716c;--edu-dg-edge:#57534e;--edu-dg-label-strong:#0c0a09;--edu-dg-label-invert:#fff;--edu-gray-1:#1c1917;--edu-gray-2:#44403c;--edu-gray-3:#6f6862;--edu-gray-4:#a8a29e;--edu-gray-5:#d6d3d1;--edu-gray-6:#e7e5e4;--edu-gray-7:#f5f5f4;--edu-radius-sm:4px;--edu-radius-md:8px;--edu-radius-lg:12px;--edu-radius-xl:16px;--edu-radius-pill:999px;--edu-shadow-xs:0 1px 2px #1c19170f;--edu-shadow-sm:0 1px 3px #1c191714, 0 1px 2px #1c19170a;--edu-shadow-md:0 4px 12px #1c19171a;--edu-dur-instant:80ms;--edu-dur-fast:.12s;--edu-dur-base:.18s;--edu-dur-slow:.28s;--edu-ease-standard:cubic-bezier(.2, 0, 0, 1);--edu-ease-decelerate:cubic-bezier(0, 0, 0, 1);--edu-font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--edu-font-serif:"IBM Plex Serif", ui-serif, Georgia, Cambria, "Times New Roman", serif;--edu-font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--edu-space-1:4px;--edu-space-2:8px;--edu-space-3:12px;--edu-space-4:16px;--edu-space-5:24px;--edu-space-6:32px;--edu-space-7:48px;--edu-space-8:64px;--edu-space-9:96px;--edu-space-10:128px;--edu-shell-max:1440px;--edu-sidebar-width:280px;--edu-toc-width:240px;--edu-measure:68ch;--edu-breakout-max:960px;--edu-home-max:1200px}[data-theme=dark]{--edu-bg:#0c0a09;--edu-bg-subtle:#1c1917;--edu-bg-sunken:#292524;--edu-surface:#1c1917;--edu-surface-hover:#292524;--edu-border:#292524;--edu-border-strong:#44403c;--edu-text:#fafaf9;--edu-text-secondary:#d6d3d1;--edu-text-muted:#a8a29e;--edu-text-invert:#0c0a09;--edu-accent:#5eead4;--edu-accent-hover:#99f6e4;--edu-accent-subtle:#14b8a61f;--edu-accent-border:#0f766e;--edu-on-accent:#042f2e;--edu-success:#4ade80;--edu-warning:#fbbf24;--edu-danger:#f87171;--edu-info:#93c5fd;--edu-dg-input:#7cc7ee;--edu-dg-process:#4da3d9;--edu-dg-output:#34c79a;--edu-dg-parameter:#f2b84b;--edu-dg-error:#f07a45;--edu-dg-highlight:#e39bc1;--edu-dg-neutral-fill:#292524;--edu-dg-neutral-stroke:#a8a29e;--edu-dg-edge:#d6d3d1;--edu-gray-1:#fafaf9;--edu-gray-2:#d6d3d1;--edu-gray-3:#a8a29e;--edu-gray-4:#78716c;--edu-gray-5:#44403c;--edu-gray-6:#292524;--edu-gray-7:#1c1917;--edu-shadow-xs:0 1px 2px #0006;--edu-shadow-sm:0 1px 3px #00000073;--edu-shadow-md:0 4px 12px #00000080}:root{color-scheme:light}[data-theme=dark]{color-scheme:dark}html{background:var(--edu-bg);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility}body{background:var(--edu-bg);color:var(--edu-text);font-family:var(--edu-font-sans);font-size:var(--edu-text-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}::selection{background:var(--edu-accent);color:var(--edu-on-accent)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--edu-accent);outline-offset:2px;border-radius:var(--edu-radius-sm)}.sl-skip-link{border:1px solid var(--edu-border-strong);border-radius:var(--edu-radius-md);background:var(--edu-surface);color:var(--edu-text);font-family:var(--edu-font-sans);font-size:var(--edu-text-sm)}img,svg,video,canvas{max-width:100%;height:auto}hr{border:0;border-block-start:1px solid var(--edu-border);margin-block:var(--edu-space-7)}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root{--edu-text-display:3.5rem;--edu-text-h1:2.5rem;--edu-text-h2:1.75rem;--edu-text-h3:1.375rem;--edu-text-h4:1.125rem;--edu-text-body-lg:1.1875rem;--edu-text-body:1.0625rem;--edu-text-sm:.9375rem;--edu-text-xs:.8125rem;--edu-text-code:.9375rem;--edu-leading-display:1.08;--edu-leading-h1:1.15;--edu-leading-h2:1.25;--edu-leading-h3:1.35;--edu-leading-h4:1.45;--edu-leading-body:1.7;--edu-leading-prose:1.75;--edu-weight-regular:400;--edu-weight-medium:500;--edu-weight-semibold:600;--edu-weight-bold:700}.sl-markdown-content{color:var(--edu-text);font-family:var(--edu-font-sans);font-size:var(--edu-text-body);line-height:var(--edu-leading-body)}html[data-has-sidebar] .sl-markdown-content{max-width:var(--edu-measure);font-family:var(--edu-font-serif);font-size:var(--edu-text-body-lg);line-height:var(--edu-leading-prose)}html:not([data-has-sidebar]) .sl-markdown-content{max-width:72rem}.sl-markdown-content :is(p,ul,ol,dl,blockquote){margin-block:0 1.15em}.sl-markdown-content :is(ul,ol){padding-inline-start:1.4em}.sl-markdown-content li+li{margin-block-start:.5em}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6){color:var(--edu-text);font-family:var(--edu-font-sans);font-weight:var(--edu-weight-semibold);letter-spacing:0;text-wrap:balance}.sl-markdown-content h1{font-size:var(--edu-text-h1);line-height:var(--edu-leading-h1);letter-spacing:-.015em;margin-block:0 .6em}.sl-markdown-content h2{font-size:var(--edu-text-h2);line-height:var(--edu-leading-h2);letter-spacing:-.01em;margin-block:2.5em .6em}.sl-markdown-content h3{font-size:var(--edu-text-h3);line-height:var(--edu-leading-h3);margin-block:2em .6em}.sl-markdown-content h4{font-size:var(--edu-text-h4);line-height:var(--edu-leading-h4);margin-block:1.5em .6em}.sl-markdown-content>:first-child,.sl-markdown-content>.sl-heading-wrapper:first-child>:first-child{margin-block-start:0}.sl-markdown-content a{color:var(--edu-accent);text-underline-offset:.18em;text-decoration-line:underline;text-decoration-thickness:1px}.sl-markdown-content a:hover{color:var(--edu-accent-hover);text-decoration-thickness:2px}.sl-markdown-content strong{font-weight:var(--edu-weight-semibold);color:var(--edu-text)}.sl-markdown-content blockquote{border-inline-start:2px solid var(--edu-border-strong);color:var(--edu-text-secondary);margin-inline:0;padding-inline-start:var(--edu-space-4)}.sl-markdown-content code:not(pre code){border:1px solid var(--edu-border);border-radius:var(--edu-radius-sm);background:var(--edu-bg-sunken);color:var(--edu-text);font-family:var(--edu-font-mono);padding:.1em .35em;font-size:.9em}.sl-markdown-content kbd{border:1px solid var(--edu-border-strong);border-radius:var(--edu-radius-sm);background:var(--edu-bg-subtle);color:var(--edu-text-secondary);font-family:var(--edu-font-mono);font-size:var(--edu-text-xs);padding:.15em .4em}.sl-markdown-content table{border-collapse:collapse;width:100%;font-family:var(--edu-font-sans);font-size:var(--edu-text-sm);line-height:1.6}.sl-markdown-content :is(th,td){border-block-end:1px solid var(--edu-border);padding:var(--edu-space-3);text-align:start;vertical-align:top}.sl-markdown-content th{background:var(--edu-bg-subtle);color:var(--edu-text-secondary);font-weight:var(--edu-weight-medium)}.sl-markdown-content figure{margin-block:var(--edu-space-6)}.sl-markdown-content figcaption{color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-sm);margin-block-start:var(--edu-space-2);line-height:1.6}.sl-markdown-content details{border:1px solid var(--edu-border);border-radius:var(--edu-radius-md);padding:var(--edu-space-3) var(--edu-space-4)}.sl-markdown-content summary{cursor:pointer;font-family:var(--edu-font-sans);font-weight:var(--edu-weight-medium)}.edu-formula{margin-block:var(--edu-space-5);padding:var(--edu-space-4) var(--edu-space-5);border:1px solid var(--edu-border);border-radius:var(--edu-radius-md);background:var(--edu-bg-subtle);color:var(--edu-text);font-family:var(--edu-font-mono);font-size:var(--edu-text-code);text-align:center;white-space:nowrap;line-height:1.6;overflow-x:auto}.edu-worked{margin-block:var(--edu-space-5);border:1px solid var(--edu-border);border-radius:var(--edu-radius-md);overscroll-behavior-inline:contain;overflow-x:auto}.edu-worked table{width:100%;min-width:32rem;margin:0}.edu-worked :is(th,td):first-child{padding-inline-start:var(--edu-space-4)}.edu-worked :is(th,td):last-child{padding-inline-end:var(--edu-space-4)}.edu-worked code{white-space:nowrap}@media (width<=767px){:root{--edu-text-display:2.25rem;--edu-text-h1:2rem;--edu-text-h2:1.625rem;--edu-text-h3:1.25rem}html[data-has-sidebar] .sl-markdown-content{font-size:var(--edu-text-body)}.edu-formula{text-align:start}}:root{--sl-color-white:var(--edu-gray-1);--sl-color-gray-1:var(--edu-gray-1);--sl-color-gray-2:var(--edu-gray-2);--sl-color-gray-3:var(--edu-gray-3);--sl-color-gray-4:var(--edu-gray-4);--sl-color-gray-5:var(--edu-gray-5);--sl-color-gray-6:var(--edu-gray-6);--sl-color-gray-7:var(--edu-gray-7);--sl-color-black:var(--edu-bg);--sl-color-accent-low:var(--edu-accent-subtle);--sl-color-accent:var(--edu-accent);--sl-color-accent-high:var(--edu-accent-hover);--sl-color-text:var(--edu-text);--sl-color-text-accent:var(--edu-accent);--sl-color-text-invert:var(--edu-on-accent);--sl-color-bg:var(--edu-bg);--sl-color-bg-nav:var(--edu-bg-subtle);--sl-color-bg-sidebar:var(--edu-bg-subtle);--sl-color-bg-inline-code:var(--edu-bg-sunken);--sl-color-bg-accent:var(--edu-accent);--sl-color-hairline-light:var(--edu-border-strong);--sl-color-hairline:var(--edu-border);--sl-color-hairline-shade:var(--edu-border);--sl-color-backdrop-overlay:#0c0a09a8;--sl-shadow-sm:var(--edu-shadow-sm);--sl-shadow-md:var(--edu-shadow-md);--sl-shadow-lg:var(--edu-shadow-md);--sl-font:var(--edu-font-sans);--sl-font-mono:var(--edu-font-mono);--sl-text-body:var(--edu-text-body);--sl-text-body-sm:var(--edu-text-sm);--sl-text-code:var(--edu-text-code);--sl-text-code-sm:var(--edu-text-xs);--sl-text-h1:var(--edu-text-h1);--sl-text-h2:var(--edu-text-h2);--sl-text-h3:var(--edu-text-h3);--sl-text-h4:var(--edu-text-h4);--sl-text-h5:var(--edu-text-h4);--sl-line-height:var(--edu-leading-body);--sl-line-height-headings:1.2;--sl-content-width:48rem;--sl-sidebar-width:var(--edu-sidebar-width)}html:not([data-has-toc]){--sl-content-pad-x:clamp(1rem, 4vw, 4rem)}html:not([data-has-toc]) .content-panel .sl-container,html:not([data-has-toc]) .sl-markdown-content{max-width:none}[data-theme=dark]{--sl-color-backdrop-overlay:#000000b8}.content-panel h1{font-family:var(--edu-font-sans);letter-spacing:-.015em}.site-title{color:var(--edu-text);font-family:var(--edu-font-sans);font-weight:var(--edu-weight-semibold)}.sidebar-content{font-family:var(--edu-font-sans)}.sl-markdown-content{counter-reset:edu-figure}.edu-diagram{padding:var(--edu-space-4);border-radius:var(--edu-radius-md);background:var(--edu-bg-sunken);overscroll-behavior-inline:contain;box-sizing:border-box;-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;margin:0;overflow-x:auto}.edu-diagram>svg,.edu-diagram>.mermaid,.edu-diagram>.mermaid>svg{width:100%;max-width:100%;height:auto;margin-inline:auto;display:block}.edu-diagram>svg.tokemb-diagram{width:1100px;max-width:none}.edu-diagram>svg.decoding-diagram{width:760px;max-width:none}.edu-diagram>svg.posenc-diagram{width:min(100%,920px);max-width:none}@media (width<=700px){.edu-diagram>svg.posenc-diagram{width:920px}}.edu-diagram__legend{gap:var(--edu-space-2) var(--edu-space-4);margin:var(--edu-space-3) 0 0;color:var(--edu-text-secondary);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);flex-wrap:wrap;padding:0;list-style:none;display:flex}.edu-diagram__legend-item{align-items:center;gap:var(--edu-space-2);display:inline-flex}.edu-diagram__swatch{border:1px solid var(--edu-dg-edge);background:var(--edu-dg-role,var(--edu-dg-neutral-fill));border-radius:3px;width:12px;height:12px}.edu-dg-node{fill:var(--edu-dg-role,var(--edu-dg-neutral-fill));stroke:var(--edu-dg-stroke,var(--edu-dg-edge));stroke-width:1.5px}.edu-dg-label{fill:var(--edu-dg-label,var(--edu-text));font-family:var(--edu-font-mono);font-size:12px;font-weight:500}.edu-dg-edge{fill:none;stroke:var(--edu-dg-edge);stroke-width:1.5px}.edu-dg-input{--edu-dg-role:var(--edu-dg-input);--edu-dg-stroke:var(--edu-dg-input);--edu-dg-label:var(--edu-dg-label-strong)}.edu-dg-process{--edu-dg-role:var(--edu-dg-process);--edu-dg-stroke:var(--edu-dg-process);--edu-dg-label:var(--edu-dg-label-invert)}.edu-dg-output{--edu-dg-role:var(--edu-dg-output);--edu-dg-stroke:var(--edu-dg-output);--edu-dg-label:var(--edu-dg-label-strong)}.edu-dg-parameter{--edu-dg-role:var(--edu-dg-parameter);--edu-dg-stroke:var(--edu-dg-parameter);--edu-dg-label:var(--edu-dg-label-strong)}.edu-dg-error{--edu-dg-role:var(--edu-dg-error);--edu-dg-stroke:var(--edu-dg-error);--edu-dg-label:var(--edu-dg-label-strong)}.edu-dg-highlight{--edu-dg-role:var(--edu-dg-highlight);--edu-dg-stroke:var(--edu-dg-highlight);--edu-dg-label:var(--edu-dg-label-strong)}.edu-dg-neutral{--edu-dg-role:var(--edu-dg-neutral-fill);--edu-dg-stroke:var(--edu-dg-neutral-stroke);--edu-dg-label:var(--edu-text)}[data-theme=dark] .edu-dg-process{--edu-dg-label:var(--edu-dg-label-strong)}.mermaid{text-align:center}.mermaid svg{max-width:100%;height:auto}.mermaid .node rect,.mermaid .node circle,.mermaid .node ellipse,.mermaid .node polygon,.mermaid .node path{stroke-width:1.5px}.mermaid .edgePath .path,.mermaid .flowchart-link{stroke:var(--edu-dg-edge)}.mermaid .nodeLabel,.mermaid .edgeLabel{font-family:var(--edu-font-mono)!important;font-size:12px!important}@media print{.edu-diagram{break-inside:avoid;background:#fff;border:1px solid #ccc}}.edu-shell{width:100%;max-width:var(--edu-home-max);margin-inline:auto}.edu-kicker{margin:0 0 var(--edu-space-3);color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);font-weight:var(--edu-weight-semibold);letter-spacing:.1em;text-transform:uppercase;line-height:1.4}.edu-kicker a{color:inherit;text-decoration:none}.edu-kicker a:hover{color:var(--edu-text)}.edu-actions{align-items:center;gap:var(--edu-space-3);flex-wrap:wrap;margin-block-start:var(--edu-space-5);display:flex}.edu-button{justify-content:center;align-items:center;gap:var(--edu-space-2);min-height:44px;padding:0 var(--edu-space-4);border:1px solid var(--edu-border-strong);border-radius:var(--edu-radius-md);background:var(--edu-surface);color:var(--edu-text);font-family:var(--edu-font-sans);font-size:var(--edu-text-sm);font-weight:var(--edu-weight-medium);transition:background-color var(--edu-dur-fast) var(--edu-ease-standard), border-color var(--edu-dur-fast) var(--edu-ease-standard), color var(--edu-dur-fast) var(--edu-ease-standard);line-height:1;text-decoration:none;display:inline-flex}.edu-button:hover{border-color:var(--edu-text-muted);background:var(--edu-surface-hover);color:var(--edu-text)}.edu-button--primary{border-color:var(--edu-accent);background:var(--edu-accent);color:var(--edu-on-accent)}.edu-button--primary:hover{border-color:var(--edu-accent-hover);background:var(--edu-accent-hover);color:var(--edu-on-accent)}.edu-button--quiet{min-height:40px;padding-inline:var(--edu-space-2);color:var(--edu-text-secondary);background:0 0;border-color:#0000}.edu-button--quiet:hover{background:var(--edu-bg-sunken);color:var(--edu-text);border-color:#0000}.edu-button svg{flex:none}.edu-meta{align-items:center;gap:var(--edu-space-2) var(--edu-space-3);color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);flex-wrap:wrap;margin:0;padding:0;line-height:1.5;list-style:none;display:flex}.edu-meta>li{align-items:center;gap:var(--edu-space-2);margin:0;display:inline-flex}.edu-meta>li+li:before{content:"";width:3px;height:3px;background:var(--edu-border-strong);border-radius:50%;margin-inline-end:var(--edu-space-1)}.edu-section-head{justify-content:space-between;align-items:baseline;gap:var(--edu-space-2) var(--edu-space-5);border-block-end:1px solid var(--edu-border);flex-wrap:wrap;margin-block-end:var(--edu-space-5);padding-block-end:var(--edu-space-3);display:flex}.edu-section-head h2{font-family:var(--edu-font-sans);font-size:var(--edu-text-h2);font-weight:var(--edu-weight-semibold);letter-spacing:-.01em;line-height:var(--edu-leading-h2);margin:0}.edu-section-head p{color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-sm);margin:0;line-height:1.5}.edu-link-arrow{align-items:center;gap:var(--edu-space-2);color:var(--edu-accent);font-family:var(--edu-font-sans);font-size:var(--edu-text-sm);font-weight:var(--edu-weight-medium);text-decoration:none;display:inline-flex}.edu-link-arrow:hover{color:var(--edu-accent-hover)}.edu-link-arrow svg{transition:transform var(--edu-dur-fast) var(--edu-ease-standard)}.edu-link-arrow:hover svg{transform:translate(2px)}.edu-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=767px){.edu-section-head h2{font-size:var(--edu-text-h3)}}@media print{.edu-button{border:1px solid #999}}.sl-markdown-content :is(.edu-button,.edu-link-arrow,.article-card,.track-card,.recent-list a,.track-row h3 a,.lesson-row,.post-row,.lesson-pager__item,.toc-panel__track,.curriculum-lesson,.curriculum-nav__track,.curriculum-nav__index){text-decoration:none}.sl-markdown-content .edu-button,.sl-markdown-content .edu-button:hover,.sl-markdown-content .edu-button:focus{color:var(--edu-text)}.sl-markdown-content .edu-button--primary,.sl-markdown-content .edu-button--primary:hover,.sl-markdown-content .edu-button--primary:focus{color:var(--edu-on-accent)}.sl-markdown-content .edu-button:hover{text-decoration:none}.site-footer p+p{align-items:center;gap:var(--edu-space-2);display:flex}.sl-markdown-content details.edu-question{border:0;border-block-end:1px solid var(--edu-border);background:0 0;border-radius:0;padding:0}.sl-markdown-content details.edu-question>summary{align-items:baseline;gap:var(--edu-space-3);min-height:48px;padding:var(--edu-space-3) var(--edu-space-5) var(--edu-space-3) 0;color:var(--edu-text);font-family:var(--edu-font-sans);font-size:var(--edu-text-sm);font-weight:var(--edu-weight-medium);margin:0;line-height:1.5;display:flex}.sl-markdown-content details.edu-question>summary:before{content:none;display:none}.sl-markdown-content details.edu-question[open]>summary{margin-block-end:0}@layer starlight.base{:root,::backdrop{--sl-color-white:#fff;--sl-color-gray-1:#edeef3;--sl-color-gray-2:#c1c3c8;--sl-color-gray-3:#888c96;--sl-color-gray-4:#555962;--sl-color-gray-5:#353841;--sl-color-gray-6:#23262f;--sl-color-black:#17181c;--sl-hue-orange:41;--sl-color-orange-low:hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange:hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high:hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green:101;--sl-color-green-low:hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high:hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue:234;--sl-color-blue-low:hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue:hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple:281;--sl-color-purple-low:hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple:hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red:339;--sl-color-red-low:hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red:hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high:hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low:#17264f;--sl-color-accent:#3369ff;--sl-color-accent-high:#b3c7ff;--sl-color-text:var(--sl-color-gray-2);--sl-color-text-accent:var(--sl-color-accent-high);--sl-color-text-invert:var(--sl-color-accent-low);--sl-color-bg:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-6);--sl-color-bg-sidebar:var(--sl-color-gray-6);--sl-color-bg-inline-code:var(--sl-color-gray-5);--sl-color-bg-accent:var(--sl-color-accent-high);--sl-color-hairline-light:var(--sl-color-gray-5);--sl-color-hairline:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-black);--sl-color-backdrop-overlay:#16181da8;--sl-shadow-sm:0px 1px 1px #0000001f, 0px 2px 1px #0000003d;--sl-shadow-md:0px 8px 4px #00000014, 0px 5px 2px #00000014, 0px 3px 2px #0000001f, 0px 1px 1px #00000026;--sl-shadow-lg:0px 25px 7px #00000008, 0px 16px 6px #0000001a, 0px 9px 5px #16181d54, 0px 4px 4px #000000bf, 0px 4px 2px #00000040;--sl-text-2xs:.75rem;--sl-text-xs:.8125rem;--sl-text-sm:.875rem;--sl-text-base:1rem;--sl-text-lg:1.125rem;--sl-text-xl:1.25rem;--sl-text-2xl:1.5rem;--sl-text-3xl:1.8125rem;--sl-text-4xl:2.1875rem;--sl-text-5xl:2.625rem;--sl-text-6xl:4rem;--sl-text-body:var(--sl-text-base);--sl-text-body-sm:var(--sl-text-xs);--sl-text-code:var(--sl-text-sm);--sl-text-code-sm:var(--sl-text-xs);--sl-text-h1:var(--sl-text-4xl);--sl-text-h2:var(--sl-text-3xl);--sl-text-h3:var(--sl-text-2xl);--sl-text-h4:var(--sl-text-xl);--sl-text-h5:var(--sl-text-lg);--sl-line-height:1.75;--sl-line-height-headings:1.2;--sl-font-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font:var(--sl-font,var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono:var(--sl-font-mono,var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height:3.5rem;--sl-nav-pad-x:1rem;--sl-nav-pad-y:.75rem;--sl-mobile-toc-height:3rem;--sl-sidebar-width:18.75rem;--sl-sidebar-pad-x:1rem;--sl-content-width:45rem;--sl-content-pad-x:1rem;--sl-content-gap-y:1rem;--sl-main-pad:0 0 3vh 0;--sl-menu-button-size:2rem;--sl-nav-gap:var(--sl-content-pad-x);--sl-outline-offset-inside:-.1875rem;--sl-z-index-toc:4;--sl-z-index-menu:5;--sl-z-index-navbar:10;--sl-z-index-skiplink:20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white:#17181c;--sl-color-gray-1:#23262f;--sl-color-gray-2:#353841;--sl-color-gray-3:#555962;--sl-color-gray-4:#888c96;--sl-color-gray-5:#c1c3c8;--sl-color-gray-6:#edeef3;--sl-color-gray-7:#f6f7f9;--sl-color-black:#fff;--sl-color-orange-high:hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange:hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low:hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high:hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low:hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue:hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low:hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple:hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low:hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high:hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red:hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low:hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high:#0f1c8a;--sl-color-accent:#3d50f5;--sl-color-accent-low:#cfd4fc;--sl-color-text-accent:var(--sl-color-accent);--sl-color-text-invert:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-7);--sl-color-bg-sidebar:var(--sl-color-bg);--sl-color-bg-inline-code:var(--sl-color-gray-6);--sl-color-bg-accent:var(--sl-color-accent);--sl-color-hairline-light:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-gray-6);--sl-color-backdrop-overlay:#545864a8;--sl-shadow-sm:0px 1px 1px #0000000f, 0px 2px 1px #0000000f;--sl-shadow-md:0px 8px 4px #00000008, 0px 5px 2px #00000008, 0px 3px 2px #0000000f, 0px 1px 1px #0000000f;--sl-shadow-lg:0px 25px 7px #00000003, 0px 16px 6px #00000008, 0px 9px 5px #16181d14, 0px 4px 4px #00000029, 0px 4px 2px #0000000a}@media (width>=50em){:root{--sl-nav-height:4rem;--sl-nav-pad-x:1.5rem;--sl-text-h1:var(--sl-text-5xl);--sl-text-h2:var(--sl-text-4xl);--sl-text-h3:var(--sl-text-3xl);--sl-text-h4:var(--sl-text-2xl)}}@media (width>=72rem){:root{--sl-content-pad-x:1.5rem;--sl-mobile-toc-height:0rem}}}@layer starlight.reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent);-webkit-text-size-adjust:100%;text-size-adjust:100%}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}[lang]:where(:lang(zh),:lang(ja)){text-autospace:normal}[lang]:where(:not(:lang(zh),:lang(ja))){text-autospace:initial}pre,code,samp,kbd{text-autospace:no-autospace}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:break-word}code{font-family:var(--__sl-font-mono)}}@layer starlight.core{.sl-banner:where(.astro-ofbg3qve){--__sl-banner-text:var(--sl-color-banner-text,var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg,var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-ofbg3qve) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-a7po4psb){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-a7po4psb)+.content-panel:where(.astro-a7po4psb){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-a7po4psb){max-width:var(--sl-content-width)}.sl-container:where(.astro-a7po4psb)>*+*{margin-top:1.5rem}@media (width>=72rem){.sl-container:where(.astro-a7po4psb){margin-inline:var(--sl-content-margin-inline,auto)}}p:where(.astro-gsljcgkv){border:1px solid var(--sl-color-orange);background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings);text-align:start;align-items:center;gap:.75em;padding:.75em 1em}label:where(.astro-2z5xp7gb){--sl-label-icon-size:.875rem;--sl-caret-size:1.25rem;--sl-inline-padding:.5rem;color:var(--sl-color-gray-2);align-items:center;gap:.25rem;display:flex;position:relative}label:where(.astro-2z5xp7gb):hover{color:var(--sl-color-white)}.icon:where(.astro-2z5xp7gb){pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}select:where(.astro-2z5xp7gb){padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none;background-color:#0000;border:0}option:where(.astro-2z5xp7gb){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (width>=50rem){select:where(.astro-2z5xp7gb){font-size:var(--sl-text-sm)}}a:where(.astro-n2mnl6yq){color:var(--sl-color-text-accent);margin:-.5em;padding:.5em}a:where(.astro-n2mnl6yq):hover{color:var(--sl-color-white)}.hero:where(.astro-2qjbuh7f){grid-template-columns:100%;align-items:center;gap:1rem;padding-bottom:1rem;display:grid}.hero:where(.astro-2qjbuh7f)>img:where(.astro-2qjbuh7f),.hero:where(.astro-2qjbuh7f)>.hero-html:where(.astro-2qjbuh7f){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-2qjbuh7f){text-align:center;flex-direction:column;gap:clamp(1.5rem,1.5rem + 1vw,2rem)}.copy:where(.astro-2qjbuh7f){flex-direction:column;align-items:center;gap:1rem}.copy:where(.astro-2qjbuh7f)>:where(.astro-2qjbuh7f){max-width:50ch}h1:where(.astro-2qjbuh7f){font-size:clamp(var(--sl-text-3xl), calc(.25rem + 5vw), var(--sl-text-6xl));line-height:var(--sl-line-height-headings);color:var(--sl-color-white);font-weight:600}.tagline:where(.astro-2qjbuh7f){font-size:clamp(var(--sl-text-base), calc(.0625rem + 2vw), var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-2qjbuh7f){flex-wrap:wrap;justify-content:center;gap:1rem 2rem}@media (width>=50rem){.hero:where(.astro-2qjbuh7f){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,1rem + 10vmin,10rem)}.hero:where(.astro-2qjbuh7f)>img:where(.astro-2qjbuh7f),.hero:where(.astro-2qjbuh7f)>.hero-html:where(.astro-2qjbuh7f){order:2;width:min(100%,25rem)}.stack:where(.astro-2qjbuh7f){text-align:start}.copy:where(.astro-2qjbuh7f){align-items:flex-start}.actions:where(.astro-2qjbuh7f){justify-content:flex-start}}button:where(.astro-r2osgdlg){top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);z-index:var(--sl-z-index-navbar);width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer;border:0;border-radius:50%;padding:.5rem;position:fixed;inset-inline-end:var(--sl-nav-pad-x)}button:where(.astro-r2osgdlg):has(~:popover-open){background-color:var(--sl-color-gray-2);box-shadow:none}button:where(.astro-r2osgdlg):has(~:popover-open) .open-menu:where(.astro-r2osgdlg){display:none}button:where(.astro-r2osgdlg):not(:has(~:popover-open)) .close-menu:where(.astro-r2osgdlg){display:none}[data-theme=light] button:where(.astro-r2osgdlg){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] button:where(.astro-r2osgdlg):has(~:popover-open){background-color:var(--sl-color-gray-5)}body:has(#starlight__sidebar:popover-open){overflow:hidden}@media (width>=50rem){body:has(#starlight__sidebar:popover-open){overflow:auto}}.page:where(.astro-yntsjkba){flex-direction:column;min-height:100vh}.header:where(.astro-yntsjkba){z-index:var(--sl-z-index-navbar);width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav);padding-inline-end:var(--sl-nav-pad-x);position:fixed;inset-block-start:0;inset-inline-start:0}[data-has-sidebar] .header:where(.astro-yntsjkba){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-yntsjkba){border:unset;padding:unset;height:unset;color:unset;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;background-color:var(--sl-color-black);scrollbar-gutter:stable;width:100%;position:fixed;inset-inline-start:0;overflow-y:auto}.sidebar-content:where(.astro-yntsjkba){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media (width>=50rem){.sidebar-content:where(.astro-yntsjkba):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-yntsjkba){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media (width>=50rem){[data-has-sidebar] .header:where(.astro-yntsjkba){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-yntsjkba){width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade);display:block}}ul:where(.astro-jugkfwgx){padding:0;list-style:none}a:where(.astro-jugkfwgx){--pad-inline:.5rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);border-radius:.25rem;line-height:1.25;display:block}a:where(.astro-jugkfwgx)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx){--pad-inline:1rem;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);color:var(--sl-color-text);font-size:var(--sl-text-sm);outline-offset:var(--sl-outline-offset-inside);border-radius:0;padding-block:.5rem;text-decoration:none;display:flex}.isMobile:where(.astro-jugkfwgx):first-child>li:where(.astro-jugkfwgx):first-child>a:where(.astro-jugkfwgx){border-top:0}.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true],.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true]:hover,.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true]:after{content:"";background-color:var(--sl-color-text-accent);flex-shrink:0;width:1rem;-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}nav:where(.astro-66cqc7ze){z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav);position:fixed;inset-inline:0}@media (width>=50rem){nav:where(.astro-66cqc7ze){inset-inline-start:var(--sl-content-inline-start,0)}}summary:where(.astro-66cqc7ze){height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside);align-items:center;gap:.5rem;padding:.5rem 1rem}summary:where(.astro-66cqc7ze)::marker,summary:where(.astro-66cqc7ze)::-webkit-details-marker{display:none}.toggle:where(.astro-66cqc7ze){border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);user-select:none;cursor:pointer;border-radius:.5rem;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding-block:.5rem;padding-inline:.75rem .5rem;line-height:1}details:where(.astro-66cqc7ze)[open] .toggle:where(.astro-66cqc7ze){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-66cqc7ze) .toggle:where(.astro-66cqc7ze):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-66cqc7ze){transform:rotate(180deg)}details:where(.astro-66cqc7ze)[open] .caret:where(.astro-66cqc7ze){transform:rotate(90deg)}.display-current:where(.astro-66cqc7ze){white-space:nowrap;text-overflow:ellipsis;color:var(--sl-color-white);overflow:hidden}.dropdown:where(.astro-66cqc7ze){--border-top:1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain;overflow-y:auto}.social-icons:where(.astro-p4azlveh){align-items:center;gap:1rem;margin-inline-end:auto;padding-block:1rem;display:flex}.social-icons:where(.astro-p4azlveh):empty{display:none}.mobile-preferences:where(.astro-p4azlveh){border-top:1px solid var(--sl-color-gray-6);flex-wrap:wrap;justify-content:space-between;column-gap:1rem;padding:.5rem 0}a:where(.astro-qb7clj6f){clip:rect(0, 0, 0, 0);top:.75rem;position:fixed;inset-inline-start:.75rem}a:where(.astro-qb7clj6f):focus{clip:unset;z-index:var(--sl-z-index-skiplink);color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg);padding:.5rem 1rem;text-decoration:none;display:block}.main-pane:where(.astro-lrzkfocr){isolation:isolate}@media (width>=72rem){.right-sidebar-container:where(.astro-lrzkfocr){width:max(var(--sl-sidebar-width), calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2));order:2;margin-inline-start:auto;position:relative}.right-sidebar:where(.astro-lrzkfocr){border-inline-start:1px solid var(--sl-color-hairline);padding-top:var(--sl-nav-height);scrollbar-width:none;width:100%;height:100vh;position:fixed;top:0;overflow-y:auto}.main-pane:where(.astro-lrzkfocr){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-lrzkfocr){--sl-content-margin-inline:auto 0;width:min(calc(100% - var(--sl-sidebar-width)), calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2));order:1}}}@layer starlight.content{.sl-markdown-content .sl-heading-wrapper{--sl-anchor-icon-size:.8275em;--sl-anchor-icon-gap:.25em;--sl-anchor-icon-space:calc(var(--sl-anchor-icon-size) + var(--sl-anchor-icon-gap));line-height:var(--sl-line-height-headings)}.sl-markdown-content .sl-heading-wrapper:has(>:first-child:is(.sr-only,[hidden])){display:contents}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6,.sl-heading-wrapper)+.sl-heading-wrapper{margin-top:1.5em}.sl-markdown-content .sl-heading-wrapper.level-h1{font-size:var(--sl-text-h1)}.sl-markdown-content .sl-heading-wrapper.level-h2{font-size:var(--sl-text-h2)}.sl-markdown-content .sl-heading-wrapper.level-h3{font-size:var(--sl-text-h3)}.sl-markdown-content .sl-heading-wrapper.level-h4{font-size:var(--sl-text-h4)}.sl-markdown-content .sl-heading-wrapper.level-h5{font-size:var(--sl-text-h5)}.sl-markdown-content .sl-heading-wrapper.level-h6{font-size:var(--sl-text-h6)}.sl-markdown-content .sl-heading-wrapper>:first-child:not([hidden]){padding-inline-end:var(--sl-anchor-icon-space);display:inline}.sl-markdown-content .sl-anchor-link{-webkit-user-select:none;user-select:none;margin-inline-start:calc(-1 * var(--sl-anchor-icon-size));display:inline-flex;position:relative}.sl-markdown-content .sl-heading-wrapper:has(>:first-child:is(.sr-only,[hidden]))>.sl-anchor-link{display:none}.sl-markdown-content .sl-anchor-link:after{content:"";position:absolute;inset:-.25rem -.5rem}.sl-markdown-content .sl-anchor-icon>svg{width:var(--sl-anchor-icon-size);vertical-align:top;transform:translateY(calc((var(--sl-line-height-headings) * 1em - var(--sl-anchor-icon-size)) / 2));display:inline;overflow:visible}@media (hover:hover){.sl-markdown-content .sl-anchor-link{opacity:0}.sl-markdown-content .sl-anchor-link:focus,.sl-markdown-content .sl-heading-wrapper:hover .sl-anchor-link{opacity:1}}.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)),.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:is(astro-island,astro-slot)>:not(a,strong,em,del,span,input,code,br,:where(.not-content *)):first-child{margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content :is(ol,ul):has(>li>:not(a,strong,em,del,span,input,code,br,script,ol,ul))>li>:is(:last-child:not(a,strong,em,del,span,input,code,br,script,:where(.not-content *)),:not(script):has(~script:last-child):not(:has(~:not(script)))){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){max-width:100%;height:auto;display:block}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);font-size:var(--sl-text-code-sm);margin-block:-.125rem;padding:.125rem .375rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);font-size:var(--sl-text-code);tab-size:2;padding:.75rem 1rem}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){border-spacing:0;display:block;overflow:auto}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);vertical-align:baseline;padding:.5rem 1rem}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)
	){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)}}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)
	){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-gray-5);--sl-details-border-color--hover:var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;margin-inline-start:-.5rem;padding-inline-start:.5rem;font-weight:600;display:block}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size:1.25rem;content:"";height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion:no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-asides-border);--sl-details-border-color--hover:var(--sl-color-asides-text-accent)}}@layer starlight.components{.starlight-aside{border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white);padding:1rem}.starlight-aside--note{--sl-color-asides-text-accent:var(--sl-color-blue-high);--sl-color-asides-border:var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent:var(--sl-color-purple-high);--sl-color-asides-border:var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent:var(--sl-color-orange-high);--sl-color-asides-border:var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent:var(--sl-color-red-high);--sl-color-asides-border:var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent);align-items:center;gap:.5rem;display:flex}.starlight-aside__icon{width:1em;height:1em;font-size:1.333em;overflow:visible}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content:empty{display:none}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}svg:where(.astro-hkc32dio){color:var(--sl-icon-color);font-size:var(--sl-icon-size,1em);width:1em;height:1em;overflow:visible}.label-icon:where(.astro-2z5xp7gb){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-2z5xp7gb){font-size:var(--sl-caret-size);inset-inline-end:0}.sl-link-button:where(.astro-dcqstdaq){font-size:var(--sl-text-sm);outline-offset:.25rem;border:1px solid #0000;border-radius:999rem;align-items:center;gap:.5em;padding:.4375rem 1.125rem;line-height:1.1875;text-decoration:none;display:inline-flex}.sl-link-button:where(.astro-dcqstdaq).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-dcqstdaq).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-dcqstdaq).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-dcqstdaq).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-dcqstdaq) svg{flex-shrink:0}@media (width>=50rem){.sl-link-button:where(.astro-dcqstdaq){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-dcqstdaq){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-dcqstdaq):not(:where(p *)){margin-block:1rem}}@layer starlight.utils{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (width>=50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (width>=72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:matrix(-1,0,0,1,0,0)}}.lesson-footer:where(.astro-ft5hcqwl){border-block-start:1px solid var(--edu-border);margin-block-start:var(--edu-space-8);padding-block-start:var(--edu-space-5)}.lesson-pager:where(.astro-ft5hcqwl){gap:var(--edu-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lesson-pager__item:where(.astro-ft5hcqwl){gap:var(--edu-space-1);min-height:112px;padding:var(--edu-space-4);border:1px solid var(--edu-border);border-radius:var(--edu-radius-md);background:var(--edu-bg-subtle);color:var(--edu-text);flex-direction:column;text-decoration:none;display:flex}.lesson-pager__item--about:where(.astro-ft5hcqwl){text-align:center;flex-direction:row;grid-column:1/-1;justify-content:center;align-items:center;min-height:48px}.lesson-pager__item--about:where(.astro-ft5hcqwl) .lesson-pager__label:where(.astro-ft5hcqwl){align-items:center;gap:var(--edu-space-2);color:var(--edu-text-secondary);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:500;line-height:1.4;display:inline-flex}a:where(.astro-ft5hcqwl).lesson-pager__item--about:hover{border-color:var(--edu-accent-border);background:var(--edu-accent-subtle)}a:where(.astro-ft5hcqwl).lesson-pager__item--about:hover .lesson-pager__label:where(.astro-ft5hcqwl){color:var(--edu-accent)}a:where(.astro-ft5hcqwl).lesson-pager__item:hover{border-color:var(--edu-accent-border);background:var(--edu-accent-subtle)}.lesson-pager__item--next:where(.astro-ft5hcqwl){text-align:end;align-items:flex-end}.lesson-pager__item--soon:where(.astro-ft5hcqwl){color:var(--edu-text-muted);background:0 0;border-style:dashed}.lesson-pager__label:where(.astro-ft5hcqwl){align-items:center;gap:var(--edu-space-2);color:var(--edu-text-muted);font-family:var(--edu-font-sans);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.4;display:inline-flex}.lesson-pager__soon:where(.astro-ft5hcqwl){border:1px solid var(--edu-border);border-radius:var(--edu-radius-pill);letter-spacing:.04em;padding:1px 6px;font-size:9px}.lesson-pager__title:where(.astro-ft5hcqwl){color:var(--edu-text);font-family:var(--edu-font-sans);font-size:var(--edu-text-sm);text-wrap:balance;font-weight:600;line-height:1.45}.lesson-pager__item--soon:where(.astro-ft5hcqwl) .lesson-pager__title:where(.astro-ft5hcqwl){color:var(--edu-text-secondary)}.lesson-pager__meta:where(.astro-ft5hcqwl){color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);line-height:1.5}.lesson-pager__empty:where(.astro-ft5hcqwl){display:block}.lesson-footer__meta:where(.astro-ft5hcqwl){justify-content:space-between;align-items:center;gap:var(--edu-space-2) var(--edu-space-4);border-block-start:1px solid var(--edu-border);color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);flex-wrap:wrap;margin-block-start:var(--edu-space-4);padding-block-start:var(--edu-space-3);line-height:1.5;display:flex}.lesson-footer__back:where(.astro-ft5hcqwl){align-items:center;gap:var(--edu-space-2);min-height:32px;color:var(--edu-text-secondary);font-weight:500;text-decoration:none;display:inline-flex}.lesson-footer__back:where(.astro-ft5hcqwl):hover{color:var(--edu-accent)}.site-footer:where(.astro-ft5hcqwl){justify-content:space-between;gap:var(--edu-space-2);border-block-start:1px solid var(--edu-border);color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);flex-wrap:wrap;margin-block-start:var(--edu-space-6);padding-block-start:var(--edu-space-4);line-height:1.5;display:flex}.site-footer:where(.astro-ft5hcqwl) p:where(.astro-ft5hcqwl){margin:0}.site-footer:where(.astro-ft5hcqwl) a:where(.astro-ft5hcqwl){color:var(--edu-text-secondary);text-decoration:none}.site-footer:where(.astro-ft5hcqwl) a:where(.astro-ft5hcqwl):hover{color:var(--edu-accent);text-decoration:underline}@media (width<=640px){.lesson-pager:where(.astro-ft5hcqwl){grid-template-columns:1fr}.lesson-pager__empty:where(.astro-ft5hcqwl){display:none}.lesson-pager__item:where(.astro-ft5hcqwl){min-height:0}.lesson-pager__item--next:where(.astro-ft5hcqwl){text-align:start;align-items:flex-start}}.header-search:where(.astro-au2y2t7u){justify-content:center;width:100%;display:flex}.header-search__link:where(.astro-au2y2t7u){align-items:center;gap:var(--edu-space-2);width:100%;max-width:none;min-height:40px;padding:0 var(--edu-space-2) 0 var(--edu-space-3);border:1px solid var(--edu-border);border-radius:var(--edu-radius-md);background:var(--edu-bg);color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);line-height:1;text-decoration:none;display:inline-flex}.header-search__link:where(.astro-au2y2t7u):hover{border-color:var(--edu-border-strong);color:var(--edu-text-secondary)}.header-search__link:where(.astro-au2y2t7u) svg:where(.astro-au2y2t7u){flex:none}.header-search__label:where(.astro-au2y2t7u){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.header-search__kbd:where(.astro-au2y2t7u){border:1px solid var(--edu-border);background:var(--edu-bg-subtle);color:var(--edu-text-muted);font-family:var(--edu-font-mono);border-radius:4px;margin-inline-start:auto;padding:3px 5px;font-size:9px;line-height:1}@media (width<=49.99rem){.header-search:where(.astro-au2y2t7u){width:auto}.header-search__link:where(.astro-au2y2t7u){background:0 0;border-color:#0000;justify-content:center;width:40px;max-width:none;min-height:40px;padding:0}.header-search__label:where(.astro-au2y2t7u),.header-search__kbd:where(.astro-au2y2t7u){display:none}}.site-title:where(.astro-32trhkrv){min-width:0;color:var(--edu-text);font-family:var(--edu-font-sans);letter-spacing:0;white-space:nowrap;align-items:center;font-size:1.375rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.site-title:where(.astro-32trhkrv):hover{color:var(--edu-text)}.site-title__word:where(.astro-32trhkrv){align-items:center;display:inline-flex}.site-title__eight:where(.astro-32trhkrv){flex:none;width:.65em;height:1.2em;margin-inline:.12em}@media (width<=420px){.site-title:where(.astro-32trhkrv){font-size:1.25rem}}.header:where(.astro-xiqy3rs3){gap:var(--edu-space-2);justify-content:space-between;align-items:center;height:100%;display:flex}.header-main:where(.astro-xiqy3rs3){flex:none;align-items:center;min-width:0}.header-center:where(.astro-xiqy3rs3){flex:auto;justify-content:center;align-items:center;min-width:0}.header-end:where(.astro-xiqy3rs3){justify-content:flex-end;align-items:center;gap:var(--edu-space-4);flex:none;min-width:0}.title-wrapper:where(.astro-xiqy3rs3){flex:none;min-width:0;margin:-.25rem;padding:.25rem;overflow:clip}.right-group:where(.astro-xiqy3rs3),.social-icons:where(.astro-xiqy3rs3){align-items:center;gap:1rem}.social-icons:where(.astro-xiqy3rs3):after{content:"";border-inline-end:1px solid var(--sl-color-gray-5);height:2rem}.primary-nav:where(.astro-xiqy3rs3){min-width:0}.primary-nav:where(.astro-xiqy3rs3) ul:where(.astro-xiqy3rs3){align-items:center;gap:var(--edu-space-4);margin:0;padding:0;list-style:none;display:flex}.primary-nav:where(.astro-xiqy3rs3) li:where(.astro-xiqy3rs3){margin:0}.primary-nav__link:where(.astro-xiqy3rs3){min-height:40px;color:var(--edu-text-secondary);font-family:var(--edu-font-sans);font-size:var(--edu-text-sm);font-weight:var(--edu-weight-medium);letter-spacing:.01em;white-space:nowrap;transition:color var(--edu-dur-fast) var(--edu-ease-standard);align-items:center;padding:0;line-height:1;text-decoration:none;display:inline-flex;position:relative}.primary-nav__link:where(.astro-xiqy3rs3):hover{color:var(--edu-text)}.primary-nav__link:where(.astro-xiqy3rs3).is-active{color:var(--edu-accent)}.primary-nav__link:where(.astro-xiqy3rs3).is-active:after{background:var(--edu-accent);content:"";border-radius:999px;height:2px;position:absolute;inset-block-end:5px;inset-inline:0}@media (width>=50rem){.header:where(.astro-xiqy3rs3){gap:var(--sl-nav-gap);grid-template-columns:minmax(0,1fr) clamp(12rem,36vw,34rem) minmax(0,1fr);display:grid}.header-main:where(.astro-xiqy3rs3){justify-self:start}.header-center:where(.astro-xiqy3rs3){justify-self:center;width:100%}.header-end:where(.astro-xiqy3rs3){justify-self:end;width:100%}}@media (width<=479px){.header:where(.astro-xiqy3rs3){gap:var(--edu-space-1)}.header-end:where(.astro-xiqy3rs3){gap:var(--edu-space-2)}.primary-nav:where(.astro-xiqy3rs3) ul:where(.astro-xiqy3rs3){gap:var(--edu-space-3)}}@media (prefers-reduced-motion:reduce){.primary-nav__link:where(.astro-xiqy3rs3){transition:none}}.toc-panel:where(.astro-plhj2tws){gap:var(--edu-space-4);flex-direction:column;display:flex}.toc-panel__track:where(.astro-plhj2tws){justify-content:space-between;align-items:center;gap:var(--edu-space-2);padding:var(--edu-space-3) 0 0;border-block-start:1px solid var(--edu-border);color:var(--edu-text-secondary);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);font-weight:500;line-height:1.5;text-decoration:none;display:flex}.toc-panel__track:where(.astro-plhj2tws):hover{color:var(--edu-accent)}.toc-panel__track:where(.astro-plhj2tws) span:where(.astro-plhj2tws){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toc-panel__track:where(.astro-plhj2tws) svg:where(.astro-plhj2tws){flex:none}.toc-panel:where(.astro-plhj2tws) h2{letter-spacing:.07em;text-transform:uppercase;margin-block-end:var(--edu-space-2);color:var(--edu-text)!important;font-family:var(--edu-font-sans)!important;font-size:11px!important;font-weight:600!important;line-height:1.5!important}.toc-panel:where(.astro-plhj2tws) a{color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);line-height:1.5;text-decoration:none}.toc-panel:where(.astro-plhj2tws) a:hover{color:var(--edu-text)}.toc-panel:where(.astro-plhj2tws) a[aria-current=true]{color:var(--edu-accent);font-weight:500}.toc-panel:where(.astro-plhj2tws) ul{border-inline-start:1px solid var(--edu-border);padding-inline-start:0}.toc-panel:where(.astro-plhj2tws) li{margin:0}.toc-panel:where(.astro-plhj2tws) li a{padding:4px 0 4px var(--edu-space-3);border-inline-start:2px solid #0000;margin-inline-start:-1px;display:block}.toc-panel:where(.astro-plhj2tws) li a[aria-current=true]{border-inline-start-color:var(--edu-accent)}.edu-difficulty:where(.astro-k3t4elff){align-items:center;gap:var(--edu-space-2);min-height:24px;padding:2px var(--edu-space-2);border:1px solid var(--edu-border);border-radius:var(--edu-radius-pill);background:var(--edu-bg-subtle);color:var(--edu-text-secondary);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);font-weight:var(--edu-weight-medium);white-space:nowrap;line-height:1.4;display:inline-flex}.edu-difficulty__dot:where(.astro-k3t4elff){background:var(--edu-text-muted);border-radius:50%;width:6px;height:6px}.edu-difficulty--beginner:where(.astro-k3t4elff) .edu-difficulty__dot:where(.astro-k3t4elff){background:var(--edu-success)}.edu-difficulty--intermediate:where(.astro-k3t4elff) .edu-difficulty__dot:where(.astro-k3t4elff){background:var(--edu-accent)}.edu-difficulty--advanced:where(.astro-k3t4elff) .edu-difficulty__dot:where(.astro-k3t4elff){background:var(--edu-warning)}.edu-goals:where(.astro-yah57arp){margin-block:var(--edu-space-6);padding:var(--edu-space-5);border:1px solid var(--edu-border);border-radius:var(--edu-radius-lg);background:var(--edu-bg-subtle)}.edu-goals__heading:where(.astro-yah57arp){margin:0 0 var(--edu-space-3);color:var(--edu-text-secondary);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);font-weight:var(--edu-weight-semibold);letter-spacing:.08em;text-transform:uppercase;line-height:1.4}.edu-goals__list:where(.astro-yah57arp){gap:var(--edu-space-2);margin:0;padding:0;list-style:none;display:grid}.edu-goals__list:where(.astro-yah57arp) li:where(.astro-yah57arp){gap:var(--edu-space-3);color:var(--edu-text);font-family:var(--edu-font-sans);font-size:var(--edu-text-sm);grid-template-columns:18px 1fr;align-items:start;margin:0;line-height:1.6;display:grid}.edu-goals__marker:where(.astro-yah57arp){border:1px solid var(--edu-accent-border);background:var(--edu-accent-subtle);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230f766e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m4 8 2.5 2.5L12 5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px;border-radius:50%;width:18px;height:18px;margin-block-start:.22em}:where(.astro-yah57arp)[data-theme=dark] .edu-goals__marker:where(.astro-yah57arp){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%235eead4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m4 8 2.5 2.5L12 5'/%3E%3C/svg%3E")}.edu-goals--prerequisites:where(.astro-yah57arp) .edu-goals__marker:where(.astro-yah57arp){border-color:var(--edu-border-strong);background-color:var(--edu-bg-sunken);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%2378716c' stroke-linecap='round' stroke-width='2' d='M8 3v10M3 8h10'/%3E%3C/svg%3E")}:where(.astro-yah57arp)[data-theme=dark] .edu-goals--prerequisites:where(.astro-yah57arp) .edu-goals__marker:where(.astro-yah57arp){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23a8a29e' stroke-linecap='round' stroke-width='2' d='M8 3v10M3 8h10'/%3E%3C/svg%3E")}@media print{.edu-goals:where(.astro-yah57arp){break-inside:avoid;background:0 0}}.page-hero:where(.astro-xrbnetbz),.lesson-header:where(.astro-xrbnetbz){padding-block:var(--edu-space-5) var(--edu-space-6)}.home-hero:where(.astro-xrbnetbz){max-width:none;padding-block:var(--edu-space-7) var(--edu-space-8)}.page-hero:where(.astro-xrbnetbz) h1:where(.astro-xrbnetbz),.lesson-header:where(.astro-xrbnetbz) h1:where(.astro-xrbnetbz){max-width:20ch;color:var(--edu-text);font-family:var(--edu-font-sans);font-size:var(--edu-text-display);font-weight:var(--edu-weight-bold);letter-spacing:-.03em;line-height:var(--edu-leading-display);text-wrap:balance;margin:0}.track-hero:where(.astro-xrbnetbz) h1:where(.astro-xrbnetbz){max-width:24ch}.lesson-header:where(.astro-xrbnetbz) h1:where(.astro-xrbnetbz){letter-spacing:-.025em;max-width:24ch;font-size:clamp(2rem,4.6vw,3.25rem);line-height:1.08}.page-hero__lead:where(.astro-xrbnetbz){max-width:62ch;margin:var(--edu-space-4) 0 0;color:var(--edu-text-secondary);font-family:var(--edu-font-sans);text-wrap:pretty;font-size:clamp(1.0625rem,2vw,1.25rem);line-height:1.6}.home-hero__note:where(.astro-xrbnetbz){margin:var(--edu-space-5) 0 0;color:var(--edu-text-muted);font-family:var(--edu-font-mono);font-size:var(--edu-text-xs);line-height:1.5}.breadcrumbs:where(.astro-xrbnetbz){align-items:center;gap:var(--edu-space-2);color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);flex-wrap:wrap;margin-block-end:var(--edu-space-5);line-height:1.5;display:flex}.breadcrumbs:where(.astro-xrbnetbz) a:where(.astro-xrbnetbz){color:var(--edu-text-secondary);text-decoration:none}.breadcrumbs:where(.astro-xrbnetbz) a:where(.astro-xrbnetbz):hover{color:var(--edu-accent);text-underline-offset:.2em;text-decoration:underline}.breadcrumbs:where(.astro-xrbnetbz) span:where(.astro-xrbnetbz)[aria-hidden]{color:var(--edu-border-strong)}.breadcrumbs:where(.astro-xrbnetbz) :where(.astro-xrbnetbz)[aria-current=page]{color:var(--edu-text-muted)}.track-hero__flags:where(.astro-xrbnetbz){align-items:center;gap:var(--edu-space-3);flex-wrap:wrap;margin-block-end:var(--edu-space-2);display:flex}.track-hero__flags:where(.astro-xrbnetbz) .edu-kicker:where(.astro-xrbnetbz){margin:0}.status-flag:where(.astro-xrbnetbz){padding:2px var(--edu-space-2);border:1px solid var(--edu-border);border-radius:var(--edu-radius-pill);background:var(--edu-bg-subtle);color:var(--edu-text-muted);font-family:var(--edu-font-sans);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:500;line-height:1.6}.status-flag--live:where(.astro-xrbnetbz){border-color:var(--edu-accent-border);background:var(--edu-accent-subtle);color:var(--edu-accent)}.track-hero__meta:where(.astro-xrbnetbz){margin-block-start:var(--edu-space-4)}.lesson-header__summary:where(.astro-xrbnetbz){max-width:60ch;margin:var(--edu-space-4) 0 0;color:var(--edu-text-secondary);font-family:var(--edu-font-sans);text-wrap:pretty;font-size:clamp(1.0625rem,2vw,1.1875rem);line-height:1.6}.lesson-header__meta:where(.astro-xrbnetbz){align-items:center;gap:var(--edu-space-2) var(--edu-space-4);border-block-start:1px solid var(--edu-border);color:var(--edu-text-muted);font-family:var(--edu-font-sans);font-size:var(--edu-text-xs);flex-wrap:wrap;margin-block-start:var(--edu-space-5);padding-block-start:var(--edu-space-4);line-height:1.5;display:flex}.lesson-header__goals:where(.astro-xrbnetbz){gap:var(--edu-space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin-block-start:var(--edu-space-5);display:grid}.lesson-header__goals:where(.astro-xrbnetbz)>*{margin-block:0}.page-hero--compact:where(.astro-xrbnetbz){padding-block:var(--edu-space-5) var(--edu-space-4)}.page-hero--compact:where(.astro-xrbnetbz) h1:where(.astro-xrbnetbz){max-width:none;font-size:var(--edu-text-h1)}@media (width<=767px){.home-hero:where(.astro-xrbnetbz){padding-block:var(--edu-space-5) var(--edu-space-6)}.page-hero:where(.astro-xrbnetbz) h1:where(.astro-xrbnetbz){max-width:none}.lesson-header:where(.astro-xrbnetbz) h1:where(.astro-xrbnetbz){font-size:clamp(1.875rem,8vw,2.5rem)}.breadcrumbs:where(.astro-xrbnetbz){margin-block-end:var(--edu-space-4)}.lesson-header__goals:where(.astro-xrbnetbz){grid-template-columns:1fr}}.curriculum-nav:where(.astro-er3kzsrm){gap:var(--edu-space-4);color:var(--edu-text);font-family:var(--edu-font-sans);flex-direction:column;display:flex}.curriculum-nav__head:where(.astro-er3kzsrm){justify-content:space-between;align-items:baseline;gap:var(--edu-space-3);border-block-end:1px solid var(--edu-border);padding-block-end:var(--edu-space-2);display:flex}.curriculum-nav__eyebrow:where(.astro-er3kzsrm){color:var(--edu-text-muted);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.4}.curriculum-nav__all:where(.astro-er3kzsrm){color:var(--edu-text-muted);font-size:10px;line-height:1.4;text-decoration:none}.curriculum-nav__all:where(.astro-er3kzsrm):hover{color:var(--edu-accent);text-underline-offset:.18em;text-decoration:underline}.curriculum-nav__track:where(.astro-er3kzsrm){padding:var(--edu-space-3);border:1px solid var(--edu-border);border-radius:var(--edu-radius-md);background:var(--edu-bg);flex-direction:column;gap:2px;display:flex}.curriculum-nav__number:where(.astro-er3kzsrm){color:var(--edu-text-muted);font-family:var(--edu-font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:500;line-height:1.4}.curriculum-nav__track-title:where(.astro-er3kzsrm){color:var(--edu-text);font-size:var(--edu-text-sm);text-wrap:pretty;font-weight:600;line-height:1.35;text-decoration:none}.curriculum-nav__track-title:where(.astro-er3kzsrm):hover{color:var(--edu-accent)}.curriculum-nav__track-meta:where(.astro-er3kzsrm){color:var(--edu-text-muted);font-family:var(--edu-font-mono);margin-block-start:2px;font-size:10px;line-height:1.4}.curriculum-nav__modules:where(.astro-er3kzsrm){flex-direction:column;gap:2px;display:flex}.curriculum-nav__stage:where(.astro-er3kzsrm){flex-direction:column;gap:1px;display:flex}.curriculum-nav__stage:where(.astro-er3kzsrm)+.curriculum-nav__stage:where(.astro-er3kzsrm){border-block-start:1px solid var(--edu-border);margin-block-start:var(--edu-space-2);padding-block-start:var(--edu-space-2)}.curriculum-nav__stage-label:where(.astro-er3kzsrm){padding:2px var(--edu-space-2);color:var(--edu-text-muted);font-family:var(--edu-font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:9px;font-weight:500;line-height:1.5}.curriculum-module:where(.astro-er3kzsrm){border-radius:var(--edu-radius-sm);background:0 0;border:0;padding:0}.curriculum-module:where(.astro-er3kzsrm)+.curriculum-module:where(.astro-er3kzsrm){border-block-start:1px solid var(--edu-border);padding-block-start:2px}.curriculum-module__summary:where(.astro-er3kzsrm){align-items:start;gap:var(--edu-space-2);min-height:44px;padding:var(--edu-space-2);border-radius:var(--edu-radius-sm);color:var(--edu-text-secondary);font-size:var(--edu-text-xs);cursor:pointer;grid-template-columns:24px minmax(0,1fr) auto;font-weight:600;line-height:1.45;list-style:none;display:grid}.curriculum-module__summary:where(.astro-er3kzsrm)::-webkit-details-marker{display:none}.curriculum-module__summary:where(.astro-er3kzsrm):hover{background:var(--edu-bg);color:var(--edu-text)}.curriculum-module__number:where(.astro-er3kzsrm){color:var(--edu-text-muted);font-family:var(--edu-font-mono);font-size:10px;font-weight:400;line-height:1.8}.curriculum-module__title:where(.astro-er3kzsrm){text-wrap:balance}.curriculum-module__count:where(.astro-er3kzsrm){color:var(--edu-text-muted);font-family:var(--edu-font-mono);white-space:nowrap;align-items:center;gap:3px;font-size:9px;font-weight:400;line-height:1.8;display:inline-flex}.curriculum-module__count:where(.astro-er3kzsrm) svg:where(.astro-er3kzsrm){transition:transform var(--edu-dur-fast) var(--edu-ease-standard)}.curriculum-module:where(.astro-er3kzsrm)[open] .curriculum-module__count:where(.astro-er3kzsrm) svg:where(.astro-er3kzsrm){transform:rotate(180deg)}.curriculum-module__lessons:where(.astro-er3kzsrm){padding:0 0 var(--edu-space-2);flex-direction:column;gap:1px;margin:0;list-style:none;display:flex}.curriculum-module__lessons:where(.astro-er3kzsrm) li:where(.astro-er3kzsrm){margin:0}.curriculum-lesson:where(.astro-er3kzsrm){gap:var(--edu-space-2);padding:7px var(--edu-space-2) 7px 34px;border-radius:0 var(--edu-radius-sm) var(--edu-radius-sm) 0;color:var(--edu-text-secondary);font-size:var(--edu-text-xs);border-inline-start:2px solid #0000;grid-template-columns:20px minmax(0,1fr);align-items:start;line-height:1.45;text-decoration:none;display:grid}a:where(.astro-er3kzsrm).curriculum-lesson:hover{background:var(--edu-bg);color:var(--edu-text)}.curriculum-lesson:where(.astro-er3kzsrm)[aria-current=page]{border-inline-start-color:var(--edu-accent);background:var(--edu-accent-subtle);color:var(--edu-text)}.curriculum-lesson__number:where(.astro-er3kzsrm){color:var(--edu-text-muted);font-family:var(--edu-font-mono);font-size:10px;line-height:1.7}.curriculum-lesson__body:where(.astro-er3kzsrm){flex-direction:column;gap:1px;min-width:0;display:flex}.curriculum-lesson__title:where(.astro-er3kzsrm){text-wrap:pretty}.curriculum-lesson:where(.astro-er3kzsrm)[aria-current=page] .curriculum-lesson__title:where(.astro-er3kzsrm){font-weight:600}.curriculum-lesson__meta:where(.astro-er3kzsrm){color:var(--edu-text-muted);font-family:var(--edu-font-mono);font-size:9px;line-height:1.4}.curriculum-lesson--soon:where(.astro-er3kzsrm){color:var(--edu-text-muted);cursor:default}.curriculum-lesson--soon:where(.astro-er3kzsrm) .curriculum-lesson__title:where(.astro-er3kzsrm){color:var(--edu-text-secondary)}.curriculum-topics:where(.astro-er3kzsrm){padding:var(--edu-space-2)}.curriculum-topics__label:where(.astro-er3kzsrm){margin:0 0 var(--edu-space-2);color:var(--edu-text-muted);font-family:var(--edu-font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:9px;line-height:1.5}.curriculum-topics:where(.astro-er3kzsrm) ul:where(.astro-er3kzsrm){gap:3px;margin:0;padding:0;list-style:none;display:grid}.curriculum-topics:where(.astro-er3kzsrm) li:where(.astro-er3kzsrm){color:var(--edu-text-secondary);font-size:var(--edu-text-xs);margin:0;padding-inline-start:11px;line-height:1.5;position:relative}.curriculum-topics:where(.astro-er3kzsrm) li:where(.astro-er3kzsrm):before{background:var(--edu-border-strong);content:"";border-radius:50%;width:3px;height:3px;position:absolute;inset-block-start:.62em;inset-inline-start:0}.curriculum-nav__labs:where(.astro-er3kzsrm){border-block-start:1px solid var(--edu-border);padding-block-start:var(--edu-space-2)}.curriculum-nav__labs-all:where(.astro-er3kzsrm){padding:var(--edu-space-2) var(--edu-space-2) var(--edu-space-2) 34px;color:var(--edu-text-secondary);font-size:var(--edu-text-xs);text-decoration:none;display:block}.curriculum-nav__labs-all:where(.astro-er3kzsrm):hover{color:var(--edu-accent);text-decoration:underline}.curriculum-nav__index:where(.astro-er3kzsrm){justify-content:space-between;align-items:center;gap:var(--edu-space-2);min-height:40px;padding:var(--edu-space-2);border-block-start:1px solid var(--edu-border);color:var(--edu-text-secondary);font-size:var(--edu-text-xs);font-weight:500;text-decoration:none;display:inline-flex}.curriculum-nav__index:where(.astro-er3kzsrm):hover{color:var(--edu-accent)}.curriculum-nav__preferences:where(.astro-er3kzsrm){margin-block-start:auto;padding-block-start:var(--edu-space-3)}.curriculum-nav--fallback:where(.astro-er3kzsrm){gap:var(--edu-space-2)}html:not([data-has-toc]){--sl-mobile-toc-height:0rem}html:not([data-has-sidebar]){--sl-content-width:67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-g5ptsecz){padding:var(--sl-main-pad)}@media (width>=50em){:where(.astro-g5ptsecz)[data-has-sidebar]{--sl-content-inline-start:var(--sl-sidebar-width)}}@media (width>=72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}}
