:root {
	color-scheme: light dark;
	--color-a: darkgoldenrod;
	--color-bg: darkgoldenrod;
	--color-bg-text: white;
	--color-code: lightgrey;
}
@media(prefers-color-scheme: dark) {
	:root {
		--color-a: moccasin;
		--color-code: #444;
	}
}
/* Page layout. */
html {
	height: 100%;
}
body {
	display: flex;
	flex-direction: column;
	margin: 0;
	min-height: 100%;
}
main {
	flex: 1 1 auto;
}
body > header {
	background-color: var(--color-bg);
	flex: 0 0 auto;
}
body > header {
	border-radius: 0 0 1.5rem 1rem;
	position: sticky;
	top: 0;
}
body > header > div, main > *, body > footer > div {
	margin: 0 auto;
	max-width: 72ch;
	padding: 0 0.6rem;
}
body > footer {
	margin: 3rem 0 1rem;
}
body pre {
	padding: 0.5rem;
	margin: auto -0.5rem;
	border-radius: 0.5rem;
	overflow-x: auto;
}
body p code {
	padding: 0.2rem 0.2rem;
	border-radius: 0.4rem;
}
/* Text layout. */
p {
	line-height: 1.8;
}
body > header h1 {
	margin: 0.2rem 0;
}
article > header {
	margin: 1rem 0 0;
}
article > header > h1 {
	margin: 0.2rem 0;
}
article > footer {
	margin: 0 0 1rem;
}
article > h2 {
	margin: 2rem 0 0.4rem;
}
article > p {
	margin: 0;
}
.keep-reading {
	text-align: right;
}
.keep-reading a {
	font-style: italic;
	text-decoration: none;
}
/* Text formatting. */
body {
	font-family: system-ui, sans-serif;
}
body > header h1 a {
	color: var(--color-bg-text);
	font-family: monospace;
}
article h1 {
	color: var(--color-a);
	font-size: 1.8rem;
}
article h2 {
	font-size: 1.5rem;
}
article > footer {
	font-size: 0.8rem;
	font-style: italic;
}
footer p {
	color: var(--color-a);
	font-size: 0.7rem;
	font-style: italic;
	margin: 0.3rem 0;
	text-align: center;
}
a {
	color: var(--color-a);
}
body pre {
	background-color: var(--color-code);
}
body code {
	font-family: ui-monospace, monospace;
	tab-size: 2;
}
body p code {
	background-color: var(--color-code);
}
/* Other. */
header a {
	text-decoration: none;
}
