:root{color-scheme:dark;--bg:#0a1415;--surface:#111d1d;--surface-2:#172625;--line:#213330;--text:#e6efeb;--muted:#8ea59d;--accent:#51d0ae;--accent-fill:#51d0ae;--accent-fill-hover:#7cdcc2;--accent-ink:#052019;--bronze:#c7894a;--shadow:0 40px 90px -40px #000000bf;--term-bg:#070f10;--term-line:#1f2f2d;--term-text:#e6efeb;--term-muted:#8ea59d;--term-chrome:#101b1c;--accent-on-term:#51d0ae;--font-sans:var(--font-bricolage), system-ui, sans-serif;--font-mono:var(--font-martian-mono), ui-monospace, monospace;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.3125rem;--step-2:clamp(1.5rem, 1.25rem + 1vw, 2.25rem);--step-3:clamp(2.25rem, 1.6rem + 2.4vw, 3.25rem);--step-4:clamp(2.75rem, 1.5rem + 5.2vw, 5.25rem);--header-height:4.5625rem;--gutter:clamp(1rem, 4vw, 2.5rem);--measure:62ch;--page:76rem;--radius:6px}:root[data-theme=light]{color-scheme:light;--bg:#eef3f1;--surface:#fff;--surface-2:#e2ebe7;--line:#cfdcd6;--text:#10201c;--muted:#4a5f58;--accent:#0f735f;--accent-fill:#0f735f;--accent-fill-hover:#0b5c4c;--accent-ink:#fff;--bronze:#8f5a24;--shadow:0 40px 80px -45px #10201c80}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6;overflow-x:clip}[hidden]{display:none!important}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}h1,h2,h3{letter-spacing:-.03em;text-wrap:balance;font-weight:700;line-height:1.04}h2{font-size:var(--step-3);font-weight:650}h3{font-size:var(--step-1);letter-spacing:-.012em;font-weight:600;line-height:1.25}p{text-wrap:pretty}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent-fill);color:var(--accent-ink)}code,kbd,pre{font-family:var(--font-mono)}code,kbd{font-size:.82em}.container{width:100%;max-width:calc(var(--page) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(4.5rem,3rem + 6vw,8rem)}.band{background:var(--surface);border-block:1px solid var(--line)}.band--tint{background:color-mix(in srgb, var(--accent) 9%, var(--bg));border-color:color-mix(in srgb, var(--accent) 22%, var(--line))}.split{gap:2.5rem;display:grid}@media (width>=64rem){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4rem}.split>.section-head{align-self:start;margin-bottom:0;position:sticky;top:6rem}}.section-head{gap:1.25rem;max-width:46rem;margin-bottom:clamp(2.5rem,2rem + 2vw,4rem);display:grid}.lead{font-size:clamp(1.0625rem, 1rem + .4vw, var(--step-1));color:var(--muted);max-width:var(--measure);line-height:1.55}.muted{color:var(--muted)}.soon{color:var(--bronze);font-weight:600}.button{border:1px solid var(--accent-fill);border-radius:var(--radius);background:var(--accent-fill);min-height:2.75rem;color:var(--accent-ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.button--quiet{color:var(--text);border-color:var(--line);background:0 0}.button--quiet:hover{background:var(--surface-2);border-color:var(--muted)}.skip-link{left:var(--gutter);z-index:20;background:var(--accent-fill);color:var(--accent-ink);border-radius:var(--radius);padding:.5rem 1rem;font-weight:600;position:absolute;top:-4rem}.skip-link:focus{top:.75rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.prose{max-width:70ch}.prose>*+*{margin-top:1rem}.prose h2{font-size:var(--step-2);margin-top:3.5rem}.prose h3{margin-top:2rem}.prose ul{padding-left:1.25rem}.prose li+li{margin-top:.25rem}.prose li:has(>input[type=checkbox]){margin-left:-1.25rem;list-style:none}.prose input[type=checkbox]{accent-color:var(--accent-fill);margin-right:.5rem}.prose code{background:var(--surface-2);border-radius:4px;padding:.1em .35em}.logo:where(.astro-f7espo7c){display:inline-flex}.logo:where(.astro-f7espo7c) svg{width:auto}.logo:where(.astro-f7espo7c) .mark{fill:var(--accent)}.logo:where(.astro-f7espo7c) .word{fill:var(--text)}.theme-toggle:where(.astro-l6lhmie6){border:1px solid var(--line);border-radius:var(--radius);width:2.5rem;height:2.5rem;color:var(--muted);cursor:pointer;background:0 0;place-items:center;padding:0;display:inline-grid}.theme-toggle:where(.astro-l6lhmie6):hover{color:var(--text);background:var(--surface-2)}.theme-toggle:where(.astro-l6lhmie6)[hidden],[data-theme=dark] .moon:where(.astro-l6lhmie6),[data-theme=light] .sun:where(.astro-l6lhmie6){display:none}.site-header:where(.astro-nen7h5rs){z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(12px);position:sticky;top:0}.bar:where(.astro-nen7h5rs){flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;min-height:4.5rem;padding-block:.5rem;display:flex}.brand:where(.astro-nen7h5rs){align-items:center;text-decoration:none;display:inline-flex}nav:where(.astro-nen7h5rs){margin-left:auto}ul:where(.astro-nen7h5rs){gap:.125rem;padding:0;list-style:none;display:flex}nav:where(.astro-nen7h5rs) a:where(.astro-nen7h5rs){color:var(--muted);border-radius:var(--radius);padding:.5rem .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:block}nav:where(.astro-nen7h5rs) a:where(.astro-nen7h5rs):hover,nav:where(.astro-nen7h5rs) a:where(.astro-nen7h5rs)[aria-current=page]{color:var(--text)}nav:where(.astro-nen7h5rs) a:where(.astro-nen7h5rs)[aria-current=page]{background:var(--surface-2)}.actions:where(.astro-nen7h5rs){align-items:center;gap:.5rem;display:flex}.github:where(.astro-nen7h5rs){min-height:2.5rem;padding-block:.375rem;font-size:.9375rem}@media (width<=48rem){.bar:where(.astro-nen7h5rs){justify-content:space-between}nav:where(.astro-nen7h5rs){order:3;width:calc(100% + 1.5rem);margin-inline:-.75rem;overflow-x:auto}.github:where(.astro-nen7h5rs) span:where(.astro-nen7h5rs){display:none}}.site-footer:where(.astro-jo6i4kqk){border-top:1px solid var(--line);background:var(--bg);padding-block:3rem 2rem}.top:where(.astro-jo6i4kqk){flex-wrap:wrap;justify-content:space-between;gap:2rem;display:flex}.about:where(.astro-jo6i4kqk){align-content:start;gap:.75rem;max-width:24rem;display:grid}.brand:where(.astro-jo6i4kqk){align-items:center;text-decoration:none;display:inline-flex}.cols:where(.astro-jo6i4kqk){gap:3rem;display:flex}ul:where(.astro-jo6i4kqk){align-content:start;gap:.5rem;padding:0;list-style:none;display:grid}.heading:where(.astro-jo6i4kqk){color:var(--muted);font-size:var(--step--1);font-weight:500}.cols:where(.astro-jo6i4kqk) a:where(.astro-jo6i4kqk){color:var(--text);text-decoration:none}.cols:where(.astro-jo6i4kqk) a:where(.astro-jo6i4kqk):hover{color:var(--accent);text-decoration:underline}.legal:where(.astro-jo6i4kqk){color:var(--muted);font-size:var(--step--1);margin-top:2.5rem}.legal:where(.astro-jo6i4kqk) a:where(.astro-jo6i4kqk){color:inherit}
