@font-face{font-family:fraunces;src:url(../media/fraunces_400-s.p.2j1-120rypbv0.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:fraunces;src:url(../media/fraunces_600-s.p.00o8rxlzhbj_q.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:fraunces;src:url(../media/fraunces_700-s.p.0g7yw9rrs60ak.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:fraunces Fallback;src:local(Arial);ascent-override:92.66%;descent-override:24.16%;line-gap-override:0.0%;size-adjust:105.55%}.fraunces_e80df242-module__BA50Xq__className{font-family:fraunces,fraunces Fallback,serif}.fraunces_e80df242-module__BA50Xq__variable{--f-display:"fraunces", "fraunces Fallback", serif}
@font-face{font-family:outfit;src:url(../media/outfit_300-s.p.0fg10f3fme7jj.woff2)format("woff2");font-display:swap;font-weight:300;font-style:normal}@font-face{font-family:outfit;src:url(../media/outfit_400-s.p.0qc9jx-02bjhr.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:outfit;src:url(../media/outfit_500-s.p.3r7bui-qf0qs6.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:outfit;src:url(../media/outfit_600-s.p.3s68twez8chh7.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:outfit;src:url(../media/outfit_700-s.p.0w3yrtx4-qwen.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:outfit Fallback;src:local(Arial);ascent-override:99.94%;descent-override:25.98%;line-gap-override:0.0%;size-adjust:100.06%}.outfit_18c44ad-module__X3tT1q__className{font-family:outfit,outfit Fallback,sans-serif}.outfit_18c44ad-module__X3tT1q__variable{--f-head:"outfit", "outfit Fallback", sans-serif}
@font-face{font-family:dmSans;src:url(../media/dm_sans_400-s.0471snlmja818.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:dmSans;src:url(../media/dm_sans_400_italic-s.2t6y5iswgql5j.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:dmSans;src:url(../media/dm_sans_500-s.0brn-8r9pdr2e.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:dmSans;src:url(../media/dm_sans_700-s.1a6kzvi7en7g-.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:dmSans Fallback;src:local(Arial);ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.0%;size-adjust:105.13%}.dmsans_77617a30-module__030OjW__className{font-family:dmSans,dmSans Fallback,sans-serif}.dmsans_77617a30-module__030OjW__variable{--f-body:"dmSans", "dmSans Fallback", sans-serif}
@font-face{font-family:jetbrainsMono;src:url(../media/jetbrains_mono_400-s.3crsbyy6lh6yf.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:jetbrainsMono;src:url(../media/jetbrains_mono_500-s.2h52d08o60qht.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:jetbrainsMono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.jetbrainsmono_8afa15a8-module__-Jlfba__className{font-family:jetbrainsMono,jetbrainsMono Fallback,monospace}.jetbrainsmono_8afa15a8-module__-Jlfba__variable{--f-mono:"jetbrainsMono", "jetbrainsMono Fallback", monospace}
:root{--teal:#4fa19a;--teal-bright:#79c2b8;--teal-deep:#39706d;--coral:#ec6765;--coral-soft:#f46a68;--void:#0f1518;--deep:#161e22;--panel:#1d2528;--card:#232b2f;--line:#31383c;--stone:#637475;--slate:#5c686a;--mist:#9aa7a9;--cloud:#c8d4d6;--snow:#f9fbfb;--f-display:"Fraunces", serif;--f-head:"Outfit", sans-serif;--f-body:"DM Sans", sans-serif;--f-mono:"JetBrains Mono", monospace;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 2px 8px #080c0e4d;--shadow-md:0 8px 28px #080c0e73;--shadow-lg:0 24px 60px #080c0e8c;--glow-teal:0 0 24px #4fa19a4d;--max-width-content:900px;--max-width-wide:1240px;--max-width-narrow:680px}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--f-body);background:var(--deep);color:var(--snow);-webkit-font-smoothing:antialiased;min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 8%,#4fa19a14,#0000 70%);position:fixed;inset:0}.wrap{z-index:1;max-width:var(--max-width-wide);margin:0 auto;padding:0 32px;position:relative}a:focus-visible,button:focus-visible{outline:2px solid var(--teal-bright);outline-offset:3px}.section{padding:clamp(64px,9vw,120px) 0}@media (max-width:560px){.wrap{padding:0 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.node,.chip,.fspec,.fengine,.ocard{opacity:1!important;transform:none!important}.edge,.fmain,.fan{stroke-dashoffset:0!important}}
@keyframes up{to{opacity:1;transform:translateY(0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fin{to{opacity:1}}@keyframes flow{to{stroke-dashoffset:-294px}}
