/* Github theme from Rouge styling */
root {
	color-scheme: light dark;
	--code-defaultb: light-dark(#f6f8fa, #161b22);
	--code-defaultf: light-dark(#24292f, #c9d1d9);
	--code-commentf: light-dark(#6e7781, #8b949e);
	--code-errorb: light-dark(#82071e, #8e1519);
	--code-errorf: light-dark(#f6f8fa, #f0f6fc);
	--code-deleteb: light-dark(#ffebc9, #67060c);
	--code-deletef: light-dark(#82071e, #ffdcd7);
	--code-insertb: light-dark(#dafbe1, #033a16);
	--code-insertf: light-dark(#116329, #aff5b4);
	--code-commentf: light-dark(#6e7781, #8b949e);
	--code-constantf: light-dark(#0550ae, #79c0ff);
	--code-entityf: light-dark(#8250df, #d2a8ff);
	--code-headingf: light-dark(#0550ae, #1f6feb);
	--code-keywordf: light-dark(#cf222e, #ff7b72);
	--code-stringf: light-dark(#0a3069, #a5d666);
	--code-tagf: light-dark(#116329, #7ee787);
	--code-variablef: light-dark(#953800, #ffa657);
}

pre.rouge table td { padding: 5px; }
pre.rouge table pre { margin: 0; }
pre.rouge .ges {
	font-weight: bold;
	font-style: italic;
}

pre.rouge,
pre.rouge .w {
	color: var(--code-defaultf);
	background-color: var(--code-defaultb);
}
pre.rouge .ge { /* emphasis? */
	color: var(--code-defaultf);
	font-style: italic;
}
pre.rouge .gs { /* strong? */
	color: var(--code-defaultf);
	font-weight: bold;
}
pre.rouge .ni {
	color: var(--code-defaultf);
}
pre.rouge .si {
	color: var(--code-defaultf);
}
pre.rouge .gd {
	color: var(--code-deletef);
	background-color: var(--code-deleteb);
}
pre.rouge .gi {
	color: var(--code-insertf);
	background-color: var(--code-insertb);
}
pre.rouge .k,
pre.rouge .kd,
pre.rouge .kn,
pre.rouge .kp,
pre.rouge .kr,
pre.rouge .kt,
pre.rouge .kv {
	color: var(--code-keywordf);
}
pre.rouge .gr {
	color: var(--code-defaultb)
	/* background-color: var(--code-defaultf); */ /* negative??? */
}
pre.rouge .nb,
pre.rouge .nc,
pre.rouge .no,
pre.rouge .nn {
	color: var(--code-variablef); /* variables */
}
pre.rouge .sr,
pre.rouge .na,
pre.rouge .nt {
	color: var(--code-tagf); /* tags */
}
pre.rouge .kc,
pre.rouge .l,
pre.rouge .ld,
pre.rouge .m,
pre.rouge .mb,
pre.rouge .mf,
pre.rouge .mh,
pre.rouge .mi,
pre.rouge .il,
pre.rouge .mo,
pre.rouge .mx,
pre.rouge .sb,
pre.rouge .bp,
pre.rouge .ne,
pre.rouge .nl,
pre.rouge .py,
pre.rouge .nv,
pre.rouge .vc,
pre.rouge .vg,
pre.rouge .vi,
pre.rouge .vm,
pre.rouge .o,
pre.rouge .ow { /* headings and constants which should be separate */
	color: var(--code-constantf);
}
pre.rouge .gh,
pre.rouge .gu { /* headings and constants which should be separate */
	color: var(--code-headingf);
	font-weight: bold;
}
pre.rouge .s,
pre.rouge .sa,
pre.rouge .sc,
pre.rouge .dl,
pre.rouge .sd,
pre.rouge .s2,
pre.rouge .se,
pre.rouge .sh,
pre.rouge .sx,
pre.rouge .s1,
pre.rouge .ss {
	color: var(--code-stringf); /* strings */
}
pre.rouge .nd,
pre.rouge .nf,
pre.rouge .fm {
	color: var(--code-entityf);
}
pre.rouge .err {
	color: var(--code-errorf);
	background-color: var(--code-errorb);
}
pre.rouge .c,
pre.rouge .ch,
pre.rouge .cd,
pre.rouge .cm,
pre.rouge .cp,
pre.rouge .cpf,
pre.rouge .c1,
pre.rouge .cs,
pre.rouge .gl,
pre.rouge .gt {
	color: var(--code-commentf);
}
