/* Published article body stays data-driven; only its presentation is shared. */
.kl-page.kc-article .kl-banner{min-height:0;padding:48px 0 52px;margin-bottom:44px}
.kl-page.kc-article .kl-banner h1{max-width:880px;font-size:40px;line-height:1.45;overflow-wrap:anywhere}
.kl-page.kc-article .kl-banner>p{max-width:680px;font-size:16px;line-height:28px;margin-top:20px}
.kc-article .article-layout{position:relative;max-width:var(--kl-reading-max);margin:0 auto 88px;align-items:start}
.kc-article .article-sidebar{position:absolute;left:-232px;top:0;width:200px;max-height:calc(100dvh - 48px);overflow:auto;padding-right:12px;scrollbar-width:thin}
.kc-article .article-toc{display:grid;gap:14px;padding-bottom:28px;border-bottom:1px solid #e6e8ed}
.kc-article .article-toc p{margin:0;color:#333;font-size:15px;font-weight:500}
.kc-article .article-sidebar a{font-size:14px;line-height:24px;color:#666;overflow-wrap:anywhere}
.kc-article .article-sidebar a:hover,.kc-article .article-sidebar a:focus-visible{color:#146fe8}
.kc-article .article-toc a:first-of-type{color:#146fe8}
.kc-article .article-toc-h3{padding-left:12px}
.kc-article .article-toc-h4{padding-left:24px}
.kc-article .article-related{display:grid;gap:12px;margin-top:32px}
.kl-page.kc-article main .article-related h2{font-size:16px;line-height:26px;margin:0 0 4px}
.kc-article .article-copy{min-width:0;font-family:'Kerlala Sans','PingFang SC','Microsoft YaHei',sans-serif;font-size:16px;line-height:1.95;color:#444;overflow-wrap:anywhere}
.kc-article .article-byline{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 24px;border-bottom:1px solid #e6e8ed;margin-bottom:32px}
.kc-article .article-author{display:flex;gap:12px;align-items:center;min-width:0}
.kc-article .article-author img{flex-shrink:0}
.kc-article .article-author strong{display:block;color:#333;font-size:14px;font-weight:500}
.kc-article .article-byline .article-author a,.kc-article .article-byline time{font-size:12px;color:#888;line-height:22px}.kc-article .article-byline .article-author a:hover,.kc-article .article-byline .article-author a:focus-visible{color:#146fe8}
.kc-article .article-byline time{white-space:nowrap}
.kc-article #article-body>p{margin:0 0 20px}
.kc-article #article-body img{max-width:100%;height:auto;vertical-align:middle;border-radius:4px}
.kc-article #article-body>img{display:block;margin:24px auto}
.kl-page.kc-article main .article-copy h2{font-size:24px;line-height:36px;margin:44px 0 18px;scroll-margin-top:24px}
.kl-page.kc-article main .article-copy h3{font-size:20px;line-height:32px;margin:32px 0 16px;scroll-margin-top:24px}
.kc-article .article-copy h4{font-size:18px;line-height:28px;margin:24px 0 12px;scroll-margin-top:24px}
.kc-article .article-copy :is(ul,ol){padding-left:24px;margin:20px 0;list-style:revert}
.kc-article .article-copy li{margin:8px 0}
.kc-article .article-copy a{color:#146fe8;text-underline-offset:4px}
.kc-article .article-copy blockquote{padding:20px 24px;margin:24px 0;background:#f7faff;border-left:3px solid #146fe8}
.kc-article .article-copy code{white-space:pre-wrap;background:#f4f6fa;font-size:.9em;border-radius:4px}
.kc-article .article-source{border-top:1px solid #e6e8ed;margin-top:40px}
.kc-article .related-links{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}
@media(max-width:1279px){.kc-article .article-sidebar{position:static;width:100%;max-height:none;overflow:visible;padding:0;margin-bottom:32px}.kc-article .article-toc{display:flex;flex-wrap:wrap;gap:8px 20px;padding:0 0 20px}.kc-article .article-toc p{flex-basis:100%}.kc-article .article-toc :is(.article-toc-h3,.article-toc-h4){padding-left:0}.kc-article .article-related{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.kc-article .article-related h2{grid-column:1/-1}.kl-page.kc-article .kl-banner h1{font-size:36px}}
@media(max-width:767px){.kc-article .article-layout{display:block;margin-bottom:64px}.kc-article .article-sidebar{position:static;max-height:none;overflow:visible;padding:0;margin-bottom:32px}.kc-article .article-toc{display:flex;flex-wrap:wrap;gap:8px 20px;padding:0 0 20px}.kc-article .article-toc p{flex-basis:100%}.kc-article .article-toc :is(.article-toc-h3,.article-toc-h4){padding-left:0}.kc-article .article-related{grid-template-columns:1fr;gap:8px}.kl-page.kc-article .kl-banner{padding:32px 0 36px;margin-bottom:28px}.kl-page.kc-article .kl-banner h1{font-size:28px;line-height:1.5}.kl-page.kc-article .kl-banner>p{font-size:15px;line-height:26px}.kc-article .article-byline{align-items:flex-start;margin-bottom:24px}.kl-page.kc-article main .article-copy h2{font-size:22px;line-height:34px}.kc-article .article-copy{font-size:16px;line-height:1.9}}

/* The byline avatar crops the left end of the full wordmark lockup: the K mark ends at 21.6px and
   the "客" glyph starts at 26.1px, so a 28px clip pulled the glyph's left edge in as a dashed
   sliver. Keep the 28px height but stop the box at 24px, inside the gap. */
.kc-article .article-brand-icon{display:block;width:24px;height:28px;overflow:hidden;flex:0 0 24px}.kc-article .article-brand-icon img{display:block;width:100px;height:28px;max-width:none}
