/* Pygments token colors tuned for the Jude theme.
   - Background is controlled by main.css (.prose pre).
   - This file only sets token colors.
*/

:root {
  --py-comment: #a1a1aa; /* matches --muted */
  --py-keyword: #93c5fd;
  --py-string:  #86efac;
  --py-number:  #fca5a5;
  --py-name:    #f8fafc; /* matches --text */
  --py-func:    #fcd34d;
  --py-attr:    #c4b5fd;
  --py-builtin: #fda4af;
  --py-operator:#e2e8f0;
  --py-error-bg: rgba(248, 113, 113, 0.12);
  --py-error-border: rgba(248, 113, 113, 0.35);
}

html[data-theme="light"] {
  --py-comment: #64748b;
  --py-keyword: #1d4ed8;
  --py-string:  #15803d;
  --py-number:  #b91c1c;
  --py-name:    #0f172a; /* matches light --text */
  --py-func:    #b45309;
  --py-attr:    #6d28d9;
  --py-builtin: #be123c;
  --py-operator:#334155;
  --py-error-bg: rgba(185, 28, 28, 0.10);
  --py-error-border: rgba(185, 28, 28, 0.30);
}

/* Support both Pelican/Pygments wrappers: .highlight and .codehilite */
.highlight, .codehilite { color: var(--py-name); }

/* Comments */
.highlight .c, .codehilite .c,
.highlight .cm, .codehilite .cm,
.highlight .c1, .codehilite .c1,
.highlight .cs, .codehilite .cs {
  color: var(--py-comment);
}

/* Keywords */
.highlight .k, .codehilite .k,
.highlight .kc, .codehilite .kc,
.highlight .kd, .codehilite .kd,
.highlight .kn, .codehilite .kn,
.highlight .kp, .codehilite .kp,
.highlight .kr, .codehilite .kr,
.highlight .kt, .codehilite .kt {
  color: var(--py-keyword);
}

/* Operators */
.highlight .o, .codehilite .o,
.highlight .ow, .codehilite .ow {
  color: var(--py-operator);
}

/* Strings */
.highlight .s, .codehilite .s,
.highlight .sa, .codehilite .sa,
.highlight .sb, .codehilite .sb,
.highlight .sc, .codehilite .sc,
.highlight .dl, .codehilite .dl,
.highlight .sd, .codehilite .sd,
.highlight .s2, .codehilite .s2,
.highlight .se, .codehilite .se,
.highlight .sh, .codehilite .sh,
.highlight .si, .codehilite .si,
.highlight .sx, .codehilite .sx,
.highlight .sr, .codehilite .sr,
.highlight .s1, .codehilite .s1,
.highlight .ss, .codehilite .ss {
  color: var(--py-string);
}

/* Numbers */
.highlight .m, .codehilite .m,
.highlight .mb, .codehilite .mb,
.highlight .mf, .codehilite .mf,
.highlight .mh, .codehilite .mh,
.highlight .mi, .codehilite .mi,
.highlight .mo, .codehilite .mo {
  color: var(--py-number);
}

/* Function / class names */
.highlight .nf, .codehilite .nf { color: var(--py-func); }
.highlight .nc, .codehilite .nc { color: var(--py-func); }

/* Builtins / attributes */
.highlight .nb, .codehilite .nb { color: var(--py-builtin); }
.highlight .na, .codehilite .na { color: var(--py-attr); }

/* Emphasis */
.highlight .ge, .codehilite .ge { font-style: italic; }
.highlight .gs, .codehilite .gs { font-weight: 600; }

/* Errors */
.highlight .err, .codehilite .err {
  background: var(--py-error-bg);
  border-bottom: 1px solid var(--py-error-border);
}
