.syntax--source.syntax--js {
  .syntax--constant {
    color: @green;
  }

  .syntax--comma {
    color: @syntax-text-color;
  }

  .syntax--support.syntax--class {
    color: @green;
  }

  .syntax--entity.syntax--name.syntax--type {
    color: @yellow;
  }
  .syntax--entity.syntax--name {
    color: @syntax-text-color;
  }

  .syntax--meta.syntax--brace {
    color: @syntax-text-color;
  }

  .syntax--keyword {
    color: @syntax-text-color;
  }
  .syntax--keyword.syntax--operator.syntax--new {
    color: @green;
  }
  .syntax--keyword.syntax--control {
    color: @green;
  }
  .syntax--keyword.syntax--control.syntax--regexp {
    color: @cyan;
  }

  .syntax--variable {
    color: @blue;
  }
  .syntax--variable.syntax--parameter {
    color: @syntax-text-color;
  }

  .syntax--regexp {
    color: @cyan;
  }

  .syntax--support.syntax--function {
    color: @violet;
  }
  .syntax--support.syntax--constant {
    color: @syntax-text-color;
  }

  .syntax--constant.syntax--numeric {
    color: @syntax-text-color;
  }

  .syntax--punctuation.syntax--terminator.syntax--statement {
    color: @syntax-text-color;
  }

  .syntax--meta.syntax--delimiter.syntax--method.syntax--period {
    color: @syntax-text-color;
  }
  .syntax--meta.syntax--brace.syntax--square {
    color: @blue;
  }
  .syntax--meta.syntax--brace.syntax--curly {
    color: @blue;
  }
  .syntax--string.syntax--quoted.syntax--template {
    .syntax--embedded.syntax--source {
      color: @syntax-text-color;
      & > .syntax--embedded.syntax--punctuation {
        color: @red;
      }
    }
  }
  &.syntax--embedded .syntax--entity.syntax--name.syntax--tag {
    color: @blue;
  }
}
.syntax--source.syntax--js.syntax--jsx {
  .syntax--entity.syntax--name.syntax--tag {
    color: @blue;
  }
}
