/* ============================================================================
   md-reader 深色主题（https://github.com/md-reader）
   来源：@md-reader/theme (theme.less / highlight / alert.less)
        + md-reader/src/style (variable.less .dark() / index.less 布局)
   说明：样式完全照搬原主题，仅将背景色替换为品牌深蓝（--color-bg、--color-side-bg）。
   ============================================================================ */

body.article-page {
  /* ---------- 变量（variable.less .dark()，背景色换品牌） ---------- */
  --color-white: #fff;
  --color-primary: #6785e0;
  --color-primary--hover: #7191f3;
  --color-primary-alpha-10: rgba(103, 133, 224, 0.1);
  --color-important: #9566e7;
  --color-important-alpha-10: rgba(149, 102, 231, 0.1);
  --color-success: #269f63;
  --color-success-alpha-10: rgba(38, 159, 99, 0.1);
  --color-warning: #e4af45;
  --color-warning-alpha-10: rgba(228, 175, 69, 0.1);
  --color-danger: #ee6262;
  --color-danger-alpha-10: rgba(238, 98, 98, 0.1);
  --color-mark: #fce79b;
  --color-text-primary: #ffffff;
  --color-text-secondary: #bbbbbb;
  --color-text-gray: #909090;
  --color-border: #30363d;
  --color-bg: #06264f;                    /* ← 品牌深蓝（原 #131415） */
  --color-side: var(--color-text-primary);
  --color-side-bg: #041630;               /* ← 品牌深蓝衍生，目录侧栏背景（原 #030405） */
  --color-side-border: #131415;
  --color-side-shadow: 0 0 5px rgba(0, 0, 0, 0.1), 0 0 20px rgba(0, 0, 0, 0.5);
  --color-img-bg: #5a5a5a;
  --color-block-bg: var(--hljs-base);
  --color-code-bg: #1d253d;
  --color-thead-bg: #222425;
  --color-disabled: #989898;
  --opacity-img: 0.8;

  /* ---------- 别名（theme.less / alert.less 实际引用的变量名） ---------- */
  --primary-color: var(--color-primary);
  --primary-color-hover: var(--color-primary--hover);
  --primary-color-alpha-10: var(--color-primary-alpha-10);
  --highlight-color: var(--color-mark);
  --border-color: var(--color-border);
  --bg-stripe: var(--color-thead-bg);
  --bg-code: var(--color-code-bg);
  --bg-block: var(--color-block-bg);
  --bg-image: var(--color-img-bg);
  --text-muted: var(--color-text-gray);
  --text-disabled: var(--color-disabled);
  --success-color: var(--color-success);
  --success-color-alpha-10: var(--color-success-alpha-10);
  --warning-color: var(--color-warning);
  --warning-color-alpha-10: var(--color-warning-alpha-10);
  --danger-color: var(--color-danger);
  --danger-color-alpha-10: var(--color-danger-alpha-10);
  --important-color: var(--color-important);
  --important-color-alpha-10: var(--color-important-alpha-10);

  /* ---------- hljs Atom One Dark（highlight/dark.less + colors.less） ---------- */
  --hljs-base: #1d2433;
  --hljs-mono-1: #c8cbd3;
  --hljs-mono-2: #8a91a0;
  --hljs-mono-3: #6f7583;
  --hljs-hue-1: #63cfdf;
  --hljs-hue-2: #7aa8ff;
  --hljs-hue-3: #bb9af7;
  --hljs-hue-4: #9ece6a;
  --hljs-hue-5: #ff7b94;
  --hljs-hue-5-2: #ef7d94;
  --hljs-hue-6: #ff9e64;
  --hljs-hue-6-2: #e8a37e;
}

/* ============================================================================
   布局（index.less：侧栏目录 + 正文，适配顶栏 64px）
   ============================================================================ */

