/* ============================================================
   highlight.js — dark theme overrides
   ============================================================
   Scoped under html[data-theme="dark"] so the rest of the page keeps
   its existing default.min.css theme in light mode. Token colors
   are picked from GitHub Dark (good legibility on a Slate surface
   and similar to what the in-house Monaco workbench uses).

   Loaded by main/partials/theme_head.html so every in-scope page
   that includes highlight.js (challenges, daily7, comments,
   training guides, etc.) gets it for free.
   ============================================================ */

html[data-theme="dark"] pre code.hljs,
html[data-theme="dark"] code.hljs {
  background: var(--color-surface-raised, #1e293b);
  color: var(--color-text-primary, #e6edf3);
  border-radius: 6px;
}

html[data-theme="dark"] .hljs           { color: #e6edf3; background: transparent; }
html[data-theme="dark"] .hljs-comment,
html[data-theme="dark"] .hljs-quote     { color: #8b949e; font-style: italic; }
html[data-theme="dark"] .hljs-keyword,
html[data-theme="dark"] .hljs-selector-tag,
html[data-theme="dark"] .hljs-doctag,
html[data-theme="dark"] .hljs-meta .hljs-keyword { color: #ff7b72; }
html[data-theme="dark"] .hljs-string,
html[data-theme="dark"] .hljs-regexp,
html[data-theme="dark"] .hljs-template-tag,
html[data-theme="dark"] .hljs-meta .hljs-string { color: #a5d6ff; }
html[data-theme="dark"] .hljs-number,
html[data-theme="dark"] .hljs-literal,
html[data-theme="dark"] .hljs-bullet,
html[data-theme="dark"] .hljs-symbol    { color: #79c0ff; }
html[data-theme="dark"] .hljs-title,
html[data-theme="dark"] .hljs-section,
html[data-theme="dark"] .hljs-function .hljs-title,
html[data-theme="dark"] .hljs-name      { color: #d2a8ff; }
html[data-theme="dark"] .hljs-type,
html[data-theme="dark"] .hljs-built_in,
html[data-theme="dark"] .hljs-class .hljs-title,
html[data-theme="dark"] .hljs-selector-class,
html[data-theme="dark"] .hljs-attribute,
html[data-theme="dark"] .hljs-attr      { color: #ffa657; }
html[data-theme="dark"] .hljs-variable,
html[data-theme="dark"] .hljs-template-variable,
html[data-theme="dark"] .hljs-selector-id,
html[data-theme="dark"] .hljs-tag       { color: #ffa657; }
html[data-theme="dark"] .hljs-params,
html[data-theme="dark"] .hljs-operator,
html[data-theme="dark"] .hljs-punctuation,
html[data-theme="dark"] .hljs-property  { color: #c9d1d9; }
html[data-theme="dark"] .hljs-meta      { color: #79c0ff; }
html[data-theme="dark"] .hljs-link      { color: #a5d6ff; text-decoration: underline; }
html[data-theme="dark"] .hljs-addition  { color: #aff5b4; background: #033a16; }
html[data-theme="dark"] .hljs-deletion  { color: #ffdcd7; background: #67060c; }
html[data-theme="dark"] .hljs-emphasis  { font-style: italic; }
html[data-theme="dark"] .hljs-strong    { font-weight: 700; }
