:root {
  --light-hl-0: #098658;
  --dark-hl-0: #b5cea8;
  --light-hl-1: #0070c1;
  --dark-hl-1: #4fc1ff;
  --light-hl-2: #000000;
  --dark-hl-2: #d4d4d4;
  --light-hl-3: #001080;
  --dark-hl-3: #9cdcfe;
  --light-hl-4: #a31515;
  --dark-hl-4: #ce9178;
  --light-hl-5: #0000ff;
  --dark-hl-5: #569cd6;
  --light-hl-6: #af00db;
  --dark-hl-6: #c586c0;
  --light-code-background: #ffffff;
  --dark-code-background: #1e1e1e;
}

@media (prefers-color-scheme: light) {
  :root {
    --hl-0: var(--light-hl-0);
    --hl-1: var(--light-hl-1);
    --hl-2: var(--light-hl-2);
    --hl-3: var(--light-hl-3);
    --hl-4: var(--light-hl-4);
    --hl-5: var(--light-hl-5);
    --hl-6: var(--light-hl-6);
    --code-background: var(--light-code-background);
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --hl-0: var(--dark-hl-0);
    --hl-1: var(--dark-hl-1);
    --hl-2: var(--dark-hl-2);
    --hl-3: var(--dark-hl-3);
    --hl-4: var(--dark-hl-4);
    --hl-5: var(--dark-hl-5);
    --hl-6: var(--dark-hl-6);
    --code-background: var(--dark-code-background);
  }
}

:root[data-theme="light"] {
  --hl-0: var(--light-hl-0);
  --hl-1: var(--light-hl-1);
  --hl-2: var(--light-hl-2);
  --hl-3: var(--light-hl-3);
  --hl-4: var(--light-hl-4);
  --hl-5: var(--light-hl-5);
  --hl-6: var(--light-hl-6);
  --code-background: var(--light-code-background);
}

:root[data-theme="dark"] {
  --hl-0: var(--dark-hl-0);
  --hl-1: var(--dark-hl-1);
  --hl-2: var(--dark-hl-2);
  --hl-3: var(--dark-hl-3);
  --hl-4: var(--dark-hl-4);
  --hl-5: var(--dark-hl-5);
  --hl-6: var(--dark-hl-6);
  --code-background: var(--dark-code-background);
}

.hl-0 {
  color: var(--hl-0);
}
.hl-1 {
  color: var(--hl-1);
}
.hl-2 {
  color: var(--hl-2);
}
.hl-3 {
  color: var(--hl-3);
}
.hl-4 {
  color: var(--hl-4);
}
.hl-5 {
  color: var(--hl-5);
}
.hl-6 {
  color: var(--hl-6);
}
pre,
code {
  background: var(--code-background);
}
