:root{--ink:#1a1a1a;--muted:#5c5c5c;--line:#e2e2e2;--bg:#fff;--accent:#0b5fff}*{box-sizing:border-box}html{font-size:18px}body{margin:0;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}.wrap{max-width:44rem;margin:0 auto;padding:0 1.25rem}header.site{border-bottom:1px solid var(--line);padding:1.1rem 0}header.site .wrap{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.brand{font-weight:700;text-decoration:none;color:var(--ink);letter-spacing:-.01em}nav a{margin-left:1.1rem;color:var(--muted);text-decoration:none;font-size:.9rem}nav a:hover{color:var(--accent)}main{padding:2.2rem 0 4rem}h1{font-size:2rem;line-height:1.2;letter-spacing:-.02em;margin:.2rem 0 1rem}h2{font-size:1.35rem;margin-top:2.2rem;line-height:1.3}h3{font-size:1.1rem;margin-top:1.6rem}p{margin:0 0 1.1rem}a{color:var(--accent)}.meta{color:var(--muted);font-size:.85rem;margin-bottom:2rem}.meta a{color:var(--muted)}.lede{font-size:1.1rem;color:#333}ul,ol{margin:0 0 1.2rem;padding-left:1.3rem}li{margin:.35rem 0}code{background:#f4f4f4;padding:.12em .35em;border-radius:3px;font-size:.9em}pre{background:#1c1c1c;color:#eee;padding:1rem;overflow-x:auto;border-radius:6px;font-size:.85rem;line-height:1.5}pre code{background:0 0;padding:0;color:inherit}blockquote{border-left:3px solid var(--line);margin:1.4rem 0;padding:.2rem 0 .2rem 1rem;color:var(--muted)}.img-placeholder{border:1px dashed #bbb;background:#fafafa;padding:2.2rem 1rem;text-align:center;color:var(--muted);font-size:.85rem;margin:1.6rem 0;border-radius:6px}.img-placeholder strong{display:block;color:#333;margin-bottom:.3rem;font-size:.9rem}footer.site{border-top:1px solid var(--line);padding:1.6rem 0;color:var(--muted);font-size:.82rem}.card{border-bottom:1px solid var(--line);padding:1.2rem 0}.card h2{margin:.1rem 0 .3rem;font-size:1.15rem}.card p{margin:0;color:var(--muted);font-size:.92rem}.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}@media(max-width:600px){html{font-size:17px}h1{font-size:1.7rem}}.toc{border-left:3px solid var(--line);padding:.2rem 0 .2rem 1rem;margin:0 0 2rem;font-size:.9rem;color:var(--muted)}.toc strong{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;color:var(--ink)}.toc ul{margin:0;padding-left:1rem}.toc li{margin:.2rem 0}.toc a{color:var(--muted);text-decoration:none}.toc a:hover{color:var(--accent)}