:root {
	--bg: #090D15;
	--bg2: #0E1525;
	--card: #111827;
	--border: rgba(255, 255, 255, .05);
	--text: #FFFFFF;
	--muted: #94A3B8;
	--emerald: #10B981;
	--cyan: #22D3EE;
}

* {
	scroll-behavior: smooth;
}

html,
body {
	background: var(--bg);
	color: var(--text);
	font-family: 'Inter', sans-serif;
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

.glass {
	background: rgba(17, 24, 39, .55);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid var(--border);
}

.grad-radar {
	background: radial-gradient(circle at 20% 0%, rgba(16, 185, 129, .14), transparent 45%),
		radial-gradient(circle at 85% 15%, rgba(34, 211, 238, .12), transparent 40%);
}

.glow-cta {
	box-shadow: 0 0 0 1px rgba(16, 185, 129, .3), 0 8px 30px -6px rgba(16, 185, 129, .45);
}

.glow-cta:hover {
	box-shadow: 0 0 0 1px rgba(16, 185, 129, .5), 0 12px 40px -4px rgba(16, 185, 129, .6);
}

.card-hover {
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.card-hover:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 255, 255, .12);
	box-shadow: 0 20px 45px -20px rgba(0, 0, 0, .6);
}

.reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .5s ease, transform .5s ease;
}

.reveal.in {
	opacity: 1;
	transform: translateY(0);
}

.nav-shadow {
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06);
}

.radar-sweep {
	position: absolute;
	inset: 0;
	border-radius: 9999px;
	background: conic-gradient(from 0deg, rgba(16, 185, 129, 0) 0deg, rgba(16, 185, 129, .35) 25deg, rgba(16, 185, 129, 0) 60deg);
	animation: spin 4s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.tick-blink {
	animation: blink 2.2s ease-in-out infinite;
}

@keyframes blink {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: .35;
	}
}

::selection {
	background: rgba(16, 185, 129, .35);
	color: #fff;
}

input:focus-visible,
button:focus-visible,
a:focus-visible {
	outline: 2px solid var(--cyan);
	outline-offset: 2px;
}

.measure {
	max-width: 70ch;
}

#cookie-banner.cookie-popup-enter {
	opacity: 0;
	transform: translateY(20px);
	pointer-events: none;
}

#cookie-banner.cookie-popup-active {
	opacity: 1;
	transform: translateY(0);
}

.toggle-checkbox {
	right: 1.25rem;
	transition: right 0.3s ease, background-color 0.3s ease;
}

.toggle-checkbox:checked {
	right: 0;
}

.toggle-checkbox:checked+.toggle-label {
	background-color: #10B981;
	opacity: 1;
}