<div class="wrapper">
  <div class="item">Primary</div>
  <div class="item">On Primary</div>
  <div class="item">Surface1</div>
  <div class="item">Surface2</div>
  <div class="item">Surface3</div>
  <div class="item">Surface4</div>
  <div class="item">Shadow</div>
</div>
<pre class="language-css">
<code>
:root {
  --primary-hue: 256;
  --primary-saturation: 34%;
  --primary-lightness: 48%;
  --primary-dark: hsl(
    var(--primary-hue) var(--primary-saturation) var(--primary-lightness)
  );
  --on-primary-dark: hsl(var(--primary-hue) var(--primary-saturation) 90%);

  --surface1-dark: hsl(var(--primary-hue) 40% 50%);
  --surface2-dark: hsl(var(--primary-hue) 38% 46%);
  --surface3-dark: hsl(var(--primary-hue) 36% 41%);
  --surface4-dark: hsl(var(--primary-hue) 34% 30%);
  --surface-shadow-dark: var(--primary-hue) 40% 20%;
  --shadow-strength-dark: 0.02;
}
</code>
</pre>
@import url("https://fonts.googleapis.com/css2?family=Exo:wght@600&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  width: 100vw;
  min-height: 100vh;
  font-family: "Exo", Arial, sans-serif;
  background-color: #557;
  padding: 20px;

  display: grid;
  gap: 10px;
  place-content: center;
}

:root {
  --primary-hue: 256;
  --primary-saturation: 34%;
  --primary-lightness: 48%;
  --primary-dark: hsl(
    var(--primary-hue) var(--primary-saturation) var(--primary-lightness)
  );
  --on-primary-dark: hsl(var(--primary-hue) var(--primary-saturation) 90%);

  --surface1-dark: hsl(var(--primary-hue) 40% 50%);
  --surface2-dark: hsl(var(--primary-hue) 38% 46%);
  --surface3-dark: hsl(var(--primary-hue) 36% 41%);
  --surface4-dark: hsl(var(--primary-hue) 34% 30%);
  --surface-shadow-dark: var(--primary-hue) 40% 20%;
  --shadow-strength-dark: 0.02;
}

.wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.item {
  width: 20vmin;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  color: var(--on-primary-dark);
}

.item:nth-child(1) {
  background-color: var(--primary-dark);
}

.item:nth-child(2) {
  background-color: var(--on-primary-dark);
  color: #000;
}

.item:nth-child(3) {
  background-color: var(--surface1-dark);
}

.item:nth-child(4) {
  background-color: var(--surface2-dark);
}

.item:nth-child(5) {
  background-color: var(--surface3-dark);
}

.item:nth-child(6) {
  background-color: var(--surface4-dark);
}

.item:nth-child(7) {
  background-color: hsl(
    var(--surface-shadow-dark) / var(--shadow-strength-dark)
  );
}

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/prism/0.0.1/prism.min.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/prism/0.0.1/prism.min.js