/* 代码高亮配色：颜色全部走 CSS 变量，深/浅色主题各一套 */
:root {
  --code-comment: #7d8da3;
  --code-keyword: #c792ea;
  --code-string: #9ece6a;
  --code-number: #f78c6c;
  --code-function: #82aaff;
  --code-type: #ffcb6b;
  --code-operator: #89ddff;
  --code-macro: #7fdbca;
  --code-var: #e7ebf2;
}
[data-theme="light"] {
  --code-comment: #7a8699;
  --code-keyword: #a626a4;
  --code-string: #4f9d3f;
  --code-number: #b76b01;
  --code-function: #4078f2;
  --code-type: #c18401;
  --code-operator: #0184bc;
  --code-macro: #0b7285;
  --code-var: #1b2330;
}

.prose pre code.hljs,
code.hljs {
  display: block;
  background: none;
  padding: 0;
  overflow: visible;
}

.hljs-comment,
.hljs-quote {
  color: var(--code-comment);
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-literal,
.hljs-section,
.hljs-doctag,
.hljs-name {
  color: var(--code-keyword);
}

.hljs-string,
.hljs-regexp,
.hljs-addition,
.hljs-char.escape_ {
  color: var(--code-string);
}

.hljs-number,
.hljs-symbol,
.hljs-bullet {
  color: var(--code-number);
}

.hljs-title,
.hljs-title.function_,
.hljs-title.class_ {
  color: var(--code-function);
}

.hljs-type,
.hljs-built_in,
.hljs-class .hljs-title {
  color: var(--code-type);
}

.hljs-meta,
.hljs-meta .hljs-keyword,
.hljs-meta .hljs-string {
  color: var(--code-macro);
}

.hljs-operator,
.hljs-punctuation {
  color: var(--code-operator);
}

.hljs-variable,
.hljs-template-variable,
.hljs-attr,
.hljs-attribute,
.hljs-property {
  color: var(--code-var);
}

/* 函数形参 保持正文颜色，避免白底下变成“透明” */
.hljs-params { color: inherit; }

.hljs-emphasis { font-style: italic; }
.hljs-strong { font-weight: 600; }

/* 打印时（白底）改用深色高对比配色 */
@media print {
  html[data-theme] {
    --code-comment: #5a6673;
    --code-keyword: #7b3fa0;
    --code-string: #2f7d32;
    --code-number: #a35a00;
    --code-function: #1a56c4;
    --code-type: #8a6100;
    --code-operator: #0b6a86;
    --code-macro: #0b6a86;
    --code-var: #1b2330;
  }
}
