:root{--paper: #e9efea;--paper-raised: #f6f8f5;--ink: #13233b;--ink-soft: #4a5a6e;--grid: #c7d3cc;--contour: #8c6a3a;--water: #2d6e9e;--signal: #e7b10a;--danger: #b3412e;--ok: #2f7d5b;--font-sans: "Archivo", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--t-13: .8125rem;--t-16: 1rem;--t-20: 1.25rem;--t-25: 1.5625rem;--t-31: 1.9375rem;--t-39: 2.4375rem;--t-49: 3.0625rem;--t-61: 3.8125rem;--r-control: 2px;--r-panel: 6px;--gutter: clamp(16px, 4vw, 40px);--max: 1200px;--section-gap: clamp(72px, 10vw, 128px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.55;font-variation-settings:"wdth" 100;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}h1,h2,h3{font-stretch:125%;font-weight:750;letter-spacing:.005em;line-height:1.08;margin:0;text-wrap:balance}h1{font-size:clamp(var(--t-31),5.4vw,var(--t-61));font-weight:800}h2{font-size:clamp(var(--t-25),3.6vw,var(--t-39))}h3{font-size:var(--t-20);font-stretch:112%;line-height:1.25}p{margin:0;max-width:66ch;text-wrap:pretty}a{color:var(--water);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}code,pre,kbd{font-family:var(--font-mono);font-size:.86em}:where(p,li,td,dd) code{background:var(--paper-raised);border:1px solid var(--grid);border-radius:var(--r-control);padding:.05em .35em;overflow-wrap:anywhere}:focus-visible{outline:2px solid var(--water);outline-offset:3px;border-radius:var(--r-control)}::selection{background:var(--signal);color:var(--ink)}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-gap) 0}.lede{font-size:var(--t-20);line-height:1.5;color:var(--ink-soft)}.muted{color:var(--ink-soft)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:.5em;padding:.7em 1.15em;border-radius:var(--r-control);border:1px solid var(--ink);font:600 var(--t-16) / 1 var(--font-sans);text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s}.btn-primary{background:var(--ink);color:var(--paper-raised)}.btn-primary:hover{background:#1f3655}.btn-secondary{background:transparent;color:var(--ink)}.btn-secondary:hover{background:var(--paper-raised)}.code{margin:0;background:var(--ink);color:#e6ece7;border-radius:var(--r-panel);padding:1.1rem 1.25rem;overflow-x:auto;font-size:.8125rem;line-height:1.65;tab-size:2}.code .c{color:#8fa0b3}.code .s{color:#f0cf6b}.code .k{color:#9cc6e6}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.logo[data-astro-cid-tvrurpns]{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);text-decoration:none;font-weight:800;font-stretch:125%;font-size:1.125rem;letter-spacing:.01em}.skip[data-astro-cid-5hce7sga]{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper-raised);padding:.5rem .9rem;z-index:100}.skip[data-astro-cid-5hce7sga]:focus{left:8px}.site-header[data-astro-cid-5hce7sga]{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--grid)}.bar[data-astro-cid-5hce7sga]{display:flex;align-items:center;gap:2rem;height:64px}.nav-desktop[data-astro-cid-5hce7sga] ul[data-astro-cid-5hce7sga]{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}.nav-desktop[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga],.signin[data-astro-cid-5hce7sga]{color:var(--ink);text-decoration:none;font-weight:500;font-size:.9375rem}.nav-desktop[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover,.signin[data-astro-cid-5hce7sga]:hover{text-decoration:underline}.actions[data-astro-cid-5hce7sga]{margin-left:auto;display:flex;align-items:center;gap:1.25rem}.actions[data-astro-cid-5hce7sga] .btn[data-astro-cid-5hce7sga]{padding:.6em 1em;font-size:.9375rem}.nav-mobile[data-astro-cid-5hce7sga]{display:none;position:relative}.nav-mobile[data-astro-cid-5hce7sga] summary[data-astro-cid-5hce7sga]{list-style:none;cursor:pointer;padding:6px;display:grid;place-items:center}.nav-mobile[data-astro-cid-5hce7sga] summary[data-astro-cid-5hce7sga]::-webkit-details-marker{display:none}.nav-mobile[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga]{position:absolute;right:0;top:calc(100% + 10px);background:var(--paper-raised);border:1px solid var(--grid);border-radius:var(--r-panel);box-shadow:0 12px 32px #13233b29;min-width:220px}.nav-mobile[data-astro-cid-5hce7sga] ul[data-astro-cid-5hce7sga]{list-style:none;margin:0;padding:.5rem}.nav-mobile[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{display:block;padding:.65rem .75rem;color:var(--ink);text-decoration:none}@media(max-width:880px){.nav-desktop[data-astro-cid-5hce7sga],.signin[data-astro-cid-5hce7sga]{display:none}.bar[data-astro-cid-5hce7sga]{gap:1rem}.nav-mobile[data-astro-cid-5hce7sga]{display:block}}.site-footer[data-astro-cid-5hce7sga]{position:relative;margin-top:var(--section-gap);border-top:1px solid var(--grid);overflow:hidden;padding-top:56px}.footer-contours[data-astro-cid-5hce7sga]{position:absolute;inset:0;width:100%;height:100%;color:var(--contour);opacity:.55;pointer-events:none}.footer-grid[data-astro-cid-5hce7sga]{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}.footer-brand[data-astro-cid-5hce7sga] p[data-astro-cid-5hce7sga]{margin-top:1rem;max-width:38ch;font-size:.9375rem}.footer-h[data-astro-cid-5hce7sga]{font-size:.9375rem;font-stretch:100%;font-weight:700;margin-bottom:.75rem}.site-footer[data-astro-cid-5hce7sga] ul[data-astro-cid-5hce7sga]{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.9375rem}.site-footer[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{color:var(--ink-soft);text-decoration:none}.site-footer[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover{color:var(--ink);text-decoration:underline}.footer-base[data-astro-cid-5hce7sga]{position:relative;padding-block:48px 32px;font-size:.875rem}@media(max-width:760px){.footer-grid[data-astro-cid-5hce7sga]{grid-template-columns:1fr 1fr}.footer-brand[data-astro-cid-5hce7sga]{grid-column:1 / -1}}
