@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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 Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-italic.CBjNughH.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-italic.B4oTjJdl.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-italic.CBJ8pzag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-italic.2syK4fUT.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-italic.DRuN92E5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-italic.D6eaYXMU.woff)format("woff");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:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-italic.B7_fu1kp.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-italic.Bg0ZHwF4.woff)format("woff");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:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-italic.BqAiT5Ww.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-italic.66oory27.woff)format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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{color-scheme:light;--paper:#fbfaf6;--ink:#1a1a1a;--ink-2:#3d3d3a;--note:#5a5a55;--meta:#6b6b66;--rule:#d2d1cc;--shade:#f1f0ea;--xref:#b3261e;--serif:"Newsreader Variable", Newsreader, Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--scroll-shadow:color-mix(in srgb, var(--ink) 22%, transparent);--text:600px;--gutter:32px;--margin:256px;--page:888px}:root[data-theme=dark]{color-scheme:dark;--paper:#161513;--ink:#e8e6df;--ink-2:#c6c4bc;--note:#a3a19a;--meta:#8e8c85;--rule:#3a3934;--shade:#24231f;--xref:#ef7366}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--paper:#161513;--ink:#e8e6df;--ink-2:#c6c4bc;--note:#a3a19a;--meta:#8e8c85;--rule:#3a3934;--shade:#24231f;--xref:#ef7366}}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--serif);font-variation-settings:"opsz" 16;font-kerning:normal;margin:0;font-size:19px;line-height:30px}a{color:var(--ink)}a:hover{color:var(--xref)}:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.frame{min-height:100vh;padding:0 24px 64px}.page{max-width:var(--page);flex-direction:column;margin:0 auto;display:flex}.mono{font-family:var(--mono)}.meta-line{font-family:var(--mono);color:var(--meta);margin:0;font-size:12px;line-height:16px}.xref,a.xref{color:var(--xref);text-decoration:none}a.xref:hover{text-underline-offset:2px;text-decoration:underline}.site-nav{border-bottom:.5px solid var(--rule);font-family:var(--mono);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:24px 0 16px;font-size:12px;line-height:16px;display:flex}.site-nav .home{font-weight:500;text-decoration:none}.site-nav .links{flex-wrap:wrap;gap:20px;display:flex}.site-nav .links a{color:var(--note);text-decoration:none}.site-nav .links a[aria-current=page]{color:var(--ink)}.site-nav .theme-toggle{color:var(--note);cursor:pointer;background:0 0;border:0;align-self:center;margin:-14px;padding:14px;display:inline-flex}.site-nav .theme-toggle:hover{color:var(--xref)}:root[data-theme=dark] .theme-toggle svg{transform:rotate(180deg)}:root:not(.js) .theme-toggle{display:none}.site-footer{font-family:var(--mono);color:var(--meta);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;font-size:11px;line-height:16px;display:flex}.site-footer a{color:var(--meta)}.site-footer .nw{white-space:nowrap}.site-footer.ruled{border-top:.5px solid var(--rule);margin-top:64px;padding-top:16px}.row{grid-template-columns:minmax(0, var(--text)) minmax(0, var(--margin));column-gap:var(--gutter);display:grid}.meta-grid{font-family:var(--mono);grid-template-columns:72px minmax(0,1fr);row-gap:6px;margin:0;font-size:12px;line-height:16px;display:grid}.meta-grid dt{color:var(--meta)}.meta-grid dd{margin:0}.post-header{padding-top:72px}.post-header .head{flex-direction:column;gap:14px;display:flex}.post-title{letter-spacing:-.02em;font-variation-settings:"opsz" 72;text-wrap:balance;margin:0;font-size:48px;font-weight:400;line-height:56px}.byline{color:var(--note);margin:0;font-size:17px;font-style:italic;line-height:26px}.post-header .side{align-self:end;padding-bottom:4px}.abstract{padding-top:32px}.abstract p{color:var(--ink-2);font-variation-settings:"opsz" 12;margin:0 0 0 24px;font-size:16px;line-height:24px}.prose{counter-reset:section;padding-top:0}.prose>*{max-width:var(--text);margin:0}.prose>p,.prose>ul,.prose>ol,.prose>blockquote{margin-top:18px}.prose>h2+p,.prose>h3+p{margin-top:12px}.prose h2{font-variation-settings:"opsz" 36;counter-increment:section;margin-top:48px;font-size:25px;font-weight:400;line-height:32px}.prose h2:before{content:counter(section);margin-right:14px}.prose h3{margin-top:32px;font-size:19px;font-style:italic;font-weight:400;line-height:30px}.prose ul,.prose ol{padding-left:24px}.prose li+li{margin-top:6px}.prose blockquote{color:var(--ink-2);padding-left:24px}.prose strong{font-weight:500}.prose :not(pre)>code{font-family:var(--mono);font-size:.8em;line-height:1}.prose>.row,.prose>.wide{clear:right;max-width:none}.note-ref{vertical-align:baseline;font-variation-settings:"opsz" 8;font-size:11px;line-height:0;position:relative;top:-.6em}.note-ref a{padding:0 1px}.sidenote{float:right;clear:right;width:var(--margin);margin:6px calc(-1 * (var(--margin) + var(--gutter))) 8px 0;color:var(--note);font-variation-settings:"opsz" 12;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.sidenote .note-num{margin-right:2px}.caption{color:var(--note);font-variation-settings:"opsz" 12;margin:0;font-size:14px;line-height:20px}.prose pre,.figure .plate{background:linear-gradient(to right, var(--paper) 40%, transparent) left center / 40px 100% no-repeat local, linear-gradient(to left, var(--paper) 40%, transparent) right center / 40px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--scroll-shadow), transparent) left center / 14px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--scroll-shadow), transparent) right center / 14px 100% no-repeat scroll var(--paper)!important}.figure{margin:40px 0 0}.figure .plate{border-top:.5px solid var(--ink);border-bottom:.5px solid var(--ink);padding:16px 0 8px;overflow-x:auto}.figure .plate>svg,.figure .plate>img{width:100%;height:auto;display:block}.figure .plate>svg{color:var(--ink)}.figure .plate>svg .meta{color:var(--meta)}.figure .plate>svg.narrow{max-width:400px;margin:0 auto;display:none}.figure.row .caption{align-self:end;padding-bottom:8px}.figure.wide .plate{padding:20px 0 10px}.figure.wide .caption{max-width:var(--text);margin-top:10px}.prose table{border-collapse:collapse;font-variant-numeric:lining-nums tabular-nums;font-variation-settings:"opsz" 16;width:100%;font-size:17px;line-height:26px}.prose>table{margin-top:24px}.prose thead tr{border-top:1px solid var(--ink);border-bottom:.5px solid var(--ink)}.prose th{text-align:left;padding:6px 0;font-style:italic;font-weight:400}.prose td{vertical-align:baseline;padding:4px 0}.prose th+th,.prose td+td{padding-left:16px}.prose tbody tr:last-child{border-bottom:1px solid var(--ink)}.prose tbody tr:last-child td{padding-bottom:8px}.prose td code{font-size:14px}.table-block{margin-top:24px}.table-block .caption{padding-top:6px}.prose pre{border-top:1px solid var(--ink);border-bottom:.5px solid var(--ink);font-family:var(--mono);tab-size:2;margin:0;padding:12px 0;font-size:14px;line-height:22px;overflow-x:auto}.prose>pre{margin-top:24px}.prose pre code{counter-reset:line;min-width:100%;font-family:inherit;display:inline-block}.prose pre .line{white-space:pre;min-width:100%;padding:0 8px;display:inline-block}.prose pre .line:before{counter-increment:line;content:counter(line);text-align:right;width:2ch;color:var(--meta);margin-right:20px;display:inline-block}.prose pre .line.highlighted{background:var(--shade)}.prose pre .line.highlighted:before{color:var(--xref)}.listing{margin-top:24px}.listing .caption{align-self:end;padding-bottom:12px}.listing.wide .caption{max-width:var(--text);margin-top:10px;padding-bottom:0}.equation{align-items:baseline;padding:4px 0;display:flex;margin-top:16px!important}.equation .math{text-align:center;flex:1;font-size:21px;font-style:italic}.equation .math sub,.equation .math sup{font-size:13px}.equation .eq-n{font-size:16px}.remark{margin-top:28px!important}.remark .remark-label{font-weight:500}.end-matter{padding-top:56px}.end-matter>div{border-top:.5px solid var(--rule);padding-top:16px}.references{font-variation-settings:"opsz" 12;flex-direction:column;gap:10px;font-size:15px;line-height:22px;display:flex}.references h2{margin:0 0 4px;font-size:19px;font-weight:400;line-height:28px}.references p{overflow-wrap:anywhere;grid-template-columns:32px minmax(0,1fr);margin:0;display:grid}.cite-block{font-family:var(--mono);flex-direction:column;gap:6px;font-size:11px;line-height:16px;display:flex}.cite-block p{margin:0}.cite-block .label{color:var(--meta)}.cite-block .citation{color:var(--ink-2)}.button{border:.5px solid var(--ink);min-height:44px;color:var(--ink);font-family:var(--mono);cursor:pointer;background:0 0;align-self:flex-start;margin-top:4px;padding:0 14px;font-size:11px}.button:hover{color:var(--xref);border-color:var(--xref)}.adjacent{border-top:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:64px;padding-top:20px;display:flex}.adjacent a{flex-direction:column;gap:4px;max-width:400px;text-decoration:none;display:flex}.adjacent a.next{text-align:right;margin-left:auto}.adjacent .dir{font-family:var(--mono);color:var(--meta);font-size:11px;line-height:16px}.adjacent .t{font-size:19px;line-height:26px}.adjacent a.index .dir{color:var(--note);font-size:12px}.adjacent a.index:hover .dir{color:var(--xref)}.masthead{padding:88px 0 56px}.masthead .head{flex-direction:column;gap:16px;display:flex}.masthead h1{letter-spacing:-.025em;font-variation-settings:"opsz" 72;margin:0;font-size:72px;font-weight:400;line-height:76px}.masthead h1 .tok{position:relative}@media (prefers-reduced-motion:no-preference){.masthead h1.streaming .tok{animation:tok-in .26s ease-out var(--at) backwards}.masthead h1.streaming .tok:after,.masthead h1.streaming .tok:first-child:before{content:"";background:var(--meta);opacity:0;width:1.5px;height:.67em;position:absolute;bottom:.265em}.masthead h1.streaming .tok:after{animation:tok-caret var(--hold) var(--at) forwards;right:-.07em}.masthead h1.streaming .tok:first-child:before{animation:tok-caret var(--at) forwards;left:-.07em}.masthead h1.streaming .tok:last-child:after{animation:tok-caret-out 2.4s var(--at) forwards}}@keyframes tok-in{0%{opacity:0;filter:blur(4px)}}@keyframes tok-caret{0%,99%{opacity:1}to{opacity:0}}@keyframes tok-caret-out{0%,20%,40%,60%{opacity:1}10%,30%,50%,70%,to{opacity:0}}.masthead .dek{color:var(--note);font-variation-settings:"opsz" 18;margin:0;font-size:21px;font-style:italic;line-height:32px}.masthead .side{align-self:end;padding-bottom:6px}.masthead .meta-grid{grid-template-columns:64px minmax(0,1fr)}.filters{border-top:1px solid var(--ink);font-family:var(--mono);justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;font-size:12px;line-height:16px;display:flex}.filters nav{flex-wrap:wrap;gap:16px;display:flex}.filters a{color:var(--note);text-decoration:none}.filters a[aria-current=true]{color:var(--ink)}.entries{margin:0;padding:0;list-style:none}.entries li{border-bottom:.5px solid var(--rule);padding:18px 0}.entries li:first-child{padding:24px 0}.entries li:last-child{border-bottom:1px solid var(--ink)}.entries li[hidden]{display:none}.entries-empty{border-bottom:1px solid var(--ink);font-family:var(--mono);color:var(--meta);margin:0;padding:24px 0;font-size:12px;line-height:16px}.entry{grid-template-columns:48px minmax(0,1fr) 96px 64px;align-items:baseline;column-gap:16px;text-decoration:none;display:grid}.entry .n,.entry .m{font-family:var(--mono);color:var(--meta);font-size:12px}.entry .m{color:var(--note)}.entry .m.date{text-align:right}.entry .body{flex-direction:column;gap:2px;display:flex}.entry .t{font-variation-settings:"opsz" 24;font-size:21px;line-height:28px}.entry .d{color:var(--note);font-variation-settings:"opsz" 12;font-size:15px;font-style:italic;line-height:22px}.entries li:first-child .n{color:var(--xref)}.entries li:first-child .body{gap:6px}.entries li:first-child .t{letter-spacing:-.01em;font-variation-settings:"opsz" 48;font-size:28px;line-height:36px}.entries li:first-child .d{color:var(--ink-2);font-size:16px;font-style:normal;line-height:24px}.entry:hover .t{color:var(--xref)}.entry .d.short{display:none}.plain{padding-top:72px}.plain .head{flex-direction:column;gap:14px;display:flex}.plain .prose>p:first-child{margin-top:32px}.figure .plate:has(.chart){padding-top:14px;overflow:visible}.figure .source{font-family:var(--mono);color:var(--meta);margin-top:6px;font-size:11px;line-height:16px;display:block}.tone-ink{--c:var(--ink)}.tone-note{--c:var(--note)}.tone-meta{--c:var(--meta)}.chart-head{font-family:var(--mono);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;margin-bottom:12px;font-size:11px;line-height:16px;display:flex}.chart-label{color:var(--ink);margin:0;font-size:12px}.chart-key{color:var(--note);flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;display:flex}.chart-key li{align-items:center;display:flex}.chart-key.ramp{align-items:center;gap:6px}.ramp-steps{gap:2px;display:flex}.ramp-steps span{background:color-mix(in srgb, var(--ink) var(--shade), var(--paper));width:14px;height:10px}.key{flex:none;width:14px;margin-right:6px;display:inline-block}.key-line,.key-dash{border-top:2px solid var(--c);height:0}.key-dash{border-top-style:dashed}.key-rect,.key-bar{background:color-mix(in srgb, var(--ink) var(--shade,100%), var(--paper));width:10px;height:10px}.key-bar{width:14px;height:8px}.key-dot{background:var(--c);border-radius:50%;width:8px;height:8px}.key-ring{width:8px;height:8px;box-shadow:inset 0 0 0 1.5px var(--c);border-radius:50%}.key-rule{background:var(--c);width:1.5px;height:12px;margin:0 7px 0 4px}.chart+.chart{margin-top:28px}.chart-pair{column-gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px;display:grid}.chart-pair>.chart+.chart{margin-top:0}@media (width<=600px){.chart-pair{grid-template-columns:minmax(0,1fr)}}.chart-plot{touch-action:pan-y;position:relative}.chart-plot:focus-visible{outline:1px solid var(--ink);outline-offset:6px}.chart svg{font-variant-numeric:tabular-nums;max-width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:var(--mono);fill:var(--meta);font-size:11px}.chart .tick,.chart .name{paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}.chart .name,.chart .lbl{font-family:var(--serif);fill:var(--ink);font-variation-settings:"opsz" 14;font-size:15px}.chart .lbl{font-size:14px}.chart .value{fill:var(--ink)}.chart .ann{font-family:var(--serif);fill:var(--xref);font-variation-settings:"opsz" 12;font-size:13px;font-style:italic}.chart .grid,.chart .rule{stroke:var(--rule);stroke-width:.75px}.chart .base{stroke:var(--ink);stroke-width:.75px}.chart .ann-line{fill:none;stroke:var(--xref);stroke-width:.75px}.chart .ann-line.flag{stroke-width:2px}.chart .ann-line.dash{stroke-dasharray:4 3}.chart .leader{fill:none;stroke:var(--meta);stroke-width:.75px}.chart .raw,.chart .trace{fill:none;stroke:var(--c);stroke-linejoin:round;stroke-linecap:round}.chart .raw{stroke-width:1px;opacity:.25}.chart .trace{stroke-width:2px}.chart .dash{stroke-dasharray:6 4;stroke-linecap:butt}.chart .dot{fill:var(--c);stroke:var(--paper);stroke-width:2px}.chart .dot.hollow{fill:var(--paper);stroke:var(--c);stroke-width:1.5px}.chart .whisker{stroke:var(--note);stroke-width:1px}.chart .box{fill:color-mix(in srgb, var(--ink) 30%, var(--paper))}.chart .median{stroke:var(--ink);stroke-width:1.5px}.chart .cell{fill:var(--ink);font-size:12px}.chart .cell.on-ink{fill:var(--paper)}.chart .hover{pointer-events:none}.chart .crosshair{stroke:var(--ink);stroke-width:.75px}.chart .probe{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px}.chart .outline{fill:none;stroke:var(--ink);stroke-width:1px}.chart-tip{z-index:2;background:var(--paper);border:.5px solid var(--ink);min-width:132px;max-width:260px;box-shadow:0 2px 10px var(--scroll-shadow);font-family:var(--mono);color:var(--note);pointer-events:none;font-variant-numeric:tabular-nums;padding:7px 10px 8px;font-size:11px;line-height:17px;position:absolute;top:0;left:0}.chart-tip p{white-space:nowrap;flex-wrap:wrap;align-items:center;margin:0;display:flex}.chart-tip .tt{color:var(--meta);margin-bottom:3px}.chart-tip strong{color:var(--ink);margin-right:6px;font-weight:500}.chart-tip .aside{color:var(--meta);margin-left:6px}.chart-data{font-family:var(--mono);margin-top:6px;font-size:11px;line-height:16px}.chart-data summary{color:var(--meta);cursor:pointer;padding:6px 0;list-style:none;display:inline-block}.chart-data summary::-webkit-details-marker{display:none}.chart-data summary:after{content:" ↓"}.chart-data[open] summary:after{content:" ↑"}.chart-data summary:hover{color:var(--xref)}.chart-table{border-top:.5px solid var(--rule);max-height:300px;overflow:auto}.prose .chart-table table{font-family:var(--mono);font-size:12px;line-height:18px}.prose .chart-table thead tr{border-top:0}.prose .chart-table th{color:var(--meta);white-space:nowrap;font-style:normal}.prose .chart-table tbody th{color:var(--ink)}.prose .chart-table td,.prose .chart-table thead th:not(:first-child){text-align:right}.prose .chart-table tbody tr:last-child{border-bottom:0}.prose>.stats{margin-top:28px}.stats{border-top:1px solid var(--ink);border-bottom:.5px solid var(--ink);grid-template-columns:repeat(auto-fit,minmax(128px,1fr));margin:0;display:grid}.stats>div{padding:10px 12px 12px 0}.stats>div+div{border-left:.5px solid var(--rule);padding-left:14px}.stats dt{font-family:var(--mono);color:var(--meta);font-size:11px;line-height:16px}.stats dd{flex-direction:column;margin:2px 0 0;display:flex}.stats .v{letter-spacing:-.01em;font-variation-settings:"opsz" 48;font-variant-numeric:lining-nums proportional-nums;font-size:34px;line-height:40px}.stats .n{font-family:var(--mono);color:var(--note);font-size:11px;line-height:16px}.spark-cell{white-space:nowrap;font-family:var(--mono);font-size:13px}.spark{vertical-align:-3px;margin-right:8px}.spark path{fill:none;stroke:var(--ink);stroke-width:1px;stroke-linejoin:round}.spark circle{fill:var(--ink)}@media (width<=952px){.row{grid-template-columns:minmax(0,1fr)}.side{padding-top:8px;align-self:start!important;padding-bottom:0!important}.masthead .dek,.references,.entry .body{max-width:var(--text)}.abstract p{max-width:calc(var(--text) - 24px)}.end-matter .cite-block{margin-top:32px}.sidenote{float:none;border-top:.5px solid var(--rule);border-bottom:.5px solid var(--rule);width:auto;margin:12px 0 0 16px;padding:8px 0;display:block}.js .sidenote:not(.open){display:none}.js .note-ref a{margin:-12px -6px;padding:12px 8px;font-size:12px}.figure.row .caption,.listing .caption{margin-top:8px;padding-top:0;padding-bottom:0}.masthead .side,.table-block .caption{padding-top:16px}.entry{flex-wrap:wrap;align-items:baseline;gap:6px 8px;display:flex}.entry .body{flex-basis:100%;order:1}.entry .m:before{content:"·";color:var(--meta);margin-right:8px}}@media (width<=600px){body{font-size:18px;line-height:28px}.site-nav{align-items:center;padding:16px 0 14px}.post-header{padding-top:36px}.post-header .head{gap:10px}.post-title{letter-spacing:-.015em;font-variation-settings:"opsz" 60;font-size:34px;line-height:40px}.byline{font-size:15px;line-height:22px}.post-header .side{padding-top:12px}.abstract{padding-top:24px}.abstract p{margin-left:12px;font-size:15px;line-height:23px}.prose h2{font-variation-settings:"opsz" 32;margin-top:36px;font-size:23px;line-height:30px}.prose h2:before{margin-right:12px}.prose>h2+p{margin-top:10px}.prose>p{margin-top:16px}.prose pre{padding:10px 0;font-size:13px;line-height:21px}.prose pre .line{padding:0 6px}.prose pre .line:before{margin-right:14px}.equation .math{font-size:19px}.equation .eq-n{font-size:15px}.figure{margin-top:28px}.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(odd){border-left:0;padding-left:0}.stats>div:nth-child(n+3){border-top:.5px solid var(--rule)}.stats .v{font-size:28px;line-height:34px}.spark{display:none}.figure.wide .plate>svg:not(.narrow){min-width:640px}.figure .plate>svg.narrow{display:block}.figure .plate>svg.narrow~svg{display:none}.prose table{font-size:15px;line-height:22px}.prose td code{font-size:13px}.prose th+th,.prose td+td{padding-left:12px}.entry .d.full{display:none}.entry .d.short{display:block}.masthead{padding:48px 0 40px}.masthead h1{font-size:48px;line-height:52px}.masthead .dek{font-size:18px;line-height:28px}.entries li:first-child .t{font-size:24px;line-height:32px}}
