:root{--lch-black: 0% 0 0;--lch-white: 100% 0 0;--lch-always-black: 0% 0 0;--lch-always-white: 100% 0 0;--lch-red: 51% .2 31;--lch-green: 65.59% .234 142.49;--color-negative: oklch(var(--lch-red));--color-positive: oklch(var(--lch-green));--color-always-black: oklch(var(--lch-always-black));--color-always-white: oklch(var(--lch-always-white));--color-marker: #2da530;--color-highlight: #f3e7b3;--color-bg: #f6f7f9;--color-heading: #1c1e26;--color-body: #3e4554;--color-ink: var(--color-heading);--color-ink-reversed: #f6f7f9;--color-nav: #3a4150;--color-nav-active: #e6e8ee;--color-line: #e1e3ea;--color-link: var(--color-body);--color-subtle-light: #eceef3;--color-subtle: #e1e3ea;--color-subtle-dark: #6b7280;--color-selected: #e6e8ee;--color-selected-dark: #c5cad6}@media(prefers-color-scheme:dark){:root{--lch-black: 100% 0 0;--lch-white: 0% 0 0;--lch-red: 73.8% .184 29.18;--lch-green: 75% .21 141.89;--color-bg: #1c1e26;--color-heading: #f4f5f8;--color-body: #aeb4c4;--color-ink-reversed: #1c1e26;--color-nav: #c8ccd8;--color-nav-active: #2a2d3a;--color-line: #2e3140;--color-subtle-light: #262938;--color-subtle: #2e3140;--color-subtle-dark: #8b93a7;--color-selected: #2a2d3a;--color-selected-dark: #3a3f52;--color-highlight: #3a3424}}:root[data-theme=dark]{--lch-black: 100% 0 0;--lch-white: 0% 0 0;--lch-red: 73.8% .184 29.18;--lch-green: 75% .21 141.89;--color-bg: #1c1e26;--color-heading: #f4f5f8;--color-body: #aeb4c4;--color-ink-reversed: #1c1e26;--color-nav: #c8ccd8;--color-nav-active: #2a2d3a;--color-line: #2e3140;--color-subtle-light: #262938;--color-subtle: #2e3140;--color-subtle-dark: #8b93a7;--color-selected: #2a2d3a;--color-selected-dark: #3a3f52;--color-highlight: #3a3424}:root[data-theme=light]{--lch-black: 0% 0 0;--lch-white: 100% 0 0;--lch-red: 51% .2 31;--lch-green: 65.59% .234 142.49;--color-bg: #f6f7f9;--color-heading: #1c1e26;--color-body: #3e4554;--color-ink-reversed: #f6f7f9;--color-nav: #3a4150;--color-nav-active: #e6e8ee;--color-line: #e1e3ea;--color-subtle-light: #eceef3;--color-subtle: #e1e3ea;--color-subtle-dark: #6b7280;--color-selected: #e6e8ee;--color-selected-dark: #c5cad6;--color-highlight: #f3e7b3}.colorize--white{filter:invert(1);@media(prefers-color-scheme:dark){filter:invert(0)}:root[data-theme=dark] &{filter:invert(0)}:root[data-theme=light] &{filter:invert(1)}}.colorize--black{filter:invert(0);@media(prefers-color-scheme:dark){filter:invert(1)}:root[data-theme=dark] &{filter:invert(1)}:root[data-theme=light] &{filter:invert(0)}}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6{margin:0}p,li,h1,h2,h3,h4{word-break:break-word}html,body{overflow-x:clip}html{scroll-behavior:smooth}body{min-height:100dvh;font-size:100%;line-height:1.5;text-rendering:optimizeSpeed}img{display:block;max-inline-size:100%}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:initial}}html,body{--font-sans: system-ui;--font-serif: ui-serif, serif;--font-mono: ui-monospace, monospace;--hover-color: var(--color-subtle-dark);--hover-size: .15rem;--hover-filter: brightness(1);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:none;background:var(--color-bg);color:var(--color-body);font-family:var(--font-sans);line-height:1.5;text-rendering:optimizeLegibility;text-size-adjust:none}a:not([class]){--hover-size: 0;color:inherit;text-decoration:underline;text-decoration-skip-ink:auto;text-underline-offset:.18em}:is(a,button,input,textarea,.switch,.toc,.toc__title){--outline-size: max(2px, .08em);caret-color:var(--color-link);text-decoration:none;touch-action:manipulation;transition:box-shadow .15s ease,outline-offset .15s ease,background-color .15s ease,opacity .15s ease,filter .15s ease;@media(any-hover:hover){&:where(:not(:active):hover){box-shadow:0 0 0 var(--hover-size) var(--hover-color)}}&:where(:not(:active)):focus-visible{outline-width:var(--outline-size);outline-color:var(--outline-color, currentColor);outline-offset:var(--outline-offset, calc(var(--outline-size) * 2))}&:where(:focus-visible):active{outline:0}&:focus:not(:focus-visible){--outline-offset: 0}&:where([disabled]):not(:hover):not(:active){cursor:not-allowed;filter:brightness(.75)}}::selection{background-color:var(--color-selected)}:where(ul,ol):where([role=list]){margin:0;padding:0;list-style:none}@page{margin:1in}@media print{.no-print{display:none}}:where(html,.sidebar__content){scrollbar-color:color-mix(in srgb,var(--color-subtle-dark) 65%,transparent) transparent;scrollbar-width:thin}:where(html,.sidebar__content)::-webkit-scrollbar{height:6px;width:6px}:where(html,.sidebar__content)::-webkit-scrollbar-track{background:transparent}:where(html,.sidebar__content)::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--color-subtle-dark) 55%,transparent);border-radius:999px}@media(hover:hover){:where(html,.sidebar__content)::-webkit-scrollbar-thumb:hover{background-color:var(--color-subtle-dark)}}:where(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){color:var(--color-heading);font-weight:700;hyphens:auto;letter-spacing:-.02em;line-height:1.2;margin-block:0;overflow-wrap:break-word;text-wrap:balance}:where(h1,h2,h3,h4,h5,h6){display:block}:is(h1,h2,h3,h4,h5,h6){margin-block:.65em}:is(h1,.h1){font-size:2em}:is(h2,.h2){font-size:1.5em}:is(h3,.h3){font-size:1.17em}:is(h4,.h4){font-size:1em}:is(h5,.h5){font-size:.83em}:is(h6,.h6){font-size:.67em}:is(p,ul,ol,dl,blockquote,pre,figure,table,hr){margin-block:.65lh;overflow-wrap:break-word;text-wrap:pretty}hr{border-color:var(--color-line);border-style:solid none none;margin:2lh auto}b,strong{font-weight:700}:is(pre,code,.pre,.code){background-color:var(--color-subtle-light);border:1px solid var(--color-subtle);border-radius:.3em;font-family:var(--font-mono);font-size:.85em}pre{overflow-x:auto;text-wrap:nowrap}.astro-code,.astro-code span{background-color:var(--shiki-light-bg)!important;color:var(--shiki-light)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important}@media(prefers-color-scheme:dark){.astro-code,.astro-code span{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}:root[data-theme=light] .astro-code,:root[data-theme=light] .astro-code span{background-color:var(--shiki-light-bg)!important;color:var(--shiki-light)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important}code{padding:.1em .3em}:is(pre,.pre){border-radius:.5em;padding:.5lh 2ch;:is(code,.code){background-color:transparent;border:0;font-size:1em;padding:0}}p{hyphens:auto;letter-spacing:-.005ch}:is(blockquote,.quote){font-style:italic;margin:0 3ch;p{hyphens:none}}table{border:1px solid var(--color-subtle-dark);border-collapse:collapse;margin:1lh 0}th{font-weight:700}:where(th,td){border:1px solid var(--color-subtle-dark);padding:.2lh 1ch;text-align:start}:where(th){border-block-end-width:3px}del{background-color:oklch(var(--lch-red) / .1);color:var(--color-negative)}ins{background-color:oklch(var(--lch-green) / .1);color:var(--color-positive)}#main h1{font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.15;margin-block:0 1.15rem}#main h2{font-size:1.2rem;font-weight:650;line-height:1.3;margin-block:1.85rem .55rem}#main h3{font-size:1.05rem;font-weight:650;margin-block:1.45rem .35rem}#main :is(h4,h5,h6){font-size:1rem;font-weight:650}#main :is(p,ul,ol,dl,blockquote,pre,figure,table){margin-block:1.05em}#main :is(ul,ol){padding-inline-start:1.25rem}#main li+li{margin-block-start:.35em}#main strong{color:var(--color-heading);font-weight:650}#main a{--hover-size: 0;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}:root{--inline-space: 1ch;--inline-space-half: calc(var(--inline-space) / 2);--inline-space-double: calc(var(--inline-space) * 2);--block-space: 1rem;--block-space-half: calc(var(--block-space) / 2);--block-space-double: calc(var(--block-space) * 2);--font-small-responsive: clamp(.8rem, 2cqi, 1rem);--font-medium-responsive: clamp(1rem, 2.5cqi, 1.4rem);--font-large-responsive: clamp(1.3rem, 4cqi, 1.8rem);--font-x-large-responsive: clamp(1.8rem, 5cqi, 3.2rem)}.txt-small{font-size:.8rem}.txt-medium{font-size:1rem}.txt-large{font-size:1.4rem}.txt-x-large{font-size:1.8rem}.txt-xx-large{font-size:2.4rem}.txt-small--responsive{font-size:var(--font-small-responsive)}.txt-medium--responsive{font-size:var(--font-medium-responsive)}.txt-large--responsive{font-size:var(--font-large-responsive)}.txt-x-large--responsive{font-size:var(--font-x-large-responsive)}.txt-align-center{text-align:center}.txt-align-start{text-align:start}.txt-align-end{text-align:end}.txt-ink{color:var(--color-ink)}.txt-reversed{color:var(--color-ink-reversed)}.txt-negative{color:var(--color-negative)}.txt-subtle{color:var(--color-subtle-dark)}.txt-undecorated{text-decoration:none}.txt-tight-lines{line-height:1.2}.txt-normal{font-weight:400;font-style:normal}.txt-nowrap{white-space:nowrap}.txt-uppercase{text-transform:uppercase}.justify-end{justify-content:end}.justify-start{justify-content:start}.justify-center{justify-content:center}.justify-space-between{justify-content:space-between}.align-center{align-items:center}.align-start{align-items:start}.align-end{align-items:end}.align-self-start{align-self:start}.contain{contain:inline-size}.flex{display:flex}.flex-inline{display:inline-flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-item-grow{flex-grow:1}.flex-item-shrink{flex-shrink:1}.flex-item-no-shrink{flex-shrink:0}.flex-item-justify-start{margin-inline-end:auto}.flex-item-justify-end{margin-inline-start:auto}.gap{column-gap:var(--column-gap, var(--inline-space));row-gap:var(--row-gap, var(--block-space))}.gap-half{column-gap:var(--inline-space-half);row-gap:var(--block-space-half)}.full-width{inline-size:100%}.min-width{min-inline-size:0}.half-width{inline-size:50%}.max-width{max-inline-size:100%}.min-content{inline-size:min-content}.max-inline-size{max-inline-size:100%}.overflow-x{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth}.overflow-y{overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth}.overflow-clip{text-overflow:clip;white-space:nowrap;overflow:hidden}.overflow-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-line-clamp{-webkit-line-clamp:var(--lines, 2);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:clip;white-space:normal}.pad{padding:var(--block-space) var(--inline-space)}.pad-double{padding:var(--block-space-double) var(--inline-space-double)}.pad-block{padding-block:var(--block-space)}.pad-block-start{padding-block-start:var(--block-space)}.pad-block-end{padding-block-end:var(--block-space)}.pad-block-half{padding-block:var(--block-space-half)}.pad-block-start-half{padding-block-start:var(--block-space-half)}.pad-inline{padding-inline:var(--inline-space)}.pad-inline-start{padding-inline-start:var(--inline-space)}.pad-inline-end{padding-inline-end:var(--inline-space)}.pad-inline-half{padding-inline:var(--inline-space-half)}.pad-inline-double{padding-inline:var(--inline-space-double)}.unpad{padding:0}.margin{margin:var(--block-space) var(--inline-space)}.margin-block{margin-block:var(--block-space)}.margin-block-half{margin-block:var(--block-space-half)}.margin-block-start{margin-block-start:var(--block-space)}.margin-block-start-half{margin-block-start:var(--block-space-half)}.margin-block-end{margin-block-end:var(--block-space)}.margin-block-end-half{margin-block-end:var(--block-space-half)}.margin-block-double{margin-block:var(--block-space-double)}.margin-block-end-double{margin-block-end:var(--block-space-double)}.margin-block-start-double{margin-block-start:var(--block-space-double)}.margin-inline{margin-inline:var(--inline-space)}.margin-inline-start{margin-inline-start:var(--inline-space)}.margin-inline-start-half{margin-inline-start:var(--inline-space-half)}.margin-inline-end{margin-inline-end:var(--inline-space)}.margin-inline-end-half{margin-inline-end:var(--inline-space-half)}.margin-inline-half{margin-inline:var(--inline-space-half)}.margin-inline-double{margin-inline:var(--inline-space-double)}.margin-none{margin:0}.margin-none-block{margin-block:0}.margin-none-block-start{margin-block-start:0}.margin-none-block-end{margin-block-end:0}.margin-none-inline{margin-inline:0}.margin-none-inline-start{margin-inline-start:0}.margin-none-inline-end{margin-inline-end:0}.center{margin-inline:auto}.center-block{margin-block:auto}.position-relative{position:relative}.position-sticky{position:sticky}.fill{background-color:var(--color-bg)}.fill-black{background-color:var(--color-ink)}.fill-white{background-color:var(--color-ink-reversed)}.fill-shade{background-color:var(--color-subtle-light)}.fill-selected{background-color:var(--color-selected)}.fill-transparent{background-color:transparent}.translucent{opacity:var(--opacity, .5)}.border{border:var(--border-size, 1px) solid var(--border-color, var(--color-subtle))}.border-top{border-top:var(--border-size, 1px) solid var(--border-color, var(--color-subtle))}.borderless{border:0}.border-radius{border-radius:var(--border-radius, 1em)}.shadow{box-shadow:0 0 0 1px oklch(var(--lch-always-black) / .02),0 .2em 1.6em -.8em oklch(var(--lch-always-black) / .2),0 .4em 2.4em -1em oklch(var(--lch-always-black) / .3),0 .4em .8em -1.2em oklch(var(--lch-always-black) / .4),0 .8em 1.2em -1.6em oklch(var(--lch-always-black) / .5),0 1.2em 1.6em -2em oklch(var(--lch-always-black) / .6);@media(prefers-color-scheme:dark){box-shadow:0 0 0 1px oklch(var(--lch-always-black) / .42),0 .2em 1.6em -.8em oklch(var(--lch-always-black) / .6),0 .4em 2.4em -1em oklch(var(--lch-always-black) / .7),0 .4em .8em -1.2em oklch(var(--lch-always-black) / .8),0 .8em 1.2em -1.6em oklch(var(--lch-always-black) / .9),0 1.2em 1.6em -2em oklch(var(--lch-always-black) / 1)}}.separator{border-inline-start:1px solid var(--color-subtle-dark);display:inline-flex;inline-size:0}.for-screen-reader{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}[hidden]{display:none}[contents]{display:contents}:root{--btn-size: 2.65em}.btn{--transition: .3s ease;align-items:center;background-color:var(--btn-background, transparent);border-radius:var(--btn-border-radius, 2em);border:var(--btn-border-size, 1px) solid var(--btn-border-color, var(--color-subtle-dark));color:var(--btn-color, var(--color-ink));cursor:pointer;display:inline-flex;font-size:1em;font-weight:600;gap:var(--btn-gap, .5em);justify-content:center;padding:var(--btn-padding, .5em 1.1em);pointer-events:auto;text-decoration:none;transition:background-color var(--transition),border var(--transition),color var(--transition),filter var(--transition),opacity var(--transition);&:where(:has(img,svg)){text-align:start;img,svg{block-size:var(--btn-icon-size, 1.3em);inline-size:var(--btn-icon-size, 1.3em);max-inline-size:unset}}&.btn--circle,&:where(:has(.for-screen-reader):has(img,svg)){--btn-border-radius: 50%;--btn-padding: 0;aspect-ratio:1;block-size:var(--btn-size);display:grid;inline-size:var(--btn-size);place-items:center;>*{grid-area:1/1}}&:has(input[type=radio],input[type=checkbox]){:is(input[type=radio],input[type=checkbox]){appearance:none;block-size:calc(var(--btn-size) - var(--outline-size));border-radius:var(--btn-border-radius);cursor:pointer;display:flex;inline-size:calc(var(--btn-size) - var(--outline-size));margin:0;padding:0;z-index:1}img,svg{pointer-events:none}}&:has(input:checked){--btn-background: var(--color-ink);--btn-color: var(--color-ink-reversed);--outline-color: var(--color-ink)}&[disabled],&:has([disabled]){cursor:not-allowed;opacity:.3;pointer-events:none}@media print{display:none}}.btn--link{--btn-background: var(--color-link);--btn-color: var(--color-ink-reversed);--outline-color: var(--color-link)}.btn--negative{--btn-background: var(--color-negative);--btn-color: var(--color-ink-reversed);--outline-color: var(--color-negative)}.btn--placeholder{pointer-events:none;visibility:hidden}.btn--plain{--btn-border-radius: .5em;--btn-border-size: 0;--btn-icon-size: 100%;--btn-padding: 0;--hover-size: 0}.btn--reversed{--btn-background: var(--color-ink);--btn-color: var(--color-bg);--outline-color: var(--color-ink)}.btn--small{font-size:.8em}
