@font-face{font-family:CMU Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cmu-serif-500-roman.woff2)format("woff2")}@font-face{font-family:CMU Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cmu-serif-500-italic.woff2)format("woff2")}@font-face{font-family:CMU Serif;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cmu-serif-700-roman.woff2)format("woff2")}@font-face{font-family:CMU Serif;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/cmu-serif-700-italic.woff2)format("woff2")}@font-face{font-family:CMU Typewriter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cmu-typewriter-text-500-roman.woff2)format("woff2")}@font-face{font-family:CMU Typewriter;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cmu-typewriter-text-500-italic.woff2)format("woff2")}@font-face{font-family:CMU Typewriter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cmu-typewriter-text-700-roman.woff2)format("woff2")}:root{--ink-950:#08090b;--ink-900:#0b0c0f;--ink-850:#101216;--ink-800:#15171c;--ink-700:#23262e;--line:#2a2e37;--line-soft:#1c1f26;--fog-500:#62666f;--fog-400:#868b95;--fog-300:#a8adb7;--fog-200:#ced2da;--fog-100:#eceef2;--deep:#8c2f1a;--ember:#d4441f;--flare:#ef7d2e;--gold:#e8b45c;--gold-soft:#f3d29a;--accent:var(--gold);--accent-hot:var(--flare);--spectrum:linear-gradient(90deg, var(--deep) 0%, var(--ember) 32%, var(--flare) 64%, var(--gold) 100%);--font-display:"CMU Serif", Georgia, "Times New Roman", serif;--font-body:"CMU Serif", Georgia, "Times New Roman", serif;--font-mono:"CMU Typewriter", ui-monospace, SFMono-Regular, Menlo, monospace;--step--1:clamp(.89rem, .85rem + .15vw, .97rem);--step-0:clamp(1.08rem, 1.04rem + .2vw, 1.2rem);--step-1:clamp(1.3rem, 1.22rem + .38vw, 1.53rem);--step-2:clamp(1.55rem, 1.42rem + .65vw, 1.95rem);--step-3:clamp(1.87rem, 1.65rem + 1.06vw, 2.48rem);--step-4:clamp(2.24rem, 1.9rem + 1.67vw, 3.18rem);--measure:68ch;--gutter:clamp(1.25rem, 4vw, 2.5rem);--bleed:3rem;--header-h:4rem;--radius:4px;--ease:cubic-bezier(.22, .61, .36, 1);color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background-color:var(--ink-950);min-height:100svh;color:var(--fog-200);font-family:var(--font-body);font-size:var(--step-0);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;line-height:1.7;display:flex}body:before{content:"";z-index:9999;pointer-events:none;opacity:.028;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");position:fixed;inset:0}img,picture,svg,video,canvas{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);color:var(--fog-100);text-wrap:balance;font-weight:700;line-height:1.18}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}p{text-wrap:pretty}a{color:var(--accent);text-decoration-color:color-mix(in oklab, var(--accent) 35%, transparent);text-underline-offset:.22em;transition:color .15s var(--ease), text-decoration-color .15s var(--ease);text-decoration-thickness:1px}a:hover{color:var(--accent-hot);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}::selection{background:color-mix(in oklab, var(--ember) 55%, transparent);color:var(--fog-100)}strong{color:var(--fog-100);font-weight:600}hr{background:var(--line-soft);border:0;height:1px}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:"liga" 0}.rule{background:var(--spectrum);opacity:.85;border:0;height:2px}.rule--soft{background:linear-gradient(90deg, color-mix(in oklab, var(--ember) 60%, transparent), color-mix(in oklab, var(--gold) 45%, transparent) 55%, transparent);height:1px}.meta{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fog-500);font-size:.7rem;font-weight:500}.meta a{color:var(--fog-400);text-decoration:none}.meta a:hover{color:var(--gold)}.chip{border:1px solid color-mix(in oklab, var(--ember) 45%, var(--line));color:var(--flare);border-radius:999px;padding:.1rem .42rem;font-size:.62rem}.chip--draft{border-color:var(--line);color:var(--fog-400)}.wrap{width:100%;max-width:76rem;padding-inline:var(--gutter);margin-inline:auto}.wrap--narrow{max-width:52rem}.measure{width:min(var(--measure), 100% - (2 * var(--gutter)));margin-inline:auto}.prose{grid-template-columns:minmax(var(--gutter), 1fr) [wide-start] minmax(0, var(--bleed)) [text-start] min(var(--measure), 100% - (2 * var(--gutter))) [text-end] minmax(0, var(--bleed)) [wide-end] minmax(var(--gutter), 1fr);display:grid}.prose>*{grid-column:text}.prose>figure,.prose>table,.prose>.table-scroll{grid-column:wide}.prose>*+*{margin-block-start:1.35em}@media (width>=48rem){.prose>p,.prose li{text-align:justify;hyphens:auto}}.prose>h2,.title-rule{padding-block-end:.35rem;position:relative}.prose>h2{margin-block:2.6em .1em}.prose>h2:after,.title-rule:after{content:"";background:var(--spectrum);opacity:.8;width:3.5rem;height:2px;position:absolute;bottom:0;left:0}.prose>h3{color:var(--fog-200);margin-block:2em .05em}.prose>h2+*,.prose>h3+*{margin-block-start:.9em}.prose :is(ul,ol){padding-inline-start:1.4em}.prose li+li{margin-block-start:.4em}.prose li::marker{color:var(--fog-500)}.prose blockquote{border-inline-start:2px solid;border-image:var(--spectrum) 1;color:var(--fog-300);padding-inline-start:1.2em;font-style:italic}.prose figure{margin-block:2.5em}.prose figure img{border-radius:var(--radius);background:var(--ink-800);width:100%}.prose .xy-embed{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--ink-850);color-scheme:dark;width:100%;display:block}.prose figcaption{font-size:var(--step--1);color:var(--fog-500);border-inline-start:2px solid var(--line);margin-block-start:.75rem;padding-inline-start:.75rem;line-height:1.55}.prose :not(pre)>code{hyphens:none;border-radius:var(--radius);background:var(--ink-800);border:1px solid var(--line-soft);color:var(--gold-soft);padding:.15em .4em;font-size:.86em}.table-scroll{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--step--1);font-variant-numeric:tabular-nums}.prose :is(th,td){text-align:left;border-block-end:1px solid var(--line-soft);padding:.5em .9em}.prose thead th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fog-400);border-block-end:1px solid var(--line);font-size:.72rem}.prose tbody tr:hover{background:var(--ink-850)}.prose pre{--pad:1.15rem;padding:var(--pad);border:1px solid var(--line-soft);border-radius:var(--radius);background-color:var(--ink-850);tab-size:4;font-size:.85rem;line-height:1.65;position:relative;overflow-x:auto}.prose pre code{min-width:fit-content;display:block}.prose pre.astro-code{border-inline-start:2px solid color-mix(in oklab, var(--ember) 70%, var(--ink-700));background-color:var(--ink-850)!important}.prose pre[data-language=plaintext]{border-inline-start:2px solid var(--line);background-color:var(--ink-900)!important}.prose pre[data-language=plaintext] code{color:var(--fog-400)}.prose .katex-display{padding-block:.35rem;overflow:auto hidden}svg.i-inline{vertical-align:-.12em;display:inline-block}svg.i-flip{transform:rotate(180deg)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink-800);border:1px solid var(--gold);border-radius:var(--radius);color:var(--fog-100);transition:transform .18s var(--ease);padding:.6rem 1rem;text-decoration:none;position:absolute;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in oklab, var(--ink-950) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;min-height:4rem;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--fog-100);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand-mark[data-astro-cid-nen7h5rs]{width:1.25rem;height:1.25rem;filter:drop-shadow(0 0 5px color-mix(in oklab, var(--flare) 40%, transparent));transition:filter .25s var(--ease);border-radius:25%;flex-shrink:0}.brand[data-astro-cid-nen7h5rs]:hover .brand-mark[data-astro-cid-nen7h5rs]{filter:drop-shadow(0 0 9px color-mix(in oklab, var(--ember) 75%, transparent))}.brand-name[data-astro-cid-nen7h5rs]{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.3rem}nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{align-items:center;gap:clamp(.9rem,2.5vw,1.9rem);margin:0;padding:0;list-style:none;display:flex}.nav-link[data-astro-cid-nen7h5rs]{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fog-400);transition:color .15s var(--ease);padding-block:.35rem;font-size:.72rem;font-weight:500;text-decoration:none;display:block;position:relative}.nav-link[data-astro-cid-nen7h5rs]:after{content:"";background:var(--spectrum);transform-origin:0;height:1px;transition:transform .22s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link[data-astro-cid-nen7h5rs]:hover,.nav-link[data-astro-cid-nen7h5rs].active{color:var(--fog-100)}.nav-link[data-astro-cid-nen7h5rs]:hover:after,.nav-link[data-astro-cid-nen7h5rs].active:after{transform:scaleX(1)}.rule--header[data-astro-cid-nen7h5rs]{opacity:.35;height:1px}@media (width<=34rem){.bar[data-astro-cid-nen7h5rs]{justify-content:center;row-gap:.35rem;padding-block:.75rem}}.site-footer[data-astro-cid-jo6i4kqk]{margin-block-start:auto;padding-block-start:1px}.inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:2rem 2.75rem;display:flex}.socials[data-astro-cid-jo6i4kqk]{align-items:center;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.socials[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border-radius:var(--radius);width:2.1rem;height:2.1rem;color:var(--fog-500);transition:color .15s var(--ease), background-color .15s var(--ease);place-items:center;display:grid}.socials[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--gold);background:var(--ink-800)}.starfield[data-astro-cid-dac3vbt4]{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}
