.site-category-nav {
  max-width: 1140px;
  margin: 1.5rem auto 3rem;
  padding: 0 15px;
}
.site-category-nav-inner {
  padding: 1rem 1.25rem;
  border: 1px solid var(--line-color);
  border-radius: .75rem;
  color: var(--text-color);
  background: var(--board-bg-color);
  box-shadow: 0 3px 14px rgba(0, 0, 0, .05);
}
.site-category-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .4rem 1rem;
  margin-bottom: .65rem;
  font-weight: 600;
}
.site-category-heading small { color: var(--sec-text-color); font-weight: normal; }
.site-category-nav ul { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; list-style: none; }
.site-category-nav a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 44px;
  padding: .45rem .9rem;
  border: 1px solid var(--line-color);
  border-radius: 2rem;
  color: var(--text-color);
  text-decoration: none;
}
.site-category-nav a span { font-size: .85em; opacity: .8; }
.site-category-nav a:hover { background: var(--button-hover-bg-color); }
.site-category-nav a[aria-current="page"] { color: var(--navbar-text-color); background: var(--navbar-bg-color); border-color: var(--navbar-bg-color); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--link-hover-color); outline-offset: 3px; }
#board, .markdown-body :is(h1,h2,h3,h4,h5,h6) { scroll-margin-top: 6rem; }
.markdown-body .mobile-toc { display: none; }
.search-status { margin: 0 0 1rem; color: var(--sec-text-color); }
.search-list-title { overflow-wrap: anywhere; }
mark.search-word { padding: 0; color: var(--post-link-color); background: transparent; font-weight: bold; }
.license-box .license-icon { display: none; }

/* Include the upstream TOC clipping fix without moving to an unreleased theme. */
#toc .toc-list-item { display: block; -webkit-line-clamp: unset; overflow: visible; white-space: normal; }
#toc .tocbot-link { overflow-wrap: anywhere; }

@media (max-width: 1199px) and (min-width: 992px) { .site-category-nav { max-width: 960px; } }
@media (max-width: 991.98px) {
  .site-category-nav { max-width: 720px; }
  article.post-content { overflow: visible; }
  .markdown-body :is(h1,h2,h3,h4,h5,h6) { scroll-margin-top: 10rem; }
  .markdown-body .mobile-toc {
    display: block;
    position: sticky;
    top: 4.75rem;
    z-index: 20;
    margin: 0 0 1.5rem;
    border: 1px solid var(--line-color);
    border-radius: .5rem;
    background: var(--board-bg-color);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
  }
  .mobile-toc summary { padding: .75rem 1rem; min-height: 44px; font-weight: 600; cursor: pointer; }
  .mobile-toc nav { max-height: 50vh; overflow-y: auto; overscroll-behavior: contain; padding: .25rem 1rem 1rem; }
  .mobile-toc ol { margin-bottom: 0; padding-left: 1.25rem; }
  .mobile-toc a { display: block; padding: .35rem 0; overflow-wrap: anywhere; }
  #scroll-top-button {
    right: max(1rem, env(safe-area-inset-right)) !important;
    bottom: max(1rem, env(safe-area-inset-bottom)) !important;
    width: 44px;
    height: 44px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  #scroll-top-button.site-backtop-visible { opacity: 1; visibility: visible; pointer-events: auto; }
}
@media (max-width: 767px) {
  .header-inner { height: 16rem !important; max-height: none !important; }
  .site-category-nav { margin-top: 1rem; margin-bottom: 2.5rem; padding: 0 1rem; }
  .site-category-nav-inner { padding: .9rem; }
  .site-category-heading { gap: .2rem; flex-direction: column; }
  .site-category-nav a { padding: .4rem .7rem; font-size: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .banner, .mobile-grid-cell, .mobile-grid-group-header, #mobile-grid-menu { animation: none !important; transition: none !important; }
}
