@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-tap-highlight-color:transparent}img,svg,video,iframe{max-inline-size:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:where(ul,ol)[role=list]{padding:0;list-style:none}}@layer tokens{:root{color-scheme:light dark;--paper:light-dark(#fff,#09090b);--paper-raised:light-dark(#fafafa,#18181b);--wash:light-dark(#f4f4f5,#27272a);--ink:light-dark(#18181b,#fafafa);--ink-2:light-dark(#52525b,#a1a1aa);--ink-3:light-dark(#6b6b74,#8b8b94);--rule:light-dark(#e4e4e7,#27272a);--rule-strong:light-dark(#d4d4d8,#3f3f46);--brand:light-dark(#047857,#34d399);--on-brand:light-dark(#fff,#052e22);--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;--small:.84rem;--body:clamp(1rem, .97rem + .15vw, 1.0625rem);--heading:clamp(1.5rem, 1.3rem + .9vw, 2rem);--display:clamp(2.6rem, 1.7rem + 4vw, 4.75rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--bar:3.5rem;--side:12rem;--col-gap:clamp(3rem, 5vw, 6rem);--measure:40rem;--wide:60rem;--gutter:clamp(1.25rem, 5vw, 3rem);--ease:cubic-bezier(.25, 1, .5, 1);--accent:var(--ink);--accent-soft:var(--wash);--line:var(--rule);--ink-soft:var(--ink-2);--ink-faint:var(--ink-3);--paper-dim:var(--paper-raised);--font-mono:var(--mono);--font-sans:var(--sans);--radius:6px;--radius-lg:8px}}@layer base{html{background:var(--paper);color:var(--ink);hanging-punctuation:first last;scroll-padding-block-start:calc(var(--bar) + var(--space-8))}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}@view-transition{navigation:auto}}body{font-family:var(--sans);font-size:var(--body);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;font-variant-emoji:text;font-weight:600;line-height:1.15}h1{font-size:var(--display);letter-spacing:-.035em;line-height:1.05}h2{font-size:var(--heading)}h3{font-size:var(--body);letter-spacing:-.01em;line-height:1.3}p,li{text-wrap:pretty}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}code,kbd,pre,samp{font-family:var(--mono);font-size:.86em}:not(pre)>code{background:var(--wash);border:1px solid var(--rule);overflow-wrap:anywhere;border-radius:4px;padding:.05em .3em}::selection{background:color-mix(in oklab, var(--brand) 35%, transparent);color:inherit}hr{border:0;border-block-start:1px solid var(--rule)}}@layer components{.label{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-3);font-size:.72rem}.eyebrow{font-family:var(--mono);letter-spacing:.02em;color:var(--ink-3);margin-block-end:var(--space-3);font-size:.78rem;display:block}.eyebrow:before{content:"// ";color:var(--brand)}.btn{align-items:center;gap:var(--space-2);font-size:var(--small);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink);cursor:pointer;padding:.6em 1em;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--wash);border-color:var(--ink-3)}.btn-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ink:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn-lg{padding:.75em 1.25em;font-size:.95rem}.seg{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.seg button{font-family:var(--mono);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.25rem .6rem;font-size:.74rem}.seg button:hover{border-color:var(--ink-3)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.code{color:#d4d4d8;border:1px solid var(--rule-strong);border-radius:var(--radius-lg);background:#0c0c0e;min-inline-size:0;font-size:.85rem;position:relative}.code figcaption{font-family:var(--mono);color:#a1a1aa;padding:.7rem 1.1rem 0;font-size:.7rem}.code .copy{font-family:var(--mono);color:#a1a1aa;border-radius:var(--radius);cursor:pointer;opacity:0;background:#0c0c0e;border:1px solid #3f3f46;padding:.2rem .5rem;font-size:.68rem;position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem}.code:is(:hover,:focus-within) .copy{opacity:1}@media (hover:none){.code .copy{opacity:1}}.code .copy:hover{color:#fff;border-color:#a1a1aa}.code .copy:focus-visible{outline-color:#fff}.code pre{tab-size:2;margin:0;padding:1rem 1.1rem;line-height:1.65;overflow-x:auto;background:0 0!important}.code pre code{font-size:inherit}.code .line.hl{box-shadow:-1.1rem 0 0 #202024, 1.1rem 0 0 #202024, inset 2px 0 0 var(--brand);background:#202024}.toast{font-family:var(--mono);background:var(--ink);color:var(--paper);border-radius:var(--radius);border:0;margin-block-end:6px;padding:.25rem .5rem;font-size:.7rem}.term{font:inherit;color:inherit;cursor:help;text-decoration:underline dotted var(--ink-3);text-underline-offset:.22em;background:0 0;border:0;padding:0;text-decoration-thickness:1.5px}.tip{inline-size:max-content;max-inline-size:min(18rem,90vw);font-size:var(--small);background:var(--ink);color:var(--paper);border-radius:var(--radius);border:0;margin-block:8px;padding:.55rem .7rem;line-height:1.45}.prose>*+*{margin-block-start:1.1em}.prose>:is(h2,h3)+*{margin-block-start:.6em}.prose h2{margin-block-start:3.5em}.prose h3{margin-block-start:2.2em}.prose>:first-child{margin-block-start:0}.prose :is(h2,h3) a{text-decoration:none}.prose p,.prose li{color:var(--ink-2)}.prose strong{color:var(--ink)}.prose :is(ul,ol):not([role=list]){padding-inline-start:1.2em}.prose li+li{margin-block-start:.35em}.prose li::marker{color:var(--ink-3)}.prose>pre{color:#d4d4d8;border:1px solid var(--rule-strong);border-radius:var(--radius-lg);background:#0c0c0e;padding:1rem 1.1rem;font-size:.82rem;overflow-x:auto}table.ref,.prose table{border-collapse:collapse;inline-size:100%;font-size:var(--small)}:is(table.ref,.prose table) :is(th,td){text-align:start;vertical-align:top;border-block-end:1px solid var(--rule);padding:.6rem 1rem .6rem 0}:is(table.ref,.prose table) th{color:var(--ink-3);font-weight:600}.table-scroll{overflow-x:auto}.sn-ref{font-family:var(--mono);color:var(--brand);padding-inline:.1em;font-size:.68rem;font-weight:700}.sidenote{inline-size:13rem;font-size:var(--small);color:var(--ink-3);margin-inline-start:var(--col-gap);line-height:1.45}.sn-n{font-family:var(--mono);color:var(--brand);margin-inline-end:.2em;font-weight:700}.ann-line:after{content:attr(data-n);color:#0c0c0e;background:var(--brand);vertical-align:.1em;border-radius:50%;place-items:center;block-size:1.2rem;inline-size:1.2rem;margin-inline-start:.75rem;font-size:.66rem;font-weight:700;display:inline-grid}.ann-note{inline-size:13rem;font-size:var(--small);color:var(--ink-3);margin-inline-start:var(--col-gap);line-height:1.45}.ann-note:before{content:attr(data-n) ". ";font-family:var(--mono);color:var(--brand);font-weight:700}.callout{border-inline-start:2px solid var(--ink);padding-inline-start:var(--space-4)}.callout.limit{border-inline-start-color:var(--brand)}.callout p{color:var(--ink-2)}}@layer utilities{html[data-xray] [data-⚓️-name]:not([data-xray-skip]){outline:1.5px dashed var(--brand);outline-offset:-1.5px}html[data-xray] :is([data-⚓️-to],[data-⚓️-after],[data-⚓️-before],[data-⚓️-below],[data-⚓️-above],[data-⚓️-pin-top],[data-⚓️-side]):not([data-xray-skip]){outline:1.5px dotted var(--ink);outline-offset:-1.5px;background-image:repeating-linear-gradient(-45deg, transparent 0 6px, color-mix(in oklab, var(--brand) 10%, transparent) 6px 7px)}html[data-xray-focus] :is([data-⚓️-name],[data-⚓️-to],[data-⚓️-after],[data-⚓️-before],[data-⚓️-below],[data-⚓️-above],[data-⚓️-pin-top],[data-⚓️-side]):not([data-xray-skip],[data-xray-hot]){outline-color:color-mix(in oklab, var(--ink) 18%, transparent);background-image:none}html[data-xray] [data-xray-hot]:not([data-xray-skip]){outline:2px solid var(--brand);outline-offset:-2px}html[data-xray] [data-xray-hot=anchor]:not([data-xray-skip]){outline-style:dashed}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;overflow:hidden;position:absolute!important}}.shell-header{z-index:50;block-size:var(--bar);position:fixed}.shell-main{padding-block:calc(var(--bar) + var(--space-16)) var(--space-16);margin-inline:var(--gutter)}.shell-main.docs{max-inline-size:var(--measure)}.shell-main.docs.wide{max-inline-size:var(--wide)}.shell-nav{inline-size:var(--side);margin-inline-end:var(--col-gap)}.shell-footer{padding-block:var(--space-8) var(--space-12);margin-block-start:var(--space-16)}.shell-nav{display:none}@media (width>=56rem){.shell-nav{display:block}.shell-main.docs{margin-inline-start:calc(var(--gutter) + var(--side) + var(--col-gap))}}@media (width>=80rem){.shell-main.docs{margin-inline-start:max(var(--gutter) + var(--side) + var(--col-gap), (100% - var(--measure)) / 2)}.shell-main.docs.wide{margin-inline-start:max(var(--gutter) + var(--side) + var(--col-gap), (100% - var(--wide)) / 2 + var(--side) / 2)}}.sidenote,.ann-note{display:none}@media (width>=80rem){.shell-main.docs:not(.wide) :is(.sidenote,.ann-note){display:block}}@media (width<=79.99rem){.prose .sidenote[data-⚓️-to],.shell-main.wide .prose .sidenote[data-⚓️-to]{border-inline-start:1px solid var(--brand);inline-size:auto;margin:.6em 0 0;padding-inline-start:.75rem;display:block;position:static}}.shell-main.wide .prose .sidenote[data-⚓️-to]{border-inline-start:1px solid var(--brand);inline-size:auto;margin:.6em 0 0;padding-inline-start:.75rem;display:block;position:static}@supports not (anchor-name:attr(data-x type(<custom-ident>))){.shell-main:before{content:"This browser can't run CSS anchor positioning with typed attr(), which the library and the live demos depend on. You're seeing the plain fallback and the demos won't respond. Chrome or Edge 133+ work; Docs, Browser support lists the rest.";margin-block:0 var(--space-8);padding:var(--space-3) var(--space-4);border:1px solid var(--brand);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink-2);font-size:var(--small);line-height:1.5;display:block}.shell-region.shell-region:not(.shell-header){position:static}.shell-nav.shell-nav{display:none}.shell-main.docs{margin-inline:var(--gutter);max-inline-size:var(--measure)}.shell-main.docs.wide{max-inline-size:var(--wide)}.shell-footer.shell-region{margin-inline:var(--gutter)}.menu-btn.menu-btn{display:inline-flex}.sidenote.sidenote[data-⚓️-to],.ann-note.ann-note{inline-size:auto;margin:.6em 0 0;display:block;position:static}.nav-marker,.side-marker,.toc-marker{display:none}[popover][data-⚓️-to]{width:fit-content;height:fit-content;margin:auto;inset:0}}@media (prefers-reduced-motion:no-preference){@layer components{:is(.btn,.seg button,.xray-btn,.menu-btn,.code .copy){transition:background-color .15s,border-color .15s,color .15s,opacity .15s,translate 80ms}:is(.btn,.seg button,.xray-btn,.menu-btn,.code .copy):active{translate:0 1px}}}.home[data-astro-cid-7gjt26ob]{padding-block:.3rem;text-decoration:none;display:block}.group[data-astro-cid-7gjt26ob]{margin-block-start:var(--space-6)}.home[data-astro-cid-7gjt26ob]+.group[data-astro-cid-7gjt26ob],.group[data-astro-cid-7gjt26ob]:first-child{margin-block-start:var(--space-2)}.group[data-astro-cid-7gjt26ob] .label[data-astro-cid-7gjt26ob]{margin-block-end:var(--space-2)}.sitemap[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob]{z-index:1;color:var(--ink-2);padding-block:.25rem;font-size:.92rem;text-decoration:none;display:block;position:relative}.sitemap[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob]:hover{color:var(--ink)}.sitemap[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob]:focus-visible{outline-offset:-2px}.sitemap[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob][aria-current]{color:var(--ink);font-weight:650}[data-astro-cid-7gjt26ob][data-where=menu] a[data-astro-cid-7gjt26ob]{padding-block:.5rem}[data-astro-cid-7gjt26ob][data-where=menu] .toc[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob]{padding-block:.4rem}.toc[data-astro-cid-7gjt26ob]{margin-block:.15rem .5rem;padding-inline-start:.75rem}.toc[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob]{font-size:var(--small);padding-block:.18rem;line-height:1.3}.toc[data-astro-cid-7gjt26ob] .d3[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob]{padding-inline-start:.75rem}.toc[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob][data-⚓️-name=--toc-current]{color:var(--ink)}.side-marker[data-astro-cid-7gjt26ob],.toc-marker[data-astro-cid-7gjt26ob]{background:var(--ink);pointer-events:none;inline-size:2px;margin-inline-end:.6rem}.toc-marker[data-astro-cid-7gjt26ob]{background:var(--brand);margin-inline-end:.35rem}.sitemap[data-astro-cid-7gjt26ob]:not(:has([data-toc][data-⚓️-name=--toc-current])) .toc-marker[data-astro-cid-7gjt26ob],.sitemap[data-astro-cid-7gjt26ob]:not(:has(a[data-⚓️-name=--side-current])) .side-marker[data-astro-cid-7gjt26ob]{display:none}.sitemap[data-astro-cid-7gjt26ob] .side-spot[data-astro-cid-7gjt26ob]{inline-size:calc(anchor-size(inline) + .45rem);background:var(--wash);border-radius:var(--radius);pointer-events:none;opacity:0;margin-inline-start:-.45rem}.sitemap[data-astro-cid-7gjt26ob]:has(a:is(:hover,:focus-visible)) .side-spot[data-astro-cid-7gjt26ob].side-spot{opacity:1}.sitemap[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob].hot{anchor-name:--side-hot}.sitemap[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob].hot[data-⚓️-name=--side-current]{anchor-name:--side-current, --side-hot}.sitemap[data-astro-cid-7gjt26ob] a[data-astro-cid-7gjt26ob].hot[data-⚓️-name=--toc-current]{anchor-name:--toc-current, --side-hot}@media (prefers-reduced-motion:no-preference){.sitemap[data-astro-cid-7gjt26ob] .side-spot[data-astro-cid-7gjt26ob]{transition-property:inset,width,height,translate,opacity;transition-duration:.25s,.25s,.25s,.25s,.2s}}@supports (anchor-name:attr(data-x type(<custom-ident>))){.seg[data-seg]>button{z-index:1;position:relative}.seg[data-seg]>button[aria-pressed=true]{background:0 0}.seg-pill.seg-pill{z-index:0;background:var(--ink);border-radius:var(--radius);pointer-events:none}}@media (prefers-reduced-motion:no-preference){@keyframes marker-in-x{0%{scale:0 1}}@keyframes marker-in-y{0%{scale:1 0}}.nav-marker,.tab-marker{animation:marker-in-x .5s var(--ease) both}.toc-marker{animation:marker-in-y .5s var(--ease) both}.nav-marker{view-transition-name:nav-marker}.shell-nav .side-marker{view-transition-name:side-marker}::view-transition-group(nav-marker),::view-transition-group(side-marker){animation-duration:.35s;animation-timing-function:var(--ease)}html:active-view-transition .nav-marker{animation:none}}@supports (container-type:scroll-state){html{container-type:scroll-state}@media (prefers-reduced-motion:no-preference){.shell-header{transition:box-shadow .2s}}@container scroll-state(scrollable:top){.shell-header{box-shadow:0 1px 0 var(--rule)}}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){@keyframes read-progress{0%{scale:0 1}}body:has(.shell-main.docs) .shell-header:after{content:"";background:var(--ink);transform-origin:0 0;pointer-events:none;block-size:2px;animation-name:read-progress;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);position:absolute;inset-block-start:0;inset-inline:0}body:has(.shell-main.docs) .shell-header:dir(rtl):after{transform-origin:100% 0}}}@media (prefers-reduced-motion:no-preference){.toast,.tip{transition:opacity .16s ease, translate .16s var(--ease), overlay .16s allow-discrete, display .16s allow-discrete}.toast:popover-open,.tip:popover-open{opacity:1}@starting-style{.toast:popover-open{opacity:0;translate:0 4px}.tip:popover-open{opacity:0}}.toast:not(:popover-open),.tip:not(:popover-open){opacity:0}@supports selector(::details-content){details{interpolate-size:allow-keywords}details::details-content{block-size:0;transition:block-size .3s var(--ease), content-visibility .3s allow-discrete;overflow:clip}details[open]::details-content{block-size:auto}}}.chain-head{z-index:90;border:1.5px dashed var(--brand);pointer-events:none;border-radius:50%;block-size:14px;inline-size:14px;position:fixed;translate:-50% -50%}.chain-link.chain-link,.chain-tag.chain-tag{z-index:89;pointer-events:none;position:fixed}.chain-link.chain-link{inline-size:calc(12px - var(--i) * 1px);block-size:calc(12px - var(--i) * 1px);background:var(--ink);opacity:calc(1 - var(--i) * .08);transition-duration:calc(80ms + var(--i) * 30ms);border-radius:50%}.chain-tag.chain-tag{font:600 .66rem/1.5 var(--mono);white-space:nowrap;background:var(--brand);color:var(--on-brand);border-radius:var(--radius);margin-block-start:10px;padding:.1rem .4rem;transition-duration:.4s}.xr-panel.xr-panel{position:fixed}.xr-panel{inline-size:min(21rem, calc(100vw - 2 * var(--gutter)));max-block-size:calc(100dvh - var(--bar) - 2rem);overscroll-behavior:contain;font-size:var(--small);background:var(--paper-raised);color:var(--ink-2);border:1px solid var(--brand);border-radius:var(--radius);box-shadow:0 12px 32px -16px color-mix(in oklab, var(--ink) 35%, transparent);margin-block-start:8px;padding:0;line-height:1.45;overflow:auto}.xr-panel.xr-panel[data-⚓️-pin-bottom]{max-block-size:46dvh;inline-size:auto;margin:0 .5rem .5rem;inset-block-start:auto}.xr-panel :is(button){font:600 .74rem/1 var(--mono);color:var(--ink-2);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;background:0 0;min-block-size:1.75rem;min-inline-size:1.75rem}.xr-panel button:hover{border-color:var(--ink);color:var(--ink)}.xr-head{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-block-end:1px solid var(--rule);display:flex}.xr-sum{font-family:var(--mono);color:var(--ink-3);flex:1;font-size:.7rem}.xr-x{font-size:1rem!important}.xr-inspect{padding:var(--space-3) var(--space-4)}.xr-inspect[data-empty] .xr-card,.xr-inspect:not([data-empty]) .xr-hint{display:none}.xr-hint{color:var(--ink-3)}kbd{border:1px solid var(--rule);border-block-end-width:2px;border-radius:3px;padding:0 .3em;font-size:.75em}.xr-title{align-items:center;gap:var(--space-2);font:700 .95rem/1.2 var(--sans);color:var(--ink);display:flex}.xr-title b,.xr-tag b{block-size:1.25rem;min-inline-size:1.25rem;font:700 .66rem/1 var(--mono);background:var(--brand);color:#fff;border-radius:.65rem;place-items:center;padding-inline:.2rem;display:inline-grid}.xr-pinned{font:600 .62rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--brand);border:1px solid;border-radius:2px;margin-inline-start:auto;padding:.1rem .4rem}.xr-attrs{margin-block:var(--space-3) var(--space-2);flex-wrap:wrap;gap:.3rem;display:flex}.xr-attrs code{color:var(--ink);background:var(--wash);font-size:.7rem}.xr-anchors{font-family:var(--mono);color:var(--ink-2);padding:0;font-size:.7rem}.xr-anchors li:before{content:"⚓ ";color:var(--brand)}.xr-measures{gap:.15rem var(--space-3);border-block-start:1px dashed var(--rule);font:.7rem/1.5 var(--mono);grid-template-columns:auto 1fr;margin-block-start:var(--space-3);padding-block-start:var(--space-3);display:grid}.xr-measures dt{color:var(--ink-3)}.xr-measures dd{color:var(--ink);font-variant-numeric:tabular-nums;white-space:pre-wrap}.xr-step{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-block-start:1px solid var(--rule);font:.7rem var(--mono);color:var(--ink-3);display:flex}.xr-step [data-xr-pos]{text-align:center;font-variant-numeric:tabular-nums;min-inline-size:4ch}.xr-unpin{margin-inline-start:auto;padding-inline:.6rem}.xr-legend{padding:var(--space-2) var(--space-4) var(--space-3);border-block-start:1px solid var(--rule)}.xr-legend summary{cursor:pointer;font:600 .7rem var(--mono);color:var(--ink-3)}.xr-legend ul{margin-block:var(--space-2);gap:.35rem;padding:0;display:grid}.xr-legend li{align-items:center;gap:var(--space-2);display:flex}.xr-legend p{color:var(--ink-3);font-size:.74rem}.xr-legend i{flex:none;block-size:.75rem;inline-size:1.1rem}.k-anchor{outline:1.5px dashed var(--brand);outline-offset:-1.5px}.k-target{outline:1.5px dotted var(--ink);outline-offset:-1.5px;background:repeating-linear-gradient(-45deg, transparent 0 3px, color-mix(in oklab, var(--brand) 30%, transparent) 3px 4px)}.k-conn{background:var(--brand);block-size:1px!important}.k-guide{border-block-start:1px dashed var(--brand);block-size:0!important}@media (prefers-reduced-motion:no-preference){.xr-panel{transition:inset .4s var(--ease), width .4s var(--ease), height .4s var(--ease), opacity .25s ease, display .25s allow-discrete, overlay .25s allow-discrete}}.xr-panel:not(:popover-open){opacity:0}@starting-style{.xr-panel:popover-open{opacity:0}}.xr-layer{display:contents}.xr-layer[data-static]>*{display:none}.xr-o{z-index:55;pointer-events:none;font:600 .66rem/1.3 var(--mono);transition:opacity .2s}@starting-style{.xr-layer[data-entering] .xr-o{opacity:0}}.xr-layer[data-leaving] .xr-o,.xr-layer[data-leaving] .xr-rulers{opacity:0}.xr-fixed.xr-fixed{position:fixed}html[data-xray-focus] .xr-o:is(.xr-conn,.xr-gap,.xr-tag,.xr-atag):not([data-hot]){opacity:.16}html:not([data-xray-focus]) .xr-layer :is(.xr-guide,.xr-rmark,.xr-size){opacity:0}.xr-tag{background:var(--paper-raised);max-inline-size:min(36rem,100vw - 2rem);color:var(--ink);border:1px solid var(--brand);white-space:nowrap;cursor:pointer;pointer-events:auto;border-radius:1rem;align-items:center;gap:.35rem;margin:3px;padding:.12rem .4rem .12rem .12rem;display:inline-flex}.xr-tag-name{text-overflow:ellipsis;overflow:hidden}.xr-tag:not([data-region],[data-hot]){padding-inline-end:.12rem}.xr-tag:not([data-region],[data-hot]) .xr-tag-name{display:none}.xr-tag-attrs{color:var(--ink-3);text-overflow:ellipsis;display:none;overflow:hidden}.xr-tag:is([data-region],[data-hot]) .xr-tag-attrs{display:inline}.xr-tag[data-hot]{background:var(--brand);color:var(--on-brand)}.xr-tag[data-hot] b{background:var(--on-brand);color:var(--brand)}.xr-tag[data-hot] .xr-tag-attrs{color:oklab(100% 0 5.96046e-8/.8)}.xr-tag[data-broken]{border-style:dashed}.xr-tag[data-under=ruler]{margin-block-start:18px}.xr-tag[data-under=bar]{margin-block-start:calc(var(--bar) + 18px)}@media (width<=56rem){.xr-tag[data-region]:not([data-hot]) .xr-tag-attrs{display:none}}.xr-atag{color:var(--brand);background:color-mix(in oklab, var(--paper-raised) 90%, transparent);border:1px dashed var(--brand);white-space:nowrap;border-radius:2px;gap:.25rem;margin:3px;padding:.05rem .35rem;display:inline-flex}.xr-atag:not([data-region],[data-hot]) span{display:none}.xr-atag[data-under-bar]{margin-block-start:calc(var(--bar) + .5rem)}.xr-atag i{font-style:normal}.xr-atag[data-hot]{background:var(--brand);color:var(--on-brand);border-style:solid}.xr-conn{--len:0px}.xr-conn:is(.xr-above,.xr-below){block-size:var(--len)}.xr-conn:is(.xr-before,.xr-after){inline-size:var(--len)}.xr-conn:before,.xr-conn:after{content:"";position:absolute}.xr-conn:is(.xr-above,.xr-below):before{border-block:1px solid var(--brand);background:linear-gradient(var(--brand), var(--brand)) center / 1px 100% no-repeat;inline-size:9px;inset:0 auto 0 50%;translate:-50%}.xr-conn:is(.xr-before,.xr-after):before{border-inline:1px solid var(--brand);background:linear-gradient(var(--brand), var(--brand)) center / 100% 1px no-repeat;block-size:9px;inset:50% 0 auto;translate:0 -50%}.xr-conn[data-overlap],.xr-gap[data-overlap]{opacity:0!important}.xr-gap{place-items:center;display:grid}.xr-gap-v>span{translate:calc(50% + 7px)}.xr-gap-h>span{translate:0 calc(-50% - 7px)}.xr-gap>span{background:var(--brand);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:2px;padding:0 .3rem}.xr-gap>span:after{content:"px";opacity:.7;margin-inline-start:1px}.xr-gap[data-flipped]>span:before{content:"flipped · ";opacity:.8}.xr-guide{border:0 dashed color-mix(in oklab, var(--brand) 70%, transparent);z-index:54}.xr-guide.xr-h{border-block-start-width:1px;block-size:0}.xr-guide.xr-v{border-inline-start-width:1px;inline-size:0}.xr-size{background:var(--ink);color:var(--paper);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:2px;margin:6px;padding:.1rem .4rem}.xr-rulers{transition:opacity .2s}@starting-style{.xr-rulers{opacity:0}}.xr-ruler{z-index:53;pointer-events:none;background-color:color-mix(in oklab, var(--paper-raised) 94%, transparent);font:.55rem/1 var(--mono);color:var(--ink-3);--tick:color-mix(in oklab, var(--ink) 30%, transparent);position:fixed}.xr-ruler-x{inset:var(--bar) 0 auto 0;border-block-end:1px solid var(--rule);background-image:linear-gradient(90deg, var(--tick) 1px, transparent 1px), linear-gradient(90deg, var(--tick) 1px, transparent 1px);background-position:0 0,0 100%;background-repeat:repeat-x;background-size:100px 100%,10px 4px;block-size:14px}.xr-ruler-y{inset:calc(var(--bar) + 14px) auto 0 0;border-inline-end:1px solid var(--rule);background-image:linear-gradient(180deg, var(--tick) 1px, transparent 1px), linear-gradient(180deg, var(--tick) 1px, transparent 1px);background-size:100% 100px,4px 10px;background-position:0 calc(-14px - var(--bar)), 100% calc(-14px - var(--bar));background-repeat:repeat-y;inline-size:14px}.xr-ruler span{position:absolute}.xr-ruler-x span{inset-block-start:2px;inset-inline-start:calc(var(--at) + 3px)}.xr-ruler-y span{writing-mode:vertical-rl;inset-block-start:calc(var(--at) - var(--bar) - 14px + 3px);inset-inline-start:2px;rotate:180deg}.xr-ruler-y span:first-child{display:none}.xr-rmark{z-index:54;background:color-mix(in oklab, var(--brand) 22%, transparent);color:var(--brand);font-variant-numeric:tabular-nums}.xr-rmark-x.xr-rmark-x{inset-block:var(--bar) auto;border-inline:1px solid var(--brand);block-size:14px}.xr-rmark-y.xr-rmark-y{border-block:1px solid var(--brand);inline-size:14px;inset-inline:0 auto}.xr-rmark span{background:var(--brand);color:var(--on-brand);white-space:nowrap;padding:0 .25rem;font-size:.55rem;line-height:14px;position:absolute}.xr-rmark-x span:first-child{inset-inline-end:100%}.xr-rmark-x span:last-child{inset-inline-start:100%}.xr-rmark-y span{line-height:1.4;inset-inline-start:100%}.xr-rmark-y span:first-child{inset-block-end:100%}.xr-rmark-y span:last-child{inset-block-start:100%}@media (width<=30rem){.xr-ruler-y,.xr-rmark-y,.xr-guide.xr-v{display:none}.xr-tag{max-inline-size:calc(100vw - 1.5rem)}}@media (prefers-reduced-motion:reduce){.xr-o,.xr-rulers{transition:none}}.skip[data-astro-cid-hkbrpulz]{z-index:100;padding:var(--space-2) var(--space-4);background:var(--ink);color:var(--paper);position:absolute;inset-block-start:-10rem;inset-inline-start:var(--space-4)}.skip[data-astro-cid-hkbrpulz]:focus{inset-block-start:var(--space-2)}.shell-header[data-astro-cid-hkbrpulz]{align-items:stretch;gap:var(--space-8);padding-inline:var(--gutter);background:color-mix(in oklab, var(--paper) 85%, transparent);border-block-end:1px solid var(--rule);backdrop-filter:blur(12px);display:flex}.wordmark[data-astro-cid-hkbrpulz] .mark{flex:none}.wordmark[data-astro-cid-hkbrpulz]{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:.55rem;font-size:1rem;font-weight:650;text-decoration:none;display:inline-flex}.top-nav[data-astro-cid-hkbrpulz]{align-items:stretch;gap:var(--space-6);margin-inline-start:auto;display:flex}.top-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{font-size:var(--small);color:var(--ink-2);align-items:center;text-decoration:none;display:flex}.top-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover,.top-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current]{color:var(--ink)}.top-nav[data-astro-cid-hkbrpulz]:has(a:is(:hover,:focus-visible)) a[data-astro-cid-hkbrpulz][data-⚓️-name]:not(:hover,:focus-visible){anchor-name:none}.top-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:is(:hover,:focus-visible){anchor-name:--nav-current}.nav-marker[data-astro-cid-hkbrpulz]{background:var(--brand);pointer-events:none;block-size:2px}.top-nav[data-astro-cid-hkbrpulz]:not(:has(a[aria-current],a:hover,a:focus-visible)) .nav-marker[data-astro-cid-hkbrpulz]{display:none}.tools[data-astro-cid-hkbrpulz]{align-items:center;gap:var(--space-4);display:flex}.xray-btn[data-astro-cid-hkbrpulz]{font-size:var(--small);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;color:var(--ink-2);background:0 0;align-items:center;gap:.45rem;padding:.3rem .55rem;display:inline-flex}.xray-btn[data-astro-cid-hkbrpulz]:hover{border-color:var(--ink);color:var(--ink)}.xray-btn[data-astro-cid-hkbrpulz][aria-pressed=true]{border-color:var(--brand);color:var(--brand)}.xray-dot[data-astro-cid-hkbrpulz]{border:1.5px dashed var(--brand);block-size:.6rem;inline-size:.6rem}.xray-btn[data-astro-cid-hkbrpulz][aria-pressed=true] .xray-dot[data-astro-cid-hkbrpulz]{background:var(--brand);border-style:solid}.gh[data-astro-cid-hkbrpulz]{color:var(--ink-2);display:inline-flex}.gh[data-astro-cid-hkbrpulz]:hover{color:var(--ink)}.npm[data-astro-cid-hkbrpulz]{font-family:var(--mono);letter-spacing:.02em;color:var(--ink-2);font-size:.78rem;font-weight:700;text-decoration:none}.npm[data-astro-cid-hkbrpulz]:hover{color:var(--ink);text-decoration:underline}.menu-btn[data-astro-cid-hkbrpulz]{font-size:var(--small);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);cursor:pointer;padding:.3rem .7rem;font-weight:600;display:none}.site-menu[data-astro-cid-hkbrpulz][popover]{position:fixed}.site-menu[data-astro-cid-hkbrpulz]{inline-size:min(17rem, calc(100vw - 2 * var(--gutter)));max-block-size:calc(100dvh - var(--bar) - 1rem);overscroll-behavior:contain;padding:var(--space-4) var(--space-6) var(--space-6);background:var(--paper-raised);color:var(--ink);border:1px solid var(--rule-strong);border-radius:var(--radius-lg);margin-block-start:6px;overflow:auto;box-shadow:0 12px 32px -8px #00000059}.shell-footer[data-astro-cid-hkbrpulz]{border-block-start:1px solid var(--rule)}.foot-cols[data-astro-cid-hkbrpulz]{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));padding-block-start:var(--space-8);display:grid}.foot-cols[data-astro-cid-hkbrpulz]>div[data-astro-cid-hkbrpulz]{align-content:start;gap:var(--space-2);display:grid}.foot-h[data-astro-cid-hkbrpulz]{font-family:var(--mono);color:var(--ink-3);margin-block-end:var(--space-1);font-size:.74rem}.foot-h[data-astro-cid-hkbrpulz]:before{content:"// ";color:var(--brand)}.shell-footer[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--ink-2);font-size:var(--small);text-decoration:none}.shell-footer[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--ink);text-decoration:underline}.foot-legal[data-astro-cid-hkbrpulz]{font-family:var(--mono);color:var(--ink-3);margin-block-start:var(--space-12);font-size:.74rem}@media (width<=55.99rem){.top-nav[data-astro-cid-hkbrpulz]{display:none}.tools[data-astro-cid-hkbrpulz]{margin-inline-start:auto}.menu-btn[data-astro-cid-hkbrpulz]{display:inline-flex}}@media (width<=30rem){.shell-header[data-astro-cid-hkbrpulz]{gap:var(--space-3)}.wordmark[data-astro-cid-hkbrpulz] span[data-astro-cid-hkbrpulz]{font-size:1rem}.xray-btn[data-astro-cid-hkbrpulz] span[data-astro-cid-hkbrpulz]:last-child{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.xray-btn[data-astro-cid-hkbrpulz]{padding:.5rem}.gh[data-astro-cid-hkbrpulz],.npm[data-astro-cid-hkbrpulz]{display:none}}
