@font-face {
	font-family: "Cascadia Code";
	src: url("./assets/fonts/cascadia_code.woff2");
}

@font-face {
	font-family: "Noto Emoji";
	src: url("./assets/fonts/noto_emoji.ttf");
}

@media (prefers-color-scheme: light) {
	:root {
		--background-colour: #FAFAFA;
		--text-colour: #383A42;
		--link-colour: #526FFF;
		--dim: #A1A1A1;

		--error: #CA1243;
		--warning: #C18401;
	}
}

@media (prefers-color-scheme: dark) {
	:root {
		--background-colour: #282C34;
		--text-colour: #ABB2BF;
		--link-colour: #528BFF;
		--dim: #A1A1A1;

		--error: #BE5046;
		--warning: #E5C07B;
	}
}

* { margin: 0; }

body {
	font-family: "Cascadia Code", "Noto Emoji", monospace;
	line-height: 1.5;
	margin: 2rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 80ch;
	unicode-bidi: isolate;
	tab-size: 4;
	word-break: break-word;

	background-color: var(--background-colour);
	color: var(--text-colour);
}

main {
	margin-left: 2rem;
	margin-right: 2rem;
	margin-bottom: 2rem;
}

a, a:visited {
	text-decoration: none;
	color: var(--link-colour);
}

a:hover {
	color: var(--link-colour);
	text-decoration: underline;
}

small > a {
	filter: opacity(0.7);
}

small, .small {
	color: var(--dim);
}

code {
	word-wrap: break-word;
	white-space: pre-wrap;
	font-family: inherit;
	font-size: smaller;
}

pre > code {
	font-size: medium;
}

ul {
	list-style-type: "* ";
	list-style-position: inside;
	padding: 0;
}

.hr {
	color: var(--dim);
	text-align: center;
}

.footer {
	color: var(--dim);
	text-align: center;
}

.center {
	text-align: center;
}

.bg-error {
	background-color: var(--error);
	color: var(--background-colour);
	cursor: help;
	padding-left: 1ch;
	padding-right: 1ch;
}

.bg-warning {
	background-color: var(--warning);
	color: var(--background-colour);
	cursor: help;
	padding-left: 1ch;
	padding-right: 1ch;
}
