@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-ext-wght-normal.B5bTHO_g.woff2)format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");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}:root{--bg:#0f1519;--panel:#18212a;--panel-2:#141b22;--line:#94a6b729;--text:#e9eff4;--dim:#8fa0ad;--trigger:#ffc24b;--data:#4fd6c4;--action:#ff8a70;--display:"Bricolage Grotesque Variable", system-ui, sans-serif;--body:"Instrument Sans Variable", system-ui, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, monospace}:where(.astro-lcdefpme){box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);font-family:var(--body);background-image:radial-gradient(circle,#94a6b71a 1px,#0000 1px);background-size:26px 26px;margin:0;font-size:17px;line-height:1.6}a:where(.astro-lcdefpme){color:inherit}a:where(.astro-lcdefpme):focus-visible,.btn:where(.astro-lcdefpme):focus-visible{outline:2px solid var(--data);outline-offset:3px}code:where(.astro-lcdefpme){font-family:var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:.08em .35em;font-size:.88em}h1:where(.astro-lcdefpme),h2:where(.astro-lcdefpme){font-family:var(--display);margin:0;line-height:1.1}.nav:where(.astro-lcdefpme){justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:22px 24px;display:flex}.wordmark:where(.astro-lcdefpme){font-family:var(--display);letter-spacing:-.01em;align-items:center;gap:10px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.wordmark:where(.astro-lcdefpme) img:where(.astro-lcdefpme){border-radius:8px}.nav-links:where(.astro-lcdefpme){gap:26px;font-size:15.5px;display:flex}.nav-links:where(.astro-lcdefpme) a:where(.astro-lcdefpme){color:var(--dim);text-decoration:none;transition:color .12s}.nav-links:where(.astro-lcdefpme) a:where(.astro-lcdefpme):hover{color:var(--text)}.hero:where(.astro-lcdefpme){grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:56px;max-width:1100px;margin:0 auto;padding:56px 24px 84px;display:grid}.eyebrow:where(.astro-lcdefpme){font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--trigger);margin:0 0 18px;font-size:12.5px}h1:where(.astro-lcdefpme){letter-spacing:-.02em;font-size:clamp(38px,5.2vw,58px);font-weight:750}.lede:where(.astro-lcdefpme){color:var(--dim);max-width:34em;margin:22px 0 30px;font-size:19px}.lede:where(.astro-lcdefpme) code:where(.astro-lcdefpme){color:var(--data)}.cta-row:where(.astro-lcdefpme){flex-wrap:wrap;gap:14px;display:flex}.btn:where(.astro-lcdefpme){font-family:var(--body);border-radius:10px;padding:11px 22px;font-size:16px;font-weight:600;text-decoration:none;transition:transform .12s,background .12s}.btn:where(.astro-lcdefpme):hover{transform:translateY(-1px)}.btn-primary:where(.astro-lcdefpme){background:var(--data);color:#062420}.btn-ghost:where(.astro-lcdefpme){border:1px solid var(--line);color:var(--text);background:#18212a99}.hero-graph:where(.astro-lcdefpme){background:radial-gradient(circle, #94a6b721 1px, transparent 1px), var(--panel-2);border:1px solid var(--line);background-size:22px 22px;border-radius:16px;margin:0;padding:18px 14px 10px}.hero-graph:where(.astro-lcdefpme) svg:where(.astro-lcdefpme){width:100%;height:auto;display:block}.hero-graph:where(.astro-lcdefpme) figcaption:where(.astro-lcdefpme){font-family:var(--mono);color:var(--dim);text-align:center;padding:8px 6px;font-size:11.5px}.node:where(.astro-lcdefpme) rect:where(.astro-lcdefpme){fill:var(--panel);stroke:var(--line);stroke-width:1px}.node-name:where(.astro-lcdefpme){font-family:var(--mono);fill:var(--text);font-size:13px;font-weight:600}.node-sub:where(.astro-lcdefpme){font-family:var(--mono);fill:var(--dim);font-size:11px}.wire:where(.astro-lcdefpme){fill:none;stroke-width:2px;opacity:.8}.wire-trigger:where(.astro-lcdefpme){stroke:var(--trigger)}.wire-data:where(.astro-lcdefpme){stroke:var(--data)}.wire-action:where(.astro-lcdefpme){stroke:var(--action)}.port:where(.astro-lcdefpme){stroke:var(--panel-2);stroke-width:2px}.port-trigger:where(.astro-lcdefpme),.dot-trigger:where(.astro-lcdefpme){fill:var(--trigger)}.port-data:where(.astro-lcdefpme),.dot-data:where(.astro-lcdefpme){fill:var(--data)}.port-action:where(.astro-lcdefpme),.dot-action:where(.astro-lcdefpme){fill:var(--action)}.wire-label:where(.astro-lcdefpme){font-family:var(--mono);font-size:10px}.label-trigger:where(.astro-lcdefpme){fill:var(--trigger);opacity:.75}.label-data:where(.astro-lcdefpme){fill:var(--data);opacity:.75}.label-action:where(.astro-lcdefpme){fill:var(--action);opacity:.75}@media (prefers-reduced-motion:reduce){.flow-dot:where(.astro-lcdefpme){display:none}.btn:where(.astro-lcdefpme){transition:none}}.principles:where(.astro-lcdefpme){grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1100px;margin:0 auto;padding:0 24px 72px;display:grid}.principle:where(.astro-lcdefpme){background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:26px 26px 22px;position:relative}.principle:where(.astro-lcdefpme):before{content:"";border-radius:0 0 3px 3px;width:56px;height:3px;position:absolute;top:-1px;left:26px}.p-trigger:where(.astro-lcdefpme):before{background:var(--trigger)}.p-data:where(.astro-lcdefpme):before{background:var(--data)}.p-action:where(.astro-lcdefpme):before{background:var(--action)}.principle:where(.astro-lcdefpme) h2:where(.astro-lcdefpme){letter-spacing:-.01em;margin-bottom:12px;font-size:21px;font-weight:650}.principle:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--dim);margin:0;font-size:15.5px}.code-section:where(.astro-lcdefpme){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:48px;max-width:1100px;margin:0 auto;padding:0 24px 88px;display:grid}.code-copy:where(.astro-lcdefpme) h2:where(.astro-lcdefpme),.editor-copy:where(.astro-lcdefpme) h2:where(.astro-lcdefpme),.cta-band:where(.astro-lcdefpme) h2:where(.astro-lcdefpme){letter-spacing:-.015em;margin-bottom:16px;font-size:clamp(28px,3.4vw,38px);font-weight:700}.code-copy:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--dim);font-size:16.5px}.code-card:where(.astro-lcdefpme){background:var(--panel-2);border:1px solid var(--line);border-radius:14px;overflow:hidden}.code-tab:where(.astro-lcdefpme){font-family:var(--mono);color:var(--data);border-bottom:1px solid var(--line);background:var(--panel);padding:10px 18px;font-size:12.5px}.code-card:where(.astro-lcdefpme) pre:where(.astro-lcdefpme){font-family:var(--mono);color:var(--text);margin:0;padding:20px 22px;font-size:13.5px;line-height:1.65;overflow-x:auto}.code-card:where(.astro-lcdefpme) pre:where(.astro-lcdefpme) code:where(.astro-lcdefpme){font-size:inherit;background:0 0;border:none;padding:0}.tok-kw:where(.astro-lcdefpme){color:var(--action)}.tok-str:where(.astro-lcdefpme){color:var(--data)}.tok-num:where(.astro-lcdefpme),.tok-ty:where(.astro-lcdefpme){color:var(--trigger)}.editor-section:where(.astro-lcdefpme){text-align:center;max-width:1100px;margin:0 auto;padding:0 24px 88px}.editor-copy:where(.astro-lcdefpme){max-width:46em;margin:0 auto 36px}.editor-copy:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--dim);font-size:16.5px}.editor-shot:where(.astro-lcdefpme){display:block}.editor-shot:where(.astro-lcdefpme) img:where(.astro-lcdefpme){border:1px solid var(--line);border-radius:14px;width:100%;height:auto}.cta-band:where(.astro-lcdefpme){text-align:center;max-width:1100px;margin:0 auto;padding:0 24px 96px}.cta-band:where(.astro-lcdefpme) .cta-row:where(.astro-lcdefpme){justify-content:center;margin-top:8px}.footer:where(.astro-lcdefpme){border-top:1px solid var(--line);max-width:1100px;color:var(--dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:0 auto;padding:26px 24px;font-size:14.5px;display:flex}.footer:where(.astro-lcdefpme)>span:where(.astro-lcdefpme):first-child{font-family:var(--display);color:var(--text);font-weight:700}.footer-note:where(.astro-lcdefpme){font-size:13.5px}.footer-links:where(.astro-lcdefpme){gap:20px;display:flex}.footer-links:where(.astro-lcdefpme) a:where(.astro-lcdefpme){color:var(--dim);text-decoration:none}.footer-links:where(.astro-lcdefpme) a:where(.astro-lcdefpme):hover{color:var(--text)}@media (width<=960px){.hero:where(.astro-lcdefpme){grid-template-columns:1fr;gap:44px;padding-top:32px;padding-bottom:60px}.principles:where(.astro-lcdefpme){grid-template-columns:1fr}.code-section:where(.astro-lcdefpme){grid-template-columns:1fr;gap:32px}}
