*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;overflow-wrap:break-word}main,details{display:block}summary{display:list-item}a{color:inherit;text-decoration:none}p{margin:2rem 0}@media only screen and (max-width:768px){p{margin:1.5rem 0}}h1,h2,h3,h4,h5,h6{font-weight:600;margin:4rem 0 2.5rem}h1:hover .heading-link,h2:hover .heading-link,h3:hover .heading-link,h4:hover .heading-link,h5:hover .heading-link,h6:hover .heading-link{visibility:visible}h1 .heading-link,h2 .heading-link,h3 .heading-link,h4 .heading-link,h5 .heading-link,h6 .heading-link{font-weight:inherit;font-size:80%;text-decoration:none;visibility:hidden}b,strong{font-weight:700}img{max-width:100%;border-style:none}pre{overflow-x:auto}table{border-collapse:collapse}button,input{font-family:inherit;font-size:100%;line-height:1.15;margin:0}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.chroma .line{display:flex}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .ln,.chroma .lnt{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em}.skip-link{position:absolute;top:-10rem;left:1.6rem;z-index:10;padding:.8rem 1.6rem;background-color:var(--paper);color:var(--ink);border:2px solid var(--blush)}.skip-link:focus{top:1.6rem}main:focus{outline:none}.tabular-scroll:focus-visible{outline:2px solid var(--blush);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.content{flex:1 0 auto}.container{width:100%}.navigation{width:100%}.footer{width:100%;text-align:center}@font-face{font-family:literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-opsz-normal.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:literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-ext-opsz-normal.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:literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-opsz-italic.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:literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-ext-opsz-italic.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:jetbrains mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-wght-normal.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:jetbrains mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext-wght-normal.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}body.colorscheme-light,body.colorscheme-auto{--serif:"Literata", "Iowan Old Style", Charter, "Palatino Linotype", Palatino,
    Georgia, serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas,
    monospace;--paper:#fbf7ef;--ink:#1e1b17;--ink-2:#56504a;--ink-3:#6f685c;--rule:#e6ddcc;--rule-2:#cec3ad;--blush:#a3526b;--blush-wash:#f8ecef;--code-wash:#f1eee6;--code-ink:#26221d}body.colorscheme-dark{--serif:"Literata", "Iowan Old Style", Charter, "Palatino Linotype", Palatino,
    Georgia, serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas,
    monospace;--paper:#1a1917;--ink:#f0e9dc;--ink-2:#bcb3a6;--ink-3:#8d8578;--rule:#302c27;--rule-2:#453f37;--blush:#e5a3b2;--blush-wash:#2b2226;--code-wash:#201e1c;--code-ink:#ece5d8}@media(prefers-color-scheme:dark){body.colorscheme-auto{--serif:"Literata", "Iowan Old Style", Charter, "Palatino Linotype", Palatino,
    Georgia, serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas,
    monospace;--paper:#1a1917;--ink:#f0e9dc;--ink-2:#bcb3a6;--ink-3:#8d8578;--rule:#302c27;--rule-2:#453f37;--blush:#e5a3b2;--blush-wash:#2b2226;--code-wash:#201e1c;--code-ink:#ece5d8}}body{--frame:112rem;--offset:24rem;--apparatus:18rem;--measure:82rem;background-color:var(--paper);color:var(--ink);font-family:var(--serif);font-size:2rem;line-height:1.62;font-weight:400;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media only screen and (min-width:1280px){body{font-size:2.1rem}}@media only screen and (min-width:1700px){body{font-size:2.2rem}}@media only screen and (max-width:768px){body{font-size:1.8rem;line-height:1.6}}.wrapper{background-color:var(--paper)}::selection{background-color:var(--blush-wash);color:var(--ink)}.content{padding:0 0 8rem}@media only screen and (max-width:768px){.content{padding-bottom:3.2rem}}.content>.container{max-width:var(--frame);width:100%;margin:0 auto;padding:0 2.4rem}@media only screen and (max-width:560px){.content>.container{padding:0 1.8rem}}.measure{max-width:var(--measure);margin:0}@media only screen and (min-width:1200px){.measure{margin-left:var(--offset)}}.navigation{border-bottom:1px solid var(--rule);padding:0;margin-bottom:5.6rem}.navigation .container{display:flex;flex-wrap:wrap;align-items:center;gap:2.4rem;max-width:var(--frame);margin:0 auto;padding:2.6rem 2.4rem}.navigation .navigation-title{font-family:var(--serif);font-size:1.9rem;line-height:1.4;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.navigation .navigation-title:hover,.navigation .navigation-title:focus{color:var(--blush);text-decoration:none}.navigation .navigation-list{display:flex;flex-wrap:wrap;gap:2.4rem;margin:0 0 0 auto;padding:0;list-style:none}.navigation .navigation-item{line-height:1.4}.navigation .navigation-link{font-family:var(--serif);font-size:1.7rem;line-height:1.4;font-weight:400;color:var(--ink-2);margin:0 1rem;text-decoration:none}.navigation .navigation-link:hover,.navigation .navigation-link:focus{color:var(--blush);text-decoration:none}@media only screen and (max-width:768px){.navigation{margin-bottom:3.2rem}.navigation .container{flex-direction:column;align-items:flex-start;gap:1.2rem;padding:1.8rem}.navigation .navigation-list{margin:0}.navigation .navigation-link{margin:0}}body:has(.container.home) .navigation .navigation-title{font-size:1.7rem;font-weight:400;color:var(--ink-3)}.footer{background:0 0;border-top:1px solid var(--rule);padding:2.4rem 0 4rem;color:var(--ink-3);font-size:1.5rem;line-height:1.7}.footer .container{max-width:var(--frame);margin:0 auto;padding:0 2.4rem}.footer a{color:var(--ink-3);font-weight:400;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}.footer a:hover,.footer a:focus{color:var(--blush)}.masthead{position:relative;max-width:var(--measure);margin:0 0 5.6rem}@media only screen and (min-width:1200px){.masthead{margin-left:var(--offset)}}.masthead .portrait{display:block;width:100%;height:auto;margin:0 0 2rem;border:1px solid var(--rule);border-radius:3px}@media only screen and (min-width:1200px){.masthead .portrait{position:absolute;top:.6rem;left:calc(var(--offset) * -1);width:21rem;margin:0}}.masthead h1{font-family:var(--serif);font-size:5rem;line-height:1.05;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0 0 1.6rem}@media only screen and (max-width:768px){.masthead h1{font-size:3.3rem}}.masthead .lede{font-size:2.2rem;line-height:1.5;color:var(--ink-2);margin:0 0 2rem;max-width:64rem}@media only screen and (max-width:768px){.masthead .lede{font-size:1.9rem}}.masthead .standfirst{font-size:1.7rem;line-height:1.6;color:var(--ink-3);margin:0}.masthead .standfirst a{color:var(--ink-3);font-weight:400;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}.masthead .standfirst a:hover,.masthead .standfirst a:focus{color:var(--blush);text-decoration-color:var(--blush)}.colophon{display:flex;flex-wrap:wrap;gap:1.6rem 2.4rem;max-width:var(--measure);margin:5.6rem 0 0;padding:2.4rem 0 0;border-top:1px solid var(--rule);list-style:none;font-size:1.6rem}@media only screen and (max-width:560px){.colophon{gap:1.4rem 1.8rem}}@media only screen and (min-width:1200px){.colophon{margin-left:var(--offset)}}.colophon li{margin:0;display:block}.colophon a{display:inline-flex;align-items:baseline;gap:.7rem;color:var(--ink-2);font-size:1.6rem;font-weight:400;text-transform:none;margin:0;text-decoration:none}.colophon a span{text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}.colophon a svg{height:1.5rem;width:auto;flex:none;color:var(--ink-3);transform:translateY(.15rem)}.colophon a:hover,.colophon a:focus{color:var(--blush)}.colophon a:hover span,.colophon a:focus span{text-decoration-color:var(--blush)}.colophon a:hover svg,.colophon a:focus svg{color:var(--blush)}.part{font-family:var(--serif);font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin:4.8rem 0 1.2rem;padding-bottom:.8rem;border-bottom:1px solid var(--rule)}.part:first-child{margin-top:0}.part-note{margin-left:.8rem;font-weight:400;text-transform:none;letter-spacing:0}.contents-list{margin:0;padding:0;list-style:none}.list ul:not(.pagination){margin:0;padding:0;list-style:none}.list ul li{font-size:1.8rem}.leader{display:flex;align-items:last baseline;gap:1.2rem;padding:.9rem 0;margin:0}.leader .t{font-family:var(--serif);font-size:2rem;line-height:1.3;font-weight:400;color:var(--ink);text-decoration:none;flex:initial}.leader .t:hover,.leader .t:focus{color:var(--blush);text-decoration:underline;text-decoration-color:var(--blush);text-underline-offset:.2em}@media only screen and (max-width:768px){.leader .t{font-size:1.8rem}}.leader .fill{flex:auto;border-bottom:1px dotted var(--rule-2);transform:translateY(-.35em);min-width:2rem}.leader .n{font-size:1.6rem;font-variant-numeric:tabular-nums;color:var(--ink-3);white-space:nowrap;flex:none;display:inline-block;width:auto;text-align:right;margin:0}@media only screen and (max-width:560px){.leader{display:block;padding:1rem 0}.leader .fill{display:none}.leader .n{display:block;text-align:left;margin-top:.3rem}}.term-list{display:flex;flex-wrap:wrap;gap:.8rem 2.4rem;margin:0;padding:0;list-style:none}.term-list li{margin:0;display:flex;align-items:baseline;gap:.5rem;font-size:1.7rem}.term-list a{color:var(--ink);font-weight:400;text-decoration:none}.term-list a:hover,.term-list a:focus{color:var(--blush);text-decoration:underline;text-underline-offset:.2em}.term-count{font-size:1.4rem;font-variant-numeric:tabular-nums;color:var(--ink-3)}.term-bar{display:inline-block;height:.5rem;margin-left:.2rem;background-color:var(--rule-2);vertical-align:.15em}.list-note{margin:3.2rem 0 0;padding-top:1.6rem;border-top:1px solid var(--rule);font-size:1.6rem;color:var(--ink-3)}.list-note a{color:var(--ink-2);font-weight:400;text-decoration:underline;text-decoration-color:var(--blush);text-underline-offset:.2em}.list-note a:hover,.list-note a:focus{color:var(--blush)}.pagination{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:4.8rem 0 0;padding:1.6rem 0 0;border-top:1px solid var(--rule);list-style:none;font-size:1.7rem;font-variant-numeric:lining-nums tabular-nums}.pagination li{margin:0;color:var(--ink-3)}.pagination [aria-current]{font-weight:600;color:var(--ink)}.pagination a{text-decoration:none;color:var(--ink-2)}.pagination a:hover,.pagination a:focus{color:var(--blush)}.links-intro p{margin:0 0 2.4rem;color:var(--ink-2)}.links-month{margin:4rem 0 0;font-size:1.5rem;font-weight:400;font-style:italic;color:var(--ink-3)}.link-entry{position:relative;padding:1.6rem 0 2rem;border-bottom:1px solid var(--rule)}.link-entry:last-of-type{border-bottom:0}.link-date{margin-bottom:.4rem;font-size:1.4rem;color:var(--ink-3)}.link-date a{color:inherit;text-decoration:none}.link-date a:hover,.link-date a:focus-visible{color:var(--blush)}@media only screen and (min-width:1200px){.link-date{position:absolute;top:2.3rem;left:calc(var(--offset) * -1);width:var(--apparatus);margin:0;text-align:right}}.link-title{margin:0 0 .8rem;font-size:2.2rem;line-height:1.3;font-weight:600}.link-title a{color:var(--ink);text-decoration:underline;text-decoration-thickness:.06em;text-decoration-color:color-mix(in srgb,var(--blush) 55%,transparent);text-underline-offset:.2em;transition:text-decoration-color .15s ease,color .15s ease}.link-title a:hover,.link-title a:focus-visible{color:var(--blush);text-decoration-color:var(--blush)}.link-host{margin-left:.8rem;font-size:1.4rem;font-weight:400;color:var(--ink-3);white-space:nowrap}.link-note p{margin:0 0 .8rem}.link-note p:last-child{margin-bottom:0}.link-via,.link-tags{font-size:1.5rem;color:var(--ink-3)}.link-tags a{color:inherit;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}.link-tags a:hover,.link-tags a:focus-visible{color:var(--blush);text-decoration-color:var(--blush)}.links-years{display:grid;grid-template-columns:max-content max-content max-content;align-items:center;gap:.2rem 1.2rem;margin:0 0 1.6rem;padding:0;list-style:none;font-size:1.6rem}.links-years li{display:contents}.links-years .sparkline{margin:0}.links-years span{font-size:1.4rem;color:var(--ink-3)}.leader .t .link-host{font-size:1.4rem}.content header.opener{max-width:var(--measure);margin:0 0 4rem;text-align:left}@media only screen and (min-width:1200px){.content header.opener{margin-left:var(--offset)}}.content header.opener .kicker{font-size:1.6rem;line-height:1.5;color:var(--ink-3);margin-bottom:1.2rem}.content header.opener .kicker a{color:var(--ink-3);font-weight:400;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}.content header.opener .kicker a:hover,.content header.opener .kicker a:focus{color:var(--blush);text-decoration-color:var(--blush)}.content header.opener .post-title{margin:0}.content header.opener h1,.content header.opener h1.title{font-family:var(--serif);font-size:4.7rem;line-height:1.08;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0;text-wrap:balance}@media only screen and (max-width:768px){.content header.opener h1,.content header.opener h1.title{font-size:3.1rem}}.content header.opener .title-link{color:inherit;text-decoration:none}.content header.opener .byline{font-size:2rem;line-height:1.5;font-style:italic;color:var(--ink-2);margin-top:1.2rem}.post-meta{max-width:var(--measure);margin:5.6rem 0 0;padding-top:2rem;border-top:1px solid var(--rule);font-size:1.6rem;color:var(--ink-3)}@media only screen and (min-width:1200px){.post-meta{margin-left:var(--offset)}}.post-meta .tags,.post-meta .categories{display:inline}.post-meta .tag,.post-meta .category{margin:0 1.4rem 0 0}.post-meta .tag a,.post-meta .category a{color:var(--ink-3);font-weight:400;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}.post-meta .tag a:hover,.post-meta .tag a:focus,.post-meta .category a:hover,.post-meta .category a:focus{color:var(--blush);text-decoration-color:var(--blush)}.text{max-width:var(--measure);counter-reset:sidenote}@media only screen and (min-width:1200px){.text{margin-left:var(--offset)}}.text p{margin:0 0 1.1em;white-space:normal;text-align:left;text-indent:0;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word;text-wrap:pretty}.text :is(p,li,blockquote){font-variant-numeric:oldstyle-nums proportional-nums}.text a{color:inherit;font-weight:inherit;background-image:none;text-decoration:underline;text-decoration-thickness:.06em;text-decoration-color:color-mix(in srgb,var(--blush) 55%,transparent);text-underline-offset:.18em;transition:text-decoration-color .15s ease,color .15s ease}.text a:hover,.text a:focus{color:var(--blush);text-decoration-color:var(--blush);background-image:none}.text strong,.text b{font-weight:650}.text h2{font-family:var(--serif);font-size:2.9rem;line-height:1.2;font-weight:600;letter-spacing:-.015em;color:var(--ink);max-width:var(--measure);margin:4.8rem 0 1.6rem;padding:0;border:0;text-wrap:balance}@media only screen and (max-width:768px){.text h2{font-size:2.4rem;margin-top:3.6rem}}.text h3{font-family:var(--serif);font-size:2.3rem;line-height:1.25;font-weight:600;font-style:normal;color:var(--ink);max-width:var(--measure);margin:3.6rem 0 1.2rem;text-wrap:balance}@media only screen and (max-width:768px){.text h3{font-size:2rem}}.text h4,.text h5,.text h6{font-family:var(--serif);font-size:2rem;line-height:1.3;font-weight:600;color:var(--ink);max-width:var(--measure);margin:3rem 0 1rem}.text :is(h1,h2,h3,h4,h5,h6) .heading-link{color:var(--blush)}.text>hr{border:0;height:auto;text-align:center;margin:4rem 0;color:var(--rule-2);font-size:2.2rem;letter-spacing:.6em;line-height:1}.text>hr:before{content:"\2042"}.text ul,.text ol{max-width:var(--measure);margin:0 0 1.4em;padding-left:2.6rem}.text li{margin-bottom:.5em;text-indent:0}.text li::marker{color:var(--ink-3)}.text li>ul,.text li>ol{margin:.5em 0}.text li p{margin:0 0 .6em}.text>blockquote{max-width:62rem;margin:3.2rem 0;padding:0 0 0 2.4rem;border:0;border-left:3px solid var(--rule-strong);font-style:normal;font-size:2.2rem;line-height:1.45;color:var(--ink-2)}@media only screen and (max-width:768px){.text>blockquote{font-size:1.95rem;padding-left:1.8rem}}.text>blockquote>p{font-size:inherit;line-height:inherit}.text blockquote{margin:1.6rem 0;padding:0 0 0 2rem;border:0;border-left:2px solid var(--rule-2);font-style:normal;font-size:.95em;line-height:1.55;color:var(--ink-2)}.text blockquote p{margin:0 0 .8em;text-align:left;font-size:inherit;-webkit-hyphens:none;hyphens:none}.text blockquote p:last-child{margin-bottom:0}.text code,.content code{font-family:var(--mono);font-size:.86em;font-weight:400;font-variant-ligatures:none;background-color:var(--code-wash);color:var(--code-ink);border-radius:3px;padding:.12em .32em;display:inline;max-width:none;word-break:normal;overflow-wrap:break-word}.text details{margin:2.4rem 0}.text details summary{font-weight:600;cursor:pointer}.listing,.tabular,.text figure,.marginal{position:relative}.apparatus{display:block;font-size:1.4rem;line-height:1.45;color:var(--ink-3);margin-bottom:.8rem}.apparatus .lang,.apparatus .file{display:inline;margin-right:.8rem}.apparatus .file{font-style:italic;color:var(--ink-2)}@media only screen and (min-width:1200px){.apparatus{position:absolute;top:.4rem;left:calc(var(--offset) * -1);width:var(--apparatus);margin:0;text-align:right}.apparatus .lang,.apparatus .file{display:block;margin-right:0}}.listing-body,.tabular-scroll{content-visibility:auto;contain-intrinsic-size:auto 30rem}.listing{margin:3.2rem 0}.listing .listing-body{position:relative}.listing .listing-body:after{content:"";position:absolute;top:0;right:0;bottom:0;width:3.2rem;pointer-events:none;border-radius:0 4px 4px 0;background:linear-gradient(to right,color-mix(in srgb,var(--code-wash) 0%,transparent),var(--code-wash))}.listing .copy{position:absolute;top:.8rem;right:.8rem;z-index:1;border:1px solid var(--rule);border-radius:4px;background-color:var(--paper);padding:.4rem 1rem;cursor:pointer;font-family:var(--serif);font-size:1.4rem;color:var(--ink-2);opacity:0;transition:opacity .15s ease,color .15s ease}.listing .copy:hover,.listing .copy:focus{color:var(--blush);opacity:1}.listing .copy[data-copied=true]{color:var(--ink);opacity:1}.listing:hover .copy,.listing .copy:focus-visible{opacity:1}.listing .highlight{margin:0}.listing .highlight div{margin:0;padding:0;border-radius:0}.listing pre,.listing .highlight pre{margin:0;padding:2.2rem 3.2rem 2.2rem 2.6rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--rule-2)transparent;background-color:var(--code-wash);border-radius:4px;font-family:var(--mono);font-size:1.6rem;line-height:1.6;font-weight:400;font-variant-ligatures:none;tab-size:4;color:var(--code-ink)}@media only screen and (max-width:768px){.listing pre,.listing .highlight pre{font-size:1.5rem;padding:1.4rem 1.6rem}}.listing pre code{background:0 0;padding:0;font-size:inherit;display:inline;color:inherit}@media(hover:none){.listing .copy{opacity:1}}.content .highlight pre,.content pre{font-family:var(--mono);font-size:1.6rem;line-height:1.6;background-color:var(--code-wash);color:var(--code-ink);border-radius:4px}.tabular{margin:3.2rem 0}.tabular .tabular-scroll{overflow-x:auto}.content table{width:100%;display:table;margin:0;border-collapse:collapse;box-shadow:none;font-size:1.7rem;font-variant-numeric:tabular-nums}.content caption{caption-side:bottom;text-align:left;font-size:1.5rem;color:var(--ink-3);padding-top:1rem}.content table{border-top:1px solid var(--ink-3);border-bottom:1px solid var(--ink-3)}.content table th,.content table td{text-align:left;padding:.7rem 1.4rem;border:0;vertical-align:top}.content table th:first-child,.content table td:first-child{padding-left:0}.content table th:last-child,.content table td:last-child{padding-right:0}.content table th{padding-top:1rem;padding-bottom:.8rem;font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);border-bottom:1px solid var(--rule-2);white-space:nowrap}.content table tbody tr:first-child td{padding-top:1rem}.content table tbody tr:last-child td{padding-bottom:1rem}.content table :is(th,td).numeric{text-align:right;font-variant-numeric:lining-nums tabular-nums}.content figure{margin:3.6rem 0;padding:0;text-align:left}.content figure img{max-width:100%;height:auto;padding:1.4rem;background-color:var(--code-wash);border:1px solid var(--rule);border-radius:4px}@media only screen and (max-width:559px){.content figure img{padding:.8rem}}.content figcaption{font-size:1.6rem;line-height:1.5;color:var(--ink-3);margin-top:1rem;text-align:left;text-wrap:pretty}@media only screen and (min-width:1200px){.content figcaption{position:absolute;top:.2rem;left:calc(var(--offset) * -1);width:var(--apparatus);margin:0;font-size:1.5rem;line-height:1.45;text-align:right}}.text figcaption p{margin:0;text-align:left;font-size:inherit}.post-content>.frontispiece{display:block;width:auto;max-width:100%;height:auto;margin:0 0 4rem;border:1px solid var(--rule);border-radius:3px}@media only screen and (min-width:1200px){.post-content>.frontispiece{margin-left:var(--offset);max-width:var(--measure)}}.zoomable{cursor:zoom-in}.zoomable:focus-visible{outline:2px solid var(--blush);outline-offset:3px}dialog.zoom{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:3vh 3vw;border:0;background:0 0;cursor:zoom-out}dialog.zoom[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;animation:zoom-open 160ms ease-out}dialog.zoom::backdrop{background:rgba(20,18,16,.97)}dialog.zoom img{min-height:0;max-width:100%;max-height:100%;object-fit:contain;border-radius:3px}.zoom-caption{flex:none;max-width:var(--measure);margin:0;font-size:1.6rem;line-height:1.5;color:#d9d1c3;text-align:center;text-wrap:pretty}.avatar img{width:12rem;height:auto}.chart{font-size:1.5rem;line-height:1.3;font-variant-numeric:lining-nums tabular-nums}.chart-key{display:flex;flex-wrap:wrap;gap:.4rem 2rem;margin:0 0 1.6rem;padding:0;list-style:none;color:var(--ink-2)}.chart-key li{display:flex;align-items:center;gap:.7rem;margin:0}.chart-key li.hot{color:var(--ink)}.chart-key .chart-mark{position:relative;top:auto;left:auto;transform:none;flex:none}.chart-key .chart-mark.diamond{transform:rotate(45deg)}.chart-plot{display:grid;grid-template-columns:minmax(0,max-content)minmax(0,1fr);column-gap:1.6rem}.chart-row{display:contents}.chart-label{max-width:16rem;padding:.5rem 0;text-align:right;color:var(--ink-2)}@media only screen and (max-width:559px){.chart-label{max-width:12rem}}.chart-track{position:relative;min-height:2.8rem;margin-right:4rem}.chart-span,.chart-whisker,.chart-mark,.chart-bar,.chart-value{position:absolute;top:50%}.chart-span{height:1px;background-color:var(--rule-2)}.chart-whisker{height:1px;background-color:var(--ink-3)}.chart-mark{width:.8rem;height:.8rem;transform:translate(-50%,-50%);background-color:var(--ink-3)}.chart-mark.circle{border-radius:50%}.chart-mark.diamond{width:.7rem;height:.7rem;transform:translate(-50%,-50%)rotate(45deg)}.chart-mark.triangle{width:1rem;height:.9rem;clip-path:polygon(50% 0,100% 100%,0 100%)}.chart-mark.hot{z-index:1;width:1.1rem;height:1.1rem;background-color:var(--blush);box-shadow:0 0 0 2px var(--paper)}.chart-bar{left:0;height:1.2rem;transform:translateY(-50%);background-color:var(--ink-3)}.chart-bar.hot{background-color:var(--blush)}.chart-value{transform:translate(1rem,-50%);white-space:nowrap;font-size:1.4rem;font-weight:600;color:var(--ink)}.chart-value.before{transform:translate(calc(-100% - 1rem),-50%)}.chart-axis .chart-track{min-height:2.6rem;margin-top:.6rem;border-top:1px solid var(--ink-3)}.chart-tick{position:absolute;top:.6rem;transform:translateX(-50%);white-space:nowrap;font-size:1.3rem;color:var(--ink-3)}.chart-tick:before{content:"";position:absolute;top:-1rem;left:50%;height:.4rem;border-left:1px solid var(--ink-3)}.chart-note{display:block;font-size:1.3rem;font-weight:400;line-height:1.3;color:var(--ink-3)}.chart-axis-title{font-size:1.3rem;color:var(--ink-3)}.chart-data{margin:1.6rem 0 0}.chart-data summary{display:inline-block;cursor:pointer;color:var(--ink-3);list-style:none}.chart-data summary::-webkit-details-marker{display:none}.chart-data summary:before{content:"\203A";display:inline-block;width:1.4rem;color:var(--ink-3)}.chart-data summary:hover,.chart-data summary:focus-visible{color:var(--blush)}.chart-data[open] summary:before{content:"\2039"}.chart-data table{margin-top:1rem;font-size:1.5rem}.chart-slope{display:grid;grid-template-columns:minmax(0,max-content)minmax(4rem,1fr)max-content;column-gap:1.2rem}.slope-end{margin-bottom:1.6rem;font-size:1.3rem;color:var(--ink-3)}.slope-end.left{text-align:right}.slope-side{display:grid;align-items:start;margin-top:.2rem}.slope-side.left{justify-items:end;text-align:right}.slope-label{grid-area:1/1;transform:translateY(-50%);white-space:nowrap;color:var(--ink-2)}.slope-label b{font-weight:400;color:var(--ink)}.slope-label.hot,.slope-label.hot b{font-weight:600;color:var(--ink)}@media only screen and (max-width:559px){.slope-name{display:none}}.slope-title{grid-column:1/-1;margin-top:1.6rem;text-align:center}.slope-lines{width:100%;margin-top:.2rem;overflow:visible}.slope-lines line{stroke:var(--ink-3);stroke-width:1;vector-effect:non-scaling-stroke}.slope-lines line.hot{stroke:var(--blush);stroke-width:2}.chart-panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(30rem,1fr));gap:2.8rem 3.2rem}.chart-panel-title{margin:0 0 .6rem;font-size:1.5rem;font-weight:600;color:var(--ink)}.sparkline{display:inline-block;margin:0 .3em;vertical-align:-.05em;overflow:visible}.sparkline polyline{fill:none;stroke:var(--ink-2);stroke-width:1;stroke-linejoin:round}.sparkline .max{fill:var(--ink-2)}.sparkline .last{fill:var(--blush)}.notice{position:relative;margin:3.2rem 0;padding:0 0 0 2rem;border-left:1px solid var(--rule-2)}.notice .notice-title{margin:0 0 .4rem;font-family:var(--serif);font-size:1.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}@media only screen and (min-width:1200px){.notice .notice-title{position:absolute;top:.4rem;left:calc(var(--offset) * -1);width:var(--apparatus);margin:0;text-align:right}}.notice .notice-content{display:block;margin:0}.text .notice p{margin:0 0 .8em;text-align:left;font-size:.95em;line-height:1.55;color:var(--ink-2)}.text .notice p:last-child{margin-bottom:0}.text .notice ul,.text .notice ol{margin:.6rem 0 0;font-size:.95em;color:var(--ink-2)}.notice.warning,.notice.error{border-left:2px solid var(--blush)}.notice.warning .notice-title,.notice.error .notice-title{color:var(--blush)}.marginal{font-size:1.6rem;line-height:1.5;color:var(--ink-2);border-left:1px solid var(--rule-2);padding-left:1.6rem;margin:2.8rem 0}@media only screen and (min-width:1200px){.marginal{position:absolute;left:calc(var(--offset) * -1);width:var(--apparatus);margin:.4rem 0 0;border-left:0;border-top:1px solid var(--rule-2);padding:.8rem 0 0;font-size:1.5rem;text-align:right}}.sidenote-ref:after{counter-increment:sidenote;content:counter(sidenote);font-size:.65em;vertical-align:super;line-height:0;color:var(--blush);font-variant-numeric:lining-nums}.sidenote{display:block;margin:.6rem 0 .8rem 1.6rem;font-size:1.6rem;line-height:1.5;color:var(--ink-2);font-variant-numeric:lining-nums}.sidenote:before{content:counter(sidenote)" ";color:var(--blush)}@media only screen and (min-width:1200px){.sidenote{float:left;clear:left;width:var(--apparatus);margin:.4rem 0 .8rem calc(var(--offset) * -1);font-size:1.4rem;line-height:1.45;text-align:right}}.text .marginal p{margin:0;text-align:inherit;font-size:inherit}.toc{position:relative;max-width:var(--measure);margin:0 0 4.8rem;padding:2.4rem 0;background:0 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);border-radius:0}@media only screen and (min-width:1200px){.toc{margin-left:var(--offset)}}.toc summary.part{cursor:pointer;list-style:none}.toc summary.part::-webkit-details-marker{display:none}@media only screen and (max-width:899px){.toc summary.part:before{content:"\203A";display:inline-block;width:1.6rem;color:var(--blush)}}@media only screen and (max-width:899px){.toc[open]>summary.part:before{content:"\2039"}}.toc .part{margin:0 0 1.4rem;padding:0;border:0}@media only screen and (min-width:1200px){.toc .part{position:absolute;top:2.6rem;left:calc(var(--offset) * -1);width:var(--apparatus);margin:0;text-align:right}}.toc nav>ul{list-style:none;margin:0;padding:0}@media only screen and (min-width:900px){.toc nav>ul{columns:2;column-gap:4.8rem}}.toc nav ul ul{list-style:none;margin:.4rem 0 0;padding-left:1.6rem;border-left:1px solid var(--rule)}.toc li{margin:0;padding:.3rem 0;font-size:1.7rem;line-height:1.35;break-inside:avoid}.toc nav>ul>li{padding-bottom:1rem}.toc li li{font-size:1.6rem;padding:.2rem 0}.toc a{color:var(--ink-2);font-weight:400;text-decoration:none}.toc a:hover,.toc a:focus{color:var(--blush);text-decoration:underline;text-underline-offset:.2em}.toc nav>ul>li>a{color:var(--ink);font-weight:550}.reading-progress{display:none}@supports(animation-timeline:scroll()){@media only screen and (max-width:1199px){.reading-progress{display:block;position:fixed;top:0;left:0;z-index:3;width:100%;height:2px;background-color:var(--blush);transform:scaleX(0);transform-origin:0 50%;animation:reading-progress linear;animation-timeline:scroll()}}}.rail{display:none}@media only screen and (min-width:1200px){.rail{display:block;position:fixed;left:1.2rem;top:50%;transform:translateY(-50%);z-index:2;max-height:76vh;overflow:hidden}.rail ol{list-style:none;margin:0;padding:0}.rail li{margin:0}.rail a{display:flex;align-items:center;gap:.9rem;padding:.55rem 0;font-weight:500;color:var(--ink-3);text-decoration:none}.rail .tick{display:block;flex:none;width:1rem;height:2px;background-color:var(--rule-2);transition:width .2s ease,background-color .2s ease}.rail .name{font-size:1.4rem;line-height:1.3;white-space:nowrap;opacity:0;transition:opacity .2s ease}.rail a[data-active=true] .tick{width:1.8rem;background-color:var(--blush)}.rail a:hover .tick,.rail a:focus-visible .tick{background-color:var(--blush)}}@media only screen and (min-width:1560px){.rail .name{max-width:16rem;overflow:hidden;text-overflow:ellipsis}.rail a[data-active=true]{color:var(--ink)}.rail a[data-active=true] .name,.rail a:hover .name,.rail a:focus-visible .name{opacity:1}}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:3.2rem;max-width:var(--measure);margin:4.8rem 0 0;padding-top:2.4rem;border-top:1px solid var(--rule)}@media only screen and (min-width:1200px){.post-nav{margin-left:var(--offset)}}@media only screen and (max-width:640px){.post-nav{grid-template-columns:1fr;gap:2.4rem}}.post-nav-next{text-align:right}@media only screen and (max-width:640px){.post-nav-next{text-align:left}}.post-nav-label{display:block;margin-bottom:.4rem;font-size:1.4rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.post-nav-item a{font-size:1.9rem;line-height:1.3;font-weight:400;color:var(--ink);text-decoration:none}.post-nav-item a:hover,.post-nav-item a:focus{color:var(--blush);text-decoration:underline;text-decoration-color:var(--blush);text-underline-offset:.2em}.year-group{position:relative;max-width:var(--measure);margin:0 0 4.8rem;padding-top:2.4rem;border-top:1px solid var(--rule)}@media only screen and (min-width:1200px){.year-group{display:grid;align-items:baseline;grid-template-columns:var(--apparatus)minmax(0,var(--measure));column-gap:calc(var(--offset) - var(--apparatus));margin-left:0;max-width:calc(var(--offset) + var(--measure))}.year-group>*{grid-column:2}.year-group>.apparatus{position:static;grid-column:1;grid-row:1;top:auto;left:auto;width:auto;text-align:right}}.year-group .year{display:block;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.talk{margin:0 0 3.2rem}.talk:last-child{margin-bottom:0}.talk-title{font-family:var(--serif);font-size:2.3rem;line-height:1.25;font-weight:600;color:var(--ink);margin:0 0 .6rem}@media only screen and (max-width:768px){.talk-title{font-size:2rem}}.talk-meta{margin:0 0 1rem;font-size:1.6rem;line-height:1.4;color:var(--ink-3)}.talk-lang{margin-left:.6rem;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.talk-links{display:flex;flex-wrap:wrap;gap:1.8rem;margin:0 0 .8rem;padding:0;list-style:none;font-size:1.6rem}.talk-links li{margin:0}.talk-links a{color:var(--ink-2);font-weight:400;text-decoration:underline;text-decoration-color:var(--blush);text-underline-offset:.2em}.talk-links a:hover,.talk-links a:focus{color:var(--blush)}.talk-abstract{margin:0}.talk-abstract summary{display:inline-block;cursor:pointer;font-size:1.6rem;color:var(--ink-3);list-style:none}.talk-abstract summary::-webkit-details-marker{display:none}.talk-abstract summary:before{content:"\203A";display:inline-block;width:1.4rem;color:var(--blush)}.talk-abstract summary:hover,.talk-abstract summary:focus-visible{color:var(--blush)}.talk-abstract[open] summary:before{content:"\2039"}.talk-abstract p{max-width:66rem;margin:.8rem 0 0 1.4rem;font-size:1.7rem;line-height:1.55;color:var(--ink-2)}.footnotes{max-width:var(--measure);margin:4.8rem 0 0;padding-top:2rem;border-top:1px solid var(--rule);font-size:1.6rem;line-height:1.55;color:var(--ink-2)}.footnotes hr{display:none}.footnotes ol{max-width:none;margin:0;padding-left:2.4rem}.footnotes li{margin-bottom:.8rem}.text .footnotes p{margin:0;text-align:left;font-size:inherit}sup a,.footnote-ref{text-decoration:none;color:var(--blush)}.chroma,.chroma .bg{background-color:var(--code-wash);color:var(--code-ink)}.chroma .err,.chroma .gd{color:var(--blush);background:0 0}.chroma .lnt,.chroma .ln{color:var(--ink-3)}.chroma .hl{background-color:var(--blush-wash)}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{color:var(--ink-3);font-style:italic}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt,.chroma .gh,.chroma .gu,.chroma .gs{font-weight:600}.chroma .nb,.chroma .bp,.chroma .nf,.chroma .fm,.chroma .nt,.chroma .nd,.chroma .nc,.chroma .nn,.chroma .no,.chroma .ne,.chroma .na{font-weight:500}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .s1,.chroma .ss,.chroma .gi{color:var(--ink-2)}.chroma .ge{font-style:italic}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blush);outline-offset:3px;border-radius:2px}.navigation-toggle{display:flex;align-items:center}.colorscheme-toggle{display:block;padding:0;border:0;background:0 0;cursor:pointer;color:var(--ink-3);line-height:0}.colorscheme-toggle:hover,.colorscheme-toggle:focus{color:var(--blush)}@media print{body{background:#fff;color:#000;font-size:11pt;line-height:1.45}body .navigation,body .footer,body .colorscheme-toggle,body .listing .copy,body .rail,body .toc{display:none}body .content{padding:0}body .content>.container{max-width:none;padding:0}body .measure,body .text,body .masthead,body .post-meta,body .content header.opener,body .post-content>.frontispiece{margin-left:0;max-width:none}body .apparatus{position:static;width:auto;text-align:left;margin-bottom:.6em;color:#444}body .marginal{position:static;width:auto;text-align:left;margin:1.2em 0;border-left:1pt solid #999;border-top:0;padding:0 0 0 1em}body .listing pre,body .content code,body .notice{background:#f4f4f4;color:#000}body .listing pre{border-left:2pt solid #999;white-space:pre-wrap}body .content figure,body .listing,body .tabular,body .notice{break-inside:avoid}body .text :is(h2,h3,h4){break-after:avoid}body .text a{color:#000;text-decoration-color:#999}}@media(prefers-reduced-motion:reduce){body *:not(.reading-progress),body *:before,body *:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}@keyframes zoom-open{from{opacity:0;transform:scale(.97)}}@keyframes reading-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}