/* =========================
   Theme overrides: 强制主色为绿色（避免缓存/调色板偏好导致看起来没变）
   ========================= */
:root {
  --md-primary-fg-color: #16a34a; /* green-600 */
  --md-accent-fg-color: #22c55e; /* green-500 */
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #22c55e; /* 提亮一点，暗色更清晰 */
  --md-accent-fg-color: #4ade80; /* green-400 */
}

/* =========================
   Text color: 字体颜色（可直接在 Markdown 里用 span class）
   用法：<span class="text-red">红色</span>
   ========================= */
.md-typeset .text-primary,
.text-primary {
  color: var(--md-primary-fg-color);
}
.md-typeset .text-accent,
.text-accent {
  color: var(--md-accent-fg-color);
}
.md-typeset .text-muted,
.text-muted {
  color: var(--md-default-fg-color--light);
}

.md-typeset .text-green,
.text-green {
  color: #16a34a;
}
.md-typeset .text-red,
.text-red {
  color: #dc2626;
}
.md-typeset .text-orange,
.text-orange {
  color: #f59e0b;
}
.md-typeset .text-blue,
.text-blue {
  color: #2563eb;
}
.md-typeset .text-purple,
.text-purple {
  color: #7c3aed;
}

[data-md-color-scheme="slate"] .md-typeset .text-green,
[data-md-color-scheme="slate"] .text-green {
  color: #4ade80;
}
[data-md-color-scheme="slate"] .md-typeset .text-red,
[data-md-color-scheme="slate"] .text-red {
  color: #f87171;
}
[data-md-color-scheme="slate"] .md-typeset .text-orange,
[data-md-color-scheme="slate"] .text-orange {
  color: #fbbf24;
}
[data-md-color-scheme="slate"] .md-typeset .text-blue,
[data-md-color-scheme="slate"] .text-blue {
  color: #60a5fa;
}
[data-md-color-scheme="slate"] .md-typeset .text-purple,
[data-md-color-scheme="slate"] .text-purple {
  color: #a78bfa;
}

/* =========================
   PDF/Print: 打印为 PDF 的样式与按钮
   ========================= */
/* 顶栏右上角的“下载 PDF”按钮（小图标） */
.md-header .pdf-download-header svg {
  width: 1.15rem;
  height: 1.15rem;
}

/* 与其它顶栏按钮保持一致的 hover/active 区域 */
.md-header .pdf-download-header {
  margin-left: 0.1rem;
}

