/*!
 * FrameBaseCSS Highlight.js Theme v1.1.0
 * Copyright (c) 2026 IceWolf23X
 * Released under the MIT License.
 * https://github.com/IceWolf23X/FrameBaseCSS
 *
 * Optional addon for Highlight.js output inside .fb-code-block.
 * Tested with Highlight.js 11.11.1. Highlight.js is not bundled.
 * Load this file after framebase.css or framebase-light.css.
 */

.fb-code-block .hljs {
  display: block;
  overflow: visible;
  padding: 0;
  color: inherit;
  background: transparent;
}

.fb-code-block .hljs-comment,
.fb-code-block .hljs-quote {
  color: var(--fb-color-text-muted);
  font-style: italic;
}

.fb-code-block .hljs-keyword,
.fb-code-block .hljs-selector-tag,
.fb-code-block .hljs-literal,
.fb-code-block .hljs-section,
.fb-code-block .hljs-link,
.fb-code-block .hljs-tag,
.fb-code-block .hljs-name,
.fb-code-block .hljs-doctag,
.fb-code-block .hljs-pattern-match {
  color: var(--fb-color-primary);
}

.fb-code-block .hljs-title,
.fb-code-block .hljs-built_in,
.fb-code-block .hljs-type,
.fb-code-block .hljs-property,
.fb-code-block .hljs-attr,
.fb-code-block .hljs-attribute,
.fb-code-block .hljs-class,
.fb-code-block .hljs-function,
.fb-code-block .hljs-typing,
.fb-code-block .hljs-constructor,
.fb-code-block .hljs-module,
.fb-code-block .hljs-module-access {
  color: var(--fb-color-info);
}

.fb-code-block .hljs-string,
.fb-code-block .hljs-char,
.fb-code-block .hljs-regexp,
.fb-code-block .hljs-symbol,
.fb-code-block .hljs-bullet,
.fb-code-block .hljs-addition {
  color: var(--fb-color-success);
}

.fb-code-block .hljs-number,
.fb-code-block .hljs-meta {
  color: var(--fb-color-warning);
}

.fb-code-block .hljs-operator,
.fb-code-block .hljs-punctuation,
.fb-code-block .hljs-subst,
.fb-code-block .hljs-code,
.fb-code-block .hljs-formula {
  color: var(--fb-color-text);
}

.fb-code-block .hljs-variable,
.fb-code-block .hljs-template-variable,
.fb-code-block .hljs-template-tag,
.fb-code-block .hljs-params,
.fb-code-block .hljs-selector-id,
.fb-code-block .hljs-selector-class,
.fb-code-block .hljs-selector-attr,
.fb-code-block .hljs-selector-pseudo {
  color:
    color-mix(
      in srgb,
      var(--fb-color-warning) 72%,
      var(--fb-color-text)
    );
}

.fb-code-block .hljs-char.escape_,
.fb-code-block .hljs-variable.constant_ {
  color: var(--fb-color-warning);
}

.fb-code-block .hljs-variable.language_ {
  color: var(--fb-color-primary);
  font-style: italic;
}

.fb-code-block .hljs-title.class_,
.fb-code-block .hljs-title.function_ {
  font-weight: 800;
}

.fb-code-block .hljs-section,
.fb-code-block .hljs-title {
  font-weight: 800;
}

.fb-code-block .hljs-title.class_.inherited__ {
  color:
    color-mix(
      in srgb,
      var(--fb-color-warning) 72%,
      var(--fb-color-text)
    );
}

.fb-code-block .hljs-meta.prompt_ {
  color: var(--fb-color-text-muted);
}

.fb-code-block .hljs-link {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.fb-code-block .hljs-addition {
  background:
    color-mix(in srgb, var(--fb-color-success) 12%, transparent);
}

.fb-code-block .hljs-deletion {
  color: var(--fb-color-danger);
  background:
    color-mix(in srgb, var(--fb-color-danger) 12%, transparent);
}

.fb-code-block .hljs-emphasis {
  font-style: italic;
}

.fb-code-block .hljs-strong {
  font-weight: 800;
}
