.site-footer:where(.astro-nns7i3if){border-block-start:1px solid var(--hairline);margin-block-start:var(--space-4)}.footer-inner:where(.astro-nns7i3if){gap:var(--space-5);padding-block:var(--space-7) max(var(--space-7), env(safe-area-inset-bottom));color:var(--ink-muted);font-size:var(--text-body-sm);flex-direction:column;display:flex}.footer-statement:where(.astro-nns7i3if),p:where(.astro-nns7i3if){margin:0}.footer-statement:where(.astro-nns7i3if){gap:var(--space-1);display:grid}.footer-wordmark:where(.astro-nns7i3if){min-block-size:44px;color:var(--ink);font-size:var(--text-title);letter-spacing:-.01em;transition:color var(--duration-brand) var(--ease-focus);align-self:start;align-items:center;font-weight:400;text-decoration:none;display:inline-flex}nav:where(.astro-nns7i3if){gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}nav:where(.astro-nns7i3if) a:where(.astro-nns7i3if){min-block-size:44px;min-inline-size:44px;color:var(--ink);font-size:var(--text-control);letter-spacing:var(--tracking-control);text-transform:uppercase;transition:color var(--duration-brand) var(--ease-focus);justify-content:center;align-items:center;font-weight:400;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){nav:where(.astro-nns7i3if) a:where(.astro-nns7i3if):hover,.footer-wordmark:where(.astro-nns7i3if):hover{color:var(--ink-muted)}}@media (width>=42rem){.footer-inner:where(.astro-nns7i3if){flex-direction:row;justify-content:space-between;align-items:flex-end}nav:where(.astro-nns7i3if){justify-content:flex-end}}.site-header:where(.astro-fzpbxy5g){z-index:var(--z-sticky);border-block-end:1px solid var(--hairline);background:color-mix(in srgb, var(--ground) 86%, transparent);backdrop-filter:blur(12px);position:sticky;inset-block-start:0}.site-header-inner:where(.astro-fzpbxy5g){justify-content:space-between;align-items:center;gap:var(--space-4);min-block-size:4rem;padding-block:max(var(--space-2), env(safe-area-inset-top)) var(--space-2);display:flex}.wordmark:where(.astro-fzpbxy5g){min-block-size:44px;color:var(--ink);font-size:var(--text-title);letter-spacing:-.01em;transition:color var(--duration-brand) var(--ease-focus);align-items:center;font-weight:400;text-decoration:none;display:inline-flex}.desktop-nav:where(.astro-fzpbxy5g){align-items:center;gap:var(--space-5);display:none}.desktop-nav:where(.astro-fzpbxy5g) ul:where(.astro-fzpbxy5g),.mobile-nav:where(.astro-fzpbxy5g) ul:where(.astro-fzpbxy5g){margin:0;padding:0;list-style:none}.desktop-nav:where(.astro-fzpbxy5g) ul:where(.astro-fzpbxy5g){align-items:center;gap:var(--space-4);display:flex}.desktop-nav:where(.astro-fzpbxy5g) ul:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g),.mobile-nav:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g){min-block-size:44px;padding-inline:var(--space-2);color:var(--ink);font-size:var(--text-control);letter-spacing:var(--tracking-control);text-transform:uppercase;transition:color var(--duration-brand) var(--ease-focus);align-items:center;font-weight:400;line-height:1.2;text-decoration:none;display:inline-flex}.desktop-nav:where(.astro-fzpbxy5g) .nav-cta:where(.astro-fzpbxy5g),.mobile-nav:where(.astro-fzpbxy5g) .mobile-cta:where(.astro-fzpbxy5g){border:1px solid var(--ink);border-radius:var(--radius-sm);min-block-size:44px;color:var(--ink);font-size:var(--text-control);letter-spacing:var(--tracking-control);text-transform:uppercase;transition:background-color var(--duration-brand) var(--ease-focus), color var(--duration-brand) var(--ease-focus);align-items:center;padding:9px 15px;font-weight:400;line-height:1.2;text-decoration:none;display:inline-flex}.menu-trigger:where(.astro-fzpbxy5g){min-block-size:44px;padding-inline:var(--space-3);border:1px solid var(--ink);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-control);letter-spacing:var(--tracking-control);text-transform:uppercase;cursor:pointer;transition:background-color var(--duration-brand) var(--ease-focus), color var(--duration-brand) var(--ease-focus);background:0 0;justify-content:center;align-items:center;font-weight:400;display:inline-flex}.mobile-nav:where(.astro-fzpbxy5g){inset:calc(4.75rem + env(safe-area-inset-top,0px)) var(--page-gutter) auto auto;inline-size:min(18rem, calc(100vw - 2 * var(--page-gutter)));padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--ground);color:var(--ink);margin:0}.mobile-nav:where(.astro-fzpbxy5g)::backdrop{background:var(--backdrop,#0009)}.mobile-nav:where(.astro-fzpbxy5g) li:where(.astro-fzpbxy5g)+li:where(.astro-fzpbxy5g){margin-block-start:var(--space-1)}.mobile-nav:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g){inline-size:100%;padding-inline:var(--space-3);justify-content:flex-start}.mobile-nav:where(.astro-fzpbxy5g) .mobile-cta:where(.astro-fzpbxy5g){justify-content:center;margin-block-start:var(--space-2)}@media (hover:hover) and (pointer:fine){.wordmark:where(.astro-fzpbxy5g):hover,.desktop-nav:where(.astro-fzpbxy5g) ul:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g):hover,.mobile-nav:where(.astro-fzpbxy5g) ul:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g):not(.mobile-cta):hover{color:var(--ink-muted)}.desktop-nav:where(.astro-fzpbxy5g) .nav-cta:where(.astro-fzpbxy5g):hover,.mobile-nav:where(.astro-fzpbxy5g) .mobile-cta:where(.astro-fzpbxy5g):hover,.menu-trigger:where(.astro-fzpbxy5g):hover{background:var(--bone-card);color:var(--bone-card-ink)}}@media (hover:none),(pointer:coarse){.desktop-nav:where(.astro-fzpbxy5g) ul:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g):active,.mobile-nav:where(.astro-fzpbxy5g) ul:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g):not(.mobile-cta):active{color:var(--ink-muted)}.desktop-nav:where(.astro-fzpbxy5g) .nav-cta:where(.astro-fzpbxy5g):active,.mobile-nav:where(.astro-fzpbxy5g) .mobile-cta:where(.astro-fzpbxy5g):active,.menu-trigger:where(.astro-fzpbxy5g):active{background:var(--bone-card);color:var(--bone-card-ink)}}@media (width>=48rem){.desktop-nav:where(.astro-fzpbxy5g){display:flex}.menu-trigger:where(.astro-fzpbxy5g){display:none}}@font-face{font-family:PP Neue Montreal;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/pp-neue-montreal-regular.Brb2cMkb.woff2)format("woff2");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:PP Neue Montreal;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/pp-neue-montreal-semibold.BbYc3OmU.woff2)format("woff2");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:PP Neue Montreal Fallback;font-style:normal;font-weight:400 600;src:local(Liberation Sans),local(Arial);size-adjust:96.43%;ascent-override:99.35%;descent-override:25.1%;line-gap-override:0%}@font-face{font-family:Intel One Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/intel-one-mono-latin-400-normal.CqVdU6iH.woff2)format("woff2")}@font-face{font-family:Intel One Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/intel-one-mono-latin-500-normal.Iu7MK5Mj.woff2)format("woff2")}@font-face{font-family:Intel One Mono Fallback;font-style:normal;font-weight:400 500;src:local(Liberation Mono);size-adjust:88.01%;ascent-override:123.85%;descent-override:32.95%;line-gap-override:0%}:root{color-scheme:dark;--ground:#101010;--panel:#171819;--snippet:#161616;--graphite:#495764;--ink:#fffdf9;--ink-muted:#6f879c;--hairline:#403f3f;--control-line:#6f879c;--beam:#fffdf9;--bone-card:#fffdf9;--bone-card-ink:#101010;--backdrop:#0009;--prism-red:#ff2a2a;--prism-blue:#2a7fff;--prism-green:#2aff2a;--lane-codex:var(--prism-blue);--lane-claude:var(--prism-red);--lane-pi:var(--prism-green);--amber:#e5bb4d;--red:#ee7e72;--info:#8fb4d9;--font-sans:"PP Neue Montreal", "PP Neue Montreal Fallback", system-ui, sans-serif;--font-mono:"Intel One Mono", "Intel One Mono Fallback", ui-monospace, SFMono-Regular, monospace;--text-display:clamp(3rem, 1.4rem + 8vw, 8.5rem);--text-display-sm:clamp(2.5rem, 1.3rem + 6vw, 6.5rem);--text-headline:clamp(2rem, 1.5rem + 2.4vw, 3.5rem);--text-heading-sm:2.0625rem;--text-title:1.375rem;--text-lead:1.375rem;--text-body:1.125rem;--text-body-sm:.9375rem;--text-control:.875rem;--text-command:clamp(1rem, .9rem + .7vw, 1.35rem);--text-code:.875rem;--text-label:.8125rem;--text-caption:.75rem;--text-micro:.72rem;--tracking-control:.08em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--section-tight:clamp(5rem, 3.75rem + 4vw, 6.75rem);--section-loose:clamp(6.5rem, 5rem + 6vw, 9.5rem);--page-gutter:clamp(1.25rem, .75rem + 2.5vw, 4.5rem);--grid-gap:clamp(1rem, .75rem + 1vw, 2rem);--content-max:90rem;--prose-max:68ch;--radius-sm:5px;--radius-md:5px;--radius-lg:15px;--radius-full:999px;--duration-fast:.12s;--duration-state:.18s;--duration-brand:.5s;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-focus:cubic-bezier(.52, .01, 0, 1);--z-base:0;--z-sticky:10;--z-popover:20;--z-dialog:40;--z-toast:50}*,:before,:after{box-sizing:border-box}html{background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-kerning:normal;text-size-adjust:100%}body{background:var(--ground);min-width:20rem;min-height:100vh;color:var(--ink);font-size:var(--text-body);letter-spacing:.01em;overflow-wrap:break-word;margin:0;font-weight:400;line-height:1.55}body,header,main,footer{min-inline-size:0}img,svg{max-inline-size:100%;display:block}a{color:var(--ink);text-underline-offset:.18em;transition:color var(--duration-brand) var(--ease-focus);text-decoration-thickness:.06em}a:hover{color:var(--ink-muted)}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--ink);outline-offset:2px}button,input,textarea,select{font:inherit}button,[role=button]{touch-action:manipulation}h1,h2,h3{font-family:var(--font-sans);text-wrap:balance;margin-block:0;font-weight:400}p{text-wrap:pretty}strong{font-weight:600}code,pre,kbd,samp{font-family:var(--font-mono);font-variant-ligatures:none;font-variant-numeric:tabular-nums;letter-spacing:0}.skip-link{z-index:var(--z-toast);min-block-size:44px;padding-inline:var(--space-4);border-radius:var(--radius-sm);background:var(--bone-card);color:var(--bone-card-ink);font-size:var(--text-control);letter-spacing:var(--tracking-control);text-transform:uppercase;transform:translateY(calc(-100% - var(--space-5)));transition:transform var(--duration-state) var(--ease-out-quart);align-items:center;font-weight:400;text-decoration:none;display:inline-flex;position:fixed;inset-block-start:var(--space-3);inset-inline-start:var(--space-3)}.skip-link:focus-visible{color:var(--bone-card-ink);outline-color:var(--ink);transform:translateY(0)}.page-shell{inline-size:min(100%, calc(var(--content-max) + 2 * var(--page-gutter)));padding-inline:var(--page-gutter);margin-inline:auto}.button{min-block-size:44px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-control);letter-spacing:var(--tracking-control);text-align:center;text-transform:uppercase;transition:background-color var(--duration-brand) var(--ease-focus), border-color var(--duration-brand) var(--ease-focus), color var(--duration-brand) var(--ease-focus);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-weight:400;line-height:1.2;text-decoration:none;display:inline-flex}.button-primary{border-color:var(--ink)}.button-secondary{padding-inline:var(--space-3)}@media (hover:hover) and (pointer:fine){.button-primary:hover{background:var(--bone-card);color:var(--bone-card-ink)}.button-secondary:hover{color:var(--ink-muted)}}.button-primary:active{background:var(--bone-card);color:var(--bone-card-ink)}.button-secondary:active{color:var(--ink-muted)}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:where(a,button,summary,[tabindex]):focus-visible{outline-color:highlight}.button{border:1px solid buttontext}}
