@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;--paper-2:#f3ecdf;--ink:#1e1b17;--ink-2:#56504a;--ink-3:#8a8377;--rule:#e6ddcc;--rule-2:#cec3ad;--blush:#b8617a;--blush-wash:#f8ecef;--sky:#5e83b6;--sky-wash:#e9eff6;--leaf:#6f9878;--leaf-wash:#e8f0e9;--sun:#c07f3f;--sun-wash:#faeee1;--lilac:#8b7cae;--lilac-wash:#efecf6;--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;--paper-2:#232120;--ink:#f0e9dc;--ink-2:#bcb3a6;--ink-3:#8d8578;--rule:#302c27;--rule-2:#453f37;--blush:#e5a3b2;--blush-wash:#2b2226;--sky:#a4bbdb;--sky-wash:#1f2429;--leaf:#a8c8ad;--leaf-wash:#1f2723;--sun:#e0b184;--sun-wash:#2a2420;--lilac:#bdaeda;--lilac-wash:#24222b;--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;--paper-2:#232120;--ink:#f0e9dc;--ink-2:#bcb3a6;--ink-3:#8d8578;--rule:#302c27;--rule-2:#453f37;--blush:#e5a3b2;--blush-wash:#2b2226;--sky:#a4bbdb;--sky-wash:#1f2429;--leaf:#a8c8ad;--leaf-wash:#1f2723;--sun:#e0b184;--sun-wash:#2a2420;--lilac:#bdaeda;--lilac-wash:#24222b;--code-wash:#201e1c;--code-ink:#ece5d8}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto){--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:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto){font-size:2.1rem}}@media only screen and (min-width:1700px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto){font-size:2.2rem}}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto){font-size:1.8rem;line-height:1.6}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .wrapper{background-color:var(--paper)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) p{white-space:normal}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ::selection{background-color:var(--blush-wash);color:var(--ink)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content{display:block;margin:0;padding:0 0 8rem}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content{padding-bottom:3.2rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content>.container{max-width:var(--frame);width:100%;margin:0 auto;padding:0 2.4rem;background:0 0;box-shadow:none}@media only screen and (max-width:560px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content>.container{padding:0 1.8rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .measure{max-width:var(--measure);margin:0}@media only screen and (min-width:1200px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .measure{margin-left:var(--offset)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation{height:auto;background:0 0;box-shadow:none;border-bottom:1px solid var(--rule);padding:0;margin-bottom:5.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-title{font-family:var(--serif);font-size:1.9rem;line-height:1.4;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--ink);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-title:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-title:focus{color:var(--blush);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-list{display:flex;flex-wrap:wrap;gap:2.4rem;margin:0 0 0 auto;padding:0;list-style:none;float:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-item{margin:0;padding:0;float:none;line-height:1.4}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-link{font-family:var(--serif);font-size:1.7rem;line-height:1.4;font-weight:400;color:var(--ink-2);padding:0;text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-link:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-link:focus{color:var(--blush);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .menu-button{margin-left:auto;float:none;color:var(--ink-2)}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation{margin-bottom:3.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .container{flex-direction:column;align-items:flex-start;gap:1.2rem;padding:1.8rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-list{position:static;display:flex;visibility:visible;opacity:1;max-height:none;overflow:visible;width:auto;margin:0;padding:0;gap:2.4rem;background:0 0;border:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-item{float:none;text-align:left;border:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-link{display:inline;margin:0;padding:0;font-size:1.7rem;line-height:1.4}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto):has(.container.home) .navigation .navigation-title{font-size:1.7rem;font-weight:400;color:var(--ink-3)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer .container{max-width:var(--frame);margin:0 auto;padding:0 2.4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer a{color:var(--ink-3);font-weight:400;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer a:focus{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead{position:relative;max-width:var(--measure);margin:0 0 5.6rem}@media only screen and (min-width:1200px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead{margin-left:var(--offset)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead .portrait{position:absolute;top:.6rem;left:calc(var(--offset) * -1);width:21rem;margin:0}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead h1{font-size:3.3rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead .lede{font-size:1.9rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead .standfirst{font-size:1.7rem;line-height:1.6;color:var(--ink-3);margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead .standfirst a{color:var(--ink-3);font-weight:400;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead .standfirst a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead .standfirst a:focus{color:var(--blush);text-decoration-color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon{gap:1.4rem 1.8rem}}@media only screen and (min-width:1200px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon{margin-left:var(--offset)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon li{margin:0;display:block}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon a span{text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon a svg{height:1.5rem;width:auto;flex:none;color:var(--ink-3);transform:translateY(.15rem)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon a:focus{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon a:hover span,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon a:focus span{text-decoration-color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon a:hover svg,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .colophon a:focus svg{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .part:first-child{margin-top:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .contents-list{margin:0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul:not(.pagination){margin:0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .leader{display:flex;align-items:last baseline;gap:1.2rem;padding:.9rem 0;margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .leader .t{font-family:var(--serif);font-size:2rem;line-height:1.3;font-weight:400;color:var(--ink);text-decoration:none;flex:initial}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .leader .t:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .leader .t{font-size:1.8rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .leader .fill{flex:auto;border-bottom:1px dotted var(--rule-2);transform:translateY(-.35em);min-width:2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .leader{display:block;padding:1rem 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .leader .fill{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .leader .n{display:block;text-align:left;margin-top:.3rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term-list{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;margin:0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term-list li{margin:0;display:flex;align-items:baseline;gap:.5rem;padding:.5rem 1.1rem;background-color:var(--paper-2);border-radius:4px;font-size:1.7rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term-list a{color:var(--ink);font-weight:400;text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term-list a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term-list a:focus{color:var(--blush);text-decoration:underline;text-underline-offset:.2em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term-count{font-size:1.4rem;font-variant-numeric:tabular-nums;color:var(--ink-3)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-note a{color:var(--ink-2);font-weight:400;text-decoration:underline;text-decoration-color:var(--blush);text-underline-offset:.2em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-note a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-note a:focus{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .pagination{margin:4.8rem 0 0;font-size:1.7rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .pagination a{color:var(--ink-2)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .pagination a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .pagination a:focus{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener{max-width:var(--measure);margin:0 0 4rem;text-align:left}@media only screen and (min-width:1200px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener{margin-left:var(--offset)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener .kicker{font-size:1.6rem;line-height:1.5;color:var(--ink-3);margin-bottom:1.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener .kicker a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener .kicker a:focus{color:var(--blush);text-decoration-color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener .post-title{margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener h1.title{font-size:3.1rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener .title-link{color:inherit;text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener .byline{font-size:2rem;line-height:1.5;font-style:italic;color:var(--ink-2);margin-top:1.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener .opener-rule{width:8rem;margin:2.8rem 0 0;border-top:3px solid var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-meta{margin-left:var(--offset)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-meta i,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-meta .separator{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-meta ul{display:inline;margin:0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .authors{display:inline;margin:0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .tags .tag,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .categories .category,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .authors .author{display:inline;margin:0 1.4rem 0 0;padding:0;background:0 0;background-color:transparent;border-radius:0;line-height:inherit;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .tags .tag::marker,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .categories .category::marker,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .authors .author::marker{content:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .tags .tag a,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .categories .category a,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .authors .author a{color:var(--ink-3);font-weight:400;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:.2em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .tags .tag a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .tags .tag a:focus,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .categories .category a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .categories .category a:focus,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .authors .author a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .post-meta .authors .author a:focus{color:var(--blush);text-decoration-color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text{max-width:var(--measure);counter-reset:listing table}@media only screen and (min-width:1200px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text{margin-left:var(--offset)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content article a:where(.external-link):not(:has(img)):after{content:none;padding-left:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text a:focus{color:var(--blush);text-decoration-color:var(--blush);background-image:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text strong,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text b{font-weight:650}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text h2{font-size:2.4rem;margin-top:3.6rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text h3{font-size:2rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text h4,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text h5,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text :is(h1,h2,h3,h4,h5,h6) .heading-link{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text>hr:before{content:"\2042"}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text ul,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text ol{max-width:var(--measure);margin:0 0 1.4em;padding-left:2.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text li{margin-bottom:.5em;text-indent:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text li::marker{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text li>ul,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text li>ol{margin:.5em 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text li p{margin:0 0 .6em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text>blockquote{font-size:1.95rem;padding-left:1.8rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text>blockquote>p{font-size:inherit;line-height:inherit}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text blockquote p{margin:0 0 .8em;text-align:left;font-size:inherit;-webkit-hyphens:none;hyphens:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text blockquote p:last-child{margin-bottom:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text code,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text details{margin:2.4rem 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text details summary{font-weight:600;cursor:pointer}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tabular,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text figure,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .marginal{position:relative}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .apparatus{display:block;font-size:1.4rem;line-height:1.45;color:var(--ink-3);margin-bottom:.8rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .apparatus .num{display:block;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .apparatus .lang,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .apparatus .file{display:inline;margin-right:.8rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .apparatus .file{font-style:italic;color:var(--ink-2)}@media only screen and (min-width:1200px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .apparatus{position:absolute;top:.4rem;left:calc(var(--offset) * -1);width:var(--apparatus);margin:0;text-align:right}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .apparatus .lang,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .apparatus .file{display:block;margin-right:0}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing{margin:3.2rem 0;counter-increment:listing}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .num:before{content:"Listing " counter(listing)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .listing-body{position:relative}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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))}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .copy:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .copy:focus{color:var(--blush);opacity:1}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .copy[data-copied=true]{color:var(--leaf);opacity:1}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing:hover .copy,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .copy:focus-visible{opacity:1}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .highlight{margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .highlight div{margin:0;padding:0;border-radius:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing pre,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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;border-left:3px solid var(--sky);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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing pre,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .highlight pre{font-size:1.5rem;padding:1.4rem 1.6rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing pre code{background:0 0;padding:0;font-size:inherit;display:inline;color:inherit}@media(hover:none){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .copy{opacity:1}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .highlight pre,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tabular{margin:3.2rem 0;counter-increment:table}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tabular .num:before{content:"Table " counter(table)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tabular .tabular-scroll{overflow-x:auto}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content table{width:100%;display:table;margin:0;border-collapse:collapse;box-shadow:none;font-size:1.7rem;font-variant-numeric:tabular-nums}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content caption{caption-side:bottom;text-align:left;font-size:1.5rem;color:var(--ink-3);padding-top:1rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content table th,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content table td{text-align:left;padding:1rem 1.4rem;border:0;border-bottom:1px solid var(--rule);vertical-align:top}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content table th{font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);background-color:var(--paper-2);border-bottom:1px solid var(--rule-2);white-space:nowrap}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content table tbody tr:nth-child(even){background-color:color-mix(in srgb,var(--rule) 30%,transparent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content table tbody td:first-child{font-weight:600}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content table a.external-link:after{content:none;padding-left:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content figure{margin:3.6rem 0;padding:0;text-align:left}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content figure img{max-width:100%;height:auto;border:1px solid var(--rule);border-radius:3px}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text figcaption p{margin:0;text-align:left;font-size:inherit}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content>.frontispiece{margin-left:var(--offset);max-width:var(--measure)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .avatar img{width:12rem;height:auto}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice{margin:3.2rem 0;padding:2rem 2.4rem;border-radius:4px;overflow:visible;background-color:var(--leaf-wash)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice .notice-title{margin:0 0 .6rem;padding:0;background:0 0;border:0;font-family:var(--serif);font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--leaf)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice .notice-title i{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice .notice-content{display:block;margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text .notice p{margin:0 0 .8em;text-align:left;font-size:.95em;line-height:1.55;color:var(--ink-2)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text .notice p:last-child{margin-bottom:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text .notice ul,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text .notice ol{margin:.6rem 0 0;font-size:.95em;color:var(--ink-2)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.note,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.tip{background-color:var(--leaf-wash)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.note .notice-title,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.tip .notice-title{color:var(--leaf)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.info{background-color:var(--sky-wash)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.info .notice-title{color:var(--sky)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.question,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.example{background-color:var(--lilac-wash)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.question .notice-title,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.example .notice-title{color:var(--lilac)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.warning{background-color:var(--sun-wash)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.warning .notice-title{color:var(--sun)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.error{background-color:var(--blush-wash)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.error .notice-title{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .marginal{font-size:1.6rem;line-height:1.5;color:var(--ink-2);border-left:2px solid var(--lilac);padding-left:1.6rem;margin:2.8rem 0}@media only screen and (min-width:1200px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .marginal{position:absolute;left:calc(var(--offset) * -1);width:var(--apparatus);margin:.4rem 0 0;border-left:0;border-top:2px solid var(--lilac);padding:.8rem 0 0;font-size:1.5rem;text-align:right}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text .marginal p{margin:0;text-align:inherit;font-size:inherit}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc{margin-left:var(--offset)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc summary.part{cursor:pointer;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc summary.part::-webkit-details-marker{display:none}@media only screen and (max-width:899px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc summary.part:before{content:"\203A";display:inline-block;width:1.6rem;color:var(--blush)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc[open]>summary.part:before{content:"\2039"}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc .part{margin:0 0 1.4rem;padding:0;border:0}@media only screen and (min-width:1200px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc .part{position:absolute;top:2.6rem;left:calc(var(--offset) * -1);width:var(--apparatus);margin:0;text-align:right}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc nav>ul{list-style:none;margin:0;padding:0}@media only screen and (min-width:900px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc nav>ul{columns:2;column-gap:4.8rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc nav ul ul{list-style:none;margin:.4rem 0 0;padding-left:1.6rem;border-left:1px solid var(--rule)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc li{margin:0;padding:.3rem 0;font-size:1.7rem;line-height:1.35;break-inside:avoid}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc nav>ul>li{padding-bottom:1rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc li li{font-size:1.6rem;padding:.2rem 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc a{color:var(--ink-2);font-weight:400;text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc a:focus{color:var(--blush);text-decoration:underline;text-underline-offset:.2em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc nav>ul>li>a{color:var(--ink);font-weight:550}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .reading-progress{display:none}@supports(animation-timeline:scroll()){@media only screen and (max-width:1199px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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()}}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail{display:none}@media only screen and (min-width:1200px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail{display:block;position:fixed;left:1.2rem;top:50%;transform:translateY(-50%);z-index:2;max-height:76vh;overflow:hidden}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail ol{list-style:none;margin:0;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail li{margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail a{display:flex;align-items:center;gap:.9rem;padding:.55rem 0;color:var(--ink-3);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail .tick{display:block;flex:none;width:1rem;height:2px;background-color:var(--rule-2);transition:width .2s ease,background-color .2s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail .name{font-size:1.4rem;line-height:1.3;white-space:nowrap;opacity:0;transition:opacity .2s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail a[data-active=true] .tick{width:1.8rem;background-color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail a:hover .tick,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail a:focus-visible .tick{background-color:var(--blush)}}@media only screen and (min-width:1560px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail .name{max-width:16rem;overflow:hidden;text-overflow:ellipsis}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail a[data-active=true]{color:var(--ink)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail a[data-active=true] .name,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail a:hover .name,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail a:focus-visible .name{opacity:1}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-nav{margin-left:var(--offset)}}@media only screen and (max-width:640px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-nav{grid-template-columns:1fr;gap:2.4rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-nav-next{text-align:right}@media only screen and (max-width:640px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-nav-next{text-align:left}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-nav-label{display:block;margin-bottom:.4rem;font-size:1.4rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-nav-item a{font-size:1.9rem;line-height:1.3;font-weight:400;color:var(--ink);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-nav-item a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-nav-item a:focus{color:var(--blush);text-decoration:underline;text-decoration-color:var(--blush);text-underline-offset:.2em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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))}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .year-group>*{grid-column:2}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .year-group>.apparatus{position:static;grid-column:1;grid-row:1;top:auto;left:auto;width:auto;text-align:right}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .year-group .year{display:block;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk{margin:0 0 3.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk:last-child{margin-bottom:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-title{font-size:2rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-meta{margin:0 0 1rem;font-size:1.6rem;line-height:1.4;color:var(--ink-3)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-lang{display:inline-block;margin-left:.6rem;padding:.1rem .6rem;border:1px solid var(--rule-2);border-radius:3px;font-size:1.3rem;letter-spacing:.06em;color:var(--ink-3)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-links{display:flex;flex-wrap:wrap;gap:1.8rem;margin:0 0 .8rem;padding:0;list-style:none;font-size:1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-links li{margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-links a{color:var(--ink-2);font-weight:400;text-decoration:underline;text-decoration-color:var(--blush);text-underline-offset:.2em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-links a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-links a:focus{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-abstract{margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-abstract summary{display:inline-block;cursor:pointer;font-size:1.6rem;color:var(--ink-3);list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-abstract summary::-webkit-details-marker{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-abstract summary:before{content:"\203A";display:inline-block;width:1.4rem;color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-abstract summary:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-abstract summary:focus-visible{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-abstract[open] summary:before{content:"\2039"}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-abstract p{max-width:66rem;margin:.8rem 0 0 1.4rem;font-size:1.7rem;line-height:1.55;color:var(--ink-2)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footnotes hr{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footnotes ol{max-width:none;margin:0;padding-left:2.4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footnotes li{margin-bottom:.8rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text .footnotes p{margin:0;text-align:left;font-size:inherit}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) sup a,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footnote-ref{text-decoration:none;color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .bg{background-color:var(--code-wash);color:var(--code-ink)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .err{color:var(--blush);background:0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .lnt,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .ln{color:var(--ink-3)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .hl{background-color:color-mix(in srgb,var(--sun) 18%,transparent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .c,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .ch,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .cm,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .c1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .cs,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .cp,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .cpf{color:var(--ink-3);font-style:italic}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .k,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .kc,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .kd,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .kn,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .kp,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .kr,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .kt{color:var(--blush);font-weight:500}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .nb,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .bp,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .nf,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .fm,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .nt,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .nd{color:var(--sky);font-weight:500}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .nc,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .nn,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .no,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .ne,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .na{color:var(--leaf);font-weight:500}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .s,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .sa,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .sb,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .sc,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .dl,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .sd,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .s2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .se,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .sh,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .si,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .sx,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .sr,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .s1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .ss{color:var(--sun)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .m,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .mb,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .mf,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .mh,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .mi,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .il,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .mo{color:var(--lilac)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .o,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .ow,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .p,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .n,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .nv,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .vc,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .vg,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .vi,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .vm,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .nl,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .py,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .nx{color:var(--code-ink)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .gd{color:var(--blush)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .gi{color:var(--leaf)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .gh,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .gu{color:var(--sky);font-weight:600}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .ge{font-style:italic}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma .gs{font-weight:600}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) a:focus-visible,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) button:focus-visible,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) summary:focus-visible{outline:2px solid var(--blush);outline-offset:3px;border-radius:2px}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .float-container .colorscheme-toggle{display:block;padding:0;border:0;background:0 0;cursor:pointer;color:var(--ink-3);line-height:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .float-container .colorscheme-toggle:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .float-container .colorscheme-toggle:focus{color:var(--blush)}@media print{body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto){background:#fff;color:#000;font-size:11pt;line-height:1.45}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .float-container,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing .copy,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .rail,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content{padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content>.container{max-width:none;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .measure,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .masthead,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-meta,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content header.opener,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content>.frontispiece{margin-left:0;max-width:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .apparatus{position:static;width:auto;text-align:left;margin-bottom:.6em;color:#444}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .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:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing pre,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content code,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice{background:#f4f4f4;color:#000}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing pre{border-left:2pt solid #999;white-space:pre-wrap}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content figure,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .listing,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tabular,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice{break-inside:avoid}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text :is(h2,h3,h4){break-after:avoid}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .text a{color:#000;text-decoration-color:#999}}@media(prefers-reduced-motion:reduce){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) *:not(.reading-progress),body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) *:before,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) *:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}@keyframes reading-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}