.prism-light {
  --prism-comment: #0f4777;
  --prism-punctuation: #6d5050;
  --prism-property: #9b1144;
  --prism-boolean: #4816a3;
  --prism-selector: #659604;
  --prism-operator: #2a2a2a;
  --prism-atrule: #7e6d00;
  --prism-keyword: #00829f;
  --prism-regex: #9b6426;
}

.prism-dark {
  --prism-comment: #8292a2;
  --prism-punctuation: #f8f8f2;
  --prism-property: #f92672;
  --prism-boolean: #ae81ff;
  --prism-selector: #a6e22e;
  --prism-operator: #f8f8f2;
  --prism-atrule: #e6db74;
  --prism-keyword: #66d9ef;
  --prism-regex: #fd971f;
}

/* ── Lotus Terminal Design System syntax theme ─────────────────────────────
   Applied when the lotus-terminal-theme body class is active.
   Maps Prism token roles to TDS accent variables:
     keyword   → --lt-accent-cyan   (language control flow)
     selector  → --lt-accent-green  (strings / inserted text)
     boolean   → --lt-accent-orange (numbers / booleans)
     atrule    → --lt-accent-purple (functions / class names)
     comment   → dimmed italic (comments use opacity)
     property  → --lt-accent-orange (properties / tags)
     regex     → --lt-accent-amber  (regex / important)
   ─────────────────────────────────────────────────────────────────────── */
.prism-tds-dark {
  --prism-comment: rgba(0, 255, 136, 0.4);
  --prism-punctuation: rgba(196, 217, 238, 0.65);
  --prism-property: var(--lt-accent-orange, #ff6b00);
  --prism-boolean: var(--lt-accent-orange, #ff6b00);
  --prism-selector: var(--lt-accent-green, #00ff88);
  --prism-operator: rgba(196, 217, 238, 0.8);
  --prism-atrule: var(--lt-accent-purple, #bf5fff);
  --prism-keyword: var(--lt-accent-cyan, #00d4ff);
  --prism-regex: var(--lt-accent-amber, #ffb300);
}

.prism-tds-light {
  --prism-comment: rgba(0, 109, 53, 0.55);
  --prism-punctuation: rgba(45, 61, 86, 0.7);
  --prism-property: var(--lt-accent-orange, #c44e00);
  --prism-boolean: var(--lt-accent-orange, #c44e00);
  --prism-selector: var(--lt-accent-green, #006d35);
  --prism-operator: rgba(45, 61, 86, 0.85);
  --prism-atrule: var(--lt-accent-purple, #6b2fb8);
  --prism-keyword: var(--lt-accent-cyan, #0062b8);
  --prism-regex: var(--lt-accent-amber, #8a5a00);
}

/* Comment tokens get italic treatment in TDS themes */
.prism-tds-dark code .token.comment,
.prism-tds-dark code .token.prolog,
.prism-tds-dark code .token.doctype,
.prism-tds-dark code .token.cdata,
.prism-tds-light code .token.comment,
.prism-tds-light code .token.prolog,
.prism-tds-light code .token.doctype,
.prism-tds-light code .token.cdata {
  font-style: italic;
  opacity: 0.65;
}

code .token.comment,
code .token.prolog,
code .token.doctype,
code .token.cdata {
  color: var(--prism-comment);
}

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

code .token.namespace {
  opacity: 0.7;
}

code .token.property,
code .token.tag,
code .token.constant,
code .token.symbol,
code .token.deleted {
  color: var(--prism-property);
}

code .token.boolean,
code .token.number {
  color: var(--prism-boolean);
}

code .token.selector,
code .token.attr-name,
code .token.string,
code .token.char,
code .token.builtin,
code .token.inserted {
  color: var(--prism-selector);
}

code .token.operator,
code .token.entity,
code .token.url,
.language-css code .token.string,
.style code .token.string,
code .token.variable {
  color: var(--prism-operator);
}

code .token.atrule,
code .token.attr-value,
code .token.function,
code .token.class-name {
  color: var(--prism-atrule);
}

code .token.keyword {
  color: var(--prism-keyword);
}

code .token.regex,
code .token.important {
  color: var(--prism-regex);
}

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

code .token.entity {
  cursor: help;
}
