.app-loading-container {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100vh;
	background-color: var(--l2-background); // Background

	.app-loading-content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 100%;

		.brand {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 12px;

			margin-bottom: 12px;

			.brand-logo {
				width: 40px;
				height: 40px;
			}

			.brand-title {
				font-size: 20px;
				font-weight: 600;
				color: var(--l1-foreground); // Primary text
				margin: 0;
			}
		}

		.brand-tagline {
			margin-bottom: 24px;

			.ant-typography {
				color: var(--l2-foreground); // Secondary text
			}
		}

		/* HTML: <div class="loader"></div> */
		.loader {
			width: 150px;
			height: 12px;
			border-radius: 2px;
			color: var(--primary-background); // Primary blue color
			border: 2px solid;
			position: relative;
		}
		.loader::before {
			content: '';
			position: absolute;
			margin: 2px;
			inset: 0 100% 0 0;
			border-radius: inherit;
			background: currentColor;
			animation: l6 2s infinite;
		}
		@keyframes l6 {
			100% {
				inset: 0;
			}
		}
	}
}

.perilin-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	background: radial-gradient(circle, var(--l1-foreground) 10%, transparent 0);
	background-size: 12px 12px;
	opacity: 1;

	mask-image: radial-gradient(
		circle at 50% 0,
		color-mix(in srgb, var(--l1-background) 10%, transparent) 0,
		transparent 100%
	);
	-webkit-mask-image: radial-gradient(
		circle at 50% 0,
		color-mix(in srgb, var(--l1-background) 10%, transparent) 0,
		transparent 100%
	);
}
