/* ============================================================
   EteDrop-style theme for HTMLy
   Modern, clean design inspired by Docusaurus blog layout
   ============================================================ */

/* ===== Design tokens ===== */
:root {
  --ifm-color-primary: #3578e5;
  --ifm-color-primary-dark: #0052d9;
  --ifm-color-primary-light: #538ce9;
  --ifm-color-emphasis-200: #ebedf0;
  --ifm-color-emphasis-300: #f0f1f4;
  --ifm-color-emphasis-500: #8a939e;
  --ifm-color-content: #1c1e21;
  --ifm-color-content-secondary: #4e5965;
  --ifm-background-color: #fff;
  --ifm-background-surface-color: #fff;
  --ifm-font-family-base: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --ifm-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --ifm-font-size-base: 16px;
  --ifm-line-height-base: 1.6;
  --ifm-heading-line-height: 1.25;
  --ifm-heading-font-weight: 700;
  --ifm-spacing-horizontal: 1rem;
  --ifm-spacing-vertical: 1rem;
  --ifm-leading: 1.25rem;
  --ifm-global-spacing: 1rem;
  --ifm-navbar-height: 60px;
  --ifm-navbar-background-color: #fff;
  --ifm-navbar-shadow: 0 1px 2px 0 rgba(0,0,0,.06);
  --ifm-navbar-link-color: #4e5965;
  --ifm-navbar-link-hover-color: var(--ifm-color-primary);
  --ifm-footer-background-color: #1b1b1d;
  --ifm-footer-color: #b0b3b8;
  --ifm-footer-link-color: #b0b3b8;
  --ifm-tag-border: #ebedf0;
  --page-bg: #f5f6f8;
  --card-shadow: 0 1px 2px rgba(0,0,0,.04);
}

/* ===== Reset & base ===== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--ifm-font-family-base);
  font-size: var(--ifm-font-size-base);
  line-height: var(--ifm-line-height-base);
  color: var(--ifm-color-content);
  background: var(--page-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-wrap: break-word;
}
img { max-width: 100%; height: auto; display: block; }
a {
  color: var(--ifm-color-primary);
  text-decoration: none;
  transition: color .15s ease;
}
a:hover { text-decoration: underline; color: var(--ifm-color-primary-dark); }
a:focus { text-decoration: none; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--ifm-font-family-base);
  font-weight: var(--ifm-heading-font-weight);
  line-height: var(--ifm-heading-line-height);
  color: var(--ifm-color-content);
  margin-top: 0;
}
p { margin: 0 0 var(--ifm-leading); }
ul, ol { margin: 0 0 var(--ifm-leading); padding-left: 1.5rem; }
.clean-list { list-style: none; padding-left: 0; margin: 0; }
.hide { display: none !important; }
b, strong { font-weight: 700; }

/* ===== Layout container ===== */
.container {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--ifm-spacing-horizontal);
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 calc(var(--ifm-spacing-horizontal) * -1);
}
.row > .col { padding: 0 var(--ifm-spacing-horizontal); }
.col--2 { flex: 0 0 16.67%; max-width: 16.67%; }
.col--7 { flex: 0 0 58.33%; max-width: 58.33%; }
.col--3 { flex: 0 0 25%; max-width: 25%; }
.col--4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
.col--12 { flex: 0 0 100%; max-width: 100%; }
.col--right { margin-left: auto; }

.container > .row {
  padding-top: 2rem;
  padding-bottom: 2rem;
  align-items: flex-start;
}
main.col--7 { padding-top: 0; }

/* ===== Left sidebar (recent posts) ===== */
.sidebar-left {
  position: sticky;
  top: 80px;
  height: fit-content;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
}

.sidebar-year-group {
  margin-bottom: 1rem;
}

.sidebar-year-title {
  font-weight: 600;
  color: var(--ifm-color-content);
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  padding-left: 0.5rem;
}

.sidebar-left .sidebarItemList {
  margin-bottom: 0;
}

.sidebar-left .sidebarItem {
  margin-bottom: 0.5rem;
}

.sidebar-left .sidebarItemLink {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--ifm-color-content-secondary);
  text-decoration: none;
  display: block;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.sidebar-left .sidebarItemLink:hover {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-primary);
}

