/* ==========================================================================
   代码高亮配色（配合 highlight.js）
   --------------------------------------------------------------------------
   用 CSS 变量定义两套颜色，通过 [data-theme] 自动切换，
   不需要为明暗模式各加载一份样式表。
   ========================================================================== */

:root {
  --hl-comment: #6a737d;
  --hl-keyword: #006cac;
  --hl-string: #22863a;
  --hl-number: #005cc5;
  --hl-function: #6f42c1;
  --hl-title: #22863a;
  --hl-attr: #005cc5;
  --hl-built-in: #e36209;
  --hl-literal: #005cc5;
  --hl-type: #005cc5;
  --hl-variable: #e36209;
  --hl-meta: #6a737d;
  --hl-tag: #22863a;
  --hl-addition: #22863a;
  --hl-deletion: #b31d28;
}

[data-theme="dark"] {
  --hl-comment: #637777;
  --hl-keyword: #c792ea;
  --hl-string: #ecc48d;
  --hl-number: #f78c6c;
  --hl-function: #82aaff;
  --hl-title: #ffcb8b;
  --hl-attr: #addb67;
  --hl-built-in: #addb67;
  --hl-literal: #f78c6c;
  --hl-type: #ffcb8b;
  --hl-variable: #addb67;
  --hl-meta: #637777;
  --hl-tag: #7fdbca;
  --hl-addition: #addb67;
  --hl-deletion: #ef5350;
}

.hljs {
  color: var(--foreground);
  background: transparent;
}

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

.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
  color: var(--hl-keyword);
}

.hljs-string,
.hljs-doctag,
.hljs-regexp,
.hljs-addition {
  color: var(--hl-string);
}

.hljs-number,
.hljs-literal {
  color: var(--hl-number);
}

.hljs-title,
.hljs-title.class_,
.hljs-title.function_,
.hljs-section,
.hljs-name {
  color: var(--hl-title);
}

.hljs-attr,
.hljs-attribute,
.hljs-variable,
.hljs-template-variable,
.hljs-selector-attr,
.hljs-selector-pseudo {
  color: var(--hl-attr);
}

.hljs-built_in,
.hljs-symbol,
.hljs-bullet,
.hljs-link {
  color: var(--hl-built-in);
}

.hljs-type,
.hljs-class .hljs-title,
.hljs-params {
  color: var(--hl-type);
}

.hljs-meta,
.hljs-meta .hljs-keyword,
.hljs-selector-id,
.hljs-selector-class {
  color: var(--hl-meta);
}

.hljs-tag {
  color: var(--hl-tag);
}

.hljs-deletion {
  color: var(--hl-deletion);
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: 700;
}
