/*
 * 晴月 Minecraft 文档样式
 *
 * 常用修改位置：
 * 1. 整体正文字号：.md-typeset 的 font-size
 * 2. 首页大标题：.doc-page-title 的 font-size
 * 3. 章节标题：.md-typeset h1 / h2 / h3 的 font-size
 * 4. 表格字号：.md-typeset table:not([class]) 的 font-size
 * 5. 左侧栏宽度：--doc-sidebar-width
 * 6. 左侧目录字号：.md-sidebar--primary .md-nav__link 的 font-size
 * 7. 手机端样式：文件末尾 max-width: 44.984375em 的区域
 *
 * MkDocs Material 默认情况下 1rem 约为 20px，0.9rem 约为 18px。
 */

/* ==================== 全局颜色与尺寸变量 ==================== */
:root,
[data-md-color-scheme="qingyue-light"] {
  /* MkDocs Material 主题颜色。 */
  --md-primary-fg-color: #ffffff;
  --md-primary-fg-color--light: #ffffff;
  --md-primary-fg-color--dark: #f3f3f3;
  --md-primary-bg-color: #151515;
  --md-primary-bg-color--light: #555555;
  --md-accent-fg-color: #111111;
  --md-accent-fg-color--transparent: rgba(17, 17, 17, 0.08);
  --md-default-fg-color: #181818;
  --md-default-fg-color--light: #595959;
  --md-default-fg-color--lighter: #8a8a8a;
  --md-default-fg-color--lightest: #e5e5e5;
  --md-default-bg-color: #ffffff;
  --md-code-fg-color: #202020;
  --md-code-bg-color: #f5f5f5;

  /* 本站自定义变量：分隔线、次要文字和左侧栏宽度。 */
  --doc-border: #dddddd;
  --doc-muted: #666666;
  --doc-sidebar-width: 15rem;
}

/* 点击左侧目录时平滑滚动；上方预留 2rem 空间。 */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 2rem;
}

/* ==================== 页面基础样式 ==================== */
body {
  color: var(--md-default-fg-color);
  background: var(--md-default-bg-color);
  /* 优先使用系统字体，不另外加载网络字体。 */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC",
    "Microsoft YaHei", Arial, sans-serif;
}

/* ==================== 顶部栏（平板和手机端） ==================== */
/* 桌面端顶部栏会在后面隐藏，改用固定左侧栏。 */
.md-header {
  color: #151515;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--doc-border);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.md-header__inner {
  /* 顶部栏高度。 */
  min-height: 3.4rem;
}

/* 不显示顶部 Logo，保持纯文档风格。 */
.md-header__button.md-logo {
  display: none;
}

.md-header__title {
  margin-left: 0.25rem;
  /* 平板和手机顶部的站点标题字号。 */
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0;
}

/* 搜索框使用方形、黑白灰样式。 */
.md-search__form {
  background: #f3f3f3;
  border: 1px solid var(--doc-border);
  border-radius: 0;
}

/* ==================== 正文宽度与留白 ==================== */
.md-content__inner {
  /* 右侧正文最大宽度，数值越大每行文字越多。 */
  max-width: 52rem;
  margin-inline: auto;
  /* 顺序：上 / 左右 / 下。 */
  padding: 3.75rem 2.5rem 6rem;
}

/* ==================== 正文字号与标题层级 ==================== */
.md-typeset {
  color: #242424;
  /* 全站正文基准字号。 */
  font-size: 0.9rem;
  /* 正文行高，数值越大行间距越宽。 */
  line-height: 1.56;
}

/* 首页独立标题：保持大标题样式，但不进入章节目录。 */
.doc-page-title {
  margin: 0 0 1.3rem;
  color: #111111;
  font-size: 1.85rem;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.03em;
}

/* 所有标题共用的颜色、字重和字距。 */
.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  color: #111111;
  font-weight: 650;
  letter-spacing: -0.015em;
}

/* 各个文档章节的一级标题。 */
.md-typeset h1 {
  /* margin：上 / 左右 / 下，padding-top 控制分隔线到标题的距离。 */
  margin: 4.5rem 0 1.3rem;
  padding-top: 2.25rem;
  border-top: 1px solid var(--doc-border);
  font-size: 1.4rem;
  line-height: 1.28;
}

/* 章节内的二级标题。 */
.md-typeset h2 {
  margin: 2.7rem 0 0.9rem;
  padding-top: 0.4rem;
  font-size: 1.02rem;
  line-height: 1.4;
}

/* 章节内的三级标题。 */
.md-typeset h3 {
  margin: 2rem 0 0.7rem;
  font-size: 0.88rem;
  line-height: 1.45;
}

/* 段落和列表上下间距。 */
.md-typeset p,
.md-typeset ul,
.md-typeset ol {
  margin-block: 0.8em;
}

