.am-scope{--ink:#1b1816;--ink-soft:#5c5651;--ink-faint:#9c948a;--rule:#e4ddcd;--paper-deep:#f4f1ea;--accent:#862d1a;--accent-soft:rgba(134,45,26,.08);--forest:#1f4e37;--forest-soft:rgba(31,78,55,.08);--indigo:#2f4a8a;--ochre:#9a6a12;--plum:#7b3a78;--teal:#13788a;--surf-hi:#f8f4ec;--surf-lo:#9c8f79;--surf-grid:rgba(120,108,90,.28);--surf-halo:#fdfbf5;font-family:inherit;font-size:16px;line-height:1.62;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.dark .am-scope{--ink:#ece7df;--ink-soft:#b8b1a7;--ink-faint:#7f786f;--rule:#3a3530;--paper-deep:#1c1a18;--accent:#e0a08a;--accent-soft:hsla(15,58%,71%,.12);--forest:#8ccaa6;--forest-soft:rgba(140,202,166,.12);--indigo:#9fb6ee;--ochre:#e0b860;--plum:#dba2d6;--teal:#7ccfdc;--surf-hi:#57514a;--surf-lo:#161412;--surf-grid:hsla(37,25%,90%,.13);--surf-halo:#000}.am-scope ::-moz-selection{background-color:var(--accent-soft)}.am-scope ::selection{background-color:var(--accent-soft)}.am-scope .am-prose{color:var(--ink-soft);font-size:16px;line-height:1.75}.am-scope .am-prose p{margin-bottom:1.1em}.am-scope .am-prose p:last-child{margin-bottom:0}.am-scope .am-prose strong{color:var(--ink);font-weight:600}.am-scope .am-prose em{font-style:italic;color:var(--ink)}.am-scope .am-prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.am-scope .am-prose a:hover{text-decoration-thickness:2px}.am-scope .am-prose ol,.am-scope .am-prose ul{margin:.4em 0 1.1em 1.4em}.am-scope .am-prose ul{list-style:disc}.am-scope .am-prose ol{list-style:decimal}.am-scope .am-prose li{margin-bottom:.45em;padding-left:.2em}.am-scope .am-prose li::marker{color:var(--ink-faint)}.am-scope .am-prose h3{color:var(--ink);font-size:1.15rem;font-weight:600;margin:2em 0 .7em;letter-spacing:-.005em}.am-scope .am-prose h4{color:var(--ink);font-size:1rem;font-weight:600;margin:1.6em 0 .5em}.am-scope .am-prose sup a{color:var(--accent);text-decoration:none;font-weight:600}.am-scope .am-prose code{font-family:Consolas,Cascadia Code,JetBrains Mono,SF Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:var(--paper-deep);border:1px solid var(--rule);border-radius:4px;padding:.08em .35em;color:var(--ink)}.am-scope .am-display{margin:1.1em 0 1.3em;overflow-x:auto;overflow-y:hidden;padding:.2em 0}.am-scope .katex{font-size:1.04em;color:var(--ink)}.am-scope .am-display .katex-display{margin:0}.am-scope figure{margin:1.8em 0 2.2em}.am-scope figure svg{width:100%;height:auto;display:block}.am-scope figcaption{margin-top:.8em;font-size:13px;line-height:1.65;color:var(--ink-soft)}.am-scope figcaption strong{color:var(--ink)}.am-scope .am-fig-ink{fill:var(--ink)}.am-scope .am-fig-soft{fill:var(--ink-soft)}.am-scope .am-fig-faint{fill:var(--ink-faint)}.am-scope .am-fig-rule{stroke:var(--rule)}.am-scope .am-fig-accent{fill:var(--accent)}.am-scope .am-fig-accent-stroke{stroke:var(--accent)}.am-scope .am-fig-forest{fill:var(--forest)}.am-scope .am-fig-forest-stroke{stroke:var(--forest)}.am-scope .am-fig-axis{stroke:var(--ink-faint)}.am-scope .am-fig-text{fill:var(--ink-soft);font-family:inherit}.am-scope .am-table{overflow-x:auto;margin:1.2em 0 1.6em;-webkit-overflow-scrolling:touch}.am-scope table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;line-height:1.5;margin:0}.am-scope th{text-align:left;font-weight:600;color:var(--ink);border-bottom:1.5px solid var(--ink);padding:.5em .6em;vertical-align:bottom}.am-scope td{border-bottom:1px solid var(--rule);padding:.55em .6em;vertical-align:top;color:var(--ink-soft)}.am-scope td strong{color:var(--ink)}.am-scope .am-num{text-align:right;font-variant-numeric:tabular-nums}.am-scope .am-callout{border:1px solid var(--rule);border-left:3px solid var(--accent);background:var(--accent-soft);padding:1.1em 1.4em;margin:1.6em 0 2em;border-radius:6px}.am-scope .am-callout.forest{border-left-color:var(--forest);background:var(--forest-soft)}.am-scope .am-callout .am-callout-label{font-family:Consolas,Cascadia Code,JetBrains Mono,SF Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.6em;font-weight:600}.am-scope .am-callout.forest .am-callout-label{color:var(--forest)}.am-scope .am-callout ol,.am-scope .am-callout ul{margin-bottom:0}.am-scope details{border:1px solid var(--rule);border-radius:6px;padding:.6em 1.1em;margin:1.2em 0 1.6em;background:var(--paper-deep)}.am-scope details summary{cursor:pointer;color:var(--ink);font-weight:600;font-size:14.5px;list-style:none}.am-scope details summary:before{content:"▸ ";color:var(--accent)}.am-scope details summary::-webkit-details-marker{display:none}.am-scope details[open]>summary:before{content:"▾ "}.am-scope details[open]>summary{margin-bottom:.6em}.am-scope details.am-app{border:0;border-top:1px solid var(--rule);border-radius:0;background:none;padding:0;margin:0;scroll-margin-top:6rem}.am-scope details.am-app:last-of-type{border-bottom:1px solid var(--rule)}.am-scope details.am-app>summary{display:flex;align-items:baseline;gap:.15em;padding:.85em 0;margin:0}.am-scope details.am-app>summary:before{flex:none;width:1.1em}.am-scope details.am-app>summary h3{margin:0}.am-scope details.am-app>summary:hover h3{color:var(--accent)}.am-scope details.am-app[open]>summary{margin-bottom:.2em}.am-scope details.am-app[open]{padding-bottom:1.2em}.am-scope .am-runin{color:var(--ink);font-weight:700}.am-scope .am-hr{border:0;border-top:1px solid var(--rule);margin:3em 0 2.4em}.am-scope .am-pill{display:inline-block;font-family:Consolas,Cascadia Code,JetBrains Mono,SF Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:.25em .7em;border:1px solid var(--rule);border-radius:999px;color:var(--ink-soft);background:var(--paper-deep)}.am-scope .am-fig-indigo{fill:var(--indigo)}.am-scope .am-fig-indigo-stroke{stroke:var(--indigo)}.am-scope .am-fig-ochre{fill:var(--ochre)}.am-scope .am-fig-ochre-stroke{stroke:var(--ochre)}.am-scope .am-fig-ink-stroke{stroke:var(--ink)}.am-scope .am-fig-soft-stroke{stroke:var(--ink-soft)}.am-scope .am-fig-band{fill:var(--forest-soft)}@media (max-width:640px){.am-scope .am-display .katex-display{text-align:left}.am-scope .am-display .katex-display>.katex>.katex-html>.tag{position:relative;margin-left:1.5em}.am-scope figure{overflow-x:auto;-webkit-overflow-scrolling:touch}.am-scope figure svg{min-width:600px}}.am-scope{--todo:#b0127a;--todo-soft:rgba(176,18,122,.06)}.dark .am-scope{--todo:#f08ccf;--todo-soft:rgba(240,140,207,.08)}.am-scope .am-placeholder{border:1.5px dashed var(--todo);border-radius:6px;padding:.9em 1.2em;margin:1.4em 0 1.8em;background:repeating-linear-gradient(-45deg,var(--todo-soft),var(--todo-soft) 8px,transparent 8px,transparent 16px);font-size:14.5px;color:var(--ink-soft)}.am-scope .am-placeholder-label{font-family:Consolas,Cascadia Code,JetBrains Mono,SF Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--todo);font-weight:600}.am-scope .am-placeholder-body{margin-top:.5em}.am-scope .am-placeholder-body p{margin:.4em 0 0}.am-scope .am-pending{display:inline-block;font-size:.78em;letter-spacing:.04em;color:var(--todo);border:1px dashed var(--todo);border-radius:4px;padding:0 .35em;background:var(--todo-soft);white-space:nowrap}.am-scope .am-bib,.am-scope .am-pending{font-family:Consolas,Cascadia Code,JetBrains Mono,SF Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.am-scope .am-bib{font-size:12.5px;line-height:1.55;background:var(--paper-deep);border:1px solid var(--rule);border-radius:6px;padding:.9em 1.1em;overflow-x:auto;white-space:pre;color:var(--ink)}.am-scope .am-fig1-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:center}@media (min-width:1024px){.am-scope .am-fig1{margin-left:calc(-1 * min(9rem, (100vw - 768px) / 2 - 1.5rem));margin-right:calc(-1 * min(9rem, (100vw - 768px) / 2 - 1.5rem))}.am-scope .am-fig1-panels{grid-template-columns:1.08fr 1fr}.am-scope .am-fig1 figcaption{max-width:48rem;margin-left:auto;margin-right:auto}}.am-scope .am-fig1-panels>div:first-child{overflow-x:auto;-webkit-overflow-scrolling:touch}.am-scope .am-fit svg{min-width:0;width:100%}.am-scope .am-fig-plum{fill:var(--plum)}.am-scope .am-fig-plum-stroke{stroke:var(--plum)}.am-scope .am-fig-teal{fill:var(--teal)}.am-scope .am-fig-teal-stroke{stroke:var(--teal)}.am-scope .am-ls-grid{stroke:var(--surf-grid)}.am-scope .am-ls-0,.am-scope .am-ls-1{fill:var(--surf-hi)}.am-scope .am-ls-1{fill:color-mix(in srgb,var(--surf-lo) 9%,var(--surf-hi))}.am-scope .am-ls-2{fill:var(--surf-hi);fill:color-mix(in srgb,var(--surf-lo) 18%,var(--surf-hi))}.am-scope .am-ls-3{fill:var(--surf-hi);fill:color-mix(in srgb,var(--surf-lo) 27%,var(--surf-hi))}.am-scope .am-ls-4{fill:var(--surf-hi);fill:color-mix(in srgb,var(--surf-lo) 36%,var(--surf-hi))}.am-scope .am-ls-5{fill:var(--surf-hi);fill:color-mix(in srgb,var(--surf-lo) 45%,var(--surf-hi))}.am-scope .am-ls-6{fill:var(--surf-hi);fill:color-mix(in srgb,var(--surf-lo) 55%,var(--surf-hi))}.am-scope .am-ls-7{fill:var(--surf-hi);fill:color-mix(in srgb,var(--surf-lo) 64%,var(--surf-hi))}.am-scope .am-ls-8{fill:var(--surf-hi);fill:color-mix(in srgb,var(--surf-lo) 73%,var(--surf-hi))}.am-scope .am-ls-9{fill:var(--surf-hi);fill:color-mix(in srgb,var(--surf-lo) 82%,var(--surf-hi))}.am-scope .am-ls-10{fill:var(--surf-hi);fill:color-mix(in srgb,var(--surf-lo) 91%,var(--surf-hi))}.am-scope .am-ls-11{fill:var(--surf-lo)}.am-scope .am-ls-label{paint-order:stroke;stroke:var(--surf-halo);stroke-width:4px;stroke-linejoin:round}.am-scope .am-cite-t{color:var(--ink)}.am-scope .am-sn{cursor:pointer}.am-scope .am-sn-toggle{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.am-scope .am-sn-num,.am-scope .am-sn-sep{color:var(--accent);font-weight:600;font-size:.7em;font-variant-numeric:tabular-nums;line-height:0}.am-scope .am-sn-num{padding:0 .08em 0 .12em}.am-scope .am-sn-toggle:focus-visible+.am-sn-num{outline:2px solid var(--accent);outline-offset:1px;border-radius:2px}.am-scope .am-sn-note{display:none;font-size:12.5px;line-height:1.5;font-weight:400;font-style:normal;letter-spacing:0;text-align:left;text-transform:none;color:var(--ink-soft);cursor:auto}.am-scope .am-sn-n{color:var(--ink-faint);font-variant-numeric:tabular-nums}.am-scope .am-sn-full{display:none}.am-scope .am-sn-note .am-sn-title{color:var(--ink);text-decoration:underline;text-decoration-color:var(--ink-faint);text-decoration-thickness:1px;text-underline-offset:2px}.am-scope .am-sn-note .am-sn-title:hover{color:var(--accent);text-decoration-color:var(--accent)}.am-scope .am-sn-by{color:var(--ink-faint)}@media (max-width:1279.98px){.am-scope .am-sn-toggle:checked~.am-sn-note{display:block;margin:.35em 0 .6em;padding:.45em .8em;border-left:2px solid var(--accent);border-radius:0 4px 4px 0;background:var(--paper-deep);max-width:100%;overflow-wrap:anywhere}.am-scope .am-sn-note .am-sn-full{display:inline}.am-scope .am-sn-note .am-sn-by{display:none}}.am-scope .am-toc{display:none}@media (min-width:1280px){.am-scope{--col:720px;--sn-w:216px;--sn-gap:32px;--toc-w:196px;--toc-gap:44px;position:relative;max-width:var(--col);margin-left:auto;margin-right:auto}.am-scope .am-sn{cursor:default}.am-scope .am-sn-note{display:inline;position:absolute;left:calc(100% + var(--sn-gap));width:var(--sn-w);margin-top:.3em;transition:color .15s}.am-scope .am-sn-note:hover,.am-scope .am-sn:hover .am-sn-note{color:var(--ink)}.am-scope .am-toc{display:block;position:absolute;top:0;bottom:0;right:calc(100% + var(--toc-gap));width:var(--toc-w)}.am-scope .am-toc-compact{display:none}.am-scope .am-fig1{margin-left:0;margin-right:calc(-1 * (var(--sn-gap) + var(--sn-w)))}.am-scope .am-fig1 figcaption{max-width:var(--col);margin-left:0;margin-right:0}}@media (min-width:1440px){.am-scope{--col:768px;--sn-w:236px;--sn-gap:40px;--toc-w:216px;--toc-gap:52px}}.am-scope .am-toc-inner{position:sticky;top:2.5rem;max-height:calc(100vh - 5rem);overflow-y:auto;font-size:13px;line-height:1.4}.am-scope .am-toc ul{list-style:none;margin:0;padding:0}.am-scope .am-toc li{position:relative;padding-left:14px;margin-bottom:.7em}.am-scope .am-toc a{color:var(--ink-faint);text-decoration:none;transition:color .15s}.am-scope .am-toc a:hover{color:var(--ink-soft)}.am-scope .am-toc li.is-active a{color:var(--ink);font-weight:600}.am-scope .am-toc li.is-active:before{content:"";position:absolute;left:2px;top:.5em;width:5px;height:5px;border-radius:50%;background:var(--ink)}.am-scope .am-toc-compact{margin:0 0 1.6em;padding:.5em 1em}.am-scope .am-toc-compact summary{font-size:13.5px}.am-scope .am-toc-compact ul{list-style:none;margin:.2em 0 .3em;padding:0;font-size:13.5px;line-height:1.45}.am-scope .am-toc-compact li{margin-bottom:.45em}.am-scope .am-toc-compact a{color:var(--ink-soft);text-decoration:none}.am-scope .am-toc-compact a:hover{color:var(--accent)}.am-scope .am-algo{margin:1.6em 0 2em;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);font-size:.96em;line-height:1.6}.am-scope .am-algo-head{padding:.45em 0;border-bottom:1px solid var(--ink)}.am-scope .am-algo-io{padding:.5em 0 .2em;color:var(--ink)}.am-scope .am-algo-kw{font-weight:700}.am-scope .am-algo-body{list-style:none;margin:0;padding:.3em 0 .6em;counter-reset:am-algo-line}.am-scope .am-algo-body>li{counter-increment:am-algo-line;position:relative;display:flex;flex-wrap:wrap;align-items:baseline;-moz-column-gap:1.2em;column-gap:1.2em;margin:.12em 0;padding-left:calc(2.1em + var(--ind, 0) * 1.4em)}.am-scope .am-algo-body>li:before{content:counter(am-algo-line);position:absolute;left:0;width:1.3em;text-align:right;font-size:.85em;font-variant-numeric:tabular-nums;color:var(--ink-faint)}.am-scope .am-algo-code{flex:1 1 auto;color:var(--ink)}.am-scope .am-algo-note{margin-left:auto;color:var(--ink-soft);font-style:italic;text-align:right}.am-scope .am-algo-note a{color:inherit}@media (max-width:640px){.am-scope .am-algo{font-size:.92em}.am-scope .am-algo-body>li{padding-left:calc(1.8em + var(--ind, 0) * .9em)}.am-scope .am-algo-note{flex-basis:100%;text-align:left;margin-left:0;font-size:.9em;line-height:1.45}}@media (min-width:768px){.am-scope .am-prose .am-callout{margin-left:-1.5rem;margin-right:-1.5rem;padding:1.1em 1.5em}}.am-scope .am-h2{position:relative;margin:3.6rem 0 1.1rem;font-size:1.75rem;line-height:1.25;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.am-scope .am-h2-anchor{position:absolute;right:100%;padding-right:.45em;font-weight:400;color:var(--rule);text-decoration:none;transition:color .15s}.am-scope .am-h2-anchor:focus-visible,.am-scope .am-h2:hover .am-h2-anchor{color:var(--ink-faint)}@media (max-width:640px){.am-scope .am-h2{margin-top:2.8rem;font-size:1.45rem}.am-scope .am-h2-anchor{display:none}}.am-scope .am-bib-wrap{position:relative}.am-scope .am-bib-wrap .am-bib{padding-right:5.5em}.am-scope .am-bib-copy{position:absolute;top:.6em;right:.6em;font-size:13px;line-height:1;padding:.45em .8em;border:1px solid var(--rule);border-radius:5px;background:var(--surf-halo);color:var(--ink-soft);cursor:pointer;transition:color .15s,border-color .15s}.am-scope .am-bib-copy:hover{color:var(--accent);border-color:var(--accent)}.am-scope .am-sn-short{display:none}@media (min-width:1280px){.am-scope .am-sn-repeat .am-sn-by,.am-scope .am-sn-repeat .am-sn-title{display:none}.am-scope .am-sn-repeat .am-sn-short{display:inline;color:var(--ink-soft);text-decoration:none}.am-scope .am-sn-repeat .am-sn-short:hover{color:var(--accent)}}.am-scope{--res1:#0a879f;--res2:#b5452c;--res3:#8a4a96}.dark .am-scope{--res1:#1ea2ba;--res2:#dc664e;--res3:#9c70d8}.am-scope .am-res{width:100%;height:auto;font-family:inherit;overflow:visible}.am-scope .am-res-g1{--c:var(--res1)}.am-scope .am-res-g2{--c:var(--res2)}.am-scope .am-res-g3{--c:var(--res3)}.am-scope .am-res-grid{stroke:var(--rule);stroke-width:1}.am-scope .am-res-baseline{stroke:var(--ink-faint);stroke-width:1}.am-scope .am-res-tick{fill:var(--ink-soft);font-size:15px;font-variant-numeric:tabular-nums}.am-scope .am-res-axis-title{fill:var(--ink-soft);font-size:15px}.am-scope .am-res-ref{stroke:var(--ink-faint);stroke-width:1.5;stroke-dasharray:6 5}.am-scope .am-res-ref-label{fill:var(--ink-soft);font-size:15px}.am-scope .am-res-line{fill:none;stroke:var(--c);stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}.am-scope .am-res-dot{fill:var(--c);stroke:var(--surf-halo);stroke-width:2}.am-scope .am-res-hollow{fill:var(--surf-halo);stroke:var(--c);stroke-width:2}.am-scope .am-res-leader{stroke:var(--c);stroke-width:1;opacity:.6}.am-scope .am-res-label{fill:var(--ink);font-size:16px;font-weight:700}.am-scope .am-res-fd{stroke:var(--ink-faint);stroke-width:1.25;stroke-dasharray:3 4}.am-scope .am-res-fd-head{fill:none;stroke:var(--ink-faint);stroke-width:1.25}.am-scope .am-res-fd-label{fill:var(--ink-soft);font-size:15px;font-variant-numeric:tabular-nums}.am-scope .am-res-g1-text{fill:var(--res1);font-weight:700}.am-scope .am-res-g2-text{fill:var(--res2);font-weight:700}.am-scope .am-res-g3-text{fill:var(--res3);font-weight:700}.am-scope .am-res-pick{fill:none;stroke:var(--ink);stroke-width:1.5}.am-scope .am-res-pick-label{fill:var(--ink);font-size:15px;font-weight:700}.am-scope{--heat-rgb:19,120,138}.dark .am-scope{--heat-rgb:124,207,220}.am-scope td.am-heat{background-color:rgba(var(--heat-rgb),calc(.04 + var(--h) * .36))}