@font-face{font-family:Libertinus Serif;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/LibertinusSerif-Regular-1608ab54.woff2)format(woff2)}@font-face{font-family:Libertinus Serif;font-style:italic;font-weight:400;font-display:block;src:url(/fonts/LibertinusSerif-Italic-d79c84e3.woff2)format(woff2)}:root{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--bg:#000;--fg:#e8dcc4}:root[data-theme=light]{--buncss-light:initial;--buncss-dark: ;color-scheme:light;--bg:#efe6d0;--fg:#2f271d}@media print{:root{--buncss-light:initial;--buncss-dark: ;color-scheme:light;--bg:#efe6d0;--fg:#2f271d}}.back{display:inline-flex;color:inherit;text-decoration:none;opacity:.7;align-items: center;gap:.4rem;font-size:1.15rem;font-style:italic}.back:hover{opacity:1}.back:focus-visible{opacity:1}.back svg{transition:transform .15s ease-out}.back:hover svg{transform:translate(-.25rem)}.back:focus-visible svg{transform:translate(-.25rem)}#theme-toggle{display:flex;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items: center;gap:.5rem;margin:0;padding:0;line-height:0}#theme-toggle .label{opacity:.7;font-family:inherit;font-size:1rem;font-style:italic;line-height:1}#theme-toggle:hover .label{opacity:1}#theme-toggle:focus-visible .label{opacity:1}#theme-toggle .shadow{transition:transform .3s ease-in-out;transform:translate(-20px)}:root[data-theme=light] #theme-toggle .shadow{transform:translate(0)}@media (prefers-reduced-motion:reduce){.back svg,#theme-toggle .shadow{transition:none}}body{background:var(--bg);color:var(--fg);margin:0;padding:3rem 1.5rem;transition:background-color .2s;font-family:Libertinus Serif,Georgia,serif;font-size:1.4rem;line-height:1.6}@media (prefers-reduced-motion:reduce){body,main{transition:none}}main{color:var(--fg);max-width:46.5rem;margin:0 auto;transition:color .2s,text-shadow .2s}p{text-wrap:pretty}header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 1rem}header #theme-toggle{position:relative;top:-.3rem}#theme-toggle.prompt{gap:.3rem;line-height:1}.prompt .gt{font-size:1rem}.prompt :-webkit-any(.gt,.caret){opacity:.7}.prompt :-moz-any(.gt,.caret){opacity:.7}.prompt :is(.gt,.caret){opacity:.7}.prompt:-webkit-any(:hover,:focus-visible) :-webkit-any(.gt,.caret){opacity:1}.prompt:-moz-any(:hover,:focus-visible) :-moz-any(.gt,.caret){opacity:1}.prompt:is(:hover,:focus-visible) :is(.gt,.caret){opacity:1}.prompt .caret{display:inline-block;background:currentColor;width:.0625rem;height:.95rem;margin-left:.05rem}#theme-toggle .caret.off{opacity:0}header+p{margin-top:0}@property --globe-rim{syntax:"<number>";inherits:true;initial-value:1}.sky{position:relative;aspect-ratio:2;--globe-fg:#e8dcc4;--globe-bg:#000;--globe-rim:1;margin:3rem 0 0;transition:--globe-rim .2s}:root[data-theme=light] .sky{--globe-rim:0}@media (prefers-reduced-motion:reduce){.sky{transition:none}}@media (max-width:36rem){.sky{aspect-ratio:400/380;margin-top:2.5rem}}.sky canvas{position:absolute;display:block;width:100%;height:100%;inset:0}.stars{position:absolute;z-index:-1;overflow:hidden;pointer-events:none;color:#e8dcc4;width:100%;transition:opacity .2s,visibility .2s;top:0;left:0}:root[data-theme=light] .stars{opacity:0;visibility:hidden}.stars .star{position:absolute;opacity:.55;background:currentColor;border-radius:50%}.stars .meteor{position:absolute;transform-origin:100% 50%;opacity:0;background:linear-gradient(90deg,#0000,currentColor);height:1px}.stars .twinkle{will-change:opacity}@media (prefers-reduced-motion:reduce){.stars{transition:none}}@media print{.stars{display:none}}main{text-shadow:0 0 2px #efe6d000,0 0 3px #efe6d000,0 0 5px #efe6d000}:root[data-theme=light] main{text-shadow:0 0 2px #efe6d0,0 0 3px #efe6d0,0 0 5px #efe6d0}.carta{position:absolute;z-index:-1;overflow:hidden;pointer-events:none;color:#2f271d;opacity:0;visibility:hidden;width:100%;transition:opacity .2s,visibility .2s;top:0;left:0}:root[data-theme=light] .carta{opacity:1;visibility:visible}.carta .lake{fill:currentColor;fill-opacity:.07}.carta .coast,.carta .shore{fill:none;stroke:currentColor;stroke-linejoin:round}.carta .coast{stroke-opacity:.6;stroke-width:.9}.carta .shore{stroke-opacity:.45;stroke-width:.6}.carta .river{fill:none;stroke:currentColor;stroke-opacity:.35;stroke-width:.6}.carta .border{fill:none;stroke:currentColor;stroke-opacity:.4;stroke-width:.8;stroke-dasharray:.5 3;stroke-linecap:round}@media (prefers-reduced-motion:reduce){.carta{transition:none}}@media print{.carta{display:none}}.section{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:clamp(3rem,8svh,5.5rem) 0 .75rem}.sky+.section{margin-top:2.5rem}h2{letter-spacing:.04em;margin:0;font-size:1.6rem;font-variant-caps:small-caps;font-weight:400}.when{opacity:.6;font-size:1rem;font-style:italic}.essays{list-style:none;margin:0;padding:0}.essays li+li{margin-top:.6rem}h1{margin:0 0 0 -.076em;font-family:Nordwand Mono,Libertinus Serif,Georgia,serif;font-size:2.1rem;font-weight:400}.essays a{color:inherit;text-decoration:none}.essays .title{background:linear-gradient(currentColor,currentColor)0 1.08em/0 2px no-repeat,linear-gradient(color-mix(in srgb,currentColor 35%,transparent),color-mix(in srgb,currentColor 35%,transparent))0 1.08em/100% 1px no-repeat;transition:background-size .25s ease-out}.essays .read:hover .title{background-size:100% 2px,100% 1px}.essays .read:focus-visible .title{background-size:100% 2px,100% 1px}.essays .tag{border:1px solid color-mix(in srgb,currentColor 35%,transparent);letter-spacing:.06em;vertical-align:.12em;opacity:.7;white-space:nowrap;border-radius:.2em;margin-left:.5rem;padding:.1em .45em;font-size:.7em}.essays .tag+.tag{margin-left:.3rem}.essays .tag:hover{opacity:1}.essays .tag:focus-visible{opacity:1}footer{display:flex;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);flex-wrap:wrap;justify-content:space-between;align-items: center;gap:.5rem 1.5rem;margin:1.5rem 0 0;padding-top:1.25rem}.mail{opacity:.6;font-size:1rem;font-style:italic}@media (prefers-reduced-motion:reduce){.essays .title{transition:none}}@font-face{font-family:Libertinus Serif Display;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/LibertinusSerifDisplay-Regular-43db357a.woff2)format(woff2)}@font-face{font-family:Nordwand Mono;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/NordwandMono-Regular-ba5c1e09.woff2)format(woff2)}::selection{background:color-mix(in srgb,var(--accent)35%,var(--bg))}.hi-stroke{stroke:var(--accent)}.hi-fill{fill:var(--accent)}h1{margin-left:0;font-family:Libertinus Serif Display,Libertinus Serif,Georgia,serif;line-height:1.2}main>.back{margin-bottom:1.25rem}section{margin-top:clamp(3rem,8svh,4.5rem)}section h2{position:relative;margin-bottom:.5rem}h2 .num{color:var(--accent);margin-right:.4em}code,pre{font-family:Nordwand Mono,Libertinus Serif,Georgia,serif;font-size:.85em;font-style:normal}main p code,main li code{border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:color-mix(in srgb,currentColor 7%,transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.2em;padding:0 .2em}main h2 code,.toc code{letter-spacing:0;font-variant-caps:normal}.nobr{white-space:nowrap}main p a,.faces a{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor)0 1.08em/0 2px no-repeat,linear-gradient(color-mix(in srgb,currentColor 35%,transparent),color-mix(in srgb,currentColor 35%,transparent))0 1.08em/100% 1px no-repeat;transition:background-size .25s ease-out}main p a:hover,.faces a:hover{background-size:100% 2px,100% 1px}main p a:focus-visible{background-size:100% 2px,100% 1px}.faces a:focus-visible{background-size:100% 2px,100% 1px}@font-face{font-family:Libertinus Serif;font-style:normal;font-weight:600;font-display:block;src:url(/fonts/LibertinusSerif-SemiboldDigits-d2d3727d.woff2)format(woff2)}.fn-ref{font:inherit;font-feature-settings:"sups" 1;color:var(--accent);cursor:pointer;background:0 0;border:0;margin:0 0 0 .04em;padding:0 .08em;font-family:Libertinus Serif,Georgia,serif;font-style:normal;font-weight:600;line-height:1}.fn-ref:hover{color:var(--fg)}.fn-ref:focus-visible{color:var(--fg)}.fn{display:none;color:color-mix(in srgb,var(--fg)60%,var(--bg));transition:color .2s;font-size:1rem;font-style:normal;line-height:1.45}.fn-num{color:inherit;font-feature-settings:"sups" 1;margin-right:.2em;font-size:1.35em;font-weight:600;line-height:0}.fn a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:.2em;background:0 0}.fn.open{display:block;border-left:2px solid color-mix(in srgb,var(--fg)30%,var(--bg));background:color-mix(in srgb,var(--fg)5%,var(--bg));margin:.6em 0 .8em;padding:.55em .85em}.fn.hot{color:var(--fg)}@media (min-width:84rem){.fn{display:block;float:right;clear:right;width:13rem;margin:.35em -15.5rem .8em 0}.fn-ref{cursor:default}.src:hover+.fn-ref+.fn{color:var(--fg)}.src{transition:opacity .2s}.src:hover{opacity:.7}:root[data-theme=light] .src:hover+.fn-ref+.fn,:root[data-theme=light] .fn.hot{color:#000}:root[data-theme=light] .src:hover{opacity:.4}h2 .num{position:absolute;margin:0;right:calc(100% + .6em)}}.nowrap{white-space:nowrap}.byline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem}.subtitle{opacity:.7;margin:0;font-size:1.25rem;font-style:italic;line-height:1.4}.byline .when{font-size:1.1rem}.byline+p{margin-top:clamp(3rem,8svh,4.5rem)}.fig{margin:2rem 0}.fig svg{display:block;overflow:visible;width:100%;height:auto}.fig figcaption{opacity:.6;margin-top:.75rem;font-size:1rem;font-style:italic}.fig output{font-variant-numeric:oldstyle-nums}.fig pre,pre.code{border:1px solid color-mix(in srgb,currentColor 15%,transparent);white-space:pre-wrap;border-radius:.25rem;margin:0;padding:1rem 1.25rem;font-size:.9rem;line-height:1.5}pre code{font-size:1em}kbd{border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:.2em;padding:0 .25em;font-family:inherit;font-style:italic}@media (prefers-reduced-motion:no-preference){html,.toc{scroll-behavior:smooth}}html{scroll-padding-top:2rem}.toc{--muted:color-mix(in srgb,var(--fg)55%,var(--bg));color:var(--muted);font-size:1rem;line-height:1.35}.toc-head{letter-spacing:.06em;color:color-mix(in srgb,var(--fg)80%,var(--bg));margin-bottom:.9rem;font-size:1.05rem;font-variant-caps:small-caps}.toc-body{position:relative;padding-left:1.1rem}.toc-rail{position:absolute;background:color-mix(in srgb,var(--fg)15%,var(--bg));width:1px;top:.3rem;bottom:.3rem;left:.2rem}.toc-rail-fill{background:var(--accent);transform-origin:top;height:100%;transform:scaleY(0)}.toc ol{list-style:none;margin:0;padding:0}.toc li{margin:0}.toc .part+.part{margin-top:.35rem}.toc a{display:flex;color:inherit;text-decoration:none;padding:.18rem 0;transition:color .2s}.toc .n{flex:none;min-width:1.4em}.toc a:hover{color:var(--fg)}.toc a:focus-visible{color:var(--fg)}.toc a.active{color:var(--accent)}@media not all and (min-width:84rem){.toc:popover-open{box-sizing:border-box;position:fixed;overflow:auto;border:1px solid color-mix(in srgb,var(--fg)18%,var(--bg));background:var(--bg);color:var(--muted);opacity:1;transition:opacity .2s ease-out,translate .2s ease-out,display .2s allow-discrete,overlay .2s allow-discrete;border-radius:.6rem;width:min(19rem,100vw - 2rem);max-height:min(32rem,100vh - 8rem);margin:0;padding:1.1rem 1.25rem 1.2rem;inset:auto 1rem 5.25rem auto;translate:0;box-shadow:0 1rem 3rem #0000004d}@starting-style{.toc:popover-open{opacity:0;translate:0 .5rem}}.toc-ring:not([hidden]){position:fixed;z-index:5;display:grid;background:var(--bg);color:var(--fg);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items: center;width:3.25rem;height:3.25rem;padding:0;transition:background-color .2s;bottom:1rem;right:1rem;box-shadow:0 .3rem 1.2rem #00000040}.toc-ring svg{position:absolute;width:100%;height:100%;inset:0;rotate:-90deg}.toc-ring circle{fill:none;stroke-width:1.5}.toc-ring .track{stroke:color-mix(in srgb,var(--fg)18%,var(--bg))}.toc-ring .done{stroke:var(--accent);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round}.toc-ring .where{position:relative;font-size:1rem}}@media (min-width:84rem){.toc{position:fixed;display:block;overflow-y:auto;scrollbar-width:none;background:0 0;border:0;width:12rem;height:-moz-fit-content;height:fit-content;max-height:calc(100vh - 8rem);margin:auto 0;padding:0 .5rem 0 0;inset:0 auto 0 max(1.5rem,50% - 39.75rem)}.toc-ring{display:none}}@keyframes settle{0%{opacity:0;transform:translateY(.5rem)}}@media (prefers-reduced-motion:reduce){main p a,.fn,.src,.toc a{transition:none}}main,:root[data-theme=light] main{text-shadow:none}:root{--accent:#a3e635;--accent-light:#4d7c0f}:root[data-theme=light]{--accent:var(--accent-light)}.delta{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items: center;column-gap:2rem}.delta figcaption{grid-column:1/-1}@media (max-width:36rem){.delta{grid-template-columns:minmax(0,1fr)}}.steps{border-collapse:collapse;font-variant-numeric:oldstyle-nums tabular-nums;margin:1rem auto 0;font-size:1rem;font-style:italic}.steps th{text-align:right;opacity:.6;padding:0 1.25rem .3rem;font-weight:400}.steps td{text-align:right;padding:.05rem 1.25rem}.steps tbody tr{transition:opacity .3s}.steps tbody tr.off{opacity:0}.steps tbody tr.now{color:var(--accent)}.steps output{display:inline-block;text-align:right;min-width:2ch}.steps tfoot td{border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);opacity:.6;padding-top:.4rem}.hash mark{background:color-mix(in srgb,var(--accent)35%,transparent);color:inherit;border-radius:.15em;padding:0 .1em}.steps td>span{position:relative;isolation:isolate;padding:0 .1em}.steps .rep:before{content:"";position:absolute;z-index:-1;background:color-mix(in srgb,var(--accent)35%,transparent);border-radius:.15em;inset:.1em 0 -.1em}.steps .rep.alt:before{background:color-mix(in srgb,var(--accent)60%,transparent)}.digest{overflow-wrap:anywhere;margin:1rem 0 0;font-size:1rem}.digest .tag{opacity:.6;font-variant-caps:small-caps}.digest .value{font-style:italic}.verdict{color:var(--accent);min-height:1.6em;margin:.25rem 0 0;transition:opacity .3s;font-size:1rem;font-style:italic}.verdict:empty{opacity:0}.sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(25rem,1fr));gap:1rem;margin-bottom:1.5rem}.sources .lang{display:block;opacity:.6;margin-bottom:.35rem;font-size:1rem;font-variant-caps:small-caps}.sources pre{box-sizing:border-box;height:calc(100% - 2rem)}.swarm figcaption output{display:inline-block;text-align:right;font-variant-numeric:oldstyle-nums tabular-nums}.swarm .state{min-width:10ch}.swarm .count{min-width:2ch}.pipeline{list-style:none;border-left:1px solid color-mix(in srgb,currentColor 25%,transparent);margin:0;padding:0}.pipeline li{position:relative;display:flex;opacity:.4;flex-wrap:wrap;align-items:baseline;gap:0 1rem;padding:.35rem 0 .35rem 1.5rem;transition:opacity .4s}.pipeline li:before{content:"";position:absolute;box-sizing:border-box;background:var(--bg);border:1px solid;border-radius:50%;width:.6rem;height:.6rem;transition:background-color .4s;top:1.05rem;left:calc(-.3rem - .5px)}.pipeline li.lit{opacity:1}.pipeline li.lit:before{border-color:var(--accent);background:var(--accent)}.pipeline .step{font-style:italic}.pipeline .note{opacity:.7;font-size:1rem}@font-face{font-family:Libertinus Serif Semibold;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/LibertinusSerif-Semibold-a5afd43f.woff2)format(woff2)}@font-face{font-family:Pagella Janix Subset;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/PagellaJanixSubset-Regular-42e56c2f.woff2)format(woff2)}@font-face{font-family:Pagella Janix Subset;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/PagellaJanixSubset-Bold-3a530423.woff2)format(woff2)}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/STIXTwoText-Bold-a77f30c5.woff2)format(woff2)}@font-face{font-family:Termes Janix Subset;font-style:italic;font-weight:400;font-display:block;src:url(/fonts/TermesJanixSubset-Italic-19063f75.woff2)format(woff2)}.faces ul{display:grid;list-style:none;gap:1.5rem;margin:0;padding:0}.faces li{display:grid;grid-template-columns:minmax(0,1fr)10rem;align-items: start;gap:.2rem 1.5rem}.faces .sample{grid-column:1/-1;font-size:1.7rem;font-style:normal;font-weight:400;line-height:1.25}.faces .about{opacity:.7;font-size:1rem;font-style:italic;line-height:1.45}.faces .weight{display:grid;gap:.3rem;padding-top:.45rem;font-size:1rem;font-style:italic}.faces .bar{position:relative;width:calc(var(--full,1)*100%);background:color-mix(in srgb,currentColor 20%,transparent);border-radius:2px;height:4px}.faces .bar:after{content:"";position:absolute;width:calc(var(--share,1)*100%);border-radius:inherit;background:var(--accent);inset:0 auto 0 0}.faces .kb{font-variant-numeric:oldstyle-nums;opacity:.7}@media (max-width:36rem){.faces li{grid-template-columns:minmax(0,1fr)}}.f-regular{font-family:Libertinus Serif,Georgia,serif}.faces .f-italic{font-family:Libertinus Serif,Georgia,serif;font-style:italic}.f-semibold{font-family:Libertinus Serif Semibold,Georgia,serif}.faces .f-digits{font-feature-settings:"sups" 1;font-family:Libertinus Serif,Georgia,serif;font-size:2.4rem;font-weight:600;line-height:1}.f-display{font-family:Libertinus Serif Display,Libertinus Serif,Georgia,serif}.faces .f-mono{font-family:Nordwand Mono,Georgia,serif;font-size:.85em}.f-pagella{font-family:Pagella Janix Subset,Georgia,serif}.faces .f-pagella-bold{font-family:Pagella Janix Subset,Georgia,serif;font-weight:700}.faces .f-stix{font-family:STIX Two Text,Georgia,serif;font-weight:700}.faces .f-termes{font-family:Termes Janix Subset,Georgia,serif;font-style:italic}.compass{overflow:visible;position:relative;top:0}.compass .ring,.compass .arc{fill:none;stroke:currentColor;stroke-width:.8;stroke-dasharray:1}:root[data-theme=light] .compass .ring{stroke:var(--accent-light);stroke-width:1.3}.compass .arc{stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.compass .legs,.compass .grip{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.compass .hinge{fill:var(--bg);stroke:currentColor;stroke-width:1}.compass .lead{fill:var(--accent)}@media (prefers-reduced-motion:no-preference){main>.back,main>header,main>.byline{animation:.52s cubic-bezier(.2,.7,.2,1) both settle}main>header{animation-delay:60ms}main>.byline{animation-delay:.12s}}@media (prefers-reduced-motion:reduce){.verdict,.pipeline li,.pipeline li:before,.steps tbody tr{transition:none}}
