/* Syntax highlighting theme for highlight.js with dark/light mode support */

/* Dark Mode (Default) */
[data-theme="dark"] pre code.hljs,
:root:not([data-theme="light"]) pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1.25rem;
  color: #e6edf3;
  background: #0d1117;
  font-family: 'JetBrains Mono', 'Fira Code', Menlo, Monaco, Consolas, 'Courier New', monospace;
  font-size: 0.9rem;
  line-height: 1.6;
}

[data-theme="dark"] .hljs-comment,
[data-theme="dark"] .hljs-punctuation,
:root:not([data-theme="light"]) .hljs-comment,
:root:not([data-theme="light"]) .hljs-punctuation {
  color: #8b949e;
  font-style: italic;
}

[data-theme="dark"] .hljs-tag,
[data-theme="dark"] .hljs-subst,
:root:not([data-theme="light"]) .hljs-tag,
:root:not([data-theme="light"]) .hljs-subst {
  color: #e6edf3;
}

[data-theme="dark"] .hljs-attr,
[data-theme="dark"] .hljs-attribute,
[data-theme="dark"] .hljs-keyword,
:root:not([data-theme="light"]) .hljs-attr,
:root:not([data-theme="light"]) .hljs-attribute,
:root:not([data-theme="light"]) .hljs-keyword {
  color: #ff7b72;
}

[data-theme="dark"] .hljs-string,
[data-theme="dark"] .hljs-doctag,
:root:not([data-theme="light"]) .hljs-string,
:root:not([data-theme="light"]) .hljs-doctag {
  color: #a5d6ff;
}

[data-theme="dark"] .hljs-title,
[data-theme="dark"] .hljs-title.class_,
[data-theme="dark"] .hljs-title.function_,
:root:not([data-theme="light"]) .hljs-title,
:root:not([data-theme="light"]) .hljs-title.class_,
:root:not([data-theme="light"]) .hljs-title.function_ {
  color: #d2a8ff;
  font-weight: 600;
}

[data-theme="dark"] .hljs-variable,
[data-theme="dark"] .hljs-template-variable,
:root:not([data-theme="light"]) .hljs-variable,
:root:not([data-theme="light"]) .hljs-template-variable {
  color: #ffa657;
}

[data-theme="dark"] .hljs-number,
[data-theme="dark"] .hljs-literal,
:root:not([data-theme="light"]) .hljs-number,
:root:not([data-theme="light"]) .hljs-literal {
  color: #79c0ff;
}

[data-theme="dark"] .hljs-built_in,
[data-theme="dark"] .hljs-symbol,
:root:not([data-theme="light"]) .hljs-built_in,
:root:not([data-theme="light"]) .hljs-symbol {
  color: #7ee787;
}

[data-theme="dark"] .hljs-selector-tag,
[data-theme="dark"] .hljs-selector-id,
[data-theme="dark"] .hljs-selector-class,
:root:not([data-theme="light"]) .hljs-selector-tag,
:root:not([data-theme="light"]) .hljs-selector-id,
:root:not([data-theme="light"]) .hljs-selector-class {
  color: #7ee787;
}

/* Light Mode */
[data-theme="light"] pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1.25rem;
  color: #24292f;
  background: #f6f8fa;
  font-family: 'JetBrains Mono', 'Fira Code', Menlo, Monaco, Consolas, 'Courier New', monospace;
  font-size: 0.9rem;
  line-height: 1.6;
}

[data-theme="light"] .hljs-comment,
[data-theme="light"] .hljs-punctuation {
  color: #6e7781;
  font-style: italic;
}

[data-theme="light"] .hljs-tag,
[data-theme="light"] .hljs-subst {
  color: #24292f;
}

[data-theme="light"] .hljs-attr,
[data-theme="light"] .hljs-attribute,
[data-theme="light"] .hljs-keyword {
  color: #cf222e;
}

[data-theme="light"] .hljs-string,
[data-theme="light"] .hljs-doctag {
  color: #0a3069;
}

[data-theme="light"] .hljs-title,
[data-theme="light"] .hljs-title.class_,
[data-theme="light"] .hljs-title.function_ {
  color: #8250df;
  font-weight: 600;
}

[data-theme="light"] .hljs-variable,
[data-theme="light"] .hljs-template-variable {
  color: #953800;
}

[data-theme="light"] .hljs-number,
[data-theme="light"] .hljs-literal {
  color: #0550ae;
}

[data-theme="light"] .hljs-built_in,
[data-theme="light"] .hljs-symbol {
  color: #116329;
}

[data-theme="light"] .hljs-selector-tag,
[data-theme="light"] .hljs-selector-id,
[data-theme="light"] .hljs-selector-class {
  color: #116329;
}
