/* Blog pages use the same colours, fonts, and reading styles as the main site. */
.blog-wrap { width: min(100% - 4rem, 820px); margin: 46px auto 80px; }
.blog-heading { padding: 34px 0 30px; border-bottom: 1px solid var(--line); margin-bottom: 35px; }
.blog-heading h1 { font-size: clamp(2.2rem, 4.8vw, 3.3rem); line-height: 1.17; letter-spacing: -.035em; margin: 17px 0; }
.blog-heading .item-meta { flex-wrap: wrap; margin-top: 21px; }
.blog-description { color: var(--muted); max-width: 650px; }
.article-content { line-height: 1.85; }
.article-content > :first-child { margin-top: 0; }
.article-content img { display: block; margin: 28px auto; max-width: 100%; height: auto; }
.article-content pre { font-size: 14px; }
.article-content .katex-display { margin-block: .6em; }
.article-end { border-top: 1px solid var(--line); margin-top: 45px; padding-top: 24px; }
.post-list { list-style: none; padding: 0; margin: 0; }
.post-list li { border-bottom: 1px solid var(--line); padding: 18px 0; }
.post-list li:first-child { padding-top: 0; }
.post-list h2 { margin: 8px 0; font-size: 22px; line-height: 1.35; }
.post-list h2 a { text-decoration: none; }
.post-list h2 a:hover { text-decoration: underline; }
.post-list p { color: var(--muted); }
.post-list .post-authors { font-size: 13px; margin-top: 10px; }
@media (max-width: 600px) {
  .blog-wrap { width: calc(100% - 2.5rem); margin-top: 30px; }
  .blog-heading { padding-top: 28px; }
}
@media print {
  .blog-wrap { width: 100%; margin: 0; }
  .blog-heading { padding-top: 0; }
  .article-end { display: none; }
}
