:root {
    --light-hl-0: #6F42C1;
    --dark-hl-0: #B392F0;
    --light-hl-1: #24292E;
    --dark-hl-1: #E1E4E8;
    --light-hl-2: #032F62;
    --dark-hl-2: #9ECBFF;
    --light-hl-3: #D73A49;
    --dark-hl-3: #F97583;
    --light-hl-4: #005CC5;
    --dark-hl-4: #79B8FF;
    --light-hl-5: #6A737D;
    --dark-hl-5: #6A737D;
    --light-hl-6: #E36209;
    --dark-hl-6: #FFAB70;
    --light-code-background: #fff;
    --dark-code-background: #24292e;
}

@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); }
