/* ── Prism.js — Ocean Blue Serenity light theme ───────────────────────── */

code[class*="language-"],
pre[class*="language-"] {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  line-height: 1.65;
  color: #0d1b2a;
  background: #e8f4fd;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  tab-size: 4;
  hyphens: none;
}

pre[class*="language-"] {
  padding: 2.5em 1.5em 1.5em;
  overflow: auto;
  background: #e8f4fd;
}

:not(pre) > code[class*="language-"] {
  background: var(--color-code-bg);
  padding: 0.15em 0.38em;
  border-radius: var(--radius-sm);
  white-space: normal;
}

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

.token.punctuation { color: #445565; }

.token.namespace { opacity: 0.75; }

.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
  color: #0069c0;
}

.token.boolean,
.token.number { color: #6a1b9a; }

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
  color: #2e7d32;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
  color: #00838f;
}

.token.atrule,
.token.attr-value,
.token.function,
.token.class-name {
  color: #0277bd;
}

.token.keyword { color: #1565c0; font-weight: 600; }

.token.regex,
.token.important { color: #e65100; }

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

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

.token.entity { cursor: help; }

/* Highlight line plugin */
.line-highlight {
  background: rgba(2, 136, 209, 0.10);
  border-left: 3px solid var(--color-accent);
}

/* Line numbers plugin */
.line-numbers .line-numbers-rows {
  border-right: 1px solid var(--color-border);
}
.line-numbers-rows > span::before { color: #8fafc2; }

/* ── SQL special ─────────── */
.language-sql .token.keyword { color: #880e4f; }

