#vision-mobile-lock-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	align-items: center;
	justify-content: center;
	padding: clamp(20px, 5vw, 48px);
	background:
		radial-gradient(120% 65% at 50% 0%, rgba(131, 170, 145, 0.28) 0%, rgba(8, 14, 15, 0.95) 55%, #040506 100%),
		linear-gradient(180deg, #061114 0%, #040506 100%);
	color: #f4f7f5;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	text-align: center;
}

#vision-mobile-lock-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(100% 55% at 20% 0%, rgba(146, 183, 160, 0.2) 0%, rgba(146, 183, 160, 0) 62%),
		radial-gradient(80% 50% at 85% 12%, rgba(146, 183, 160, 0.1) 0%, rgba(146, 183, 160, 0) 65%);
	pointer-events: none;
}

.vml-overlay__shell {
	position: relative;
	width: min(92vw, 720px);
	border-radius: 28px;
	padding: clamp(28px, 4.5vw, 44px);
	border: 1px solid rgba(222, 234, 225, 0.2);
	background: linear-gradient(160deg, rgba(8, 16, 24, 0.86), rgba(4, 8, 12, 0.75));
	box-shadow:
		0 18px 56px rgba(0, 0, 0, 0.56),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	overflow: hidden;
}

.vml-overlay__glass {
	position: absolute;
	inset: 0;
	background: linear-gradient(155deg, rgba(146, 183, 160, 0.18), rgba(146, 183, 160, 0.03) 45%, rgba(255, 255, 255, 0));
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	pointer-events: none;
}

.vml-overlay__content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(14px, 3vw, 20px);
}

.vml-overlay__logo {
	display: block;
	width: 100%;
	max-width: var(--vml-logo-max-width, 200px);
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.45));
}

.vml-overlay__brand {
	font-size: clamp(24px, 6vw, 42px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.02em;
}

.vml-overlay__message {
	max-width: 42ch;
	margin: 0;
	font-size: clamp(16px, 2.8vw, 21px);
	line-height: 1.5;
	font-weight: 500;
	color: rgba(243, 248, 244, 0.94);
}

@media (max-width: 767px) {
	.vml-overlay__shell {
		width: min(96vw, 560px);
		border-radius: 22px;
	}

	.vml-overlay__message {
		max-width: 30ch;
	}
}

@media (prefers-reduced-motion: reduce) {
	#vision-mobile-lock-overlay,
	.vml-overlay__shell,
	.vml-overlay__logo {
		transition: none !important;
		animation: none !important;
	}
}
