@font-face {
	font-family: "Adventure";
	src: url("/assets/nav/font.otf") format("opentype");
	font-display: block;
	ascent-override: 95%;
	descent-override: 5%;
}

@font-face {
	font-family: "Model";
	src: url("/assets/nav/model_font.otf") format("opentype");
	font-display: block;
}

html {
	font-size: 62.5%;
}

body {
	margin: 0;
	font-family: "Adventure", sans-serif;
	background: #060606;
	color: #ffffff;
}

#boot-loader {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	grid-template-rows: auto auto;
	justify-items: center;
	align-content: center;
	gap: 1.2rem;
	padding: 2.2rem 1.8rem;
	background: #060606;
	opacity: 1;
	visibility: visible;
	transition:
		opacity 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
		visibility 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

#boot-loader.is-leaving {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

#boot-loader .boot-loader__progress {
	width: min(27rem, 76vw);
	height: 0.24rem;
	border-radius: 999px;
	overflow: hidden;
	background: rgb(255 255 255 / 12%);
}

#boot-loader .boot-loader__status {
	margin: 0;
	color: rgb(255 255 255 / 86%);
	font-family: "Adventure", sans-serif;
	font-size: clamp(1.3rem, 1.05rem + 0.45vw, 1.6rem);
	font-weight: 550;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-shadow: 0 0.4rem 1rem rgb(0 0 0 / 35%);
}

#boot-loader .boot-loader__progress-fill {
	display: block;
	width: 42%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(
		90deg,
		rgb(172 150 112 / 16%) 0%,
		rgb(172 150 112 / 90%) 45%,
		rgb(255 255 255 / 90%) 52%,
		rgb(172 150 112 / 90%) 60%,
		rgb(172 150 112 / 16%) 100%
	);
	transform: translateX(-22%);
	animation: boot-loader-slide 1.1s ease-in-out infinite alternate;
}

@keyframes boot-loader-slide {
	from {
		transform: translateX(-22%);
	}

	to {
		transform: translateX(172%);
	}
}
