@font-face {
	font-family: 'Twemoji';
	src: url('../font/vendor/twemoji.woff2') format('woff2');
}

@font-face {
	font-family: 'Quicksand';
	font-weight: 300;
	src: url('../font/vendor/quicksand-300.woff2') format('woff2');
}

@font-face {
	font-family: 'JetBrains Mono';
	font-weight: 400;
	src: url('../font/vendor/jetbrains-mono-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Pokemon GB';
	src: url('../font/PokemonGB.woff2') format('woff2');
}

* {
	box-sizing: border-box;
	user-select: none;
}
*:not(html) {
	color: inherit;
}

a {
	display: inline-block;
	text-decoration: none;
	color: inherit;
}

:root {
	background-color: #121212;
	color: #e1e1e1;
	color-scheme: dark;
}

html, body, #page {
	height: 100%;
}

body {
	font-family: sans-serif;
	margin: 0;
}

#page {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;

	overflow: hidden;
}

main.centered-content {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

.card {
	background-color: #292929;
	border-radius: 10px;
	overflow: hidden;
}


@keyframes bg {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 41.75vmin calc(7.3vmin * -2);
	}
}

body::after {
	content: '';

	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;

	display: block;
	width: 100%;
	height: 100%;

	opacity: .1;
	background-image: url(/assets/img/bg.svg);
	background-size: 41.75vmin 7.3vmin;
	animation: bg 10s forwards infinite linear;
}

@media(prefers-reduced-motion: reduce) {
	body::after {
		background-position: center;
		animation: none;
	}
}


button, input {
	font-size: 20px;
	padding: 8px 16px;
	border-style: solid;
	border-color: #0000003F;
	background-color: #3b3b3b;
}

input {
	font-family: 'JetBrains Mono', monospace;
}

button:focus, input:focus-visible {
	outline: 2px solid dodgerblue;
}
button:not([disabled]) {
	cursor: pointer;
}

nav {
	display: flex;
	padding: 16px;
	background-color: #292929;
	align-items: center;
}

#logo {
	display: contents;
}
#logo > figure {
	display: inline-block;
	margin: 0 8px 0 0;
	height: 100%;
	min-height: 32px;
	aspect-ratio: 1;
	background: url(/assets/img/logo.webp) center / cover;
}

nav > ul {
	margin: 0;
	padding: 0;
}
nav > ul ~ .spacer {
	flex-grow: 1;
}
nav > ul ~ .spacer ~ .spacer {
	flex-grow: 0;
}

nav > ul > li {
	display: inline-block;
	font-family: 'JetBrains Mono', monospace;
}
nav > ul + ul,
nav > ul > li + li {
	margin-left: 4px;
}
nav > ul + ul,
nav > ul ~ .spacer ~ .spacer + ul {
	margin-left: 8px;
	border-left: 1px solid white;
	padding-left: 8px;
}
nav > ul > li > a {
	padding: 4px 8px;
}
nav > ul > li > a:hover {
	background-color: #3b3b3b;
}
