@import url('https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&f[]=manrope@400,500,600,700,800&display=swap');

html {
	background-color: #05070d;
	scroll-behavior: smooth;
}

* {
	font-family: 'General Sans', 'Manrope', sans-serif;
}

body {
	font-family: 'General Sans', sans-serif;
	background-color: #05070d;
}

:root {
	--accent: #3b82f6;
	--accent-soft: #3b82f680;
}

.glass {
	background: rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.map-grid {
	background-image:
		linear-gradient(rgba(59, 130, 246, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(59, 130, 246, 0.06) 1px, transparent 1px);
	background-size: 40px 40px;
}

.dot-grid {
	background-image: radial-gradient(rgba(59, 130, 246, 0.15) 1px, transparent 1px);
	background-size: 24px 24px;
}

@keyframes pulse-ring {
	0% {
		transform: scale(0.6);
		opacity: 0.9;
	}
	100% {
		transform: scale(2.6);
		opacity: 0;
	}
}

.pulse-ring::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 9999px;
	background: rgba(59, 130, 246, 0.35);
	animation: pulse-ring 2.2s ease-out infinite;
}

@keyframes float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

.floaty {
	animation: float 5s ease-in-out infinite;
}

@keyframes dash {
	to {
		stroke-dashoffset: -1000;
	}
}

.route-anim {
	stroke-dasharray: 8 6;
	animation: dash 20s linear infinite;
}

@keyframes glow-move {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
	}
	50% {
		transform: translate(40px, -30px) scale(1.15);
	}
}

.glow-blob {
	animation: glow-move 12s ease-in-out infinite;
}

.reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.8s cubic-bezier(0.2, 0.7, 0.3, 1);
}

.reveal.show {
	opacity: 1;
	transform: translateY(0);
}

.nav-scrolled {
	background: rgba(5, 7, 13, 0.72);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

@keyframes live-blink {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.3;
	}
}

.live-blink {
	animation: live-blink 1.4s ease-in-out infinite;
}

::-webkit-scrollbar {
	width: 10px;
}

::-webkit-scrollbar-track {
	background: #05070d;
}

::-webkit-scrollbar-thumb {
	background: #1e293b;
	border-radius: 10px;
}

/* WordPress admin bar offset */
.admin-bar #navbar {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar #navbar {
		top: 46px;
	}
}

/* Hide default theme chrome on landing pages */
.flex-track-page .site-main {
	padding: 0;
	margin: 0;
	max-width: none;
}

.flex-track-page #page {
	overflow-x: hidden;
}
