@font-face{font-family:Clash Display;src:url(/fonts/clash-display-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/clash-display-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/clash-display-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400-latin-ext.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-500-latin-ext.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-500-latin.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:oklch(15% .01 75);--bg-deep:oklch(11% .008 75);--surface:oklch(20% .013 72);--surface-2:oklch(24% .014 72);--line:oklch(32% .012 72);--line-strong:oklch(50% .014 72);--ink:oklch(96% .006 85);--ink-muted:oklch(76% .012 80);--ink-faint:oklch(63% .012 78);--gold:oklch(80% .13 80);--gold-bright:oklch(90% .095 92);--gold-deep:oklch(66% .125 62);--gold-glow:oklch(80% .13 80/.18);--gold-ink:oklch(18% .02 70);--status-live:oklch(78% .13 150);--status-dev:oklch(82% .13 85);--gold-sheen:linear-gradient(165deg, var(--gold-bright) 0%, var(--gold) 42%, var(--gold-deep) 100%);--font-display:"Clash Display", "Clash Display Placeholder", sans-serif;--font-body:"General Sans", "General Sans Placeholder", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--step--1:clamp(.83rem, .8rem + .15vw, .92rem);--step-0:clamp(1rem, .96rem + .2vw, 1.13rem);--step-1:clamp(1.25rem, 1.18rem + .35vw, 1.5rem);--step-2:clamp(1.56rem, 1.42rem + .7vw, 2rem);--step-3:clamp(1.95rem, 1.7rem + 1.25vw, 2.66rem);--step-4:clamp(2.44rem, 2rem + 2.2vw, 3.55rem);--step-5:clamp(3rem, 2.2rem + 4vw, 5.5rem);--space-3xs:clamp(.25rem, .24rem + .05vw, .31rem);--space-2xs:clamp(.5rem, .48rem + .1vw, .56rem);--space-xs:clamp(.75rem, .71rem + .2vw, .88rem);--space-s:clamp(1rem, .95rem + .25vw, 1.13rem);--space-m:clamp(1.5rem, 1.42rem + .4vw, 1.75rem);--space-l:clamp(2rem, 1.85rem + .75vw, 2.5rem);--space-xl:clamp(3rem, 2.6rem + 2vw, 4.5rem);--space-2xl:clamp(4.5rem, 3.7rem + 4vw, 7.5rem);--space-3xl:clamp(6rem, 4.7rem + 6.5vw, 11rem);--container:1200px;--container-wide:1440px;--radius-s:.4rem;--radius-m:.75rem;--radius-l:1.25rem;--radius-pill:999px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--dur-fast:.18s;--dur-mid:.4s;--dur-slow:.7s;--z-base:1;--z-sticky:100;--z-overlay:200;--z-modal:300;--z-toast:400}*,:before,:after{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%;scroll-behavior:smooth;color-scheme:dark}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-color:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100svh;font-weight:400;line-height:1.65;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(120% 80% at 50% -10%, var(--gold-glow), transparent 55%), radial-gradient(100% 60% at 50% 120%, oklch(20% .02 70/.5), transparent 60%);position:fixed;inset:0}img,picture,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.05}p{text-wrap:pretty}::selection{background:var(--gold);color:var(--gold-ink)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:var(--radius-s)}.container{width:100%;max-width:var(--container);padding-inline:var(--space-m);margin-inline:auto}.container-wide{width:100%;max-width:var(--container-wide);padding-inline:var(--space-m);margin-inline:auto}.section{z-index:var(--z-base);padding-block:var(--space-2xl);position:relative}.section+.section{padding-top:0}.skip-link{left:var(--space-s);top:var(--space-s);z-index:var(--z-toast);padding:var(--space-2xs) var(--space-s);background:var(--gold);color:var(--gold-ink);border-radius:var(--radius-s);transition:transform var(--dur-fast) var(--ease-out-quart);font-weight:600;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.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}.list-reset{margin:0;padding:0;list-style:none}.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:500}.lede{font-size:var(--step-1);color:var(--ink-muted);max-width:60ch;line-height:1.55}.gold-text{background:var(--gold-sheen);color:#0000;background-clip:text}.filters{gap:var(--space-2xs);margin-bottom:var(--space-l);padding-bottom:var(--space-m);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.filter{border-radius:var(--radius-pill);border:1px solid var(--line-strong);min-height:44px;color:var(--ink-muted);font-size:var(--step--1);transition:color var(--dur-fast) var(--ease-out-quart), border-color var(--dur-fast) var(--ease-out-quart), background-color var(--dur-fast) var(--ease-out-quart);padding:.55em 1.1em;font-weight:500}.filter:hover{color:var(--ink);border-color:var(--gold)}.filter[aria-pressed=true]{color:var(--gold-ink);background:var(--gold);border-color:var(--gold)}.taglist{gap:var(--space-2xs);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.03em;color:var(--gold);border:1px solid color-mix(in oklch, var(--gold) 32%, var(--line));border-radius:var(--radius-pill);padding:.3em .7em;font-size:.72rem}.prose{max-width:68ch}.prose>:first-child{margin-top:0}.prose p{color:var(--ink-muted);margin-bottom:var(--space-m);line-height:1.75}.prose h2{font-size:var(--step-2);margin-top:var(--space-l);margin-bottom:var(--space-s)}.prose h3{font-size:var(--step-1);margin-top:var(--space-l);margin-bottom:var(--space-xs)}.prose a{color:var(--gold);text-underline-offset:.2em;text-decoration:underline;text-decoration-color:color-mix(in oklch, var(--gold) 45%, transparent);transition:text-decoration-color var(--dur-fast) var(--ease-out-quart)}.prose a:hover{text-decoration-color:var(--gold)}.prose ul,.prose ol{color:var(--ink-muted);margin-bottom:var(--space-m);padding-left:1.2em;line-height:1.75}.prose li{margin-bottom:var(--space-2xs)}.prose li::marker{color:var(--gold-deep)}.prose blockquote{margin:var(--space-l) 0;padding:var(--space-s) var(--space-m);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);color:var(--ink);font-style:italic}.prose code{font-family:var(--font-mono);background:var(--surface-2);border-radius:var(--radius-s);padding:.15em .4em;font-size:.88em}.prose pre{margin-bottom:var(--space-m);padding:var(--space-s) var(--space-m);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-m);overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose hr{margin-block:var(--space-l);border:0;border-top:1px solid var(--line)}.prose strong{color:var(--ink);font-weight:600}.prose img{border-radius:var(--radius-m);margin-bottom:var(--space-m)}.reveal{opacity:1}@media (prefers-reduced-motion:no-preference){.reveal.reveal--armed{opacity:0;transition:opacity var(--dur-slow) var(--ease-out-expo), transform var(--dur-slow) var(--ease-out-expo);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(1.5rem)}.reveal.reveal--armed.is-visible{opacity:1;transform:none}}.mark[data-astro-cid-4pt2nqzy]{border-radius:var(--radius-s);display:inline-flex;position:relative;overflow:hidden}.mark[data-astro-cid-4pt2nqzy] img[data-astro-cid-4pt2nqzy]{object-fit:contain;width:100%;height:100%}.mark--sheen[data-astro-cid-4pt2nqzy]:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 35%,oklch(98% .06 92/.45) 50%,#0000 65%);position:absolute;inset:0;transform:translate(-130%)}@media (prefers-reduced-motion:no-preference){.mark--sheen[data-astro-cid-4pt2nqzy]:after{animation:sheen 4.5s var(--ease-out-expo) 1.1s infinite}@media (hover:hover) and (pointer:fine){.mark--sheen[data-astro-cid-4pt2nqzy]:hover:after{animation-play-state:paused}}}@keyframes sheen{0%{transform:translate(-130%)}18%,to{transform:translate(130%)}}.nav[data-astro-cid-wpvy4v7s]{z-index:var(--z-sticky);transition:background-color var(--dur-mid) var(--ease-out-quart);position:sticky;top:0}.nav__inner[data-astro-cid-wpvy4v7s]{justify-content:space-between;align-items:center;gap:var(--space-m);padding-block:var(--space-s);display:flex}.nav[data-astro-cid-wpvy4v7s][data-scrolled]{backdrop-filter:blur(14px)saturate(1.3);border-bottom:1px solid var(--line);background:oklch(13% .009 75/.78)}.nav__brand[data-astro-cid-wpvy4v7s]{align-items:center;gap:var(--space-2xs);display:inline-flex}.nav__wordmark[data-astro-cid-wpvy4v7s]{font-family:var(--font-display);font-weight:600;font-size:var(--step-0);letter-spacing:-.01em;flex-direction:column;line-height:1;display:flex}.nav__wordmark-accent[data-astro-cid-wpvy4v7s]{color:var(--gold)}.nav__wordmark-sub[data-astro-cid-wpvy4v7s]{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-top:.25em;font-size:.62em;font-weight:400}.nav__links[data-astro-cid-wpvy4v7s]{align-items:center;gap:var(--space-l);display:flex}.nav__link[data-astro-cid-wpvy4v7s]{font-size:var(--step-0);color:var(--ink-muted);padding-block:var(--space-3xs);transition:color var(--dur-fast) var(--ease-out-quart);position:relative}.nav__link[data-astro-cid-wpvy4v7s]:after{content:"";background:var(--gold-sheen);transform-origin:0;width:100%;height:2px;transition:transform var(--dur-mid) var(--ease-out-expo);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.nav__link[data-astro-cid-wpvy4v7s]:hover,.nav__link[data-astro-cid-wpvy4v7s].is-active{color:var(--ink)}.nav__link[data-astro-cid-wpvy4v7s]:hover:after,.nav__link[data-astro-cid-wpvy4v7s].is-active:after{transform:scaleX(1)}.nav__toggle[data-astro-cid-wpvy4v7s]{min-width:44px;min-height:44px;margin-right:calc(var(--space-2xs) * -1);flex-direction:column;justify-content:center;align-items:center;gap:5px;display:none}.nav__toggle-bar[data-astro-cid-wpvy4v7s]{background:var(--ink);width:24px;height:2px;transition:transform var(--dur-fast) var(--ease-out-quart), opacity var(--dur-fast) var(--ease-out-quart);border-radius:2px}.nav__toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] .nav__toggle-bar[data-astro-cid-wpvy4v7s]:first-child{transform:translateY(7px)rotate(45deg)}.nav__toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] .nav__toggle-bar[data-astro-cid-wpvy4v7s]:last-child{transform:translateY(-7px)rotate(-45deg)}.nav__mobile[data-astro-cid-wpvy4v7s]{padding:var(--space-s) var(--space-m) var(--space-l);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:oklch(12% .009 75/.96);flex-direction:column;display:none}.nav__mobile[data-astro-cid-wpvy4v7s][data-open]{display:flex}.nav__mobile-link[data-astro-cid-wpvy4v7s]{font-family:var(--font-display);font-size:var(--step-2);padding-block:var(--space-xs);border-bottom:1px solid var(--line);color:var(--ink-muted);font-weight:600;position:relative}.nav__mobile-link[data-astro-cid-wpvy4v7s].is-active{color:var(--ink)}.nav__mobile-link[data-astro-cid-wpvy4v7s].is-active:before{content:"";left:calc(var(--space-s) * -1);border-radius:var(--radius-pill);background:var(--gold);width:3px;height:1.1em;position:absolute;top:50%;transform:translateY(-50%)}@media (width<=720px){.nav__links[data-astro-cid-wpvy4v7s]{display:none}.nav__toggle[data-astro-cid-wpvy4v7s]{display:flex}}.footer[data-astro-cid-jo6i4kqk]{z-index:var(--z-base);border-top:1px solid var(--line);background:linear-gradient(#0000,oklch(10% .008 75/.6));position:relative}.footer__inner[data-astro-cid-jo6i4kqk]{gap:var(--space-xl);padding-block:var(--space-2xl) var(--space-xl);grid-template-columns:1.6fr 1fr 1fr;display:grid}.footer__line[data-astro-cid-jo6i4kqk]{margin-top:var(--space-s);color:var(--ink-muted);font-size:var(--step--1);max-width:38ch;line-height:1.6}.footer__heading[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-s);font-weight:500}.footer__col[data-astro-cid-jo6i4kqk]{gap:var(--space-xs);flex-direction:column;display:flex}.footer__link[data-astro-cid-jo6i4kqk]{color:var(--ink-muted);width:fit-content;transition:color var(--dur-fast) var(--ease-out-quart)}.footer__link[data-astro-cid-jo6i4kqk]:hover{color:var(--gold)}.footer__base[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:var(--space-m);padding-block:var(--space-m);border-top:1px solid var(--line);color:var(--ink-faint);font-size:var(--step--1);display:flex}.footer__mono[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);letter-spacing:.04em}@media (width<=720px){.footer__inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.footer__brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}.footer__base[data-astro-cid-jo6i4kqk]{gap:var(--space-2xs);flex-direction:column}}
