/* PrismJS Theme - Academic Light
 * Matches site design: subtle colors, system mono font, light background
 * Used with @11ty/eleventy-plugin-syntaxhighlight (build-time rendering)
 */

code[class*="language-"],
pre[class*="language-"] {
  font-family: var(--font-mono);
  font-size: var(--font-size-small);
  line-height: 1.5;
  color: var(--color-text);
  background: var(--color-background-code);
  tab-size: 4;
  hyphens: none;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  white-space: pre;
  text-align: left;
  direction: ltr;
}

/* Block code */
pre[class*="language-"] {
  padding: var(--spacing-md) var(--spacing-lg);
  margin: var(--spacing-lg) 0;
  overflow-x: auto;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}

/* Inline code in highlighted blocks */
:not(pre) > code[class*="language-"] {
  padding: 0.15em 0.3em;
  border-radius: var(--radius-sm);
}

/* Token colors - subtle, academic palette */

/* Comments: muted italic */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: var(--prism-comment);
  font-style: italic;
}

/* Punctuation */
.token.punctuation {
  color: var(--prism-punctuation);
}

/* Keywords and builtins: site accent blue */
.token.keyword,
.token.builtin,
.token.tag,
.token.boolean,
.token.constant {
  color: var(--prism-keyword);
}

/* Strings: green */
.token.string,
.token.char,
.token.attr-value,
.token.regex {
  color: var(--prism-string);
}

/* Numbers: purple */
.token.number {
  color: var(--prism-number);
}

/* Functions: blue */
.token.function {
  color: var(--prism-function);
}

/* Operators */
.token.operator,
.token.entity,
.token.url {
  color: var(--prism-operator);
}

/* Class names, types */
.token.class-name,
.token.maybe-class-name {
  color: var(--prism-class);
}

/* Attributes */
.token.attr-name {
  color: var(--prism-attr-name);
}

/* Decorators, annotations */
.token.decorator,
.token.annotation {
  color: var(--prism-attr-name);
}

/* Important, bold */
.token.important,
.token.bold {
  font-weight: 600;
}

/* Italic */
.token.italic {
  font-style: italic;
}

/* Deleted/inserted for diffs */
.token.deleted {
  color: var(--prism-deleted);
  background: var(--prism-deleted-bg);
}

.token.inserted {
  color: var(--prism-inserted);
  background: var(--prism-inserted-bg);
}

/* Line numbers and line highlighting (if used) */
.highlight-line {
  display: inline-block;
  width: 100%;
  background: var(--prism-highlight-bg);
}
