/**
 * GitHub Light Theme for highlight.js
 * Inspired by GitHub's syntax highlighting
 */

.hljs {
  background: var(--surface-gray-1, #f9fafb);
  color: var(--ink-gray-9, #24292e);
}

/* Comments */
.hljs-comment,
.hljs-quote {
  color: #6a737d;
  font-style: italic;
}

/* Keywords */
.hljs-keyword,
.hljs-selector-tag {
  color: #d73a49;
}

/* Deletion (diff) */
.hljs-deletion {
  color: #b31d28;
  background-color: #ffeef0;
}

/* Strings */
.hljs-string,
.hljs-doctag {
  color: #032f62;
}

/* Addition (diff) */
.hljs-addition {
  color: #22863a;
  background-color: #f0fff4;
}

/* Numbers and literals */
.hljs-number,
.hljs-literal {
  color: #005cc5;
}

/* Symbols and bullets */
.hljs-symbol,
.hljs-bullet {
  color: #e36209;
}

/* Functions */
.hljs-function {
  color: #6f42c1;
}

/* Titles (function names, class names) */
.hljs-title,
.hljs-title.function_ {
  color: #6f42c1;
  font-weight: 600;
}

/* Built-ins */
.hljs-built_in {
  color: #005cc5;
}

/* Classes and types */
.hljs-class .hljs-title,
.hljs-title.class_,
.hljs-type {
  color: #22863a;
}

/* Attributes */
.hljs-attr {
  color: #005cc5;
}

/* Variables */
.hljs-variable,
.hljs-template-variable {
  color: #e36209;
}

/* Tag names (HTML/XML) */
.hljs-name {
  color: #22863a;
}

/* Selectors (CSS) */
.hljs-selector-id,
.hljs-selector-class {
  color: #6f42c1;
}

/* Regex */
.hljs-regexp {
  color: #032f62;
}

/* Links */
.hljs-link {
  color: #005cc5;
  text-decoration: underline;
}

/* Meta (preprocessor, shebang) */
.hljs-meta {
  color: #6a737d;
}

/* Operators */
.hljs-operator {
  color: #d73a49;
}

/* Punctuation */
.hljs-punctuation {
  color: #24292e;
}

/* Emphasis and strong */
.hljs-emphasis {
  font-style: italic;
}

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

/* Parameters */
.hljs-params {
  color: #24292e;
}

/* Properties */
.hljs-property {
  color: #005cc5;
}

/* Section headers */
.hljs-section {
  color: #005cc5;
  font-weight: bold;
}

/* Tags (generic) */
.hljs-tag {
  color: #22863a;
}

/* Subst (template literals) */
.hljs-subst {
  color: #24292e;
}

/* Formula */
.hljs-formula {
  background-color: #f6f8fa;
}

/* Attribute values */
.hljs-attribute {
  color: #005cc5;
}

/* Code (inline) */
.hljs-code {
  color: #d73a49;
}

/* Template tags */
.hljs-template-tag {
  color: #22863a;
}

/**
 * GitHub Dark Theme for highlight.js
 * Dark mode overrides for better contrast
 */
[data-theme="dark"] .hljs {
  background: var(--surface-gray-2, #2b2b2b);
  color: var(--ink-gray-9, #f8f8f8);
}

/* Comments */
[data-theme="dark"] .hljs-comment,
[data-theme="dark"] .hljs-quote {
  color: #8b949e;
  font-style: italic;
}

/* Keywords */
[data-theme="dark"] .hljs-keyword,
[data-theme="dark"] .hljs-selector-tag {
  color: #ff7b72;
}

/* Deletion (diff) */
[data-theme="dark"] .hljs-deletion {
  color: #ffa198;
  background-color: rgba(248, 81, 73, 0.15);
}

/* Strings */
[data-theme="dark"] .hljs-string,
[data-theme="dark"] .hljs-doctag {
  color: #a5d6ff;
}

/* Addition (diff) */
[data-theme="dark"] .hljs-addition {
  color: #7ee787;
  background-color: rgba(46, 160, 67, 0.15);
}

/* Numbers and literals */
[data-theme="dark"] .hljs-number,
[data-theme="dark"] .hljs-literal {
  color: #79c0ff;
}

/* Symbols and bullets */
[data-theme="dark"] .hljs-symbol,
[data-theme="dark"] .hljs-bullet {
  color: #ffa657;
}

/* Functions */
[data-theme="dark"] .hljs-function {
  color: #d2a8ff;
}

/* Titles (function names, class names) */
[data-theme="dark"] .hljs-title,
[data-theme="dark"] .hljs-title.function_ {
  color: #d2a8ff;
  font-weight: 600;
}

/* Built-ins */
[data-theme="dark"] .hljs-built_in {
  color: #79c0ff;
}

/* Classes and types */
[data-theme="dark"] .hljs-class .hljs-title,
[data-theme="dark"] .hljs-title.class_,
[data-theme="dark"] .hljs-type {
  color: #7ee787;
}

/* Attributes */
[data-theme="dark"] .hljs-attr {
  color: #79c0ff;
}

/* Variables */
[data-theme="dark"] .hljs-variable,
[data-theme="dark"] .hljs-template-variable {
  color: #ffa657;
}

/* Tag names (HTML/XML) */
[data-theme="dark"] .hljs-name {
  color: #7ee787;
}

/* Selectors (CSS) */
[data-theme="dark"] .hljs-selector-id,
[data-theme="dark"] .hljs-selector-class {
  color: #d2a8ff;
}

/* Regex */
[data-theme="dark"] .hljs-regexp {
  color: #a5d6ff;
}

/* Links */
[data-theme="dark"] .hljs-link {
  color: #79c0ff;
  text-decoration: underline;
}

/* Meta (preprocessor, shebang) */
[data-theme="dark"] .hljs-meta {
  color: #8b949e;
}

/* Operators */
[data-theme="dark"] .hljs-operator {
  color: #ff7b72;
}

/* Punctuation */
[data-theme="dark"] .hljs-punctuation {
  color: #c9d1d9;
}

/* Parameters */
[data-theme="dark"] .hljs-params {
  color: #c9d1d9;
}

/* Properties */
[data-theme="dark"] .hljs-property {
  color: #79c0ff;
}

/* Section headers */
[data-theme="dark"] .hljs-section {
  color: #79c0ff;
  font-weight: bold;
}

/* Tags (generic) */
[data-theme="dark"] .hljs-tag {
  color: #7ee787;
}

/* Subst (template literals) */
[data-theme="dark"] .hljs-subst {
  color: #c9d1d9;
}

/* Formula */
[data-theme="dark"] .hljs-formula {
  background-color: rgba(110, 118, 129, 0.1);
}

/* Attribute values */
[data-theme="dark"] .hljs-attribute {
  color: #79c0ff;
}

/* Code (inline) */
[data-theme="dark"] .hljs-code {
  color: #ff7b72;
}

/* Template tags */
[data-theme="dark"] .hljs-template-tag {
  color: #7ee787;
}
