/* ─── Highlight.js Custom Theme ─────────────────────────────────────── */
/* Zinc-tuned palette — follows light/dark via CSS variables            */

:root {
  --hljs-bg: transparent;
  --hljs-fg: var(--color-foreground);
  --hljs-comment: #6b7280;
  --hljs-keyword: #be185d;
  --hljs-string: #0550ae;
  --hljs-number: #0969da;
  --hljs-title: #6639ba;
  --hljs-type: #b45309;
  --hljs-built-in: #1d4ed8;
  --hljs-literal: #0e7490;
  --hljs-attr: #0550ae;
  --hljs-symbol: #b45309;
  --hljs-meta: #6b7280;
  --hljs-addition-bg: #dcfce7;
  --hljs-addition-fg: #166534;
  --hljs-deletion-bg: #fee2e2;
  --hljs-deletion-fg: #991b1b;
  --hljs-section: #1d4ed8;
  --hljs-selector: #166534;
}

.dark {
  --hljs-comment: #737f8e;
  --hljs-keyword: #f472b6;
  --hljs-string: #93c5fd;
  --hljs-number: #60a5fa;
  --hljs-title: #c4b5fd;
  --hljs-type: #fbbf24;
  --hljs-built-in: #60a5fa;
  --hljs-literal: #22d3ee;
  --hljs-attr: #93c5fd;
  --hljs-symbol: #fbbf24;
  --hljs-meta: #737f8e;
  --hljs-addition-bg: #14532d;
  --hljs-addition-fg: #4ade80;
  --hljs-deletion-bg: #450a0a;
  --hljs-deletion-fg: #f87171;
  --hljs-section: #60a5fa;
  --hljs-selector: #4ade80;
}

/* Base */
pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 0;
}

code.hljs {
  padding: 0;
}

.hljs {
  color: var(--hljs-fg);
  background: var(--hljs-bg);
}

/* Tokens */
.hljs-comment,
.hljs-quote { color: var(--hljs-comment); font-style: italic; }

.hljs-keyword,
.hljs-selector-tag { color: var(--hljs-keyword); }

.hljs-string,
.hljs-doctag,
.hljs-template-variable,
.hljs-template-tag { color: var(--hljs-string); }

.hljs-number { color: var(--hljs-number); }

.hljs-title,
.hljs-title.class_,
.hljs-title.function_ { color: var(--hljs-title); }

.hljs-type,
.hljs-tag { color: var(--hljs-type); }

.hljs-built_in { color: var(--hljs-built-in); }

.hljs-literal,
.hljs-variable.constant_ { color: var(--hljs-literal); }

.hljs-attr,
.hljs-attribute { color: var(--hljs-attr); }

.hljs-symbol,
.hljs-bullet,
.hljs-link { color: var(--hljs-symbol); }

.hljs-meta,
.hljs-meta .hljs-keyword { color: var(--hljs-meta); }

.hljs-selector-class,
.hljs-selector-id,
.hljs-selector-attr,
.hljs-selector-pseudo { color: var(--hljs-selector); }

.hljs-name { color: var(--hljs-keyword); }

.hljs-section,
.hljs-strong { color: var(--hljs-section); font-weight: 600; }

.hljs-emphasis { font-style: italic; }

.hljs-addition {
  color: var(--hljs-addition-fg);
  background-color: var(--hljs-addition-bg);
}

.hljs-deletion {
  color: var(--hljs-deletion-fg);
  background-color: var(--hljs-deletion-bg);
}

.hljs-subst { color: var(--hljs-fg); }
.hljs-variable { color: var(--hljs-keyword); }
.hljs-params { color: var(--hljs-fg); }
.hljs-property { color: var(--hljs-attr); }
.hljs-regexp { color: var(--hljs-string); }
