/* 保留现有门户配色和宽度，只补充阅读辅助模块。 */
.article-toc,
.article-sources,
.topic-guide {
    margin: 0 0 28px;
    padding: 24px;
    border: 1px solid var(--color-line);
    background: var(--color-white);
}
.article-toc { border-left: 3px solid var(--color-red); }
.article-toc ol { margin: 10px 0 0; padding-left: 24px; columns: 2; column-gap: 32px; }
.article-toc li { break-inside: avoid; margin-bottom: 7px; }
.article-toc a,
.context-link,
.article-sources a,
.guide-table a { color: var(--color-blue); text-decoration: underline; text-underline-offset: 4px; }
.article-toc a:focus-visible,
.topic-guide a:focus-visible { outline: 2px solid var(--color-red); outline-offset: 4px; }
.article-sources { margin-top: 28px; font-size: 15px; }
.article-sources h2 { margin-top: 0; }
.article-sources p:last-child { margin-bottom: 0; }
.article-body h2[id],
.topic-guide[id],
#topic-answer-heading,
#category-news-heading,
#faq { scroll-margin-top: 100px; }
.topic-guide-nav { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-bottom: 22px; }
.topic-guide-nav a { color: var(--color-blue); font-size: 15px; text-decoration: underline; text-underline-offset: 5px; }
.topic-guide h2 { margin-top: 0; line-height: 1.4; }
.topic-guide h3 { margin: 22px 0 12px; }
.article-table-scroll { max-width: 100%; overflow-x: auto; margin-bottom: 20px; }
.article-table-scroll table { border-collapse: collapse; width: 100%; font-size: 16px; }
.article-table-scroll th,
.article-table-scroll td { padding: 14px 16px; border: 1px solid var(--color-line); vertical-align: top; text-align: left; }
.article-table-scroll thead { background: var(--color-soft); }
.guide-table caption { text-align: left; font-size: 14px; color: var(--color-muted); padding-bottom: 12px; }
.guide-table th:first-child { width: 22%; }
.guide-table td:last-child { width: 18%; }
.guide-checklist { padding-left: 24px; margin-bottom: 24px; }
.guide-checklist li { margin-bottom: 8px; }
.page-main .pagination { flex-wrap: wrap; }
.page-search .card-title { font-size: 24px !important; line-height: 1.5; }
@media (max-width: 600px) {
    .article-toc, .article-sources, .topic-guide { padding: 18px; }
    .article-toc ol { columns: 1; }
    .guide-table { min-width: 520px; }
    .page-search .card-title { font-size: 20px !important; }
    /* 桌面仍沿用 40px，手机正文与辅助标题降低换行负担。 */
    .article-body h2, .topic-guide h2, .topic-overview h2,
    .topic-faq h2, .rich-text h2, .article-keypoints h2 { font-size: 28px !important; line-height: 1.45; }
}
