@font-face{font-family:Archivo;src:url(/fonts/archivo.woff2)format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:Atkinson Next;src:url(/fonts/atkinson.woff2)format("woff2-variations");font-weight:200 800;font-display:swap}@font-face{font-family:Atkinson Next;src:url(/fonts/atkinson-italic.woff2)format("woff2-variations");font-weight:200 800;font-style:italic;font-display:swap}@font-face{font-family:Atkinson Mono;src:url(/fonts/atkinson-mono.woff2)format("woff2-variations");font-weight:200 800;font-display:swap}@font-face{font-family:Archivo fallback;src:local(Arial Narrow),local(Arial);size-adjust:92%;ascent-override:95%;descent-override:24%}@font-face{font-family:Atkinson fallback;src:local(Verdana),local(Arial);size-adjust:94%;ascent-override:98%;descent-override:24%}@font-face{font-family:Atkinson Mono fallback;src:local(Menlo),local(Consolas);size-adjust:96%}:root{color-scheme:light;--ground:oklch(98.3% .003 240);--surface-1:oklch(96.8% .004 240);--surface-2:oklch(94.8% .005 242);--surface-3:oklch(92.5% .006 244);--line:oklch(88.8% .006 250);--line-strong:oklch(79% .008 250);--ink:oklch(23.5% .014 255);--ink-2:oklch(41% .014 255);--ink-3:oklch(52% .012 255);--accent:oklch(69% .178 49);--accent-hover:oklch(65.5% .185 47);--accent-press:oklch(62% .18 45);--accent-ink:oklch(50% .15 42);--accent-wash:oklch(95.5% .03 60);--on-accent:oklch(20% .02 45);--risk:oklch(52% .19 27);--focus:oklch(55% .16 45);--tracer:repeating-linear-gradient(-55deg, var(--accent) 0 2px, transparent 2px 5px);--font-display:"Archivo", "Archivo fallback", system-ui, sans-serif;--font-body:"Atkinson Next", "Atkinson fallback", system-ui, sans-serif;--font-mono:"Atkinson Mono", "Atkinson Mono fallback", ui-monospace, monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--r-1:6px;--r-2:10px;--r-3:14px;--measure:70ch;--page:1240px;--gutter:clamp(16px, 4vw, 40px);--bar:60px;--ease-out:cubic-bezier(.22, 1, .36, 1);--code-foreground:var(--ink);--code-background:transparent;--code-token-comment:var(--ink-3);--code-token-keyword:var(--ink);--code-token-punctuation:var(--ink-3);--code-token-function:var(--accent-ink);--code-token-constant:oklch(36% .06 255);--code-token-string:oklch(42% .05 150);--code-token-string-expression:oklch(42% .05 150);--code-token-parameter:var(--ink-2);--code-token-link:var(--accent-ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground:oklch(20% .008 255);--surface-1:oklch(23.5% .009 255);--surface-2:oklch(26.5% .01 255);--surface-3:oklch(30% .011 255);--line:oklch(32% .01 255);--line-strong:oklch(42% .012 255);--ink:oklch(94% .005 250);--ink-2:oklch(80% .008 250);--ink-3:oklch(68% .01 250);--accent:oklch(72% .17 52);--accent-hover:oklch(76% .16 55);--accent-press:oklch(68% .17 50);--accent-ink:oklch(78% .14 58);--accent-wash:oklch(29% .04 55);--on-accent:oklch(18% .02 45);--risk:oklch(72% .15 25);--focus:oklch(78% .14 58);--code-token-constant:oklch(82% .06 245);--code-token-string:oklch(80% .07 150);--code-token-string-expression:oklch(80% .07 150)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--bar) + 16px)}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-feature-settings:"kern";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.6}::selection{background:color-mix(in oklch, var(--accent) 32%, transparent);color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}html{scrollbar-color:var(--line-strong) transparent}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}a{color:inherit;text-decoration-color:color-mix(in oklch, currentColor 35%, transparent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-color:currentColor}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:680;font-stretch:80%;line-height:1.12}p{text-wrap:pretty;margin:0}code,kbd,samp,pre{font-family:var(--font-mono)}.num,.tabular{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{width:min(100% - 2 * var(--gutter), var(--page));margin-inline:auto}.skip{z-index:100;background:var(--ink);color:var(--ground);border-radius:var(--r-1);padding:8px 12px;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.btn{--h:42px;height:var(--h);border-radius:var(--r-1);border:1px solid var(--line-strong);background:var(--ground);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background-color .14s var(--ease-out), border-color .14s var(--ease-out), transform .12s var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:.97rem;font-weight:650;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-1);border-color:var(--ink-3)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:#0000}.btn.primary:hover{background:var(--accent-hover)}.btn.primary:active{background:var(--accent-press)}.btn.quiet{background:0 0;border-color:#0000;padding:0 10px}.btn.quiet:hover{background:var(--surface-2)}.btn.small{--h:34px;padding:0 12px;font-size:.9rem}.btn kbd{color:inherit;opacity:.7;font-size:.75rem;font-family:var(--font-mono)}.bar{z-index:40;height:var(--bar);background:color-mix(in oklch, var(--ground) 86%, transparent);backdrop-filter:saturate(1.2)blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.bar .page{align-items:center;gap:var(--s-5);height:100%;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.32rem;font-weight:760;font-stretch:78%;text-decoration:none;display:inline-flex}.brand svg{width:26px;height:22px}.nav{gap:2px;margin-inline-start:var(--s-3);display:flex}.nav a{border-radius:var(--r-1);color:var(--ink-2);padding:6px 10px;font-size:.95rem;font-weight:600;text-decoration:none}.nav a:hover{color:var(--ink);background:var(--surface-2)}.nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}.bar .tools{align-items:center;gap:var(--s-2);margin-inline-start:auto;display:flex}.search-btn{min-width:220px;color:var(--ink-3);background:var(--surface-1);justify-content:space-between;font-weight:500}.search-btn .label-short,.menu-btn{display:none}@media (width<=960px){.nav{display:none}.search-btn{min-width:0}.search-btn .label-long,.search-btn kbd{display:none}.search-btn .label-short{display:inline}.menu-btn{display:inline-flex}}.drawer{inset:var(--bar) 0 auto 0;z-index:39;background:var(--ground);border-bottom:1px solid var(--line);padding:var(--s-3) var(--gutter) var(--s-5);display:none;position:fixed}.drawer[data-open=true]{gap:2px;display:grid}.drawer a{border-bottom:1px solid var(--line);padding:12px 8px;font-size:1.05rem;font-weight:650;text-decoration:none}.head{padding-block:var(--s-7) var(--s-5)}.head h1{font-size:clamp(2rem,4.2vw,2.9rem)}.crumbs{color:var(--ink-3);margin-bottom:var(--s-3);flex-wrap:wrap;gap:6px 14px;font-size:.9rem;display:flex}.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.tabs{gap:var(--s-1);border-bottom:1px solid var(--line);scrollbar-width:none;margin-bottom:var(--s-6);display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{color:var(--ink-2);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-weight:650;text-decoration:none}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.tabs .n{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-inline-start:6px;font-weight:500}.prose{max-width:var(--measure)}.prose>*+*{margin-top:.85em}.prose h3{margin-top:1.6em;font-size:1.12rem;font-stretch:85%}.prose h4,.prose h5{margin-top:1.4em;font-size:1rem;font-stretch:90%}.prose ul,.prose ol{margin-block:.6em 0;padding-inline-start:1.25em}.prose li+li{margin-top:.3em}.prose li::marker{color:var(--ink-3)}.prose strong{font-weight:700}.prose :not(pre)>code{background:var(--surface-2);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:4px;padding:.08em .32em;font-size:.9em}.prose blockquote{border-inline-start:1px solid var(--line-strong);color:var(--ink-2);margin:0;padding-inline-start:var(--s-4)}.table{border:1px solid var(--line);border-radius:var(--r-2);max-width:100%;overflow-x:auto}.table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.94rem}.table th{text-align:start;background:var(--surface-1);font-weight:700}.table th,.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}.table tr:last-child td{border-bottom:0}.code{border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface-1);max-width:100%;margin:0;overflow:hidden}.code figcaption{border-bottom:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;gap:12px;padding:4px 6px 4px 14px;font-size:.8rem;font-weight:600;display:flex}.code[data-kind=output]{background:var(--ground)}.code[data-kind=output] figcaption{border-bottom-style:dashed}.code pre{tab-size:2;font-variant-ligatures:none;margin:0;padding:14px 16px;font-size:.86rem;line-height:1.55;overflow-x:auto}.code pre code{font-family:inherit}.copy{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:4px 8px;font-size:.8rem;font-weight:650}.copy:hover{color:var(--ink);background:var(--surface-2)}.copy[data-done]{color:var(--accent-ink)}.mark-pins{flex:none;align-items:stretch;gap:2px;height:16px;display:inline-flex}.mark-pins i{width:4px;box-shadow:inset 0 0 0 1px var(--line-strong);transition:background-color .3s var(--ease-out), box-shadow .3s var(--ease-out);background:0 0;border-radius:1px}.mark-pins i[data-on][data-pin=solid]{background:var(--accent);box-shadow:none}.mark-pins i[data-on][data-pin=stripe]{background:var(--tracer), color-mix(in oklch, var(--accent) 14%, var(--ground));box-shadow:inset 0 0 0 1px var(--accent)}.mark-pins.big{gap:3px;height:28px}.mark-pins.big i{border-radius:1.5px;width:7px}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.mono{font-family:var(--font-mono)}.rule{border:0;border-top:1px solid var(--line);margin:0}.stack>*+*{margin-top:var(--s-4)}.row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.level{color:var(--ink-3);white-space:nowrap;font-size:.82rem;font-weight:650}.level[data-l="3"]{color:var(--ink)}.foot{margin-top:var(--s-9);border-top:1px solid var(--line);padding-block:var(--s-6) var(--s-7);color:var(--ink-3);font-size:.9rem}.foot .page{gap:var(--s-4) var(--s-6);flex-wrap:wrap;justify-content:space-between;display:flex}.foot a{color:var(--ink-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.search[data-astro-cid-ac66eqjo]{border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--ground);width:min(720px,100vw - 24px);max-height:min(78vh,720px);color:var(--ink);margin:10vh auto auto;padding:0;overflow:hidden;box-shadow:0 24px 60px -20px oklch(20% .02 255/.35)}.search[data-astro-cid-ac66eqjo][open]{animation:pop .18s var(--ease-out);flex-direction:column;display:flex}.search[data-astro-cid-ac66eqjo]::backdrop{background:oklch(20% .02 255/.28)}@keyframes pop{0%{opacity:0;transform:scale(.97)}}.search-box[data-astro-cid-ac66eqjo]{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 10px 10px 16px;display:flex}.search-box[data-astro-cid-ac66eqjo] input[data-astro-cid-ac66eqjo]{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:8px 0;font-size:1.1rem}.search-results[data-astro-cid-ac66eqjo]{margin:0;padding:6px;list-style:none;overflow-y:auto}.search-results[data-astro-cid-ac66eqjo] a{border-radius:var(--r-2);padding:10px 12px;text-decoration:none;display:block}.search-results[data-astro-cid-ac66eqjo] a:hover,.search-results[data-astro-cid-ac66eqjo] a[aria-selected=true]{background:var(--surface-2)}.search-results[data-astro-cid-ac66eqjo] .k{color:var(--ink-3);font-size:.78rem;font-weight:650}.search-results[data-astro-cid-ac66eqjo] .t{font-weight:650;display:block}.search-results[data-astro-cid-ac66eqjo] .x{color:var(--ink-2);margin-top:2px;font-size:.9rem;display:block}.search-results[data-astro-cid-ac66eqjo] mark{background:var(--accent-wash);color:var(--ink);border-radius:2px}.search-results[data-astro-cid-ac66eqjo] .note{color:var(--ink-2);padding:16px 12px}
