/* ============================================================
   prism-vibrant-spring.css — custom Prism syntax theme
   Light background with Vibrant Spring token colours
   ============================================================ */
code[class*="language-"],
pre[class*="language-"] {
  color: #1a2e1a;
  background: none;
  text-shadow: none;
  font-family: var(--font-mono, 'Cascadia Code', 'Fira Code', monospace);
  font-size: inherit;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.7;
  tab-size: 2;
  hyphens: none;
}

/* ── Token colours ──────────────────────────────────────────────────────── */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata           { color: #6b9e7a;  font-style: italic; }

.token.punctuation     { color: #4b7a5a; }
.token.operator        { color: #166534; }

.token.namespace       { opacity: 0.8; }

.token.property,
.token.tag             { color: #0e7490; }  /* teal */

.token.boolean,
.token.null,
.token.undefined       { color: #7c3aed; font-weight: 600; }  /* violet */

.token.number          { color: #d97706; }  /* amber */

.token.symbol,
.token.deleted         { color: #dc2626; }  /* red */

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted        { color: #15803d; }  /* deep green / strings */

.token.keyword         { color: #7c3aed; font-weight: 600; }  /* violet / keywords */

.token.atrule,
.token.attr-value      { color: #15803d; }

.token.function,
.token.class-name      { color: #0f766e; }  /* dark teal / functions */

.token.regex           { color: #ca8a04; }  /* amber / regexes */

.token.important,
.token.variable        { color: #b45309; }  /* brown-amber */

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

/* Selection */
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection,
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection {
  background: #bbf7d0;
  color: #14532d;
}

/* Line numbers (if plugin used) */
.line-numbers .line-numbers-rows { border-right: 1px solid var(--color-border, #bbf7d0); }
.line-numbers-rows > span::before { color: #a7c4ad; }

