/* ───────────────────────────────────────────────────────────
   自定义样式（源文件）。build_docs.py 每次把本文件拷进 docs/stylesheets/，
   mkdocs.yml 的 extra_css 引用。改样式改这里，别改 docs/（会被重建清空）。
   两块：① 左侧导航层级；② 卡片正文页阅读体验。均用主题变量，深浅色都安全。
   ─────────────────────────────────────────────────────────── */

/* ═══════════ ① 左侧导航（按角色分层，任意展开层级都成立）═══════════ */

/* 「分类/分组」标题 = 含子项的节点：加粗 + 主题色，和页面条目明显拉开 */
.md-nav--primary .md-nav__item--nested > .md-nav__link {
  font-weight: 700;
  color: var(--md-primary-fg-color);
}

/* 一级类别（0-总览 / 1-感知 …）：最大 + 类别间分隔线 */
.md-nav--primary > .md-nav__list > .md-nav__item > .md-nav__link {
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin-top: 0.85rem;
}
.md-nav--primary > .md-nav__list > .md-nav__item:not(:first-child) > .md-nav__link {
  border-top: 1px solid var(--md-default-fg-color--lightest);
  padding-top: 0.7rem;
}

/* 二级分组（若有更深嵌套）：中等，仍加粗主题色但小一号 */
.md-nav--primary .md-nav__item .md-nav__item--nested > .md-nav__link {
  font-size: 0.8rem;
  margin-top: 0.3rem;
}

/* 叶子页面条目 = 无子项的节点：小、常规、浅色 */
.md-nav--primary .md-nav__item:not(.md-nav__item--nested) > .md-nav__link {
  font-size: 0.74rem;
  font-weight: 400;
  color: var(--md-default-fg-color--light);
  padding-top: 0.18rem;
  padding-bottom: 0.18rem;
  transition: color 0.15s ease;
}
.md-nav--primary .md-nav__item:not(.md-nav__item--nested) > .md-nav__link:hover {
  color: var(--md-primary-fg-color);
}

/* 当前页：主题色 + 加粗 + 淡底高亮，一眼看出在哪（消除"都一样大"） */
.md-nav--primary .md-nav__link--active {
  color: var(--md-primary-fg-color) !important;
  font-weight: 700;
  background: var(--md-code-bg-color);
  border-radius: 0.2rem;
}


/* ═══════════ ② 卡片正文页 ═══════════ */

/* 顶部/行内引用块 → 柔和面板：卡片顶部「一句话省流/批注」更清爽 */
.md-typeset blockquote {
  border-left: 3px solid var(--md-primary-fg-color);
  border-radius: 0 0.3rem 0.3rem 0;
  background: var(--md-code-bg-color);
  color: var(--md-default-fg-color);
  padding: 0.6rem 0.9rem;
}

/* 章节标题（## 🧰 / 亮点 / 关键数字 …）：留白 + 细分隔线，段落分明 */
.md-typeset h1 { margin-bottom: 0.6em; }
.md-typeset h2 {
  margin-top: 1.7em;
  padding-bottom: 0.25em;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}
.md-typeset h3 { margin-top: 1.3em; }

/* 表格：占满宽度、表头淡底、字号收一号，密表更好读 */
.md-typeset table:not([class]) {
  display: table;
  width: 100%;
  font-size: 0.72rem;
}
.md-typeset table:not([class]) th {
  background: var(--md-default-fg-color--lightest);
  font-weight: 700;
}

/* 列表行距舒展一点 */
.md-typeset li { margin-bottom: 0.25em; }


