:root {
	--border: #330000;
	--green: #ffffcc40;
	--link: #ff6699;
	--linktrans: #ff669970;
	--text: #330000;
	--bg: #ff99cc;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	appearance: none;
	border: none;
	outline: none;
	image-rendering: pixelated;
}

*::selection {
	background-color: var(--linktrans);
	border: 2px solid var(--border);
}

p {
	margin: 1em 0;
}

*:first-child {
	margin-top: 0;
}

*:last-child {
	margin-bottom: 0;
}

a {
	color: var(--link);
	font-weight: bold;
	text-decoration: none;
}

a:focus {
	outline: 2px solid var(--link);
}

a:hover {
	text-decoration: underline;
}

body {
	font-family: monospace;
	font-size: 10pt;
	background-color: var(--bg);
	background-image: url("background.png");
	margin: 1em;
	color: var(--text);
}

body > *:not(hr) {
	max-width: 512px;
	margin: 1em auto;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	background-color: var(--green);
	background-image: url("frost.webp");
	background-attachment: fixed;
	padding: 1em;
	border: 0.2em solid var(--border);
	box-shadow: 0.3em 0.3em 0 var(--border);
}

hr {
	width: 128px;
	height: 24px;
	display: block;
	margin: auto;
	background-image: url("divider.png");
}

img.pfp {
	display: block;
	border: 0.2em solid var(--border);
	box-shadow: 0.3em 0.3em 0 var(--border);
	margin: 0 0.3em 0.3em 0;
}

header, footer {
	text-align: center;
}

.twocolumn {
	display: grid;
	grid-template-columns: min-content auto;
	grid-column-gap: 1em;
}
