@charset "UTF-8";@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-cyrillic-ext-wght-normal.daeed560.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-cyrillic-wght-normal.a1f50e52.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-greek-ext-wght-normal.747b787c.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-greek-wght-normal.0ed76b36.woff2) format("woff2-variations");unicode-range:U+0370-03FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-hebrew-wght-normal.fe6c9093.woff2) format("woff2-variations");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-vietnamese-wght-normal.db5d7bb3.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-latin-ext-wght-normal.d9784dbf.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-latin-wght-normal.9b1b9d7c.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-cyrillic-ext-wght-normal.d1712bfb.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-cyrillic-wght-normal.074fcb4b.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-vietnamese-wght-normal.5c2f5d2f.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-latin-ext-wght-normal.5dc54bae.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-latin-wght-normal.241ced7f.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-mono-cyrillic-ext-400-normal.3df7909e.woff2) format("woff2"),url(/_astro/fira-mono-cyrillic-ext-400-normal.3d9a53f4.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-mono-cyrillic-400-normal.c7d433fd.woff2) format("woff2"),url(/_astro/fira-mono-cyrillic-400-normal.905abef2.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-mono-greek-ext-400-normal.9e2fe623.woff2) format("woff2"),url(/_astro/fira-mono-greek-ext-400-normal.98f88801.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-mono-greek-400-normal.a8be01ce.woff2) format("woff2"),url(/_astro/fira-mono-greek-400-normal.7ccfa1d7.woff) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-mono-latin-ext-400-normal.6bfabd30.woff2) format("woff2"),url(/_astro/fira-mono-latin-ext-400-normal.0369dfa5.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-mono-latin-400-normal.e43b3538.woff2) format("woff2"),url(/_astro/fira-mono-latin-400-normal.a19663e4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent)}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sb-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--content-top-padding: 1.5rem;--content-bottom-padding: 2rem;--default-block-padding: .5em;--default-inline-padding: .8em;--default-top-margin: 1.2em}.main-content{padding-top:calc(var(--content-top-padding) + var(--header-height, 3rem));padding-bottom:var(--content-bottom-padding);width:min(100% - 2rem,60ch);margin:0 auto}.main-content.is-splash{padding-top:0;width:auto;min-height:100vh}.main-content *{scroll-margin-top:var(--header-height, 0)}p:not(:first-child),ul:not(:first-child),ol:not(:first-child){margin-top:1.2em}ol ol,ol ul,ul ol,ul ul{margin-top:.4em;margin-bottom:1.2em}h1,h2,h3,h4,h5,h6{position:relative}h1 a[aria-hidden=true],h2 a[aria-hidden=true],h3 a[aria-hidden=true],h4 a[aria-hidden=true],h5 a[aria-hidden=true],h6 a[aria-hidden=true]{color:inherit;position:absolute;left:-.8em;width:.8em;display:none;opacity:.5}h1:hover a[aria-hidden=true],h2:hover a[aria-hidden=true],h3:hover a[aria-hidden=true],h4:hover a[aria-hidden=true],h5:hover a[aria-hidden=true],h6:hover a[aria-hidden=true]{display:inline}img{max-width:100%;height:auto}table{margin:1em 0;min-width:100%;border-spacing:0;border-radius:.2em;border-collapse:separate;overflow:hidden;table-layout:fixed;border:1px solid var(--clr-text);padding:0}.compact-table table{min-width:auto}.centered-table table{margin-inline:auto}thead{border-bottom:1px solid var(--clr-primary);background-color:var(--clr-primary);color:var(--clr-primary-contrast)}tbody tr:hover{color:var(--clr-primary);background-color:var(--clr-primary-contrast)}.hljs tbody tr:hover{color:inherit;background-color:inherit}td,th{padding:.2em .5em}:root{--fnt-primary: "Open Sans Variable", sans-serif;--fnt-accent: "Oswald Variable", sans-serif;--fnt-code: "Fira Mono", monospace;--fnt-sz--2: clamp(.87rem, calc(1.03rem - .21vw), .99rem);--fnt-sz--1: clamp(1.04rem, calc(1.06rem - .02vw), 1.05rem);--fnt-sz-0: clamp(1.13rem, calc(1.08rem + .22vw), 1.25rem);--fnt-sz-1: clamp(1.2rem, calc(1.1rem + .52vw), 1.5rem);--fnt-sz-2: clamp(1.28rem, calc(1.1rem + .9vw), 1.8rem);--fnt-sz-3: clamp(1.37rem, calc(1.09rem + 1.38vw), 2.16rem);--fnt-sz-4: clamp(1.46rem, calc(1.06rem + 1.97vw), 2.59rem);--fnt-sz-5: clamp(1.56rem, calc(1.01rem + 2.7vw), 3.11rem)}h1,h2,h3,h4,h5,h6{font-family:var(--fnt-accent);line-height:1.1;margin:1.5em 0 0}h1{font-size:var(--fnt-sz-5);color:var(--clr-primary);margin-top:0}h2{font-size:var(--fnt-sz-4);color:var(--clr-primary)}h3{font-size:var(--fnt-sz-3)}h4{font-size:var(--fnt-sz-2)}h5{font-size:var(--fnt-sz-1)}.ah-subtitle{margin-top:0;font-size:var(--fnt-sz-2);color:var(--clr-text-light)}body{font-family:var(--fnt-primary);font-size:var(--fnt-sz-0);font-weight:100;color:var(--clr-text);line-height:1.6}p{text-align:justify}a{color:var(--clr-text);text-decoration-color:var(--clr-text-light);text-decoration-thickness:.125em;text-underline-offset:.25em;word-break:break-word;transition:all .1s ease-in-out;cursor:pointer}a:hover{text-decoration-thickness:.2em;text-underline-offset:.125em}em{color:var(--clr-primary);font-weight:600;font-style:italic}strong{color:var(--clr-primary);font-weight:900}ul,ol{padding-left:1em}li::marker{color:var(--clr-primary);font-weight:700}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}ol ol ol ol{list-style-type:decimal}pre code[class*=language-]{white-space:pre-wrap}:root{--clr-code-background: hsl(230, 1%, 98%)}:not(pre)>code[class*=language-]:not(.hljs),pre[class*=language-]:not(.hljs){border:1px solid hsl(230,1%,90%)}code[class*=language-]:not(.hljs),pre[class*=language-]:not(.hljs){background:hsl(230,1%,98%);color:#383a42;font-family:Fira Code,Fira Mono,Menlo,Consolas,DejaVu Sans Mono,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]:not(.hljs)::-moz-selection,code[class*=language-]:not(.hljs) *::-moz-selection,pre[class*=language-]:not(.hljs) *::-moz-selection{background:hsl(230,1%,90%);color:inherit}code[class*=language-]:not(.hljs)::selection,code[class*=language-]:not(.hljs) *::selection,pre[class*=language-]:not(.hljs) *::selection{background:hsl(230,1%,90%);color:inherit}pre[class*=language-]:not(.hljs){padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-]:not(.hljs){padding:.2em .3em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.cdata{color:#a0a1a7}.token.doctype,.token.punctuation,.token.entity{color:#383a42}.token.attr-name,.token.class-name,.token.boolean,.token.constant,.token.number,.token.atrule{color:#b76b01}.token.keyword{color:#a626a4}.token.property,.token.tag,.token.symbol,.token.deleted,.token.important{color:#e45649}.token.selector,.token.string,.token.char,.token.builtin,.token.inserted,.token.regex,.token.attr-value,.token.attr-value>.token.punctuation{color:#50a14f}.token.variable,.token.operator,.token.function{color:#4078f2}.token.url{color:#0184bc}.token.attr-value>.token.punctuation.attr-equals,.token.special-attr>.token.attr-value>.token.value.css{color:#383a42}.language-css .token.selector{color:#e45649}.language-css .token.property{color:#383a42}.language-css .token.function,.language-css .token.url>.token.function{color:#0184bc}.language-css .token.url>.token.string.url{color:#50a14f}.language-css .token.important,.language-css .token.atrule .token.rule,.language-javascript .token.operator{color:#a626a4}.language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#ca1243}.language-json .token.operator{color:#383a42}.language-json .token.null.keyword{color:#b76b01}.language-markdown .token.url,.language-markdown .token.url>.token.operator,.language-markdown .token.url-reference.url>.token.string{color:#383a42}.language-markdown .token.url>.token.content{color:#4078f2}.language-markdown .token.url>.token.url,.language-markdown .token.url-reference.url{color:#0184bc}.language-markdown .token.blockquote.punctuation,.language-markdown .token.hr.punctuation{color:#a0a1a7;font-style:italic}.language-markdown .token.code-snippet{color:#50a14f}.language-markdown .token.bold .token.content{color:#b76b01}.language-markdown .token.italic .token.content{color:#a626a4}.language-markdown .token.strike .token.content,.language-markdown .token.strike .token.punctuation,.language-markdown .token.list.punctuation,.language-markdown .token.title.important>.token.punctuation{color:#e45649}.token.bold{font-weight:700}.token.comment,.token.italic{font-style:italic}.token.entity{cursor:help}.token.namespace{opacity:.8}.token.token.tab:not(:empty):before,.token.token.cr:before,.token.token.lf:before,.token.token.space:before{color:#383a4233}div.code-toolbar>.toolbar.toolbar>.toolbar-item{margin-right:.4em}div.code-toolbar>.toolbar.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span{background:hsl(230,1%,90%);color:#696c77;padding:.1em .4em;border-radius:.3em}div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:focus{background:hsl(230,1%,78%);color:#383a42}.line-highlight.line-highlight{background:hsla(230,8%,24%,.05)}.line-highlight.line-highlight:before,.line-highlight.line-highlight[data-end]:after{background:hsl(230,1%,90%);color:#383a42;padding:.1em .6em;border-radius:.3em;box-shadow:0 2px #0003}pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:#383a420d}.line-numbers.line-numbers .line-numbers-rows,.command-line .command-line-prompt{border-right-color:#383a4233}.line-numbers .line-numbers-rows>span:before,.command-line .command-line-prompt>span:before{color:#9d9d9f}.rainbow-braces .token.token.punctuation.brace-level-1,.rainbow-braces .token.token.punctuation.brace-level-5,.rainbow-braces .token.token.punctuation.brace-level-9{color:#e45649}.rainbow-braces .token.token.punctuation.brace-level-2,.rainbow-braces .token.token.punctuation.brace-level-6,.rainbow-braces .token.token.punctuation.brace-level-10{color:#50a14f}.rainbow-braces .token.token.punctuation.brace-level-3,.rainbow-braces .token.token.punctuation.brace-level-7,.rainbow-braces .token.token.punctuation.brace-level-11{color:#4078f2}.rainbow-braces .token.token.punctuation.brace-level-4,.rainbow-braces .token.token.punctuation.brace-level-8,.rainbow-braces .token.token.punctuation.brace-level-12{color:#a626a4}pre.diff-highlight>code .token.token.deleted:not(.prefix),pre>code.diff-highlight .token.token.deleted:not(.prefix){background-color:#ff526626}pre.diff-highlight>code .token.token.deleted:not(.prefix)::-moz-selection,pre.diff-highlight>code .token.token.deleted:not(.prefix) *::-moz-selection,pre>code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection,pre>code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection{background-color:#fb566940}pre.diff-highlight>code .token.token.deleted:not(.prefix)::selection,pre.diff-highlight>code .token.token.deleted:not(.prefix) *::selection,pre>code.diff-highlight .token.token.deleted:not(.prefix)::selection,pre>code.diff-highlight .token.token.deleted:not(.prefix) *::selection{background-color:#fb566940}pre.diff-highlight>code .token.token.inserted:not(.prefix),pre>code.diff-highlight .token.token.inserted:not(.prefix){background-color:#1aff5b26}pre.diff-highlight>code .token.token.inserted:not(.prefix)::-moz-selection,pre.diff-highlight>code .token.token.inserted:not(.prefix) *::-moz-selection,pre>code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection,pre>code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection{background-color:#38e06240}pre.diff-highlight>code .token.token.inserted:not(.prefix)::selection,pre.diff-highlight>code .token.token.inserted:not(.prefix) *::selection,pre>code.diff-highlight .token.token.inserted:not(.prefix)::selection,pre>code.diff-highlight .token.token.inserted:not(.prefix) *::selection{background-color:#38e06240}.prism-previewer.prism-previewer:before,.prism-previewer-gradient.prism-previewer-gradient div{border-color:#f2f2f2}.prism-previewer-color.prism-previewer-color:before,.prism-previewer-gradient.prism-previewer-gradient div,.prism-previewer-easing.prism-previewer-easing:before{border-radius:.3em}.prism-previewer.prism-previewer:after{border-top-color:#f2f2f2}.prism-previewer-flipped.prism-previewer-flipped.after{border-bottom-color:#f2f2f2}.prism-previewer-angle.prism-previewer-angle:before,.prism-previewer-time.prism-previewer-time:before,.prism-previewer-easing.prism-previewer-easing{background:hsl(0,0%,100%)}.prism-previewer-angle.prism-previewer-angle circle,.prism-previewer-time.prism-previewer-time circle{stroke:#383a42;stroke-opacity:1}.prism-previewer-easing.prism-previewer-easing circle,.prism-previewer-easing.prism-previewer-easing path,.prism-previewer-easing.prism-previewer-easing line{stroke:#383a42}.prism-previewer-easing.prism-previewer-easing circle{fill:transparent}.dark{--clr-code-background: hsl(220, 13%, 18%)}.dark :not(pre)>code[class*=language-]:not(.hljs),.dark pre[class*=language-]:not(.hljs){border:1px solid hsl(220,13%,5%)}.dark code[class*=language-]:not(.hljs),.dark pre[class*=language-]:not(.hljs){background:hsl(220,13%,18%);color:#abb2bf;text-shadow:0 1px rgba(0,0,0,.3);font-family:Fira Code,Fira Mono,Menlo,Consolas,DejaVu Sans Mono,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.dark code[class*=language-]:not(.hljs)::-moz-selection,.dark code[class*=language-]:not(.hljs) *::-moz-selection,.dark pre[class*=language-]:not(.hljs) *::-moz-selection{background:hsl(220,13%,28%);color:inherit;text-shadow:none}.dark code[class*=language-]:not(.hljs)::selection,.dark code[class*=language-]:not(.hljs) *::selection,.dark pre[class*=language-]:not(.hljs) *::selection{background:hsl(220,13%,28%);color:inherit;text-shadow:none}.dark pre[class*=language-]:not(.hljs){padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}.dark :not(pre)>code[class*=language-]:not(.hljs){padding:.2em .3em;border-radius:.3em;white-space:normal}@media print{.dark code[class*=language-]:not(.hljs),.dark pre[class*=language-]:not(.hljs){text-shadow:none}}.dark .token.comment,.dark .token.prolog,.dark .token.cdata{color:#5c6370}.dark .token.doctype,.dark .token.punctuation,.dark .token.entity{color:#abb2bf}.dark .token.attr-name,.dark .token.class-name,.dark .token.boolean,.dark .token.constant,.dark .token.number,.dark .token.atrule{color:#d19a66}.dark .token.keyword{color:#c678dd}.dark .token.property,.dark .token.tag,.dark .token.symbol,.dark .token.deleted,.dark .token.important{color:#e06c75}.dark .token.selector,.dark .token.string,.dark .token.char,.dark .token.builtin,.dark .token.inserted,.dark .token.regex,.dark .token.attr-value,.dark .token.attr-value>.token.punctuation{color:#98c379}.dark .token.variable,.dark .token.operator,.dark .token.function{color:#61afef}.dark .token.url{color:#56b6c2}.dark .token.attr-value>.token.punctuation.attr-equals,.dark .token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}.dark .language-css .token.selector{color:#e06c75}.dark .language-css .token.property{color:#abb2bf}.dark .language-css .token.function,.dark .language-css .token.url>.token.function{color:#56b6c2}.dark .language-css .token.url>.token.string.url{color:#98c379}.dark .language-css .token.important,.dark .language-css .token.atrule .token.rule,.dark .language-javascript .token.operator{color:#c678dd}.dark .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}.dark .language-json .token.operator{color:#abb2bf}.dark .language-json .token.null.keyword{color:#d19a66}.dark .language-markdown .token.url,.dark .language-markdown .token.url>.token.operator,.dark .language-markdown .token.url-reference.url>.token.string{color:#abb2bf}.dark .language-markdown .token.url>.token.content{color:#61afef}.dark .language-markdown .token.url>.token.url,.dark .language-markdown .token.url-reference.url{color:#56b6c2}.dark .language-markdown .token.blockquote.punctuation,.dark .language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}.dark .language-markdown .token.code-snippet{color:#98c379}.dark .language-markdown .token.bold .token.content{color:#d19a66}.dark .language-markdown .token.italic .token.content{color:#c678dd}.dark .language-markdown .token.strike .token.content,.dark .language-markdown .token.strike .token.punctuation,.dark .language-markdown .token.list.punctuation,.dark .language-markdown .token.title.important>.token.punctuation{color:#e06c75}.dark .token.bold{font-weight:700}.dark .token.comment,.dark .token.italic{font-style:italic}.dark .token.entity{cursor:help}.dark .token.namespace{opacity:.8}.dark .token.token.tab:not(:empty):before,.dark .token.token.cr:before,.dark .token.token.lf:before,.dark .token.token.space:before{color:#abb2bf26;text-shadow:none}.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item{margin-right:.4em}.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item>button,.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item>a,.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item>span{background:hsl(220,13%,26%);color:#828997;padding:.1em .4em;border-radius:.3em}.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:hover,.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:focus,.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:hover,.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:focus,.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:hover,.dark div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:focus{background:hsl(220,13%,28%);color:#abb2bf}.dark .line-highlight.line-highlight{background:hsla(220,100%,80%,.04)}.dark .line-highlight.line-highlight:before,.dark .line-highlight.line-highlight[data-end]:after{background:hsl(220,13%,26%);color:#abb2bf;padding:.1em .6em;border-radius:.3em;box-shadow:0 2px #0003}.dark pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:#99bbff0a}.dark .line-numbers.line-numbers .line-numbers-rows,.dark .command-line .command-line-prompt{border-right-color:#abb2bf26}.dark .line-numbers .line-numbers-rows>span:before,.dark .command-line .command-line-prompt>span:before{color:#636d83}.dark .rainbow-braces .token.token.punctuation.brace-level-1,.dark .rainbow-braces .token.token.punctuation.brace-level-5,.dark .rainbow-braces .token.token.punctuation.brace-level-9{color:#e06c75}.dark .rainbow-braces .token.token.punctuation.brace-level-2,.dark .rainbow-braces .token.token.punctuation.brace-level-6,.dark .rainbow-braces .token.token.punctuation.brace-level-10{color:#98c379}.dark .rainbow-braces .token.token.punctuation.brace-level-3,.dark .rainbow-braces .token.token.punctuation.brace-level-7,.dark .rainbow-braces .token.token.punctuation.brace-level-11{color:#61afef}.dark .rainbow-braces .token.token.punctuation.brace-level-4,.dark .rainbow-braces .token.token.punctuation.brace-level-8,.dark .rainbow-braces .token.token.punctuation.brace-level-12{color:#c678dd}.dark pre.diff-highlight>code .token.token.deleted:not(.prefix),.dark pre>code.diff-highlight .token.token.deleted:not(.prefix){background-color:#ff526626}.dark pre.diff-highlight>code .token.token.deleted:not(.prefix)::-moz-selection,.dark pre.diff-highlight>code .token.token.deleted:not(.prefix) *::-moz-selection,.dark pre>code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection,.dark pre>code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection{background-color:#fb566940}.dark pre.diff-highlight>code .token.token.deleted:not(.prefix)::selection,.dark pre.diff-highlight>code .token.token.deleted:not(.prefix) *::selection,.dark pre>code.diff-highlight .token.token.deleted:not(.prefix)::selection,.dark pre>code.diff-highlight .token.token.deleted:not(.prefix) *::selection{background-color:#fb566940}.dark pre.diff-highlight>code .token.token.inserted:not(.prefix),.dark pre>code.diff-highlight .token.token.inserted:not(.prefix){background-color:#1aff5b26}.dark pre.diff-highlight>code .token.token.inserted:not(.prefix)::-moz-selection,.dark pre.diff-highlight>code .token.token.inserted:not(.prefix) *::-moz-selection,.dark pre>code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection,.dark pre>code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection{background-color:#38e06240}.dark pre.diff-highlight>code .token.token.inserted:not(.prefix)::selection,.dark pre.diff-highlight>code .token.token.inserted:not(.prefix) *::selection,.dark pre>code.diff-highlight .token.token.inserted:not(.prefix)::selection,.dark pre>code.diff-highlight .token.token.inserted:not(.prefix) *::selection{background-color:#38e06240}.dark .prism-previewer.prism-previewer:before,.dark .prism-previewer-gradient.prism-previewer-gradient div{border-color:#262931}.dark .prism-previewer-color.prism-previewer-color:before,.dark .prism-previewer-gradient.prism-previewer-gradient div,.dark .prism-previewer-easing.prism-previewer-easing:before{border-radius:.3em}.dark .prism-previewer.prism-previewer:after{border-top-color:#262931}.dark .prism-previewer-flipped.prism-previewer-flipped.after{border-bottom-color:#262931}.dark .prism-previewer-angle.prism-previewer-angle:before,.dark .prism-previewer-time.prism-previewer-time:before,.dark .prism-previewer-easing.prism-previewer-easing{background:hsl(219,13%,22%)}.dark .prism-previewer-angle.prism-previewer-angle circle,.dark .prism-previewer-time.prism-previewer-time circle{stroke:#abb2bf;stroke-opacity:1}.dark .prism-previewer-easing.prism-previewer-easing circle,.dark .prism-previewer-easing.prism-previewer-easing path,.dark .prism-previewer-easing.prism-previewer-easing line{stroke:#abb2bf}.dark .prism-previewer-easing.prism-previewer-easing circle{fill:transparent}:root{--clr-text: hsl(216, 60%, 5%);--clr-text-light: hsl(231, 47%, 78%);--clr-background: hsl(220, 60%, 99%);--clr-background-secondary: hsl(40, 100%, 90%);--clr-border-secondary: hsl(40, 100%, 67%);--clr-background-disabled: hsl(41, 100%, 80%);--clr-border-disabled: hsl(41, 100%, 50%);--clr-primary: hsl(231, 47%, 38%);--clr-primary-hover: hsl(231, 47%, 58%);--clr-primary-contrast: hsl(231, 47%, 97%);--clr-secondary: hsl(217, 56%, 83%);--clr-secondary-hover: hsl(217, 56%, 93%);--clr-secondary-contrast: hsl(217, 56%, 5%);--clr-accent: hsl(127, 59%, 48%);--clr-accent-hover: hsl(127, 59%, 68%);--clr-accent-contrast: hsl(0, 0%, 100%);--clr-disabled: hsl(0, 0%, 90%);--clr-text-disabled: hsl(0, 0%, 100%);--clr-shadow: hsl(0, 0%, 80%);--clr-success: hsl(145, 63%, 42%);--clr-success-contrast: hsl(145, 63%, 92%);--clr-error: hsl(0, 100%, 50%);--clr-error-contrast: hsl(0, 100%, 90%);--clr-warning: hsl(40, 100%, 50%);--clr-warning-contrast: hsl(40, 100%, 90%);--clr-google: hsl(217, 89%, 61%);--clr-google-hover: hsl(217, 89%, 65%);--clr-google-contrast: hsl(0, 0%, 100%);--clr-github: hsl(0, 0%, 20%);--clr-github-hover: hsl(0, 0%, 30%);--clr-github-contrast: hsl(0, 0%, 100%)}.dark{--clr-text: hsl(216, 60%, 95%);--clr-text-light: hsl(216, 60%, 85%);--clr-background: hsl(220, 60%, 1%);--clr-background-secondary: hsl(233, 8%, 25%);--clr-border-secondary: hsl(233, 8%, 35%);--clr-background-disabled: hsl(233, 8%, 15%);--clr-border-disabled: hsl(233, 8%, 20%);--clr-primary: hsl(231, 47%, 62%);--clr-primary-hover: hsl(231, 47%, 52%);--clr-primary-contrast: hsl(231, 47%, 95%);--clr-secondary: hsl(217, 53%, 30%);--clr-secondary-hover: hsl(217, 53%, 25%);--clr-secondary-contrast: hsl(217, 53%, 87%);--clr-accent: hsl(127, 59%, 52%);--clr-accent-hover: hsl(127, 59%, 42%);--clr-accent-contrast: hsl(127, 59%, 92%);--clr-disabled: hsl(0, 0%, 10%);--clr-text-disabled: hsl(0, 0%, 30%);--clr-shadow: hsl(0, 0%, 50%);--clr-success: hsl(145, 63%, 42%);--clr-success-contrast: hsl(145, 63%, 12%);--clr-error: hsl(0, 100%, 50%);--clr-error-contrast: hsl(0, 100%, 20%);--clr-warning: hsl(40, 100%, 50%);--clr-warning-contrast: hsl(40, 100%, 10%)}.contains-task-list{list-style:none;padding-inline-start:0}.task-list-item:has(>input[type=checkbox]:first-child){position:relative;padding-left:1.5em}.task-list-item:has(>input[type=checkbox]:first-child):before{content:"";position:absolute;top:.3em;left:0;display:inline-block;width:1em;height:1em;border:1px solid var(--clr-primary);border-radius:.2em;background-color:var(--clr-secondary);vertical-align:middle}.task-list-item:has(>input[type=checkbox]:first-child)>input[type=checkbox]:first-child{display:none}.task-list-item:has(>input[type=checkbox]:first-child:checked):after{content:"✓";color:var(--clr-primary);font-size:1.3em;position:absolute;left:0;top:-.3em}@media print{:root{--fnt-sz--1: .77rem;--fnt-sz--1: .87rem;--fnt-sz-0: 1.04rem;--fnt-sz-1: 1.13rem;--fnt-sz-2: 1.2rem;--fnt-sz-3: 1.28rem;--fnt-sz-4: 1.37rem;--fnt-sz-5: 1.46rem;--content-top-padding: .5rem;--content-bottom-padding: 1rem;--default-block-padding: .2em;--default-inline-padding: .4em;--default-top-margin: .5em}.anchor-icon{display:none}@page{margin:15mm}body,.main-content{--header-height: 0}p:not(:first-child),ul:not(:first-child),ol:not(:first-child){margin-top:.5em}h1,h2,h3,h4,h5,h6{page-break-after:avoid;margin:1em 0 0}pre[class*=language-]{padding:.5em!important;margin:.2em 0}code,pre{font-size:var(--fnt-sz--1)}}body{background-color:var(--clr-background)}body ::selection{background-color:#aaa3}main{counter-reset:admonition}summary[data-astro-cid-goi5mcye]{list-style:none}summary[data-astro-cid-goi5mcye]::marker,summary[data-astro-cid-goi5mcye]::-webkit-details-marker{display:none}summary[data-astro-cid-goi5mcye] .item-summary[data-astro-cid-goi5mcye]{display:grid;grid-template-columns:auto min-content;align-items:center;border-radius:.5em;padding:.2em 1rem}summary[data-astro-cid-goi5mcye] .item-summary[data-astro-cid-goi5mcye]:after{content:"▸";display:grid;place-items:center;color:var(--clr-text);transition:transform .1s ease-in-out;transform-origin:center center;cursor:pointer}summary[data-astro-cid-goi5mcye] .item-summary[data-astro-cid-goi5mcye].no-children:after{color:transparent}summary[data-astro-cid-goi5mcye] .item-summary[data-astro-cid-goi5mcye].current{font-weight:700;background-color:var(--clr-secondary);padding-block:.5em}summary[data-astro-cid-goi5mcye] .item-summary[data-astro-cid-goi5mcye].current.with-headings{border-bottom-left-radius:0;border-bottom-right-radius:0}details[data-astro-cid-goi5mcye][open]>summary[data-astro-cid-goi5mcye]>.item-summary[data-astro-cid-goi5mcye]:after{transform:rotate(90deg)}ul[data-astro-cid-goi5mcye]{list-style:none;margin:0 0 .5rem;padding:0 0 0 1rem;height:100%}ul[data-astro-cid-goi5mcye].top-level{overflow-y:auto}ul[data-astro-cid-goi5mcye].headings{list-style:none;background-color:#ddd6;padding:.5rem 1rem;margin-left:0;border-radius:0 0 .5em .5em}ul[data-astro-cid-goi5mcye].headings li[data-astro-cid-goi5mcye]{display:list-item;line-height:1.1;margin-bottom:1em}ul[data-astro-cid-goi5mcye].headings li[data-astro-cid-goi5mcye]::marker{color:var(--clr-text-light)}ul[data-astro-cid-goi5mcye].headings li[data-astro-cid-goi5mcye]:hover{transform:scale(1.01)}ul[data-astro-cid-goi5mcye].headings a[data-astro-cid-goi5mcye]{padding:0}li[data-astro-cid-goi5mcye]{display:flex;flex-direction:column}a[data-astro-cid-goi5mcye]{text-decoration:none;line-height:1.1}a[data-astro-cid-goi5mcye]:hover{transform:scale(1.02)}.heading-1[data-astro-cid-goi5mcye],.heading-2[data-astro-cid-goi5mcye]{margin-left:0}.heading-3[data-astro-cid-goi5mcye]{margin-left:1em}.heading-4[data-astro-cid-goi5mcye]{margin-left:2em}.heading-5[data-astro-cid-goi5mcye]{margin-left:3em}.heading-6[data-astro-cid-goi5mcye]{margin-left:4em}.menu-link[data-astro-cid-yhulwg4v]{text-decoration:none}.user[data-astro-cid-yhulwg4v]{position:relative}.toggle-user-menu-btn[data-astro-cid-yhulwg4v]{display:flex;align-items:center;background:none;border:none;cursor:pointer;padding:0;border-radius:50%}.avatar[data-astro-cid-yhulwg4v]{width:2rem;height:2rem;border-radius:50%}.user-menu-dialog[data-astro-cid-yhulwg4v]{position:absolute;left:-8rem;width:10rem;background-color:inherit;border-radius:.5rem;color:var(--clr-text);font-size:var(--fnt-sz--1);padding:.5em 1em;box-shadow:4px 4px 8px 1px #00000042;border:none}.user-menu-dialog[data-astro-cid-yhulwg4v] .user-name[data-astro-cid-yhulwg4v]{display:block;border-bottom:1px solid var(--clr-text-light);margin-bottom:.5em;font-weight:700}.user-menu-dialog[data-astro-cid-yhulwg4v] .sign-out-btn[data-astro-cid-yhulwg4v]{width:100%;padding:0;text-align:left;background:none;color:inherit;border:none;cursor:pointer}[data-astro-cid-e4mrjnjq]{transition:background-color .2s ease-in-out,color .2s ease-in-out,border-color .2s ease-in-out}button[data-astro-cid-e4mrjnjq]{cursor:pointer}#themeToggle[data-astro-cid-e4mrjnjq]{display:flex;position:relative;grid-template-columns:1fr 1fr;border:1px solid var(--clr-border-secondary);border-radius:.85em;background-color:var(--clr-background-secondary);padding:.1em;isolation:isolate}#themeToggle[data-astro-cid-e4mrjnjq]:before{content:"";position:absolute;left:.1em;background-color:var(--clr-secondary-contrast);width:1.5em;height:1.5em;border-radius:50%;transition:left .2s ease-in-out}svg[data-astro-cid-e4mrjnjq]{z-index:1;padding:.2em}.sun[data-astro-cid-e4mrjnjq]{fill:var(--clr-background-secondary)}.moon[data-astro-cid-e4mrjnjq]{fill:var(--clr-border-secondary)}.dark #themeToggle[data-astro-cid-e4mrjnjq]:before{left:calc(100% - 1.7em)}.dark .sun[data-astro-cid-e4mrjnjq]{fill:var(--clr-border-secondary)}.dark .moon[data-astro-cid-e4mrjnjq]{fill:var(--clr-background-secondary)}.header-container[data-astro-cid-hpospz2y]{display:block;position:fixed;inset:0;z-index:1000;isolation:isolate;pointer-events:none}@media print{.header-container[data-astro-cid-hpospz2y]{display:none}}.main-header[data-astro-cid-hpospz2y]{width:100%;margin:0 auto;background-color:var(--clr-background);display:flex;gap:.5rem;align-items:center;padding:.5rem 2rem;box-shadow:0 0 #0000;transition:box-shadow .2s ease-in-out;pointer-events:auto}@media (max-width: 700px){.main-header[data-astro-cid-hpospz2y]{padding-inline:1rem}}.header-container[data-astro-cid-hpospz2y].scrolled .main-header[data-astro-cid-hpospz2y]{box-shadow:0 2px 4px 0 var(--clr-shadow)}.menu-btn[data-astro-cid-hpospz2y]{background:none;border:none;cursor:pointer;padding:0;margin:0;width:2rem;height:2rem;z-index:100;color:var(--clr-text)}.header-container[data-astro-cid-hpospz2y].opened .menu-btn[data-astro-cid-hpospz2y] svg[data-astro-cid-hpospz2y] path[data-astro-cid-hpospz2y]{d:path("M3.75 6.75h16.5M3.75 12H12m-8.25 5.25h16.5")}.header-container[data-astro-cid-hpospz2y].opened.separate-nav-layer .menu-btn[data-astro-cid-hpospz2y] svg[data-astro-cid-hpospz2y] path[data-astro-cid-hpospz2y]{d:path("M6 18L18 6M6 6l12 12")}.header-container[data-astro-cid-hpospz2y].with-transition svg[data-astro-cid-hpospz2y] path[data-astro-cid-hpospz2y]{transition:.2s}.home-btn[data-astro-cid-hpospz2y]{z-index:1;font-weight:700;text-decoration:none;color:var(--clr-primary)}.right-header[data-astro-cid-hpospz2y]{z-index:1;display:flex;gap:.5em;align-items:center;margin-left:auto}.nav-container[data-astro-cid-hpospz2y]{position:absolute;inset:0;pointer-events:none}.menu-overlay[data-astro-cid-hpospz2y]{background:transparent;pointer-events:auto}.header-container[data-astro-cid-hpospz2y].opened.separate-nav-layer .menu-overlay[data-astro-cid-hpospz2y]{overflow:hidden;background:rgba(51,51,51,.6666666667);position:absolute;inset:0;z-index:98}.header-container[data-astro-cid-hpospz2y].with-transition .menu-overlay[data-astro-cid-hpospz2y]{transition:background-color .2s ease-in-out}nav[data-astro-cid-hpospz2y]{position:absolute;left:calc(var(--nav-menu-width, 100rem) * -1);margin:0;padding:calc(var(--header-height, 3rem) + var(--content-top-padding)) 1rem 1rem .2rem;top:0;bottom:0;font-size:var(--fnt-sz--1);background-color:transparent;width:min(80vw,20rem);pointer-events:auto}.header-container[data-astro-cid-hpospz2y].opened.separate-nav-layer nav[data-astro-cid-hpospz2y]{background-color:var(--clr-background);z-index:99}.header-container[data-astro-cid-hpospz2y].opened nav[data-astro-cid-hpospz2y]{left:0}.header-container[data-astro-cid-hpospz2y].with-transition nav[data-astro-cid-hpospz2y]{transition:left .2s ease-in-out}.breadcrumbs[data-astro-cid-65644h3k]{display:block;margin:0;padding:0;list-style:none;color:var(--clr-text-light);font-weight:400}@media print{.breadcrumbs[data-astro-cid-65644h3k]{display:none}}.breadcrumb[data-astro-cid-65644h3k]{display:inline}.breadcrumb[data-astro-cid-65644h3k]+.breadcrumb[data-astro-cid-65644h3k]{margin-top:0}.breadcrumb[data-astro-cid-65644h3k]+.breadcrumb[data-astro-cid-65644h3k]:before{content:"»";color:inherit;margin:0 .5em;opacity:.5}a[data-astro-cid-65644h3k]{text-decoration:none;color:inherit}a[data-astro-cid-65644h3k]:hover{text-decoration:underline}pre{position:relative}.code-clipboard-btn{--scroll-offset: 0px;background-color:transparent;border:none;position:absolute;top:.5em;right:calc(.2em - var(--scroll-offset, 0));cursor:pointer;opacity:.1}@media print{.code-clipboard-btn{display:none}}.code-clipboard-btn:hover{opacity:1}.code-clipboard-btn img{width:1.5rem;height:1.5rem}.code-clipboard-tooltip{display:none;position:absolute;top:calc(1em + 1.5rem);right:.2em;background-color:#eee;padding:.3em .5em;font-size:1rem;border-radius:.2em}.code-clipboard-tooltip.show{display:block}
