:root{--spacing-3xs:0.1rem;--spacing-2xs:0.18rem;--spacing-xs:0.3rem;--spacing-s:0.5rem;--spacing-m:1rem;--spacing-l:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--flow-space:1.5em;--font-base:system-ui,"Helvetica Neue","Helvetica","Arial",sans-serif;--font-accent:system-ui,"Helvetica Neue","Helvetica","Arial",sans-serif;--measure:65ch;--font-size-xs:clamp(0.69rem, -0.12vw + 0.73rem, 0.63rem);--font-size-s:clamp(0.83rem, 0.02vw + 0.83rem, 0.84rem);--font-size-base:clamp(1rem, 0.25vw + 0.94rem, 1.13rem);--font-size-l:clamp(1.2rem, 0.6vw + 1.05rem, 1.5rem);--font-size-xl:clamp(1.44rem, 1.12vw + 1.16rem, 2rem);--font-size-2xl:clamp(1.73rem, 1.87vw + 1.26rem, 2.66rem);--font-size-3xl:clamp(2.07rem, 2.96vw + 1.33rem, 3.55rem);--font-size-4xl:clamp(2.49rem, 4.49vw + 1.37rem, 4.73rem);--font-size-5xl:clamp(2.99rem, 6.65vw + 1.32rem, 6.31rem);--line-height-xs:1.1;--line-height-normal:1.5;--white:hsla(0,0%,100%,1);--color-grey-100:hsla(0,0%,100%,1);--color-grey-200:hsla(0,0%,90%,1);--color-grey-300:hsla(0,0%,80%,1);--color-grey-400:hsla(0,0%,60%,1);--color-grey-500:hsla(0,0%,50%,1);--color-grey-600:hsla(0,0%,40%,1);--color-grey-700:hsla(0,0%,30%,1);--color-grey-800:hsla(0,0%,20%,1);--color-grey-900:hsla(0,0%,10%,1);--black:hsla(0,50%,10%,1);--positive:hsla(120,75%,25%,1);--positiveLight:hsla(120,75%,90%,1);--caution:hsla(45,75%,50%,1);--cautionLight:hsla(45,75%,90%,1);--negative:hsla(0,75%,50%,1);--negativeLight:hsla(0,75%,90%,1);--neutral:hsla(200,40%,35%,1);--neutralLight:hsla(200,40%,90%,1);--color-primary-100:hsla(240,100%,99%,1);--color-primary-200:hsla(240,100%,92%,1);--color-primary-300:hsla(240,100%,80%,1);--color-primary-400:hsla(240,100%,75%,1);--color-primary-500:hsl(240, 100%, 45%);--color-primary-600:hsla(240,100%,40%,1);--color-primary-700:hsla(240,100%,25%,1);--color-primary-900:hsla(240,50%,25%,1)}*,::after,::before{box-sizing:border-box}blockquote,body,dd,dl,figcaption,figure,h1,h2,h3,h4,h5,h6,li,ol,p,ul{margin:0}ol,ul{padding:0}body{line-height:var(--line-height-normal);min-height:100vh;scroll-behavior:smooth;text-rendering:optimizeSpeed}button,input,select,textarea{font:inherit}img{max-width:100%}figcaption{font-size:.9rem;font-style:italic}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-base);font-size:var(--font-size-base)}.flow>*+*{margin-block-start:var(--flow-space,1.5em)}:is(h1,h2,h3,blockquote){--flow-space:2em}:is(h1,h2,h3)+*{--flow-space:1em}article>*{max-width:65ch}blockquote{max-width:50ch}:root,[data-selected-theme=light]{--color-background:var(--white);--color-text:var(--black);--color-action:var(--color-primary-500);--color-separator:var(--black);--color-code-background:var(--color-grey-300);--color-code-text:var(--black);--color-nav-links:var(--color-grey-900)}[data-selected-theme=dark]{--color-background:var(--color-grey-800);--color-text:var(--color-grey-200);--color-action:var(--color-primary-400);--color-separator:var(--color-grey-200);--color-code-background:var(--color-grey-700);--color-code-text:var(--color-text);--color-nav-links:var(--color-grey-100)}code,kbd,samp{font-family:monospace,monospace;font-size:.9em}pre{background-color:var(--color-grey-800);border-radius:var(--spacing-s);padding:var(--spacing-l);white-space:pre-wrap;word-break:break-all}code{background-color:var(--color-code-background);color:var(--color-code-text);border-radius:4px;padding:1px 5px 3px}pre>code{background-color:transparent;color:var(--color-grey-200)}h1,h2,h3,h4,h5,h6{font-family:var(--font-accent);line-height:var(--line-height-xs);text-wrap:balance}h1{font-size:var(--font-size-2xl);letter-spacing:-.04em;font-weight:700}h2{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.008em}h3{font-size:var(--font-size-l)}h4{font-size:var(--font-size-m)}h5{font-size:var(--font-size-s)}a{color:var(--color-action);text-decoration-color:var(--color-action);text-decoration-thickness:.3ex;text-underline-offset:.3ex}a:hover{text-decoration-color:var(--color-primary-300);transition:text-decoration-color .3s}ul:not(.o-cluster)>li:has(a){padding-block:var(--spacing-xs)}time{display:block;padding-block-end:var(--spacing-s)}[class^=o-box]{padding:var(--spacing-m);border:var(--spacing-2xs) solid;--color-light:var(--white);--color-dark:var(--black);color:var(--color-dark);background-color:var(--color-light)}.o-box *{color:inherit}.o-box.invert{color:var(--color-light);background-color:var(--color-dark)}.o-box--0{padding:0}.o-box--xs{padding:var(--spacing-xs)}.o-box--s{padding:var(--spacing-s)}.o-box--m{padding:var(--spacing-m)}.o-box--l{padding:var(--spacing-l)}.o-box--xl{padding:var(--spacing-xl)}.o-box--borderless{border-color:transparent}[class^=o-cluster]{display:flex;flex-wrap:wrap;gap:var(--spacing-l);justify-content:flex-start;align-items:center}.o-cluster--1{gap:var(--space,1rem)}.wrapper{margin-inline:auto;max-inline-size:60rem;padding:var(--spacing-l)}header::after{content:"";display:flex;border-bottom:var(--spacing-2xs) solid var(--color-separator);margin-block-end:var(--spacing-2xl);transform:rotateZ(359deg)}.c-nav-primary{display:grid;font-family:var(--font-accent);grid-template-areas:"logo  switcher" "links links";grid-template-rows:1fr;grid-template-columns:1fr;gap:0;justify-items:stretch;padding-inline:var(--spacing-l);padding-block:var(--spacing-l)}.logo{grid-area:logo}.logo a{font-size:var(--font-size-l);font-weight:800;letter-spacing:-.04em}theme-switcher{grid-area:switcher;justify-self:end}.c-nav-primary [aria-current=page],.c-nav-primary [data-state=active]{border-bottom:var(--spacing-2xs) solid var(--color-nav-links);font-weight:700}.c-nav-primary__list{grid-area:links;margin-inline-start:0;list-style-type:none;display:flex;flex-wrap:wrap;gap:var(--spacing-s) var(--spacing-l)}.c-nav-primary__link,.c-nav-primary__link:visited{color:var(--color-nav-links);text-decoration:none}a:hover{border-bottom:var(--spacing-2xs) solid var(--color-nav-links)}[aria-current=page]:not(.logoa){border-bottom:var(--spacing-2xs) solid var(--color-nav-links)}.theme-switcher button{background:var(--color-grey-700);border-radius:var(--spacing-s);color:var(--color-grey-100);cursor:pointer;font-size:var(--font-size-s);padding:var(--spacing-xs) var(--spacing-m);position:relative;border:2px solid var(--color-grey-900);box-shadow:0 4px 0 0 var(--color-grey-900);top:0;transition:box-shadow .2s,top .2s}.theme-switcher button:hover{background:var(--color-grey-600);box-shadow:0 2px 0 0 var(--color-grey-900);top:2px}.theme-switcher button:active{box-shadow:none;top:4px}.theme-switcher button[aria-pressed=true]{background:var(--color-primary-600)}.theme-switcher button[aria-pressed=true]:hover{background:var(--color-primary-500)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-s{padding:var(--spacing-s)}.p-m{padding:var(--spacing-m)}.p-l{padding:var(--spacing-l)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.p-3xl{padding:var(--spacing-3xl)}.pl-0{padding-left:0}.pl-xs{padding-left:var(--spacing-xs)}.pl-s{padding-left:var(--spacing-s)}.pl-m{padding-left:var(--spacing-m)}.pl-l{padding-left:var(--spacing-l)}.pl-xl{padding-left:var(--spacing-xl)}.pl-2xl{padding-left:var(--spacing-2xl)}.pl-3xl{padding-left:var(--spacing-3xl)}.pr-0{padding-right:0}.pr-xs{padding-right:var(--spacing-xs)}.pr-s{padding-right:var(--spacing-s)}.pr-m{padding-right:var(--spacing-m)}.pr-l{padding-right:var(--spacing-l)}.pr-xl{padding-right:var(--spacing-xl)}.pr-2xl{padding-right:var(--spacing-2xl)}.pr-3xl{padding-right:var(--spacing-3xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-s{padding-bottom:var(--spacing-s)}.pb-m{padding-bottom:var(--spacing-m)}.pb-l{padding-bottom:var(--spacing-l)}.pb-xl{padding-bottom:var(--spacing-xl)}.pb-2xl{padding-bottom:var(--spacing-2xl)}.pb-3xl{padding-bottom:var(--spacing-3xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-s{padding-top:var(--spacing-s)}.pt-m{padding-top:var(--spacing-m)}.pt-l{padding-top:var(--spacing-l)}.pt-xl{padding-top:var(--spacing-xl)}.pt-2xl{padding-top:var(--spacing-2xl)}.pt-3xl{padding-top:var(--spacing-3xl)}.ph-0{padding-left:0;padding-right:0}.ph-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.ph-s{padding-left:var(--spacing-s);padding-right:var(--spacing-s)}.ph-m{padding-left:var(--spacing-m);padding-right:var(--spacing-m)}.ph-l{padding-left:var(--spacing-l);padding-right:var(--spacing-l)}.ph-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.ph-2xl{padding-left:var(--spacing-2xl);padding-right:var(--spacing-2xl)}.ph-3xl{padding-left:var(--spacing-3xl);padding-right:var(--spacing-3xl)}.pv-0{padding-bottom:0;padding-top:0}.pv-xs{padding-bottom:var(--spacing-xs);padding-top:var(--spacing-xs)}.pv-s{padding-bottom:var(--spacing-s);padding-top:var(--spacing-s)}.pv-m{padding-bottom:var(--spacing-m);padding-top:var(--spacing-m)}.pv-l{padding-bottom:var(--spacing-l);padding-top:var(--spacing-l)}.pv-xl{padding-bottom:var(--spacing-xl);padding-top:var(--spacing-xl)}.pv-2xl{padding-bottom:var(--spacing-2xl);padding-top:var(--spacing-2xl)}.pv-3xl{padding-bottom:var(--spacing-3xl);padding-top:var(--spacing-3xl)}.m-0{margin:0}.m-s{margin:var(--spacing-s)}.m-m{margin:var(--spacing-m)}.m-l{margin:var(--spacing-l)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.m-3xl{margin:var(--spacing-3xl)}.ml-0{margin-left:0}.ml-s{margin-left:var(--spacing-s)}.ml-m{margin-left:var(--spacing-m)}.ml-l{margin-left:var(--spacing-l)}.ml-xl{margin-left:var(--spacing-xl)}.ml-2xl{margin-left:var(--spacing-2xl)}.ml-3xl{margin-left:var(--spacing-3xl)}.mr-0{margin-right:0}.mr-s{margin-right:var(--spacing-s)}.mr-m{margin-right:var(--spacing-m)}.mr-l{margin-right:var(--spacing-l)}.mr-xl{margin-right:var(--spacing-xl)}.mr-2xl{margin-right:var(--spacing-2xl)}.mr-3xl{margin-right:var(--spacing-3xl)}.mb-0{margin-bottom:0}.mb-s{margin-bottom:var(--spacing-s)}.mb-m{margin-bottom:var(--spacing-m)}.mb-l{margin-bottom:var(--spacing-l)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.mb-3xl{margin-bottom:var(--spacing-3xl)}.mt-0{margin-top:0}.mt-s{margin-top:var(--spacing-s)}.mt-m{margin-top:var(--spacing-m)}.mt-l{margin-top:var(--spacing-l)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mt-3xl{margin-top:var(--spacing-3xl)}