.sidebar-left .sidebarItemLink.active {
  background: var(--ifm-color-primary);
  color: white;
  font-weight: 500;
}

/* 滚动联动高亮 */
.sidebar-left .sidebarItemLink.scroll-active {
  color: var(--ifm-color-primary);
  font-weight: 600;
  background: var(--ifm-color-emphasis-200);
  border-left: 3px solid var(--ifm-color-primary);
  padding-left: calc(0.5rem - 3px);
}

.sidebar-left {
  scroll-behavior: smooth;
}

/* ===== Right sidebar (TOC) ===== */
.sidebar-right {
  position: sticky;
  top: 80px;
  height: fit-content;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
}

.toc {
  background: white;
  border-radius: 8px;
  padding: 1rem;
  box-shadow: var(--card-shadow);
}

.toc-title {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--ifm-color-content);
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--ifm-color-primary);
}

.toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.toc-item {
  margin-bottom: 0.25rem;
}

.toc-link {
  display: block;
  padding: 0.375rem 0.5rem;
  font-size: 0.875rem;
  color: var(--ifm-color-content-secondary);
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.2s ease;
  line-height: 1.4;
}

.toc-link:hover {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-primary);
  text-decoration: none;
}

.toc-level-3 {
  padding-left: 1rem;
}

.toc-level-3 .toc-link {
  font-size: 0.8125rem;
}

/* ===== Heading anchors ===== */
.anchor {
  scroll-margin-top: 80px;
}

.anchor:hover::before {
  content: '#';
  position: absolute;
  left: -1.5rem;
  color: var(--ifm-color-primary);
  font-weight: normal;
}

/* ===== Responsive ===== */

/* ===== Navbar ===== */
.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--ifm-navbar-background-color);
  box-shadow: var(--ifm-navbar-shadow);
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  height: var(--ifm-navbar-height);
  display: flex;
  align-items: center;
}
.navbar__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--ifm-spacing-horizontal);
}
.navbar__items {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  gap: .25rem;
}
.navbar__items--right {
  flex: 0 0 auto;
  justify-content: flex-end;
}
.navbar__brand {
  display: flex;
  align-items: center;
  margin-right: 1rem;
  color: var(--ifm-color-content);
  font-weight: 700;
  font-size: 1.1rem;
}
.navbar__brand:hover { color: var(--ifm-color-primary); text-decoration: none; }
.navbar__logo {
  height: 32px;
  margin-right: .5rem;
  display: inline-flex;
  align-items: center;
}
.navbar__logo img { height: 32px; width: auto; }
.navbar__title { flex: 1 1 auto; }
.navbar__item {
  display: inline-flex;
  align-items: center;
  padding: .5rem .75rem;
  color: var(--ifm-navbar-link-color);
  font-weight: 500;
  font-size: .95rem;
}
.navbar__item:hover, .navbar__item.active, .navbar__link--active {
  color: var(--ifm-navbar-link-hover-color);
  text-decoration: none;
}

.navbar__search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--ifm-navbar-link-color);
  border-radius: 50%;
  cursor: pointer;
}
.navbar__search-toggle:hover { color: var(--ifm-color-primary); text-decoration: none; background: var(--ifm-color-emphasis-300); }
.navbar__search {
  display: none;
  align-items: center;
}
.navbar__search.show { display: flex; }
.navbar__search-input {
  height: 34px;
  width: 180px;
  padding: 0 .75rem;
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 4px;
  background: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-content);
  font-size: .9rem;
  font-family: inherit;
}
.navbar__search-input:focus {
  outline: none;
  border-color: var(--ifm-color-primary);
  background: #fff;
}
.navbar__toggle {
  display: none;
  background: none;
  border: none;
  color: var(--ifm-color-content);
  cursor: pointer;
  padding: .25rem;
  margin-right: .5rem;
}
.navbar__sidebar { display: none; }
.navbar__backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 999;
}

/* HTMLy menu() output styling */
.navbar__items a, .navbar__items--right > a {
  display: inline-flex;
  align-items: center;
  padding: .5rem .75rem;
  color: var(--ifm-navbar-link-color);
  font-weight: 500;
  font-size: .95rem;
}
.navbar__items a:hover, .navbar__items--right > a:hover {
  color: var(--ifm-color-primary);
  text-decoration: none;
}
.navbar__items a.active { color: var(--ifm-color-primary-dark); }

