@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff)format("woff")}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-italic.u__WvvIK.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-grotesk-latin-400-normal.CJ-V5oYT.woff2)format("woff2"),url(/_astro/space-grotesk-latin-400-normal.BnQMeOim.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/space-grotesk-latin-600-normal.DjKNqYRj.woff2)format("woff2"),url(/_astro/space-grotesk-latin-600-normal.BflQw4A9.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}:root{--bg:#0a0b0a;--bg2:#101210;--ink:#ecefe6;--dim:#9aa094;--line:#232823;--line2:#323932;--acc:#c4ff3c;--acc-ink:#0a0b0a;--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--sans:"Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--pad:clamp(16px, 4vw, 48px);--max:1240px}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}body{background:var(--bg);min-height:100vh;color:var(--ink);font:400 1.0625rem/1.6 var(--sans);background-image:url(/grain.svg);margin:0;overflow-x:hidden}a{color:var(--ink);text-decoration-color:var(--acc);text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{color:var(--acc)}:focus-visible{outline:2px solid var(--acc);outline-offset:3px}.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--dim)}.skip{z-index:20;background:var(--acc);color:var(--acc-ink);padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:8px}.skip:focus{color:var(--acc-ink);top:8px}.top{z-index:10;padding:14px var(--pad);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#0a0b0ae0;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.logo{font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:10px;font-size:1rem;text-decoration:none;display:inline-flex}.logo-mark{background:var(--acc);clip-path:polygon(0 0,100% 0,100% 60%,60% 100%,0 100%);width:12px;height:12px;display:inline-block}.top ul{align-items:center;gap:clamp(14px,2.4vw,32px);margin:0;padding:0;list-style:none;display:flex}.top nav a{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-size:.78rem;text-decoration:none}.top nav a:hover,.top nav a:focus-visible{color:var(--acc)}.top nav a.lang{color:var(--acc);border:1px solid var(--line2);padding:6px 10px}.top nav a.lang:hover{border-color:var(--acc)}@media (width<=640px){.hide-sm{display:none}}.hero{max-width:var(--max);padding:clamp(40px, 8vw, 96px) var(--pad) clamp(40px, 6vw, 72px);grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,64px);margin:0 auto;display:grid;position:relative}@media (width>=960px){.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}.eyebrow{color:var(--dim);align-items:center;gap:12px;margin:0 0 28px;display:flex}.dot{background:var(--acc);border-radius:50%;flex:none;width:8px;height:8px;animation:2.4s ease-in-out infinite blink;box-shadow:0 0 0 4px #c4ff3c26}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:400}h1{text-wrap:balance;font-size:clamp(2.7rem,7.4vw,5.6rem);line-height:.98}h1 em{color:var(--acc);margin-top:.12em;font-style:italic;display:block}.lead{color:var(--dim);max-width:38em;margin:28px 0 0;font-size:clamp(1.1rem,1.8vw,1.3rem)}.lead.small{font-size:1.05rem}.actions{flex-wrap:wrap;gap:12px;margin:36px 0 0;display:flex}.btn{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--acc);color:var(--acc-ink);border:1px solid var(--acc);padding:14px 22px;font-size:.82rem;text-decoration:none;transition:background .15s,color .15s}.btn:hover{color:var(--acc);background:0 0}.btn.ghost{color:var(--ink);border-color:var(--line2);background:0 0}.btn.ghost:hover{border-color:var(--acc);color:var(--acc)}.hero-art{border:1px solid var(--line2);background:linear-gradient(180deg, #ffffff04, transparent), var(--bg2);min-width:0;position:relative}.hero-art:before,.hero-art:after{content:"";border:2px solid var(--acc);width:14px;height:14px;position:absolute}.hero-art:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.hero-art:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.diagram{width:100%;height:auto;display:block}.d-grid line{stroke:var(--line);stroke-width:1px}.d-wires path{fill:none;stroke:#566056;stroke-width:2px;stroke-dasharray:3 6}.d-wires circle{fill:var(--bg2);stroke:var(--dim);stroke-width:1.5px}.d-nodes rect{fill:var(--bg);stroke:#4a544a;stroke-width:1px}.d-code{font:400 13px var(--mono);letter-spacing:.14em;fill:var(--acc)}.d-name{font:600 19px var(--sans);letter-spacing:.06em;fill:var(--ink)}.d-hub rect:not(.halo){fill:var(--acc);stroke:var(--acc)}.d-hub .d-name{fill:var(--acc-ink);font-size:20px}.d-hub .halo{fill:none;stroke:var(--acc);stroke-width:1px;stroke-dasharray:3 4;opacity:.55;animation:6s linear infinite halo}.pk{r:5px;fill:var(--acc);offset-rotate:0deg;offset-distance:0%;filter:drop-shadow(0 0 4px #c4ff3ccc);animation:5.2s linear infinite travel}.pk1{offset-path:path("M180 90 H300 V210");animation-delay:0s}.pk2{offset-path:path("M300 210 V90 H420");animation-duration:4.4s;animation-delay:-1.3s}.pk3{offset-path:path("M300 270 V390 H180");animation-delay:-2.6s}.pk4{offset-path:path("M420 390 H300 V270");animation-duration:6s;animation-delay:-.7s}.pk5{offset-path:path("M95 124 V356");animation-duration:4.8s;animation-delay:-3.1s}.pk6{offset-path:path("M505 356 V124");animation-duration:5.6s;animation-delay:-1.9s}.pk7{offset-path:path("M420 90 H300 V210");animation-duration:6.4s;animation-delay:-4s}.pk8{offset-path:path("M95 356 V124");animation-duration:6.8s;animation-delay:-.2s}@keyframes travel{0%{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes blink{50%{opacity:.35}}@keyframes halo{to{stroke-dashoffset:-28px}}.block{max-width:var(--max);padding:clamp(56px, 9vw, 112px) var(--pad);border-top:1px solid var(--line);margin:0 auto}.narrow{max-width:860px}.page{min-height:60vh}.label{color:var(--acc);margin:0 0 18px}h2{text-wrap:balance;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.05}.page h1{font-size:clamp(2.4rem,6vw,4rem)}.intro{color:var(--dim);max-width:36em;margin:18px 0 0}.cards{background:var(--line2);border:1px solid var(--line2);grid-template-columns:minmax(0,1fr);gap:1px;margin:48px 0 0;padding:0;list-style:none;display:grid}@media (width>=820px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{background:var(--bg);padding:32px 28px 36px;transition:background .2s}.card:hover{background:var(--bg2)}.card .code{color:var(--acc);margin:0 0 40px}.card h3{margin-bottom:14px;font-size:2rem;line-height:1.05}.card p:last-child{color:var(--dim);margin:0}.rows{border-top:1px solid var(--line2);margin:48px 0 0;padding:0;list-style:none}.row{border-bottom:1px solid var(--line2);grid-template-columns:minmax(0,1fr);align-items:baseline;gap:4px 24px;padding:20px 0;display:grid}@media (width>=820px){.row{grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) minmax(0,.7fr)}.row-link{text-align:right}}.row-name{font-family:var(--serif);overflow-wrap:anywhere;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.1}.row-note{color:var(--dim)}.row-link{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;font-size:.78rem;text-decoration:none}a.row-link{color:var(--acc)}a.row-link:hover{text-decoration:underline}.row:hover .row-name{color:var(--acc)}.contact{background:linear-gradient(#0000,#c4ff3c0a)}.contact-list{gap:28px;margin:48px 0 0;display:grid}.contact-list div{border-left:2px solid var(--acc);padding-left:20px}.contact-list dt{color:var(--dim)}.contact-list dd{font-family:var(--serif);overflow-wrap:anywhere;margin:6px 0 0;font-size:clamp(1.7rem,6.2vw,3.6rem);line-height:1.1}@media (width>=820px){.contact-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-list a{text-decoration-thickness:2px}.foot{max-width:var(--max);padding:28px var(--pad) 48px;border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 auto;display:flex}.foot p{margin:0}.foot a{color:var(--dim)}.foot a:hover{color:var(--acc)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dot,.d-hub .halo{animation:none}.pk{opacity:1;filter:none;animation:none}.pk1{offset-distance:45%}.pk2{offset-distance:70%}.pk3{offset-distance:30%}.pk4{offset-distance:60%}.pk5{offset-distance:50%}.pk6{offset-distance:20%}.pk7{offset-distance:80%}.pk8{offset-distance:40%}.btn,.card{transition:none}}
