* {
	box-sizing: border-box;
	color: #000000;
}
html, body {
	min-height: 100%;
	min-width: 100%;
}
html{
	overscroll-behavior-y: contain;
	background-color: #ffffff;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
body {
	padding: 2rem;
}
h1 {
	margin: 0.5rem;
	font-size: 1.5rem;
}
h2 {
	margin: 0.25rem;
}
h3 {
	margin: 0.125rem;
}
h1, h2, h3 {
	margin-left: 0;
}
ol, ul {
	margin: 1rem 0;
}
a {
	color: #0066cc;
}
a:visited {
	color: #71419d;
}
.flex {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.column {
	flex-direction: column;
}
.hidden, .printonly {
	display: none !important;
}
#main {
	width: calc(100vw - 4rem);
	max-width: 40rem;
	align-items: flex-start;
}
footer {
	font-size: 0.875rem;
}
@media screen and (prefers-color-scheme: dark) {
	* {
		color-scheme: dark;
		color: #fbfbfe;
	}
	html {
		background-color: #1c1b22;
	}
	a {
		color: #8c8cff;
	}
	a:visited {
		color: #ffadff;
	}
}
@media print {
	html {
		background-color: #ffffff;
	}
	html, body {
		min-height: 0;
	}
	.printonly {
		display: block !important;
	}
	a {
		color: black;
		text-decoration: none;
	}
}