/* HTMLy menu() returns <ul class="nav ..."><li class="item nav-item"><a class="nav-link"> */
.navbar__items ul.nav,
.navbar__items--right ul.nav {
  list-style: none;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  gap: .25rem;
}
.navbar__items ul.nav li.item,
.navbar__items--right ul.nav li.item {
  list-style: none;
  margin: 0;
  padding: 0;
}
.navbar__items ul.nav a.nav-link,
.navbar__items--right ul.nav a.nav-link {
  display: inline-flex;
  align-items: center;
  padding: .5rem .75rem;
  color: var(--ifm-navbar-link-color);
  font-weight: 500;
  font-size: .95rem;
}
.navbar__items ul.nav a.nav-link:hover,
.navbar__items--right ul.nav a.nav-link:hover {
  color: var(--ifm-color-primary);
  text-decoration: none;
}
.navbar__items ul.nav li.active a.nav-link,
.navbar__items--right ul.nav li.active a.nav-link {
  color: var(--ifm-color-primary-dark);
}
/* Dropdown menus (if any) */
.navbar__items .dropdown-menu {
  position: absolute;
  background: #fff;
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  padding: .5rem 0;
  min-width: 160px;
  z-index: 100;
}
.navbar__items .dropdown-menu li.item {
  display: block;
}
.navbar__items .dropdown-menu a.nav-link {
  display: block;
  padding: .4rem 1rem;
}

/* ===== Breadcrumb ===== */
.breadcrumb {
  padding: 1rem 0;
  font-size: .9rem;
  color: var(--ifm-color-content-secondary);
}
.breadcrumb a { color: var(--ifm-color-primary); }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb span { margin: 0 .35rem; color: var(--ifm-color-emphasis-500); }

/* ===== Article ===== */
article.margin-bottom--xl {
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}
article.margin-bottom--xl:last-of-type { border-bottom: none; }

.title_f1Hy {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 .5rem;
}
.title_f1Hy a { color: var(--ifm-color-content); }
.title_f1Hy a:hover { color: var(--ifm-color-primary); text-decoration: none; }

.container_mt6G {
  font-size: .875rem;
  color: var(--ifm-color-content-secondary);
}
.margin-vert--md { margin-top: .5rem; margin-bottom: .5rem; }
.margin-top--md { margin-top: .75rem; }
.margin-bottom--sm { margin-bottom: .5rem; }
.margin-bottom--md { margin-bottom: .75rem; }
.margin-bottom--none { margin-bottom: 0; }
.margin-left--sm { margin-left: .5rem; }
.padding--none { padding: 0; }

