:root{--ground:#fff;--well:#f5f3f0;--well-2:#eae5df;--rule:#e3ded7;--rule-strong:#bcb2a6;--ink:#14110d;--ink-2:#575047;--ink-3:#6e6559;--flare:#ae5309;--flare-solid:#f2870f;--flare-ink:#1b0f00;--flare-soft:#d08a4a;--flare-wash:#fbf0e3;--tty-bg:#050403;--tty-fg:#cdc4b6;--tty-dim:#85796a;--tty-flare:#ffa13b;--syn-keyword:var(--flare);--syn-number:var(--flare);--syn-string:var(--ink-2);--syn-name:var(--ink);--syn-comment:var(--ink-3);--mono:"Azeret Mono", ui-monospace, "SFMono-Regular", Menlo, "Cascadia Mono", monospace;--t-display:clamp(2rem, 1rem + 3.4vw, 3.5rem);--t-title:clamp(1.6rem, 1.1rem + 1.7vw, 2.25rem);--t-h2:clamp(1.35rem, 1.05rem + 1.1vw, 1.85rem);--t-h3:1.0625rem;--t-lead:1rem;--t-body:.9375rem;--t-sm:.875rem;--t-xs:.8125rem;--t-micro:.75rem;--t-stat:clamp(1.55rem, .95rem + 2.1vw, 2.4rem);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--section-y:clamp(80px, 10.5vw, 168px);--shell:1180px;--rail:124px;--rail-gap:56px;--measure:58ch;--motion:.12s;--ease:cubic-bezier(.3, .1, .25, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0c0b09;--well:#131110;--well-2:#1c1815;--rule:#241f1a;--rule-strong:#3f372e;--ink:#efeae2;--ink-2:#b3a99b;--ink-3:#8a8073;--flare:#ffa13b;--flare-solid:#ffa13b;--flare-ink:#150d02;--flare-soft:#a86c2c;--flare-wash:#241606}}:root[data-theme=dark]{--ground:#0c0b09;--well:#131110;--well-2:#1c1815;--rule:#241f1a;--rule-strong:#3f372e;--ink:#efeae2;--ink-2:#b3a99b;--ink-3:#8a8073;--flare:#ffa13b;--flare-solid:#ffa13b;--flare-ink:#150d02;--flare-soft:#a86c2c;--flare-wash:#241606}*,:before,:after{box-sizing:border-box}html{text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--ground);color:var(--ink);font-family:var(--mono);font-size:var(--t-body);font-synthesis-weight:none;font-feature-settings:"liga" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.75}::selection{background:var(--flare-solid);color:var(--flare-ink)}h1,h2,h3,h4{text-wrap:balance;margin:0;font-weight:600}p{margin:0}svg{display:block}a{color:inherit}.prose a{text-decoration:underline;text-decoration-color:var(--flare-soft);text-underline-offset:.22em;transition:text-decoration-color var(--motion) var(--ease), color var(--motion) var(--ease);text-decoration-thickness:1px}.prose a:hover{color:var(--flare);text-decoration-color:var(--flare)}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--flare);outline-offset:3px;border-radius:0}code{font-family:var(--mono)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--rule-strong)}::-webkit-scrollbar-track{background:var(--well)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{width:100%;max-width:var(--shell);padding-inline:var(--s-6);margin:0 auto}@media (width<=640px){.shell{padding-inline:var(--s-5)}}.band{padding-block:var(--section-y)}.band-ruled{border-top:1px solid var(--rule)}.grid{grid-template-columns:var(--rail) minmax(0, 1fr);gap:var(--rail-gap);align-items:start;display:grid}.rail{font-size:var(--t-micro);color:var(--ink-3);padding-top:var(--s-2);border-top:1px solid var(--rule-strong);transition:color var(--motion) var(--ease), border-color var(--motion) var(--ease);text-decoration:none;position:sticky;top:104px}a.rail:hover{color:var(--flare);border-top-color:var(--flare)}@media (width<=1100px){.grid{gap:var(--s-5);grid-template-columns:minmax(0,1fr)}.rail{justify-self:start;padding-inline-end:var(--s-6);position:static}}.col>*+*{margin-top:var(--s-6)}.lede{font-size:var(--t-lead);color:var(--ink-2);max-width:var(--measure)}.head{font-size:var(--t-h2);letter-spacing:-.035em;max-width:34ch;font-weight:600;line-height:1.16}.head .l{display:block}.flare{color:var(--flare);font-style:normal}.scroller{overscroll-behavior-x:contain;overflow-x:auto}.masthead{z-index:50;background:var(--ground);border-bottom:1px solid var(--rule);position:sticky;top:0}.masthead-in{align-items:center;gap:var(--s-6);min-height:64px;padding-block:var(--s-3);display:flex}.wordmark{letter-spacing:-.05em;white-space:nowrap;font-size:1rem;font-weight:700;text-decoration:none}.wordmark .stop{color:var(--flare)}.nav{gap:var(--s-5);font-size:var(--t-sm);margin-left:auto;display:flex}.nav a{color:var(--ink-2);padding-block:var(--s-1);transition:color var(--motion) var(--ease), border-color var(--motion) var(--ease);border-bottom:1px solid #0000;text-decoration:none}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--flare)}.icon-btn{width:34px;height:34px;color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;transition:color var(--motion) var(--ease), border-color var(--motion) var(--ease);background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{color:var(--flare);border-color:var(--flare)}.menu{margin-left:auto;display:none;position:relative}.menu>summary{border:1px solid var(--rule);width:34px;height:34px;color:var(--ink-2);cursor:pointer;justify-content:center;align-items:center;list-style:none;display:inline-flex}.menu>summary::-webkit-details-marker{display:none}.menu[open]>summary{color:var(--flare);border-color:var(--flare)}.menu-sheet{right:0;top:calc(100% + var(--s-3));background:var(--ground);border:1px solid var(--rule-strong);flex-direction:column;min-width:208px;display:flex;position:absolute}.menu-sheet a{padding:var(--s-3) var(--s-4);font-size:var(--t-sm);color:var(--ink-2);border-bottom:1px solid var(--rule);text-decoration:none}.menu-sheet a:last-child{border-bottom:none}.menu-sheet a:hover{background:var(--well);color:var(--ink)}.menu-sheet a[aria-current=page]{color:var(--flare)}@media (width<=900px){.nav{display:none}.menu{margin-left:0;display:block}.theme-toggle{margin-left:auto}.masthead-in{gap:var(--s-2)}}.actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.btn{align-items:center;gap:var(--s-2);font-family:var(--mono);font-size:var(--t-xs);padding:14px var(--s-5);border:1px solid var(--rule-strong);color:var(--ink);cursor:pointer;transition:background-color var(--motion) var(--ease), border-color var(--motion) var(--ease), color var(--motion) var(--ease);background:0 0;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn-primary{background:var(--flare-solid);border-color:var(--flare-solid);color:var(--flare-ink);font-weight:600}.btn-primary:hover{color:var(--flare);background:0 0}.btn-quiet:hover{border-color:var(--flare);color:var(--flare)}.hero{padding-block:clamp(48px,6vw,96px) clamp(72px,9vw,140px)}.hero h1{font-size:var(--t-display);letter-spacing:-.055em;max-width:24ch;font-weight:700;line-height:1.02}.hero h1 .l{display:block}.hero-sub{font-size:var(--t-lead);color:var(--ink-2);max-width:54ch;margin-top:var(--s-5)}.hero-fine{font-size:var(--t-sm);color:var(--ink-3);max-width:58ch;margin-top:var(--s-3)}.hero .actions{margin-top:var(--s-6)}.hero-console{margin-top:clamp(40px,5vw,72px)}@media (width>=900px) and (width<=999px){.hero-console{max-width:75%}}@media (width>=1180px){.hero-layout{gap:var(--s-8);grid-template-columns:minmax(0,680px) minmax(0,1fr);align-items:start;max-width:1500px;display:grid}.hero-visual{min-width:0}.hero-console{max-width:100%;margin-top:0}}@media (width>=1180px) and (width<=1599px){.hero-visual .gauges{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-visual .gauge-val{font-size:1.5rem}}@media (width>=1600px){.hero-visual .gauge-val{font-size:1.7rem}}.panel{background:var(--well);border:1px solid var(--rule);min-width:0}.panel-head{justify-content:space-between;align-items:baseline;gap:2px var(--s-6);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);font-size:var(--t-micro);color:var(--ink-3);flex-wrap:wrap;display:flex}.gauges{border-top:1px solid var(--rule-strong);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.gauge{padding:var(--s-5) var(--s-5) var(--s-5) 0;border-bottom:1px solid var(--rule);min-width:0}.gauge-label{font-size:var(--t-micro);color:var(--ink-3)}.gauge-val{font-size:var(--t-stat);font-variant-numeric:tabular-nums;letter-spacing:-.05em;color:var(--flare);margin-top:var(--s-2);white-space:nowrap;font-weight:600}.gauge-val .u{letter-spacing:0;color:var(--ink-3);margin-left:3px;font-size:.46em;font-weight:500}.gauge-track{height:8px;margin-top:var(--s-4);border-bottom:1px solid var(--rule-strong);position:relative}.gauge-decade{background:var(--rule-strong);width:1px;height:4px;position:absolute;bottom:0}.gauge-mark{background:var(--flare-solid);min-width:8px;height:8px;position:absolute;top:0}.gauge-mark-point{min-width:2px}.gauge-src{font-size:var(--t-micro);color:var(--ink-3);margin-top:var(--s-3);line-height:1.5}.gauge-legend{font-size:var(--t-micro);color:var(--ink-3);margin-top:var(--s-3)}@media (width<=900px){.gauges{grid-template-columns:repeat(2,minmax(0,1fr))}.gauge-label{min-height:3.5em}}@media (width<=460px){.gauge-val{font-size:1.3rem}}.tty{background:var(--tty-bg);color:var(--tty-fg);border:1px solid var(--rule-strong);font-size:var(--t-xs);min-width:0;line-height:1.8}.tty-head{justify-content:space-between;align-items:baseline;gap:var(--s-1) var(--s-4);padding:var(--s-3) var(--s-5);font-size:var(--t-micro);color:var(--tty-dim);border-bottom:1px solid #1a1611;flex-wrap:wrap;display:flex}.tty-head .live{color:var(--tty-flare)}.tty pre{padding:var(--s-5);white-space:pre;overscroll-behavior-x:contain;margin:0;overflow-x:auto}.tty .dim{color:var(--tty-dim)}.tty .sig{color:var(--tty-fg);font-weight:500}.tty .ok{color:var(--tty-flare)}.cl{opacity:0;animation:cl-in .5s var(--ease) forwards;animation-delay:var(--d,0s)}@keyframes cl-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cl{opacity:1;animation:none;transform:none}}@media (width>=720px){.tty{font-size:.8125rem}.tty pre{padding:var(--s-6)}}@media (width>=1180px){.tty{font-size:.9375rem}}.matrix{border-collapse:collapse;width:100%;font-size:var(--t-sm);min-width:600px}.matrix th,.matrix td{text-align:left;padding:var(--s-4);border-bottom:1px solid var(--rule);vertical-align:top}.matrix thead th{font-size:var(--t-micro);color:var(--ink-3);border-bottom-color:var(--rule-strong);font-weight:500}.matrix tbody tr:last-child td{border-bottom:none}.matrix td:first-child{color:var(--ink-3);font-size:var(--t-xs);white-space:nowrap;width:1%}.matrix td.ours,.matrix thead th:last-child{color:var(--flare);font-weight:500}.mark{flex:none;width:9px;height:9px;display:inline-block}.mark-done{background:var(--flare-solid)}.mark-partial{background:linear-gradient(to right, var(--flare-solid) 50%, transparent 50%);box-shadow:inset 0 0 0 1px var(--flare-soft)}.mark-planned{box-shadow:inset 0 0 0 1px var(--rule-strong)}.tally{gap:var(--s-2) var(--s-5);font-size:var(--t-micro);color:var(--ink-3);flex-wrap:wrap;display:flex}.tally-item{align-items:center;gap:var(--s-2);display:inline-flex}.tally-n{color:var(--flare);font-weight:600}.surface-groups>*+*{margin-top:var(--s-7)}.sgroup-head{align-items:center;gap:var(--s-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule-strong);font-size:var(--t-micro);color:var(--ink-2);display:flex}.sgroup-n{color:var(--flare);font-weight:600}.sgroup-note{color:var(--ink-3);text-align:right;margin-left:auto}.sgroup-list{padding:var(--s-4) 0 0;columns:3;column-gap:var(--s-6);font-size:var(--t-sm);color:var(--ink-2);margin:0;list-style:none}.sgroup-list li{break-inside:avoid;padding-block:5px}@media (width<=900px){.sgroup-list{columns:2}}@media (width<=560px){.sgroup-list{columns:1}}.codeblock{background:var(--well);border:1px solid var(--rule);color:var(--ink);font-size:var(--t-xs);min-width:0;line-height:1.85;overflow-x:auto}.codeblock pre{padding:var(--s-5);margin:0}.codeblock .c{color:var(--syn-comment)}.codeblock .k{color:var(--syn-keyword)}.codeblock .s{color:var(--syn-string)}.codeblock .n{color:var(--syn-name);font-weight:500}.codegroup{max-width:820px}.tabs{border-bottom:1px solid var(--rule);gap:0;display:flex}.tab{font-family:var(--mono);font-size:var(--t-micro);padding:var(--s-3) var(--s-4);color:var(--ink-3);cursor:pointer;transition:color var(--motion) var(--ease), border-color var(--motion) var(--ease);background:0 0;border:none;border-bottom:1px solid #0000;margin-bottom:-1px}.tab:hover{color:var(--ink-2)}.tab[aria-selected=true]{color:var(--flare);border-bottom-color:var(--flare);font-weight:600}.tabpanel[hidden]{display:none}.jump{border-top:1px solid var(--rule-strong)}.jump a{gap:var(--s-2) var(--s-5);padding:var(--s-5) var(--s-3);border-bottom:1px solid var(--rule);transition:background-color var(--motion) var(--ease);grid-template-columns:128px minmax(0,1fr);align-items:baseline;text-decoration:none;display:grid}.jump a:hover{background:var(--well)}.jump-kind{font-size:var(--t-micro);color:var(--ink-3);transition:color var(--motion) var(--ease)}.jump a:hover .jump-kind{color:var(--flare)}.jump-name{font-size:var(--t-sm);color:var(--ink)}@media (width<=640px){.jump a{grid-template-columns:minmax(0,1fr)}}.page-hero{padding-block:clamp(48px,6vw,88px)}.page-hero h1{font-size:var(--t-title);letter-spacing:-.045em;max-width:28ch;font-weight:700;line-height:1.08}.page-hero h1 .l{display:block}.page-hero .lede{margin-top:var(--s-5)}@media (width>=1180px){.page-hero-layout{gap:var(--s-6);grid-template-columns:minmax(0,1fr) minmax(200px,300px);display:grid}}.page-hero-nav{display:none}@media (width>=1180px){.page-hero-nav{gap:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--rule-strong);flex-direction:column;margin-top:2px;display:flex}.page-hero-nav a{font-size:var(--t-micro);color:var(--ink-3);transition:color var(--motion) var(--ease);text-decoration:none}.page-hero-nav a:hover{color:var(--flare)}}.crate{gap:var(--s-2) var(--s-5);padding:var(--s-5) 0;border-bottom:1px solid var(--rule);grid-template-columns:210px minmax(0,1fr) 176px;align-items:baseline;display:grid}.crate-name{font-size:var(--t-xs);color:var(--flare);font-weight:600}.crate-role{font-size:var(--t-sm);color:var(--ink-2)}.crate-uses{font-size:var(--t-micro);color:var(--ink-3);text-align:right}.crate-legend{font-size:var(--t-micro);color:var(--ink-3);padding-block:0 var(--s-2);border-bottom-color:var(--rule-strong)}.crate-legend .crate-name{color:var(--ink-3);font-weight:400}@media (width<=900px){.crate{grid-template-columns:minmax(0,1fr)}.crate-uses{text-align:left}.crate-legend{display:none}}.steps{gap:var(--s-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.steps{grid-template-columns:minmax(0,1fr)}}.step{border-top:1px solid var(--rule-strong);padding-top:var(--s-3)}.step-n{font-size:var(--t-micro);color:var(--flare);font-weight:600}.step h3{font-size:var(--t-sm);margin-top:var(--s-2);font-weight:600}.step p{font-size:var(--t-xs);color:var(--ink-2);margin-top:var(--s-2);line-height:1.65}.subhead{font-size:var(--t-micro);color:var(--ink-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule-strong)}.subhead+*{margin-top:0!important}.metrics{gap:0 var(--s-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=1000px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.metrics{grid-template-columns:minmax(0,1fr)}}.metric{padding:var(--s-5) 0;border-bottom:1px solid var(--rule)}.metric-label{font-size:var(--t-micro);color:var(--ink-3)}.metric-val{font-variant-numeric:tabular-nums;letter-spacing:-.05em;color:var(--flare);margin-top:var(--s-3);white-space:nowrap;font-size:clamp(1.2rem,.8rem + .95vw,1.5rem);font-weight:600}.metric-val .u{color:var(--ink-3);letter-spacing:0;margin-left:2px;font-size:.5em;font-weight:500}.metric-ctx{font-size:var(--t-xs);color:var(--ink-2);margin-top:var(--s-3);max-width:34ch;line-height:1.6}.datatable{border-collapse:collapse;width:100%;font-size:var(--t-xs);font-variant-numeric:tabular-nums;min-width:460px}.datatable th,.datatable td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);text-align:right}.datatable th{color:var(--ink-3);font-size:var(--t-micro);border-bottom-color:var(--rule-strong);font-weight:500}.datatable th:first-child,.datatable td:first-child{text-align:left;color:var(--ink-2)}.datatable tbody tr:last-child td{border-bottom:none}.datatable td:not(:first-child){color:var(--flare)}.datatable .nil{color:var(--ink-3)}.fine{font-size:var(--t-xs);color:var(--ink-3);max-width:var(--measure);line-height:1.65}.finding{border-left:2px solid var(--flare);padding-left:var(--s-5);max-width:var(--measure)}.finding>*+*{margin-top:var(--s-4)}.finding p{font-size:var(--t-sm);color:var(--ink-2);line-height:1.7}.finding .term{color:var(--ink);font-weight:600}.finding b{color:var(--flare);font-weight:600}.finding-open{border-left-style:dashed;border-left-color:var(--rule-strong)}.changelog-entry+.changelog-entry{margin-top:var(--s-8)}.changelog-heading{font-size:var(--t-body)}.changelog-body{margin-top:var(--s-4)}.changelog-body h3{font-size:var(--t-micro);color:var(--ink-3);margin-top:var(--s-5);margin-bottom:var(--s-2)}.changelog-body p{font-size:var(--t-sm);color:var(--ink-2);line-height:1.7}.changelog-body ul{padding-left:var(--s-5);margin:0;list-style:none}.changelog-body li{font-size:var(--t-sm);color:var(--ink-2);padding-block:3px;line-height:1.7;position:relative}.changelog-body li:before{content:"";left:calc(var(--s-4) * -1);background:var(--rule-strong);width:4px;height:4px;position:absolute;top:.8em}.changelog-body li ul{margin-top:var(--s-2);margin-bottom:var(--s-2)}.changelog-body strong{color:var(--ink);font-weight:600}.changelog-body a{color:inherit;text-decoration:underline;text-decoration-color:var(--flare-soft);text-underline-offset:.22em;text-decoration-thickness:1px}.changelog-body a:hover{color:var(--flare);text-decoration-color:var(--flare)}.finding code,.lede code,.fine code,.rdesc code,.metric-ctx code,.changelog-heading code,.changelog-body code{color:var(--ink);background:var(--well-2);padding:1px 5px;font-size:.92em}.col>.rgroup+.rgroup{margin-top:var(--s-8)}.rail-toc{gap:var(--s-2);flex-direction:column;display:flex}.rail-toc a{color:var(--ink-3);transition:color var(--motion) var(--ease);text-decoration:none}.rail-toc a:hover{color:var(--flare)}@media (width<=1100px){.rail-toc{gap:var(--s-2) var(--s-4);flex-flow:wrap}}.rgroup-head{font-size:var(--t-micro);color:var(--ink-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule-strong);scroll-margin-top:104px;font-weight:500}.rrow{gap:var(--s-1) var(--s-5);padding:var(--s-4) 0;border-bottom:1px solid var(--rule);grid-template-columns:220px minmax(0,1fr) 100px;align-items:baseline;display:grid}.rrow:last-child{border-bottom:none}.rname{font-size:var(--t-sm);font-weight:600}.rdesc{font-size:var(--t-xs);color:var(--ink-2);max-width:62ch;line-height:1.65}.rstat{align-items:center;gap:var(--s-2);font-size:var(--t-micro);color:var(--ink-3);white-space:nowrap;justify-content:flex-end;display:inline-flex}@media (width<=820px){.rrow{grid-template-columns:minmax(0,1fr)}.rstat{justify-content:flex-start}}.foot{border-top:1px solid var(--rule);padding-block:var(--s-7) var(--s-8)}.foot-in{justify-content:space-between;align-items:baseline;gap:var(--s-4);font-size:var(--t-micro);color:var(--ink-3);flex-wrap:wrap;display:flex}.foot-links{gap:var(--s-4);flex-wrap:wrap;display:flex}.foot-links a{transition:color var(--motion) var(--ease);text-decoration:none}.foot-links a:hover,.foot-version{color:var(--flare)}.foot-github{align-items:center;gap:var(--s-1);display:inline-flex}
