:root {
  --hl-comment: #6a737d;
  --hl-keyword: #0000ff;
  --hl-string: #a31515;
  --hl-constant: #098658;
  --hl-number: #098658;
  --hl-function: #795e26;
  --hl-type: #267f99;
  --hl-variable: #001080;
  --hl-property: #0451a5;
  --hl-tag: #800000;
  --hl-attribute: #e50000;
  --hl-punct: #565656;
}

/* generic tree-sitter classes emitted by Zine */

code .comment {
  color: var(--hl-comment);
  font-style: italic;
}

code .keyword {
  color: var(--hl-keyword);
}

code .string,
code .escape {
  color: var(--hl-string);
}

code .constant,
code .number,
code .boolean {
  color: var(--hl-constant);
}

code .function {
  color: var(--hl-function);
}

code .type,
code .class {
  color: var(--hl-type);
}

code .variable,
code .parameter {
  color: var(--hl-variable);
}

code .property,
code .field {
  color: var(--hl-property);
}

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

code .attribute {
  color: var(--hl-attribute);
}

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

code .embedded {
  color: inherit;
}

/* console blocks: only the prompt marker is meaningful */

code.console .comment {
  color: inherit;
  font-style: normal;
}