/* ===== Author avatar block ===== */
.authorCol_Hf19 { max-width: 100% !important; }
.avatar {
  display: flex;
  align-items: center;
  column-gap: .75rem;
}
.avatar__photo-link {
  flex: 0 0 auto;
}
.avatar__photo {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: block;
  object-fit: cover;
  overflow: hidden;
}
.avatar__photo--text {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ifm-color-primary);
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
}
.avatar__photo--text:hover { color: #fff; text-decoration: none; background: var(--ifm-color-primary-dark); }
.avatar__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.avatar__name { font-weight: 700; font-size: .95rem; }
.avatar__name a { color: var(--ifm-color-content); }
.avatar__name a:hover { color: var(--ifm-color-primary); text-decoration: none; }
.authorName { }
.authorTitle, .authorTitle_nd0D {
  color: var(--ifm-color-content-secondary);
  font-size: .8rem;
}

/* ===== Markdown content ===== */
.markdown {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ifm-color-content);
}
.markdown > *:first-child { margin-top: 0; }
.markdown > *:last-child { margin-bottom: 0; }
.markdown p { margin: 0 0 var(--ifm-leading); }
.markdown h2 {
  font-size: 1.5rem;
  margin: 2rem 0 1rem;
  padding-top: .5rem;
}
.markdown h3 {
  font-size: 1.25rem;
  margin: 1.5rem 0 .75rem;
}
.markdown h4 { font-size: 1.1rem; margin: 1.25rem 0 .5rem; }
.markdown ul, .markdown ol { margin: 0 0 var(--ifm-leading); padding-left: 1.5rem; }
.markdown li { margin: .25rem 0; }
.markdown li > p { margin: .25rem 0; }
.markdown a { color: var(--ifm-color-primary); }
.markdown img {
  border-radius: 6px;
  margin: 1rem auto;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
.markdown blockquote {
  margin: 1rem 0;
  padding: .5rem 1rem;
  border-left: 4px solid var(--ifm-color-primary);
  background: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-content-secondary);
  border-radius: 0 4px 4px 0;
}
.markdown blockquote p { margin: 0; }
.markdown pre {
  margin: 1rem 0;
  padding: 1rem;
  background: #f6f8fa;
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 6px;
  overflow: auto;
  font-family: var(--ifm-font-family-monospace);
  font-size: .9rem;
  line-height: 1.5;
}
.markdown code {
  font-family: var(--ifm-font-family-monospace);
  font-size: .875em;
  background: var(--ifm-color-emphasis-300);
  padding: .15em .35em;
  border-radius: 3px;
}
.markdown pre code { background: none; padding: 0; font-size: .9rem; }
.markdown table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  display: block;
  overflow-x: auto;
}
.markdown table th, .markdown table td {
  border: 1px solid var(--ifm-color-emphasis-200);
  padding: .5rem .75rem;
  text-align: left;
}
.markdown table th {
  background: var(--ifm-color-emphasis-300);
  font-weight: 700;
}
.markdown table tr:nth-child(even) td { background: #fafbfc; }
.markdown hr {
  border: none;
  border-top: 1px solid var(--ifm-color-emphasis-200);
  margin: 2rem 0;
}
.markdown .quote {
  border: none;
  font-size: 1.1rem;
  color: var(--ifm-color-content-secondary);
}
.markdown .quote .fa-quote-left,
.markdown .quote .fa-quote-right {
  color: var(--ifm-color-primary);
  opacity: .5;
  margin: 0 .5rem;
}

/* Featured media */
.video-container, .audio-container {
  position: relative;
  margin: 1rem 0;
}
.video-container { padding-bottom: 56.25%; height: 0; }
.video-container iframe, .audio-container iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 6px;
}
.audio-container { height: 166px; }

/* Read more link */
.read-more {
  display: inline-block;
  margin-top: .5rem;
  font-weight: 500;
  color: var(--ifm-color-primary);
}
.read-more:hover { color: var(--ifm-color-primary-dark); text-decoration: underline; }

