/* highlight.js theme — palette-matched, light-background.
   Selectors target .hljs-* classes emitted by highlight.js. */

pre.codeblock code.hljs {
  color: var(--c-code-ink);
  background: transparent;
  display: block;
}

/* Comments & metadata */
.hljs-comment,
.hljs-quote {
  color: var(--c-code-comment);
  font-style: italic;
}

/* Keywords, control flow, operators */
.hljs-keyword,
.hljs-selector-tag,
.hljs-built_in,
.hljs-name,
.hljs-tag {
  color: var(--c-code-keyword);
  font-weight: 600;
}

/* Strings, regex, link targets */
.hljs-string,
.hljs-title.class_ ~ .hljs-string,
.hljs-regexp,
.hljs-addition,
.hljs-attribute,
.hljs-meta-string,
.hljs-template-variable {
  color: var(--c-code-string);
}

/* Numbers, literals, booleans */
.hljs-number,
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-meta {
  color: var(--c-code-number);
}

/* Function names, methods, class names */
.hljs-title,
.hljs-section,
.hljs-title.class_,
.hljs-title.function_,
.hljs-selector-id,
.hljs-selector-class {
  color: var(--c-accent-teal);
  font-weight: 600;
}

/* Variables, parameters, properties */
.hljs-variable,
.hljs-params,
.hljs-property,
.hljs-attr {
  color: var(--c-accent-indigo);
}

/* Type annotations, namespaces */
.hljs-type,
.hljs-template-tag,
.hljs-namespace {
  color: var(--c-accent-rose);
}

/* Links, diff additions/deletions */
.hljs-link {
  color: var(--c-primary);
  text-decoration: underline;
}

.hljs-deletion {
  color: var(--c-danger);
  background: color-mix(in srgb, var(--c-danger) 8%, transparent);
}

.hljs-addition {
  color: var(--c-success);
  background: color-mix(in srgb, var(--c-success) 8%, transparent);
}

/* De-emphasise punctuation a touch so it doesn't overpower */
.hljs-punctuation,
.hljs-operator {
  color: var(--c-ink-soft);
}

/* Emphasis modifiers */
.hljs-emphasis { font-style: italic; }
.hljs-strong   { font-weight: 700; }
