:root{--bg:#fafbf8;--ink:#102b32;--muted:#52646a;--line:#d6dedb;--lime:#d5f66b}
.prose{max-width:760px}
.prose h1{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.2;margin:.2em 0 .4em}
.prose h2{font-size:clamp(1.3rem,2.4vw,1.6rem);line-height:1.3;margin:2.2em 0 .5em}
.prose h3{font-size:1.1rem;margin:1.6em 0 .4em}
.prose p,.prose li{font-size:1.02rem}
.prose p{margin:.9em 0}
.prose ul,.prose ol{margin:.9em 0 .9em 1.2em;padding:0}
.prose li{margin:.4em 0}
.prose a{text-underline-offset:2px}
.prose code{background:#eef2ec;padding:.12em .3em;border-radius:4px;font-size:.92em}
.prose pre{background:#102b32;color:#f4f7f2;padding:16px 18px;border-radius:10px;overflow:auto;font-size:.9rem;line-height:1.5}
.prose pre code{background:none;color:inherit;padding:0;font-size:inherit}
.prose blockquote{margin:1.2em 0;padding:.2em 0 .2em 1em;border-left:3px solid var(--lime);color:var(--muted)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.prose .table-wrap{overflow-x:auto;margin:1.4em 0}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem}
.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.prose th{background:#eef2ec;font-weight:600}
.prose details{border-bottom:1px solid var(--line);padding:10px 0}
.prose details summary{cursor:pointer;font-weight:600}
.prose details p{margin:.5em 0 0;color:var(--muted)}
.post-figure{margin:0 0 2em;padding:0;max-width:760px}
.post-figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px}
.post-figure figcaption{margin-top:.6em;color:var(--muted);font-size:.9rem}
.post-meta{margin:0 0 2em;color:var(--muted);font-size:.92rem}
.post-list{list-style:none;padding:0;margin:0;max-width:820px}
.post-list li{border-bottom:1px solid var(--line);padding:18px 0}
.post-list h2{margin:0 0 .3em;font-size:1.25rem}
.post-list h2 a{text-decoration:none}
.post-list p{margin:0 0 .4em;color:var(--muted)}
.post-list time{font-size:.88rem;color:var(--muted)}
