/* ==========================================================================
   highlight.js theme — tuned for the Workshop visual system
   --------------------------------------------------------------------------
   Code blocks have a fixed warm-dark background (#1F1C16) regardless of
   light/dark mode (the one intentional dark element). These token colors
   are picked to read on that background and to harmonize with the
   category palette without competing with it.

   Class selectors here are highlight.js's standard token classes.
   ========================================================================== */

/* Reset highlight.js defaults — our .code__pre supplies padding/colors */
.hljs {
  background: transparent;
  color: #f0ebe0;
  display: block;
  overflow-x: auto;
}

/* Comments — quietest, italicized, off-cream */
.hljs-comment,
.hljs-quote {
  color: #8c8576;
  font-style: italic;
}

/* Keywords / control flow — magenta (echoes Storage) */
.hljs-keyword,
.hljs-selector-tag,
.hljs-doctag,
.hljs-formula {
  color: #ec6da0;
}

/* Strings + additions — warm cream-yellow */
.hljs-string,
.hljs-addition,
.hljs-attr,
.hljs-meta .hljs-string,
.hljs-regexp {
  color: #f1c266;
}

/* Numbers, literals, types, properties — cool blue (echoes Compute) */
.hljs-number,
.hljs-literal,
.hljs-type,
.hljs-template-variable,
.hljs-variable,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
  color: #82a8ff;
}

/* Function names, titles, classes — bright lime-ish (echoes AI) */
.hljs-title,
.hljs-title.class_,
.hljs-class .hljs-title,
.hljs-built_in,
.hljs-section {
  color: #9ad573;
}

/* Tags, names, deletions — soft coral */
.hljs-name,
.hljs-tag,
.hljs-selector-id,
.hljs-deletion,
.hljs-subst {
  color: #ff9b73;
}

/* Symbols, links, meta — quiet violet (echoes Network) */
.hljs-symbol,
.hljs-bullet,
.hljs-link,
.hljs-meta {
  color: #b89df0;
}

/* Built-in types and emphasis weights */
.hljs-emphasis {
  font-style: italic;
}
.hljs-strong {
  font-weight: 700;
}
.hljs-link {
  text-decoration: underline;
}
