.z-code {
  color: var(--code-aaa);
  background-color: var(--code-bg-color);
}

div.incorrect {
  position: relative;
  background-color: var(--code-incorrect-bg-color);
  border-left: 10px solid var(--code-incorrect-border-color);
  border-radius: 10px;
  padding-right: 55px;

  .z-code,
  .z-code code {
    background-color: var(--code-incorrect-bg-color);
  }
}

div.incorrect:hover {
  border-color: var(--code-incorrect-border-hover-color);

  img {
    filter: var(--code-incorrect-img-hover-filter);
  }
}

div.incorrect-image {
  position: absolute;
  z-index: 99;
  right: 20px;
  top: 10px;

  img {
    width: 35px;
    height: 35px;
    filter: var(--code-incorrect-img-filter);
  }
}

.z-variable.z-parameter.z-function {
  color: var(--code-aaa);
}

.z-comment,
.z-punctuation.z-definition.z-comment {
  color: var(--code-text-dim-color);
}

.z-punctuation.z-definition.z-string,
.z-punctuation.z-definition.z-variable,
.z-punctuation.z-definition.z-string,
.z-punctuation.z-definition.z-parameters,
.z-punctuation.z-definition.z-string,
.z-punctuation.z-definition.z-array {
  color: var(--code-aaa);
}

.z-none {
  color: var(--code-aaa);
}

.z-keyword.z-operator {
  color: var(--code-aaa);
}

.z-keyword {
  color: var(--code-ccc);
}

.z-variable {
  color: var(--code-aaa);
}

.z-entity.z-name.z-function,
.z-meta.z-require,
.z-support.z-function.z-any-method {
  color: var(--code-ddd);
}

.z-support.z-class,
.z-entity.z-name.z-class,
.z-entity.z-name.z-type.z-class {
  color: var(--code-eee);
}

.z-meta.z-class {
  color: var(--code-fff);
}

.z-keyword.z-other.z-special-method {
  color: var(--code-hhh);
}

.z-storage {
  color: var(--code-iii);
}

.z-support.z-function {
  color: var(--code-ddd);
}

.z-string,
.z-constant.z-other.z-symbol,
.z-entity.z-other.z-inherited-class {
  color: var(--code-jjj);
}

.z-none {
  color: var(--code-ggg);
}

.z-constant {
  color: var(--code-ggg);
}

.z-entity.z-name.z-tag {
  color: var(--code-kkk);
}

.z-entity.z-other.z-attribute-name {
  color: var(--code-lll);
}

.z-entity.z-other.z-attribute-name.z-id,
.z-punctuation.z-definition.z-entity {
  color: var(--code-hhh);
}

.z-meta.z-selector {
  color: var(--code-iii);
}

.z-markup.z-heading .z-punctuation.z-definition.z-heading,
.z-entity.z-name.z-section {
  color: var(--code-hhh);
}

.z-keyword.z-other.z-unit {
  color: var(--code-ggg);
}

.z-markup.z-bold,
.z-punctuation.z-definition.z-bold {
  color: var(--code-eee);
  font-weight: bold;
}

.z-markup.z-italic,
.z-punctuation.z-definition.z-italic {
  color: var(--code-iii);
  font-style: italic;
}

.z-markup.z-raw.z-inline {
  color: var(--code-mmm);
}

.z-string.z-other.z-link {
  color: var(--code-nnn);
}

.z-meta.z-link {
  color: var(--code-ggg);
}

.z-markup.z-list {
  color: var(--code-nnn);
}

.z-markup.z-quote {
  color: var(--code-ggg);
}

.z-meta.z-separator {
  color: var(--code-aaa);
  background-color: var(--code-ooo);
}

.z-markup.z-inserted,
.z-markup.z-inserted.z-git_gutter {
  color: var(--code-mmm);
}

.z-markup.z-deleted,
.z-markup.z-deleted.z-git_gutter {
  color: var(--code-nnn);
}

.z-markup.z-changed,
.z-markup.z-changed.z-git_gutter {
  color: var(--code-iii);
}

.z-markup.z-ignored,
.z-markup.z-ignored.z-git_gutter {
  color: var(--code-ooo);
}

.z-markup.z-untracked,
.z-markup.z-untracked.z-git_gutter {
  color: var(--code-ooo);
}

.z-constant.z-other.z-color {
  color: var(--code-ppp);
}

.z-string.z-regexp {
  color: var(--code-ppp);
}

.z-constant.z-character.z-escape {
  color: var(--code-ppp);
}

.z-punctuation.z-section.z-embedded,
.z-variable.z-interpolation {
  color: var(--code-qqq);
}

.z-invalid.z-illegal {
  color: var(--code-rrr);
  background-color: var(--code-nnn);
}

.z-markup.z-deleted.z-git_gutter {
  color: var(--code-sss);
}

.z-markup.z-inserted.z-git_gutter {
  color: var(--code-ttt);
}

.z-markup.z-changed.z-git_gutter {
  color: var(--code-uuu);
}

.z-markup.z-ignored.z-git_gutter {
  color: var(--code-vvv);
}

.z-markup.z-untracked.z-git_gutter {
  color: var(--code-vvv);
}

// RUST OVERRIDES

.z-meta.z-generic.z-rust,
.z-entity.z-name.z-struct.z-rust,
.z-entity.z-name.z-enum.z-rust,
.z-entity.z-name.z-impl.z-rust {
  color: var(--code-eee);
}

.z-punctuation.z-definition.z-generic.z-rust {
  color: var(--code-aaa);
}

.z-storage.z-type.z-function,
.z-keyword.z-operator.z-rust,
.z-storage.z-type.z-struct.z-rust,
.z-punctuation.z-accessor.z-rust,
.z-storage.z-modifier.z-rust {
  color: var(--code-ccc);
}

.z-support.z-macro.z-rust {
  color: var(--code-ddd);
}

.z-punctuation.z-definition.z-string {
  color: var(--code-www);
}

.z-entity.z-name.z-trait.z-rust {
  color: var(--code-xxx);
}

.z-meta.z-annotation.z-rust,
.z-variable.z-annotation.z-rust {
  color: var(--code-yyy);
}

.z-meta.z-annotation.z-parameters.z-rust,
.z-variable.z-function.z-rust {
  .z-begin,
  .z-end,
  .z-punctuation {
    color: var(--code-yyy);
  }

  color: var(--code-zzz);
}

// SHELL OVERRIDES
.z-variable.z-function.z-shell,
.z-support.z-function.z-shell {
  color: var(--code-ddd);
}

.z-variable.z-parameter.z-option {
  color: var(--code-ccc);
}
