@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-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:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-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:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-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:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-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:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-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:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-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:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_6a10ae{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_6a10ae{--font-sans:"Public Sans","Public Sans 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.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.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.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.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;font-style:normal;font-weight:600;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:600;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:600;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:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:JetBrains Mono;font-style:normal;font-weight:600;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_e896d9{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_e896d9{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--n-0:#ffffff;--n-25:#fcfcfa;--n-50:#f8f8f6;--n-100:#f1f1ee;--n-200:#e4e4e0;--n-300:#cfcfc9;--n-500:#8a8a82;--n-700:#55554f;--n-900:#1a1a17;--accent:#2050c8;--accent-pressed:#17409f;--accent-wash:#eaeffb;--accent-wash-line:#d3def6;--ok:#15795c;--ok-wash:#e7f2ee;--warn:#8a5a00;--warn-wash:#fbf1df;--bad:#b42318;--bad-wash:#fbeae8;--info:#2563a8;--info-ink:#1f5691;--radius:6px;--radius-sm:4px;--maxw:1200px}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body{margin:0;background:var(--n-25);color:var(--n-900);font-family:var(--font-sans),system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:23px}.mono{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-pressed);text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}dd,dl,figure,h1,h2,h3,p{margin:0}img,svg{display:block;max-width:100%}button{font:inherit}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{border-bottom:1px solid var(--n-200);padding:56px 0}.section--tight{padding:40px 0}.display{font-size:44px;line-height:50px;letter-spacing:-.02em;font-weight:700}.display,.h2{text-wrap:pretty}.h2{font-size:28px;line-height:34px;letter-spacing:-.015em}.h2,.h3{font-weight:600}.h3{font-size:20px;line-height:26px;letter-spacing:-.01em}.lede{font-size:18px;line-height:27px;text-wrap:pretty}.lede,.small{color:var(--n-700)}.small{font-size:13px;line-height:18px}.eyebrow{font-family:var(--font-mono),ui-monospace,monospace;font-size:11px;line-height:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.eyebrow,.muted{color:var(--n-700)}@media (max-width:719px){.display{font-size:32px;line-height:38px}.h2{font-size:24px;line-height:30px}.lede{font-size:16px;line-height:25px}}.btn{height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .12s linear,border-color .12s linear}.btn,.btn:hover{text-decoration:none}.btn--primary{background:var(--accent);border:1px solid var(--accent);color:var(--n-0)}.btn--primary:hover{background:var(--accent-pressed);border-color:var(--accent-pressed);color:var(--n-0)}.btn--secondary{background:var(--n-0);border:1px solid var(--n-300);color:var(--n-900)}.btn--secondary:hover{background:var(--n-50);color:var(--n-900)}.btn--sm{height:36px;font-size:14px;padding:0 14px}.card{border:1px solid var(--n-200);border-radius:var(--radius);background:var(--n-0)}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;white-space:nowrap}.pill__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 6px}.pill--ok{background:var(--ok-wash);color:var(--ok)}.pill--warn{background:var(--warn-wash);color:var(--warn)}.pill--bad{background:var(--bad-wash);color:var(--bad)}.pill--idle{background:var(--n-100);color:var(--n-700)}.pill--shadow{border:1px solid var(--info);color:var(--info-ink)}.grid{display:grid;grid-gap:16px;gap:16px}.grid--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@keyframes flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1000}}@keyframes flow-drop{0%{stroke-dashoffset:0;opacity:1}52%{stroke-dashoffset:-1000;opacity:1}64%{stroke-dashoffset:-1000;opacity:1}74%{stroke-dashoffset:-1000;opacity:0}to{stroke-dashoffset:-1000;opacity:0}}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--n-25) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--n-200)}.nav__inner{max-width:var(--maxw);margin:0 auto;padding:12px 24px;gap:24px}.nav__inner,.nav__links{display:flex;align-items:center}.nav__links{gap:20px;font-size:14px}.nav__links a{color:var(--n-700)}.nav__links a:hover{color:var(--n-900);text-decoration:none}@media (max-width:899px){.nav__links{display:none}}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-gap:48px;gap:48px;align-items:center;padding-block:72px 64px}@media (max-width:979px){.hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:48px}}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:32px;gap:32px;align-items:start}.rows{border-top:1px solid var(--n-200)}.rows>div{padding:14px 0;border-bottom:1px solid var(--n-100)}.rows>div:last-child{border-bottom:0}.field{width:100%;height:36px;padding:0 10px;border:1px solid var(--n-300);border-radius:var(--radius-sm);font-family:inherit;font-size:14px;color:var(--n-900);background:var(--n-0)}.field:focus{border-color:var(--accent);outline:2px solid var(--accent-wash);outline-offset:0}textarea.field{height:auto;min-height:92px;padding:8px 10px;line-height:20px;resize:vertical}.card-link{display:flex;flex-direction:column;transition:border-color .12s linear,transform .12s linear}.card-link,.card-link:hover{color:inherit;text-decoration:none}.card-link:hover{border-color:var(--n-300)}.card-link:hover .card-link__title{color:var(--accent)}.post--lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,280px);grid-gap:32px;gap:32px;padding:32px;align-items:start}.post__rail{border-left:1px solid var(--n-200);padding-left:24px}@media (max-width:799px){.post--lead{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px}.post__rail{border-left:0;border-top:1px solid var(--n-200);padding-left:0;padding-top:16px}}@media (max-width:899px){.steps__row{grid-template-columns:40px minmax(0,1fr)!important;gap:8px 16px!important}.steps__row>:last-child{grid-column:2;text-align:left!important}}.moves__row{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 72px;grid-gap:16px;gap:16px;align-items:center}@media (max-width:719px){.moves__row{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:8px}.moves__row>:last-child{grid-column:1/-1;justify-content:flex-start!important}}.rail{position:-webkit-sticky;position:sticky;top:60px;z-index:10;background:var(--n-25);padding:16px 0 12px;margin-top:24px;border-bottom:1px solid var(--n-200)}.linkbtn{border:0;background:none;padding:0;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.linkbtn:hover{color:var(--accent-pressed);text-decoration:underline}.tile{border:1px solid var(--n-200);border-radius:var(--radius);background:var(--n-0);padding:10px;cursor:pointer;text-align:left;color:inherit;transition:border-color .15s linear,box-shadow .15s linear}.tile:hover{border-color:var(--n-500)}.tile[data-on]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}.tile--inline{display:flex;align-items:center;gap:8px;padding:8px 10px}.chain{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);align-items:stretch;grid-gap:0;gap:0}.chain__node{border:1px solid var(--n-200);border-radius:var(--radius);padding:14px;min-width:0}.chain__arrow{display:flex;align-items:center;justify-content:center;font-size:15px}@media (max-width:719px){.chain{grid-template-columns:minmax(0,1fr)}.chain__arrow{height:24px}}.prose{margin-top:32px;border-top:1px solid var(--n-200);padding-top:32px;font-size:17px;line-height:28px}.prose>:first-child{margin-top:0}.prose p{margin:0 0 20px}.prose h2{font-size:26px;line-height:32px;letter-spacing:-.015em;font-weight:600;margin:40px 0 14px;text-wrap:pretty}.prose h3{font-size:19px;line-height:26px;letter-spacing:-.01em;margin:28px 0 10px}.prose h3,.prose strong{font-weight:600}.prose a{text-decoration:underline;text-underline-offset:2px}.prose ol,.prose ul{margin:0 0 20px;padding-left:22px}.prose li{margin-bottom:8px}.prose li::marker{color:var(--n-700)}.prose hr{border:0;border-top:1px solid var(--n-200);margin:36px 0}.prose code{font-family:var(--font-mono),ui-monospace,monospace;font-size:.88em;background:var(--n-100);border-radius:3px;padding:1px 4px;margin:0 -1px;overflow-wrap:anywhere}.prose pre{background:var(--n-50);border:1px solid var(--n-200);border-radius:var(--radius);padding:16px;overflow-x:auto;margin:0 0 20px}.prose pre code{background:none;border-radius:0;padding:0;font-size:13px;line-height:21px}.prose blockquote{margin:0 0 20px;padding-left:18px;border-left:2px solid var(--n-300);color:var(--n-700)}.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:22px;margin:0 0 20px}.prose thead th{text-align:left;font-size:11px;line-height:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--n-700);background:var(--n-50);padding:10px 12px;border-bottom:1px solid var(--n-200);white-space:nowrap}.prose tbody td{padding:10px 12px;border-bottom:1px solid var(--n-100);vertical-align:top}.prose tbody tr td:first-child{font-weight:600}.prose .table-scroll{overflow-x:auto}