@media print {
  /* 隐藏导航/侧边栏/页脚，只保留正文 */
  .md-header,
  .md-sidebar,
  .md-footer,
  .md-top,
  .md-content__button,
  .md-search,
  .md-tabs {
    display: none !important;
  }

  /* 正文撑满宽度 */
  .md-grid,
  .md-content {
    max-width: 100% !important;
  }

  /* 去掉按钮 */
  .pdf-download-header {
    display: none !important;
  }

  /* 打印时更清晰的颜色 */
  :root {
    --md-default-bg-color: #ffffff;
  }

  /* 表格：缩小字体 + 强制换行，适配打印页面 */
  .md-typeset__table {
    display: block !important;
    max-width: 100% !important;
  }

  .md-typeset table {
    width: 100% !important;
    table-layout: auto !important;
    font-size: 0.8em !important;
  }

  .md-typeset table th,
  .md-typeset table td {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* 代码块：换行显示，避免滚动 */
  .md-typeset pre,
  .md-typeset .highlight,
  .md-typeset .md-code__content {
    white-space: pre-wrap !important;
    word-break: break-word !important;
  }

  /* Tabbed 内容：去掉滚动 */
  .md-typeset .tabbed-set,
  .md-typeset .tabbed-content {
    overflow: visible !important;
  }

}

/* =========================
   Layout: 增大阅读区域、缩窄两侧栏（仅大屏）
   ========================= */
:root {
  --md-sidebar-width: 12rem;
  --md-sidebar-width-l: 12rem;
}

@media (min-width: 76.25em) {
  /* 主体三栏布局：导航 / 正文 / 目录 */
  .md-main__inner.md-grid {
    grid-template-columns: var(--md-sidebar-width-l) minmax(0, 1fr) var(
        --md-sidebar-width-l
      );
  }

  /* 让正文容器更宽 */
  .md-main__inner.md-grid,
  .md-header__inner.md-grid,
  .md-footer-meta__inner.md-grid {
    max-width: 92rem;
  }
}

/* =========================
   Sidebar: more like a "file tree"
   ========================= */
.md-nav__link {
  padding-top: 0.08rem;
  padding-bottom: 0.08rem;
  display: flex;
  align-items: center;
  gap: 0.05rem;
  font-size: 0.75rem;
}

.md-nav__link--active {
  font-weight: 700;
}

/* Indent child lists (directories) slightly */
.md-nav__list .md-nav__list {
  margin-left: 0.5rem;
}

/* Leaf documents shift a bit more to the right for clearer hierarchy */
a.md-nav__link {
  padding-left: 0.25rem;
}

/* Reduce vertical gaps between sections/items */
.md-nav__list {
  margin: 0;
  padding-left: 0;
}

.md-nav__list > .md-nav__item {
  margin: 0.02rem 0;
}

/* Ancestors bold only (do not change color) */
.md-nav__item--active > .md-nav__link,
.md-nav__item--active .md-nav__link--active {
  font-weight: 700;
}

/* Custom chevron toggles */
input.md-nav__toggle + label.md-nav__link::before {
  content: "▸";
  display: inline-block;
  margin-right: 0.45rem;
  color: var(--md-primary-fg-color);
  transform: translateY(-1px) rotate(0deg);
  transition: transform 120ms ease;
  font-size: 1rem;
  line-height: 1;
}

input.md-nav__toggle:checked + label.md-nav__link::before {
  transform: translateY(-1px) rotate(90deg);
}

/* Hide default svg chevron */
input.md-nav__toggle + label.md-nav__link svg {
  display: none;
}

/* Hide the right-side default chevron icon */
.md-nav__link .md-nav__icon {
  display: none;
}

/* Sidebar navigation search */
.md-nav-search {
  padding: 0.5rem 0.75rem 0.35rem;
}

.md-nav-search__input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.35rem 0.6rem;
  border: 1px solid
    color-mix(
      in srgb,
      var(--md-primary-fg-color) 55%,
      var(--md-default-bg-color)
    );
  border-radius: 0.35rem;
  background: color-mix(
    in srgb,
    var(--md-primary-fg-color) 12%,
    var(--md-default-bg-color)
  );
  color: var(--md-default-fg-color);
  outline: none;
  transition:
    box-shadow 120ms ease,
    border-color 120ms ease;
}

.md-nav-search__input::placeholder {
  color: color-mix(
    in srgb,
    var(--md-primary-fg-color) 70%,
    var(--md-default-fg-color--light)
  );
}

.md-nav-search__input:focus {
  border-color: var(--md-primary-fg-color);
  box-shadow: 0 0 0 2px
    color-mix(in srgb, var(--md-primary-fg-color) 25%, transparent);
  background: #fff;
}

/* Popup style (no dim overlay) */
.md-nav-search--popup {
  padding: 0.6rem 0.75rem 0.5rem;
  background: var(--md-default-bg-color);
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.5rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
  position: relative;
  z-index: 1001;
  pointer-events: auto;
}

.md-nav-search--popup .md-nav-search__results {
  max-height: 18rem;
}

.md-nav-search__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1000;
}

.md-nav-search__results {
  margin-top: 0.35rem;
  max-height: 14rem;
  overflow: auto;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.35rem;
  background: var(--md-default-bg-color);
}

.md-nav-search__count {
  padding: 0.35rem 0.6rem;
  font-size: 0.75rem;
  color: var(--md-default-fg-color--light);
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}

.md-nav-search__link {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.45rem 0.7rem;
  color: var(--md-default-fg-color);
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.4;
}

.md-nav-search__link:hover {
  background: color-mix(in srgb, var(--md-primary-fg-color) 10%, transparent);
}

.md-nav-search__link-icon {
  flex-shrink: 0;
  width: 1.2rem;
  height: 1.2rem;
  margin-top: 0.1rem;
  color: var(--md-default-fg-color--light);
}

