/* ==========================================================================
   Syntax Highlighting (Rouge) - Dark/Light Theme Support
   ========================================================================== */

/* Base code styling */
.highlight {
  background: var(--code-bg);
  border: 1px solid var(--code-border);
  border-radius: var(--radius-md);
  margin: var(--spacing-md) 0;
  overflow-x: auto;
}

.highlight pre {
  margin: 0;
  padding: var(--spacing-md);
  background: transparent;
  border: none;
}

.highlight code {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  line-height: 1.6;
}

/* ==========================================================================
   Dark Theme Syntax Colors (GitHub Dark)
   ========================================================================== */

[data-theme="dark"] .highlight {
  color: #c9d1d9;
}

[data-theme="dark"] .highlight .c,
[data-theme="dark"] .highlight .c1,
[data-theme="dark"] .highlight .cm,
[data-theme="dark"] .highlight .cs {
  color: #8b949e;
  font-style: italic;
}

[data-theme="dark"] .highlight .cp {
  color: #8b949e;
}

[data-theme="dark"] .highlight .k,
[data-theme="dark"] .highlight .kc,
[data-theme="dark"] .highlight .kd,
[data-theme="dark"] .highlight .kn,
[data-theme="dark"] .highlight .kp,
[data-theme="dark"] .highlight .kr,
[data-theme="dark"] .highlight .kt {
  color: #ff7b72;
}

[data-theme="dark"] .highlight .s,
[data-theme="dark"] .highlight .s1,
[data-theme="dark"] .highlight .s2,
[data-theme="dark"] .highlight .sb,
[data-theme="dark"] .highlight .sc,
[data-theme="dark"] .highlight .sd,
[data-theme="dark"] .highlight .se,
[data-theme="dark"] .highlight .sh,
[data-theme="dark"] .highlight .si,
[data-theme="dark"] .highlight .sr,
[data-theme="dark"] .highlight .ss,
[data-theme="dark"] .highlight .sx {
  color: #a5d6ff;
}

[data-theme="dark"] .highlight .mi,
[data-theme="dark"] .highlight .mf,
[data-theme="dark"] .highlight .mh,
[data-theme="dark"] .highlight .mo,
[data-theme="dark"] .highlight .il {
  color: #79c0ff;
}

[data-theme="dark"] .highlight .nf,
[data-theme="dark"] .highlight .fm {
  color: #d2a8ff;
}

[data-theme="dark"] .highlight .nc,
[data-theme="dark"] .highlight .nn {
  color: #ffa657;
}

[data-theme="dark"] .highlight .na,
[data-theme="dark"] .highlight .nb,
[data-theme="dark"] .highlight .bp {
  color: #79c0ff;
}

[data-theme="dark"] .highlight .nv,
[data-theme="dark"] .highlight .vc,
[data-theme="dark"] .highlight .vg,
[data-theme="dark"] .highlight .vi {
  color: #ffa657;
}

[data-theme="dark"] .highlight .o,
[data-theme="dark"] .highlight .ow {
  color: #ff7b72;
}

[data-theme="dark"] .highlight .p {
  color: #c9d1d9;
}

[data-theme="dark"] .highlight .nl {
  color: #79c0ff;
}

[data-theme="dark"] .highlight .nt {
  color: #7ee787;
}

[data-theme="dark"] .highlight .err {
  color: #ffa198;
  background-color: transparent;
}

/* ==========================================================================
   Light Theme Syntax Colors (GitHub Light)
   ========================================================================== */

[data-theme="light"] .highlight {
  color: #24292f;
}

[data-theme="light"] .highlight .c,
[data-theme="light"] .highlight .c1,
[data-theme="light"] .highlight .cm,
[data-theme="light"] .highlight .cs {
  color: #6e7781;
  font-style: italic;
}

[data-theme="light"] .highlight .cp {
  color: #6e7781;
}

[data-theme="light"] .highlight .k,
[data-theme="light"] .highlight .kc,
[data-theme="light"] .highlight .kd,
[data-theme="light"] .highlight .kn,
[data-theme="light"] .highlight .kp,
[data-theme="light"] .highlight .kr,
[data-theme="light"] .highlight .kt {
  color: #cf222e;
}

[data-theme="light"] .highlight .s,
[data-theme="light"] .highlight .s1,
[data-theme="light"] .highlight .s2,
[data-theme="light"] .highlight .sb,
[data-theme="light"] .highlight .sc,
[data-theme="light"] .highlight .sd,
[data-theme="light"] .highlight .se,
[data-theme="light"] .highlight .sh,
[data-theme="light"] .highlight .si,
[data-theme="light"] .highlight .sr,
[data-theme="light"] .highlight .ss,
[data-theme="light"] .highlight .sx {
  color: #0a3069;
}

[data-theme="light"] .highlight .mi,
[data-theme="light"] .highlight .mf,
[data-theme="light"] .highlight .mh,
[data-theme="light"] .highlight .mo,
[data-theme="light"] .highlight .il {
  color: #0550ae;
}

[data-theme="light"] .highlight .nf,
[data-theme="light"] .highlight .fm {
  color: #8250df;
}

[data-theme="light"] .highlight .nc,
[data-theme="light"] .highlight .nn {
  color: #953800;
}

[data-theme="light"] .highlight .na,
[data-theme="light"] .highlight .nb,
[data-theme="light"] .highlight .bp {
  color: #0550ae;
}

[data-theme="light"] .highlight .nv,
[data-theme="light"] .highlight .vc,
[data-theme="light"] .highlight .vg,
[data-theme="light"] .highlight .vi {
  color: #953800;
}

[data-theme="light"] .highlight .o,
[data-theme="light"] .highlight .ow {
  color: #cf222e;
}

[data-theme="light"] .highlight .p {
  color: #24292f;
}

[data-theme="light"] .highlight .nl {
  color: #0550ae;
}

[data-theme="light"] .highlight .nt {
  color: #116329;
}

[data-theme="light"] .highlight .err {
  color: #cf222e;
  background-color: transparent;
}

/* ==========================================================================
   Language-specific tweaks
   ========================================================================== */

/* Shell/Bash prompt */
.language-bash .highlight .gp,
.language-shell .highlight .gp {
  color: var(--text-tertiary);
  user-select: none;
}

/* JSON keys */
.language-json .highlight .nt {
  color: inherit;
}

[data-theme="dark"] .language-json .highlight .nt {
  color: #79c0ff;
}

[data-theme="light"] .language-json .highlight .nt {
  color: #0550ae;
}
