/* Shared article/lesson shell — mirrors the current zh-CN blog header and footer. */
:root{--article-shell-width:960px;--article-copy-width:780px;--footer-gray:#aeb7c3}
.subnav{display:none!important}
.topbar{transition:background .28s ease,border-color .28s ease,box-shadow .28s ease!important}
.topbar.blog-nav-light{background:rgba(255,255,255,.76)!important;border-color:rgba(19,23,34,.09)!important;box-shadow:0 14px 38px rgba(24,34,52,.09),inset 0 1px rgba(255,255,255,.62)!important;backdrop-filter:blur(26px) saturate(125%)!important;-webkit-backdrop-filter:blur(26px) saturate(125%)!important}
.topbar.blog-nav-light .brand,.topbar.blog-nav-light .brand:hover{color:#161a22!important}
.topbar.blog-nav-light .mtop,.topbar.blog-nav-light .mli:hover .mtop,.topbar.blog-nav-light .mtop.on,.topbar.blog-nav-light .mtop:focus-visible{color:#343a46!important}
.topbar.blog-nav-light .mtop:hover,.topbar.blog-nav-light .mtop.on{color:#11151c!important}
.topbar.blog-nav-light .lang summary{color:#343a46!important;background:#f5f6f8!important;border-color:rgba(19,23,34,.14)!important}
.topbar.blog-nav-light .lang summary:hover,.topbar.blog-nav-light .lang[open] summary{color:#11151c!important;background:#fff!important;border-color:rgba(19,23,34,.24)!important}
.topbar.blog-nav-light .lmenu{background:rgba(255,255,255,.98)!important;border-color:rgba(19,23,34,.12)!important;box-shadow:0 18px 42px rgba(24,34,52,.16)!important}
.topbar.blog-nav-light .lmenu a{color:#434a57!important}
.topbar.blog-nav-light .lmenu a:hover,.topbar.blog-nav-light .lmenu a.cur{color:#11151c!important;background:#f0f2f5!important}
.topbar.blog-nav-light .right>.btn-brand{color:#fff!important;background:#f26532!important;border-color:#f47a45!important;box-shadow:0 8px 22px rgba(242,101,50,.22)!important}

html,body{background:#080b10!important}
.article-page{position:relative;width:100%!important;max-width:none!important;margin:118px 0 0!important;padding:62px max(20px,calc((100vw - var(--article-shell-width))/2)) 96px!important;color:#131722!important;background:#fff!important;border-radius:42px 42px 0 0!important;box-shadow:0 -1px 0 rgba(255,255,255,.88),0 -24px 70px rgba(0,0,0,.16);text-align:left!important}
.article-page>.article-back{display:block!important;width:min(100%,var(--article-shell-width))!important;margin:0 auto 30px!important;text-align:left!important}
.article-page .news-article{width:min(100%,var(--article-shell-width))!important;max-width:var(--article-shell-width)!important;margin:0 auto!important;color:#131722!important;text-align:left!important}
.article-page .news-article>header,.article-page .article-prose,.article-page .news-article>section{width:min(100%,var(--article-copy-width))!important;max-width:var(--article-copy-width)!important;margin-left:0!important;margin-right:auto!important;text-align:left!important}
.article-page .news-article>header{margin-top:0!important;margin-bottom:42px!important}
.article-page .article-cover{display:block;width:min(100%,var(--article-copy-width));height:auto;aspect-ratio:16/8.4;object-fit:cover;object-position:center;margin:0 0 46px;border:1px solid rgba(19,23,34,.1);border-radius:20px;background:#eef1f5;box-shadow:0 18px 45px rgba(24,34,52,.09)}
.article-page .news-article h1{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;text-align:left!important;overflow-wrap:anywhere}
.article-page .article-kicker{color:#2962ff!important}.article-page .news-article h1,.article-page .article-prose h2{color:#131722!important}
.article-page .article-intro,.article-page .article-source,.article-page .article-prose h2,.article-page .article-prose p,.article-page .news-article aside{text-align:left!important}
.article-page .article-intro,.article-page .article-prose p{color:#434c5e!important}.article-page .article-source{color:#787b86!important}.article-page .news-article aside{color:#2d3748!important;background:#f4f6f9!important}
.article-page .article-prose,.article-page .news-article>section{margin-top:42px!important;margin-bottom:0!important}

footer.blog-footer{padding:42px 0 26px!important;color:var(--footer-gray)!important;background:#0b0e13!important}
.blog-footer .footer-brand{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.09)}
.blog-footer .footer-brand .brand{flex:0 0 auto;margin:0!important;color:var(--footer-gray)!important}
.blog-footer .footer-brand p{max-width:620px;margin:0;color:var(--footer-gray)!important;font-size:13px;line-height:1.7;text-align:left}
.blog-footer .footer-nav-row{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;padding:25px 0 4px}
.blog-footer .footer-group{display:flex;align-items:center;gap:16px;min-width:0}
.blog-footer .footer-group h4{flex:0 0 auto;margin:0;color:var(--footer-gray)!important;font-size:11px}
.blog-footer .footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}
.blog-footer .footer-links a,.blog-footer .risk,.blog-footer .risk strong{color:var(--footer-gray)!important}
.blog-footer .footer-links a{display:inline-flex!important;align-items:center;min-height:30px;padding:5px 9px!important;border:1px solid transparent;border-radius:7px;font-size:12.5px;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease}
.blog-footer .footer-links a:hover,.blog-footer .footer-links a:focus-visible{background:#1b212b;border-color:#3a4452;outline:none}
.blog-footer .footer-links a.cur{background:#29313d!important;border-color:#4b5666!important;font-weight:700}
.blog-footer .risk{margin-top:24px!important}
@media(max-width:820px){.blog-footer .footer-brand{align-items:flex-start;flex-direction:column}.blog-footer .footer-nav-row{flex-direction:column}.blog-footer .footer-group{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:700px){.article-page{margin-top:92px!important;padding:42px 14px 72px!important;border-radius:28px 28px 0 0!important}.article-page .news-article h1{font-size:clamp(34px,11vw,50px)!important}.article-page .article-cover{aspect-ratio:16/10;border-radius:14px;margin-bottom:34px}}

/* ===== 29 语言页脚：语言列独占一行 + 网格排列 ===== */
.home-footer .footer-group-langs,.blog-footer .footer-group-langs{display:block!important;flex:1 1 auto;min-width:0}
.home-footer .footer-group-langs h4,.blog-footer .footer-group-langs h4{margin:0 0 10px!important}
.home-footer .footer-group-langs .footer-links,.blog-footer .footer-group-langs .footer-links{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px 14px!important}
.home-footer .footer-group-langs .footer-links a,.blog-footer .footer-group-langs .footer-links a{min-height:26px;padding:3px 7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.home-footer .footer-group-langs .footer-links,.blog-footer .footer-group-langs .footer-links{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:820px){.home-footer .footer-group-langs .footer-links,.blog-footer .footer-group-langs .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