/* ===== Tags ===== */
.docusaurus-mt-lg { margin-top: 1.5rem; }
.tags {
  list-style: none;
  padding: 0;
  margin: .5rem 0 0;
  display: inline;
}
.tags li { display: inline; }
.tag_QGVx {
  display: inline-block;
  margin: 0 .4rem .5rem 0;
}
.tag_zVej {
  display: inline-block;
  padding: .25rem .6rem;
  border: 1px solid var(--ifm-tag-border);
  border-radius: 4px;
  font-size: .8rem;
  color: var(--ifm-color-content-secondary);
  transition: border .15s ease, color .15s ease;
}
.tag_zVej:hover, .tag_zVej a:hover {
  border-color: var(--ifm-color-primary);
  color: var(--ifm-color-primary);
  text-decoration: none;
}
.tag_zVej a { color: inherit; }
.post-footer-tags {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
}
.share-buttons a {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-content-secondary);
  margin-left: .25rem;
}
.share-buttons a:hover { background: var(--ifm-color-primary); color: #fff; text-decoration: none; }

/* ===== Category info block ===== */
.category-info {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: var(--ifm-background-surface-color);
  border-radius: 8px;
  box-shadow: var(--card-shadow);
}
.category-info header { display: flex; align-items: center; }
.category-info .feed-link { margin-left: auto; color: var(--ifm-color-primary); }

/* ===== Pagination ===== */
.pagination-nav {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 2rem 0;
  flex-wrap: wrap;
}
.pagination-nav__link {
  display: inline-flex;
  align-items: center;
  padding: .75rem 1rem;
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 6px;
  background: #fff;
  color: var(--ifm-color-content);
  font-weight: 500;
  transition: border-color .15s ease, color .15s ease;
  min-width: 140px;
}
.pagination-nav__link:hover {
  border-color: var(--ifm-color-primary);
  color: var(--ifm-color-primary);
  text-decoration: none;
}
.pagination-nav__link--next { margin-left: auto; }
.pagination-nav__sublabel { font-size: .9rem; color: var(--ifm-color-content-secondary); }
.pagination-nav__label { font-size: 1rem; font-weight: 600; margin-top: .25rem; }

/* HTMLy default pagination (numeric) — <ul class="pagination"><li class="page-item"><a class="page-link"> */
.pagination {
  margin: 2rem 0;
  display: flex;
  justify-content: center;
  gap: .25rem;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
.pagination li.page-item { list-style: none; margin: 0; }
.pagination a.page-link, .pagination span.page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 .6rem;
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 4px;
  color: var(--ifm-color-content);
  font-size: .9rem;
  text-decoration: none;
  background: #fff;
}
.pagination a.page-link:hover {
  border-color: var(--ifm-color-primary);
  color: var(--ifm-color-primary);
}
.pagination li.active a.page-link,
.pagination li.active span.page-link {
  background: var(--ifm-color-primary);
  border-color: var(--ifm-color-primary);
  color: #fff;
}
.pagination li.disabled span.page-link {
  color: var(--ifm-color-emphasis-500);
  background: var(--ifm-color-emphasis-300);
  cursor: not-allowed;
}

/* ===== Sidebar ===== */
.sidebar-card {
  background: #fff;
  border-radius: 8px;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  box-shadow: var(--card-shadow);
  border: 1px solid var(--ifm-color-emphasis-200);
}
.sidebarItemTitle {
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--ifm-color-content-secondary);
  margin-bottom: .75rem;
}
.sidebarAbout {
  font-size: .9rem;
  color: var(--ifm-color-content-secondary);
  line-height: 1.6;
}
.sidebarItemList { list-style: none; padding: 0; margin: 0; }
.sidebarItem { margin: 0; }
.sidebarItemLink, .sidebarItemList a {
  display: block;
  padding: .4rem 0;
  font-size: .85rem;
  color: var(--ifm-color-content-secondary);
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  line-height: 1.4;
}
.sidebarItemLink:last-child, .sidebarItemList li:last-child a { border-bottom: none; }
.sidebarItemLink:hover, .sidebarItemList a:hover {
  color: var(--ifm-color-primary);
  text-decoration: none;
}
.sidebarItemList a[aria-current="page"], .sidebarItemLinkActive {
  color: var(--ifm-color-primary-dark);
  font-weight: 600;
}
.sidebarContent { font-size: .9rem; color: var(--ifm-color-content-secondary); }
.sidebarContent ul { list-style: none; padding: 0; margin: 0; }
.sidebarContent li { padding: .25rem 0; }
.sidebarContent a { color: var(--ifm-color-content-secondary); }
.sidebarContent a:hover { color: var(--ifm-color-primary); }

/* Archive list (HTMLy output: <ul class="archivegroup"><li class="expanded/collapsed"><a class="toggle"> <a> <span class="count"> <ul class="month">) */
.sidebarContent .archivegroup, .sidebarContent ul.archivegroup { list-style: none; padding: 0; margin: 0; }
.sidebarContent .archivegroup > li {
  list-style: none;
  padding: .35rem 0;
  font-weight: 600;
  color: var(--ifm-color-content);
  font-size: .9rem;
}
.sidebarContent .archivegroup > li a { color: var(--ifm-color-content); }
.sidebarContent .archivegroup > li a:hover { color: var(--ifm-color-primary); text-decoration: none; }
.sidebarContent .archivegroup a.toggle {
  display: inline-block;
  width: 1rem;
  text-align: center;
  text-decoration: none;
  color: var(--ifm-color-emphasis-500);
}
.sidebarContent .archivegroup .count {
  color: var(--ifm-color-emphasis-500);
  font-weight: 400;
  font-size: .8rem;
}
.sidebarContent ul.month {
  list-style: none;
  padding-left: 1.25rem;
  margin: .2rem 0 .5rem;
  font-weight: 400;
}
.sidebarContent ul.month li.item {
  padding: .15rem 0;
  font-size: .85rem;
}
.sidebarContent ul.month li.item a { color: var(--ifm-color-content-secondary); font-weight: 400; }
.sidebarContent ul.month li.item a:hover { color: var(--ifm-color-primary); }
.sidebarContent .archivegroup .collapsed ul.month { display: none; }
.sidebarContent .archivegroup .expanded ul.month { display: block; }