.md-nav-search__hit {
  color: var(--md-primary-fg-color);
  font-weight: 700;
  background: none;
}

/* "Edit this page" under H1 */
.pm-edit-under-title {
  margin: -0.25rem 0 1rem;
}

.pm-edit-under-title__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--md-primary-fg-color);
  font-weight: 700;
  text-decoration: none;
}

.pm-edit-under-title__link:hover {
  text-decoration: underline;
}

.pm-edit-under-title__sep {
  display: inline-block;
  margin: 0 0.35rem;
  color: var(--md-default-fg-color--light);
}

.pm-edit-under-title__link--muted {
  color: var(--md-default-fg-color--light);
  font-weight: 600;
}

/* =========================
   GitBook-like "Steps"
   稳定用法（推荐）：
   <div class="steps" markdown="1">
   1. ...
   2. ...
   </div>
   兼容用法（若 attr_list 对 list 生效）：列表 class=steps
   ========================= */
.md-typeset .steps > ol,
.md-typeset ol.steps {
  counter-reset: step;
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

.md-typeset .steps > ol > li,
.md-typeset ol.steps > li {
  position: relative;
  padding: 0.15rem 0.5rem 0.15rem 2.75rem;
  margin: 0.75rem 0;
}

.md-typeset .steps > ol > li::before,
.md-typeset ol.steps > li::before {
  counter-increment: step;
  content: counter(step);
  position: absolute;
  left: 0;
  top: 0.15rem;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 700;
  color: var(--md-primary-bg-color);
  background: var(--md-primary-fg-color);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
}

/* 连接竖线：对齐到圆点“正中”（x = 1rem）并从圆点下方延伸到下一步 */
.md-typeset .steps > ol > li:not(:last-child)::after,
.md-typeset ol.steps > li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 1rem; /* 圆点宽 2rem，中心点=1rem */
  top: calc(0.15rem + 2rem + 0.25rem); /* 圆点顶部 + 圆点高度 + 间距 */
  bottom: -0.75rem; /* 覆盖 li 的外边距，让线条连接更自然 */
  width: 3px;
  transform: translateX(-50%);
  background: color-mix(
    in srgb,
    var(--md-primary-fg-color) 35%,
    var(--md-default-fg-color--lightest)
  );
  border-radius: 999px;
}

/* 多行/多段内容：不管 li 里是 p、ul、pre 还是 admonition，都保证上下不挤出“空隙错位” */
.md-typeset .steps > ol > li > :first-child,
.md-typeset ol.steps > li > :first-child {
  margin-top: 0;
}

.md-typeset .steps > ol > li > :last-child,
.md-typeset ol.steps > li > :last-child {
  margin-bottom: 0;
}

/* 子列表/代码块在 steps 中的视觉对齐 */
.md-typeset .steps > ol > li > ul,
.md-typeset .steps > ol > li > ol,
.md-typeset ol.steps > li > ul,
.md-typeset ol.steps > li > ol {
  margin-left: 1rem;
}

