@keyframes blink {
	0% { color: var(--fg-0); }
	50% { color: var(--fg-0-50); }
}

html {
	--fg-0: #1b1b1b;
	--fg-0-50: #1b1b1b70;
	--fg-0-20: #1b1b1b20;
	--bg-0: #f1f1f1;
	--sp-0: #8f232c;
	--sp-1: #1e8d26;
	--sp-2: #a09f25;
	--sp-3: #2d1f81;
	--sp-4: #9a279b;
	--sp-5: #26a4a4;
	--sp-6: #1b1b1b70;
}

th {
	font-family: "Geist Mono";
}

td.code {
	font-family: "Geist Mono";
	user-select: all;
}

@media (prefers-color-scheme: dark) {
	html {
		--fg-0: #b1b1b1;
		--fg-0-50: #b1b1b170;
		--fg-0-20: #b1b1b120;
		--bg-0: #080808;
		--sp-0: #E57272;
		--sp-1: #66CC66;
		--sp-2: #E2E271;
		--sp-3: #6666CC;
		--sp-4: #E572E5;
		--sp-5: #71E2E2;
		--sp-6: #b1b1b170;
	}
}

.bold {
	font-weight: bold;
}

.faint {
	color: var(--fg-0-50);
}

.italic {
	font-style: italic;
}

.underline {
	text-decoration: underline;
}

.slow-blink {
	animation: blink 2.13s steps(1, end) 0.315s infinite;
}

.fast-blink {
	animation: blink 0.77s steps(1, end) 0s infinite;
}

.highlight > span {
	color: var(--bg-0);
	background-color: var(--fg-0);
	text-decoration: none;
	padding: 0 0.2rem;
}

.hidden {
	color: var(--fg-0-20);
}

.strikethrough {
	text-decoration: line-through;
}

.black {
	color: var(--sp-6);
}

.red {
	color: var(--sp-0);
}

.green {
	color: var(--sp-1);
}

.yellow {
	color: var(--sp-2);
}

.blue {
	color: var(--sp-3);
}

.purple {
	color: var(--sp-4);
}

.cyan {
	color: var(--sp-5);
}
