/* Prism/Eleventy syntax highlighting theme bound to site CSS variables */

/* Code blocks */
pre[class*="language-"],
code[class*="language-"] {
  color: var(--code-fg);
  background: var(--code-bg);
  text-shadow: none;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.8rem;
}

pre[class*="language-"] {
  padding: 1rem;
  margin: 1rem 0;
  overflow: auto;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px var(--code-border);
}

code[class*="language-"] {
  padding: 0.2em 0.4em;
  border-radius: 6px;
}

/* Inline code (not highlighted by Prism) */
:not(pre) > code {
  padding: 0.15rem 0.35rem;
  border-radius: 6px;
  box-shadow: inset 0 0 0 1px var(--code-border);
}

/* Token colors (all derived from site variables) */
.token.comment,.token.prolog,.token.doctype,.token.cdata { color: var(--code-token-comment); }
.token.punctuation { color: var(--code-token-punctuation); }
.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted { color: var(--code-token-property); }
.token.boolean,.token.number { color: var(--code-token-boolean); }
.token.selector,.token.attr-name,.token.char,.token.builtin,.token.inserted { color: var(--code-token-selector); }
.token.string { color: var(--code-token-string); }
.token.operator,.token.entity,.token.url { color: var(--code-token-operator); }
.token.atrule,.token.attr-value,.token.keyword { color: var(--code-token-atrule); }
.token.function,.token.class-name { color: var(--code-token-function); }
.token.regex,.token.important,.token.variable { color: var(--code-token-regex); }
.token.bold { font-weight: 700; }
.token.italic { font-style: italic; }
.token.entity { cursor: help; }