.md-typeset .steps > ol > li pre,
.md-typeset ol.steps > li pre {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

/* =========================
   Tables: 配色/斑马纹/可选主题
   稳定用法（推荐）：
   <div class="table-primary" markdown="1">
   |...|
   </div>
   兼容用法（若 attr_list 对 table 生效）：table class=table-primary 等
   - 单元格内容可用 <span class="cell-ok">OK</span> 等
   ========================= */
.md-typeset table {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
}

.md-typeset table thead th,
.md-typeset table tbody td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.md-typeset table thead th {
  background: color-mix(in srgb, var(--md-primary-fg-color) 12%, transparent);
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  font-weight: 600;
}

.md-typeset table tbody tr:nth-child(2n) {
  background: color-mix(in srgb, var(--md-default-fg-color) 4%, transparent);
}

/* Table text left-aligned but not cramped */
.md-typeset table tbody td {
  text-align: left;
  line-height: 1.5;
}

/* Links in tables as inline to avoid line breaks */
.md-typeset table tbody td a {
  display: inline;
  word-break: break-word;
}

.md-typeset table.table-compact th,
.md-typeset table.table-compact td {
  padding: 0.35rem 0.6rem;
}

.md-typeset .table-compact table th,
.md-typeset .table-compact table td {
  padding: 0.35rem 0.6rem;
}

.md-typeset table.table-primary thead th {
  background: color-mix(in srgb, #2563eb 18%, transparent);
}

.md-typeset .table-primary table thead th {
  background: color-mix(in srgb, #2563eb 18%, transparent);
}

.md-typeset table.table-danger thead th {
  background: color-mix(in srgb, #dc2626 16%, transparent);
}

.md-typeset .table-danger table thead th {
  background: color-mix(in srgb, #dc2626 16%, transparent);
}

.md-typeset .cell-ok {
  padding: 0.1rem 0.35rem;
  border-radius: 6px;
  background: color-mix(in srgb, #16a34a 16%, transparent);
  border: 1px solid color-mix(in srgb, #16a34a 25%, transparent);
}

.md-typeset .cell-warn {
  padding: 0.1rem 0.35rem;
  border-radius: 6px;
  background: color-mix(in srgb, #f59e0b 18%, transparent);
  border: 1px solid color-mix(in srgb, #f59e0b 28%, transparent);
}

.md-typeset .cell-bad {
  padding: 0.1rem 0.35rem;
  border-radius: 6px;
  background: color-mix(in srgb, #dc2626 14%, transparent);
  border: 1px solid color-mix(in srgb, #dc2626 22%, transparent);
}

/* =========================
   Hide Material header (use WordPress global nav instead)
   ========================= */
/* .md-header {
  display: none !important;
} */

/* Adjust main content top padding since header is hidden */
.md-main {
  margin-top: 0 !important;
}

/* Keep sidebar at top without header */
.md-sidebar {
  top: 0 !important;
}
/* Hide footer */
.md-footer {
  display: none !important;
}

/* Hide GitHub repository link, edit buttons, and footer meta */
.md-source {
  display: none !important;
}

/* Hide sidebar title/logo in mobile view */
.md-nav__title {
  display: none !important;
}

/* Disable logo click and set logo height */
.md-header__button.md-logo {
  pointer-events: none;
  cursor: default;
}

.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  height: 1.5rem;
  width: auto;
}

/* Disable sidebar Documentation link */
.md-nav__link[href$="index.html"] {
  pointer-events: none;
  cursor: default;
}

/* Hide generated product index links in nested navigation (keep root Documentation link visible) */
.md-nav__list .md-nav__list .md-nav__list .md-nav__item .md-nav__link[href$="index.html"] {
  display: none;
}

/* Hide header buttons */
/* .md-header__button {
  display: none !important;
} */
.wp-global-nav {
  display: none !important;
}

/* =========================
   PDF 分页规则（预生成 PDF 与浏览器打印共用）
   ========================= */
@media print {
  /* 打印背景图/色：手册封面是 background-image，默认不打印会输出空白页 */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* 标题不落页尾：与后续内容绑定进下一页 */
  .md-typeset h1,
  .md-typeset h2,
  .md-typeset h3,
  .md-typeset h4,
  .md-typeset h5 {
    break-after: avoid-page;
    page-break-after: avoid;
  }

  /* 表格：单行不跨页劈开；长表跨页时每页重复表头 */
  .md-typeset table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .md-typeset table thead {
    display: table-header-group;
  }

  /* 图片：适应页宽、整图不跨页劈开 */
  .md-typeset img {
    max-width: 100% !important;
    height: auto !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* 提示框/折叠块不劈开 */
  .md-typeset .admonition,
  .md-typeset details {
    break-inside: avoid;
  }


  /* 图片高度上限：超高截图等比缩小，减少"整图挪下页"造成的页尾留白 */
  .md-typeset img {
    max-height: 170mm;
    width: auto;
    object-fit: contain;
  }

  /* 隐藏标题旁的锚点符号 */
  .md-typeset .headerlink {
    display: none !important;
  }
}

/* deploy trigger: regenerate manual PDFs at 300dpi (2026-07-14) */
