@font-face{font-family:DM Sans;font-style:italic;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/f597cd59c1ffa374-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:italic;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/4261f91ea7100e2e-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:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_0f131e{font-family:DM Sans,DM Sans Fallback}.__variable_0f131e{--font-dm-sans:"DM Sans","DM Sans Fallback"}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-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 Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-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 Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-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 Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-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 Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-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 Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-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 Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-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 Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-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 Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-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 Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-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 Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-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 Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-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 Tight;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-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 Tight;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-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 Tight;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-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 Tight;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Tight;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-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 Tight Fallback;src:local("Arial");ascent-override:100.51%;descent-override:25.03%;line-gap-override:0.00%;size-adjust:96.39%}.__className_151f8d{font-family:Inter Tight,Inter Tight Fallback;font-style:normal}.__variable_151f8d{--font-inter-tight:"Inter Tight","Inter Tight Fallback"}.code-block{position:relative;margin:1.5rem 0;border-radius:.5rem;overflow:hidden}.code-block:before{content:attr(data-language);position:absolute;top:0;right:0;padding:.25rem .75rem;text-transform:uppercase;letter-spacing:.05em;color:#8b949e;background-color:#161b22;border-bottom-left-radius:.375rem;z-index:1}.code-block .shiki,.code-block:before{font-size:.75rem;font-family:var(--font-mono)}.code-block .shiki{margin:0;padding:2rem 0 1rem;overflow-x:auto;border-radius:.5rem;line-height:1}.code-block .shiki code{counter-reset:line;display:block;width:max-content;min-width:100%}.code-block .shiki .line{display:block;padding-right:1.5rem}.code-block .shiki .line:before{counter-increment:line;content:counter(line);display:inline-block;width:2.5rem;padding-right:1rem;text-align:right;color:#484f58;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}@media(max-width:767px){.code-block{margin:1rem 0}.code-block .shiki{font-size:.6875rem;padding:1.75rem 0 .75rem}.code-block .shiki .line{padding-right:.75rem}.code-block .shiki .line:before{width:1.75rem;padding-right:.5rem}}.lightbox{position:fixed;inset:0;z-index:1000;background-color:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:2rem;animation:lightbox-fade-in .2s ease}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox__close{position:absolute;top:1.25rem;right:1.5rem;background:none;border:none;color:rgba(240,236,227,.7);font-size:1.5rem;cursor:pointer;line-height:1;padding:.25rem;transition:color .15s ease;z-index:1}.lightbox__close:hover{color:#fff}.lightbox__image-wrapper{display:flex;align-items:center;justify-content:center;max-width:1200px;width:100%}:root{--background:#1a1b1e;--foreground:#ffffff;--black:#1a1b1e;--grey:#27272a;--grey-hover:#323235;--navy-card:#0f2236;--font-display:var(--font-inter-tight),"Helvetica Neue",Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:0.9375rem;--text-lg:1.125rem;--text-xl:1.375rem}*,:after,:before{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-dm-sans),system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;min-height:100vh}.site-main{flex:1 1;animation:page-enter .35s ease both}@media(min-width:1600px)and (hover:hover){body:has(.home){height:100svh;overflow:hidden}body:has(.home) .site-main{min-height:0}body:has(.home) .site-footer{margin-top:0}}@keyframes page-enter{0%{opacity:0}to{opacity:1}}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.01em}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid #9a9a9a;outline-offset:3px;border-radius:2px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#27272a 25%,#323235 50%,#27272a 75%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:4px}.site-header{position:relative;z-index:200;transition:background .3s ease,box-shadow .3s ease;padding-top:.75rem}@media(max-width:768px){.site-header{padding-top:.5rem;position:fixed;top:0;left:0;right:0}.site-header--scrolled{background:rgba(26,27,30,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 #1f2937}}.site-header__inner{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;padding:0 3rem;height:64px}@media(max-width:767px){.site-header__inner{padding:0 1.5rem}}@media(min-width:1600px)and (hover:hover){.site-header__inner{max-width:none;padding:0 3rem}}.site-header__logo{display:inline-flex;align-items:center;text-decoration:none;z-index:210;transition:transform .15s ease}.site-header__logo:hover{transform:translateY(-2px)}.site-header__logo-badge{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(0,0,0,0);border:2px solid #fff;color:#fff;font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.site-header__nav{display:none}.site-header__nav-link{font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;letter-spacing:.04em;color:rgba(240,236,227,.55);transition:color .2s ease;position:relative}.site-header__nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:#9a9a9a;transition:width .25s ease}.site-header__nav-link:hover{color:#f9fafb}.site-header__nav-link:hover:after{width:100%}.site-header__nav-link.is-active{color:#f9fafb}.site-header__nav-link.is-active:after{width:100%;background:#9a9a9a}.site-header__hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:0;background:none;border:none;cursor:pointer;z-index:210}@media(min-width:768px){.site-header__hamburger{width:44px;height:44px;gap:7px}}.site-header__bar{display:block;height:1.5px;background:#f9fafb;border-radius:2px;transform-origin:center;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,width .35s ease}.site-header__bar--top{width:24px}.site-header__bar--mid{width:16px}.site-header__bar--bot{width:20px}@media(min-width:768px){.site-header__bar{height:2px}.site-header__bar--top{width:32px}.site-header__bar--mid{width:22px}.site-header__bar--bot{width:28px}}.site-header__hamburger.is-open .site-header__bar--top{width:22px;transform:translateY(6.5px) rotate(45deg)}.site-header__hamburger.is-open .site-header__bar--mid{opacity:0;width:0}.site-header__hamburger.is-open .site-header__bar--bot{width:22px;transform:translateY(-6.5px) rotate(-45deg)}@media(min-width:768px){.site-header__hamburger.is-open .site-header__bar--top{width:30px;transform:translateY(9px) rotate(45deg)}.site-header__hamburger.is-open .site-header__bar--bot{width:30px;transform:translateY(-9px) rotate(-45deg)}}@media(max-width:768px){.site-main{padding-top:calc(64px + .5rem)}}.mobile-menu{position:fixed;inset:0;z-index:190;background:#1a1b1e;display:flex;flex-direction:column;justify-content:center;padding:2rem 2.5rem;-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);transition:-webkit-clip-path .5s cubic-bezier(.76,0,.24,1);transition:clip-path .5s cubic-bezier(.76,0,.24,1);transition:clip-path .5s cubic-bezier(.76,0,.24,1),-webkit-clip-path .5s cubic-bezier(.76,0,.24,1)}.mobile-menu.is-open{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}.mobile-menu__images{display:none}@media(min-width:768px){.mobile-menu__images{display:block;position:relative;flex:1 1;overflow:hidden;order:2}}.mobile-menu__image{position:absolute;inset:0;background-size:cover;background-position:50%;-webkit-clip-path:inset(0 0 0 100%);clip-path:inset(0 0 0 100%);transition:-webkit-clip-path .6s cubic-bezier(.76,0,.24,1);transition:clip-path .6s cubic-bezier(.76,0,.24,1);transition:clip-path .6s cubic-bezier(.76,0,.24,1),-webkit-clip-path .6s cubic-bezier(.76,0,.24,1)}.mobile-menu__image.is-visible{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}.mobile-menu__nav{display:flex;flex-direction:column;gap:.25rem}@media(min-width:768px){.mobile-menu__nav{align-items:flex-start;justify-content:center;padding:4rem;flex-shrink:0;order:1}}.mobile-menu__link{font-family:var(--font-display);font-size:clamp(2.5rem,12vw,4rem);font-weight:700;letter-spacing:-.01em;color:rgba(249,250,251,.55);line-height:1.15;opacity:0;transform:translateY(20px);transition:color .2s ease,opacity .4s ease calc(var(--i)*.07s + .15s),transform .4s ease calc(var(--i)*.07s + .15s)}.mobile-menu.is-open .mobile-menu__link{opacity:1;transform:translateY(0)}.mobile-menu__link:hover{color:#f9fafb}.mobile-menu__footer{position:absolute;bottom:2rem;left:2.5rem;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:rgba(249,250,251,.2)}@media(min-width:768px){.mobile-menu{flex-direction:row;padding:0}}.site-footer{border-top:1px solid #1f2937;margin-top:4rem}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}@media(max-width:640px){.site-footer__inner{justify-content:center;text-align:center}}.site-footer__nav{display:flex;gap:2rem}@media(max-width:640px){.site-footer__nav{justify-content:center;flex-wrap:wrap;gap:1.25rem}}.site-footer__link{font-size:var(--text-sm);font-weight:500;color:rgba(240,236,227,.55);transition:color .2s ease}.site-footer__link:hover{color:#f9fafb}.site-footer__right{display:flex;align-items:center;gap:.4rem}@media(max-width:640px){.site-footer__right{justify-content:center}}.site-footer__copy{font-size:var(--text-xs);color:rgba(240,236,227,.28)}.site-footer__github{display:flex;align-items:center;color:rgba(240,236,227,.28);transition:color .2s ease}.site-footer__github:hover{color:#f9fafb}.site-footer__github-icon{width:1.1rem;height:1.1rem}