@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-full-normal.7BpKI3vF.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-full-normal.YHFkNujK.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-full-normal.CFFu7zhK.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:var(--lightningcss-light,#f2f3f7)var(--lightningcss-dark,#070b16);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0f1524);--ink:var(--lightningcss-light,#0b1020)var(--lightningcss-dark,#eef1f8);--ink-2:var(--lightningcss-light,#3b4357)var(--lightningcss-dark,#b6bdd0);--muted:var(--lightningcss-light,#5f6880)var(--lightningcss-dark,#7f88a0);--line:var(--lightningcss-light,#dfe2ea)var(--lightningcss-dark,#1c2438);--line-strong:var(--lightningcss-light,#b5bccc)var(--lightningcss-dark,#34405c);--amber:var(--lightningcss-light,#b86e00)var(--lightningcss-dark,#ffb547);--cyan:var(--lightningcss-light,#0a7f93)var(--lightningcss-dark,#4fd6e8);--indigo:var(--lightningcss-light,#4a55c9)var(--lightningcss-dark,#8f9bff);--h0:#03050c;--h1:#081028;--h2:#0d1d44;--h3:#183a6b;--h4:#2f6a8f;--h5:#8fc6c9;--h-far:#0d1a38;--h-text:#c3cbe0;--s-other:var(--lightningcss-light,#5182c1)var(--lightningcss-dark,#4576b4);--s-python:var(--lightningcss-light,#a28137)var(--lightningcss-dark,#b3880f);--s-solidity:var(--lightningcss-light,#5552bb)var(--lightningcss-dark,#7071dd);--s-circom:var(--lightningcss-light,#9b3876)var(--lightningcss-dark,#ac4e87);--s-ts:var(--lightningcss-light,#0096af)var(--lightningcss-dark,#1aa0b9);--s-rust:var(--lightningcss-light,#c27405)var(--lightningcss-dark,#c87a15);--c-a:var(--s-ts);--c-b:var(--s-rust);--c-c:var(--s-solidity);--q0:color-mix(in oklab, var(--surface), var(--ink) 7%);--q1:var(--lightningcss-light,#74bdd4)var(--lightningcss-dark,#15586a);--q2:var(--lightningcss-light,#3ca0bc)var(--lightningcss-dark,#187790);--q3:var(--lightningcss-light,#0a819d)var(--lightningcss-dark,#1f9bba);--q4:var(--lightningcss-light,#0d6277)var(--lightningcss-dark,#52c1e1);--q5:var(--lightningcss-light,#014555)var(--lightningcss-dark,#9be4fc);--display:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--sans:"Geist Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--step--1:clamp(.84rem, .82rem + .1vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.125rem);--step-1:clamp(1.2rem, 1.1rem + .5vw, 1.45rem);--step-2:clamp(1.6rem, 1.3rem + 1.3vw, 2.4rem);--step-3:clamp(2.4rem, 1.3rem + 5vw, 5.25rem);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--gutter:clamp(1.1rem, 4vw, 3rem);--measure:66ch}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3{text-wrap:balance;margin:0;font-weight:650;line-height:1.05}p{text-wrap:pretty;margin:0}ul,ol,dl,dd{margin:0;padding:0;list-style:none}a{color:inherit;text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);transition:text-decoration-color .15s}a:hover{-webkit-text-decoration-color:var(--cyan);text-decoration-color:var(--cyan)}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:2px}button{font:inherit;color:inherit}::selection{background:var(--cyan);color:var(--paper)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{max-width:76rem;padding-inline:var(--gutter);margin-inline:auto}.band{border-top:1px solid var(--line);gap:1.5rem 2rem;padding-block:clamp(3rem,8vw,6rem);display:grid}.band>h2{font-size:var(--step-0);font-weight:600}main{counter-reset:section figure}.band{counter-increment:section}.band>h2:before{content:"§ " counter(section, decimal-leading-zero);margin-bottom:.4rem;display:block}.band>h2:before,.figure>h3:before,.label{font-family:var(--mono);letter-spacing:.03em;color:var(--muted);font-size:.8rem;font-weight:400}.band-body{min-width:0}@media (width>=62rem){.band{grid-template-columns:10rem minmax(0,1fr)}.band>h2{align-self:start;position:sticky;top:5rem}}.lead{max-width:var(--measure);color:var(--ink-2)}.figure{counter-increment:figure;background:var(--surface);border:1px solid var(--line);border-top:1px solid var(--ink);margin:0;padding:clamp(1rem,3vw,1.75rem)}.figure>h3:before{content:"Fig. " counter(figure);margin-bottom:.5rem;display:block}.figure+.figure{margin-top:1.5rem}.figure h3{font-family:var(--display);font-size:var(--step-1);font-weight:600}.figure .sub{max-width:var(--measure);color:var(--ink-2);font-size:var(--step--1);margin-top:.4rem}.plot{margin-top:1.25rem;position:relative}.plot svg{display:block;overflow:visible}.plot text{font-family:var(--sans);fill:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.plot .note{fill:var(--ink-2)}.grid{stroke:var(--line);stroke-width:1px}.axis{stroke:var(--line-strong);stroke-width:1px}.legend{font-size:var(--step--1);color:var(--ink-2);flex-wrap:wrap;gap:.35rem 1.1rem;margin-top:1rem;display:flex}.legend li{align-items:center;gap:.45rem;display:flex}.swatch{flex:none;width:.7rem;height:.7rem}.swatch.line{width:1rem;height:2px}.swatch.dot{border-radius:50%}.tip{z-index:2;pointer-events:none;background:var(--ink);min-width:9rem;color:var(--paper);white-space:nowrap;border-radius:2px;padding:.55rem .7rem;font-size:.8rem;line-height:1.35;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 6px 20px #00000040}.tip strong{font-variant-numeric:tabular-nums;font-weight:700}.tip .tip-head{opacity:.7;margin-bottom:.25rem}.tip li{align-items:center;gap:.45rem;display:flex}.tip .key{border-radius:2px;flex:none;width:.7rem;height:3px}.tip .v{margin-left:auto;padding-left:1rem}details.table{font-size:var(--step--1);color:var(--ink-2);margin-top:1rem}details.table summary{cursor:pointer;width:fit-content}details.table .scroll{margin-top:.75rem;overflow-x:auto}details.table table{border-collapse:collapse;font-variant-numeric:tabular-nums}details.table th,details.table td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:.25rem .75rem .25rem 0}details.table th:first-child,details.table td:first-child{text-align:left}:root[data-film] body{filter:sepia(.22)saturate(1.15)contrast(1.04)}:root[data-film] body:after{content:"";z-index:50;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (prefers-reduced-motion:no-preference){button{transition:transform .16s var(--ease-out)}button:active:not(:disabled){transform:scale(.97)}}@supports selector(::details-content){details.table{interpolate-size:allow-keywords}details.table::details-content{opacity:0;block-size:0;transition:block-size .22s var(--ease-out), opacity .22s var(--ease-out), content-visibility .22s allow-discrete;overflow:clip}details.table[open]::details-content{opacity:1;block-size:auto}@media (prefers-reduced-motion:reduce){details.table::details-content{transition:opacity .22s ease, content-visibility .22s allow-discrete}}}dialog.svelte-fe92n4{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e6edf3;width:min(44rem,100vw - 2rem);font-family:var(--mono);background:#0b1020;border:1px solid #2a3350;border-radius:4px;padding:0;font-size:.85rem;line-height:1.6;box-shadow:0 30px 80px #00000080}dialog.svelte-fe92n4::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0508128c}.chrome.svelte-fe92n4{color:#8490a3;border-bottom:1px solid #232c3f;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.meter.svelte-fe92n4{background:#1c2540;border-radius:3px;flex:1;height:6px;overflow:hidden}.meter.svelte-fe92n4 i:where(.svelte-fe92n4){transform-origin:0;height:100%;transition:transform .2s var(--ease-out);background:#4fd6e8;border-radius:3px;display:block}.meter.warn.svelte-fe92n4 i:where(.svelte-fe92n4){background:#ffb547}.screen.svelte-fe92n4{white-space:pre-wrap;overflow-wrap:anywhere;height:min(20rem,50vh);padding:1rem;overflow-y:auto}.warn.svelte-fe92n4{color:#ffb547;font-weight:700}.ps.svelte-fe92n4{color:#4fd6e8;margin-right:.6ch}form.svelte-fe92n4{border-top:1px solid #232c3f;gap:.6rem;padding:.75rem 1rem;display:flex}input.svelte-fe92n4{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1}.skip.svelte-12qhfyh{z-index:20;background:var(--ink);color:var(--paper);border-radius:6px;padding:.5rem .75rem;position:absolute;top:.5rem;left:-999px}.skip.svelte-12qhfyh:focus{left:.5rem}.top.svelte-12qhfyh{z-index:10;background:color-mix(in oklab, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.bar.svelte-12qhfyh{align-items:center;gap:1.25rem;min-height:3.5rem;display:flex}.me.svelte-12qhfyh{white-space:nowrap;margin-right:auto;font-weight:700;text-decoration:none}nav.svelte-12qhfyh{font-size:var(--step--1);gap:clamp(.75rem,2.5vw,1.75rem);display:flex}nav.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--ink-2);white-space:nowrap;padding-block:.5rem;text-decoration:none}nav.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:var(--ink)}.theme.svelte-12qhfyh{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;display:grid}.theme.svelte-12qhfyh:hover{border-color:var(--line-strong)}@media (width<=44rem){.bar.svelte-12qhfyh{flex-wrap:wrap;gap:0 1rem;padding-top:.4rem}nav.svelte-12qhfyh{scrollbar-width:none;order:3;gap:1.25rem;width:100%;overflow-x:auto}}
