:root {
  --lang-size-dot: 0.8em;
  --lang-margin-text: 3px;
  --lang-font-size: calc(var(--font-size) * 0.65);
}

/* Dot */
p[data-lang]::before {
  content: "";

  height: var(--lang-size-dot);
  width: var(--lang-size-dot);

  border-radius: 50%;
  display: inline-block;
}

/* Text */
p[data-lang]::after {
  margin-left: var(--lang-margin-text);
  font-size: var(--lang-font-size);
}

/* Definitions */
p[data-lang="ts"]::before {
  background-color: #3178c6;
}

p[data-lang="ts"]::after {
  content: "TypeScript";
}

p[data-lang="rust"]::before {
  background-color: #dea584;
}

p[data-lang="rust"]::after {
  content: "Rust";
}

p[data-lang="py"]::before {
  background-color: #3572a5;
}

p[data-lang="py"]::after {
  content: "Python";
}

p[data-lang="ocaml"]::before {
  background-color: #ef7a08;
}

p[data-lang="ocaml"]::after {
  content: "OCaml";
}

p[data-lang="go"]::before {
  background-color: #00add8;
}

p[data-lang="go"]::after {
  content: "Go";
}

p[data-lang="gdscript"]::before {
  background-color: #355570;
}

p[data-lang="gdscript"]::after {
  content: "GDScript";
}

p[data-lang="tex"]::before {
  background-color: #3d6117;
}

p[data-lang="tex"]::after {
  content: "TeX";
}