/* Author profile styles are limited to public article pages. */
.article-author-profile{max-width:760px;min-width:0;margin:0 auto;color:var(--ink);font-size:17px;line-height:1.95;overflow-wrap:break-word}
.article-author-profile .rg-author a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.article-page .article-author a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.article-author-profile .rg-author{margin:36px 0 0;padding:18px;background:#f3f5f8;border-radius:8px}
.article-author-profile .rg-author-card{display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:20px;row-gap:8px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:0 2px 8px rgba(21,33,60,.04)}
.article-author-profile .rg-author-avatar{display:block;grid-column:1;grid-row:1 / 5;width:88px;height:88px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:4px}
.article-author-profile .rg-author-label{grid-column:2;justify-self:start;padding:3px 8px;border-radius:3px;background:#eef1f5;color:var(--muted);font-size:13px;line-height:1.5}
.article-author-profile .rg-author-name{grid-column:2;margin:0;font-size:19px;font-weight:700;line-height:1.6}
.article-author-profile .rg-author-bio{grid-column:2;margin:0;font-size:16px;line-height:1.9}
.article-author-profile .rg-author-link{grid-column:2;margin:0;font-size:16px;line-height:1.6}
.article-author-profile .rg-author-link a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
.article-author-profile .rg-author-bio p{font-size:inherit;line-height:inherit;margin:0 0 12px}
.article-author-profile .rg-author-bio p:last-child{margin-bottom:0}
@media(max-width:767px){
.article-author-profile{font-size:16px}
.article-author-profile .rg-author{padding:12px;margin-top:28px}
.article-author-profile .rg-author-card{grid-template-columns:64px minmax(0,1fr);gap:8px 12px;padding:16px}
.article-author-profile .rg-author-avatar{grid-row:1 / 3;width:64px;height:64px}
.article-author-profile .rg-author-name{font-size:18px}
.article-author-profile .rg-author-bio,.article-author-profile .rg-author-link{grid-column:1 / -1}
.article-author-profile .rg-author-bio{margin-top:4px}
}

/* Article reading navigation. */
.article-toc{margin:0 0 28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.article-toc summary{padding:15px 20px;min-height:54px;cursor:pointer;font-size:16px;font-weight:700;line-height:1.5}
.article-toc summary::marker{color:var(--red)}
.article-toc-count{margin-left:8px;color:var(--muted);font-size:13px;font-weight:400}
.article-toc ol{margin:0;padding:0 20px 16px 48px}
.article-toc li{padding-left:3px}
.article-toc li+li{border-top:1px solid var(--line)}
.article-toc li::marker{color:var(--red);font-size:13px;font-weight:700}
.article-toc a{display:block;min-height:44px;padding:9px 8px;font-size:15px;line-height:1.75;overflow-wrap:anywhere}
.article-toc a:hover{background:var(--pale);color:var(--red)}
.article-body h2[id]{scroll-margin-block-start:24px}
@media(max-width:767px){
 .article-toc{margin-bottom:22px}
 .article-toc summary{padding:14px 16px}
 .article-toc ol{padding:0 14px 14px 39px}
 .article-toc a{padding:10px 5px;font-size:14px}
}
/* Keep native heading jumps stable while article images lazy-load. */
html:has(.article-toc):focus-within{scroll-behavior:auto}
