:root{color-scheme:light;--ground:#f7f8f6;--surface:#fff;--ink:#14191c;--muted:#5e6a6e;--teal:#0b6e73;--copper:#a85a21;--ok:#2f7a3d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground:#0e1214;--surface:#151b1e;--ink:#e6ebe9;--muted:#8c9a97;--teal:#3fb3b8;--copper:#d98a53;--ok:#6fbf7c}}:root[data-theme=dark]{color-scheme:dark;--ground:#0e1214;--surface:#151b1e;--ink:#e6ebe9;--muted:#8c9a97;--teal:#3fb3b8;--copper:#d98a53;--ok:#6fbf7c}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-wght.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap;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 Sans;src:url(/fonts/ibm-plex-sans-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;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 Sans;src:url(/fonts/ibm-plex-sans-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap;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 Sans;src:url(/fonts/ibm-plex-sans-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;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:"Source Serif 4";src:url(/fonts/source-serif-4-wght.woff2)format("woff2");font-weight:200 900;font-style:normal;font-display:swap;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:"Source Serif 4";src:url(/fonts/source-serif-4-wght-italic.woff2)format("woff2");font-weight:200 900;font-style:italic;font-display:swap;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;src:url(/fonts/jetbrains-mono-wght.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap;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{--font-display:"Bricolage Grotesque", "IBM Plex Sans", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-long:"Source Serif 4", Georgia, "Times New Roman", serif;--font-data:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--rule:color-mix(in srgb, var(--muted) 35%, transparent);--measure:68ch;--gutter:16px;--radius:4px}*,:before,:after{box-sizing:border-box}html{background:var(--ground);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:106.25%;line-height:1.6}body{background:var(--ground);min-block-size:100vh;color:var(--ink);flex-direction:column;margin:0;display:flex}main{flex:1 0 auto}.wrap{inline-size:100%;max-inline-size:72rem;padding-inline:var(--gutter);margin-inline:auto}.prose{max-inline-size:var(--measure)}.longform{font-family:var(--font-long);font-size:1.0625rem;line-height:1.7}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin-block:1.6em .5em;font-weight:700;line-height:1.15}h1{margin-block-start:.6em;font-size:clamp(2rem,5vw,3rem);font-weight:800}h2{font-size:clamp(1.4rem,3vw,1.9rem)}h3{font-size:1.2rem}p,ul,ol,dl{margin-block:0 1em}a{color:var(--teal);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:2px}code,kbd,samp,pre,.data{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:.9em}table{border-collapse:collapse;font-family:var(--font-data);font-variant-numeric:tabular-nums}th,td{border-block-end:1px solid var(--rule);text-align:start;padding:.4em .8em}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8em;font-weight:600}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;overflow:hidden;position:absolute!important}.skip-link{background:var(--surface);color:var(--ink);border:1px solid var(--rule);z-index:10;padding:.5em 1em;position:absolute;inset-block-start:-4rem;inset-inline-start:var(--gutter)}.skip-link:focus{inset-block-start:var(--gutter)}.site-header{border-block-end:1px solid var(--rule);background:var(--surface)}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding-block:.75rem;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:1.5rem;font-weight:800;text-decoration:none}.site-nav{flex:auto}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--ink);border-block-end:2px solid #0000;padding-block:.25rem;text-decoration:none}.site-nav a:hover{border-block-end-color:var(--rule)}.site-nav a[aria-current=page]{border-block-end-color:var(--teal)}.theme-toggle{font:inherit;color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.3em .8em;font-size:.85rem}.theme-toggle:hover{border-color:var(--muted)}.site-footer{border-block-start:1px solid var(--rule);background:var(--surface);color:var(--muted);margin-block-start:4rem;padding-block:2rem;font-size:.9rem}.site-footer p{max-inline-size:var(--measure)}.site-footer a{color:var(--teal)}.tile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.25rem}.tile-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:2rem;font-weight:800;line-height:1.1}.tile-label{font-variant:small-caps;letter-spacing:.06em;color:var(--muted);margin:.25rem 0 0}.tile-source{font-size:.8rem}.tiles{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem;display:grid}.callout{border-inline-start:4px solid var(--teal);background:var(--surface);border-radius:var(--radius);max-inline-size:var(--measure);margin-block:1.5rem;padding:.9rem 1.1rem}.callout>:last-child{margin-block-end:0}.callout-title{font-family:var(--font-display);color:var(--teal);margin:0 0 .3em;font-weight:700}.callout-caveat{border-inline-start-color:var(--copper)}.callout-caveat .callout-title{color:var(--copper)}.hash{overflow-wrap:anywhere;flex-wrap:wrap;gap:.15em .9em;display:inline-flex}.hash-run{white-space:nowrap}.hash-block{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.hash-copy{font:inherit;color:var(--teal);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.15em .6em;font-size:.8rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.document{max-inline-size:var(--measure)}.document h1{font-size:clamp(2rem,5vw,2.75rem)}.document h2,.document h3,.document h4{scroll-margin-block-start:1rem}.document h1,.document h2,.document h3,.document h4,.document h5,.document h6{position:relative}.heading-anchor{font-family:var(--font-data);color:var(--muted);opacity:0;margin-inline-start:.4em;font-size:.7em;font-weight:400;text-decoration:none}:is(h1,h2,h3,h4,h5,h6):hover>.heading-anchor,.heading-anchor:focus-visible{opacity:1}@media (hover:none){.heading-anchor{opacity:1}}.document blockquote{border-inline-start:4px solid var(--copper);background:var(--surface);border-radius:var(--radius);margin-inline:0;padding:.9rem 1.1rem}.document blockquote>:last-child{margin-block-end:0}.document hr{border:0;border-block-start:1px solid var(--rule);margin-block:2rem}.document li+li{margin-block-start:.3em}.longform .document code{font-size:.82em}pre{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.8rem 1rem;font-size:.8rem;line-height:1.45;overflow-x:auto}pre code{font-size:inherit}.table-scroll{max-inline-size:100%;margin-block:0 1.25rem;overflow-x:auto}.table-scroll:focus-visible{outline-offset:4px}.table-scroll table{min-inline-size:100%;font-size:.8rem}.longform .table-scroll table{font-family:var(--font-body)}.longform .table-scroll td code,.longform .table-scroll th code{font-size:.95em}td{vertical-align:top}.rfc-header th{text-transform:none;letter-spacing:0;white-space:nowrap;font-size:.85em}.doc-stamp{font-family:var(--font-body);color:var(--muted);border-block-end:1px solid var(--rule);max-inline-size:var(--measure);margin-block-end:1rem;padding-block:1rem .5rem;font-size:.85rem}.doc-stamp p{margin-block-end:.4em}.doc-stamp-hash code{overflow-wrap:anywhere}.doc-actions{font-family:var(--font-body);max-inline-size:var(--measure);font-size:.9rem}.doc-versions{font-family:var(--font-body);max-inline-size:var(--measure)}.slot-clock{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);align-items:center;gap:1.25rem;max-inline-size:30rem;padding:1rem 1.25rem;display:flex}.slot-ring{flex:none;block-size:6.5rem;inline-size:6.5rem}.slot-ring .tick{stroke:var(--muted);stroke-width:3px;stroke-linecap:round;opacity:.3}.slot-ring .tick-headers{opacity:.55}.slot-ring .tick[data-on]{stroke:var(--teal);opacity:1}.slot-readout{min-inline-size:0}.slot-label{font-variant:small-caps;letter-spacing:.06em;color:var(--muted);margin:0}.slot-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.1rem 0 .3rem;font-size:2rem;font-weight:800;line-height:1.1}.slot-clock:is([data-mode=unannounced],[data-mode=static]) .slot-value{font-size:1.35rem}.slot-detail{color:var(--muted);margin:0;font-size:.85rem}@media (width<=26rem){.slot-clock{flex-direction:column;align-items:flex-start}}.hero{grid-template-columns:minmax(0,1fr);align-items:center;gap:1.5rem 2.5rem;padding-block:1rem .5rem;display:grid}@media (width>=56rem){.hero{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}.hero-lede{max-inline-size:40ch;margin:0;font-size:clamp(1.15rem,2.4vw,1.4rem);line-height:1.5}.status-strip{border-block:1px solid var(--rule);flex-wrap:wrap;gap:.25rem 1rem;margin-block:1.5rem;padding-block:.6rem;font-size:.9rem;display:flex}.status-strip-label{font-variant:small-caps;letter-spacing:.06em;color:var(--muted)}.points{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem;display:grid}.point{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.25rem}.point h3{margin-block-start:0}.point .figure{margin-block-end:0}.routes{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem;padding:0;list-style:none;display:grid}.route{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);block-size:100%;font-family:var(--font-display);padding:.9rem 1.1rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:block}a.route:hover{border-color:var(--teal)}.route-pending{color:var(--ink)}.route-pending .route-pending-label{display:block}.route-pending .route-pending-note{font-family:var(--font-body);color:var(--muted);margin-block-start:.25rem;font-size:.8rem;font-weight:400;display:block}.strengths{max-inline-size:var(--measure)}.authorship{max-inline-size:var(--measure);font-style:italic}.page-intro{max-inline-size:var(--measure);font-size:1.1rem}.prose h2{max-inline-size:none}.concepts{max-inline-size:var(--measure);padding:0;list-style:none}.concepts li{border-block-end:1px solid var(--rule);margin:0;padding-block:.8rem}.concepts a{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.concepts p{color:var(--muted);margin:.2rem 0 0}.formula{max-inline-size:var(--measure)}.page-nav{border-block-start:1px solid var(--rule);max-inline-size:var(--measure);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-block-start:3rem;padding-block-start:1rem;display:flex}.figure{max-inline-size:var(--measure);margin:1.5rem 0}.figure figcaption{color:var(--muted);margin-block-start:.5rem;font-size:.85rem}.figure-pending .figure-frame{aspect-ratio:16/7;border:1px dashed var(--rule);border-radius:var(--radius);background:var(--surface)}.fig-svg{block-size:auto;inline-size:100%;max-inline-size:30rem;display:block}.fig-line{fill:none;stroke:var(--muted);stroke-width:1.5px}.fig-dash{stroke-dasharray:4 4}.fig-curve{fill:none;stroke:var(--teal);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.fig-thin{stroke-width:2px}.fig-dot{fill:var(--teal);stroke:var(--surface);stroke-width:2px}.fig-box{fill:var(--surface);stroke:var(--muted);stroke-width:1.5px}.fig-real{fill:color-mix(in srgb, var(--teal) 14%, var(--surface));stroke:var(--teal);stroke-width:2px}.fig-null{fill:var(--surface);stroke:var(--copper);stroke-width:2px;stroke-dasharray:5 4}.fig-arrowhead{fill:var(--muted)}.fig-text{fill:var(--ink);font-family:var(--font-data);font-size:12px}.fig-muted{fill:var(--muted)}.fig-strong{fill:var(--teal);font-weight:600}.fig-copper{fill:var(--copper);font-weight:600}.sandbox{margin-block:1.5rem}.sandbox-fallback{max-inline-size:var(--measure)}.sb{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.1rem}.sb h3{margin-block:1.25rem .4rem;font-size:1.05rem}.sb-status{margin:0 0 .75rem}.sb-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:.5rem;display:flex}.sb-button{font:inherit;color:var(--ink);background:var(--ground);border:1px solid var(--muted);border-radius:var(--radius);cursor:pointer;padding:.35em .9em;font-size:.85rem}.sb-button:hover:not(:disabled){border-color:var(--teal)}.sb-button:disabled{opacity:.5;cursor:not-allowed}.sb-button[aria-pressed=true]{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 14%, var(--surface));font-weight:600}.sb-hint{color:var(--muted);margin-block:0 .5rem;font-size:.85rem}.sb-ok{color:var(--teal);font-weight:600}.sb-wait,.sb-null{color:var(--copper)}.sb-list{padding-inline-start:1.1rem}.sb-list li+li{margin-block-start:.3em}.sb td,.sb th{font-size:.8rem}.sb .table-scroll{margin-block:.25rem .5rem}.sb-bar{vertical-align:middle;border:1px solid var(--muted);border-radius:2px;block-size:.6rem;inline-size:6rem;display:inline-block;overflow:hidden}.sb-bar-fill{background:var(--teal);block-size:100%;display:block}.sb-chain{flex-wrap:wrap;gap:.4rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.sb-block{border:1px solid var(--teal);border-radius:var(--radius);min-inline-size:5.2rem;font-size:.75rem;font-family:var(--font-data);background:color-mix(in srgb, var(--teal) 14%, var(--surface));flex-direction:column;padding:.3rem .5rem;display:flex}.sb-block-null{border-color:var(--copper);background:var(--surface);color:var(--copper);border-style:dashed}.sb-notes{margin-block-start:1rem;font-size:.9rem}.sb-notes summary{cursor:pointer}.sb input[type=checkbox]{vertical-align:middle;block-size:1.1rem;inline-size:1.1rem;accent-color:var(--teal)}.fig-cell{stroke-width:1px}.fig-history{fill:none;stroke:var(--rule);stroke-width:1px}.fig-now{fill:var(--teal);stroke:var(--teal);stroke-width:1px}@media print{:root:root:root{color-scheme:light;--ground:#fff;--surface:#fff;--ink:#000;--muted:#333;--teal:#000;--copper:#000}.site-header,.site-footer,.skip-link,.heading-anchor,.doc-actions,.theme-toggle,.hash-copy{display:none!important}html{font-size:10.5pt}.wrap{max-inline-size:none;padding:0}.document,.doc-stamp,.callout{max-inline-size:none}.table-scroll{overflow:visible}pre{white-space:pre-wrap;overflow:visible}h1,h2,h3,h4{break-after:avoid}table,pre,blockquote,figure{break-inside:avoid}a{color:inherit;text-decoration:none}}@page{margin:18mm 16mm}.breadcrumb{margin-block:1.5rem 0;font-size:.85rem}:not(pre)>code{overflow-wrap:anywhere}.param-list{font-family:var(--font-body);margin:.3em 0 0;padding-inline-start:1.1em;font-size:.95em}.prose dt{margin-block-start:.6em;font-weight:600}.prose dd{margin-inline-start:1.2em}.cli-description{white-space:pre-line}.cli-options dt code{overflow-wrap:anywhere}.cli-meta{color:var(--muted);font-size:.9em}.status-grid{grid-template-columns:max-content minmax(0,1fr);gap:.25rem 1rem;font-size:.9rem;display:grid}.status-grid dt{color:var(--muted)}.status-grid dd{overflow-wrap:anywhere;margin:0}[data-status-url][data-state=stale] [data-field=as-of]{color:var(--copper);font-weight:600}
