/* 站点阅读层：覆盖同步文章自己的装饰，不改变正文、图表与内容结构。 */
body.article-page { padding: 24px 28px 64px; font-size: 16px; line-height: 1.85; }
.article-page .doc-wrap { max-width: 1100px; }
.article-page .guide-breadcrumb { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:6px 0 22px;color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.5; }
.article-page .guide-breadcrumb a { color:inherit;text-decoration:none;white-space:nowrap; }
.article-page .guide-breadcrumb a:hover { color:var(--text-primary);text-decoration:underline;text-underline-offset:3px; }
.article-page .guide-breadcrumb [aria-current="page"] { flex:1 1 180px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.article-page :is(article.doc, .articles-page) { background: #fff; border: 1px solid var(--border-color); box-shadow: var(--shadow-sm); border-radius: 12px; padding: clamp(24px, 4vw, 48px); }
.article-page :is(article.doc, .articles-page)::before { display: none; }
.article-page :is(.doc-kicker, .articles-kicker-top) { color: var(--accent-primary); font-size: 12px; letter-spacing: .05em; }
.article-page :is(article.doc, .articles-page) h1 { font-size: clamp(25px, 3vw, 36px); font-weight: 650; line-height: 1.45; letter-spacing: -.025em; color: var(--text-primary); }
.article-page article.doc h2 { font-size: 23px; font-weight: 650; line-height: 1.5; margin-top: 40px; padding-bottom: 12px; border-bottom: 1px solid var(--border-color); }
.article-page article.doc h3 { font-size: 18px; font-weight: 650; line-height: 1.6; }
.article-page article.doc p { line-height: 1.85; }
.article-page article.doc a { color: var(--accent-primary); text-underline-offset: 4px; }
.article-page article.doc blockquote { background: #f4f7fc; border-left-color: #8aaed8; box-shadow: none; border-radius: 0 7px 7px 0; }
.article-page article.doc table { font-size: 13px; font-variant-numeric: tabular-nums; }
.article-page article.doc th { background: #f3f6fa; font-weight: 600; }
.article-page .articles-page { max-width: 900px; margin: 0 auto; }
.article-page .articles-lead { font-size: 14px; color: var(--text-secondary); margin-bottom: 32px; }
.article-page .articles-section { margin-bottom: 32px; }
.article-page .articles-section h2 { font-size: 18px; font-weight: 650; border-color: var(--border-color); }
.article-page .articles-list { gap: 0; }
.article-page .articles-list li { padding: 16px 0; border-bottom: 1px solid var(--border-light); grid-template-columns: 90px minmax(0, 1fr); gap: 16px; }
.article-page .articles-list li:last-child { border-bottom: 0; }
.article-page .articles-list time { font-size: 12px; color: var(--text-tertiary); }
.article-page .articles-item-main a { font-size: 15px; font-weight: 550; line-height: 1.65; }
.article-page .articles-kicker { color: var(--text-tertiary); font-size: 11px; }
@media (max-width: 600px) {
  body.article-page { padding: 18px 14px 40px; font-size: 15px; }
  .article-page :is(article.doc, .articles-page) { padding: 24px 20px; }
  .article-page .articles-list li { grid-template-columns: 1fr; gap: 4px; }
  .article-page article.doc h2 { font-size: 21px; margin-top: 32px; }
}

.article-page .doc-wrap:has(> .articles-page) { max-width: 900px; }
/* 阅读目录沿用平台页的透明侧栏和细竖线，完整保留嵌套章节与链接。 */
body.article-page .doc-wrap .doc-toc { margin:0;padding:0 0 0 10px;border:0;border-left:1px solid var(--border-color);border-radius:0;background:transparent;box-shadow:none;font-size:13px;line-height:1.6; }
body.article-page .doc-wrap .doc-toc .doc-toc-title { margin:0;padding:0 12px 12px;color:var(--text-secondary);font-size:13px;font-weight:400;letter-spacing:0;line-height:1.6; }
body.article-page .doc-wrap .doc-toc :is(ol,ul) { margin:0;padding:0;list-style:none;border:0; }
body.article-page .doc-wrap .doc-toc li { margin:0;padding:0; }
body.article-page .doc-wrap .doc-toc a { display:block;padding:8px 12px;border:0;border-radius:7px;color:var(--text-primary);font-size:13px;font-weight:400;line-height:1.6;text-decoration:none;overflow-wrap:anywhere;transition:background .16s,color .16s; }
body.article-page .doc-wrap .doc-toc :is(ol,ul) :is(ol,ul) { margin:0 0 5px;padding-left:12px;list-style:none;border:0; }
body.article-page .doc-wrap .doc-toc :is(ol,ul) :is(ol,ul) a { padding:6px 12px;color:var(--text-secondary);font-size:12px;font-weight:400; }
body.article-page .doc-wrap .doc-toc a:hover,body.article-page .doc-wrap .doc-toc a:focus-visible { background:var(--bg-tertiary);color:var(--text-primary); }
body.article-page .doc-wrap .doc-toc a[aria-current="location"] { background:var(--bg-tertiary);color:var(--text-primary);font-weight:500; }
body.article-page .doc-wrap .doc-toc-aside--desktop { top:104px;max-height:calc(100vh - 128px);scrollbar-color:var(--border-strong) transparent; }
body.article-page .article-toc-disclosure { margin:20px 0 28px;padding:0;border:0;border-block:1px solid var(--border-light);background:transparent; }
body.article-page .article-toc-disclosure > summary { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 0;list-style:none;color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.6;cursor:pointer; }
body.article-page .article-toc-disclosure > summary::-webkit-details-marker { display:none; }
body.article-page .article-toc-disclosure > summary::after { content:"";width:6px;height:6px;flex-shrink:0;margin:0 4px 3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .16s; }
body.article-page .article-toc-disclosure[open] > summary::after { transform:rotate(225deg);margin-bottom:0; }
body.article-page .article-toc-disclosure .doc-toc--inline { padding:0 0 10px;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none; }
body.article-page .article-toc-disclosure .doc-toc-title { display:none; }
@media(min-width:1024px){body.article-page .article-toc-disclosure { display:none; }}
@media(pointer:coarse){body.article-page .doc-wrap .doc-toc a { min-height:44px; }}

/* 全站 scroll-padding-top 已预留96px；章节再补16px，避免重复留白。 */
body.article-page article.doc :is(h2[id],h3[id]) { scroll-margin-top:16px; }
