:root{--paper:#edeff4;--paper-raised:#f6f7fa;--ink:#1b1e2e;--ink-soft:#545a73;--rule:#c9cdda;--night:#171a2c;--night-text:#d9dcea;--violet:#5d4fe0;--ok:#58c17a;--run:#5cc8d6;--warn:#e0b44c;--fail:#ee6a6a;--dim:#8a8fa8;--sans:"Instrument Sans", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--measure:68ch}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;scroll-padding-top:2rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0}a{color:var(--violet);text-underline-offset:.18em;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:3px}code,kbd,pre{font-family:var(--mono)}code{overflow-wrap:anywhere;font-size:.86em}kbd{border:1px solid var(--rule);background:var(--paper-raised);text-align:center;white-space:nowrap;border-bottom-width:2px;border-radius:5px;min-width:1.6em;padding:.05em .4em;font-size:.8em;line-height:1.5;display:inline-block}q{quotes:"“" "”"}.page{grid-template-columns:11.5rem minmax(0,1fr);gap:4rem;max-width:82rem;margin:0 auto;padding:4.5rem 2.5rem 7rem;display:grid}.rail{align-self:start;font-size:.875rem;position:sticky;top:2.5rem}.rail-title{color:var(--ink-soft);margin:0 0 .75rem;font-weight:600}.rail ol{border-left:1px solid var(--rule);margin:0;padding:0;list-style:none}.rail li a{color:var(--ink-soft);border-left:2px solid #0000;margin-left:-1px;padding:.28rem 0 .28rem .9rem;text-decoration:none;display:block}.rail li a:hover{color:var(--ink)}.rail li a[aria-current=true]{border-left-color:var(--violet);color:var(--ink);font-weight:600}main>section{max-width:var(--measure)}main>section+section{margin-top:4.5rem}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:600}h1{letter-spacing:-.035em;font-size:clamp(2.4rem,1.8rem + 2.6vw,3.9rem);line-height:1.04}h2{margin-bottom:1rem;font-size:1.75rem;line-height:1.2}h3{margin:2rem 0 .5rem;font-size:1.0625rem}p,ul,table,pre{margin:0 0 1rem}ul{padding-left:1.15rem}li+li{margin-top:.4rem}li::marker{color:var(--dim)}h1 code{letter-spacing:-.04em;overflow-wrap:normal;white-space:nowrap;font-size:.84em;font-weight:700}.tldr{border-left:3px solid var(--violet);background:var(--paper-raised);border-radius:0 10px 10px 0;max-width:38em;margin-top:2rem;padding:1.1rem 1.4rem 1.2rem}.tldr h2{letter-spacing:0;margin:0 0 .5rem;font-size:1rem}.tldr ul{margin:0;padding-left:1.1rem;font-size:1.0625rem;line-height:1.5}.tldr strong{font-weight:650}.facts{border-top:1px solid var(--rule);flex-wrap:wrap;gap:.75rem 2.5rem;margin:2rem 0 0;padding-top:1.25rem;font-size:.875rem;display:flex}.facts dt{color:var(--ink-soft)}.facts dd{margin:0;font-weight:500}table{border-collapse:collapse;width:100%;font-size:.95rem}th{text-align:left;color:var(--ink-soft);font-size:.875rem;font-weight:600}th,td{border-bottom:1px solid var(--rule);vertical-align:top;padding:.6rem 1rem .6rem 0}td:first-child{white-space:nowrap;width:1%}#when td:first-child{white-space:normal;width:70%}.keys td:first-child kbd+kbd{margin-left:.15rem}.chip,.chip-inline{font-family:var(--mono);background:var(--night);border-radius:6px;place-items:center;font-weight:700;display:inline-grid}.chip{width:2rem;height:2rem;font-size:1rem}.chip-inline{vertical-align:-.2em;width:1.45em;height:1.45em;font-size:.85em}.s-ok{color:var(--ok)}.s-run{color:var(--run)}.s-warn{color:var(--warn)}.s-fail{color:var(--fail)}.s-dim{color:var(--dim)}.chip.s-dim,.chip-inline.s-dim{color:#9aa0bb}pre{background:var(--night);color:var(--night-text);border-radius:10px;padding:1.1rem 1.25rem;font-size:.8125rem;line-height:1.6;overflow-x:auto}pre.wrap{white-space:pre-wrap}pre code{font-size:inherit;overflow-wrap:normal}.c-k{color:#b5a6ff}.c-s{color:#9fd8a8}.c-c{color:#8288a6}.c-fail{color:var(--fail)}main>section.demo{max-width:none}.demo-head{max-width:var(--measure)}.demo-head p{color:var(--ink-soft)}.demo-body{margin-top:1.5rem}.terminal-frame{background:var(--night);outline-offset:3px;border-radius:12px;outline:2px solid #0000;padding:1rem 1.1rem;transition:outline-color .12s;overflow-x:auto;box-shadow:inset 0 1px #ffffff0a,0 24px 48px -28px #171a2c8c}.terminal-frame.is-focused{outline-color:var(--violet)}.terminal{width:max-content;min-height:12rem;margin:0 auto;position:relative}.try{grid-template-columns:minmax(0, var(--measure)) 15rem;grid-template-areas:"title.""list controls";column-gap:3rem;margin-top:1.75rem;font-size:.9375rem;display:grid}.try h3{grid-area:title;margin-top:0}.try ul{grid-area:list;margin:0;padding-left:1rem}.controls{border-left:1px solid var(--rule);grid-area:controls;align-content:start;gap:.6rem;padding-left:1.5rem;display:grid}.controls label{align-items:baseline;gap:.5rem;display:flex}.controls input{accent-color:var(--violet);transform:translateY(.1em)}.bytes{color:var(--ink-soft);margin:0;font-size:.875rem}.bytes output{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.buttons{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.buttons button{border:1px solid var(--ink);color:var(--ink);font:600 .875rem var(--sans);cursor:pointer;background:0 0;border-radius:999px;padding:.45rem .95rem}.buttons button:disabled{opacity:.45;cursor:default}.buttons button:hover:not(:disabled){background:#1b1e2e0f}.buttons .restart{background:var(--ink);color:var(--paper)}.buttons .restart:hover{background:#2c3148}.buttons .pause[aria-pressed=true]{border-color:var(--violet);color:var(--violet)}#try-verify{margin-top:3.5rem}#try-dev{margin-top:5rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.preview{white-space:pre;color:var(--night-text);margin:0;padding:.9rem 1.1rem;font-size:.78rem;line-height:1.32}main>section#states{max-width:none;margin-top:3rem}.states{counter-reset:state;gap:1.75rem;margin:0;padding:0;list-style:none;display:grid}.states>li{counter-increment:state;grid-template-columns:13rem minmax(0,max-content);align-items:start;gap:1.75rem;margin:0;display:grid}.state-text h3{margin:.4rem 0 .35rem}.state-text h3:before{content:counter(state);background:var(--ink);width:1.5rem;height:1.5rem;color:var(--paper);font-variant-numeric:tabular-nums;vertical-align:.1em;border-radius:50%;place-items:center;margin-right:.55rem;font-size:.8rem;display:inline-grid}.state-text p{color:var(--ink-soft);margin:0 0 .5rem;font-size:.9375rem}main>section#how{max-width:none}#how h3{margin-top:2.25rem}.pair{flex-wrap:wrap;align-items:stretch;gap:1rem;display:flex}.pair>pre{max-width:100%;margin:0}.pair>.code{flex:20rem;min-width:0}.pair>.preview{flex:none}.maps{max-width:var(--measure);grid-template-columns:max-content minmax(0,1fr);gap:.4rem 1.5rem;margin:1rem 0 0;font-size:.9375rem;display:grid}.maps>div{display:contents}.maps dt{color:var(--ink-soft)}.maps dd{margin:0}.measure td:first-child{white-space:normal;width:auto}.measure th:not(:first-child),.measure td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}main>section#after,main>section#agents,main>section#when{max-width:none}#when>p,#after>p,#agents>p,#agents>ul,#agents>h3,#agents>.chart{max-width:var(--measure)}.examples{gap:1.5rem;margin-top:1.5rem;display:grid}.examples figure{grid-template-columns:13rem minmax(0,max-content);align-items:start;gap:1.75rem;margin:0;display:grid}.state-text code,.examples figcaption code{overflow-wrap:normal;white-space:nowrap}.examples figcaption{color:var(--ink-soft);padding-top:.9rem;font-size:.9375rem}.chart{margin:2rem 0 1.5rem}.chart figcaption{gap:.2rem;margin-bottom:1.25rem;display:grid}.chart-title{font-weight:600}.chart-sub{color:var(--ink-soft);font-size:.875rem}.bars{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.bar-row{outline-offset:2px;border-radius:6px;grid-template-columns:11rem minmax(0,1fr);align-items:center;margin:0;padding:.35rem 0;font-size:.9375rem;display:grid}.bar-row:hover{background:#1b1e2e0a}.bar-row--focus .bar-label{font-weight:600}.bar-track{border-left:1px solid var(--rule);align-items:center;gap:.6rem;min-height:1.5rem;display:flex;position:relative}.bar{width:calc((100% - 6rem) * var(--f));background:var(--violet);border-radius:0 4px 4px 0;min-width:2px;height:18px}.bar-value{font-variant-numeric:tabular-nums;font-weight:600}.tip{bottom:calc(100% + .35rem);left:calc((100% - 6rem) * var(--f));z-index:1;background:var(--ink);color:var(--paper);white-space:nowrap;border-radius:6px;padding:.3rem .55rem;font-size:.8125rem;display:none;position:absolute;transform:translate(-50%)}.bar-row:hover .tip,.bar-row:focus-visible .tip{display:block}.player{grid-template-columns:13rem minmax(0,max-content);align-items:start;gap:1.75rem;margin:1rem 0 2rem;display:grid}.player figcaption p{color:var(--ink-soft);margin:0 0 .75rem;font-size:.9375rem}.player-controls{align-items:center;gap:.75rem;display:flex}.player-toggle{border:1px solid var(--ink);color:var(--ink);font:600 .8125rem var(--sans);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .8rem}.player-count{font-variant-numeric:tabular-nums;font-size:.875rem}.player-screen{background:var(--night);border-radius:10px;display:grid}.player-frame{visibility:hidden;grid-area:1/1}.player-frame.is-current{visibility:visible}.chart-table{margin-top:1rem;font-size:.875rem}.chart-table summary{color:var(--ink-soft);cursor:pointer}.chart-table table{margin-top:.75rem}.detail{border-top:1px solid var(--rule)}.detail:last-child{border-bottom:1px solid var(--rule)}.detail>summary{cursor:pointer;align-items:center;gap:.6rem;padding:.9rem 0;list-style:none;display:flex}.detail>summary::-webkit-details-marker{display:none}.detail>summary:before{content:"▸";color:var(--ink-soft);transition:transform .12s}.detail[open]>summary:before{transform:rotate(90deg)}.detail>summary h3{margin:0}.detail[open]{padding-bottom:1.5rem}@media (prefers-reduced-motion:reduce){.detail>summary:before{transition:none}}.facts-footer{max-width:var(--measure);margin-top:5rem}@media (max-width:70rem){.try{max-width:var(--measure);grid-template-columns:minmax(0,1fr);grid-template-areas:"title""list""controls"}.controls{border-left:0;border-top:1px solid var(--rule);margin-top:1.5rem;padding:1.25rem 0 0}}@media (max-width:62rem){.states>li,.examples figure,.player{grid-template-columns:minmax(0,1fr);gap:.75rem}.state-text code,.examples figcaption code{overflow-wrap:normal;white-space:nowrap}.examples figcaption{padding-top:0}.bar-row{grid-template-columns:8rem minmax(0,1fr)}}@media (max-width:56rem){.page{grid-template-columns:minmax(0,1fr);gap:0;padding:3rem 1.25rem 5rem}.rail{display:none}}