/* Tagcloud — HTMLy outputs <a class="tag-cloud-link" style="font-size:..pt"> */
.tagcloud a, .tagcloud .tag-cloud-link {
  display: inline-block;
  padding: .2rem .5rem;
  margin: .15rem;
  font-size: .8rem;
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 4px;
  color: var(--ifm-color-content-secondary);
  line-height: 1.4;
}
.tagcloud a:hover, .tagcloud .tag-cloud-link:hover {
  border-color: var(--ifm-color-primary);
  color: var(--ifm-color-primary);
  text-decoration: none;
}

/* Category list — HTMLy outputs <ul><li><a> <span>(count)</span></li></ul> */
.sidebarContent .category-list ul,
.sidebarContent > ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebarContent > ul li,
.sidebarContent .category-list li {
  padding: .3rem 0;
  font-size: .9rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}
.sidebarContent > ul li:last-child,
.sidebarContent .category-list li:last-child { border-bottom: none; }
.sidebarContent > ul a,
.sidebarContent .category-list a {
  color: var(--ifm-color-content-secondary);
}
.sidebarContent > ul a:hover,
.sidebarContent .category-list a:hover {
  color: var(--ifm-color-primary);
  text-decoration: none;
}
.sidebarContent > ul span,
.sidebarContent .category-list span {
  color: var(--ifm-color-emphasis-500);
  font-size: .8rem;
}

/* ===== Profile page ===== */
.profile-posts-title {
  font-size: 1.25rem;
  margin: 2rem 0 1rem;
}
.post-list { list-style: none; padding: 0; margin: 0; }
.post-list-item {
  padding: .75rem 0;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}
.post-list-item:last-child { border-bottom: none; }
.post-list-item a { color: var(--ifm-color-content); font-weight: 500; }
.post-list-item a:hover { color: var(--ifm-color-primary); }
.post-list-date, .post-list-cat {
  color: var(--ifm-color-content-secondary);
  font-size: .85rem;
}

/* ===== Related posts ===== */
.related-posts {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
}
.related-title {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
.related-item {
  padding: 0 .5rem;
  margin-bottom: 1rem;
}
.related-item-title {
  font-size: 1rem;
  margin-bottom: .5rem;
}
.related-item-title a { color: var(--ifm-color-content); }
.related-item-title a:hover { color: var(--ifm-color-primary); }
.related-item p {
  font-size: .85rem;
  color: var(--ifm-color-content-secondary);
  margin: 0;
}
.more-link { color: var(--ifm-color-primary); }

/* ===== Comments ===== */
.comment-wrapper {
  margin-top: 2rem;
  padding: 1.5rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: var(--card-shadow);
}
.comments-title {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
.search-404 { margin-top: 1rem; }

/* HTMLy search form — outputs <form id="search-form"><input class="search-input"><input class="search-button"> */
.search-404 form, .search form, #search-form {
  display: flex;
  gap: .5rem;
  max-width: 400px;
}
.search-404 input[type="search"],
.search-404 input.search-input,
.search input[type="search"],
.search input.search-input,
#search-form .search-input {
  flex: 1;
  height: 38px;
  padding: 0 .75rem;
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 4px;
  font-size: .95rem;
  font-family: inherit;
  color: var(--ifm-color-content);
}
.search-404 input[type="search"]:focus,
.search-404 input.search-input:focus,
.search input[type="search"]:focus,
.search input.search-input:focus,
#search-form .search-input:focus {
  outline: none;
  border-color: var(--ifm-color-primary);
}
.search-404 button,
.search-404 input.search-button,
.search button,
.search input.search-button,
#search-form .search-button {
  height: 38px;
  padding: 0 1rem;
  background: var(--ifm-color-primary);
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
  font-size: .9rem;
}
.search-404 button:hover,
.search-404 input.search-button:hover,
.search button:hover,
.search input.search-button:hover,
#search-form .search-button:hover { background: var(--ifm-color-primary-dark); }

