/*
 * Custom Prism.js theme — matches the site's Navy/Saddle design tokens
 * rather than a stock Prism theme. Syntax highlighting needs more hues
 * than the 9-token brand palette provides, so a small, muted, code-only
 * palette is defined here (same treatment already used for the product
 * badges elsewhere in the theme) — never applied outside code blocks.
 */

pre[class*="language-"] {
  background: var(--surface);
  color: var(--ink);
  border-radius: 10px;
  padding: 20px 22px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  line-height: 1.7;
  overflow-x: auto;
  margin: 0;
}

code[class*="language-"] {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--ink);
  background: none;
}

/* Line numbers */
pre[class*="language-"].line-numbers {
  padding-left: 3.6em;
}
.line-numbers .line-numbers-rows {
  border-right: 1px solid var(--border);
}
.line-numbers-rows > span:before {
  color: var(--muted);
  opacity: 0.7;
}

/* Token colors — muted, code-scoped only */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: var(--muted);
  font-style: italic;
}

.token.punctuation {
  color: var(--muted);
}

.token.keyword,
.token.tag,
.token.selector,
.token.important {
  color: var(--primary);
}

.token.string,
.token.attr-value .token.punctuation,
.token.char {
  color: #2E7D6B;
}

.token.number,
.token.boolean,
.token.constant,
.token.symbol,
.token.deleted {
  color: var(--saddle);
}

.token.function,
.token.class-name {
  color: #6B3DAE;
}

.token.attr-name,
.token.property,
.token.builtin {
  color: var(--saddle);
}

.token.operator,
.token.entity,
.token.url,
.token.variable {
  color: var(--ink);
}

.token.regex,
.token.inserted {
  color: #2E7D6B;
}

.token.bold { font-weight: 600; }
.token.italic { font-style: italic; }
