@font-face{font-family:Commit Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/CommitMono-400-Regular.woff2)format("woff2")}@font-face{font-family:Commit Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/CommitMono-400-Italic.woff2)format("woff2")}@font-face{font-family:Commit Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CommitMono-700-Regular.woff2)format("woff2")}@font-face{font-family:Redaction;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Redaction-Regular.woff2)format("woff2")}@font-face{font-family:Redaction;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/Redaction-Italic.woff2)format("woff2")}@font-face{font-family:Redaction;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Redaction-Bold.woff2)format("woff2")}@font-face{font-family:Overused Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/OverusedGrotesk-Roman.woff2)format("woff2")}:root{--paper:#f3efe6;--ink:#16181d;--muted:#5c5a54;--rule:#cfc8b8;--fill:#1b1d22;--code-bg:#e8e2d6;--font-serif:"Redaction", "Times New Roman", serif;--font-sans:"Overused Grotesk", system-ui, sans-serif;--font-mono:"Commit Mono", ui-monospace, monospace;--page-gutter:1.2rem;--page-max:1120px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:112.5%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html,body{background:var(--paper);color:var(--ink)}body{font-family:var(--font-serif);min-height:100vh;line-height:1.5}a{color:inherit}img,video{max-width:100%;display:block}.wrap{width:min(var(--page-max), calc(100% - 2 * var(--page-gutter)));margin:0 auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-prose{max-width:46rem;font-family:var(--font-sans);font-size:1.05rem;line-height:1.55}.page-prose>*+*{margin-top:1.1rem}.page-prose h2{letter-spacing:-.02em;margin-top:2.25rem;margin-bottom:.35rem;font-size:1.45rem;font-weight:700}.page-prose h3{margin-top:1.75rem;font-size:1.15rem;font-weight:600}.page-prose ul,.page-prose ol{padding-left:1.25rem}.page-prose li+li{margin-top:.45rem}.page-prose a{text-underline-offset:.15em;text-decoration:underline}.page-prose code{font-family:var(--font-mono);background:var(--code-bg);padding:.1em .35em;font-size:.88em}.page-prose pre{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--rule);padding:1rem 1.1rem;font-size:.78rem;line-height:1.45;overflow-x:auto}.page-prose pre code{font-size:inherit;background:0 0;padding:0}.page-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.page-prose .page-btn{text-decoration:none}:root{--footer-reveal-pad-top:clamp(3.25rem, 9vh, 6rem);--footer-reveal-pad-bottom:clamp(2.75rem, 8vh, 5rem);--footer-pad-x:clamp(1.5rem, 5vw, 3rem);--footer-bg:#2f2c26;--footer-fg:#f3efe6;--footer-muted:color-mix(in srgb, var(--footer-fg) 58%, transparent);--content-cover-radius:clamp(2.5rem, 12vw, 5.5rem)}.footer-underlay[data-astro-cid-jo6i4kqk]{z-index:1;pointer-events:none;position:fixed;bottom:0;left:0;right:0}.footer-underlay-inner[data-astro-cid-jo6i4kqk]{transform-origin:bottom;will-change:filter;background:var(--footer-bg);color:var(--footer-muted);padding:var(--footer-reveal-pad-top) var(--footer-pad-x) var(--footer-reveal-pad-bottom);position:relative}.footer-underlay-inner[data-astro-cid-jo6i4kqk]:after{content:"";height:calc(var(--content-cover-radius) + 2px);background:var(--footer-bg);pointer-events:none;position:absolute;bottom:calc(100% - 1px);left:0;right:0}.footer-underlay-inner[data-astro-cid-jo6i4kqk]:before{content:"";z-index:1;pointer-events:none;opacity:calc(var(--footer-shade,1) * .45);background:#000;position:absolute;inset:0}.footer-underlay[data-astro-cid-jo6i4kqk] .wrap[data-astro-cid-jo6i4kqk]{z-index:2;width:100%;max-width:var(--page-max);margin-inline:auto;position:relative}.footer-underlay[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{pointer-events:auto;text-decoration:none}@media (prefers-reduced-motion:reduce){.footer-underlay[data-astro-cid-jo6i4kqk]{pointer-events:auto;position:static}.footer-underlay-inner[data-astro-cid-jo6i4kqk]:before{display:none}}footer[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);color:var(--footer-muted);padding:0 0 1.25rem;font-size:.75rem}.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,max-content));justify-content:start;align-items:start;gap:1.75rem clamp(2rem,5vw,3.5rem);display:grid}.footer-brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}.footer-bottom[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:clamp(2.75rem,6vh,4rem);display:flex}.footer-copy[data-astro-cid-jo6i4kqk]{line-height:1.4}.footer-mark[data-astro-cid-jo6i4kqk]{font-family:var(--font-sans);letter-spacing:-.03em;color:var(--footer-fg);font-size:1.85rem;font-weight:400;line-height:1}.footer-heading[data-astro-cid-jo6i4kqk]{color:var(--footer-fg);margin:0 0 .85rem;font-size:.75rem;font-weight:400}.footer-links[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start;gap:.55rem;list-style:none;display:flex}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk],.footer-legal[data-astro-cid-jo6i4kqk]{color:var(--footer-muted)}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:focus-visible,.footer-legal[data-astro-cid-jo6i4kqk]:hover,.footer-legal[data-astro-cid-jo6i4kqk]:focus-visible{color:var(--footer-fg)}@media (width<=860px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr;gap:1.75rem}}:root{--nav-top-gap:.85rem;--nav-brand-size:1.85rem;--nav-section-gap:8rem;--nav-owl-scale:2.65;--nav-owl-height:calc(var(--nav-brand-size) * var(--nav-owl-scale));--nav-owl-aspect:calc(599 / 845);--nav-owl-y-nudge:calc(var(--nav-brand-size) * (3 - var(--nav-owl-scale)));--nav-owl-overlap-slab:.5rem;--nav-slab-radius:.85rem;--nav-slab-pad:.85rem;--nav-slab-block:calc(var(--nav-slab-pad) * 2 + var(--nav-brand-size));--nav-slab-bg:color-mix(in srgb, var(--paper) 82%, transparent);--nav-slab-blur:18px;--nav-slab-border:color-mix(in srgb, var(--rule) 70%, transparent);--nav-stack:calc(var(--nav-owl-height) + var(--nav-slab-block) - var(--nav-owl-overlap-slab) + .35rem);--nav-stack-compact:calc(var(--nav-slab-block) + .35rem);--nav-compact-pad-inline:.35rem;--nav-compact-section-gap:.75rem}html{scroll-padding-top:calc(var(--nav-top-gap) + var(--nav-stack))}body{padding-top:calc(var(--nav-top-gap) + var(--nav-stack))}@media (prefers-reduced-motion:no-preference){body{transition:padding-top .45s var(--ease-standard)}}html.nav-owl-scroll.nav-compact{--nav-stack:var(--nav-stack-compact);--nav-section-gap:calc(8rem + var(--nav-compact-section-gap))}html.nav-owl-scroll.nav-compact .nav[data-astro-cid-wpvy4v7s] .wrap[data-astro-cid-wpvy4v7s]{padding-inline:calc(var(--nav-slab-pad) + var(--nav-compact-pad-inline))}html.nav-owl-scroll.nav-compact .nav-owl[data-astro-cid-wpvy4v7s]{opacity:0;pointer-events:none;max-height:0;margin-block:0;overflow:hidden}@media (prefers-reduced-motion:no-preference){html.nav-owl-scroll .nav-owl[data-astro-cid-wpvy4v7s]{max-height:calc(var(--nav-owl-height) + 1.5rem);transition:opacity .4s var(--ease-standard), max-height .45s var(--ease-standard), margin .45s var(--ease-standard)}html.nav-owl-scroll .nav[data-astro-cid-wpvy4v7s] .wrap[data-astro-cid-wpvy4v7s]{transition:padding .45s var(--ease-standard)}}.nav[data-astro-cid-wpvy4v7s]{top:var(--nav-top-gap);z-index:1000;width:100%;padding-inline:var(--page-gutter);pointer-events:none;font-family:var(--font-mono);letter-spacing:.01em;justify-content:center;font-size:.8125rem;display:flex;position:fixed;left:0;right:0}.nav-row[data-astro-cid-wpvy4v7s]{pointer-events:auto;width:fit-content;max-width:min(var(--page-max), 100%);flex-direction:column;align-items:flex-start;margin-inline:auto;display:flex;position:relative}.nav-owl[data-astro-cid-wpvy4v7s]{z-index:2;flex-shrink:0;align-self:flex-start;margin-block-start:var(--nav-owl-y-nudge);margin-block-end:calc(-1 * var(--nav-owl-overlap-slab));line-height:0;position:relative}.nav-owl[data-astro-cid-wpvy4v7s] img[data-astro-cid-wpvy4v7s]{height:var(--nav-owl-height);width:calc(var(--nav-owl-height) * var(--nav-owl-aspect));object-fit:contain;object-position:bottom left;max-width:none;display:block}.nav[data-astro-cid-wpvy4v7s] .wrap[data-astro-cid-wpvy4v7s]{z-index:1;width:fit-content;max-width:100%;padding:var(--nav-slab-pad);border-radius:var(--nav-slab-radius);background:var(--nav-slab-bg);-webkit-backdrop-filter:blur(var(--nav-slab-blur)) saturate(1.15);border:1px solid var(--nav-slab-border);box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent), 0 8px 32px color-mix(in srgb, var(--ink) 8%, transparent);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;display:flex;position:relative}.nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s],.nav[data-astro-cid-wpvy4v7s] button[data-astro-cid-wpvy4v7s]{text-decoration:none}.nav-brand[data-astro-cid-wpvy4v7s]{flex-shrink:0;align-items:center;min-width:0;display:flex}.nav-mark[data-astro-cid-wpvy4v7s]{font-family:var(--font-sans);font-size:var(--nav-brand-size);letter-spacing:-.03em;align-items:center;font-weight:400;line-height:1;display:flex}.nav-links[data-astro-cid-wpvy4v7s]{flex-wrap:wrap;justify-content:center;align-items:center;gap:.15rem 1.35rem;margin-inline-start:var(--nav-section-gap);list-style:none;display:flex}.nav-links[data-astro-cid-wpvy4v7s]>li[data-astro-cid-wpvy4v7s]>a[data-astro-cid-wpvy4v7s]{color:var(--ink);opacity:.42;transition:opacity .2s;position:relative}.nav-links[data-astro-cid-wpvy4v7s]>li[data-astro-cid-wpvy4v7s]>a[data-astro-cid-wpvy4v7s].is-current,.nav-item[data-astro-cid-wpvy4v7s]:has(.nav-dropdown a.is-current)>.nav-drop-btn[data-astro-cid-wpvy4v7s],.nav-links[data-astro-cid-wpvy4v7s]>li[data-astro-cid-wpvy4v7s]>a[data-astro-cid-wpvy4v7s]:hover,.nav-links[data-astro-cid-wpvy4v7s]>li[data-astro-cid-wpvy4v7s]>a[data-astro-cid-wpvy4v7s]:focus-visible{opacity:1}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:after,.nav-drop-btn[data-astro-cid-wpvy4v7s]:after{content:"";background:var(--ink);transform-origin:0;height:1px;transition:transform .25s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:focus-visible:after{transform:scaleX(1)}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s].install-link{border:1px solid var(--ink);border-radius:9999px;padding:.35rem .7rem}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s].install-link:after{display:none}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s].install-link:hover{background:var(--ink);color:var(--paper)}.nav-item[data-astro-cid-wpvy4v7s]{position:relative}.nav-item[data-astro-cid-wpvy4v7s]:after{content:"";height:calc(var(--nav-slab-pad) + .45rem);position:absolute;top:100%;left:-.5rem;right:-.5rem}.nav-drop-btn[data-astro-cid-wpvy4v7s]{font:inherit;color:var(--ink);opacity:.42;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;transition:opacity .2s;display:inline-flex;position:relative}.nav-drop-btn[data-astro-cid-wpvy4v7s]:hover,.nav-drop-btn[data-astro-cid-wpvy4v7s]:focus-visible,.nav-item[data-astro-cid-wpvy4v7s].is-open>.nav-drop-btn[data-astro-cid-wpvy4v7s]{opacity:1}.nav-drop-btn[data-astro-cid-wpvy4v7s]:after{right:1.1rem}.nav-drop-btn[data-astro-cid-wpvy4v7s]:focus-visible:after,.nav-item[data-astro-cid-wpvy4v7s].is-open .nav-drop-btn[data-astro-cid-wpvy4v7s]:after{transform:scaleX(1)}.nav-caret[data-astro-cid-wpvy4v7s]{font-size:.5625rem;line-height:1;transform:translateY(1px)}.nav-dropdown[data-astro-cid-wpvy4v7s]{top:calc(100% + var(--nav-slab-pad) + .45rem);background:var(--nav-slab-bg);min-width:11rem;-webkit-backdrop-filter:blur(var(--nav-slab-blur)) saturate(1.15);border:1px solid var(--nav-slab-border);border-radius:var(--nav-slab-radius);z-index:5;box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent), 0 10px 28px color-mix(in srgb, var(--ink) 12%, transparent);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease, transform .32s var(--ease-out), visibility .32s, max-height .32s ease, padding .32s ease;flex-direction:column;gap:.35rem;padding:.6rem 0;list-style:none;display:flex;position:absolute;right:0;transform:translateY(-10px)}.nav-dropdown[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{opacity:1;padding:.65rem 1.15rem;display:block}.nav-dropdown[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:after{left:1.15rem;right:1.15rem}.nav-item[data-astro-cid-wpvy4v7s]:hover .nav-dropdown[data-astro-cid-wpvy4v7s],.nav-item[data-astro-cid-wpvy4v7s]:focus-within .nav-dropdown[data-astro-cid-wpvy4v7s],.nav-item[data-astro-cid-wpvy4v7s].is-open .nav-dropdown[data-astro-cid-wpvy4v7s]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.nav-toggle[data-astro-cid-wpvy4v7s]{background:var(--paper);border:1px solid var(--ink);cursor:pointer;color:var(--ink);flex-shrink:0;margin-left:auto;padding:.4rem .7rem;font-family:inherit;font-size:.75rem;display:none}@media (width<=860px){.nav-item[data-astro-cid-wpvy4v7s]:after{display:none}.nav[data-astro-cid-wpvy4v7s] .wrap[data-astro-cid-wpvy4v7s]{justify-content:space-between;gap:1rem}.nav-toggle[data-astro-cid-wpvy4v7s]{z-index:50;justify-content:center;align-items:center;display:inline-flex;position:relative}.nav-links[data-astro-cid-wpvy4v7s]{background:var(--paper);border-bottom:1px solid var(--rule);padding:1rem var(--page-gutter) 1.25rem;flex-direction:column;align-items:flex-start;gap:.85rem;margin-inline-start:0;display:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.nav[data-astro-cid-wpvy4v7s].is-open .nav-links[data-astro-cid-wpvy4v7s]{display:flex}.nav-dropdown[data-astro-cid-wpvy4v7s]{min-width:0;box-shadow:none;border:0;gap:.55rem;max-height:0;padding:0;position:static;overflow:hidden;transform:translateY(-8px)}.nav-item[data-astro-cid-wpvy4v7s].is-open .nav-dropdown[data-astro-cid-wpvy4v7s],.nav-item[data-astro-cid-wpvy4v7s]:focus-within .nav-dropdown[data-astro-cid-wpvy4v7s]{max-height:12rem;padding:.35rem 0 0 .85rem;transform:translateY(0)}.nav-dropdown[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{padding:.35rem 0}.nav-dropdown[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:after{left:0;right:0}}.content-cover[data-astro-cid-z4jru4n3]{z-index:2;background:var(--paper);margin-bottom:var(--footer-reveal-h,0px);border-radius:0 0 var(--content-cover-radius) var(--content-cover-radius);position:relative}.page-main[data-astro-cid-z4jru4n3]{min-height:60vh}@media (prefers-reduced-motion:reduce){.content-cover[data-astro-cid-z4jru4n3]{margin-bottom:0}}
