/* The dark stylesheet is the only place we set custom colors besides
 * border colors for inline text. Make sure the perceptual contrast
 * stays within the ideal APCA ranges, not lower and preferably not
 * higher either. */
@media (prefers-color-scheme: dark) {
	button,
	html,
	input {
		/* Pure white on black causes halation.
		 * "background" is short for a bunch of unnecessary CSS rules
		 * background-color is all I need.
		 * This is the brightest background that still achieves an APCA
		 * contrast of 90 Lc.*/
		background-color: #191919;
		/* Dimming the default text color is not the same as reducing screen
		 * brightness, since other colors in this stylesheet have brighter
		 * red and blue channels than the default text. */
		color: #e6e6e6;
	}

	mark {
		color: #000;
		background-color: #eee7b2;
	}

	/* Only color <a> if it's a link; if href is empty, let it be. */
	a:link {
		color: #eee8a7;
	}

	a:visited {
		color: #ffdaff;
	}

	/* For users who request less contrast, target ACPA Lc near -80 */
	@media (prefers-contrast: less) {
		html,
		input {
			background-color: #444;
		}
	}

	/* Small text needs higher contrast. */
	@media not (prefers-contrast: less) {
		sup a:link:not(:active) {
			color: #feb;
		}

		sup a:visited:not(:active) {
			color: #ffe6ff;
		}
	}

	/* For users who request more contrast, target ACPA Lc near -96.
	 * I have a monitor with terrible contrast so I use
	 * "prefers-contrast: more" and this amount works for me.
	 * People complained that the lobste.rs dark theme has too much
	 * contrast, so I made that my baseline and exceeded it ever so
	 * slightly. */
	@media (prefers-contrast: more) {
		html,
		input {
			background-color: #0d0d0d;
			color: #eee;
		}

		a:link {
			color: #feb;
		}
		a:visited {
			color: #ffe6ff;
		}
	}

	/* Specified last so it overrides :visited. I chose this color because
	 * it's dimmer, so it's noticeable even without color vision. However,
	 * it still meets the experimental SAPC-APCA threshold for "spot"
	 * contrast. */
	a:active {
		color: #f83;
	}
}