/* ================================================
   DISCLAIMER MODAL
   ================================================ */

.disclaimer {
	position: fixed;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	text-align: center;
	padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1rem, 4vw, 1.75rem) calc(1.5rem + env(safe-area-inset-bottom));
	gap: var(--gap-md);
	width: 100%;
	height: 100%;
	overflow-y: auto;
	background: radial-gradient(120% 120% at 50% 0%, rgba(16, 0, 6, 0.92) 0%, rgba(4, 2, 4, 0.94) 52%, rgba(0, 0, 0, 0.96) 100%);
	backdrop-filter: blur(12px) saturate(140%);
	border-radius: inherit;
	z-index: 100;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 380ms cubic-bezier(0.4, 0, 0.2, 1), transform 420ms cubic-bezier(0.26, 0.01, 0.21, 1);
	will-change: opacity, transform;
}

.disclaimer.disclaimer--leaving {
	opacity: 0;
	transform: translateY(-18px);
	pointer-events: none;
}

.disclaimer[hidden] {
	display: none;
}

.disclaimer > * {
	max-width: min(500px, 90vw);
	width: 100%;
}

.disclaimer h3 {
	font-size: clamp(1.35rem, 4vw, 1.75rem);
	letter-spacing: 0.12em;
	margin: 0 0 1rem;
}

.disclaimer p,
.disclaimer li {
	font-size: clamp(0.9rem, 2.5vw, 1.05rem);
	line-height: var(--body-line-height);
	letter-spacing: 0.08em;
	margin: 0 0 0.85rem;
}

.disclaimer .actions {
	margin-top: auto;
	padding-top: clamp(0.75rem, 2.5vw, 1.25rem);
}

@media (prefers-reduced-motion: reduce) {
	.disclaimer {
		transition: none;
	}
}
