@layer components{.ThemeToggle-module__o1_Uva__toggle{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:var(--hair) solid var(--line);color:var(--muted);font-family:var(--f-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-label);font-weight:500;line-height:var(--lh-flat);display:flex}.ThemeToggle-module__o1_Uva__toggle:hover{border-color:var(--muted)}.ThemeToggle-module__o1_Uva__sep{color:var(--line)}.ThemeToggle-module__o1_Uva__side{border-block-end:var(--hair-2) solid transparent;padding-block-end:1px}.ThemeToggle-module__o1_Uva__on{color:var(--text);border-block-end-color:var(--gauge)}@media (max-width:480px){.ThemeToggle-module__o1_Uva__toggle{padding:var(--sp-2);gap:var(--sp-1)}}}
@layer components{.SiteHeader-module__JMfsBq__header{z-index:var(--z-header);background-color:var(--bg);border-block-end:var(--hair) solid var(--line);position:sticky;top:0}.SiteHeader-module__JMfsBq__inner{justify-content:space-between;align-items:center;gap:var(--sp-5);height:56px;display:flex}.SiteHeader-module__JMfsBq__wordmark{align-items:baseline;gap:var(--sp-3);white-space:nowrap;font-family:var(--f-disp);font-stretch:var(--wdth-expanded);font-size:1.125rem;font-weight:800;line-height:var(--lh-flat);letter-spacing:var(--ls-disp);color:var(--text);view-transition-name:SiteHeader-module__JMfsBq__caliper-wordmark;text-decoration:none;display:flex}.SiteHeader-module__JMfsBq__wordmarkSuffix{font-family:var(--f-mono);font-weight:400;font-size:var(--fs-micro);letter-spacing:var(--ls-label);color:var(--muted)}.SiteHeader-module__JMfsBq__nav{align-items:center;gap:var(--sp-6);display:flex}.SiteHeader-module__JMfsBq__navLink{font-family:var(--f-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted);background-image:linear-gradient(color-mix(in srgb, var(--gauge) 22%, transparent), color-mix(in srgb, var(--gauge) 22%, transparent));background-position:0 0;background-repeat:no-repeat;background-size:0% 100%;margin-inline:-.3em;padding-inline:.3em;font-weight:500;text-decoration:none}.SiteHeader-module__JMfsBq__navLink:hover,.SiteHeader-module__JMfsBq__navLink:focus-visible{color:var(--text);background-size:100% 100%}@media (prefers-reduced-motion:no-preference){.SiteHeader-module__JMfsBq__navLink{transition:background-size var(--dur-sweep) var(--ease-out), color var(--dur-sweep) var(--ease-out)}}@media (max-width:900px){.SiteHeader-module__JMfsBq__nav{gap:var(--sp-4)}.SiteHeader-module__JMfsBq__dropBelow900{display:none}}@media (max-width:640px){.SiteHeader-module__JMfsBq__nav{gap:var(--sp-3)}.SiteHeader-module__JMfsBq__dropBelow640{display:none}}@media (max-width:480px){.SiteHeader-module__JMfsBq__inner,.SiteHeader-module__JMfsBq__nav{gap:var(--sp-2)}.SiteHeader-module__JMfsBq__wordmark{font-size:1rem}.SiteHeader-module__JMfsBq__wordmarkSuffix,.SiteHeader-module__JMfsBq__dropBelow480{display:none}}}
@view-transition{navigation:auto}
@layer prose{.prose{--prose-bleed:0px;max-width:var(--measure);font-family:var(--f-body);font-size:var(--fs-body);line-height:var(--lh-prose);color:var(--text);counter-reset:prose-h2;font-optical-sizing:auto;margin-inline:auto}@media (min-width:900px){.prose{--prose-bleed:var(--sp-5)}}@media (min-width:1024px){.prose{--prose-bleed:var(--sp-6)}}.prose>:first-child{margin-block-start:0}.prose>:last-child{margin-block-end:0}.prose p{margin-block:0 var(--sp-5)}.prose .lede{font-size:var(--fs-lede);color:var(--muted);margin-block-end:var(--sp-7);font-style:italic;font-weight:400;line-height:1.55}.prose .lede em,.prose .lede strong{color:var(--text);font-style:italic;font-weight:400}.prose strong,.prose b{font-weight:600}.prose :is(h2,h3,h4){scroll-margin-top:var(--sp-8);position:relative}.prose h2{counter-increment:prose-h2;counter-reset:prose-h3;font-size:var(--fs-h2);margin-block:var(--sp-8) var(--sp-4)}.prose h3{counter-increment:prose-h3;font-size:var(--fs-h3);margin-block:var(--sp-7) var(--sp-3)}.prose h4{font-size:var(--fs-lede);margin-block:var(--sp-6) var(--sp-3)}.prose h2:before,.prose h3:before{font-family:var(--f-mono);font-weight:400;font-stretch:100%;font-size:var(--fs-note);letter-spacing:var(--ls-meta);line-height:var(--lh-flat);color:var(--muted);font-variant-numeric:tabular-nums;margin-block-end:var(--sp-2);display:block}.prose h2:before{content:counter(prose-h2)}.prose h3:before{content:counter(prose-h2) "." counter(prose-h3)}.prose[data-numbering=off] h2:before,.prose[data-numbering=off] h3:before{content:none}@media (min-width:900px){.prose h2:before,.prose h3:before{right:calc(100% + var(--sp-4));white-space:nowrap;margin-block-end:0;position:absolute;top:.45em}}.prose :is(ul,ol){margin-block:0 var(--sp-5);padding-inline-start:var(--sp-5)}.prose li{margin-block:var(--sp-2)}.prose li::marker{font-family:var(--f-mono);font-size:var(--fs-note);color:var(--muted);font-variant-numeric:tabular-nums}.prose ul>li::marker{content:"— "}.prose :is(ul,ol) :is(ul,ol){margin-block:var(--sp-2)}.prose dl{margin-block:0 var(--sp-5)}.prose dt{font-family:var(--f-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted);margin-block-start:var(--sp-3);font-weight:500}.prose dd{margin-inline-start:0}.prose .sidenote{font-family:var(--f-mono);font-size:var(--fs-note);line-height:var(--lh-ui);color:var(--muted);border-block-start:var(--hair) solid var(--line);border-block-end:var(--hair) solid var(--line);padding-block:var(--sp-2);margin-block:var(--sp-5)}.prose .sidenote[data-ref]:before{content:attr(data-ref);color:var(--gauge-text);font-variant-numeric:tabular-nums;margin-inline-end:var(--sp-2)}@media (min-width:1200px){.prose .sidenote{float:right;clear:right;width:var(--sidenote-w);margin-block:var(--sp-1) var(--sp-3);margin-inline:var(--sp-5) calc((var(--sidenote-w) + var(--sp-5)) * -1);border-block-end:0;padding-block-end:0}}.prose .sn-ref{font-family:var(--f-mono);font-size:var(--fs-micro);color:var(--gauge-text);vertical-align:super;line-height:0;text-decoration:none}.prose figure{margin-block:var(--sp-7);margin-inline:calc(var(--prose-bleed) * -1);width:calc(100% + var(--prose-bleed) * 2)}.prose figure :is(img,svg){background-color:var(--surface);border:var(--hair) solid var(--line);border-radius:var(--r);width:100%}.prose .plate{background-color:var(--surface);border:var(--hair) solid var(--line);border-radius:var(--r);padding:var(--sp-6) var(--sp-5);overflow-x:auto}.prose .plate :is(img,svg){background:0 0;border:0}.prose figcaption{font-family:var(--f-mono);font-size:var(--fs-note);line-height:var(--lh-ui);color:var(--muted);letter-spacing:.02em;margin-block-start:var(--sp-3)}.prose figcaption>:is(b,strong),.prose figcaption .fig-no{color:var(--gauge-text);font-weight:400}.prose blockquote{margin-block:var(--sp-7);border-inline-start:var(--rule-accent) solid var(--gauge);padding-inline-start:var(--sp-5)}.prose blockquote p{font-size:var(--fs-lede);margin-block-end:var(--sp-3);font-style:italic;font-weight:600;line-height:1.45}.prose blockquote>:last-child{margin-block-end:0}.prose blockquote cite,.prose blockquote footer{font-family:var(--f-mono);font-size:var(--fs-note);letter-spacing:var(--ls-meta);color:var(--muted);font-style:normal;display:block}.prose .callout{margin-block:var(--sp-6);padding:var(--sp-4) var(--sp-5);background-color:var(--surface);border-inline-start:var(--rule-accent) solid var(--gauge);border-radius:0 var(--r) var(--r) 0;font-size:var(--fs-ui)}.prose .callout:before{content:attr(data-label);font-family:var(--f-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted);margin-block-end:var(--sp-2);font-weight:500;display:block}.prose .callout:not([data-label]):before{content:"Note"}.prose .callout>:last-child{margin-block-end:0}.prose pre{margin-block:var(--sp-7);margin-inline:calc(var(--prose-bleed) * -1);width:calc(100% + var(--prose-bleed) * 2);padding:var(--sp-5);color:var(--plate-text);border:var(--hair) solid var(--plate-line);border-radius:var(--r);font-family:var(--f-mono);font-size:.875rem;line-height:var(--lh-code);tab-size:2;overflow-x:auto;background-color:var(--plate)!important}.prose pre code{font-size:inherit;color:inherit;white-space:pre;background:0 0;border:0;padding:0;display:block}.prose .codeplate{margin-block:var(--sp-7);margin-inline:calc(var(--prose-bleed) * -1);width:calc(100% + var(--prose-bleed) * 2);background-color:var(--plate);border:var(--hair) solid var(--plate-line);border-radius:var(--r)}.prose .codeplate>pre{border:0;border-radius:0;width:100%;margin:0}.prose .codeplate-tab{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-block-end:var(--hair) solid var(--plate-line);font-family:var(--f-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--plate-muted);font-weight:500;display:flex}.prose pre :any-link,.prose .codeplate :any-link{color:inherit;background-image:none}.prose :not(pre)>code{font-family:var(--f-mono);background-color:var(--surface);border:var(--hair) solid var(--line);border-radius:var(--r);overflow-wrap:anywhere;padding:1px 6px;font-size:.82em}.prose kbd{font-family:var(--f-mono);background-color:var(--surface);border:var(--hair) solid var(--line);border-block-end-width:var(--hair-2);border-radius:var(--r);padding:1px 6px;font-size:.82em}.prose mark{background-color:var(--gauge);color:var(--ink);padding:0 .2em}.prose .table-wrap{margin-block:var(--sp-7);margin-inline:calc(var(--prose-bleed) * -1);width:calc(100% + var(--prose-bleed) * 2);overflow-x:auto}.prose .table-wrap>table{width:100%;margin:0;display:table;overflow:visible}.prose table{width:100%;margin-block:var(--sp-7);font-size:var(--fs-ui);font-variant-numeric:tabular-nums;text-align:start;display:block;overflow-x:auto}.prose th{font-family:var(--f-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted);text-align:start;padding:var(--sp-2) var(--sp-3);border-block-end:var(--hair) solid var(--line);white-space:nowrap;font-weight:500}.prose td{padding:var(--sp-3);border-block-end:var(--hair) solid var(--line);vertical-align:baseline}.prose :is(th,td):first-child{padding-inline-start:0}.prose :is(th,td):last-child{padding-inline-end:0}.prose :is(th,td)[data-align=end]{text-align:end}.prose caption{caption-side:bottom;font-family:var(--f-mono);font-size:var(--fs-note);color:var(--muted);text-align:start;margin-block-start:var(--sp-3)}.prose hr{height:var(--hair);margin-block:var(--sp-8);background-color:var(--line);background-image:linear-gradient(var(--gauge), var(--gauge));background-position:50% 0;background-repeat:no-repeat;background-size:var(--sp-5) 100%;border:0;position:relative;overflow:visible}.prose hr:before,.prose hr:after{content:"";width:var(--hair);background-color:var(--line);height:9px;position:absolute;top:-4px}.prose hr:before{inset-inline-start:0}.prose hr:after{inset-inline-end:0}.prose .footnotes{border-block-start:var(--hair) solid var(--line);font-size:var(--fs-ui);color:var(--muted);margin-block-start:var(--sp-8);padding-block-start:var(--sp-5)}.prose .footnotes li{scroll-margin-top:var(--sp-8)}}
@layer rail{.rail{display:none}@media (min-width:1024px){body{padding-inline-start:var(--rail-w)}.rail{width:var(--rail-w);z-index:var(--z-rail);background-color:var(--bg);border-inline-end:var(--hair) solid var(--line);background-image:repeating-linear-gradient(to bottom, var(--line) 0 var(--hair), transparent var(--hair) var(--rail-tick-major)), repeating-linear-gradient(to bottom, var(--line-quiet) 0 var(--hair), transparent var(--hair) var(--rail-tick-minor));background-position:100% 0,100% 0;background-repeat:no-repeat;background-size:1rem 100%,.5rem 100%;display:block;position:fixed;inset-block:0;inset-inline-start:0}.rail-tick{display:none}@supports (animation-timeline:scroll(root)){.rail-tick{width:1.375rem;height:var(--hair-2);background-color:var(--gauge);animation:linear both caliper-rail-tick;animation-timeline:scroll(root);display:block;position:absolute;inset-inline-end:0}}}@keyframes caliper-rail-tick{0%{top:var(--sp-3)}to{top:calc(100% - var(--sp-3))}}@media (prefers-reduced-motion:reduce){.rail-tick{display:none!important}}@media print{.rail{display:none}body{padding-inline-start:0}}}

@layer components{.layout-module__QY5QOq__shell{flex-direction:column;min-height:100svh;display:flex}.layout-module__QY5QOq__main{flex:1 0 auto}}
