@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-home-sans:"Inter","Inter Fallback"}@font-face{font-family:Newsreader;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/1f560fd14fedbdbd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/02509b87097bc185-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Newsreader;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/99a7372c326fca30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/5cf1065f9b642973-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6332a0d576d9db0a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Newsreader;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/ebf12d540fe27804-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader Fallback;src:local("Times New Roman");ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.00%;size-adjust:105.48%}.__className_68dd2e{font-family:Newsreader,Newsreader Fallback;font-weight:300}.__variable_68dd2e{--font-home-serif:"Newsreader","Newsreader Fallback"}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/59829bb575d36b50-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Spline Sans Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e02f7a71372872a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/59829bb575d36b50-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Spline Sans Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e02f7a71372872a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spline Sans Mono Fallback;src:local("Arial");ascent-override:71.59%;descent-override:17.57%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3b89e4{font-family:Spline Sans Mono,Spline Sans Mono Fallback;font-style:normal}.__variable_3b89e4{--font-home-mono:"Spline Sans Mono","Spline Sans Mono Fallback"}.home-root{--home-page:#f9f9f9;--home-white:#ffffff;--home-ink:#0a0e19;--home-ink-hover:#1a2030;--home-grey-400:#f2f2f2;--home-grey-450:#ececec;--home-grey-500:#e1e1e1;--home-grey-600:#cecece;--home-grey-700:#818181;--home-grey-800:#636363;--home-grey-900:#1f1f1f;--home-moss:#1e3c2c;--home-moss-hover:#2a5038;--home-pistachio:#dbefdb;--home-link-green:#397554;--home-fern:#3e7f5c;--home-border:0.5px solid var(--home-grey-500);font-family:var(--font-home-sans),system-ui,sans-serif;background:var(--home-page);color:var(--home-ink);letter-spacing:-.02em;-webkit-font-smoothing:antialiased}.home-serif{font-family:var(--font-home-serif),Georgia,serif;font-weight:300;letter-spacing:-.02em}.home-mono{font-family:var(--font-home-mono),ui-monospace,monospace}.home-card{background:var(--home-white);border:var(--home-border)}.home-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .625rem;border-radius:.375rem;border:1px solid transparent;font-size:1rem;line-height:1;letter-spacing:-.019em;cursor:pointer;transition:background .3s,border .3s,color .3s,transform .1s}@media (min-width:768px){.home-btn{padding:.4375rem .625rem;border-radius:.5rem}}.home-btn:active{transform:scale(.97)}.home-btn:focus-visible{outline:2px solid var(--home-ink);outline-offset:3px}.home-btn-fill{background:var(--home-ink);border-color:var(--home-ink);color:#fff}.home-btn-fill:hover{background:var(--home-ink-hover);border-color:var(--home-ink-hover)}.home-btn-outline{background:transparent;border-color:var(--home-ink);color:var(--home-ink)}.home-btn-outline:hover{background:var(--home-ink);color:#fff}.home-btn-glass{background:linear-gradient(rgba(206,206,206,.3),rgba(206,206,206,.3)),rgba(255,255,255,.85);border-color:rgba(206,206,206,.22);color:var(--home-ink)}.home-btn-glass:hover{background:linear-gradient(rgba(206,206,206,.45),rgba(206,206,206,.45)),rgba(255,255,255,.85)}.home-btn-moss{background:var(--home-moss);border-color:var(--home-moss);color:#fff}.home-btn-moss:hover{background:var(--home-moss-hover);border-color:var(--home-moss-hover)}.home-arrow-link{display:inline-flex;align-items:center;gap:.375rem;color:var(--home-link-green);font-size:1rem;line-height:1.1}.home-arrow-link .home-arrow{display:inline-block;transition:transform .2s ease-out}.home-arrow-link:hover .home-arrow{transform:translateX(2px)}.home-nav-pill:has(a:hover,button:hover)>:not(:hover){opacity:.4}.home-nav-pill>*{transition:opacity .2s}.home-footer-link{position:relative;display:inline-block}.home-footer-link:before{content:"";position:absolute;inset:-.2rem -.4rem;border-radius:.375rem;background:currentColor;opacity:0;transition:opacity .15s}.home-footer-link:hover:before{opacity:.08}.home-lift{transition:transform .4s cubic-bezier(.19,1,.22,1),background .3s,box-shadow .3s,border-color .3s}.home-lift:hover{transform:translateY(-2px);background:var(--home-grey-400)}.home-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50% 4px;background:var(--home-ink);color:#fff;font-size:.6875rem;line-height:1;padding:.375rem .5rem;border-radius:.375rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,translate .15s}.home-tooltip-trigger:hover .home-tooltip{opacity:1;translate:-50% 0}.home-row-arrow{opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s ease-out}.home-template-row:hover .home-row-arrow{opacity:1;transform:translateX(0)}.home-marquee{overflow:hidden;mask:linear-gradient(90deg,transparent,#000 12% 88%,transparent)}.home-marquee-track{display:flex;gap:.625rem;width:max-content;animation:home-marquee 48s linear infinite}.home-marquee-reverse .home-marquee-track{animation-direction:reverse}.home-marquee:hover .home-marquee-track{animation-play-state:paused}@keyframes home-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.home-flow-dash{stroke-dasharray:3 5;animation:home-flow 1.4s linear infinite}@keyframes home-flow{to{stroke-dashoffset:-8}}.home-orbit{animation:home-orbit 30s linear infinite;transform-origin:100px 100px}@keyframes home-orbit{to{transform:rotate(1turn)}}.home-node{animation:home-node-fill 7.2s linear infinite}@keyframes home-node-fill{0%,14%{fill:#dbefdb}22%,to{fill:#ffffff}}.home-detail{overflow:hidden;max-height:0;transition:width .55s cubic-bezier(.22,1,.36,1),max-height .55s cubic-bezier(.22,1,.36,1)}.home-detail-open{max-height:1400px}.home-detail-inner{opacity:0;transform:translateX(20px);padding-top:12px;transition:opacity .45s cubic-bezier(.22,1,.36,1) .1s,transform .45s cubic-bezier(.22,1,.36,1) .1s}.home-detail-open .home-detail-inner{opacity:1;transform:translateX(0)}@media (min-width:1200px){.home-detail{max-height:none;width:0}.home-detail-open{max-height:none;width:min(392px,38vw)}.home-detail-inner{width:min(392px,38vw);height:100%;padding-top:0;padding-left:12px}}@media (prefers-reduced-motion:reduce){.home-flow-dash,.home-marquee-track,.home-node,.home-orbit{animation:none}.home-detail,.home-detail-inner{transition:none}}.home-prose{color:var(--home-grey-900);font-size:1.0625rem;line-height:1.75;letter-spacing:-.011em}.home-prose>:first-child{margin-top:0}.home-prose p{margin:1.4rem 0;text-wrap:pretty}.home-prose h2{font-size:clamp(1.35rem,2.6vw,1.7rem);letter-spacing:-.022em;line-height:1.2;margin:2.8rem 0 1rem}.home-prose h2,.home-prose h3{color:var(--home-ink);font-weight:600;text-wrap:balance}.home-prose h3{font-size:clamp(1.1rem,2vw,1.25rem);letter-spacing:-.018em;line-height:1.3;margin:2.1rem 0 .65rem}.home-prose strong{color:var(--home-ink);font-weight:600}.home-prose a{color:var(--home-link-green);text-decoration:underline;text-decoration-color:rgba(57,117,84,.35);text-underline-offset:3px;transition:color .18s ease,text-decoration-color .18s ease}.home-prose a:hover{text-decoration-color:var(--home-link-green)}.home-prose ul{list-style:none;padding-left:0;margin:1.4rem 0}.home-prose ul>li{position:relative;padding-left:1.5rem;margin:.5rem 0}.home-prose ul>li:before{content:"";position:absolute;left:.1rem;top:.66em;width:6px;height:6px;border-radius:9999px;background:var(--home-fern)}.home-prose ol{list-style:none;counter-reset:home-ol;padding-left:0;margin:1.4rem 0}.home-prose ol>li{counter-increment:home-ol;position:relative;padding-left:2rem;margin:.5rem 0}.home-prose ol>li:before{content:counter(home-ol);position:absolute;left:0;top:.1em;font-family:var(--font-home-mono),ui-monospace,monospace;font-size:.82em;color:var(--home-link-green)}.home-prose blockquote{position:relative;margin:2.4rem 0;padding-top:1.3rem}.home-prose blockquote:before{content:"";position:absolute;top:0;left:.1rem;width:22px;height:4px;border-radius:9999px;background:var(--home-moss)}.home-prose blockquote p{font-family:var(--font-home-serif),Georgia,serif;font-weight:300;color:var(--home-ink);font-size:clamp(1.3rem,2.4vw,1.6rem);line-height:1.35;letter-spacing:-.02em;text-wrap:balance;margin:0}.home-prose :not(pre)>code{font-size:.85em;color:var(--home-ink);background:var(--home-grey-400);border:.5px solid var(--home-grey-500);border-radius:.3rem;padding:.1em .4em}.home-prose :not(pre)>code,.home-prose pre{font-family:var(--font-home-mono),ui-monospace,monospace}.home-prose pre{margin:1.9rem 0;padding:1.1rem 1.25rem;background:var(--home-ink);border-radius:.75rem;overflow-x:auto;font-size:.8125rem;line-height:1.7;color:var(--home-grey-400);-webkit-overflow-scrolling:touch}.home-prose pre code{font:inherit;color:inherit;background:none;border:0;padding:0;white-space:pre}.home-prose hr{border:0;border-top:var(--home-border);margin:2.6rem 0}.home-prose figure{margin:2rem 0}.home-prose img{display:block;width:100%;height:auto;border:var(--home-border);border-radius:.75rem}.home-prose figcaption{margin-top:.6rem;color:var(--home-grey-700);font-size:.8125rem}.home-root ::selection{background:var(--home-pistachio);color:var(--home-moss)}