/* ==========================================================================
   GitHub 风格主题 - Prism 语法高亮配色（F3）
   对齐 GitHub Primer 明暗代码配色；仅作用域 .gh-article-body.markdown，
   不影响后台与其他主题。令牌跟随 style.css 明暗体系（[data-theme]）。
   ========================================================================== */

/* 基础：token 默认继承正文前景色 */
.gh-article-body.markdown code[class*="language-"] span,
.gh-article-body.markdown pre[class*="language-"] span {
    color: inherit;
}

/* ---------- 明亮模式 ---------- */
[data-theme="light"] .gh-article-body.markdown .token.comment,
[data-theme="light"] .gh-article-body.markdown .token.prolog,
[data-theme="light"] .gh-article-body.markdown .token.doctype,
[data-theme="light"] .gh-article-body.markdown .token.cdata {
    color: #59636e; /* fg-muted */
}

[data-theme="light"] .gh-article-body.markdown .token.punctuation {
    color: #1f2328; /* fg-default */
}

[data-theme="light"] .gh-article-body.markdown .token.property,
[data-theme="light"] .gh-article-body.markdown .token.tag,
[data-theme="light"] .gh-article-body.markdown .token.constant,
[data-theme="light"] .gh-article-body.markdown .token.symbol,
[data-theme="light"] .gh-article-body.markdown .token.deleted {
    color: #0550ae;
}

[data-theme="light"] .gh-article-body.markdown .token.boolean,
[data-theme="light"] .gh-article-body.markdown .token.number {
    color: #0550ae;
}

[data-theme="light"] .gh-article-body.markdown .token.selector,
[data-theme="light"] .gh-article-body.markdown .token.attr-name,
[data-theme="light"] .gh-article-body.markdown .token.string,
[data-theme="light"] .gh-article-body.markdown .token.char,
[data-theme="light"] .gh-article-body.markdown .token.builtin,
[data-theme="light"] .gh-article-body.markdown .token.inserted {
    color: #0a3069;
}

[data-theme="light"] .gh-article-body.markdown .token.operator,
[data-theme="light"] .gh-article-body.markdown .token.entity,
[data-theme="light"] .gh-article-body.markdown .token.url {
    color: #1f2328;
}

[data-theme="light"] .gh-article-body.markdown .token.atrule,
[data-theme="light"] .gh-article-body.markdown .token.attr-value,
[data-theme="light"] .gh-article-body.markdown .token.keyword {
    color: #cf222e;
}

[data-theme="light"] .gh-article-body.markdown .token.function,
[data-theme="light"] .gh-article-body.markdown .token.class-name {
    color: #8250df;
}

[data-theme="light"] .gh-article-body.markdown .token.regex,
[data-theme="light"] .gh-article-body.markdown .token.important,
[data-theme="light"] .gh-article-body.markdown .token.variable {
    color: #953800;
}

/* ---------- 暗色模式 ---------- */
[data-theme="dark"] .gh-article-body.markdown .token.comment,
[data-theme="dark"] .gh-article-body.markdown .token.prolog,
[data-theme="dark"] .gh-article-body.markdown .token.doctype,
[data-theme="dark"] .gh-article-body.markdown .token.cdata {
    color: #8b949e; /* fg-muted */
}

[data-theme="dark"] .gh-article-body.markdown .token.punctuation {
    color: #e6edf3; /* fg-default */
}

[data-theme="dark"] .gh-article-body.markdown .token.property,
[data-theme="dark"] .gh-article-body.markdown .token.tag,
[data-theme="dark"] .gh-article-body.markdown .token.constant,
[data-theme="dark"] .gh-article-body.markdown .token.symbol,
[data-theme="dark"] .gh-article-body.markdown .token.deleted {
    color: #79c0ff;
}

[data-theme="dark"] .gh-article-body.markdown .token.boolean,
[data-theme="dark"] .gh-article-body.markdown .token.number {
    color: #79c0ff;
}

[data-theme="dark"] .gh-article-body.markdown .token.selector,
[data-theme="dark"] .gh-article-body.markdown .token.attr-name,
[data-theme="dark"] .gh-article-body.markdown .token.string,
[data-theme="dark"] .gh-article-body.markdown .token.char,
[data-theme="dark"] .gh-article-body.markdown .token.builtin,
[data-theme="dark"] .gh-article-body.markdown .token.inserted {
    color: #a5d6ff;
}

[data-theme="dark"] .gh-article-body.markdown .token.operator,
[data-theme="dark"] .gh-article-body.markdown .token.entity,
[data-theme="dark"] .gh-article-body.markdown .token.url {
    color: #e6edf3;
}

[data-theme="dark"] .gh-article-body.markdown .token.atrule,
[data-theme="dark"] .gh-article-body.markdown .token.attr-value,
[data-theme="dark"] .gh-article-body.markdown .token.keyword {
    color: #ff7b72;
}

[data-theme="dark"] .gh-article-body.markdown .token.function,
[data-theme="dark"] .gh-article-body.markdown .token.class-name {
    color: #d2a8ff;
}

[data-theme="dark"] .gh-article-body.markdown .token.regex,
[data-theme="dark"] .gh-article-body.markdown .token.important,
[data-theme="dark"] .gh-article-body.markdown .token.variable {
    color: #ffa657;
}

/* 强调态（Prism 内建） */
.gh-article-body.markdown .token.important,
.gh-article-body.markdown .token.bold {
    font-weight: 600;
}

.gh-article-body.markdown .token.italic {
    font-style: italic;
}

/* 主题切换时 token 颜色平滑过渡（复用 gh-theme-anim 机制，无 JS 参与） */
@media (prefers-reduced-motion: no-preference) {
    .gh-article-body.markdown .token {
        transition: color 220ms ease;
    }
}
