:root{--paper:#f7f6f3;--ink:#16161a;--ink-64:#16161aa3;--ink-40:#16161a66;--ink-12:#16161a1f;--ink-06:#16161a0e;--accent:#2b3ea8;--sans:"Archivo", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;font-weight:350;line-height:1.62;overflow-x:hidden}a{color:var(--accent);text-decoration:none}.prose a{text-underline-offset:3px;text-decoration:underline 1px}a:hover{opacity:.68}.skip{background:var(--ink);color:var(--paper);z-index:10;padding:12px 18px;position:absolute;left:-9999px}.skip:focus{top:16px;left:16px}.masthead{border-bottom:1px solid var(--ink-12);letter-spacing:.09em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;padding:26px clamp(20px,5vw,56px);font-size:13px;font-weight:500;display:flex}.masthead a{color:var(--ink-64)}.masthead a:hover{color:var(--accent);opacity:1}.masthead .stamp{color:var(--ink-40);letter-spacing:.04em;text-transform:none;font-weight:400}.masthead nav{gap:22px;display:flex}header.title{max-width:1180px;margin:0 auto;padding:clamp(44px,8vh,96px) clamp(20px,5vw,56px) 0}body.index header.title{text-align:center}body.index header.title h1{margin-inline:auto}.kicker{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-40);margin:0 0 14px;font-size:12px;font-weight:500}h1{letter-spacing:-.02em;max-width:18ch;margin:0;font-size:clamp(32px,4.6vw,52px);font-weight:300;line-height:1.06}.wrap{grid-template-columns:minmax(0,1fr);gap:clamp(30px,5vw,72px);max-width:1180px;margin:0 auto;padding:clamp(34px,5vh,60px) clamp(20px,5vw,56px) 0;display:grid}body.index .wrap{grid-template-columns:minmax(0,68ch);justify-content:center}.column{min-width:0}@media (width>=1000px){.wrap{grid-template-columns:216px minmax(0,68ch);align-items:start}.toc{max-height:calc(100vh - 68px);position:sticky;top:34px;overflow-y:auto}}@media (width<=999px){.toc{border-top:1px solid var(--ink-12);order:2;padding-top:26px}.column{order:1}}.toc{font-size:13.5px;line-height:1.45}.toc-head{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-40);margin:0 0 14px;font-size:11px;font-weight:500}.toc-head a{color:inherit}.toc-head a:hover{color:var(--accent);opacity:1}.toc ul{margin:0 0 18px;padding:0;list-style:none}.toc li{margin-bottom:7px}.toc a{color:var(--ink-64)}.toc a:hover{color:var(--accent);opacity:1}.toc li.here a{color:var(--accent);font-weight:500}.toc-part{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin:0 0 9px;font-size:12px;font-weight:500}.prose{max-width:68ch}.prose>p{margin:0 0 22px}body.index .prose>p:first-child{color:var(--ink-64);margin-bottom:32px;font-size:19px}body.index .prose>p:first-child em{font-style:normal}.prose ul{margin:0 0 22px;padding-left:22px}.prose li{margin-bottom:8px}strong{font-weight:600}hr{border:0;border-top:1px solid var(--ink-12);margin:42px 0}.prose h2{border-top:1px solid var(--ink-12);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-40);margin:46px 0 14px;padding-top:26px;font-size:11px;font-weight:500}.prose h3{letter-spacing:-.01em;margin:40px 0 12px;font-size:21px;font-weight:500;line-height:1.3}.prose h2+h3{margin-top:0}code{font-family:var(--mono);background:var(--ink-06);overflow-wrap:break-word;border-radius:3px;padding:.12em .36em;font-size:.855em}.scroll{-webkit-overflow-scrolling:touch;margin:0 0 26px;overflow-x:auto}.scroll pre{background:var(--ink-06);border-radius:4px;margin:0;padding:18px 20px;font-size:13.5px;line-height:1.55}.scroll pre code{font-size:inherit;background:0 0;padding:0}.flow{background:var(--ink-06);font-family:var(--mono);border-radius:4px;flex-wrap:wrap;row-gap:4px;margin:0 0 22px;padding:14px 18px;font-size:13.5px;line-height:1.55;list-style:none;display:flex}.prose .flow li{margin:0}.flow li+li:before{content:"→";content:"→" / "";color:var(--ink-40);padding:0 .6em}table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.5}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--ink-12);padding:9px 16px 9px 0}th{letter-spacing:.11em;text-transform:uppercase;color:var(--ink-40);border-bottom-color:var(--ink-40);white-space:nowrap;font-size:11px;font-weight:500}td:first-child{white-space:nowrap;padding-right:26px}td code{background:0 0;padding:0}@media (width<=600px){table,tbody,tr,td{display:block}thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}tr{border-bottom:1px solid var(--ink-12);padding:12px 0}tr:first-child{border-top:1px solid var(--ink-40)}td{border:0;padding:0}td:first-child{white-space:normal;padding:0 0 3px;font-weight:500}}.index-list{margin-top:8px}.index-list h2.part{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-40);border-top:0;border-bottom:1px solid var(--ink-40);margin:46px 0 4px;padding-top:0;padding-bottom:12px;font-size:13px;font-weight:500}.index-list .entry{border-bottom:1px solid var(--ink-12);color:var(--ink);padding:16px 0;text-decoration:none;display:block}.entry:hover{opacity:1}.entry:hover .entry-title{color:var(--accent)}.entry-title{letter-spacing:-.005em;font-size:18px;font-weight:500;display:block}.entry-blurb{color:var(--ink-64);margin-top:2px;font-size:15px;line-height:1.5;display:block}.pager{border-top:1px solid var(--ink-12);flex-wrap:wrap;justify-content:space-between;gap:20px;max-width:68ch;margin-top:56px;padding-top:26px;display:flex}.pager a{max-width:46%;color:var(--ink);font-size:16px;font-weight:500;display:block}.pager a:hover{color:var(--accent);opacity:1}.pager .next{text-align:right;margin-left:auto}.pager span{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-40);margin-bottom:3px;font-size:11px;font-weight:500;display:block}footer.end{border-top:1px solid var(--ink-12);max-width:1180px;color:var(--ink-64);flex-wrap:wrap;justify-content:space-between;gap:24px;margin:8vh auto 0;padding:36px clamp(20px,5vw,56px) 12vh;font-size:14px;display:flex}.scroll pre.astro-code{background:var(--ink-06)!important}.prose .astro-code span{background:0 0!important}.prose .katex-display{padding:4px 0;overflow:auto hidden}