/* ═══════════ ③ 顶部头/标签栏 —— 去 teal，极简编辑风（配合着陆层）═══════════ */
:root{ --kbl-accent:#DE5528; }
[data-md-color-scheme="slate"]{ --kbl-accent:#F26A3C; }

/* 头部与标签栏：与页面同底色、发丝线、无重阴影、去掉 teal 实心块 */
.md-header{
  background-color: var(--md-default-bg-color);
  color: var(--md-default-fg-color);
  box-shadow: none !important;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}
.md-header__title, .md-header__topic, .md-header__button{ color: var(--md-default-fg-color); }
.md-header__button svg{ fill: currentColor; }
.md-header__title{ font-weight: 600; }

/* 搜索框：浅底、深字，配浅色头 */
.md-search__input{ background: var(--md-default-fg-color--lightest); color: var(--md-default-fg-color); }
.md-search__input::placeholder{ color: var(--md-default-fg-color--light); }
.md-search__icon{ color: var(--md-default-fg-color--light); }

/* 一级标签栏（navigation.tabs）：去 teal、弱化、hover/active 用橙 */
.md-tabs{
  background-color: var(--md-default-bg-color);
  color: var(--md-default-fg-color);
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}
.md-tabs__link{ color: var(--md-default-fg-color); opacity: .68; font-size: .72rem; }
.md-tabs__link:hover, .md-tabs__link--active{ opacity: 1; color: var(--kbl-accent); }


/* ═══════════ ④ 知识图谱页 ═══════════ */
.md-grid:has(.kbg){ max-width: none; }   /* 解除内容列宽度限制→图谱全宽 */
.kbg{ height: calc(100vh - 230px); min-height:520px; border:1px solid var(--md-default-fg-color--lightest);
  border-radius:8px; background:var(--md-default-bg-color); overflow:hidden; cursor:grab; }
.kbg canvas{ display:block; }
.kbg-legend{ display:flex; flex-wrap:wrap; gap:.4rem 1.1rem; margin:.3rem 0 1rem; font-size:.75rem; }
.kbg-legend .lg{ display:inline-flex; align-items:center; gap:.35rem; color:var(--md-default-fg-color--light); }
.kbg-legend .lg i{ width:10px; height:10px; border-radius:50%; display:inline-block; }
.kbg-legend .lg b{ color:var(--md-default-fg-color); font-weight:600; }
.kbg-meta{ font-family:ui-monospace,monospace; font-size:.72rem; color:var(--md-default-fg-color--light); margin:.2rem 0; }
.kbg-hint{ font-size:.72rem; color:var(--md-default-fg-color--light); margin-top:.5rem; }
.kbg-search{ width:100%; max-width:320px; padding:.45rem .7rem; margin:.2rem 0 .6rem; font-size:.82rem;
  border:1px solid var(--md-default-fg-color--lightest); border-radius:6px; background:var(--md-default-bg-color); color:var(--md-default-fg-color); }
.kbg-legend .lg{ cursor:pointer; padding:.15rem .5rem; border-radius:20px; border:1px solid transparent; user-select:none; }
.kbg-legend .lg:hover{ border-color:var(--md-default-fg-color--lighter); }
.kbg-legend .lg.on{ border-color:var(--kbl-accent,#DE5528); color:var(--md-default-fg-color); }
.kbg-legend .lg-all{ color:var(--md-default-fg-color--light); }


/* ═══════════ ⑤ 全站调色板 —— teal → 暖中性 + 橙强调（统一"最新风格"）═══════════ */
[data-md-color-scheme="default"]{
  --md-default-bg-color:        #F5F2EA;
  --md-default-fg-color:        #1A1712;
  --md-default-fg-color--light: #514B3D;
  --md-default-fg-color--lighter:#8A8274;
  --md-default-fg-color--lightest:#E2DCCE;
  --md-primary-fg-color:        #C8452A;
  --md-primary-fg-color--light: #DE5528;
  --md-primary-fg-color--dark:  #A8371F;
  --md-primary-bg-color:        #F5F2EA;
  --md-accent-fg-color:         #C8452A;
  --md-typeset-a-color:         #B14A2E;
  --md-code-bg-color:           #ECE7DC;
  --md-code-fg-color:           #514B3D;
}
[data-md-color-scheme="slate"]{
  --md-default-bg-color:        #14110B;
  --md-default-fg-color:        #EAE4D8;
  --md-default-fg-color--light: #B4AC9C;
  --md-default-fg-color--lighter:#8A8274;
  --md-default-fg-color--lightest:#2E2A20;
  --md-primary-fg-color:        #F26A3C;
  --md-primary-fg-color--light: #F26A3C;
  --md-primary-fg-color--dark:  #C8452A;
  --md-primary-bg-color:        #14110B;
  --md-accent-fg-color:         #F26A3C;
  --md-typeset-a-color:         #E8785C;
  --md-code-bg-color:           #201B12;
  --md-code-fg-color:           #C9C1B0;
}
/* 正文排版：系统字 + 编辑感标题 */
body, .md-typeset, .md-nav, .md-header, .md-tabs, input, .md-search__input{
  font-family: system-ui,-apple-system,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
}
.md-typeset h1,.md-typeset h2,.md-typeset h3{ letter-spacing:-.01em; }
/* 链接不那么跳：默认warm、hover才亮accent+下划线 */
.md-typeset a{ text-decoration:none; }
.md-typeset a:hover{ color:var(--md-accent-fg-color); text-decoration:underline; text-underline-offset:2px; }


/* ═══════════ ⑥ 返回官网公告条（顶部 announce）═══════════ */
/* robot-kb 是 platorobotics.ai 的知识分站，给每页顶部一条回主站的路。标记在 overrides/main.html。 */
.md-banner{
  background-color: var(--md-code-bg-color);
  color: var(--md-default-fg-color--light);
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}
.md-banner__inner{
  margin: 0.42rem auto;
  text-align: center;
  font-size: 0.72rem;
}
.kb-site-link{
  display: inline-flex; align-items: center; gap: 0.45rem;
  color: var(--md-default-fg-color--light);
  font-weight: 500; letter-spacing: 0.02em;
  transition: color 0.15s ease;
}
.kb-site-link:hover{ color: var(--md-primary-fg-color); }
.kb-site-link__back{ color: var(--md-primary-fg-color); font-weight: 700; }
.kb-site-link__main{ color: var(--md-default-fg-color); }
.kb-site-link:hover .kb-site-link__main{ color: var(--md-primary-fg-color); }
.kb-site-link__sep, .kb-site-link__muted{ color: var(--md-default-fg-color--lighter); }
@media (max-width: 600px){
  .kb-site-link__sep, .kb-site-link__muted{ display: none; }
}
