@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");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-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");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-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff)format("woff");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-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff)format("woff");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-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff)format("woff");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-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff)format("woff");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-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff");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}.tone-dark,:root{--paper:#000;--panel:#161616;--ink:#fff;--ink-2:#a8a8a8;--rule:#3a3a3a;--hl:#ffbc17;--on-hl:#000;--line:#ffbc17;--ok:#4ade80;--no:#ff5c5c;color-scheme:dark}@media (prefers-color-scheme:light){:root{--paper:#fff;--panel:#f3f3f3;--ink:#000;--ink-2:#555;--rule:#d0d0d0;--hl:#ffbc17;--on-hl:#000;--line:#000;--ok:#157a3c;--no:#c81e1e;color-scheme:light}}.tone-light{--paper:#fff;--panel:#f3f3f3;--ink:#000;--ink-2:#555;--rule:#d0d0d0;--hl:#ffbc17;--on-hl:#000;--line:#000;--ok:#157a3c;--no:#c81e1e;color-scheme:light}.tone-yellow{--paper:#ffbc17;--panel:#f2ac00;--ink:#000;--ink-2:#3d2e00;--rule:#8a6600;--hl:#000;--on-hl:#ffbc17;--line:#000;--ok:#0a5c2e;--no:#9b1111}.tone-dark,.tone-light,.tone-yellow{background:var(--paper);color:var(--ink)}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:400 800;font-stretch:100% 125%;src:url(/_astro/archivo.2JyAAzCW.woff2)format("woff2-variations"),url(/_astro/archivo.2JyAAzCW.woff2)format("woff2")}:root{--font-display:"Archivo Variable", "Archivo", system-ui, sans-serif;--font-sans:"Archivo Variable", "Archivo", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--measure:40rem;--wide:70rem;--gutter:1rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-kerning:normal;margin:0;font-size:1.0625rem;font-stretch:100%;line-height:1.6}a{color:var(--line);text-underline-offset:.18em;text-decoration-color:currentColor;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible,:focus-visible{outline:2px solid var(--line);outline-offset:3px}@media (prefers-color-scheme:light){:root a{text-decoration-color:var(--hl);text-decoration-thickness:2px}}.tone-dark a{text-decoration-color:currentColor}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.005em;line-height:1.1}h1{margin:0 0 1rem;font-size:clamp(2.125rem,4.5vw + 1rem,3.75rem);font-weight:800;font-stretch:125%}h2{margin:2.5rem 0 .875rem;font-size:clamp(1.375rem,1.5vw + 1rem,1.875rem);font-weight:700;font-stretch:125%}h3{font-weight:700;font-stretch:112%}p{margin:0 0 1rem}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.9em}.hl{color:var(--line)}.skip{background:var(--hl);color:var(--on-hl);padding:.5rem .75rem;font-weight:700;position:absolute;top:.5rem;left:-9999px}.skip:focus{z-index:10;left:.5rem}.wrap{max-width:calc(var(--wide) + 2 * var(--gutter));padding:0 var(--gutter);margin:0 auto}.prose{max-width:var(--measure)}.band{padding:3rem 0}.band>.wrap>:first-child,.band>.wrap>.prose>:first-child{margin-top:0}.band>.wrap>:last-child{margin-bottom:0}@media (width>=48rem){.band{padding:4rem 0}}.site-header{border-bottom:1px solid #262626}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;min-height:4rem;display:flex}.brand{align-items:center;gap:.625rem;text-decoration:none;display:inline-flex}.brand svg{width:2rem;height:2rem;display:block}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;color:#ffbc17;font-size:1.1875rem;font-weight:800;font-stretch:125%}.wordmark b{color:#fff;font-weight:800}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:#fff;padding:.5rem 0;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-block}.site-nav a:hover{color:#ffbc17}.site-nav a[aria-current=page]{color:#ffbc17;text-decoration:underline 2px}@media (width<=47.99rem){.header-row{padding-top:.5rem}.site-nav{width:100%}.site-nav ul{gap:0 1rem}.site-nav a{padding:.625rem 0}}.site-footer{color:var(--ink-2);border-top:1px solid #262626;padding:2rem 0 2.5rem;font-size:.9375rem}.site-footer p{margin:0 0 .25rem}.site-footer ul{flex-wrap:wrap;gap:0 1.25rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.site-footer ul a{color:#fff;padding:.375rem 0;font-weight:600;display:inline-block}.page-head{max-width:48rem}.page-head h1{margin-bottom:.75rem}.page-head .eyebrow{font-family:var(--font-mono);color:var(--ink-2);margin:0 0 .75rem;font-size:.875rem}.page-head .lede{margin-bottom:0}.status{max-width:var(--measure);border-left:4px solid var(--hl);background:var(--panel);margin:0 0 2rem;padding:.875rem 1rem;font-size:.9375rem}.status b{font-family:var(--font-mono);margin-right:.25rem;font-size:.8125rem;font-weight:600}.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.25rem}.prose li+li{margin-top:.4rem}.prose h3{margin:1.75rem 0 .5rem;font-size:1.125rem}ol.steps{max-width:var(--measure);counter-reset:step;margin:1.5rem 0;padding:0;list-style:none}ol.steps>li{counter-increment:step;margin:0 0 1.75rem;padding-left:3rem;position:relative}ol.steps>li:before{content:counter(step);background:var(--hl);width:2rem;height:2rem;color:var(--on-hl);font-family:var(--font-mono);place-items:center;font-size:.875rem;font-weight:600;display:grid;position:absolute;top:0;left:0}ol.steps h3{margin:0 0 .25rem;font-size:1.125rem}ol.steps p{margin:0 0 .5rem}ol.steps .who{font-family:var(--font-mono);color:var(--ink-2);font-size:.8125rem}ol.steps li.no:before{background:var(--paper);color:var(--no);outline:2px solid var(--no);outline-offset:-2px}figure.excerpt{max-width:46rem;margin:2rem 0 0}figure.excerpt pre{color:#fff;tab-size:2;background:#000;margin:0;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.6;overflow-x:auto}figure.excerpt .k{color:#ffbc17}figure.excerpt figcaption{color:var(--ink-2);margin-top:.625rem;font-size:.875rem}.cards{gap:1rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}@media (width>=48rem){.cards{grid-template-columns:repeat(3,1fr)}}.cards li{padding:1.5rem}.cards .tag{font-family:var(--font-mono);color:var(--ink-2);margin:0 0 .5rem;font-size:.8125rem}.cards h3{color:var(--hl);margin:0 0 .5rem;font-size:1.5rem;font-stretch:125%}.cards p{margin:0 0 1rem}.cards a{font-weight:600}.teaser{max-width:var(--measure);background:var(--panel);border-left:4px solid var(--hl);margin:0;padding:1.5rem}.teaser .request{font-family:var(--font-mono);margin:0 0 .75rem;font-size:1rem}.teaser .request:before{content:"> ";color:var(--line)}.proof{max-width:var(--wide);gap:1.5rem;margin:0;display:grid}@media (width>=48rem){.proof{grid-template-columns:1fr 1fr}}.proof p{border-top:3px solid var(--ink);margin:0;padding-top:.875rem;font-size:1.0625rem}.proof b{font-family:var(--font-display);margin-bottom:.375rem;font-size:1.25rem;font-weight:800;font-stretch:125%;display:block}.cta{max-width:var(--measure)}.cta .email{font-family:var(--font-mono);font-size:1.125rem}ul.record{max-width:var(--measure);padding:0;list-style:none}ul.record li{border-top:1px solid var(--rule);padding:.6rem 0}ul.record li:last-child{border-bottom:1px solid var(--rule)}dl.terms{max-width:var(--measure);margin:1rem 0 1.5rem}dl.terms dt{margin-top:1rem;font-weight:700}dl.terms dd{margin:.25rem 0 0}table.map{width:100%;max-width:var(--measure);border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.9375rem}table.map th,table.map td{text-align:left;vertical-align:top;border-top:1px solid var(--rule);padding:.5rem .75rem .5rem 0}table.map th{font-weight:700}table.map thead th{font-family:var(--font-mono);color:var(--ink-2);border-top:none;font-size:.8125rem;font-weight:400}.table-scroll{max-width:var(--measure);overflow-x:auto}.hero h1{max-width:15ch;font-size:clamp(2.375rem,5.5vw + 1rem,4.5rem);line-height:1.02}.typed{font-family:var(--font-mono);letter-spacing:0;margin-bottom:.5em;font-size:.5em;font-weight:400;font-stretch:100%;display:block}.typed:before{content:"> ";color:var(--line)}.typed:after{content:"";vertical-align:-.15em;background:var(--hl);width:.55em;height:1.05em;margin-left:.15em;display:inline-block}.lede{max-width:var(--measure);color:var(--ink);font-size:1.25rem}figure.diagram{margin:2.5rem 0}.diagram-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;overflow-x:auto}.diagram-scroll>svg{max-width:none;height:auto;display:block}figure.diagram figcaption{max-width:var(--measure);color:var(--ink-2);margin-top:.875rem;font-size:.9375rem}figure.diagram figcaption b{color:var(--line);font-weight:600;font-family:var(--font-mono);font-size:.875rem}.dgm-tall,.diagram-scroll>.dgm-tall{display:none}@media (width<=1039.98px){.dgm-wide,.diagram-scroll>.dgm-wide{display:none}.diagram-scroll>.dgm-tall{display:block}}.dgm{font-family:var(--font-mono);fill:var(--ink);font-size:13px}.dgm text{fill:var(--ink)}.dgm .t-meta{fill:var(--ink-2);font-size:12px}.dgm .t-small{font-size:12px}.dgm .t-dim,.dgm tspan.t-dim{fill:var(--ink-2)}.dgm .t-head{font-size:15px;font-weight:600}.dgm .t-strong{font-weight:600}.dgm .box{fill:var(--panel);stroke:var(--ink);stroke-width:1px}.dgm .card{fill:var(--paper);stroke:var(--ink);stroke-width:1px}.dgm .frame{fill:none;stroke:var(--line);stroke-width:2px}.dgm .tab{fill:var(--hl);stroke:var(--line);stroke-width:1px}.dgm text.tab-label{fill:var(--on-hl);font-weight:600}.dgm .gate{fill:var(--paper);stroke:var(--ink);stroke-width:1.25px}.dgm .flow{fill:none;stroke:var(--ink);stroke-width:1.25px}.dgm .flow-soft{fill:none;stroke:var(--ink-2);stroke-width:1.25px;stroke-dasharray:5 4}.dgm .trail{fill:none;stroke:var(--ink-2);stroke-width:1.25px;stroke-dasharray:1.5 4;stroke-linecap:round}.dgm .rule{stroke:var(--rule);stroke-width:1px}.dgm .head{fill:var(--ink)}.dgm .head-soft{fill:var(--ink-2)}.dgm .cursor{fill:var(--hl)}.dgm .knock{fill:var(--paper)}.dgm .ok{stroke:var(--ok)}.dgm .no{stroke:var(--no)}.dgm text.ok,.dgm .head.ok,.dgm .fill-ok{fill:var(--ok);stroke:none}.dgm text.no,.dgm .head.no,.dgm .fill-no{fill:var(--no);stroke:none}.dgm .box.ok{stroke:var(--ok);stroke-width:2px}.dgm .mark{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.dgm .future{stroke-dasharray:4 3}.dgm .foundation{stroke:var(--line);stroke-width:2px}.mmd{font-family:var(--font-mono);font-size:13px}.mmd text{fill:var(--ink);font-family:var(--font-mono);stroke:none;font-size:13px}.mmd rect.actor{fill:var(--panel);stroke:var(--ink);stroke-width:1px}.mmd .actor-line{stroke:var(--rule);stroke-width:1px}.mmd .messageLine0,.mmd .messageLine1{stroke:var(--ink);stroke-width:1.25px;fill:none}.mmd .messageLine1{stroke-dasharray:5 4;stroke:var(--ink-2)}.mmd .messageText{fill:var(--ink)}.mmd rect.note{fill:var(--paper);stroke:var(--ink-2);stroke-width:1px;stroke-dasharray:2 3}.mmd .noteText,.mmd .noteText tspan{fill:var(--ink-2);font-size:12px}.mmd .activation0,.mmd .activation1,.mmd .activation2{fill:var(--panel);stroke:var(--ink-2)}.mmd marker path,.mmd .arrowheadPath{fill:var(--ink);stroke:var(--ink)}.mmd marker.crosshead path{fill:none;stroke-width:1.5px}.mmd .node rect,.mmd .node polygon,.mmd .node path,.mmd .node circle{fill:var(--panel);stroke:var(--ink);stroke-width:1px}.mmd .node .label text,.mmd .cluster .label text{text-anchor:middle}.mmd .flowchart-link{fill:none;stroke:var(--ink);stroke-width:1.25px}.mmd .flowchart-link.edge-pattern-dotted,.mmd .flowchart-link.edge-pattern-dashed{stroke:var(--ink-2);stroke-dasharray:5 4}.mmd .arrowMarkerPath{fill:var(--ink);stroke:var(--ink);stroke-width:1px}.mmd .edgeLabel rect.background{fill:var(--paper);stroke:none}.mmd .edgeLabel text{fill:var(--ink-2);font-size:12px}.mmd .node rect.background,.mmd .label rect:not(.background){fill:none;stroke:none}.mmd .node.ok rect,.mmd .node.ok polygon,.mmd .node.ok path{stroke:var(--ok);stroke-width:2px}.mmd .node.no rect,.mmd .node.no polygon,.mmd .node.no path{stroke:var(--no);stroke-width:2px}.mmd .node.ok text,.mmd .node.ok tspan{fill:var(--ok);font-weight:600}.mmd .node.no text,.mmd .node.no tspan{fill:var(--no);font-weight:600}.mmd .flowchart-link.ok{stroke:var(--ok);stroke-width:1.75px}.mmd .flowchart-link.no{stroke:var(--no);stroke-width:1.75px}.mmd marker.ok .arrowMarkerPath{fill:var(--ok);stroke:var(--ok)}.mmd marker.no .arrowMarkerPath{fill:var(--no);stroke:var(--no)}.mmd .node.code rect{stroke-width:2px}.mmd .node.now rect{stroke:var(--line);stroke-width:2.5px}.mmd .node.note rect{fill:var(--paper);stroke:var(--ink-2);stroke-dasharray:2 3}.mmd .node.note text,.mmd .node.note tspan{fill:var(--ink-2);font-size:12px}.mmd .messageText.no,.mmd text.no{fill:var(--no);font-weight:600}.mmd .messageText.ok,.mmd text.ok{fill:var(--ok);font-weight:600}.mmd .messageLine0.no,.mmd .messageLine1.no{stroke:var(--no);stroke-dasharray:none;stroke-width:1.75px}.mmd .messageLine0.ok,.mmd .messageLine1.ok{stroke:var(--ok);stroke-width:1.75px}.mmd rect.note.no{stroke:var(--no);stroke-dasharray:none}.mmd rect.note.ok{stroke:var(--ok);stroke-dasharray:none}.mmd .noteText.no,.mmd .noteText.no tspan{fill:var(--no)}.mmd .noteText.ok,.mmd .noteText.ok tspan{fill:var(--ok)}.mmd marker.no path{fill:var(--no);stroke:var(--no)}.mmd marker.ok path{fill:var(--ok);stroke:var(--ok)}.review-pair{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.review-panel{border:1px solid var(--rule);min-width:0;padding:1rem}.review-panel>p.mono{color:var(--ink-2);margin:0 0 .5rem;font-size:.8125rem}.review-panel figure.diagram{margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}h2.small-head{font-family:var(--font-mono);letter-spacing:0;color:var(--ink-2);margin:0 0 .875rem;font-size:.875rem;font-weight:600;font-stretch:100%}main>.wrap{padding-top:2.5rem;padding-bottom:2.5rem}
