/* 仅文章详情页加载，保留主站原CSS与已恢复的布局。 */
.article-detail .hero {
  padding: 64px var(--gutter) 48px;
}
.article-detail .hero-p h1 {
  max-width: 100%;
  margin: 0;
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 620;
  letter-spacing: -.055em;
  line-height: 1.02;
  text-align: left;
  overflow-wrap: anywhere;
}
.article-detail .hero-p h1 span { display: inline; }
.article-detail .hero-meta { margin: 0 0 28px; color: #4f555c; font-size: 17px; line-height: 1.8; }
.article-detail .hero-lede { max-width: 760px; margin: 32px 0 0; color: #4f555c; font-size: 17px; line-height: 1.8; }
.article-detail .article-body { width: calc(100% - 2 * var(--gutter)); max-width: 900px; margin: 64px auto 0; color: var(--ink); font-size: 20px; line-height: 1.8; overflow-wrap: anywhere; }
/* 正文标题按阅读字号保持比例，宽屏不再额外放大。 */
.article-detail .article-body h2 { margin: 48px 0 24px; font-size: 1.6em; font-weight: 600; letter-spacing: -.035em; line-height: 1.3; scroll-margin-top: 100px; }
.article-detail .article-body h3 { margin: 36px 0 16px; font-size: 1.3em; font-weight: 580; letter-spacing: -.03em; line-height: 1.4; scroll-margin-top: 100px; }
.article-detail .article-body h4, .article-detail .article-body h5, .article-detail .article-body h6 { margin: 28px 0 16px; font-size: 1em; line-height: 1.4; }
.article-detail .article-body h4 { font-size: 1.1em; }
.article-detail .article-body p, .article-detail .article-body ul, .article-detail .article-body ol { margin: 0 0 24px; }
.article-detail .article-body li + li { margin-top: 8px; }
.article-detail .article-body a { color: var(--green); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.article-detail .article-body img { max-width: 100%; width: auto; height: auto; margin: 32px auto; object-fit: contain; }
.article-detail .article-body blockquote { margin: 28px 0; padding: 0 0 0 24px; border-left: 1px solid var(--line); color: #4f555c; }
.article-detail .article-body pre { max-width: 100%; margin: 28px 0; padding: 24px; overflow-x: auto; border: 1px solid var(--line); background: var(--gray); font-size: 14px; line-height: 1.6; }
.article-detail .article-body code { font-size: 14px; }
.article-detail .article-body .table-scroll { max-width: 100%; overflow-x: auto; margin: 28px 0; }
.article-detail .article-body table { width: 100%; border-collapse: collapse; font-size: 1em; }
.article-detail .article-body th, .article-detail .article-body td { padding: 12px 16px; border: 1px solid var(--line); text-align: left; }
.article-detail .article-body th { background: var(--gray); }
.article-detail .article-body hr { margin: 48px 0; border: 0; border-top: 1px solid var(--line); }
.article-detail .page-back { width: calc(100% - 2 * var(--gutter)); max-width: 900px; margin: 50px auto var(--space); }
.article-detail a:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; }
/* 标题区子内容与正文共用阅读列，灰底与边线仍保持全宽。 */
.article-detail .hero-meta,
.article-detail .hero-p h1,
.article-detail .hero-lede {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
}
@media (max-width: 800px) {
  .article-detail .hero { padding: 48px var(--gutter) 40px; }
  .article-detail .article-body { margin-top: 40px; font-size: 18px; }
  .article-detail .article-body h2 { margin-top: 40px; }
  .article-detail .hero-p h1 span { display: block; }
  .article-detail .article-body, .article-detail .page-back { max-width: calc(100% - 2 * var(--gutter)); }
}
