/* ============================================================
   Prism theme — "ECT Ink" (matches site palette)
   Works with prism-line-numbers plugin.
   ============================================================ */

code[class*="language-"],
pre[class*="language-"] {
  color: #E9EEF9;
  background: none;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.875rem;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.7;
  tab-size: 2;
  hyphens: none;
}

pre[class*="language-"] {
  padding: 1.15rem 1.25rem;
  margin: 0;
  overflow: auto;
  background: #0E1424;
  max-height: 560px;
}

:not(pre) > code[class*="language-"] {
  background: #182136;
  padding: 0.15em 0.4em;
  border-radius: 6px;
  border: 1px solid #24304C;
  white-space: normal;
  font-size: 0.85em;
}

pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
  background: rgba(255, 180, 84, 0.28);
}

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

.token.punctuation { color: #93A1C0; }

.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted { color: #45C6E8; }

.token.boolean,
.token.number { color: #D2A6FF; }

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

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

.token.atrule,
.token.attr-value,
.token.keyword { color: #C193F5; }

.token.function,
.token.class-name { color: #FFB454; }

.token.regex,
.token.important,
.token.variable { color: #45C6E8; }

.token.important,
.token.bold { font-weight: bold; }
.token.italic { font-style: italic; }
.token.entity { cursor: help; }

/* ---- Line numbers plugin ---- */
pre[class*="language-"].line-numbers {
  position: relative;
  padding-left: 3.6em;
  counter-reset: linenumber;
}
pre[class*="language-"].line-numbers > code {
  position: relative;
  white-space: inherit;
}
.line-numbers .line-numbers-rows {
  position: absolute;
  pointer-events: none;
  top: 0;
  font-size: 100%;
  left: -3.6em;
  width: 3em;
  letter-spacing: -1px;
  border-right: 1px solid #24304C;
  user-select: none;
}
.line-numbers-rows > span {
  display: block;
  counter-increment: linenumber;
}
.line-numbers-rows > span:before {
  content: counter(linenumber);
  color: #5E6C8E;
  opacity: 0.7;
  display: block;
  padding-right: 0.8em;
  text-align: right;
}

/* Scrollbar inside code */
pre[class*="language-"]::-webkit-scrollbar { height: 10px; width: 10px; }
pre[class*="language-"]::-webkit-scrollbar-thumb { background: #24304C; border-radius: 8px; }
pre[class*="language-"]::-webkit-scrollbar-track { background: transparent; }
