@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cd79e1ff94fa521b-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/89362aa296165c6d-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e11f95d95ac59fa4-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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/00f4982f357db61e-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/62a3c74fa0e47362-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8201559e247ad180-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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2173e4bb28c315da-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c6f81e539d11fc99-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/25ab8995c98996d7-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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9ddf1512dbee9c99-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8247d8d2a376ae43-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e270c9fc4fe96f5a-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:Be Vietnam Pro Fallback;src:local("Arial");ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.00%;size-adjust:110.36%}.__className_65b5f9{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.__variable_65b5f9{--font-be-vietnam-pro:"Be Vietnam Pro","Be Vietnam Pro Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.p.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.p.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.p.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.p.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_a18a80{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_a18a80{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}.BackToTop_button__uxLYr{position:fixed;right:1.25rem;bottom:1.25rem;z-index:250;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--rule-strong);border-radius:var(--radius-pill);background:var(--paper-raised);box-shadow:var(--shadow-raised);color:var(--ink);cursor:pointer;animation:BackToTop_back-to-top-in__IwaVb var(--motion-duration-fast) var(--motion-ease) both;transition:box-shadow var(--motion-duration-fast) var(--motion-ease),border-color var(--motion-duration-fast) var(--motion-ease)}.BackToTop_button__uxLYr:hover{border-color:var(--accent);box-shadow:var(--shadow-lifted)}.BackToTop_icon__yCjm0{width:1.15rem;height:1.15rem;transform:rotate(180deg)}@keyframes BackToTop_back-to-top-in__IwaVb{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}.CommandPalette_dialog__gwI9o{border:0;padding:0;background:transparent;margin:12vh auto auto;width:min(38rem,calc(100vw - 2rem));max-height:70vh}.CommandPalette_dialog__gwI9o::-webkit-backdrop{background:rgb(0 0 0/.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.CommandPalette_dialog__gwI9o::backdrop{background:rgb(0 0 0/.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.CommandPalette_panel__Ayqar{display:flex;flex-direction:column;max-height:70vh;background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-overlay);overflow:hidden}.CommandPalette_input__xmSUd{flex-shrink:0;width:100%;padding:1rem 1.125rem;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink);font:inherit;font-size:var(--text-md)}.CommandPalette_input__xmSUd::placeholder{color:var(--muted)}.CommandPalette_input__xmSUd:focus{outline:none}.CommandPalette_list__XBWdH{list-style:none;margin:0;padding:.375rem;overflow-y:auto;min-height:0}.CommandPalette_item__wxxbo{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.625rem .75rem;border-radius:var(--radius-sm);cursor:pointer}.CommandPalette_active__6NF1G{background:var(--paper-sunk);box-shadow:inset 2px 0 0 var(--accent)}.CommandPalette_label__RAzBP{color:var(--ink);font-size:var(--text-sm);line-height:1.4;min-width:0}.CommandPalette_hint___8EFZ{flex-shrink:0;color:var(--muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking)}.CommandPalette_note__scKUy{margin:0;padding:1rem 1.125rem;color:var(--muted);font-size:var(--text-sm)}.CommandPalette_footer__TY_wh{flex-shrink:0;margin:0;padding:.625rem 1.125rem;border-top:1px solid var(--rule);color:var(--muted);font-size:var(--text-2xs)}.CommandPalette_footer__TY_wh kbd{font-family:var(--mono);font-size:inherit;padding:.0625rem .3125rem;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);color:var(--ink-soft)}@media (max-width:30rem){.CommandPalette_dialog__gwI9o{margin-top:6vh}}.CommandPalette_stale__7Nw_4{opacity:.5}@media (prefers-reduced-motion:no-preference){.CommandPalette_list__XBWdH{transition:opacity var(--motion-duration-fast) var(--motion-ease)}}.Footer_footer__mllJk{background:var(--footer-ink);color:#ffffff;margin-top:4rem}.Footer_columns__Rg_ic{max-width:var(--shell);margin-inline:auto;padding:3.5rem 1.25rem 2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));grid-gap:2.5rem;gap:2.5rem}.Footer_column__3Lbf0{min-width:0}.Footer_heading__nV_Ko{margin:0 0 1rem;color:rgba(255,255,255,.6)}.Footer_bio__Sdz_Y{margin:0;font-size:var(--text-md);line-height:1.6;color:rgba(255,255,255,.85)}.Footer_list__g9Frh{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.Footer_list__g9Frh a{font-size:var(--text-md);text-decoration:none;color:rgba(255,255,255,.85);transition:color var(--motion-duration-fast) var(--motion-ease)}.Footer_list__g9Frh a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.Footer_copyright__w1EEu{max-width:var(--shell);margin-inline:auto;padding:1.5rem 1.25rem 2.5rem;border-top:1px solid rgba(255,255,255,.15)}.Footer_copyright__w1EEu p{margin:0;font:400 var(--text-xs)/1.4 var(--sans);color:rgba(255,255,255,.6)}@media (max-width:48rem){.Footer_columns__Rg_ic{grid-template-columns:1fr;gap:2rem}}.Masthead_masthead__z6ma2{position:relative;max-width:var(--shell);margin-inline:auto;padding:2rem 1.25rem 1.25rem;display:flex;justify-content:center}.Masthead_wordmark__byROl{font:500 var(--text-fluid-lg) /1.15 var(--mono);letter-spacing:-.045em;color:var(--ink);text-decoration:none;text-align:center}.Masthead_toggle__36Y0F{position:absolute;top:50%;right:1.25rem;transform:translateY(-50%)}.NavDrawer_trigger__XjGhd{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;background:none;color:inherit;cursor:pointer}.NavDrawer_trigger__XjGhd svg{width:1.25rem;height:1.25rem}@media (max-width:40rem){.NavDrawer_trigger__XjGhd{display:inline-flex}}.NavDrawer_panel__i9l9m{display:none;position:fixed;inset:0;z-index:200;flex-direction:column;gap:2rem;padding:5rem 1.5rem 2rem;background:var(--paper);overflow-y:auto;opacity:0;transform:translateY(-.75rem);transition:opacity var(--motion-duration-fast) var(--motion-ease),transform var(--motion-duration-fast) var(--motion-ease),display var(--motion-duration-fast) var(--motion-ease) allow-discrete}.NavDrawer_panel__i9l9m:not([hidden]){display:flex;opacity:1;transform:none}@starting-style{.NavDrawer_panel__i9l9m:not([hidden]){opacity:0;transform:translateY(-.75rem)}}.NavDrawer_close__OzYNC{position:absolute;top:1.25rem;right:1.25rem;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;background:none;color:inherit;cursor:pointer}.NavDrawer_close__OzYNC svg{width:1.25rem;height:1.25rem}.NavDrawer_list__Dg8LH{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.NavDrawer_list__Dg8LH a{font:500 var(--text-2xl) /1.3 var(--sans);text-decoration:none}.NavDrawer_list__Dg8LH a.NavDrawer_active__rPj4G{color:var(--accent-text);text-decoration:underline;-webkit-text-decoration-color:var(--accent-text);text-decoration-color:var(--accent-text);text-underline-offset:.3em;text-decoration-thickness:2px}.NavDrawer_social__O1TeO{list-style:none;margin:0;padding-top:1.5rem;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:.75rem}.NavDrawer_social__O1TeO a{font:500 var(--text-md) /1.4 var(--sans);color:var(--muted);text-decoration:none}.SiteNav_nav__zHBgO{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--rule)}.SiteNav_inner__A8FsW{max-width:var(--shell);margin-inline:auto;padding-inline:1.25rem;min-height:3.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.SiteNav_list__vIaT5{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none;column-gap:1.5rem}.SiteNav_list__vIaT5::-webkit-scrollbar{display:none}.SiteNav_list__vIaT5>li{flex:0 0 auto}.SiteNav_actions__IGd0N{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}.SiteNav_action__Tc28i{display:inline-flex;align-items:center;border:1px solid var(--rule);border-radius:999px;padding:.35rem .85rem;background:transparent;color:var(--ink-soft);font:500 var(--text-sm) /1.2 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:color var(--motion-duration-fast) var(--motion-ease),border-color var(--motion-duration-fast) var(--motion-ease)}.SiteNav_action__Tc28i:hover{color:var(--ink);border-color:var(--ink-soft);text-decoration:none}.SiteNav_action__Tc28i:active{transform:translateY(1px)}.SiteNav_follow__ev8AQ,.SiteNav_follow__ev8AQ:hover{border-color:var(--accent-text);color:var(--accent-text)}.SiteNav_follow__ev8AQ:hover{background:var(--wash,transparent)}.SiteNav_link__1_1Nd{display:inline-block;padding:1rem 0;font:500 var(--text-md) /1.2 var(--sans);letter-spacing:.01em;text-decoration:none;transition:color var(--motion-duration-fast) var(--motion-ease)}.SiteNav_active__YxlTM,.SiteNav_link__1_1Nd:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent-text);text-decoration-color:var(--accent-text)}.SiteNav_active__YxlTM{color:var(--accent-text);text-underline-offset:.35em;text-decoration-thickness:2px}@media (max-width:40rem){.SiteNav_inner__A8FsW{justify-content:flex-end}.SiteNav_follow__ev8AQ,.SiteNav_list__vIaT5{display:none}}.ThemeToggle_toggle__LWlzt{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;background:none;color:inherit;cursor:pointer;border-radius:var(--radius);transition:color var(--motion-duration-fast) var(--motion-ease)}.ThemeToggle_toggle__LWlzt:hover{color:var(--accent-text)}.ThemeToggle_icon__uWAzd{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8) rotate(-25deg);transition:opacity var(--motion-duration-fast) var(--motion-ease),transform var(--motion-duration-fast) var(--motion-ease)}.ThemeToggle_icon__uWAzd svg{width:1rem;height:1rem}.ThemeToggle_iconLight__iX37V{opacity:1;transform:none}:root[data-theme=dark] .ThemeToggle_iconLight__iX37V{opacity:0;transform:scale(.8) rotate(25deg)}:root[data-theme=dark] .ThemeToggle_iconDark__XWa2R{opacity:1;transform:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ThemeToggle_iconLight__iX37V{opacity:0;transform:scale(.8) rotate(25deg)}:root:not([data-theme=light]) .ThemeToggle_iconDark__XWa2R{opacity:1;transform:none}}:root,:root[data-theme=light]{--paper:#ffffff;--paper-sunk:#f6f8fa;--ink:#0d1117;--ink-soft:#3d444d;--muted:#5b6570;--rule:#d8dee4;--rule-strong:#7d8590;--accent:#1f5eff;--accent-text:#1550e0;--accent-text-hover:#0f3ea8;--footer-ink:#06080d;--paper-raised:#ffffff;--accent-2:#0b7285;--glow-accent:#1f5eff;--glow-soft:#1f5eff;color-scheme:light;--accent-soft:color-mix(in srgb,var(--accent) 10%,var(--paper));--accent-edge:color-mix(in srgb,var(--accent) 34%,var(--paper));--text-2xs:0.75rem;--text-xs:0.8125rem;--text-sm:0.875rem;--text-md:0.9375rem;--text-base:1rem;--text-lg:1.0625rem;--text-xl:1.1875rem;--text-2xl:1.25rem;--text-3xl:1.375rem;--text-4xl:1.5rem;--text-5xl:1.75rem;--text-6xl:2.5rem;--text-fluid-lg:clamp(1.5rem,4vw,2.125rem);--text-fluid-xl:clamp(1.75rem,4vw,2.5rem);--text-fluid-2xl:clamp(2rem,5vw,3rem);--motion-travel:28px;--motion-blur:6px;--motion-scale:0.98;--motion-duration:720ms;--motion-duration-fast:180ms;--motion-duration-slow:830ms;--motion-stagger:90ms;--motion-ease:cubic-bezier(.16,1,.3,1);--measure:68ch;--shell:76rem;--radius:8px;--radius-sm:4px;--radius-pill:999px;--step:1.6rem;--tracking:0.08em;--shadow-raised:0 1px 2px color-mix(in srgb,var(--ink) 7%,transparent),0 14px 34px -14px color-mix(in srgb,var(--ink) 18%,transparent);--shadow-lifted:0 2px 4px color-mix(in srgb,var(--ink) 9%,transparent),0 24px 60px -22px color-mix(in srgb,var(--ink) 26%,transparent);--shadow-overlay:0 24px 80px -20px color-mix(in srgb,var(--ink) 40%,transparent);--sans:var(--font-be-vietnam-pro),Helvetica,Arial,sans-serif;--display:var(--font-be-vietnam-pro),Helvetica,Arial,sans-serif;--mono:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,monospace}:root[data-theme=dark]{--paper:#0a0d13;--paper-sunk:#131824;--ink:#e6edf3;--ink-soft:#c3ccd7;--muted:#8b949e;--rule:#232b38;--rule-strong:#6b7484;--accent:#4d82ff;--accent-text:#4d82ff;--accent-text-hover:#7fa5ff;--footer-ink:#06080d;--paper-raised:#161c2a;--accent-2:#22d3ee;--glow-accent:#4d82ff;--glow-soft:#4d82ff;color-scheme:dark;--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--paper));--accent-edge:color-mix(in srgb,var(--accent) 40%,var(--paper));--shadow-raised:0 1px 2px rgb(0 0 0/0.55),0 16px 40px -16px rgb(0 0 0/0.75);--shadow-lifted:0 2px 4px rgb(0 0 0/0.6),0 28px 70px -24px rgb(0 0 0/0.85);--shadow-overlay:0 30px 90px -20px rgb(0 0 0/0.9)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0a0d13;--paper-sunk:#131824;--ink:#e6edf3;--ink-soft:#c3ccd7;--muted:#8b949e;--rule:#232b38;--rule-strong:#6b7484;--accent:#4d82ff;--accent-text:#4d82ff;--accent-text-hover:#7fa5ff;--footer-ink:#06080d;--paper-raised:#161c2a;--accent-2:#22d3ee;--glow-accent:#4d82ff;--glow-soft:#4d82ff;color-scheme:dark;--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--paper));--accent-edge:color-mix(in srgb,var(--accent) 40%,var(--paper));--shadow-raised:0 1px 2px rgb(0 0 0/0.55),0 16px 40px -16px rgb(0 0 0/0.75);--shadow-lifted:0 2px 4px rgb(0 0 0/0.6),0 28px 70px -24px rgb(0 0 0/0.85);--shadow-overlay:0 30px 90px -20px rgb(0 0 0/0.9)}}*,:after,:before{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:var(--text-base)/1.75 var(--sans)}img{max-width:100%;height:auto}a{color:inherit;-webkit-text-decoration-color:var(--accent-text);text-decoration-color:var(--accent-text)}.skip-link{position:fixed;top:-3rem;left:1rem;z-index:999;padding:.6rem 1rem;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius);font:500 var(--text-sm)/1.2 var(--sans);text-decoration:none}.skip-link:focus{top:1rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.eyebrow{font:500 var(--text-2xs) /1.4 var(--mono);text-transform:uppercase;letter-spacing:var(--tracking)}.shell{max-width:var(--shell);margin-inline:auto;padding-inline:1.25rem}.layout{display:grid;grid-template-columns:1fr;grid-gap:2.5rem;gap:2.5rem}@media (min-width:62rem){.layout{grid-template-columns:minmax(0,1fr) 22rem;gap:3rem}}.empty{margin:0;color:var(--muted)}.empty-compact{font-size:var(--text-sm)}.article__body{max-width:var(--measure);margin-inline:auto}.article__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:2.5rem}.article__body .payload-richtext>*+*{margin-top:1.15em}.article__body .payload-richtext h2{font:600 var(--text-4xl)/1.3 var(--display);letter-spacing:-.01em;margin-top:3em}.article__body .payload-richtext h3{font:600 var(--text-xl)/1.35 var(--display);margin-top:1.9em}.article__body .payload-richtext blockquote{margin-inline:0;padding-left:1.25rem;border-left:2px solid var(--accent);color:var(--ink-soft)}.article__body .payload-richtext code{font:.9em/1.6 var(--mono);background:var(--paper-sunk);padding:.1em .35em;border-radius:var(--radius)}.article__body .payload-richtext pre{background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.1rem;overflow-x:auto}.article__body .payload-richtext pre code{background:none;padding:0}.page-title{margin:0 0 2.5rem;font:400 var(--text-fluid-xl) /1.2 var(--display);color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-rv]{opacity:1!important;transform:none!important;filter:none!important}}html[data-motion=on] [data-rv]{opacity:0;transform:translate3d(0,var(--motion-travel),0) scale(var(--motion-scale));filter:blur(var(--motion-blur));transition:opacity var(--motion-duration) var(--motion-ease) var(--motion-delay,0s),transform var(--motion-duration) var(--motion-ease) var(--motion-delay,0s),filter var(--motion-duration) var(--motion-ease) var(--motion-delay,0s)}html[data-motion=on] [data-rv].is-revealed{opacity:1;transform:none;filter:blur(0)}html[data-motion=on] [data-rv=figure]{filter:blur(2px);transition-duration:var(--motion-duration-slow)}.TopBar_bar__IDnfO{background:var(--footer-ink);color:#ffffff}.TopBar_inner__KhZuw{max-width:var(--shell);margin-inline:auto;padding-inline:1.25rem;min-height:2.5rem;display:flex;align-items:center;justify-content:flex-end;gap:1rem}.TopBar_social__oLnyg{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1.25rem}.TopBar_social__oLnyg a{font:500 var(--text-xs) /1.4 var(--sans);color:#ffffff;text-decoration:none;transition:color var(--motion-duration-fast) var(--motion-ease)}.TopBar_social__oLnyg a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@media (max-width:40rem){.TopBar_bar__IDnfO{display:none}}