#lsl-logo-splash-loader {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	box-sizing: border-box;
	width: 100vw;
	height: 100vh;
	height: 100svh;
	padding: 24px;
	background: #000;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 450ms ease, visibility 450ms ease;
}

#lsl-logo-splash-loader,
#lsl-logo-splash-loader * {
	box-sizing: border-box;
}

#lsl-logo-splash-loader.lsl-loader-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

#lsl-logo-splash-loader.lsl-loader-gone {
	display: none !important;
}

body.lsl-logo-loader-lock {
	overflow: hidden;
}

.lsl-loader-logo-wrap {
	position: relative;
	width: min(var(--lsl-loader-logo-width, 360px), 72vw);
	max-width: 100%;
	line-height: 0;
}

.lsl-loader-logo-wrap img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	border: 0;
	user-select: none;
	pointer-events: none;
}

.lsl-loader-logo-base {
	opacity: 0.24;
	filter: grayscale(1) brightness(1.4);
}

.lsl-loader-logo-fill {
	position: absolute;
	inset: 0;
	opacity: 1;
}

.lsl-animation-wipe .lsl-loader-logo-fill {
	clip-path: inset(100% 0 0 0);
	animation: lsl-logo-wipe var(--lsl-loader-duration, 6s) linear forwards;
}

.lsl-animation-pulse .lsl-loader-logo-base {
	opacity: 0.92;
	filter: none;
	animation: lsl-logo-pulse 1.4s ease-in-out infinite;
}

.lsl-animation-pulse .lsl-loader-logo-fill {
	display: none;
}

@keyframes lsl-logo-wipe {
	from {
		clip-path: inset(100% 0 0 0);
	}
	to {
		clip-path: inset(0 0 0 0);
	}
}

@keyframes lsl-logo-pulse {
	0%,
	100% {
		opacity: 0.86;
		transform: scale(1);
	}
	50% {
		opacity: 1;
		transform: scale(1.035);
	}
}

@media (prefers-reduced-motion: reduce) {
	.lsl-animation-wipe .lsl-loader-logo-fill,
	.lsl-animation-pulse .lsl-loader-logo-base {
		animation: none;
	}

	.lsl-animation-wipe .lsl-loader-logo-fill {
		clip-path: inset(0 0 0 0);
	}
}
