/* ============================================================
   Markdown 文章正文排版（自包含 HTML 文章不经过此文件）
   ============================================================ */

.md-article { padding-top: 9.5rem; padding-bottom: 5rem; max-width: 860px; }

.md-article-head { border-bottom: 1px solid var(--hairline); padding-bottom: 2rem; margin-bottom: 2.5rem; }
.md-article-head .post-meta { margin-bottom: 1.25rem; }
.md-article-head h1 {
  font-family: var(--serif); font-weight: 900;
  font-size: clamp(30px, 4.6vw, 52px);
  line-height: 1.2; letter-spacing: -0.01em;
}
.md-article-head .md-lead {
  margin-top: 1.25rem;
  font-family: var(--serif); font-size: 18px; line-height: 1.8;
  color: var(--muted);
}

.md-body { font-size: 16px; line-height: 2; color: var(--paper); }
.md-body > * + * { margin-top: 1.5em; }
.md-body h2 {
  font-family: var(--serif); font-weight: 700;
  font-size: 26px; line-height: 1.4;
  margin-top: 2.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid var(--hairline);
}
.md-body h3 { font-family: var(--serif); font-weight: 600; font-size: 20px; margin-top: 2em; }
.md-body a { color: var(--cinnabar); text-decoration: underline; text-underline-offset: 3px; }
.md-body a:hover { color: var(--cinnabar2); }
.md-body strong { color: var(--paper); font-weight: 600; }
.md-body blockquote {
  border-left: 2px solid var(--cinnabar);
  padding: 0.5em 0 0.5em 1.25em;
  color: var(--muted);
  font-family: var(--serif); font-size: 17px;
}
.md-body code {
  font-family: var(--mono); font-size: 0.85em;
  background: rgba(233, 228, 216, 0.08);
  padding: 0.15em 0.4em; border-radius: 3px;
}
.md-body pre {
  background: var(--ink2);
  border: 1px solid var(--hairline);
  padding: 1.25rem; overflow-x: auto;
  line-height: 1.7;
}
.md-body pre code { background: none; padding: 0; font-size: 13px; }
.md-body ul, .md-body ol { padding-left: 1.5em; }
.md-body li + li { margin-top: 0.4em; }
.md-body table { width: 100%; border-collapse: collapse; font-size: 14px; }
.md-body th, .md-body td { border: 1px solid var(--hairline); padding: 0.6em 0.9em; text-align: left; }
.md-body th { background: var(--ink2); font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; }
.md-body img { max-width: 100%; border: 1px solid var(--hairline); }
.md-body hr { border: none; border-top: 1px solid var(--hairline); margin: 3em 0; }
