.code-block {
  --code-bg: #09090b;
  --code-fg: #e4e4e7;
  --code-muted: #8c8c9a;
  --code-keyword: #a5b4fc;
  --code-string: #86efac;
  --code-number: #fcd34d;
  --code-name: #e4e4e7;
  --code-builtins: #c4b5fd;
  --code-operator: #f3f4f6;
  --code-punctuation: #d4d4d8;
  --code-error: #fca5a5;
}

.code-block .code-block-body {
  background-color: var(--code-bg);
  color: var(--code-fg);
}

.code-block pre {
  color: inherit;
}

.code-block .hll {
  background-color: rgb(99 102 241 / 0.15);
}

.code-block .c,
.code-block .ch,
.code-block .cm,
.code-block .c1,
.code-block .cs {
  color: var(--code-muted);
  font-style: italic;
}

.code-block .k,
.code-block .kc,
.code-block .kd,
.code-block .kn,
.code-block .kp,
.code-block .kr,
.code-block .kt {
  color: var(--code-keyword);
}

.code-block .s,
.code-block .sa,
.code-block .sb,
.code-block .sc,
.code-block .dl,
.code-block .sd,
.code-block .s1,
.code-block .s2,
.code-block .se,
.code-block .sh,
.code-block .si,
.code-block .sx,
.code-block .sr,
.code-block .ss {
  color: var(--code-string);
}

.code-block .m,
.code-block .mb,
.code-block .mf,
.code-block .mh,
.code-block .mi,
.code-block .mo {
  color: var(--code-number);
}

.code-block .n,
.code-block .na,
.code-block .nb,
.code-block .nc,
.code-block .nd,
.code-block .ne,
.code-block .nf,
.code-block .fm,
.code-block .ni,
.code-block .nl,
.code-block .nn,
.code-block .no,
.code-block .nt,
.code-block .nv,
.code-block .vc,
.code-block .vg,
.code-block .vi {
  color: var(--code-name);
}

.code-block .nb,
.code-block .bp {
  color: var(--code-builtins);
}

.code-block .o,
.code-block .ow {
  color: var(--code-operator);
}

.code-block .p {
  color: var(--code-punctuation);
}

.code-block .err {
  color: var(--code-error);
  text-decoration: underline;
  text-decoration-color: rgb(239 68 68 / 0.7);
}

.code-block .w {
  color: var(--code-muted);
}
