*:where(:not(html,iframe,canvas,img,svg,video,audio,pre,code):not(svg *,symbol *)){all:unset;display:revert}*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}a,button{cursor:revert}ol,ul,menu,summary{list-style:none}img{max-inline-size:100%;max-block-size:100%}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}:where(pre){all:revert;box-sizing:border-box}::placeholder{color:unset}::marker{content:initial}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable=true]){-webkit-user-drag:element}:where(dialog:modal){all:revert;box-sizing:border-box}pre,code{margin:0}::-webkit-details-marker{display:none}@font-face{font-family:figtree variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/figtree:vf@latest/latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:google sans code variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(https://cdn.jsdelivr.net/fontsource/fonts/google-sans-code:vf@latest/latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Figtree Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:"Google Sans Code Variable", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
        "Liberation Mono", "Courier New", monospace;--font-brand:"Figtree Variable", ui-sans-serif, system-ui, "Arial", serif;--color:#222;--color-fade:#555;--color-nav:#333;--background:#f8f9f9;--background-grey:#e9ecec;--background-grey-embed:#dde3e3;--foreground:#e0f7f7;--foreground-hover:#b2dfdf;--foreground-highlight:#1de9b6;--color-highlight:#00695c;--model-background:#f8f9f9;--model-foreground:#e0f7f7;--model-box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.1);--padding:12px;--padding_d2:6px;--padding_x2:24px;--model-blur:10px;--border:#b2dfdf;--border-nav:#80cbc4;--radius:16px;--anchor:#009688;--hover:#26a69a;--chroma-base00:#e9ecec;--chroma-base01:#e0e0e0;--chroma-base02:rgba(159, 218, 159, 0.2);--chroma-base03:#8e908c;--chroma-base04:#969896;--chroma-base05:#4d4d4c;--chroma-base06:#282a2e;--chroma-base07:#1d1f21;--chroma-base08:#c82829;--chroma-base09:#f5871f;--chroma-base0A:#eab700;--chroma-base0B:#718c00;--chroma-base0C:#3e999f;--chroma-base0D:#4271ae;--chroma-base0E:#8959a8;--chroma-base0F:#a3685a;--callout-info-backgound:#954ce3;--callout-info-foreground:rgba(0, 0, 0, 0.08);--callout-info-color:#ffffff;--callout-info-anchor:#d2aefc;--callout-info-anchor-text-shadow:0.4px 0 0.8px black}:root[data-color=dark]{--color:#e0f2f1;--color-fade:#b2dfdb;--color-nav:#b2dfdb;--background:#1a2323;--background-grey:#223232;--background-grey-embed:#294040;--foreground:#263d3d;--foreground-hover:#355959;--model-background:#1a2323;--model-foreground:#223232;--model-box-shadow:0 8px 32px 0 rgba(0, 150, 136, 0.1);--border:#355959;--border-nav:#26a69a;--anchor:#1de9b6;--hover:#00bfae;--chroma-base00:var(--background-grey);--chroma-base01:#393939;--chroma-base02:rgba(159, 218, 159, 0.1);--chroma-base03:#999999;--chroma-base04:#b4b7b4;--chroma-base05:#cccccc;--chroma-base06:#e0e0e0;--chroma-base07:#ffffff;--chroma-base08:#f2777a;--chroma-base09:#f99157;--chroma-base0A:#ffcc66;--chroma-base0B:#99cc99;--chroma-base0C:#66cccc;--chroma-base0D:#6699cc;--chroma-base0E:#cc99cc;--chroma-base0F:#a3685a}.site-logo{text-transform:uppercase;font-family:var(--font-brand);font-size:1.5em;color:transparent;-webkit-text-stroke:.5px var(--border);background:0 0;letter-spacing:3px;background:linear-gradient(45deg,#009688,#26a69a,#b2dfdb,#e0f2f1,#00695c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.btn{display:flex;padding:var(--padding_d2);background:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);gap:var(--padding_d2);cursor:pointer;color:var(--color-nav)}.btn:hover{background:var(--foreground-hover)}html{scroll-behavior:smooth;scroll-padding:2em}body{display:flex;flex-direction:column;height:100%;color:var(--color);background:var(--background);font-family:var(--font-sans)}#outer-wrapper{display:flex}#aside-wrapper{width:85%;left:-85%;display:none;overflow-x:auto}#aside-wrapper>aside>div{display:flex;padding:var(--padding);justify-content:flex-end}#aside-wrapper>aside>a{display:none}#content-wrapper{display:flex;flex:1;flex-direction:column;min-height:100svh}main{display:flex;flex-direction:column;flex:1;width:100svw}#aside-wrapper.open{display:flex;flex-direction:column;position:fixed;top:0;height:100%;z-index:10;transition:.3s;animation:slide-in-left .3s forwards;background:var(--model-background);box-shadow:var(--model-box-shadow)}@keyframes slide-in-left{from{transform:translateX(0)}to{transform:translateX(100%)}}#content-wrapper>header{border-bottom:1px solid var(--border)}#content-wrapper>header>a{display:inline-block;padding:var(--padding)}#content-wrapper>footer{display:flex;flex-direction:column;padding:var(--padding_x2)var(--padding)0}#content-wrapper>footer>div{display:flex;align-items:center;justify-content:center;padding:var(--padding);gap:var(--padding_d2);text-align:center;flex-wrap:wrap}#content-wrapper>footer>div:first-child{white-space:initial}#content-wrapper>footer>div:first-child a{font-weight:500;color:var(--anchor);cursor:pointer}#content-wrapper>footer>div:first-child a:hover{font-weight:500;color:var(--hover);cursor:pointer;text-decoration:underline}#content-wrapper>footer>div:nth-child(2){justify-content:flex-end}main>article{display:flex;flex:1;flex-direction:column}main>article>nav{display:flex;padding:var(--padding_x2)var(--padding)var(--padding);gap:12px;justify-content:space-between}main>article>header{padding:var(--padding)var(--padding_x2)}#article-body{display:flex;flex-direction:column;flex:1;padding:var(--padding)var(--padding_x2);overflow-x:auto}main>article>footer{display:grid;grid-template-columns:repeat(2,1fr);padding:0 var(--padding_x2);row-gap:var(--padding)}main>article>footer>time{grid-column:1/3;display:flex;color:var(--color-fade);justify-content:center;padding:var(--padding)0;gap:var(--padding_d2)}main>article>footer>a{display:flex;padding:var(--padding);gap:calc(var(--padding)/4);background:var(--foreground);color:var(--color-nav);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:75%}main>article>footer>a:hover{background:var(--foreground-hover)}main>article>footer>a.hidden{visibility:hidden}main>article>footer>a:last-child{display:flex;justify-content:end;margin-left:25%}main>aside{width:85%;right:-85%;display:none;overflow-x:auto}main>aside.open{display:flex;flex-direction:column;position:fixed;top:0;height:100%;z-index:10;transition:.3s;animation:slide-in-right .3s forwards;background:var(--model-background);box-shadow:var(--model-box-shadow)}#aside-wrapper{position:sticky;top:0}#aside-wrapper>aside>nav{padding:0 var(--padding)}#aside-wrapper>aside>nav ul,#aside-wrapper>aside>nav .sidebar-pages{list-style:none;margin:0;padding:0;font-size:.95em}#aside-wrapper>aside>nav .sidebar-pages>li,#aside-wrapper>aside>nav details>ul>li{margin:0 var(--padding_d2);border-left:1px solid var(--border-nav)}#aside-wrapper>aside>nav .sidebar-pages>li>a,#aside-wrapper>aside>nav details>ul>li>a{font-size:1em;color:var(--color-nav);display:flex;align-items:center;cursor:pointer;padding:var(--padding_d2);border-radius:0 var(--radius)var(--radius)0;transition:background .15s,color .15s;position:relative;font-weight:400}#aside-wrapper>aside>nav .sidebar-pages>li>a::before,#aside-wrapper>aside>nav details>ul>li>a::before{content:"";display:inline-block;background:var(--background);width:var(--padding_d2);height:var(--padding_d2);transform:rotate(45deg);border:1px solid var(--border-nav);margin-right:var(--padding_d2);border-radius:3px}#aside-wrapper>aside>nav .sidebar-pages>li>a.active,#aside-wrapper>aside>nav details>ul>li>a.active{font-weight:500;font-size:1em;background:var(--foreground-highlight);color:var(--color-highlight)}#aside-wrapper>aside>nav .sidebar-pages>li>a.active::before,#aside-wrapper>aside>nav details>ul>li>a.active::before{background:var(--foreground-highlight);border-color:var(--foreground-highlight)}#aside-wrapper>aside>nav .sidebar-pages>li>a:hover:not(.active),#aside-wrapper>aside>nav details>ul>li>a:hover:not(.active){background:var(--foreground-hover);color:var(--color-highlight)}#aside-wrapper>aside>nav>details>summary{display:flex;padding:var(--padding)0 var(--padding_d2);color:var(--color-fade);cursor:pointer;background:0 0;border:none;outline:none;font-weight:500;font-size:1.05em}#aside-wrapper>aside>nav .sidebar-pages{margin-bottom:var(--padding)}main>aside>div{display:flex;padding:var(--padding)}main>aside>strong{display:flex;padding:var(--padding);color:var(--color-fade);font-weight:700}main>aside>nav{padding:0 var(--padding)}#TableOfContents ul{border-left:1px solid var(--border)}#TableOfContents a{color:var(--color-nav);display:inline-block;cursor:pointer;padding:var(--padding_d2)}#TableOfContents a code{padding:calc(var(--padding)/3.7);border-radius:var(--radius);font-size:.9em}#TableOfContents ul a::before{content:"";display:inline-block;width:calc(var(--padding)/1.5);height:calc(var(--padding)/1.5);background:var(--background);border:1px solid var(--border-nav);position:relative;left:calc((var(--padding) * -.89));top:-3px;border-radius:30%;transform:rotate(45deg)}#TableOfContents a.active{background:var(--foreground-highlight);color:var(--color-highlight);border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}#TableOfContents ul a.active::before{background:var(--background)}#TableOfContents a:hover:not(.active){background:var(--foreground-hover);border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}#TableOfContents ul ul{margin-left:calc(var(--padding) * 1.75)}@keyframes slide-in-right{from{transform:translateX(0)}to{transform:translateX(-100%)}}body.model-open{overflow:hidden}#body-model-outer{display:none;content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:5;background:var(--model-foreground);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#aside-wrapper>aside>div .btn,main>aside>div>.btn{font-size:.75em;font-weight:800}@media(min-width:768px){main>article>footer>a{width:50%}main>article>footer>a:last-child{margin-left:50%}}@media(min-width:768px) and (max-width:1023px){#aside-wrapper{width:50%;left:-50%}main>aside{width:50%;right:-50%}}@media(min-width:1024px){:root{--padding:16px;--padding_d2:8px;--padding_x2:32px}main{flex-direction:row}main>article{width:75vw;overflow-x:auto}main>aside{width:25%;display:flex;flex-direction:column;position:sticky;top:0;height:calc(100svh - 68px);overflow-x:auto}main>aside>div{display:none}main>article>nav>button:last-child{display:none}#content-wrapper>footer{padding:var(--padding)var(--padding)0;flex-direction:row}#content-wrapper>footer>div:first-child{width:75vw}#content-wrapper>footer>div:nth-child(2){width:25%}}@media(min-width:1024px) and (max-width:1279px){#aside-wrapper{width:33%;left:-33%}}@media(min-width:1280px){#aside-wrapper{width:20%;display:flex;flex-direction:column;height:100svh;background:var(--foreground);border-right:1px solid var(--border);overflow-x:auto}#aside-wrapper>aside>div{display:none}#aside-wrapper>aside>nav{overflow-x:auto}#content-wrapper>header{display:none}#aside-wrapper>aside>a{display:flex;padding:var(--padding_x2)var(--padding)}main{width:80svw;padding:0 var(--padding_x2)}main>article{width:60vw;overflow-x:auto}main>article>nav{display:none}main>aside{width:25%}main>article>header{padding:var(--padding_x2)var(--padding_x2)var(--padding)}main>article>header>span{display:block;color:var(--color-fade);padding:1.2em 0}#content-wrapper>footer>div:first-child{width:60vw}#content-wrapper>footer>div:nth-child(2){width:25%}}main>article>header>h1{font-size:3em;font-weight:600}main>article>header>p{font-size:1.25em;color:var(--color-fade);padding-top:var(--padding)}#article-body h1,#article-body h2,#article-body h3,#article-body h4,#article-body h5,#article-body h6{line-height:1em;font-weight:400;margin:2.6em 0 .1em;color:var(--color)}#article-body h1{font-size:1.8em}#article-body h2{font-size:1.5em}#article-body h3{font-size:1.3em}#article-body h4{font-size:1.1em}#article-body h2:first-child{margin-top:.6em}#article-body .highlight,#article-body blockquote,#article-body dl,#article-body iframe,#article-body ol,#article-body p,#article-body table,#article-body ul{margin-top:1em;line-height:1.8rem;letter-spacing:-.1px}#article-body blockquote p{margin:1em 0}#article-body blockquote dl,#article-body blockquote ol,#article-body blockquote ul{margin:0 1em 1em}#article-body a{color:var(--anchor);text-decoration:none}#article-body a:hover{color:var(--hover);text-decoration:underline}#article-body strong,#article-body b,#article-body table th{font-weight:600}#article-body em{font-style:italic}#article-body dl,#article-body ol,#article-body ul{margin-left:20px}#article-body dl dl,#article-body dl ol,#article-body dl ul,#article-body ol dl,#article-body ol ol,#article-body ol ul,#article-body ul dl,#article-body ul ol,#article-body ul ul{margin-top:0;margin-bottom:0}#article-body ul{list-style:disc}#article-body ol{list-style:decimal}#article-body dl{list-style:square}#article-body li>ul{list-style:circle}#article-body li>ol{list-style:lower-alpha}#article-body li p{margin:0}#article-body li .highlight,#article-body li blockquote,#article-body li iframe,#article-body li table{margin:1em 0}#article-body img,#article-body video{max-width:100%;border-radius:4px}#article-body hr:before{display:block;text-align:center;content:"∙ ∙ ∙";color:var(--color-fade);letter-spacing:.6em;top:calc(var(--padding)/3.7);margin:2.6em 0 1em}#article-body blockquote{padding:8px 12px;position:relative;background:var(--background-grey);border-left-width:5px;border-radius:6px}#article-body blockquote footer{margin:1em 0;font-style:italic}#article-body blockquote footer cite:before{content:"—";padding:0 .3em}#article-body blockquote footer cite a{color:var(--border)}#article-body code,#article-body pre{font-family:var(--font-mono)}#article-body h1 code,#article-body h2 code,#article-body h3 code,#article-body h4 code,#article-body h5 code,#article-body h6 code,#article-body p code,#article-body blockquote code,#article-body ul code,#article-body ol code,#article-body dl code,#article-body table code{background:var(--background-grey);padding:calc(var(--padding)/3.7);border-radius:var(--radius);font-size:.9em}#article-body blockquote code{background:var(--background-grey-embed)}#article-body pre:not(.chroma){color:var(--chroma-base05);font-size:.9em;line-height:1.8;letter-spacing:-.1px;background-color:var(--chroma-base00);border-radius:6px;padding:16px 24px;overflow-x:auto;margin-top:1em}#article-body blockquote .chroma,#article-body blockquote pre:not(.chroma){background:var(--foreground-hover);margin-bottom:1em}#article-body blockquote .chroma code,#article-body blockquote pre:not(.chroma) code{padding:0}#article-body table{max-width:100%;border-radius:var(--radius);box-shadow:0 0 0 1px var(--border)}#article-body table thead th:first-child{border-top-left-radius:var(--radius)}#article-body table thead th:last-child{border-top-right-radius:var(--radius)}#article-body table tbody tr:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}#article-body table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius)}#article-body table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius)}#article-body table td,#article-body table th{padding:5px 15px}#article-body table tr:nth-child(2n){background:var(--background-grey)}#article-body table thead tr{background:var(--background-grey-embed)}.chroma{font-size:.9em;color:var(--chroma-base05);background-color:var(--chroma-base00);border-radius:6px;padding:16px 24px;overflow-x:auto}.chroma .x{color:var(--chroma-base05)}.chroma .err{color:var(--chroma-base08)}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:var(--chroma-base02)}.chroma .lnt{margin-right:.4em;padding:0 .4em}.chroma .ln{margin-right:.4em;padding:0 .4em;border-right:1px solid var(--chroma-base0A)}.chroma .line{display:flex}.chroma .k{color:var(--chroma-base0E)}.chroma .kc{color:var(--chroma-base0E)}.chroma .kd{color:var(--chroma-base0E)}.chroma .kn{color:var(--chroma-base0E)}.chroma .kp{color:var(--chroma-base0D)}.chroma .kr{color:var(--chroma-base0E)}.chroma .kt{color:var(--chroma-base0E)}.chroma .n{color:var(--chroma-base05)}.chroma .na{color:var(--chroma-base05)}.chroma .nb{color:var(--chroma-base0D)}.chroma .bp{color:var(--chroma-base0D)}.chroma .nc{color:var(--chroma-base0A)}.chroma .no{color:var(--chroma-base09)}.chroma .nd{color:var(--chroma-base09)}.chroma .ni{color:var(--chroma-base0A)}.chroma .ne{color:var(--chroma-base0A)}.chroma .nf{color:var(--chroma-base05)}.chroma .fm{color:var(--chroma-base05)}.chroma .nl{color:var(--chroma-base08)}.chroma .nn{color:var(--chroma-base0A)}.chroma .nx{color:var(--chroma-base0D)}.chroma .py{color:var(--chroma-base08)}.chroma .nt{color:var(--chroma-base0D)}.chroma .nv{color:var(--chroma-base0D)}.chroma .vc{color:var(--chroma-base0D)}.chroma .vg{color:var(--chroma-base0D)}.chroma .vi{color:var(--chroma-base08)}.chroma .vm{color:var(--chroma-base0D)}.chroma .l{color:var(--chroma-base0B)}.chroma .ld{color:var(--chroma-base0B)}.chroma .s{color:var(--chroma-base0B)}.chroma .sa{color:var(--chroma-base0B)}.chroma .sb{color:var(--chroma-base0B)}.chroma .sc{color:var(--chroma-base0B)}.chroma .dl{color:var(--chroma-base0F)}.chroma .sd{color:var(--chroma-base03)}.chroma .s2{color:var(--chroma-base0B)}.chroma .se{color:var(--chroma-base0C)}.chroma .sh{color:var(--chroma-base0B)}.chroma .si{color:var(--chroma-base0F)}.chroma .sx{color:var(--chroma-base0B)}.chroma .sr{color:var(--chroma-base0C)}.chroma .s1{color:var(--chroma-base0B)}.chroma .ss{color:var(--chroma-base0B)}.chroma .m{color:var(--chroma-base09)}.chroma .mb{color:var(--chroma-base09)}.chroma .mf{color:var(--chroma-base09)}.chroma .mh{color:var(--chroma-base09)}.chroma .mi{color:var(--chroma-base09)}.chroma .il{color:var(--chroma-base09)}.chroma .mo{color:var(--chroma-base09)}.chroma .o{color:var(--chroma-base05)}.chroma .ow{color:var(--chroma-base05)}.chroma .p{color:var(--chroma-base05)}.chroma .c{color:var(--chroma-base03)}.chroma .ch{color:var(--chroma-base03)}.chroma .cm{color:var(--chroma-base03)}.chroma .c1{color:var(--chroma-base03)}.chroma .cs{color:var(--chroma-base03)}.chroma .cp{color:var(--chroma-base0F)}.chroma .cpf{color:var(--chroma-base0B)}.chroma .g{color:var(--chroma-base05)}.chroma .gd{color:var(--chroma-base08)}.chroma .ge{color:var(--chroma-base05);font-style:italic}.chroma .gr{color:var(--chroma-base05)}.chroma .gh{color:var(--chroma-base0D)}.chroma .gi{color:var(--chroma-base0B)}.chroma .go{color:var(--chroma-base05)}.chroma .gp{color:var(--chroma-base05)}.chroma .gs{color:var(--chroma-base05);font-weight:700}.chroma .gu{color:var(--chroma-base0D)}.chroma .gt{color:var(--chroma-base05)}.chroma .gl{color:var(--chroma-base05);text-decoration:underline}.chroma .w{color:var(--chroma-base00)}#article-body blockquote.info{border:none;background:var(--callout-info-backgound);color:var(--callout-info-color)}#article-body blockquote.info>p{display:flex;gap:var(--padding_d2)}#article-body blockquote.info>p:first-child>strong:first-child{font-size:2.5em}#article-body blockquote.info li{margin:0 var(--padding_d2)}#article-body blockquote.info code{background:var(--callout-info-foreground)}#article-body blockquote.info a{color:var(--callout-info-anchor);text-shadow:var(--callout-info-anchor-text-shadow)}