/* ============================================================
   开源机器人学学习指南 — 自定义样式
   目标：现代、干净的中文阅读体验（暖调 + 系统黑体正文）。全部系统字体，无外部 CDN。
   （曾试过宋体系衬线正文，屏显笔画偏细、暗色模式发虚，按作者反馈改回无衬线。）
   注：配色 / 字体变量用 body[data-md-color-scheme] 选择器（特指度 0,1,1，高于 :root），
       以压过 Material 主题及其内联注入的 :root 默认值。
   ============================================================ */

/* ---------- 字体 ----------
   正文与标题统一系统无衬线（macOS 取 PingFang，Windows 取雅黑，Linux 取思源黑体），
   代码系统等宽。均为系统字体，不加载外部字库。 */
body[data-md-color-scheme] {
  --md-text-font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
    "Source Han Sans SC", "Noto Sans CJK SC", sans-serif;
  --md-code-font-family:
    ui-monospace, "SF Mono", "SFMono-Regular", Menlo,
    "Cascadia Code", "JetBrains Mono", Consolas, "Liberation Mono", monospace;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.md-typeset {
  font-family: var(--md-text-font-family);
  line-height: 1.85;                 /* 中文正文加大行距 */
}

/* 段落与列表：两端对齐 + 更从容的段距，中文长文更整齐耐读 */
.md-typeset p,
.md-typeset li {
  text-align: justify;
}
.md-typeset p {
  margin-block: 0.9em;
}
.md-typeset li {
  margin-block: 0.3em;
}

/* 正文加粗用中黑（600），避免大段黑体里 700 过于扎眼 */
.md-typeset strong {
  font-weight: 600;
}

/* 章内小节（本书用 H1 + H3 两级）：小节之间留足呼吸 */
.md-typeset h3 {
  margin-top: 1.8em;
}

/* 标题：同族无衬线加重，靠字重与留白区分层级 */
.md-typeset h1, .md-typeset h2, .md-typeset h3,
.md-typeset h4, .md-typeset h5, .md-typeset h6 {
  font-family: var(--md-text-font-family);
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* ---------- 品牌配色（暖调：炭墨 + 陶土）---------- */
body[data-md-color-scheme="default"] {
  --md-primary-fg-color:        #3e3a36;   /* 页眉：暖炭墨 */
  --md-primary-fg-color--light: #55504a;
  --md-primary-fg-color--dark:  #2b2825;
  --md-primary-bg-color:        #ffffff;   /* 页眉上的文字 / 图标 */
  --md-primary-bg-color--light: rgba(255, 255, 255, 0.72);
  --md-accent-fg-color:         #c15f3c;   /* 交互强调：陶土 */
  --md-typeset-a-color:         #b4552f;   /* 正文链接：稍深陶土，保证对比度 */
}
body[data-md-color-scheme="slate"] {
  --md-primary-fg-color:        #26221f;
  --md-primary-fg-color--light: #3a3531;
  --md-primary-fg-color--dark:  #1b1815;
  --md-primary-bg-color:        #ffffff;
  --md-accent-fg-color:         #e0805f;   /* 暗色下更亮的陶土 */
  --md-typeset-a-color:         #e0805f;
}

/* ---------- 插图 ----------
   替代旧的 <p align="center">：由 CSS 统一居中、自适应、圆角。
   图片自身的 width 仍生效，窄屏由 max-width 收缩。 */
.md-typeset img {
  max-width: 100%;
  height: auto;
}
.md-typeset p > img,
.md-typeset figure > img,
.md-typeset a.glightbox {
  display: block;
  margin-inline: auto;
}
.md-typeset a.glightbox {          /* glightbox 会把 <img> 包进 <a>，让链接本身也居中 */
  width: fit-content;
  max-width: 100%;
  cursor: zoom-in;
}
.md-typeset p > img,
.md-typeset figure > img,
.md-typeset a.glightbox > img {
  border-radius: 8px;
}

/* ---------- glightbox 放大层：统一显示尺寸 ----------
   三张动图源自旧 GIF、分辨率偏低（约 250–400px），glightbox 默认按原始尺寸显示会偏小。
   这里统一按视口高度显示、宽度自适应（不失真）；低分辨率图会被放大，略糊属源分辨率所限。 */
.glightbox-container .gslide-image img {
  width: auto !important;
  height: min(72vh, 680px) !important;
  max-width: 92vw !important;
  border-radius: 6px;
}

/* 图注：<figure> + <figcaption>，灰色小字居中显示（正文与 GitHub 双端可见） */
.md-typeset figure {
  margin: 1em auto;
  width: fit-content;
  max-width: 100%;
}
.md-typeset figcaption {
  color: var(--md-default-fg-color--light);
  font-size: .72rem;
  line-height: 1.6;
  text-align: center;
  margin: .35rem auto 0;
  max-width: 36em;
}

/* ---------- 框注（admonition）：统一陶土色系，去掉默认蓝绿 ---------- */
.md-typeset .admonition,
.md-typeset details,
.md-typeset .admonition.note,    .md-typeset details.note,
.md-typeset .admonition.info,    .md-typeset details.info,
.md-typeset .admonition.example, .md-typeset details.example,
.md-typeset .admonition.warning, .md-typeset details.warning,
.md-typeset .admonition.tip,     .md-typeset details.tip {
  border-color: rgba(193, 95, 60, 0.5);
  border-radius: 8px;
  box-shadow: none;
  font-size: 0.72rem;            /* 默认 0.64rem 偏小，略调大 */
}
.md-typeset .admonition-title,
.md-typeset .note    > .admonition-title,
.md-typeset .info    > .admonition-title,
.md-typeset .example > .admonition-title,
.md-typeset .warning > .admonition-title,
.md-typeset .tip     > .admonition-title {
  background-color: rgba(193, 95, 60, 0.10);
}
.md-typeset .admonition-title::before,
.md-typeset .note    > .admonition-title::before,
.md-typeset .info    > .admonition-title::before,
.md-typeset .example > .admonition-title::before,
.md-typeset .warning > .admonition-title::before,
.md-typeset .tip     > .admonition-title::before {
  background-color: #c15f3c;
}
body[data-md-color-scheme="slate"] .md-typeset .admonition,
body[data-md-color-scheme="slate"] .md-typeset details {
  border-color: rgba(224, 128, 95, 0.45);
}
body[data-md-color-scheme="slate"] .md-typeset .admonition-title::before {
  background-color: #e0805f;
}
