/**
 * Prism.js Theme — MarketInsider
 *
 * Eigenes Theme, das die Projekt-CSS-Variablen nutzt und automatisch
 * mit dem data-theme Attribut (light/dark) umschaltet.
 */

:root {
  --code-bg:           #f3f5fa;
  --code-border:       #d8dde8;
  --code-text:         #1f2937;
  --code-comment:      #6b7a90;
  --code-punctuation:  #5a6478;
  --code-keyword:      #2170e4;
  --code-function:     #7a3ac1;
  --code-string:       #1f7a3a;
  --code-number:       #b45309;
  --code-tag:          #c02a5e;
  --code-attr:         #7a3ac1;
  --code-operator:     #5a6478;
  --code-variable:     #b45309;
  --code-class:        #2170e4;
  --code-regex:        #c02a5e;
  --code-deleted:      #b91c1c;
  --code-inserted:     #047857;
}

[data-theme="dark"] {
  --code-bg:           #1a2030;
  --code-border:       #2d3446;
  --code-text:         #e2e8f0;
  --code-comment:      #8a94a8;
  --code-punctuation:  #a0aabd;
  --code-keyword:      #7db3ff;
  --code-function:     #c8a2ee;
  --code-string:       #86d391;
  --code-number:       #f5c97a;
  --code-tag:          #f08eab;
  --code-attr:         #c8a2ee;
  --code-operator:     #a0aabd;
  --code-variable:     #f5c97a;
  --code-class:        #7db3ff;
  --code-regex:        #f08eab;
  --code-deleted:      #f87171;
  --code-inserted:     #6ee7b7;
}

code[class*="language-"],
pre[class*="language-"] {
  color: var(--code-text);
  background: none;
  font-family: 'JetBrains Mono', 'Fira Code', Consolas, Monaco, 'Courier New', monospace;
  font-size: 0.9em;
  line-height: 1.55;
  tab-size: 2;
  hyphens: none;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  direction: ltr;
}

pre[class*="language-"] {
  padding: 1em 1.2em;
  margin: 1em 0;
  overflow: auto;
  border: 1px solid var(--code-border);
  border-radius: 8px;
  background: var(--code-bg);
}

:not(pre) > code[class*="language-"],
:not(pre) > code {
  padding: 0.15em 0.4em;
  border-radius: 4px;
  background: var(--code-bg);
  border: 1px solid var(--code-border);
  white-space: normal;
}

/* Token-Farben */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata          { color: var(--code-comment); font-style: italic; }
.token.punctuation    { color: var(--code-punctuation); }
.token.namespace      { opacity: 0.7; }
.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted        { color: var(--code-tag); }
.token.boolean,
.token.number         { color: var(--code-number); }
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted       { color: var(--code-string); }
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string  { color: var(--code-operator); }
.token.atrule,
.token.attr-value,
.token.keyword        { color: var(--code-keyword); font-weight: 500; }
.token.function,
.token.class-name     { color: var(--code-function); }
.token.regex,
.token.important      { color: var(--code-regex); }
.token.variable       { color: var(--code-variable); }
.token.important,
.token.bold           { font-weight: bold; }
.token.italic         { font-style: italic; }
.token.entity         { cursor: help; }

/* Diff-Highlighting */
.token.deleted        { background: rgba(185, 28, 28, 0.1); color: var(--code-deleted); }
.token.inserted       { background: rgba(4, 120, 87, 0.1); color: var(--code-inserted); }
