.post-header-wrap{max-width:var(--max)}.post-header{padding:46px 0 48px;border-bottom:4px solid var(--ink);background:linear-gradient(90deg,transparent 0 70%,var(--accent-soft) 70% 100%)}.post-dateline{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.post-dl-date{color:var(--ink-faint)}.post-dl-sep{color:var(--line-strong)}.post-dl-cat{color:var(--accent)}h1.post-title{font-family:var(--display);font-size:clamp(44px,7.8vw,100px);line-height:.92;letter-spacing:0;font-weight:700;color:var(--ink);max-width:1080px;text-transform:uppercase;font-variation-settings:normal}.post-dek{margin-top:22px;font-family:var(--sans);font-size:clamp(16px,1.5vw,20px);line-height:1.5;font-style:normal;color:var(--ink-soft);max-width:720px;font-variation-settings:normal}.post-meta{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px 0;align-items:center;font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase}.post-meta-sep{margin:0 10px;color:var(--line-strong)}.post-tags{display:flex;flex-wrap:wrap;gap:6px}.post-tag{font-family:var(--mono);font-size:10px;color:var(--accent);letter-spacing:.04em;padding:3px 8px;border:1px solid var(--line-strong);border-radius:0;text-decoration:none;background:var(--accent-soft)}.post-tag:hover{background:var(--accent);color:var(--selection-fg)}.post-body{padding:56px 0 96px;display:grid;grid-template-columns:240px minmax(0,760px);gap:64px;justify-content:center}.toc{position:sticky;top:100px;align-self:start;font-size:13px}.toc-label{font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--ink)}.toc-list{list-style:none;padding:0;margin:0}.toc-list li{padding:5px 0}.toc-list li.h3{padding-left:14px}.toc-list a{font-family:var(--sans);font-size:13px;color:var(--ink-soft);text-decoration:none;line-height:1.4;border-left:2px solid transparent;padding-left:12px;margin-left:-14px;display:block;transition:all .15s ease}.toc-list a:hover{color:var(--ink);border-left-color:var(--line-strong)}.toc-list a.active{color:var(--accent);border-left-color:var(--accent)}.toc-list .h3 a{font-size:12px;color:var(--ink-faint)}.toc-meta{margin-top:32px;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;line-height:1.7}.prose{max-width:720px}.prose h2{font-family:var(--display);font-size:clamp(28px,3vw,42px);font-weight:700;letter-spacing:0;line-height:1;text-transform:uppercase;font-variation-settings:normal;margin:56px 0 18px;padding-top:14px;border-top:2px solid var(--ink);scroll-margin-top:100px}.prose h2:first-child{margin-top:0}.prose h3{font-family:var(--sans);font-size:18px;font-weight:600;margin:36px 0 12px;color:var(--ink);scroll-margin-top:100px}.prose p{font-size:17px;line-height:1.72;color:var(--ink-soft);margin-bottom:20px}.prose p strong{color:var(--ink);font-weight:600}.prose code{font-family:var(--mono);font-size:14px;background:var(--accent-soft);color:var(--accent);padding:1px 6px;border-radius:0}.prose ul,.prose ol{margin:0 0 20px;padding:0 0 0 24px}.prose li{font-size:17px;line-height:1.7;color:var(--ink-soft);padding:6px 0}.prose blockquote{margin:28px 0;padding:4px 0 4px 24px;border-left:4px solid var(--accent);font-family:var(--display);font-style:normal;font-size:19px;line-height:1.55;color:var(--ink);font-variation-settings:normal}.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-soft)}.prose a:hover{border-bottom-color:var(--accent)}.prose hr{border:none;height:1px;background:var(--line-strong);margin:48px 0}.prose .prereqs{background:var(--aside-bg);border-left:4px solid var(--accent);padding:16px 20px;margin:28px 0 0;border-radius:0}.prose .prereqs p{font-size:15px;line-height:1.65;margin-bottom:0}.prose .prereqs em.label{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:8px}.prose .concretely{font-style:italic;color:var(--ink);font-family:var(--display);font-variation-settings:normal}.prose table{width:100%;border-collapse:collapse;margin:28px 0;font-family:var(--mono);font-size:13px;color:var(--ink-soft)}.prose thead th{text-align:left;font-weight:500;color:var(--ink);padding:10px 12px;border-bottom:1px solid var(--line-strong);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.prose tbody td{padding:10px 12px;border-bottom:1px solid var(--line);line-height:1.5;vertical-align:top}.prose tbody tr:hover{background:var(--aside-bg)}.prose tbody td:first-child{color:var(--ink)}.prose pre{margin:24px 0;padding:16px 20px;border-radius:4px;font-size:13px;line-height:1.6;overflow-x:auto}.prose pre code{background:transparent;color:inherit;padding:0;border-radius:0;font-size:13px}.prose img{display:block;max-width:100%;height:auto;margin:28px 0;border:1px solid var(--line-strong)}.post-footer{margin-top:64px;padding-top:32px;border-top:1px solid var(--line-strong)}.post-footer-label{font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.post-footer p{font-size:13px;color:var(--ink-soft);margin-bottom:8px;font-family:var(--mono);word-break:break-word}@media(max-width:1000px){.post-body{grid-template-columns:1fr;gap:48px}.toc{position:static}}
