/* InitMU Preloader - icy aura loading screen */
html.initmu-preloading,
html.initmu-preloading body {
	overflow: hidden !important;
}

.initmu-preloader {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at 50% 38%, rgba(0,160,255,.18), rgba(0,20,45,.90) 38%, rgba(0,5,18,.98) 75%),
		linear-gradient(135deg, #020816 0%, #06182d 45%, #010712 100%);
	color: #dff7ff;
	opacity: 1;
	visibility: visible;
	transition: opacity .65s ease, visibility .65s ease;
}

.initmu-preloader.initmu-preloader-hide {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.initmu-preloader-grid {
	position: absolute;
	inset: 0;
	opacity: .42;
	background-image:
		linear-gradient(rgba(33, 170, 255, .16) 1px, transparent 1px),
		linear-gradient(90deg, rgba(33, 170, 255, .16) 1px, transparent 1px),
		linear-gradient(rgba(91, 211, 255, .07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(91, 211, 255, .07) 1px, transparent 1px);
	background-size: 48px 48px, 48px 48px, 12px 12px, 12px 12px;
	mask-image: radial-gradient(circle at center, #000 0%, #000 58%, transparent 86%);
	-webkit-mask-image: radial-gradient(circle at center, #000 0%, #000 58%, transparent 86%);
	animation: initmuGridDrift 9s linear infinite;
}

.initmu-preloader::before,
.initmu-preloader::after {
	content: "";
	position: absolute;
	inset: 28px;
	border: 1px solid rgba(0, 201, 255, .28);
	clip-path: polygon(0 0, 14% 0, 14% 1px, 1px 1px, 1px 14%, 0 14%, 0 0, 100% 0, 86% 0, 86% 1px, calc(100% - 1px) 1px, calc(100% - 1px) 14%, 100% 14%, 100% 0, 100% 100%, 86% 100%, 86% calc(100% - 1px), calc(100% - 1px) calc(100% - 1px), calc(100% - 1px) 86%, 100% 86%, 100% 100%, 0 100%, 14% 100%, 14% calc(100% - 1px), 1px calc(100% - 1px), 1px 86%, 0 86%, 0 100%);
	opacity: .55;
	pointer-events: none;
}

.initmu-preloader::after {
	inset: 46px;
	opacity: .24;
	filter: blur(1px);
}

.initmu-preloader-core {
	position: relative;
	z-index: 2;
	width: min(760px, 92vw);
	text-align: center;
	transform: translateY(-2vh);
}

.initmu-preloader-logo-wrap {
	position: relative;
	width: min(585px, 84vw);
	margin: 0 auto 20px;
	aspect-ratio: 1 / .82;
	display: flex;
	align-items: center;
	justify-content: center;
	filter: drop-shadow(0 0 24px rgba(0, 210, 255, .42));
	isolation: isolate;
}

.initmu-preloader-logo {
	position: relative;
	z-index: 5;
	width: min(468px, 100%);
	max-width: none;
	max-height: 100%;
	object-fit: contain;
	animation: initmuLogoPulse 2.8s ease-in-out infinite;
}

.initmu-preloader-logo-wrap::before {
	content: "";
	position: absolute;
	z-index: 1;
	width: 64%;
	height: 60%;
	border-radius: 50%;
	background:
		radial-gradient(circle, rgba(184,247,255,.28) 0%, rgba(86,198,255,.14) 42%, rgba(0,115,224,.04) 66%, transparent 78%);
	filter: blur(16px);
	animation: initmuAuraPulse 3.2s ease-in-out infinite;
}

.initmu-preloader-logo-wrap::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 20% 25%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(120,225,255,.16) 0%, rgba(66,195,255,.08) 44%, transparent 72%);
	filter: blur(10px);
	opacity: .62;
}

/* Organic icy vapor trails behind the crest */
.initmu-ice-vapor {
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 47%;
	width: 66%;
	height: 48%;
	transform: translate(-50%, -50%) rotate(-5deg);
	transform-origin: 50% 50%;
	border-radius: 50%;
	mix-blend-mode: screen;
	opacity: .88;
	filter: blur(1px);
	animation: initmuVaporDriftA 8.8s ease-in-out infinite;
}

.initmu-ice-vapor::before,
.initmu-ice-vapor::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

/* inner ribbon */
.initmu-ice-vapor::before {
	background:
		radial-gradient(34% 11% at 18% 51%, rgba(255,255,255,.72), transparent 76%),
		radial-gradient(28% 10% at 34% 26%, rgba(190,243,255,.40), transparent 72%),
		radial-gradient(30% 10% at 50% 14%, rgba(170,236,255,.26), transparent 72%),
		radial-gradient(34% 11% at 82% 47%, rgba(228,250,255,.58), transparent 76%),
		radial-gradient(28% 10% at 67% 73%, rgba(177,238,255,.26), transparent 72%),
		radial-gradient(28% 10% at 50% 84%, rgba(166,236,255,.24), transparent 74%);
	mask-image: radial-gradient(circle at center, transparent 0 36%, #000 44%, #000 62%, transparent 76%);
	-webkit-mask-image: radial-gradient(circle at center, transparent 0 36%, #000 44%, #000 62%, transparent 76%);
	filter: blur(8px) drop-shadow(0 0 10px rgba(179,244,255,.50));
	opacity: .96;
}

/* outer dissipating vapor */
.initmu-ice-vapor::after {
	inset: -6% -4%;
	background:
		radial-gradient(40% 14% at 14% 50%, rgba(210,248,255,.34), transparent 78%),
		radial-gradient(34% 12% at 28% 26%, rgba(183,241,255,.16), transparent 74%),
		radial-gradient(36% 14% at 86% 48%, rgba(194,245,255,.26), transparent 78%),
		radial-gradient(26% 10% at 73% 70%, rgba(172,236,255,.14), transparent 72%),
		radial-gradient(24% 8% at 50% 16%, rgba(160,233,255,.16), transparent 74%),
		radial-gradient(28% 10% at 50% 84%, rgba(176,238,255,.14), transparent 74%);
	mask-image: radial-gradient(circle at center, transparent 0 39%, #000 46%, #000 68%, transparent 82%);
	-webkit-mask-image: radial-gradient(circle at center, transparent 0 39%, #000 46%, #000 68%, transparent 82%);
	filter: blur(18px) drop-shadow(0 0 18px rgba(121,219,255,.24));
	opacity: .62;
}

.vapor-two {
	top: 48%;
	width: 74%;
	height: 54%;
	transform: translate(-50%, -50%) rotate(118deg) scale(.98);
	opacity: .52;
	filter: blur(2px);
	animation: initmuVaporDriftB 11.4s ease-in-out infinite;
}

.vapor-two::before {
	background:
		radial-gradient(32% 10% at 16% 50%, rgba(218,250,255,.42), transparent 76%),
		radial-gradient(24% 8% at 34% 28%, rgba(175,236,255,.18), transparent 72%),
		radial-gradient(32% 10% at 84% 48%, rgba(211,248,255,.34), transparent 76%),
		radial-gradient(26% 8% at 66% 72%, rgba(166,234,255,.14), transparent 72%);
	mask-image: radial-gradient(circle at center, transparent 0 41%, #000 48%, #000 64%, transparent 78%);
	-webkit-mask-image: radial-gradient(circle at center, transparent 0 41%, #000 48%, #000 64%, transparent 78%);
	filter: blur(10px);
	opacity: .82;
}

.vapor-two::after {
	inset: -8% -6%;
	background:
		radial-gradient(42% 14% at 16% 50%, rgba(195,244,255,.18), transparent 78%),
		radial-gradient(42% 14% at 84% 48%, rgba(181,240,255,.16), transparent 78%);
	mask-image: radial-gradient(circle at center, transparent 0 43%, #000 50%, #000 68%, transparent 82%);
	-webkit-mask-image: radial-gradient(circle at center, transparent 0 43%, #000 50%, #000 68%, transparent 82%);
	filter: blur(20px);
	opacity: .40;
}

.vapor-three {
	top: 49%;
	width: 82%;
	height: 60%;
	transform: translate(-50%, -50%) rotate(232deg) scale(.99);
	opacity: .24;
	filter: blur(5px);
	animation: initmuVaporDriftC 13.8s ease-in-out infinite;
}

.vapor-three::before {
	background:
		radial-gradient(36% 12% at 18% 52%, rgba(205,247,255,.24), transparent 76%),
		radial-gradient(34% 12% at 82% 48%, rgba(188,241,255,.18), transparent 76%);
	mask-image: radial-gradient(circle at center, transparent 0 45%, #000 50%, #000 66%, transparent 82%);
	-webkit-mask-image: radial-gradient(circle at center, transparent 0 45%, #000 50%, #000 66%, transparent 82%);
	filter: blur(14px);
	opacity: .64;
}

.vapor-three::after {
	display: none;
}

.initmu-loading-text {
	margin-top: 8px;
	font-family: Lato, Arial, sans-serif;
	font-weight: 900;
	letter-spacing: .28em;
	font-size: clamp(28px, 4.2vw, 52px);
	color: #18efff;
	text-shadow: 0 0 12px rgba(0, 228, 255, .9), 0 0 30px rgba(0, 143, 255, .55);
}

.initmu-loading-text span {
	display: inline-block;
	animation: initmuDotJump 1.05s ease-in-out infinite;
}

.initmu-loading-text span:nth-child(2) { animation-delay: .16s; }
.initmu-loading-text span:nth-child(3) { animation-delay: .32s; }

.initmu-loading-bar {
	position: relative;
	width: min(560px, 82vw);
	height: 28px;
	margin: 26px auto 0;
	border: 1px solid rgba(41, 225, 255, .65);
	border-radius: 999px;
	background: rgba(0, 12, 28, .78);
	box-shadow:
		inset 0 0 18px rgba(0, 82, 160, .55),
		0 0 22px rgba(0, 218, 255, .28);
	overflow: hidden;
}

.initmu-loading-fill {
	width: 4%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #10a9ff 0%, #25efff 52%, #8bffff 100%);
	box-shadow: 0 0 18px rgba(0, 238, 255, .8), 0 0 34px rgba(0, 142, 255, .38);
	transition: width .24s ease-out;
}

.initmu-loading-fill::after {
	content: "";
	position: absolute;
	inset: 0;
	width: 34%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
	animation: initmuBarShine 1.2s linear infinite;
}

.initmu-loading-percent {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .08em;
	color: #17efff;
	text-shadow: 0 0 9px rgba(0, 238, 255, .9);
}

.initmu-loading-caption {
	margin-top: 12px;
	color: rgba(204, 245, 255, .82);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-shadow: 0 0 12px rgba(0, 157, 255, .5);
}

.initmu-loading-caption.initmu-caption-success {
	color: #63ff9b;
	font-weight: 900;
	letter-spacing: .14em;
	text-shadow:
		0 0 10px rgba(77, 255, 142, .95),
		0 0 24px rgba(18, 255, 108, .58),
		0 0 44px rgba(0, 255, 132, .32);
	animation: initmuSafePulse 1.05s ease-in-out infinite;
}

.initmu-preloader-particles span {
	position: absolute;
	z-index: 1;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(93, 229, 255, .95);
	box-shadow: 0 0 14px rgba(0, 228, 255, .9);
	animation: initmuParticleFloat 5s ease-in-out infinite;
}

.initmu-preloader-particles span:nth-child(1) { left: 18%; top: 28%; animation-delay: -.3s; }
.initmu-preloader-particles span:nth-child(2) { left: 76%; top: 24%; animation-delay: -.9s; }
.initmu-preloader-particles span:nth-child(3) { left: 28%; top: 72%; animation-delay: -1.5s; }
.initmu-preloader-particles span:nth-child(4) { left: 66%; top: 70%; animation-delay: -2.2s; }
.initmu-preloader-particles span:nth-child(5) { left: 44%; top: 17%; animation-delay: -2.8s; }
.initmu-preloader-particles span:nth-child(6) { left: 84%; top: 56%; animation-delay: -3.4s; }

@keyframes initmuGridDrift {
	0% { background-position: 0 0, 0 0, 0 0, 0 0; }
	100% { background-position: 48px 48px, 48px 48px, 12px 12px, 12px 12px; }
}

@keyframes initmuLogoPulse {
	0%, 100% { transform: scale(1.17); filter: brightness(1); }
	50% { transform: scale(1.205); filter: brightness(1.14); }
}

@keyframes initmuAuraPulse {
	0%, 100% { opacity: .40; transform: scale(.96); }
	50% { opacity: .72; transform: scale(1.04); }
}

@keyframes initmuVaporDriftA {
	0% { transform: translate(-50%, -50%) rotate(-6deg) scale(.98); opacity: .78; }
	25% { transform: translate(-50%, -50%) rotate(0deg) scale(1.01); opacity: .92; }
	50% { transform: translate(-50%, -50%) rotate(5deg) scale(1.04); opacity: .82; }
	75% { transform: translate(-50%, -50%) rotate(1deg) scale(1.02); opacity: .90; }
	100% { transform: translate(-50%, -50%) rotate(-6deg) scale(.98); opacity: .78; }
}

@keyframes initmuVaporDriftB {
	0% { transform: translate(-50%, -50%) rotate(114deg) scale(.98); opacity: .42; }
	35% { transform: translate(-50%, -50%) rotate(122deg) scale(1.03); opacity: .66; }
	65% { transform: translate(-50%, -50%) rotate(130deg) scale(1.01); opacity: .48; }
	100% { transform: translate(-50%, -50%) rotate(114deg) scale(.98); opacity: .42; }
}

@keyframes initmuVaporDriftC {
	0% { transform: translate(-50%, -50%) rotate(228deg) scale(.99); opacity: .20; }
	40% { transform: translate(-50%, -50%) rotate(236deg) scale(1.04); opacity: .32; }
	70% { transform: translate(-50%, -50%) rotate(244deg) scale(1.01); opacity: .22; }
	100% { transform: translate(-50%, -50%) rotate(228deg) scale(.99); opacity: .20; }
}

@keyframes initmuDotJump {
	0%, 80%, 100% { transform: translateY(0); opacity: .55; }
	40% { transform: translateY(-8px); opacity: 1; }
}

@keyframes initmuBarShine {
	0% { transform: translateX(-130%); }
	100% { transform: translateX(360%); }
}

@keyframes initmuParticleFloat {
	0%, 100% { transform: translateY(0) scale(.8); opacity: .35; }
	50% { transform: translateY(-24px) scale(1.15); opacity: 1; }
}

@keyframes initmuSafePulse {
	0%, 100% { opacity: .84; transform: translateY(0); }
	50% { opacity: 1; transform: translateY(-1px); }
}

@media (max-width: 640px) {
	.initmu-preloader-logo-wrap {
		width: min(420px, 90vw);
		margin-bottom: 16px;
	}

	.initmu-preloader-logo {
		width: min(340px, 100%);
	}

	.initmu-ice-vapor {
		width: 74%;
		height: 54%;
	}

	.vapor-two { width: 82%; height: 60%; }
	.vapor-three { width: 88%; height: 64%; }

	.initmu-loading-bar {
		height: 24px;
	}

	.initmu-loading-caption {
		font-size: 10px;
	}
}
