/*
  Github light/dark theme based on work by @Hirse
  https://github.com/highlightjs/highlight.js/blob/main/src/styles/github.css
*/


:root {
  /* Named color values */
  --keyword: oklch(58.79% 0.193 20.47);
  --entity: oklch(50.15% 0.188 294.99);
  --constant: oklch(49.49% 0.18 257.6);
  --string: oklch(31.08% 0.101 255.87);
  --variable: oklch(64.82% 0.18 45.87);
  --comment: oklch(55.14% 0.019 250.98);
  --entity-tag: oklch(54.64% 0.144 147.32);
  --markup-heading: oklch(49.49% 0.18 257.6);
  --markup-list: oklch(48.46% 0.093 90.48);
  --markup-inserted: oklch(54.64% 0.144 147.32);
  --markup-deleted: oklch(49.59% 0.183 24.19);
}

.hljs {
  color: var(--cf-color-txt);
  background: var(--cf-color-bg);
}

.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
  color: var(--keyword);
}

.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
  color: var(--entity);
}

.hljs-attr,
.hljs-attribute,
.hljs-literal,
.hljs-meta,
.hljs-number,
.hljs-operator,
.hljs-variable,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id {
  color: var(--constant);
}

.hljs-regexp,
.hljs-string,
.hljs-meta .hljs-string {
  color: var(--string);
}

.hljs-built_in,
.hljs-symbol {
  color: var(--variable);
}

.hljs-comment,
.hljs-code,
.hljs-formula {
  color: var(--comment);
}

.hljs-name,
.hljs-quote,
.hljs-selector-tag,
.hljs-selector-pseudo {
  color: var(--entity-tag);
}

.hljs-subst {
  color: var(--storage-modifier-import);
}

.hljs-section {
  color: var(--markup-heading);
  font-weight: bold;
}

.hljs-bullet {
  color: var(--markup-list);
}

.hljs-emphasis {
  color: var(--markup-italic);
  font-style: italic;
}

.hljs-strong {
  color: var(--markup-bold);
  font-weight: bold;
}

.hljs-addition {
  color: var(--markup-inserted);
  background-color: var(--cf-color-border);
}

.hljs-deletion {
  color: var(--markup-deleted);
  background-color: var(--cf-color-border);
}

.hljs-char.escape_,
.hljs-link,
.hljs-params,
.hljs-property,
.hljs-punctuation,
.hljs-tag {
  /* purposely ignored */
}
