/* SOL.VIN - Universal Highlight.js Palette-Aware Syntax Highlighting */

pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em;
}

code.hljs {
  padding: 3px 5px;
}

/* Force transparent background on container and all child tokens */
.hljs,
.hljs *,
.hljs span {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Base Code Text */
.hljs {
  color: var(--text-color) !important;
}

/* Comments & Quotes */
.hljs-comment,
.hljs-quote {
  color: var(--text-dim) !important;
  font-style: italic;
}

/* Keywords, Controls & CSS Selector Tags */
.hljs-keyword,
.hljs-selector-tag,
.hljs-template-tag {
  color: var(--accent-color) !important;
  font-weight: bold;
}

/* Class & Function Titles, Headings, Selectors */
.hljs-section,
.hljs-selector-id,
.hljs-selector-class,
.hljs-title,
.hljs-title.class_,
.hljs-title.function_,
.hljs-title.class_.inherited__,
.hljs-class .hljs-title {
  color: var(--accent-secondary, var(--accent-color)) !important;
  font-weight: bold;
}

/* Types, Built-ins, Object Names & Tags */
.hljs-name,
.hljs-type,
.hljs-built_in,
.hljs-tag {
  color: var(--accent-tertiary, var(--accent-secondary, var(--accent-color))) !important;
  font-weight: bold;
}

/* Variables, Parameters, Constants & Property Access */
.hljs-params,
.hljs-variable,
.hljs-variable.language_,
.hljs-variable.constant_,
.hljs-property,
.hljs-attr,
.hljs-attribute,
.hljs-template-variable {
  color: var(--text-color) !important;
  font-weight: bold;
}

/* Symbols, Numbers, Literals, Operators, Links & Bullets */
.hljs-symbol,
.hljs-number,
.hljs-literal,
.hljs-bullet,
.hljs-link,
.hljs-operator,
.hljs-punctuation {
  color: var(--accent-quaternary, var(--link-color)) !important;
}

/* Strings, Doctags, Formulas & Regular Expressions */
.hljs-string,
.hljs-doctag,
.hljs-formula,
.hljs-regexp {
  color: var(--accent-tertiary, var(--accent-secondary, var(--text-color))) !important;
}

/* Substitutions & Interpolation */
.hljs-subst {
  color: var(--text-color) !important;
  font-weight: normal;
}

/* Meta Annotations & Preprocessor Directives */
.hljs-meta,
.hljs-meta .hljs-keyword,
.hljs-meta .hljs-string {
  color: var(--text-dim) !important;
  font-weight: bold;
}

/* Diff Deletions & Additions */
.hljs-deletion {
  color: var(--border-color) !important;
}

.hljs-addition {
  color: var(--accent-secondary, var(--accent-color)) !important;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: bold;
}