/* ===== Footer ===== */
.footer {
  background: var(--ifm-footer-background-color);
  color: var(--ifm-footer-color);
  padding: 2rem 0;
  margin-top: 3rem;
}
.footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 auto;
  padding: 0 var(--ifm-spacing-horizontal);
}
.footer__copyright { font-size: .9rem; }
.footer__copyright a { color: var(--ifm-footer-link-color); }
.footer__copyright a:hover { color: #fff; }
.footer__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: .85rem;
}
.footer__meta a { color: var(--ifm-footer-link-color); }
.footer__meta a:hover { color: #fff; }
.footer__meta .social a,
.footer__meta .social-logo a {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  margin-left: .25rem;
  color: var(--ifm-footer-link-color);
}
.footer__meta .social a:hover,
.footer__meta .social-logo a:hover { background: var(--ifm-color-primary); color: #fff; text-decoration: none; }
.footer__meta .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* ===== Admin toolbar / edit tab ===== */
.toolbar {
  position: relative;
  z-index: 100;
}
.tab {
  margin-bottom: 1rem;
}
.tab ul.nav-tabs {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  gap: .25rem;
}
.tab ul.nav-tabs li {
  list-style: none;
  margin: 0;
}
.tab ul.nav-tabs li a {
  display: inline-block;
  padding: .4rem .8rem;
  font-size: .85rem;
  color: var(--ifm-color-content-secondary);
  text-decoration: none;
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
}
.tab ul.nav-tabs li.active a {
  color: var(--ifm-color-primary);
  background: #fff;
  border-color: var(--ifm-color-emphasis-200);
  font-weight: 600;
}
.tab ul.nav-tabs li a:hover {
  color: var(--ifm-color-primary);
  text-decoration: none;
}
/* fallback for plain .tab a (without nav-tabs) */
.tab > a {
  display: inline-block;
  padding: .35rem .75rem;
  margin-right: .5rem;
  background: var(--ifm-color-emphasis-300);
  border-radius: 4px;
  font-size: .85rem;
  color: var(--ifm-color-content);
}
.tab > a:hover { background: var(--ifm-color-primary); color: #fff; text-decoration: none; }

/* ===== Error / no-posts pages ===== */
.error-page, .no-posts {
  padding: 2rem 0;
}

/* ===== Responsive ===== */
@media (max-width: 1200px) {
  /* Tablet: hide right sidebar (TOC), keep left sidebar */
  .col--2 { flex: 0 0 20%; max-width: 20%; }
  .col--7 { flex: 0 0 80%; max-width: 80%; }
  .sidebar-right { display: none; }
}

@media (max-width: 996px) {
  /* Small tablet: hide both sidebars, full-width content */
  .sidebar-left, .sidebar-right { display: none; }
  .col--2, .col--3 { display: none; }
  .col--7 { flex: 0 0 100%; max-width: 100%; }
  .navbar__items--right .navbar__item { display: none; }
}

@media (max-width: 768px) {
  .navbar__toggle { display: inline-flex; }
  .navbar__items--right > a:not(.navbar__search-toggle) { display: none; }
  .navbar__items .navbar__item { display: none; }
  body.nav-open .navbar__sidebar {
    display: block;
    position: fixed;
    top: 0; left: 0;
    width: 280px;
    height: 100vh;
    background: #fff;
    box-shadow: 2px 0 8px rgba(0,0,0,.15);
    padding: 1rem;
    z-index: 1001;
    overflow-y: auto;
  }
  body.nav-open .navbar__backdrop { display: block; }
  body.nav-open .navbar__sidebar a {
    display: block;
    padding: .75rem 0;
    color: var(--ifm-color-content);
    border-bottom: 1px solid var(--ifm-color-emphasis-200);
    font-weight: 500;
  }
  .title_f1Hy { font-size: 1.5rem; }
  .markdown h2 { font-size: 1.25rem; }
  .markdown h3 { font-size: 1.1rem; }
  .container { padding: 0 1rem; }
  .footer__inner { flex-direction: column; text-align: center; }
  .pagination-nav { flex-direction: column; }
  .pagination-nav__link--next { margin-left: 0; }
  .col--4 { flex: 0 0 100%; max-width: 100%; }
}
@media print {
  .navbar, .footer, .pagination-nav, .sidebar-card, .share-buttons, .post-footer-tags { display: none !important; }
  body { background: #fff; }
  .container > .row { padding: 0; }
}
