/* Small bilingual/content adaptations on top of the unmodified al-folio styles. */
html { scroll-padding-top: 6rem; }
body { overflow-wrap: break-word; }
html[lang="zh-CN"] body { font-family: Roboto, "Noto Sans SC", "Microsoft YaHei", sans-serif; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 2000; padding: .6rem 1rem; background: var(--global-bg-color); }
.skip-link:focus { top: 1rem; }
#navbar .container { gap: 1rem; }
#navbar .navbar-brand { flex-shrink: 0; }
#navbar .navbar-collapse { order: 1; margin-left: auto; flex-grow: 0; }
/* Own the 992px breakpoint: theme .collapse/.navbar-expand-sm use layered
   !important rules that cannot be overridden by unlayered mobile styles. */
#navbar.site-navbar .container { flex-wrap: nowrap; }
#navbar.site-navbar .site-nav-panel { display: flex; flex-basis: auto; width: auto; }
#navbar.site-navbar .navbar-nav { flex-direction: row; }
#navbar.site-navbar .nav-link { padding: .5rem; }
#navbar.site-navbar .navbar-toggler { display: none; }
.nav-utilities { order: 2; display: flex; align-items: center; gap: .9rem; }
.language-switch { font-size: .85rem; white-space: nowrap; border: 1px solid var(--global-divider-color); border-radius: 4px; padding: .2rem .45rem; color: var(--global-text-color); }
.nav-utilities #light-toggle { padding: 0; width: 1.5rem; height: 1.5rem; background: none; border: 0; color: var(--global-text-color); cursor: pointer; transform: none; }
.post-header { margin-bottom: 2rem; }
.home-page { max-width: 930px; margin: 1rem auto; }
.home-page .post-title { font-size: clamp(2.8rem, 7vw, 3.6rem); }
.home-page .desc { max-width: 45rem; line-height: 1.7; color: var(--global-text-color-light); }
.profile-links { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin-top: 1.25rem; font-size: .95rem; }
.profile-links i { margin-right: .2rem; }
.home-content { line-height: 1.85; }
.home-content h2 { margin-top: 2rem; }
.home-profile { width: 30%; margin: 0 0 1.5rem 2rem; }
.home-profile img { display: block; width: 100%; height: auto; }
.home-content .home-news-heading { clear: both; padding-top: .5rem; }
.home-news { margin-bottom: 1.5rem; }
.home-news .table { color: var(--global-text-color); margin-bottom: 0; }
.home-news th { width: 20%; padding: .55rem 1.25rem .55rem 0; white-space: nowrap; font-weight: 500; }
.home-news td { padding: .55rem 0; }
.home-selected-publications { margin-top: 2rem; line-height: 1.7; }
.home-selected-publications h2 a, .home-selected-publications .title a { color: inherit; }
.home-selected-publications .publications { margin-top: 1.25rem; }
.home-selected-publications .preview { width: 100%; height: auto; background: white; }
.home-selected-publications .publication-summary { margin: .65rem 0; }
.home-selected-publications .links, .publication-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.publication-links a { border: 1px solid var(--global-text-color); border-radius: 3px; padding: .2rem .75rem; color: var(--global-text-color); font-size: .875rem; text-decoration: none; }
.publication-links a:hover, .publication-links a:focus-visible { border-color: var(--global-theme-color); color: var(--global-theme-color); }
.home-browse { display: flex; flex-wrap: wrap; gap: 1rem 2rem; border-top: 1px solid var(--global-divider-color); margin-top: 2rem; padding-top: 1.2rem; }
.note-page, .content-page { max-width: 930px; margin: 0 auto; }
.note-page .post-title { font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.3; margin-top: .8rem; }
.back-link, .post-meta { font-size: .9rem; }
.post-meta { color: var(--global-text-color-light); }
.article-content { line-height: 1.85; min-width: 0; }
.article-content h2 { margin-top: 2rem; }
.article-content h3 { margin-top: 1.5rem; }
.article-content img { max-width: 100%; height: auto; }
.article-content figure { margin: 1.5rem auto; text-align: center; }
.article-content figcaption { font-size: .9rem; color: var(--global-text-color-light); margin-top: .65rem; }
.article-content pre { overflow-x: auto; max-width: 100%; }
.article-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 1.5rem 0; }
.article-content th, .article-content td { padding: .55rem .85rem; border-bottom: 1px solid var(--global-divider-color); }
.article-content iframe { max-width: 100%; border: 0; }
.article-content .video-container, .article-content .bilibili-embed, .article-content .video-embed { aspect-ratio: 16/9; margin: 1.5rem 0; }
.article-content .video-container iframe, .article-content .bilibili-embed iframe, .article-content .video-embed iframe { width: 100%; height: 100%; }
.article-content .admonition { border-left: 3px solid var(--global-theme-color); background: var(--global-code-bg-color); padding: 1rem 1.25rem; margin: 1.5rem 0; border-radius: 0 4px 4px 0; }
.article-content .admonition-title, .article-content .admonition summary { font-weight: 600; margin-bottom: .7rem; }
.article-content .admonition p:last-child { margin-bottom: 0; }
.article-content details summary { cursor: pointer; }
.article-toc { border: 1px solid var(--global-divider-color); border-radius: 4px; padding: .8rem 1rem; margin: 0 0 2rem; font-size: .92rem; }
.article-toc summary { cursor: pointer; font-weight: 500; }
.article-toc ol { margin: .7rem 0 0; padding-left: 1.4rem; }
.article-toc li { padding: .15rem 0; }
.article-toc .toc-level-3 { margin-left: 1rem; }
.section-posts .article-content > ul { padding: 0; list-style: none; }
.section-posts .article-content > ul > li { padding: .8rem 0; border-bottom: 1px solid var(--global-divider-color); font-size: 1.12rem; }
.section-list, .note-list { list-style: none; padding: 0; }
.section-list li, .note-list li { padding: .7rem 0; border-bottom: 1px solid var(--global-divider-color); }
.math-display, mjx-container[display="true"] { overflow-x: auto; overflow-y: hidden; max-width: 100%; padding: .25rem 0; }
.sticky-bottom .container { display: flex; flex-wrap: wrap; gap: .3rem .8rem; }
@media (max-width: 991.98px) {
  #navbar.site-navbar .container { flex-wrap: wrap; }
  #navbar.site-navbar .navbar-toggler { display: block; margin: 0; }
  #navbar.site-navbar .site-nav-panel { flex-basis: 100%; width: 100%; order: 3; margin-left: 0; display: none; text-align: left; }
  #navbar.site-navbar .site-nav-panel.show { display: block; }
  #navbar.site-navbar .navbar-nav { flex-direction: column; align-items: stretch; width: 100%; margin-left: 0; padding: .5rem 0; }
  #navbar.site-navbar .nav-link { padding: .65rem 0; }
  .nav-utilities { margin-left: auto; }
}
@media (max-width: 575px) {
  .container[role="main"] { margin-top: 2rem !important; }
  .profile-links { gap: .6rem 1rem; font-size: .88rem; }
  .home-profile { float: none !important; width: min(100%, 280px); margin: 0 auto 1.5rem; }
  .home-news th { width: auto; padding-right: 1rem; font-size: .88rem; }
  .home-selected-publications .abbr { max-width: 220px; }
  .article-content { line-height: 1.8; }
}

.note-index { padding: 0; list-style: none; }
.note-index > li { padding: .9rem 0; border-bottom: 1px solid var(--global-divider-color); }
.note-index h3 { margin: 0 0 .35rem; font-size: 1.2rem; }
.note-index p { margin: 0; }
