/* RISC-V 汇编语法高亮（亮色模式 - VSCode 风格） */
:root,
[data-md-color-scheme="default"] {
  --riscv-instruction-color: #af00db;
  --riscv-directive-color: #007acc;
  --riscv-register-color: #098658;
  --riscv-label-color: #795e26;
  --riscv-pseudo-op-color: #267f99;
  --riscv-immediate-color: #098658;
  --riscv-string-color: #a31515;
  --riscv-comment-color: #008000;
  --riscv-operator-color: #222222;
  --riscv-punctuation-color: #222222;
}

/* RISC-V 汇编语法高亮（暗色模式 - VSCode Dark+ 风格） */
[data-md-color-scheme="slate"] {
  --riscv-instruction-color: #c586c0;
  --riscv-directive-color: #569cd6;
  --riscv-register-color: #b5cea8;
  --riscv-label-color: #dcdcaa;
  --riscv-pseudo-op-color: #4ec9b0;
  --riscv-immediate-color: #b5cea8;
  --riscv-string-color: #ce9178;
  --riscv-comment-color: #6a9955;
  --riscv-operator-color: #d4d4d4;
  --riscv-punctuation-color: #d4d4d4;
}

/* ============================================================================
   Pygments token 选择器（MkDocs Material 默认使用 Pygments）
   ============================================================================ */

/* 指令助记符：add, sub, lw, sw, beq, jal, ret, ecall ... */
.highlight .k,
.highlight .kd {
  color: var(--riscv-instruction-color) !important;
}

/* 伪指令 / 汇编器指令：.text, .data, .globl, .word, .byte, .align ... */
.highlight .kp,
.highlight .kt {
  color: var(--riscv-directive-color) !important;
}

/* 标签定义：main:, loop:, ... */
.highlight .nl,
.highlight .nf {
  color: var(--riscv-label-color) !important;
}

/* 寄存器名：x0-x31, zero, ra, sp, gp, tp, t0-t6, s0-s11, a0-a7 */
.highlight .nv,
.highlight .nc {
  color: var(--riscv-register-color) !important;
}

/* 内置名 / 伪操作 */
.highlight .nb {
  color: var(--riscv-pseudo-op-color) !important;
}

/* 立即数 / 数值 */
.highlight .mi,
.highlight .mf,
.highlight .mh,
.highlight .mo,
.highlight .mb,
.highlight .mx {
  color: var(--riscv-immediate-color) !important;
}

/* 字符串 */
.highlight .s,
.highlight .s1,
.highlight .s2,
.highlight .se,
.highlight .sd {
  color: var(--riscv-string-color) !important;
}

/* 注释 */
.highlight .c,
.highlight .c1,
.highlight .cm,
.highlight .cs,
.highlight .ch {
  color: var(--riscv-comment-color) !important;
  font-style: italic;
}

/* 运算符 */
.highlight .o {
  color: var(--riscv-operator-color) !important;
}

/* 标点符号 */
.highlight .p {
  color: var(--riscv-punctuation-color) !important;
}

/* ============================================================================
   Prism.js / Highlight.js token 选择器（备用兼容）
   ============================================================================ */

.token.instruction,
.token.keyword {
  color: var(--riscv-instruction-color) !important;
}

.token.directive,
.token.important {
  color: var(--riscv-directive-color) !important;
}

.token.label,
.token.function {
  color: var(--riscv-label-color) !important;
}

.token.register,
.token.variable {
  color: var(--riscv-register-color) !important;
}

.token.number {
  color: var(--riscv-immediate-color) !important;
}

.token.string {
  color: var(--riscv-string-color) !important;
}

.token.comment {
  color: var(--riscv-comment-color) !important;
  font-style: italic;
}

.token.operator {
  color: var(--riscv-operator-color) !important;
}

.token.punctuation {
  color: var(--riscv-punctuation-color) !important;
}