/* Markdown post body: the same reading measure as the guide article (32em paragraphs). */
.post-body { font-size: clamp(17px, 1.3vw, 19px); line-height: 1.65; color: var(--ink2); }
.post-body > * { max-width: 32em; }
.post-body h2 { font: 600 clamp(21px, 1.8vw, 26px)/1.3 var(--sans); color: var(--ink); margin: 44px 0 12px; }
.post-body h3 { font: 600 19px/1.35 var(--sans); color: var(--ink); margin: 28px 0 8px; }
.post-body p { margin: 0 0 16px; }
.post-body ul, .post-body ol { margin: 0 0 18px; padding-left: 1.3em; }
.post-body ul { list-style: square; }
.post-body ol { list-style: decimal; }
.post-body li { margin: 0 0 6px; padding-left: 4px; }
.post-body li::marker { color: var(--accent); }
.post-body strong { color: var(--ink); font-weight: 600; }
.post-body a { overflow-wrap: anywhere; }
.post-body code { font: 400 .9em var(--mono); color: var(--ink); }
.post-body blockquote { margin: 0 0 20px; padding: 14px 18px; background: var(--panel); border: var(--rule); border-radius: var(--r); }
.post-body blockquote p:last-child { margin: 0; }
/* Tables reflow inside their own scroll box; the page itself never scrolls sideways. */
.post-body > .table-wrap { max-width: 100%; overflow-x: auto; margin: 0 0 22px; border: var(--rule); border-radius: var(--r); }
.post-body table { border-collapse: collapse; width: 100%; font-size: 14px; line-height: 1.4; }
.post-body th, .post-body td { text-align: left; vertical-align: top; padding: 9px 9px; hyphens: auto; border-bottom: var(--rule); }
.post-body th { color: var(--ink); font-weight: 600; background: var(--panel); }
.post-body tr:last-child td { border-bottom: 0; }
.post-body hr { border: 0; border-top: var(--rule); margin: 36px 0; }
.post-body .sources { font-size: 14px; color: var(--muted); }