.md-reader__side {
  overflow: hidden;           /* 外壳：固定全长不动，内容在其内部浮动 */
  position: fixed;
  top: 0;                     /* 全长，透过顶栏毛玻璃可见 */
  bottom: 0;
  left: 0;
  width: 260px;
  border-right: 1px solid var(--color-side-border);
  color: var(--color-side);
  background: var(--color-side-bg);
  transition: transform 0.3s, box-shadow 0.5s;
  z-index: 50;               /* 低于顶栏的 100 */
}
.md-reader__side-follow {
  height: 100%;               /* 与外壳等高：目录可完整滚到底，末尾不被裁切 */
  overflow-y: auto;
  scrollbar-width: none;      /* Firefox：隐藏滚动条 */
  -ms-overflow-style: none;   /* 旧版 Edge/IE */
  transition: transform 0.3s;
}
.md-reader__side-follow::-webkit-scrollbar {
  width: 0;                   /* Chrome/Safari：隐藏滚动条 */
  height: 0;
  display: none;
}
.md-reader__side-list {
  line-height: 1.4;
  font-size: 14px;
  padding: 68px 0 22px; /* 桌面：整体下移 46px（22→68） */
  margin: 0;
  list-style: none;
}
.md-reader__side li {
  list-style: none;
}
.md-reader__side li.md-reader__side-li--active a {
  font-weight: bolder;
  color: #fc5185;
}
.md-reader__side li a {
  overflow: hidden;
  display: -webkit-box;
  padding: 0.3em 1.6em 0.3em 0;
  word-break: break-all;
  text-overflow: ellipsis;
  text-decoration: none;
  transition: color 0.1s;
  color: inherit;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.md-reader__side li a:hover {
  color: #fc5185;
}
.md-reader__side li.md-reader__side-h1 a {
  padding-left: 1.6em;
  font-size: 1.02em;
  font-weight: bolder;
}
.md-reader__side li.md-reader__side-h2 a {
  padding-left: 2.218em;
  font-size: 1.01em;
  font-weight: bolder;
}
.md-reader__side li.md-reader__side-h3 a { padding-left: 2.836em; }
.md-reader__side li.md-reader__side-h4 a { padding-left: 3.454em; }
.md-reader__side li.md-reader__side-h5 a { padding-left: 4.072em; }
.md-reader__side li.md-reader__side-h6 a { padding-left: 4.69em; }

.md-reader__body {
  min-height: 100vh;
  padding-top: 64px;         /* 适配悬浮顶栏 */
  padding-left: 260px;
  transition: padding 0.3s;
}
.md-reader__markdown-content {
  padding: 30px 70px 40px;
  margin: auto;
  max-width: 1200px;         /* 文章显示区域最大宽度 */
  container-type: inline-size; /* 供表格按文章宽度做容器查询 */
  color: var(--color-text-primary);
  transition: max-width 0.1s;
  /* .theme() 基础 */
  font-size: 16px;
  line-height: 1.5;
  font-weight: normal;
  text-rendering: optimizeLegibility;
  letter-spacing: 0.2px;
  word-wrap: break-word;
  overflow-x: hidden;
}

/* 知识库作者标注（缺省哇蓝科技） */
.md-reader__meta {
  position: relative;             /* 语言切换按钮定位基准 */
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-bottom: 22px;
  padding: 0 46px 16px 0;         /* 右侧预留圆形按钮空间 */
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 14px;
  color: rgba(255, 255, 255, 0.62);
}
.md-reader__meta-author strong {
  color: #fff;
  font-weight: 600;
}
.md-reader__meta-date::before {
  content: '·';
  margin-right: 16px;
  opacity: 0.6;
}
.md-reader__meta-reading::before {
  content: '·';
  margin-right: 16px;
  opacity: 0.6;
}
/* 中↔Eng 语言切换按钮（绝对定位到母容器右上角，外观动效与 ai 页「清空对话」按钮一致）。
   选择器带 .md-reader__markdown-content 前缀，以压过正文 a 链接的 color/underline 规则 */
.md-reader__markdown-content .md-reader__meta-lang {
  position: absolute;
  top: 0;
  right: 0;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.33);
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.md-reader__markdown-content .md-reader__meta-lang:hover {
  border-color: #fc5185;
  color: #fff;
  background: rgba(252, 81, 133, 0.12);
}
.md-reader__markdown-content .md-reader__meta-lang:focus-visible {
  outline: 2px solid #fc5185;
  outline-offset: 2px;
}

/* 目录展开按钮（md-reader 逻辑：桌面默认停靠在侧栏右缘，折叠时回到屏幕左缘；移动端常驻左缘） */
.md-reader__btn--side-expand {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 80px;
  left: 16px;
  z-index: 60;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  outline: none;
  cursor: pointer;
  color: var(--color-side);
  background: transparent;
  transition: color 0.1s, transform 0.3s;
  transform: translateX(260px); /* 桌面默认：侧栏可见，按钮在侧栏右缘 */
}
.md-reader__btn--side-expand svg {
  width: 18px;
  height: 18px;
  display: block;
}
.md-reader__btn--side-expand:hover {
  color: #fc5185;
}

body.article-page.side-expanded .md-reader__side {
  box-shadow: var(--color-side-shadow);
  transform: translateX(0);
}
body.article-page.side-expanded .md-reader__btn--side-expand {
  transform: translateX(-50px); /* 移动端滑入后按钮收进左侧 */
}
body.article-page.side-collapsed .md-reader__side {
  transform: translateX(-100%);
  border-color: transparent;
}
body.article-page.side-collapsed .md-reader__body {
  padding-left: 0;
}
body.article-page.side-collapsed .md-reader__btn--side-expand {
  transform: translateX(0); /* 折叠后按钮回到屏幕左缘 */
}

/* ============================================================================
   主题正文（theme.less，照搬）
   ============================================================================ */

.md-reader__markdown-content a,
.md-reader__markdown-content button,
.md-reader__markdown-content input {
  margin: initial;
}
.md-reader__markdown-content a {
  text-decoration: underline;
  cursor: pointer;
  color: var(--primary-color);
}
.md-reader__markdown-content a:active,
.md-reader__markdown-content a:hover {
  color: var(--primary-color-hover);
}
.md-reader__markdown-content mark {
  padding: 0 2px;
  border-radius: 2px;
  background-color: var(--highlight-color);
}
.md-reader__markdown-content button:disabled {
  cursor: not-allowed;
}
.md-reader__markdown-content button.disabled,
.md-reader__markdown-content button.disabled:hover {
  background-color: var(--text-disabled);
  cursor: not-allowed;
}
.md-reader__markdown-content ul {
  padding: 0;
  margin: 0;
}
.md-reader__markdown-content li {
  list-style: none;
}
.md-reader__markdown-content hr {
  border: none;
  border-top: 1px solid #fc5185;
  margin-top: 2.7rem;
  margin-bottom: 2.7rem;
}
.md-reader__markdown-content embed,
.md-reader__markdown-content iframe,
.md-reader__markdown-content img,
.md-reader__markdown-content video {
  max-width: 100% !important;
  margin: 0;
}
.md-reader__markdown-content img {
  opacity: var(--opacity-img);
  max-height: none;
}
.md-reader__markdown-content img[align='right'] {
  float: right;
  width: 120px !important;
  margin-top: 0 !important;
  vertical-align: top;
}
.md-reader__markdown-content img.lazyload {
  visibility: hidden;
}
.md-reader__markdown-content img.inited {
  background-color: var(--bg-image);
  background-position: 50%;
  background-repeat: no-repeat;
  visibility: visible;
}
.md-reader__markdown-content img.loaded {
  background-image: none;
  background-color: transparent;
}
/* 单独成行的图片默认居中；行内图片不受影响 */
.md-reader__markdown-content p > img:only-child {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.md-reader__markdown-content p > a:only-child > img:only-child {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.md-reader__markdown-content input[type='checkbox'] {
  vertical-align: middle;
}
/* 表格外层包裹层：负责横向滑动（table 本身需 display:table 才能拉伸单元格） */
.md-reader__table-wrap {
  overflow-x: auto;        /* 放不下时横向滑动，滑动区域以文章宽度为准 */
  margin: 1rem 0;
}
/* 横向滚动条：去白色背景，滑块与箭头为主题粉 */
.md-reader__table-wrap {
  scrollbar-width: thin;
  scrollbar-color: #fc5185 transparent;   /* Firefox：粉滑块 + 透明轨道 */
}
.md-reader__table-wrap::-webkit-scrollbar { height: 8px; }
.md-reader__table-wrap::-webkit-scrollbar-track { background: transparent; }
.md-reader__table-wrap::-webkit-scrollbar-thumb { background: #fc5185; border-radius: 4px; }
.md-reader__table-wrap::-webkit-scrollbar-button { background: transparent; }
.md-reader__table-wrap table {
  display: table;          /* 恢复表格布局，列可拉伸填充 */
  width: max-content;      /* 以内容宽度为准 */
  max-width: 100%;
  border-collapse: collapse;
  margin: 0 auto;          /* 容器内居中 */
}
.md-reader__markdown-content thead {
  text-align: center;
}
.md-reader__markdown-content th,
.md-reader__markdown-content td {
  white-space: nowrap;     /* 表格不自动换行 */
  text-align: center;      /* 表格数据居中 */
  border: 1px solid #fc5185;
  padding: 0.6em 1em;
}
/* 文章宽度不足 800px：表格压缩到文章宽度，单元格随之压缩 */
@container (max-width: 799.98px) {
  .md-reader__table-wrap table {
    min-width: 100%;
  }
}
/* 文章宽度 ≥ 800px：内容不足 800 时拉宽单元格凑足 800px，内容超 800 时随内容加宽 */
@container (min-width: 800px) {
  .md-reader__table-wrap table {
    min-width: 800px;
  }
}
/* 去掉表格外边框，仅保留内部网格线 */
.md-reader__markdown-content th:first-child,
.md-reader__markdown-content td:first-child {
  border-left: none;
}
.md-reader__markdown-content th:last-child,
.md-reader__markdown-content td:last-child {
  border-right: none;
}
.md-reader__markdown-content thead th {
  border-top: none;
}
.md-reader__markdown-content tbody tr:last-child td {
  border-bottom: none;
}

/* ---------- 块级公式（KaTeX） ---------- */
.md-reader__markdown-content .katex-block {
  overflow-x: auto;    /* 长公式可横向滚动 */
  overflow-y: hidden;
  padding: 6px 0;
  margin: 20px auto;
  text-align: center;
}
.md-reader__markdown-content .katex-block .katex-display {
  margin: 0;
}
.md-reader__markdown-content ol,
.md-reader__markdown-content ul {
  padding-left: 28px;
}
.md-reader__markdown-content ol li,
.md-reader__markdown-content ul li {
  margin-bottom: 0.4em;
  list-style: inherit;
}
.md-reader__markdown-content li.task-list-item,
.md-reader__markdown-content li.task-list-item {
  list-style: none;
}
.md-reader__markdown-content ol ol,
.md-reader__markdown-content ol ul,
.md-reader__markdown-content ul ol,
.md-reader__markdown-content ul ul {
  margin-top: 0.27rem;
}
.md-reader__markdown-content ol li {
  padding-left: 6px;
}
.md-reader__markdown-content ol li.task-list-item ol,
.md-reader__markdown-content ol li.task-list-item ul,
.md-reader__markdown-content ul li.task-list-item ol,
.md-reader__markdown-content ul li.task-list-item ul {
  margin-top: 0;
}
.md-reader__markdown-content p {
  margin-top: 16px;
  margin-bottom: 16px;
}
.md-reader__markdown-content figure {
  margin: 22px auto;
  text-align: center;
}
.md-reader__markdown-content figure figcaption {
  line-height: 1.6;
  text-align: center;
  font-size: 1rem;
  margin-top: 2px;
  color: var(--text-muted);
}
.md-reader__markdown-content blockquote {
  padding: 1px 18px;
  margin: 22px 0;
  border-left: 4px solid #fc5185;
}
.md-reader__markdown-content blockquote:after {
  display: block;
  content: '';
}
.md-reader__markdown-content blockquote:not(.info, .tip, .success, .warning, .danger) > :first-child {
  margin-top: 0;
}
.md-reader__markdown-content blockquote:not(.info, .tip, .success, .warning, .danger) > :last-child {
  margin-bottom: 0;
}
.md-reader__markdown-content blockquote > p {
  margin: 10px 0;
}
.md-reader__markdown-content blockquote.info,
.md-reader__markdown-content blockquote.tip,
.md-reader__markdown-content blockquote.success,
.md-reader__markdown-content blockquote.warning,
.md-reader__markdown-content blockquote.danger {
  position: relative;
  padding-left: 42px;
  border-left: none;
  border-radius: 6px;
  background: var(--bg-block);
}
.md-reader__markdown-content blockquote.tip {
  background: var(--primary-color-alpha-10);
}
.md-reader__markdown-content blockquote.success {
  background: var(--success-color-alpha-10);
}
.md-reader__markdown-content blockquote.warning {
  background: var(--warning-color-alpha-10);
}
.md-reader__markdown-content blockquote.danger {
  background: var(--danger-color-alpha-10);
}
.md-reader__markdown-content blockquote.info:before,
.md-reader__markdown-content blockquote.tip:before,
.md-reader__markdown-content blockquote.success:before,
.md-reader__markdown-content blockquote.warning:before,
.md-reader__markdown-content blockquote.danger:before {
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  text-align: center;
  width: 17px;
  height: 17px;
  line-height: 17px;
  font-size: 13px;
  border-radius: 50%;
  color: var(--color-white);
}
.md-reader__markdown-content blockquote.info:before {
  content: 'i';
  font-family: 'KaTeX_Main';
  background: var(--text-muted);
}
.md-reader__markdown-content blockquote.tip:before {
  content: '?';
  background: var(--primary-color);
}
.md-reader__markdown-content blockquote.success:before {
  content: '✓';
  font-size: 11px;
  background: var(--success-color);
}
.md-reader__markdown-content blockquote.warning:before {
  content: '!';
  background: var(--warning-color);
}
.md-reader__markdown-content blockquote.danger:before {
  content: '✕';
  font-size: 10px;
  background: var(--danger-color);
}
.md-reader__markdown-content .footnotes {
  font-size: 12px;
}
.md-reader__markdown-content .footnotes .footnotes-list {
  padding-left: 16px;
}
.md-reader__markdown-content .footnotes .footnotes-list ul {
  padding-left: 16px;
}
.md-reader__markdown-content code,
.md-reader__markdown-content pre {
  font-family: Menlo, Monaco, Consolas, Courier New, monospace;
}
.md-reader__markdown-content code {
  overflow-x: auto;
  font-size: 0.88rem;
  word-break: break-word;
  padding: 0.065em 0.4em;
  border-radius: 4px;
  background: var(--bg-code);
  color: var(--primary-color);
}
.md-reader__markdown-content pre {
  overflow: auto;
  position: relative;
  line-height: 1.6;
}
.md-reader__markdown-content pre > code {
  display: block;
  overflow-x: auto;
  font-size: 0.88rem;
  padding: 0.67rem 1rem;
  margin: 0;
  word-break: normal;
  -webkit-overflow-scrolling: touch;
  background: var(--hljs-base);
  color: var(--hljs-mono-1);
}
.md-reader__markdown-content pre > code.hljs[lang] {
  min-height: 2.2em;
}
.md-reader__markdown-content pre > code.hljs[lang]:before {
  content: attr(lang);
  position: absolute;
  right: 10px;
  top: 10px;
  line-height: 1;
  color: var(--text-muted);
}
.md-reader__markdown-content pre > code.hljs[lang][lang='bash']:before {
  content: '';
}
.md-reader__markdown-content h1,
.md-reader__markdown-content h2,
.md-reader__markdown-content h3,
.md-reader__markdown-content h4,
.md-reader__markdown-content h5,
.md-reader__markdown-content h6 {
  position: relative;              /* 支撑标题锚点 */
  scroll-margin-top: 68px;         /* 锚点跳转：顶栏下方留 4px 呼吸空间 */
  line-height: 1.5;
  padding-bottom: 5px;
  margin-top: 35px;
  margin-bottom: 10px;
}
.md-reader__markdown-content h1 code,
.md-reader__markdown-content h2 code,
.md-reader__markdown-content h3 code,
.md-reader__markdown-content h4 code,
.md-reader__markdown-content h5 code,
.md-reader__markdown-content h6 code {
  font-size: inherit;
}
.md-reader__markdown-content h1 {
  font-size: 32px;
  margin: 1.3rem 0;
  margin-bottom: 5px;
}
.md-reader__markdown-content h2 {
  font-size: 24px;
  padding-bottom: 8px;
  border-bottom: 1px solid #fc5185;
}
.md-reader__markdown-content h3 {
  font-size: 20px;
  padding-bottom: 0;
}
.md-reader__markdown-content h4 {
  font-size: 16px;
}
.md-reader__markdown-content h5 {
  font-size: 14px;
}
.md-reader__markdown-content h6 {
  font-size: 13px;
}
.md-reader__markdown-content h1.heading + h2.heading {
  margin-top: 20px;
}
.md-reader__markdown-content h1.heading + h3.heading {
  margin-top: 15px;
}
.md-reader__markdown-content .heading + .heading {
  margin-top: 0;
}
.md-reader__markdown-content h1 + :not(.heading) {
  margin-top: 25px;
}

/* 标题锚点（悬停显示） */
.md-reader__markdown-content .md-reader__head-anchor {
  position: absolute;
  left: -0.8em;
  opacity: 0;
  text-decoration: none;
  padding-right: 8px;
  border: none;
  cursor: pointer;
  color: #fc5185;
  transition: opacity 0.3s;
}
.md-reader__markdown-content h1:hover .md-reader__head-anchor,
.md-reader__markdown-content h2:hover .md-reader__head-anchor,
.md-reader__markdown-content h3:hover .md-reader__head-anchor,
.md-reader__markdown-content h4:hover .md-reader__head-anchor,
.md-reader__markdown-content h5:hover .md-reader__head-anchor,
.md-reader__markdown-content h6:hover .md-reader__head-anchor {
  opacity: 1;
}
/* 覆盖通用链接 hover 蓝色，锚点任何状态下保持粉色 */
.md-reader__markdown-content .md-reader__head-anchor:hover,
.md-reader__markdown-content .md-reader__head-anchor:active {
  color: #fc5185;
}

/* ---------- 响应式：标题字号（theme.less） ---------- */
@media (max-width: 720px) {
  .md-reader__markdown-content h1 { font-size: 24px; }
  .md-reader__markdown-content h2 { font-size: 20px; }
  .md-reader__markdown-content h3 { font-size: 18px; }
  .md-reader__markdown-content pre > code.hljs[lang]:before { top: 5px; }
}

/* ============================================================================
   代码高亮（highlight/index.less，Atom One Dark）
   ============================================================================ */
.md-reader__markdown-content pre.hljs-pre {
  border: 1px solid #fc5185;
  border-radius: 6px;
  background: var(--hljs-base);
}
.md-reader__markdown-content .hljs {
  display: block;
  overflow-x: auto;
  color: var(--hljs-mono-1);
  background: var(--hljs-base);
}
.md-reader__markdown-content .hljs-comment,
.md-reader__markdown-content .hljs-quote {
  color: var(--hljs-mono-3);
  font-style: italic;
}
.md-reader__markdown-content .hljs-doctag,
.md-reader__markdown-content .hljs-keyword,
.md-reader__markdown-content .hljs-formula {
  color: var(--hljs-hue-3);
}
.md-reader__markdown-content .hljs-section,
.md-reader__markdown-content .hljs-name,
.md-reader__markdown-content .hljs-selector-tag,
.md-reader__markdown-content .hljs-deletion,
.md-reader__markdown-content .hljs-subst {
  color: var(--hljs-hue-5);
}
.md-reader__markdown-content .hljs-literal {
  color: var(--hljs-hue-1);
}
.md-reader__markdown-content .hljs-string,
.md-reader__markdown-content .hljs-regexp,
.md-reader__markdown-content .hljs-addition,
.md-reader__markdown-content .hljs-attribute,
.md-reader__markdown-content .hljs-meta-string {
  color: var(--hljs-hue-4);
}
.md-reader__markdown-content .hljs-built_in,
.md-reader__markdown-content .hljs-class .hljs-title {
  color: var(--hljs-hue-6-2);
}
.md-reader__markdown-content .hljs-attr,
.md-reader__markdown-content .hljs-variable,
.md-reader__markdown-content .hljs-template-variable,
.md-reader__markdown-content .hljs-type,
.md-reader__markdown-content .hljs-selector-class,
.md-reader__markdown-content .hljs-selector-attr,
.md-reader__markdown-content .hljs-selector-pseudo,
.md-reader__markdown-content .hljs-number {
  color: var(--hljs-hue-6);
}
.md-reader__markdown-content .hljs-symbol,
.md-reader__markdown-content .hljs-bullet,
.md-reader__markdown-content .hljs-link,
.md-reader__markdown-content .hljs-meta,
.md-reader__markdown-content .hljs-selector-id,
.md-reader__markdown-content .hljs-title {
  color: var(--hljs-hue-2);
}
.md-reader__markdown-content .hljs-emphasis {
  font-style: italic;
}
.md-reader__markdown-content .hljs-strong {
  font-weight: bold;
}
.md-reader__markdown-content .hljs-link {
  text-decoration: underline;
}

/* ============================================================================
   提示块（alert.less，照搬）
   ============================================================================ */
.md-reader__markdown-content .markdown-alert {
  padding: 16px 22px;
  border-radius: 6px;
  margin-bottom: 16px;
  color: inherit;
}
.md-reader__markdown-content .markdown-alert > :first-child {
  margin-top: 0;
}
.md-reader__markdown-content .markdown-alert > :last-child {
  margin-bottom: 0;
}
.md-reader__markdown-content .markdown-alert .markdown-alert-title {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-weight: bold;
}
.md-reader__markdown-content .markdown-alert .markdown-alert-title + p {
  margin-top: 0;
}
.md-reader__markdown-content .markdown-alert > p {
  margin-top: 10px;
  margin-bottom: 10px;
}
.md-reader__markdown-content .markdown-alert .markdown-alert-title:before {
  content: '';
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-position: left;
  background-repeat: no-repeat;
}
.md-reader__markdown-content .markdown-alert.markdown-alert-note {
  background-color: var(--primary-color-alpha-10);
}
.md-reader__markdown-content .markdown-alert.markdown-alert-note .markdown-alert-title {
  color: var(--primary-color);
}
.md-reader__markdown-content .markdown-alert.markdown-alert-important {
  background-color: var(--important-color-alpha-10);
}
.md-reader__markdown-content .markdown-alert.markdown-alert-important .markdown-alert-title {
  color: var(--important-color);
}
.md-reader__markdown-content .markdown-alert.markdown-alert-tip {
  background-color: var(--success-color-alpha-10);
}
.md-reader__markdown-content .markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: var(--success-color);
}
.md-reader__markdown-content .markdown-alert.markdown-alert-warning {
  background-color: var(--warning-color-alpha-10);
}
.md-reader__markdown-content .markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: var(--warning-color);
}
.md-reader__markdown-content .markdown-alert.markdown-alert-caution {
  background-color: var(--danger-color-alpha-10);
}
.md-reader__markdown-content .markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: var(--danger-color);
}

/* ---------- 移动端：隐藏侧栏，正文占满（index.less） ---------- */
@media screen and (max-width: 960px) {
  .md-reader__side {
    transform: translateX(-100%);
    border-color: transparent;
  }
  .md-reader__side-follow {
    padding-top: 68px;         /* 顶栏下方留白，任何状态下目录都完整可见 */
  }
  .md-reader__side-list {
    padding-top: 0;            /* 移动端顶部留白由 follow 容器承担 */
  }
  .md-reader__body {
    padding-left: 0;
  }
  .md-reader__btn--side-expand {
    display: initial;
    transform: translateX(0);
  }
}

/* 移动端：目录内容与按钮跟随顶栏的收起/出现一起升降（顶栏 .hide 由各页脚本切换） */
@media (max-width: 768px) {
  .header.hide ~ .md-reader__side .md-reader__side-follow {
    transform: translateY(-64px);
  }
  .header.hide ~ .md-reader__btn--side-expand {
    transform: translateY(-64px);
  }
  body.side-expanded .header.hide ~ .md-reader__btn--side-expand {
    transform: translate(-50px, -64px);
  }
}

/* 文档内下载按钮：粉色线性图表 SVG 图标，透明底，内联不破坏排版。
   选择器带 .md-reader__markdown-content 前缀，压过正文 a 的 color/underline 规则 */
.md-reader__markdown-content .md-dl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  margin: 0 0.3em;
  vertical-align: middle;
  border-radius: 4px;
  color: #fc5185;
  background: transparent;
  text-decoration: none;
  transition: background 0.2s ease;
}
.md-reader__markdown-content .md-dl svg {
  width: 0.9em;          /* ≤ 字高，不撑行 */
  height: 0.9em;
}
.md-reader__markdown-content .md-dl:hover,
.md-reader__markdown-content .md-dl:active {
  color: #fc5185;
  background: rgba(252, 81, 133, 0.12);
}

/* Mermaid 流程图 */
.md-reader__markdown-content .mermaid {
  margin: 28px auto;
  padding: 22px 16px;
  overflow-x: auto;
  text-align: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
}
.md-reader__markdown-content .mermaid svg {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.md-reader__markdown-content .mermaid .edgeLabel {
  padding: 2px 6px;
  border-radius: 4px;
}
