/* Okabe–Ito colour-blind-safe syntax highlighting (class-based `.z-*`).
   Light is the default; dark is scoped under `body.dark` (PaperMod toggles
   `.dark` on <body>), so the light/dark swap is pure CSS — no JS toggle.
   Code-panel background comes from `.post-content pre` (var --code-bg).
   Keywords are bold and comments italic so token type never rests on hue alone. */

/* ---------- light (on the cream code panel) ---------- */
.z-code { color:#463524; }
.z-comment { color:#6f6354; font-style:italic; }  /* darkened to meet WCAG AA (~5:1) on the cream panel */
.z-keyword, .z-storage, .z-storage.z-type, .z-keyword.z-control { color:#005a92; font-weight:600; }
.z-string, .z-string .z-source, .z-constant.z-character.z-escape { color:#0a6b52; }
.z-constant, .z-constant.z-numeric, .z-constant.z-language { color:#ab4d09; }
.z-entity.z-name.z-type, .z-entity.z-name.z-struct, .z-entity.z-name.z-enum, .z-entity.z-name.z-trait, .z-entity.z-name.z-union, .z-support.z-type, .z-support.z-class, .z-entity.z-name.z-class { color:#ab4d09; }
.z-entity.z-name.z-function, .z-support.z-function, .z-meta.z-function-call { color:#883d76; }
.z-variable, .z-variable.z-parameter, .z-variable.z-other { color:#463524; }
.z-punctuation, .z-meta.z-brace { color:#6b5b46; }
.z-entity.z-name.z-tag { color:#005a92; }
.z-entity.z-other.z-attribute-name { color:#ab4d09; }

/* ---------- dark (on the charcoal code panel) ---------- */
body.dark .z-code { color:#e4e9f1; }
body.dark .z-comment { color:#939eb0; font-style:italic; }
body.dark .z-keyword, body.dark .z-storage, body.dark .z-storage.z-type, body.dark .z-keyword.z-control { color:#7fc6f7; font-weight:600; }
body.dark .z-string, body.dark .z-string .z-source, body.dark .z-constant.z-character.z-escape { color:#5cdbb4; }
body.dark .z-constant, body.dark .z-constant.z-numeric, body.dark .z-constant.z-language { color:#f2b052; }
body.dark .z-entity.z-name.z-type, body.dark .z-entity.z-name.z-struct, body.dark .z-entity.z-name.z-enum, body.dark .z-entity.z-name.z-trait, body.dark .z-entity.z-name.z-union, body.dark .z-support.z-type, body.dark .z-support.z-class, body.dark .z-entity.z-name.z-class { color:#f2b052; }
body.dark .z-entity.z-name.z-function, body.dark .z-support.z-function, body.dark .z-meta.z-function-call { color:#e6a2cc; }
body.dark .z-variable, body.dark .z-variable.z-parameter, body.dark .z-variable.z-other { color:#e4e9f1; }
body.dark .z-punctuation, body.dark .z-meta.z-brace { color:#aeb7c6; }
body.dark .z-entity.z-name.z-tag { color:#7fc6f7; }
body.dark .z-entity.z-other.z-attribute-name { color:#f2b052; }
