:root{--orbitalwhite: #fafafc;--spaceblack: #1d1d24;--asteroidgray100: #e8edf4;--asteroidgray200: #dcdbe1;--asteroidgray300: #bfbec9;--asteroidgray400: #b2b1be;--asteroidgray500: #93939a;--asteroidgray600: #787881;--asteroidgray700: #606067;--asteroidgray800: #43434e;--cosmicblue400: #e8edf4;--cosmicblue500: #aadaf4;--cosmicblue600: #75c5ed;--cosmicblue700: #4ab7e9;--cosmicblue800: #46a0dc;--deeppurple400: #dcdbe1;--deeppurple500: #b2b1be;--deeppurple600: #867db2;--deeppurple700: #5d5297;--deeppurple800: #322878;--orangerings400: #fde6cd;--orangerings500: #fdbaaa;--orangerings600: #fa987f;--orangerings700: #f67452;--orangerings800: #dc5a32;--yellowmoon400: #fff6ec;--yellowmoon500: #ffe7cc;--yellowmoon600: #fdd27d;--yellowmoon700: #fcc34b;--yellowmoon800: #f0be50}@supports (color: color(display-p3 1 1 1)){:root{--orbitalwhite: color(display-p3 .98 .98 .99);--spaceblack: color(display-p3 .11 .11 .14);--asteroidgray100: color(display-p3 .91 .93 .96);--asteroidgray200: color(display-p3 .86 .86 .88);--asteroidgray300: color(display-p3 .75 .75 .79);--asteroidgray400: color(display-p3 .7 .69 .75);--asteroidgray500: color(display-p3 .58 .58 .6);--asteroidgray600: color(display-p3 .47 .47 .51);--asteroidgray700: color(display-p3 .38 .38 .4);--asteroidgray800: color(display-p3 .26 .26 .31);--cosmicblue400: color(display-p3 .91 .93 .96);--cosmicblue500: color(display-p3 .67 .85 .96);--cosmicblue600: color(display-p3 .46 .77 .93);--cosmicblue700: color(display-p3 .29 .72 .91);--cosmicblue800: color(display-p3 .27 .63 .86);--deeppurple400: color(display-p3 .86 .86 .88);--deeppurple500: color(display-p3 .7 .69 .75);--deeppurple600: color(display-p3 .53 .49 .7);--deeppurple700: color(display-p3 .36 .32 .59);--deeppurple800: color(display-p3 .2 .16 .47);--orangerings400: color(display-p3 .99 .9 .8);--orangerings500: color(display-p3 .99 .73 .67);--orangerings600: color(display-p3 .98 .6 .5);--orangerings700: color(display-p3 .96 .45 .32);--orangerings800: color(display-p3 .86 .35 .2);--yellowmoon400: color(display-p3 1 .96 .93);--yellowmoon500: color(display-p3 1 .91 .8);--yellowmoon600: color(display-p3 .99 .82 .49);--yellowmoon700: color(display-p3 .99 .76 .29);--yellowmoon800: color(display-p3 .94 .75 .31)}}:root{--font-heading: "Merriweather Black", Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;--font-body: "Lato", -apple-system, BlinkMacSystemFont, "avenir next", avenir, "helvetica neue", helvetica, ubuntu, roboto, noto, "segoe ui", arial, sans-serif;--font-code: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;--base-spacing: .75rem;--line-height-heading: calc(4px + 2ex) ;--line-height-body: calc(8px + 2ex) ;--line-height-sm: calc(4px + 2ex) ;--line-height-code: calc(8px + 2ex) ;--color-logo: var(--spaceblack);--color-background: var(--orbitalwhite);--color-background-invert: var(--spaceblack);--color-background-medium: var(--asteroidgray200);--color-background-light: var(--asteroidgray100);--color-primary: var(--cosmicblue800);--color-secondary: var(--deeppurple800);--color-title: var(--spaceblack);--color-text: var(--asteroidgray800);--color-text-supporting: var(--asteroidgray700);--color-text-tertiary: var(--asteroidgray600)}html[theme=dark]{--color-logo: var(--orbitalwhite);--color-background: var(--spaceblack);--color-background-invert: var(--orbitalwhite);--color-background-medium: var(--asteroidgray700);--color-background-light: var(--asteroidgray800);--color-primary: var(--yellowmoon800);--color-secondary: var(--orangerings800);--color-title: var(--orbitalwhite);--color-text: var(--asteroidgray100);--color-text-supporting: var(--asteroidgray200);--color-text-tertiary: var(--asteroidgray300)}html[theme=dark] .shiki,html[theme=dark] .shiki span,html[theme=dark] .astro-code,html[theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@supports (font-size: clamp(1rem,1vw,1rem)){:root{--font-size-xs: clamp(.64rem, -.01vw + .64rem, .63rem);--font-size-sm: clamp(.8rem, .07vw + .78rem, .84rem);--font-size-base: clamp(1rem, .21vw + .95rem, 1.13rem);--font-size-md: clamp(1.25rem, .42vw + 1.14rem, 1.5rem);--font-size-lg: clamp(1.56rem, .74vw + 1.38rem, 2rem);--font-size-xl: clamp(1.95rem, 1.2vw + 1.65rem, 2.66rem);--font-size-xxl: clamp(2.44rem, 1.87vw + 1.97rem, 3.55rem)}}@supports not (font-size: clamp(1rem,1vw,1rem)){:root{--font-size-xs: .64rem;--font-size-sm: .8rem;--font-size-base: 1rem;--font-size-md: 1.25rem;--font-size-lg: 1.56rem;--font-size-xl: 1.95rem;--font-size-xxl: 2.44rem}@media screen and (min-width: 1350px){:root{--font-size-xs: .63rem;--font-size-sm: .84rem;--font-size-base: 1.13rem;--font-size-md: 1.5rem;--font-size-lg: 2rem;--font-size-xl: 2.66rem;--font-size-xxl: 3.55rem}}}@font-face{font-family:Merriweather Black;src:url(/fonts/Merriweather-Black.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-v24-latin-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-v24-latin-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}*{box-sizing:border-box}html,body{font-size:16px;font-family:var(--font-body);line-height:var(--line-height-body);background-color:var(--color-background);color:var(--color-text);margin:0;padding:0;width:100%;min-height:100%}@media (min-width: 960px){html,body{scrollbar-gutter:stable}}body{--max-body-width: 40rem;--padding: calc(var(--base-spacing) * 2);--padding-top: calc(var(--base-spacing) * 4);--gap: var(--padding);padding:var(--padding-top) var(--padding) var(--padding) var(--padding);gap:var(--gap);display:grid;grid-template-columns:minmax(auto,var(--max-body-width));justify-content:center;align-items:start}pre{font-family:var(--font-code);font-size:var(--font-size-sm);line-height:var(--line-height-code)}code{font-family:var(--font-code)}pre{--border-radius: 5px !important;padding:calc(var(--base-spacing) / 2) var(--base-spacing);border-radius:var(--border-radius);scrollbar-color:var(--color-text-tertiary) transparent;scrollbar-width:thin;overflow-x:scroll}pre::-webkit-scrollbar-thumb{background-color:var(--color-text-tertiary);border-radius:calc(var(--border-radius) - 1px)}pre::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary)}pre::-webkit-scrollbar-track{background-color:transparent}pre::-webkit-scrollbar-corner{background-color:transparent;border-color:transparent}pre::-webkit-scrollbar{background-color:transparent;height:calc(var(--base-spacing) / 2)}img{--scale: 1;max-width:calc(100% * var(--scale));height:auto;display:block;margin:calc(var(--base-spacing) * 2) auto}p,pre,ul,ol{margin-top:calc(var(--base-spacing) * 2);margin-bottom:calc(var(--base-spacing) * 2)}h1,h2,h3,h4{color:var(--color-title);font-family:var(--font-heading);font-weight:700;text-wrap:balance;margin-top:1.25lh;margin-bottom:var(--base-spacing);position:relative}h1{margin-top:0}h1{font-size:var(--font-size-xxl);line-height:var(--line-height-heading)}h2{font-size:var(--font-size-xl);line-height:var(--line-height-heading)}h3{font-size:var(--font-size-lg);line-height:var(--line-height-heading)}h4{font-size:var(--font-size-md);line-height:var(--line-height-heading)}p{font-size:var(--font-size-base);line-height:var(--line-height-body)}aside{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-supporting)}a{position:relative;display:inline;color:var(--color-primary);text-decoration:none;--bg-h: 2px;padding-bottom:var(--bg-h);background:linear-gradient(45deg,var(--color-secondary) 10%,var(--color-primary)) no-repeat right bottom / 0 var(--bg-h);transition:background-size .25s ease-in-out,color .25s ease-in-out}a:hover,a:focus-visible{color:var(--color-secondary);background-size:100% var(--bg-h);background-position-x:left}.heading-with-anchor:hover .heading-anchor{opacity:1}.heading-anchor{opacity:.5;position:absolute;font-size:1em;left:-1em;transition:opacity .2s ease-in-out;color:var(--color-background-medium)}.heading-anchor:hover{color:var(--color-primary);background:none}h1 .heading-anchor{display:none}ul,ol{margin-left:var(--base-spacing);padding-left:var(--base-spacing)}ul{list-style-type:square}ol{list-style-type:decimal}li{margin-bottom:var(--base-spacing);font-size:var(--font-size-base);line-height:var(--line-height-body)}li ul,li ol{margin-top:calc(var(--base-spacing) / 2);margin-bottom:calc(var(--base-spacing) / 2)}hr{width:100%;height:1px;border:none;background-color:var(--color-text-tertiary)}small{font-size:var(--font-size-sm);line-height:var(--line-height-body)}blockquote{margin:0 0 calc(var(--base-spacing) * 2) 0;padding:var(--base-spacing);border-radius:5px;background-color:var(--color-background-light);border:1px solid var(--color-background-medium)}[data-callout] .callout-title{font-family:var(--font-heading);color:var(--color-text-supporting);letter-spacing:.02em;display:flex;align-items:center;gap:var(--base-spacing);margin-bottom:calc(var(--base-spacing) / 2)}[data-callout] .callout-title-icon svg{width:20px;height:20px;vertical-align:text-bottom}blockquote p{margin:0}.disclaimer p{font-size:var(--font-size-sm);line-height:var(--line-height-body);font-style:italic;color:var(--color-text-supporting);padding:calc(var(--base-spacing) / 2) var(--base-spacing);border-radius:5px;background-color:var(--color-background-light);border:1px solid var(--color-background-medium)}button#color-scheme-toggle{position:absolute;top:1rem;right:1rem;cursor:pointer;display:flex;align-items:center;justify-items:center;z-index:1000;font-size:var(--font-size-md);padding:calc(var(--base-spacing) * .75);border-radius:var(--base-spacing);color:var(--color-primary);background-color:var(--color-background-light);border:0px solid transparent;transition:background-color .25s ease-in-out,color .25s ease-in-out}p{text-align:justify;text-justify:auto;text-wrap:pretty;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:6 3 3;-webkit-hyphenate-limit-lines:2;-webkit-hyphenate-limit-last:always;-webkit-hyphenate-limit-zone:8%;-moz-hyphens:auto;-moz-hyphenate-limit-chars:6 3 3;-moz-hyphenate-limit-lines:2;-moz-hyphenate-limit-last:always;-moz-hyphenate-limit-zone:8%;-ms-hyphens:auto;-ms-hyphenate-limit-chars:6 3 3;-ms-hyphenate-limit-lines:2;-ms-hyphenate-limit-last:always;-ms-hyphenate-limit-zone:8%;hyphens:auto;hyphenate-limit-chars:6 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:8%}main{position:relative;min-width:0}.sidenote-wrapper{user-select:none}.sidenote-checkbox{display:none}.sidenote-label{display:inline;user-select:none;font-family:var(--font-code);font-size:var(--font-size-sm);font-weight:400;line-height:var(--line-height-body);vertical-align:super;padding:0 .25rem;margin:0 .2rem;background-color:var(--color-background-light);border-radius:.2rem}.sidenote{font-family:var(--font-body);font-size:var(--font-size-sm);line-height:var(--line-height-body);font-weight:400;vertical-align:baseline;font-style:normal;position:relative}.sidenote-counter{margin-right:calc(var(--base-spacing) / 2);font-family:var(--font-code);font-size:var(--font-size-sm);line-height:var(--line-height-body);vertical-align:middle;padding:0 .25rem;background-color:var(--color-background-light);border-radius:.2rem}@media (max-width: 960px){.heading-anchor{display:none}.sidenote-label{cursor:pointer}.sidenote{display:none}.sidenote-checkbox:checked~.sidenote-label{color:var(--color-secondary);background-color:var(--color-primary)}.sidenote-checkbox:checked~.sidenote{display:block;float:left;clear:both;margin:var(--base-spacing)}}@media (min-width: 960px){button#color-scheme-toggle{position:fixed}body{--padding: calc(var(--base-spacing) * 4);--sidebar: 12rem;grid-template-columns:var(--max-body-width) var(--sidebar);justify-content:center}.sidenote{display:inline-block;position:absolute;left:calc(var(--max-body-width) + var(--gap));width:var(--sidebar);text-align:left;background-color:var(--color-background)}}@media (min-width: 1350px){body{--sidebar: 14.75rem}}@media (min-width: 1600px){body{--sidebar: 14.75rem;--gap: calc(var(--padding) * 2)}}
