@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-opsz-normal.Czevyj-6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-opsz-normal.CJcjJNj7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/_astro/fraunces-latin-opsz-normal.DihXLNYH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-opsz-italic.DxWqP7Ku.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-opsz-italic.CGbN9UgK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-opsz-italic.lSdLDfvT.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.DHTKMUil.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.B1g8a0vD.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.BpXpdlRW.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.BsaNuasd.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.BVZ5su8S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.DMe4EKeb.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-italic.y6hTrs-Y.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-italic.CRzqOTyj.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-italic.CUp-f2uw.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-italic.D3EGHrWW.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-italic.B_cmBfNX.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-italic.B-rCj6ir.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-body: "Source Serif 4 Variable", "Iowan Old Style", Georgia, serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--paper: #f2ebdc;--paper-2: #e9e0cc;--surface: #f8f3e8;--ink: #1c2430;--ink-2: #3d4654;--muted: #6f7380;--rule: #dbd1bc;--rule-2: #c3b79c;--indigo: #1f3f73;--indigo-2: #2f5a96;--pale: #a9c6d4;--ochre: #c9a45c;--seal: #b5372b;--accent: var(--indigo);--accent-ink: var(--indigo);--accent-soft: color-mix(in oklab, var(--indigo) 12%, transparent);--viz-1: #1f3f73;--viz-2: #b5372b;--viz-3: #b8862c;--viz-4: #4d6b4a;--viz-5: #6f9bb8;--viz-6: #6d4c6b;--viz-grid: color-mix(in oklab, var(--ink) 10%, transparent);--viz-axis: var(--muted);--viz-land: #e2d4b3;--viz-water: #d7e3e6;--measure: 680px;--wide: 1040px;--gutter: clamp(1.1rem, 4vw, 2.5rem);--radius: 2px;--ease: cubic-bezier(.2, .7, .1, 1);color-scheme:light}:root[data-theme=dark]{--paper: #0f1520;--paper-2: #151d2a;--surface: #182130;--ink: #ece4d2;--ink-2: #c6bfaf;--muted: #8d93a0;--rule: #263142;--rule-2: #36445b;--indigo: #9db8e0;--indigo-2: #c0d3ee;--pale: #4f6f8f;--seal: #d9574a;--accent-soft: color-mix(in oklab, var(--indigo) 16%, transparent);--viz-1: #8fb0dc;--viz-2: #e06a5c;--viz-3: #d9b25e;--viz-4: #8fb08a;--viz-5: #a9c6d4;--viz-6: #b896b5;--viz-land: #2a3445;--viz-water: #131b27;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.125rem;line-height:1.6;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .4s var(--ease),color .4s var(--ease)}body:before{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.32;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .28 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme=dark] body:before{mix-blend-mode:screen;opacity:.08}::selection{background:color-mix(in oklab,var(--accent) 35%,transparent)}a{color:inherit}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:100;padding:.5rem .8rem;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.8rem}.skip-link:focus{top:1rem}.container{width:min(100% - 2 * var(--gutter),1200px);margin-inline:auto}.label{font-family:var(--font-body);font-size:.95rem;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--muted);font-weight:500}.display{font-family:var(--font-display);font-weight:460;letter-spacing:-.015em;line-height:1.04}.chip{--c: var(--accent);display:inline-flex;align-items:center;gap:.45em;padding:.12em .6em .18em .5em;border:1px solid color-mix(in oklab,var(--c) 45%,var(--rule));border-radius:2px;font-family:var(--font-body);font-size:.9rem;font-variant-caps:all-small-caps;letter-spacing:.1em;text-decoration:none;color:var(--ink-2);background:color-mix(in oklab,var(--c) 8%,transparent);transition:background .2s,border-color .2s,transform .2s var(--ease);white-space:nowrap}.chip:before{content:"";width:.5em;height:.5em;background:var(--c)}a.chip:hover{background:color-mix(in oklab,var(--c) 18%,transparent);transform:translateY(-1px)}.button{display:inline-flex;align-items:center;gap:.6em;padding:.55em 1.15em .65em;border-radius:2px;border:1px solid var(--indigo);background:var(--indigo);color:var(--paper);font-family:var(--font-body);font-size:1.02rem;font-variant-caps:all-small-caps;letter-spacing:.1em;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.button--ghost{background:transparent;border-color:var(--ink);color:var(--ink)}.rule-label{display:flex;align-items:center;gap:1rem}.rule-label:after{content:"";flex:1;height:1px;background:var(--rule)}.prose{--flow: 1.35em;font-family:var(--font-body);font-size:clamp(1.08rem,.4vw + 1rem,1.22rem);line-height:1.68;color:var(--ink);display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [wide-start] minmax(0,calc((var(--wide) - var(--measure)) / 2)) [content-start] min(var(--measure),100% - 2 * var(--gutter)) [content-end] minmax(0,calc((var(--wide) - var(--measure)) / 2)) [wide-end] minmax(var(--gutter),1fr) [full-end]}.prose>*{grid-column:content;margin-block:0 var(--flow)}.prose>.figure--wide,.prose>.viz--wide,.prose>[data-width=wide]{grid-column:wide}.prose>.figure--full,.prose>.viz--full,.prose>[data-width=full]{grid-column:full}.prose>p:first-of-type:first-letter{font-family:var(--font-display);float:left;font-size:3.9em;line-height:.84;padding:.06em .1em 0 0;color:var(--indigo);font-weight:500}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;line-height:1.15;position:relative;scroll-margin-top:5rem}.prose h2{font-size:1.85em;margin-top:1.8em;margin-bottom:.55em}.prose h3{font-size:1.4em;margin-top:1.5em;margin-bottom:.5em}.prose h4{font-family:var(--font-body);font-size:1.05em;font-variant-caps:all-small-caps;letter-spacing:.12em;font-weight:600;margin-top:1.8em;margin-bottom:.6em;color:var(--muted)}.prose h2 .anchor,.prose h3 .anchor{position:absolute;right:100%;padding-right:.35em;text-decoration:none;color:var(--rule-2);opacity:0;transition:opacity .2s;font-weight:300}.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:1}.prose a{color:inherit;text-decoration-line:underline;text-decoration-color:color-mix(in oklab,var(--indigo) 45%,transparent);text-decoration-thickness:.08em;text-underline-offset:.18em;transition:text-decoration-color .2s,color .2s}.prose a:hover{color:var(--indigo);text-decoration-color:var(--indigo)}.prose strong{font-weight:650}.prose mark{background:linear-gradient(transparent 55%,var(--accent-soft) 55%);color:inherit}.prose blockquote{margin-inline:0;padding:.2em 0 .2em 1.2em;border-left:3px solid var(--indigo);font-family:var(--font-display);font-style:italic;font-weight:360;font-size:1.32em;line-height:1.4;color:var(--ink-2)}.prose blockquote p{margin:0 0 .5em}.prose blockquote p:last-child{margin:0}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-block:.3em}.prose li::marker{color:var(--indigo)}.prose li>p{margin:0}.prose code{font-family:var(--font-mono);font-size:.82em;padding:.12em .35em;border-radius:4px;background:var(--paper-2);border:1px solid var(--rule)}.prose pre{font-family:var(--font-mono);font-size:.82em;line-height:1.6;padding:1.1em 1.3em;background:#18243a;color:#e4e0d4;border-radius:var(--radius);overflow-x:auto}.prose pre code{background:none;border:0;padding:0;font-size:1em;color:inherit}.prose hr{border:0;height:1px;margin-block:2.6em;background:var(--rule-2);width:8em;justify-self:center}.figure{margin-inline:0}.figure img{width:100%;border-radius:var(--radius);background:var(--paper-2)}.figure--full img{border-radius:0}.figure figcaption,.viz-caption{margin-top:.7em;font-family:var(--font-body);font-style:italic;font-size:.9rem;line-height:1.5;color:var(--muted);max-width:var(--measure)}.figure--full figcaption{padding-inline:var(--gutter)}.viz{margin-inline:0;margin-block:.6em 2em!important}.viz-frame{position:relative;padding:clamp(1rem,2.5vw,1.6rem);background:var(--surface);border:1px solid var(--rule-2);outline:1px solid var(--rule);outline-offset:4px;border-radius:var(--radius);font-family:var(--font-ui);font-size:.9rem;line-height:1.4;overflow:hidden}.viz--full .viz-frame{border-radius:0;border-inline:0}.viz-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.viz-kicker{font-family:var(--font-body);font-size:.95rem;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--seal);margin:0 0 .2rem}.viz-title{font-family:var(--font-display);font-weight:500;font-size:clamp(1.15rem,1.5vw + .8rem,1.5rem);letter-spacing:-.01em;line-height:1.15;margin:0;color:var(--ink)}.viz-subtitle{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}.viz-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--rule);font-family:var(--font-body);font-style:italic;font-size:.85rem;color:var(--muted)}.viz-foot p{margin:0}.viz-hint{display:inline-flex;align-items:center;gap:.4em}.viz-hint:before{content:"";width:5px;height:5px;background:var(--seal)}.viz-btn{font-family:var(--font-body);font-size:.92rem;font-variant-caps:all-small-caps;letter-spacing:.08em;padding:.2em .7em .3em;border-radius:2px;border:1px solid var(--rule-2);background:var(--paper);color:var(--ink-2);cursor:pointer;transition:background .2s,color .2s,border-color .2s,opacity .2s}.viz-btn:hover{border-color:var(--ink);color:var(--ink)}.viz-btn[aria-pressed=false]{opacity:.45}.viz-tooltip{position:absolute;pointer-events:none;z-index:5;min-width:140px;padding:.6rem .75rem;background:var(--ink);color:var(--paper);border-radius:2px;font-size:.78rem;transition:opacity .15s,transform .12s var(--ease)}.viz-tooltip__label{font-family:var(--font-body);font-size:.85rem;font-variant-caps:all-small-caps;letter-spacing:.1em;opacity:.7;margin-bottom:.3rem}.viz-skeleton{min-height:320px;padding:1.4rem;border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--surface)}.viz-skeleton__title{margin:0;font-family:var(--font-display);font-size:1.3rem}.viz-error{padding:1rem;border:1px dashed var(--seal);border-radius:var(--radius);font-family:var(--font-ui);font-size:.85rem;color:var(--seal)}@keyframes viz-dash{to{stroke-dashoffset:-18}}@keyframes viz-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
