:root {
	--bg: #1b1b1f;
	--bg2: #18181b;
	--bg3: #222228;
	--fg: #b3b3b3;
	--fg2: #d3d3d3;
	--fg3: #f3f3f3;

	--outline: 2px solid var(--bg3);
}

html {
	font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
	font-size: 13pt;
}

body {
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	margin: 0;
	padding: 0;

	background-color: var(--bg2);
	color: var(--fg);

	display: flex;
	align-items: center;
	justify-content: center;
}

h1 {
	margin: 0;
	color: var(--fg2);
}

main {
	display: grid;
	place-items: center;
	gap: 1rem;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.card {
	margin: auto;
	padding: 2rem 1rem;
	box-sizing: border-box;

	background-color: var(--bg);

	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	gap: 1rem;

	outline: var(--outline);
	border-radius: 1rem;

	overflow: hidden;
}

.card,
#summary_wrapper {
	grid-row: 1;
	grid-column: 1;

	width: min(24rem, 100%);
	aspect-ratio: 3/5;

	transition-timing-function: ease-out;
	transition-duration: 0.3s;
	transition-property: transform, rotate, opacity;
	text-align: center;
}

.card.right,
#summary_wrapper.right {
	transform: translate(110%, -10%) rotate(10deg);
	opacity: 0;
	transition-timing-function: ease-in;
	pointer-events: none;
}

button {
	border: none;
	cursor: pointer;
}

form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: stretch;
}

form input,
form button {
	background-color: var(--bg);
	color: var(--fg2);
	font-size: 13pt;

	border-radius: 0.5rem;

	outline: 1px solid var(--fg);
	padding: 0.5rem;
}

form input:hover,
form button:hover {
	background-color: var(--bg3);
	color: var(--fg3);
}

.card>img {
	flex: 1 1 0;
	min-width: 0;
	min-height: 0;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	padding: 1rem;
}

#logo {
	flex: unset;
}

.card>p {
	margin: 0;
	font-size: 15pt;
	line-height: 1.5;
}

.nav_button {
	z-index: 999;
	top: 0;
	width: 4rem;
	height: 100%;

	background: none;
	position: absolute;

	transition-duration: 0.3s;
	transition-property: opacity;
	transition-timing-function: ease;
}

.nav_button img {
	width: 100%;
	aspect-ratio: 1;
}

#scroll_left {
	left: 0;
}

#scroll_right {
	right: 0;
	transform: scaleX(-1);
}

#summary_wrapper {
	scale: 108%;
}

#summary {
	width: 100%;
	height: 100%;
	position: relative;
}

#summary_overlay {
	position: absolute;
	z-index: 600;
	inset: 0;

	opacity: 0.05;
	--offset: 500%;
	--size: 20%;

	mask-image: url("./noise.png");

	background: linear-gradient(-10deg, transparent, transparent calc(var(--offset) - var(--size)), #fff var(--offset), transparent calc(var(--offset) + var(--size)), transparent),
		linear-gradient(#fff6 0%, #fff6 100%);

	transition: opacity 0.3s ease;

	mix-blend-mode: soft-light;
}

#elo_icon {
	position: absolute;
	z-index: 500;
	background-color: var(--bg2);

	top: 0;
	left: 0;

	height: 2rem;

	padding: 0.5rem;
	border-radius: 0 0 1rem 0;
	outline: var(--outline);

	display: flex;
	align-items: center;
	gap: 0.25rem;
}

#elo_icon>img {
	height: 100%;
	aspect-ratio: 1;
}

#elo_icon>b {
	color: #eee;
}
