.post-header-wrap{max-width:var(--max)}.post-header{padding:42px 0 38px;border-bottom:1px solid var(--line-strong);background:transparent}.post-dateline{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:lowercase}.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(--serif);font-size:clamp(34px,5vw,56px);line-height:1.06;letter-spacing:0;font-weight:620;color:var(--ink);max-width:1080px;text-transform:none;font-variation-settings:normal}.post-dek{margin-top:22px;font-family:var(--serif);font-size:clamp(16px,1.4vw,19px);line-height:1.5;font-style:italic;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:.03em;text-transform:lowercase}.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:transparent}.post-tag:hover{background:transparent;color:var(--accent)}.post-body{padding:48px 0 88px;display:flex;justify-content:center}.prose{max-width:720px}.prose h2{font-family:var(--serif);font-size:clamp(26px,2.6vw,34px);font-weight:620;letter-spacing:0;line-height:1;text-transform:none;font-variation-settings:normal;margin:56px 0 18px;padding-top:14px;border-top:1px solid var(--line-strong);scroll-margin-top:100px}.prose h2:first-child{margin-top:0}.prose h3{font-family:var(--serif);font-size:18px;font-weight:620;margin:36px 0 12px;color:var(--ink);scroll-margin-top:100px}.prose p{font-size:17px;line-height:1.76;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:lowercase;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:lowercase}.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 a{color:var(--accent);font-family:var(--mono);font-size:12px;text-decoration:none;text-transform:lowercase}@media(max-width:1000px){.post-body{display:block}}