/* ==================== 正文超链接 ==================== */
/* 排除按钮与标题锚点，避免破坏这些组件原有的交互样式。 */
.md-typeset a:not(.md-button):not(.headerlink) {
  color: #0b3a75;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

.md-typeset a:not(.md-button):not(.headerlink):hover,
.md-typeset a:not(.md-button):not(.headerlink):focus {
  color: #06284f;
  text-decoration-color: currentColor;
}

/* ==================== 行内代码与代码块 ==================== */
.md-typeset code {
  border: 1px solid #e1e1e1;
  border-radius: 0.15rem;
  box-shadow: none;
}

.md-typeset pre > code {
  border: 0;
  border-radius: 0;
}

.md-typeset .highlight,
.md-typeset .highlighttable {
  border: 1px solid var(--doc-border);
  border-radius: 0;
  box-shadow: none;
}

/* ==================== 表格 ==================== */
.md-typeset table:not([class]) {
  border: 0;
  border-top: 1px solid #bdbdbd;
  border-bottom: 1px solid #bdbdbd;
  border-radius: 0;
  box-shadow: none;
  /* 表格字号独立于正文，当前略大于正文。 */
  font-size: 0.9rem;
}

.md-typeset table:not([class]) th {
  /* 表头单元格的最小宽度。 */
  min-width: 6rem;
  color: #111111;
  background: #f5f5f5;
  font-weight: 650;
}

.md-typeset table:not([class]) td,
.md-typeset table:not([class]) th {
  /* 单元格内边距：上下 / 左右。 */
  padding: 0.65em 0.9em;
  border-color: var(--doc-border);
}

/* 正文中的水平分隔线。 */
.md-typeset hr {
  margin: 3.5rem 0;
  border-bottom-color: var(--doc-border);
}

/* ==================== 提示框和可展开区块 ==================== */
.md-typeset .admonition,
.md-typeset details {
  border: 1px solid var(--doc-border);
  border-left: 0.18rem solid #222222;
  border-radius: 0;
  box-shadow: none;
}

.md-typeset .admonition-title,
.md-typeset summary {
  background: #f4f4f4;
}

.md-typeset .admonition-title::before,
.md-typeset summary::before {
  display: none;
}

/* ==================== 左侧文档目录 ==================== */
.md-sidebar--primary {
  color: #333333;
  background: #fafafa;
  border-right: 1px solid var(--doc-border);
}

.md-sidebar--primary .md-nav__title {
  color: #111111;
  background: #fafafa;
  box-shadow: none;
}

/* 左侧栏最上方的站点标题。 */
.doc-nav__brand {
  display: block;
  color: #111111;
  font: inherit;
  text-decoration: none;
}

.doc-nav__brand:hover,
.doc-nav__brand:focus {
  color: #111111;
}

.md-sidebar--primary .md-nav__link {
  /* 左侧目录普通条目的间距与字号。 */
  margin-top: 0.42rem;
  color: #666666;
  font-size: 0.88rem;
  line-height: 1.45;
}

.md-sidebar--primary .md-nav__link:hover,
.md-sidebar--primary .md-nav__link:focus,
.md-sidebar--primary .md-nav__link--active {
  color: #111111;
}

.md-sidebar--primary .md-nav__link--active {
  font-weight: 650;
}

/* 左侧目录中较高层级的条目。 */
.md-sidebar--primary .md-nav[data-md-level="1"] > .md-nav__list > .md-nav__item > .md-nav__link {
  margin-top: 0.72rem;
  font-size: 0.76rem;
}

/* 左侧目录中的子条目。 */
.md-sidebar--primary .md-nav[data-md-level="2"] .md-nav__link {
  margin-top: 0.3rem;
  color: #797979;
  font-size: 0.64rem;
}

/* 隐藏 MkDocs 默认页脚。 */
.md-footer {
  display: none;
}

/* ==================== 桌面端布局 ==================== */
/* 76.25em 以上：左侧目录固定，右侧正文整体滚动。 */
@media screen and (min-width: 76.25em) {
  /* 桌面端不需要顶部栏。 */
  .md-header {
    display: none;
  }

  .md-main__inner {
    max-width: none;
    min-height: 100vh;
    margin: 0;
  }

  .md-sidebar--primary {
    /* 左侧栏固定在视窗左侧，高度始终占满屏幕。 */
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--doc-sidebar-width);
    height: 100vh;
    padding: 0;
  }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    /* 当目录超出屏幕高度时，目录自身可滚动。 */
    margin: 0;
    overflow-y: auto;
  }

  .md-sidebar--primary .md-sidebar__inner {
    /* 左侧栏内边距：上 / 左右 / 下。 */
    padding: 2.25rem 0.9rem 3rem;
  }

  .md-nav--primary > .md-nav__title {
    /* 左侧栏最上方的站点名称。 */
    display: block;
    position: sticky;
    z-index: 2;
    top: 0;
    height: auto;
    margin: -2.25rem -0.9rem 1.35rem;
    padding: 2.25rem 0.9rem 1.2rem;
    border-bottom: 1px solid var(--doc-border);
    background: #fafafa;
    font-size: 1.25rem;
    font-weight: 750;
    line-height: 1.22;
  }

  .md-nav--primary > .md-nav__title .md-logo {
    display: none;
  }

  .md-content {
    max-width: none;
    /* 为固定左侧栏留出同等宽度。 */
    margin-left: var(--doc-sidebar-width);
  }
}

/* ==================== 平板及以下 ==================== */
@media screen and (max-width: 76.234375em) {
  html {
    /* 点击目录后，避免标题被顶部栏遮挡。 */
    scroll-padding-top: 4.25rem;
  }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    background: #fafafa;
  }
}

/* ==================== 手机端 ==================== */
@media screen and (max-width: 44.984375em) {
  .md-content__inner {
    /* 手机端正文内边距：上 / 左右 / 下。 */
    padding: 2.5rem 1.15rem 4rem;
  }

  .md-typeset {
    /* 手机端正文字号与行高。 */
    font-size: 0.9rem;
    line-height: 1.18;
  }

  .md-typeset h1 {
    /* 手机端普通一级标题。 */
    margin-top: 3.5rem;
    padding-top: 1.75rem;
    font-size: 1.3rem;
  }

  .doc-page-title {
    /* 手机端页面大标题。 */
    font-size: 1.6rem;
  }

  .md-typeset h2 {
    /* 手机端二级标题。 */
    margin-top: 2.25rem;
    font-size: 0.98rem;
  }
}
