:root{--paper:#faf8f1;--rule:#e3dfd0;--ink:#26343a;--ink-soft:#33454c;--muted:#5a6b70;--faint:#687471;--accent:#b4540f;--serif:"Computer Modern Serif", "CMU Serif", Georgia, "Times New Roman", serif;--mono:"Computer Modern Typewriter", "CMU Typewriter Text", ui-monospace, Menlo, monospace;--measure:728px}*{box-sizing:border-box}html,body{margin:0;padding:0}a{cursor:pointer;text-underline-offset:4px}::selection{background:#ece3cc}body{min-height:100vh;color:var(--ink);background-color:var(--paper);font-family:var(--serif)}.page{min-height:100vh;padding-bottom:96px}.site-header{max-width:var(--measure);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:24px;margin:0 auto;padding:40px 28px 18px;display:flex}.brand{font-family:var(--mono);color:var(--ink);letter-spacing:.2px;align-items:center;font-size:24px;text-decoration:none;display:inline-flex}.brand:hover{color:var(--accent);text-decoration:underline}.brand-dot{background:var(--accent);color:var(--paper)}.site-nav{font-family:var(--serif);gap:26px;font-size:21px;display:flex}.site-nav a{color:var(--accent);text-decoration:none}.site-nav a:hover,.site-nav a.active{text-decoration:underline}.site-main{max-width:var(--measure);margin:0 auto;padding:0 28px}.site-footer{max-width:var(--measure);border-top:1px solid var(--rule);font-family:var(--serif);color:var(--faint);margin:56px auto 0;padding:22px 28px 0;font-size:16px}.rule{background:var(--rule);border:0;height:1px;margin:34px 0 0}.intro{padding:46px 0 8px}.eyebrow{font-family:var(--mono);letter-spacing:1.5px;color:var(--faint);text-transform:uppercase;font-size:12px}.lede{color:var(--ink-soft);max-width:52ch;margin:16px 0 0;font-size:23px;line-height:1.55}.page-title{color:var(--ink);margin:0;font-size:34px}.post-list{margin:0;padding:0;list-style:none}.post-row{border-bottom:1px solid var(--rule);grid-template-columns:1fr 108px;gap:26px;padding:30px 0;display:grid}.post-meta{font-family:var(--serif);color:var(--faint);text-align:right;padding-top:8px;font-size:16px;line-height:1.7}.post-title{color:var(--ink);font-size:26px;line-height:1.25;text-decoration:none;display:inline-block}.post-title:hover{color:var(--accent);text-decoration:underline}.post-excerpt{color:var(--muted);max-width:56ch;margin:10px 0 0;font-size:20px;line-height:1.6}.post-more{font-family:var(--serif);color:var(--accent);margin-top:12px;font-size:16px;font-style:italic;text-decoration:none;display:inline-block}.post-more:hover{text-decoration:underline}@media (width<=560px){.post-row{grid-template-columns:1fr;gap:8px}.post-meta{text-align:left;order:-1;padding-top:0}}.article{padding:40px 0 0}.back{font-family:var(--serif);color:var(--accent);font-size:16px;text-decoration:none;display:inline-block}.back:hover{text-decoration:underline}.post-heading{color:var(--ink);text-align:center;max-width:24ch;margin:30px auto 0;font-size:34px;font-weight:700;line-height:1.2}.dateline{font-family:var(--serif);color:var(--faint);text-align:center;margin-top:16px;font-size:16px}.prose p{color:var(--ink-soft);margin:16px 0;font-size:20px;line-height:1.72}.prose h2{color:var(--ink);align-items:baseline;gap:10px;margin:34px 0 4px;scroll-margin-top:24px;font-size:22px;font-weight:700;line-height:1.3;display:flex}.h2-anchor{opacity:0;font-family:var(--serif);color:var(--accent);font-size:16px;font-weight:400;text-decoration:none;transition:opacity .12s}.prose h2:hover .h2-anchor{opacity:1}.h2-anchor:hover{text-decoration:underline}.prose h3{color:var(--ink);margin:26px 0 4px;font-size:19px;font-weight:700}.prose a{color:var(--accent);text-decoration:none}.prose a:hover{text-decoration:underline}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);margin:24px 0;padding:2px 0 2px 20px;font-size:20px;font-style:italic;line-height:1.65}.prose blockquote p{font-size:inherit;color:inherit;margin:0}.prose ul,.prose ol{color:var(--ink-soft);margin:16px 0;padding-left:24px;font-size:20px;line-height:1.7}.prose li{margin:6px 0}.prose .display{text-align:center;font-family:var(--serif);color:var(--ink);margin:26px 0;font-size:20px;font-style:italic}.prose code{font-family:var(--mono);background:#3a4d530f;border-radius:3px;padding:1px 5px;font-size:.92em}.prose pre{font-family:var(--mono);background:#3a4d530f;border-radius:6px;padding:16px 18px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0}
