/* Prism.js syntax highlighting — custom palette matching site colors */

/* Base */
code[class*="language-"],
pre[class*="language-"] {
  background: #f0f8ff;
  color: #1a2636;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 0.875rem;
  line-height: 1.65;
  tab-size: 4;
  hyphens: none;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
}

pre[class*="language-"] {
  padding: 1.25rem 1.5rem;
  overflow-x: auto;
  background: #f0f8ff;
}

/* Tokens */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #6b8fa8;
  font-style: italic;
}

.token.punctuation { color: #4a6b85; }

.token.namespace { opacity: 0.8; }

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol {
  color: #1a7daf;  /* var(--color-ocean) */
  font-weight: 500;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin {
  color: #1a7a45;  /* green — for strings */
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
  color: #c4541a;  /* rust orange */
}

.token.atrule,
.token.attr-value,
.token.keyword {
  color: #135f87;  /* dark ocean */
  font-weight: 600;
}

.token.function,
.token.class-name {
  color: #d4500a;  /* tangerine darker */
  font-weight: 500;
}

.token.regex,
.token.important,
.token.variable {
  color: #8a4a00;
}

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

.token.deleted { color: #c0392b; background: #fdecea; border-radius: 2px; }
.token.inserted { color: #1a7a45; background: #e8fdf0; border-radius: 2px; }

/* Python-specific decoration for decorators */
.language-python .token.decorator { color: #8a4a00; }

/* Line numbers (if enabled) */
pre.line-numbers { position: relative; padding-left: 3.5em; counter-reset: linenumber; }
pre.line-numbers > code { position: relative; white-space: inherit; }
.line-numbers .line-numbers-rows {
  position: absolute;
  pointer-events: none;
  top: 1.25rem;
  left: 0;
  width: 2.5em;
  border-right: 1px solid var(--color-border, #d0e8f5);
  letter-spacing: -1px;
  user-select: none;
}
.line-numbers-rows > span { display: block; counter-increment: linenumber; }
.line-numbers-rows > span::before {
  content: counter(linenumber);
  color: #a0b8c8;
  display: block;
  padding-right: 0.8em;
  text-align: right;
}

