@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_e44a95aa-module__SNRBwa__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_e44a95aa-module__SNRBwa__variable{--font-heading:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:satoshi;src:url(../media/Satoshi_Variable-s.p.0we6-2px855vh.woff2)format("woff2");font-display:swap;font-weight:300 900}@font-face{font-family:satoshi Fallback;src:local(Arial);ascent-override:92.36%;descent-override:21.95%;line-gap-override:9.14%;size-adjust:109.35%}.satoshi_3a666c7a-module__pPP1AG__className{font-family:satoshi,satoshi Fallback}.satoshi_3a666c7a-module__pPP1AG__variable{--font-sans:"satoshi", "satoshi Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.0_n_qwbzcushi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.07r2ragk8ph~z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0787d67~10694.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0dgq8lqrj3gc_.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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0o14nraug8u5s.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 Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_e729b2f2-module__2K62Ya__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_e729b2f2-module__2K62Ya__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
h1,h2,h3,h4{font-family:var(--font-heading)}button,input,textarea,select{font-family:inherit}:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.12s;--dur-base:.22s;--dur-slow:.42s;--text-xs:12px;--text-sm:13px;--text-lg:15px;--text-xl:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--radius-sm:4px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--status-live:#22c55e;--status-building:#ef4444;--accent-gold:#f59e0b;--accent-amber:#f5b942;--accent-blue:#60a5fa;--brand-linkedin:#0a66c2;--background:#fff;--foreground:#111;--muted-foreground:#6b7280;--border:#0000001a;--border-color:#0000001f;--dot-color:#00000026;--title:#111;--bg-hover:#00000009;--muted-bg:#0000000d;--muted-bg-hover:#00000017;--btn-primary-bg:#111;--btn-primary-fg:#fff}.dark{--background:#0d0d0d;--foreground:#e4e4e7;--muted-foreground:#71717a;--border:#ffffff14;--border-color:#ffffff12;--dot-color:#ffffff1f;--title:#fafafa;--bg-hover:#ffffff0a;--muted-bg:#ffffff0f;--muted-bg-hover:#ffffff1a;--btn-primary-bg:#f4f4f5;--btn-primary-fg:#0d0d0d}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}:focus-visible{outline:2px solid var(--foreground);outline-offset:2px;border-radius:inherit}.min-h-screen{min-height:100vh}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.flex{display:flex}.justify-center{justify-content:center}.w-full{width:100%}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv01", "cv11";text-rendering:optimizelegibility;font-size:14px;line-height:1.5}.dashed-line-h{flex-shrink:0;width:100%;height:1px;position:relative}.dashed-line-h:before{content:"";background-image:repeating-linear-gradient(to right, var(--border-color) 0px, var(--border-color) 5px, transparent 5px, transparent 12px);width:100vw;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.dot-grid{background-image:radial-gradient(circle, var(--dot-color) 1.2px, transparent 1.2px);background-size:20px 20px}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.section-label{color:var(--foreground);font-size:14px;font-weight:600}.view-all{color:var(--muted-foreground);border:1px solid var(--border);background:var(--muted-bg);transition:background .12s, transform 80ms var(--ease-out);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.view-all:hover{background:var(--muted-bg-hover);color:var(--foreground)}.view-all:active{transform:scale(.97)}.view-all svg{transition:transform .15s var(--ease-out)}.view-all:hover svg{transform:translate(1px,-1px)}.chip{border:1px solid var(--border);background:var(--muted-bg);color:var(--muted-foreground);white-space:nowrap;transition:background .12s var(--ease-out), color .12s var(--ease-out);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:500;line-height:1.6;text-decoration:none;display:inline-flex}.chip:hover{background:var(--muted-bg-hover);color:var(--foreground)}.cta-pill{border:1px solid var(--border);background:var(--muted-bg);color:var(--foreground);cursor:pointer;transition:background .12s, transform 80ms var(--ease-out);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:7px 16px;font-size:13px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.cta-pill:not(.cta-pill-primary):hover{background:var(--muted-bg-hover)}.cta-pill:not(.cta-pill-primary):active{transform:scale(.97)}.cta-pill-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:#0000}.cta-pill-primary:hover{opacity:.88;background:var(--btn-primary-bg)}.interactive-row{transition:background .12s, border-left-color .12s var(--ease-out);border-left:2px solid #0000}.interactive-row:hover{border-left-color:var(--foreground);background:var(--bg-hover)!important}.blog-arrow{transition:transform .15s var(--ease-out)}.interactive-row:hover .blog-arrow{transform:translate(1px,-1px)}.verify-link{transition:opacity .12s var(--ease-out), color .12s var(--ease-out)}.verify-link:hover{color:var(--foreground);opacity:1!important}.inline-link{color:var(--foreground);border-bottom:1px dashed var(--border);transition:color .12s var(--ease-out), border-bottom-color .12s var(--ease-out);font-weight:600;text-decoration:none}.inline-link:hover{color:var(--title);border-bottom-color:var(--foreground)}.info-term-wrap{align-items:baseline;display:inline-flex;position:relative}.info-term{appearance:none;font:inherit;font-weight:700;line-height:inherit;cursor:help;background:0 0;border-top:0;border-left:0;border-right:0;padding:0 1px 1px}a.info-term{cursor:pointer;display:inline}.info-term:focus-visible{outline:2px solid var(--foreground);outline-offset:3px;border-radius:var(--radius-sm)}.info-popover{z-index:30;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--background);width:min(300px,100vw - 40px);color:var(--foreground);font-size:var(--text-xs);pointer-events:none;opacity:0;transition:opacity .14s var(--ease-out), transform .14s var(--ease-out);flex-direction:column;gap:7px;margin-bottom:9px;padding:9px 10px;font-weight:500;line-height:1.55;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(3px)scale(.98);box-shadow:0 12px 34px #00000038}.info-popover:before{content:"";height:9px;position:absolute;top:100%;left:0;right:0}.info-term-wrap:hover .info-popover,.info-term-wrap:focus-within .info-popover{pointer-events:auto}.info-popover-link{min-width:0;color:var(--muted-foreground);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:10px;line-height:1.3;display:inline-flex;overflow:hidden}.info-term-wrap:hover .info-popover,.info-term-wrap:focus-within .info-popover,.info-popover[data-open=true]{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.back-to-top-arrow{transition:transform .15s var(--ease-out)}.back-to-top-btn:hover .back-to-top-arrow{transform:translateY(-2px)}.command-hint:not([data-minimal]):hover{background:var(--muted-bg-hover)}.command-hint[data-minimal]:hover{color:var(--foreground)!important}.os-repo-link:hover{color:var(--foreground)!important;border-bottom-color:var(--foreground)!important}.theme-toggle{transition:background .12s var(--ease-out), transform 80ms var(--ease-out)}.theme-toggle:hover{background:var(--bg-hover)!important}.theme-toggle:active{transform:scale(.92)}.interactive-row:focus-visible{background:var(--bg-hover);border-left-color:var(--foreground);outline:none}.contrib-level-0{background:#0000000f}.contrib-level-1{background:#e9d8fd}.contrib-level-2{background:#b794f4}.contrib-level-3{background:#805ad5}.contrib-level-4{background:#553c9a}.dark .contrib-level-0{background:#ffffff0d}.dark .contrib-level-1{background:#2d1f4e}.dark .contrib-level-2{background:#553c9a}.dark .contrib-level-3{background:#805ad5}.dark .contrib-level-4{background:#b794f4}@keyframes ping-dot{75%,to{opacity:0;transform:scale(2.2)}}.ping-dot{animation:1.4s cubic-bezier(0,0,.2,1) infinite ping-dot}@keyframes caretBlink{0%,to{opacity:1}50%{opacity:0}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.bio-mark{color:var(--title);border-bottom:1px dotted var(--muted-foreground);background:0 0;padding-bottom:1px;font-weight:600}canvas{transition:opacity .3s}@media (hover:none) and (pointer:coarse){.hide-on-touch{display:none!important}}@media (max-width:480px){.section-header{padding:9px 14px}.section-label{font-size:13px}main{border-left:none!important;border-right:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{:root{--background:#fff;--foreground:#111;--title:#000;--muted-foreground:#444;--border:#ccc;--border-color:#ccc;--muted-bg:#f6f6f6;--muted-bg-hover:#f0f0f0}body{color:#111!important;background:#fff!important}.no-print,.dot-grid,canvas,.dashed-line-h,.ping-dot,.view-all{display:none!important}main{border:none!important;max-width:100%!important}a[href]:after{content:" (" attr(href) ")";color:#555;font-size:9pt}a[href^=\#]:after,a[href^=mailto\:]:after{content:""}section,.section-header{break-inside:avoid;page-break-inside:avoid}h1,h2,h3{color:#000!important}}@supports (view-transition-name:root){::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease-out)}}
