.wordmark[data-astro-cid-qisgtjgl]{font-size:var(--wm-h);align-items:center;gap:.7em;display:inline-flex}.wordmark-glyphs[data-astro-cid-qisgtjgl]{height:var(--wm-h);shape-rendering:geometricprecision;width:auto;display:block}.wordmark-rule[data-astro-cid-qisgtjgl]{background:var(--color-trace);width:1px;height:1.05em}.wordmark-descriptor[data-astro-cid-qisgtjgl]{font-family:var(--mono-font-family);letter-spacing:.08em;text-transform:uppercase;color:var(--color-static);white-space:nowrap;font-size:.62em;font-weight:500}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/GeistMono-400-latin-ext.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/GeistMono-400-latin.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:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/GeistMono-600-latin-ext.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/GeistMono-600-latin.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:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-400-latin-ext.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-400-latin.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:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-500-latin-ext.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-500-latin.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:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-600-latin-ext.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-600-latin.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:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexSans-700-latin-ext.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexSans-700-latin.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}:root{--heading-font-family:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--body-font-family:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--mono-font-family:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--heading-xxl:clamp(2.5rem, 4.6vw + .6rem, 3.5rem);--heading-xl:clamp(1.875rem, 1.6vw + 1.3rem, 2.375rem);--heading-lg:1.5rem;--heading-md:1.25rem;--body-lg:1.125rem;--body:1rem;--body-sm:.875rem;--line-height-heading:1.04;--line-height-title:1.14;--line-height-card:1.3;--line-height-body:1.65;--line-height-meta:1.5;--tracking-display:-.021em;--tracking-title:-.014em;--tracking-card:-.008em;--tracking-body:.01em;--tracking-meta:.02em;--weight-body:400;--weight-label:500;--weight-heading:600;--weight-numeral:700;--color-bg:#121212;--color-fg:#fff;--color-rack:#1a1a1a;--color-rack-hi:#212121;--color-trace:#2b2b2b;--color-trace-hi:#3d3d3d;--color-fold-line:#6e6e6e;--color-static:#bcbcbc;--color-carrier:#e0e0e0;--color-accent:#d6ff00;--color-down:#ff4c79;--color-action:#fff;--color-action-ink:#121212;--color-action-hover:#d4d4d4;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:48px;--spacing-2xl:64px;--section-padding:clamp(3rem, 5.2vw, 5.5rem);--section-padding-lg:clamp(4rem, 7.5vw, 7.5rem);--section-padding-sm:clamp(2rem, 3vw, 2.75rem);--max-width:72rem;--radius:2px;--radius-sm:0px;--radius-lg:2px;--z-sticky:50;--z-dropdown:60;--z-nav-panel:55;--z-skip:80}*{box-sizing:border-box;margin:0}html{color-scheme:dark}body{background:var(--color-bg);color:var(--color-fg);font:var(--weight-body) var(--body) / var(--line-height-body) var(--body-font-family);letter-spacing:var(--tracking-body);font-kerning:normal;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-carrier);text-decoration:none}a:hover,main p a,main .lede a,.intro a{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.wrap{max-width:var(--max-width);padding-inline:max(1.25rem, env(safe-area-inset-left)) max(1.25rem, env(safe-area-inset-right));margin-inline:auto}h1,h2,h3,h4{font-family:var(--heading-font-family);font-weight:var(--weight-heading);text-wrap:balance}h2{font-size:var(--heading-xl);line-height:var(--line-height-title);letter-spacing:var(--tracking-title)}h3{font-size:var(--heading-lg);line-height:var(--line-height-card);letter-spacing:var(--tracking-card)}h4{font-size:var(--heading-md);line-height:var(--line-height-card);letter-spacing:var(--tracking-card)}p{text-wrap:pretty;max-width:70ch}.lede,.intro{font-size:var(--body-lg);color:var(--color-carrier);max-width:64ch;line-height:1.6}.muted{color:var(--color-static)}.mono{font-family:var(--mono-font-family);font-size:var(--body-sm);letter-spacing:0;font-variant-numeric:tabular-nums slashed-zero}section{padding-block:var(--section-padding)}.will-reveal{opacity:0;transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);transform:translateY(10px)}.will-reveal.revealed{opacity:1;transform:none}section+section{border-top:1px solid var(--color-trace)}.btn{border-radius:var(--radius);height:44px;font:var(--weight-heading) var(--body) / 1 var(--body-font-family);letter-spacing:-.004em;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 22px;transition:background-color .18s cubic-bezier(.25,1,.5,1),border-color .18s cubic-bezier(.25,1,.5,1),color .18s cubic-bezier(.25,1,.5,1);display:inline-flex}.arrow-link{font-weight:var(--weight-label);color:var(--color-fg)}.arrow-link:after{content:"→";color:var(--color-static);margin-left:8px;transition:transform .2s cubic-bezier(.25,1,.5,1);display:inline-block}.arrow-link:hover:after{transform:translate(3px)}.tile-grid{gap:var(--spacing-md);display:grid}.tile-grid>*{background:var(--color-rack);border:1px solid var(--color-trace);border-radius:var(--radius);padding:var(--spacing-lg);margin:0}a.tile{color:var(--color-fg);min-height:160px;display:block;position:relative}a.tile:hover{background:var(--color-rack);text-decoration:none}a.tile:after{content:"→";right:var(--spacing-lg);bottom:var(--spacing-md);color:var(--color-static);font-size:1.125rem;transition:transform .2s cubic-bezier(.25,1,.5,1),color .2s cubic-bezier(.25,1,.5,1);position:absolute}a.tile:hover:after{color:var(--color-fg);transform:translate(4px)}.terminus,.problem,.cluster-rail,.post-row,.target,a.tile{background:var(--color-rack);border:1px solid var(--color-trace);transition:background-color .2s cubic-bezier(.25,1,.5,1),border-color .2s cubic-bezier(.25,1,.5,1)}a.tile:hover,.post-row:hover,.target:hover{background:var(--color-rack-hi);border-color:var(--color-trace-hi)}.btn-primary{background:var(--color-action);color:var(--color-action-ink)}.btn-primary:hover{background:var(--color-action-hover);text-decoration:none}.btn-secondary{border-color:var(--color-trace-hi);color:var(--color-fg);background:0 0}.btn-secondary:hover{background:var(--color-rack);border-color:var(--color-static);text-decoration:none}.skip-link{background:var(--color-action);color:var(--color-action-ink);border-radius:0 0 var(--radius) 0;z-index:var(--z-skip);padding:10px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.code-panel{background:var(--color-rack);border:1px solid var(--color-trace);border-radius:var(--radius-lg);margin-top:var(--spacing-sm);position:relative}.code-panel .tag{justify-content:flex-end;align-items:center;gap:8px;padding:10px 12px 0;display:flex}.code-panel .tag span{font-family:var(--mono-font-family);letter-spacing:var(--tracking-meta);color:var(--color-carrier);border:1px solid var(--color-trace);border-radius:var(--radius-sm);padding:2px 8px;font-size:.75rem}.code-panel button{font:600 .75rem / 1 var(--mono-font-family);letter-spacing:var(--tracking-meta);color:var(--color-carrier);border:1px solid var(--color-trace);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:3px 10px;position:relative}.code-panel button:before{content:"";position:absolute;inset:-12px}.code-panel button:hover{border-color:var(--color-carrier)}.code-panel pre{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-md);font:400 .8125rem / 1.7 var(--mono-font-family);letter-spacing:0;font-variant-ligatures:none;font-variant-numeric:slashed-zero;color:var(--color-fg);overflow-x:auto}.code-panel code .c{color:var(--color-static)}.code-panel code .k{color:var(--color-carrier)}.closing{background:var(--color-rack);border-top:1px solid var(--color-trace);padding-block:var(--section-padding-lg)}.closing .wrap{gap:var(--spacing-lg) var(--spacing-2xl);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.closing h2{color:var(--color-fg);max-width:18ch;font-size:clamp(2rem,2.2vw + 1.2rem,2.75rem)}.closing p{color:var(--color-carrier);font-size:var(--body-lg);max-width:52ch;line-height:1.6}.closing .btn{grid-area:1/2/span 2;justify-self:end}@media (width<=840px){.closing .wrap{grid-template-columns:1fr;justify-items:start}.closing .btn{grid-area:auto/1;justify-self:start}}@media (width<=640px){.closing .btn{justify-content:center;width:100%}}.chip{font-family:var(--mono-font-family);font-size:var(--body-sm);letter-spacing:0;color:var(--color-carrier);background:var(--color-rack);border:1px solid var(--color-trace);border-radius:var(--radius-sm);align-items:center;padding:3px 10px;text-decoration:none;display:inline-flex}a.chip:hover{border-color:var(--color-carrier);text-decoration:none}@media (hover:none){a.tile:active{background:var(--color-rack)}}@media (pointer:coarse){.btn,.nav-trigger{min-height:44px}}@media (prefers-reduced-motion:reduce){.btn,a.tile,.arrow-link:after{transition:none}}header.site{--header-h:60px;--header-control-h:36px;z-index:var(--z-sticky);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-trace);position:sticky;top:0}@supports not (backdrop-filter:blur(12px)){header.site{background:var(--color-bg)}}header.site>.wrap{align-items:center;gap:var(--spacing-lg);min-height:var(--header-h);display:flex}.brandmark{color:var(--color-fg);flex:none;align-items:center;display:inline-flex}.brandmark:hover{color:var(--color-carrier);text-decoration:none}header.site nav{align-items:center;gap:var(--spacing-xs);margin-left:auto;font-size:.9375rem;display:flex}header.site nav a:not(.btn):not(.mega a){height:var(--header-control-h);font-weight:var(--weight-label);letter-spacing:0;color:var(--color-static);align-items:center;padding-inline:12px;transition:color .15s cubic-bezier(.25,1,.5,1);display:inline-flex}header.site nav a:not(.btn):not(.mega a):hover{color:var(--color-fg);text-decoration:none}header.site .btn{margin-left:var(--spacing-sm)}header.site:has(nav.open){-webkit-backdrop-filter:none;background:var(--color-bg)}.nav-burger{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;margin-left:auto;padding:12px;display:none}.nav-burger span{background:var(--color-fg);width:20px;height:2px;transition:transform .2s cubic-bezier(.25,1,.5,1)}.nav-burger[aria-expanded=true] span:first-child{transform:translateY(3.5px)rotate(45deg)}.nav-burger[aria-expanded=true] span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.nav-drop{position:static}.nav-trigger{align-items:center;gap:var(--spacing-xs);height:var(--header-control-h);color:var(--color-static);font:inherit;font-size:.9375rem;font-weight:var(--weight-label);letter-spacing:0;cursor:pointer;background:0 0;border:0;padding-inline:12px;transition:color .15s cubic-bezier(.25,1,.5,1);display:inline-flex}.nav-trigger:hover,.nav-drop[data-open] .nav-trigger{color:var(--color-fg)}.chev{opacity:.6;flex:none;transition:transform .2s cubic-bezier(.25,1,.5,1)}.nav-trigger:hover .chev,.nav-drop[data-open] .chev{opacity:1}.nav-drop[data-open] .chev{transform:rotate(180deg)}.mega{width:100%;z-index:var(--z-nav-panel);background:var(--color-bg);pointer-events:none;border-bottom:1px solid #0000;grid-template-rows:0fr;margin-top:-1px;transition:grid-template-rows .24s cubic-bezier(.25,1,.5,1),border-color .24s cubic-bezier(.25,1,.5,1);display:grid;position:absolute;top:100%;left:0}.nav-drop[data-open] .mega{border-bottom-color:var(--color-trace);pointer-events:auto;grid-template-rows:1fr}.mega-clip{min-height:0;overflow:hidden}.mega-cols{padding-block:var(--spacing-lg) var(--spacing-xl);gap:0 clamp(2.5rem,6vw,7rem);display:flex}.mega-col{min-width:14rem}.mega-label{font-size:.6875rem;font-weight:var(--weight-label);text-transform:uppercase;letter-spacing:.05em;color:var(--color-static);margin-bottom:var(--spacing-md);display:block}.mega-col ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.mega a{border-radius:var(--radius);color:var(--color-fg);gap:2px;margin-inline:-12px;padding:10px 12px;display:grid}.mega a:hover{background:var(--color-rack);text-decoration:none}.mega a b{font-weight:var(--weight-heading);letter-spacing:-.006em;font-size:.9375rem}.mega a span{color:var(--color-static);font-size:var(--body-sm);line-height:var(--line-height-meta)}@media (width<=900px){.nav-burger{display:flex}header.site nav{display:none}header.site nav.open{inset:var(--header-h) 0 0 0;background:var(--color-bg);padding:var(--spacing-md) var(--spacing-md) var(--spacing-xl);z-index:var(--z-nav-panel);flex-flow:column;align-items:stretch;gap:0;display:flex;position:fixed;overflow:hidden auto}header.site nav.open>*{flex:none}header.site nav.open a:not(.btn):not(.mega a),header.site nav.open .nav-trigger{border-bottom:1px solid var(--color-trace);text-align:left;width:100%;height:auto;min-height:48px;padding:14px 8px;font-size:1.05rem}header.site nav.open .nav-trigger{justify-content:space-between}header.site nav.open .btn{height:44px;margin-top:var(--spacing-md);justify-content:center}.mega{background:0 0;border-bottom:0;width:auto;margin-top:0;position:static}.nav-drop[data-open] .mega{border-bottom-color:#0000}.mega-cols{padding:var(--spacing-sm) 0 var(--spacing-md) var(--spacing-md);max-width:none;gap:0;padding-inline-start:var(--spacing-md);display:grid}.mega-col{min-width:0}.mega-label{margin-block:var(--spacing-md) var(--spacing-sm)}.mega a{margin-inline:0;padding:10px 0}}header.site nav a:not(.btn):not(.mega a)[aria-current=page]{color:var(--color-fg)}header.site .btn{height:var(--header-control-h);font-size:var(--body-sm);padding:0 14px}@media (prefers-reduced-motion:reduce){.mega,.chev,.nav-trigger,.nav-burger span,header.site nav a:not(.btn):not(.mega a){transition:none}}footer.site{border-top:1px solid var(--color-trace);padding-block:var(--section-padding)}footer.site .wrap.foot-grid{align-items:start;gap:var(--spacing-xl);padding-bottom:var(--spacing-xl);grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,1fr));display:grid}.foot-brand p{color:var(--color-static);font-size:var(--body-sm);line-height:var(--line-height-meta);max-width:32ch;margin-top:var(--spacing-sm)}@media (width<=900px){footer.site .wrap.foot-grid{gap:var(--spacing-lg);grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}.foot-col{flex-direction:column;align-items:flex-start;gap:0;display:flex}.foot-col h2{font:var(--weight-heading) var(--body-sm) / 1.4 var(--body-font-family);color:var(--color-fg);letter-spacing:.02em;margin-bottom:10px}.foot-col a{font-size:var(--body-sm);font-weight:var(--weight-label);color:var(--color-static);padding:9px 0;line-height:1.35;transition:color .15s cubic-bezier(.25,1,.5,1)}.foot-col a:hover{color:var(--color-fg)}.foot-legal{gap:var(--spacing-lg);border-top:1px solid var(--color-trace);padding-top:var(--spacing-lg);flex-wrap:wrap;align-items:center;display:flex}.foot-legal .tagline{color:var(--color-static);font-size:var(--body-sm);margin-left:auto}footer.site .legal{color:var(--color-static);font-size:var(--body-sm)}
