* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #0f172a; overflow-x: hidden; }

/* Radar sweep background */
.radar-bg {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(ellipse at 50% 50%, transparent 0%, #0f172a 70%),
    repeating-conic-gradient(from 0deg, rgba(56,189,248,0.02) 0deg, transparent 2deg, transparent 30deg);
  background-size: 100% 100%, 600px 600px;
  background-position: center, center;
}

.radar-bg::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: 
    linear-gradient(0deg, rgba(56,189,248,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,189,248,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* Glow effects */
.glow-electric { box-shadow: 0 0 20px rgba(56,189,248,0.3), inset 0 0 20px rgba(56,189,248,0.05); }
.glow-amber { box-shadow: 0 0 15px rgba(245,158,11,0.3); }
.glow-border { box-shadow: 0 0 0 1px rgba(56,189,248,0.5), 0 0 20px rgba(56,189,248,0.2); }

/* Search focus glow */
.search-glow:focus {
  box-shadow: 0 0 0 2px rgba(56,189,248,0.5), 0 0 30px rgba(56,189,248,0.2);
  outline: none;
}

/* Card hover */
.aircraft-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.aircraft-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 0 1px rgba(56,189,248,0.6), 0 12px 40px rgba(0,0,0,0.4), 0 0 30px rgba(56,189,248,0.15);
}

/* Staggered fade-in */
@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-card {
  animation: fadeSlideUp 0.5s ease forwards;
  opacity: 0;
}

/* Slide-in panel */
@keyframes slideInRight {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}
@keyframes slideInBottom {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
.slide-in-right { animation: slideInRight 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
.slide-in-bottom { animation: slideInBottom 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

/* Skeleton loader */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.skeleton {
  background: linear-gradient(90deg, #1e293b 25%, #2d3a4f 50%, #1e293b 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
}

/* Radar spinner */
@keyframes radarSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.radar-spin {
  animation: radarSpin 2s linear infinite;
}

/* Typewriter */
@keyframes typewriter {
  from { opacity: 0; transform: translateX(-5px); }
  to { opacity: 1; transform: translateX(0); }
}
.type-in {
  animation: typewriter 0.3s ease forwards;
  opacity: 0;
}

/* Pill active glow */
.pill-active {
  background: linear-gradient(135deg, rgba(56,189,248,0.25), rgba(56,189,248,0.1));
  border-color: #38bdf8;
  box-shadow: 0 0 12px rgba(56,189,248,0.4), inset 0 0 8px rgba(56,189,248,0.1);
  color: #38bdf8;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0f172a; }
::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #334155; }

/* Badge colors */
.badge-fighter { background: rgba(239,68,68,0.2); color: #f87171; border: 1px solid rgba(239,68,68,0.3); }
.badge-airliner { background: rgba(56,189,248,0.2); color: #38bdf8; border: 1px solid rgba(56,189,248,0.3); }
.badge-helicopter { background: rgba(34,197,94,0.2); color: #4ade80; border: 1px solid rgba(34,197,94,0.3); }
.badge-bomber { background: rgba(168,85,247,0.2); color: #c084fc; border: 1px solid rgba(168,85,247,0.3); }
.badge-cargo { background: rgba(245,158,11,0.2); color: #fbbf24; border: 1px solid rgba(245,158,11,0.3); }
.badge-trainer { background: rgba(236,72,153,0.2); color: #f472b6; border: 1px solid rgba(236,72,153,0.3); }
.badge-recon { background: rgba(99,102,241,0.2); color: #818cf8; border: 1px solid rgba(99,102,241,0.3); }
.badge-ga { background: rgba(20,184,166,0.2); color: #2dd4bf; border: 1px solid rgba(20,184,166,0.3); }
.badge-experimental { background: rgba(251,146,60,0.2); color: #fb923c; border: 1px solid rgba(251,146,60,0.3); }
.badge-attack { background: rgba(244,63,94,0.2); color: #fb7185; border: 1px solid rgba(244,63,94,0.3); }
.badge-transport { background: rgba(96,165,250,0.2); color: #93c5fd; border: 1px solid rgba(96,165,250,0.3); }
.badge-default { background: rgba(148,163,184,0.2); color: #94a3b8; border: 1px solid rgba(148,163,184,0.3); }

/* Hero image parallax container */
.hero-parallax {
  overflow: hidden;
}
.hero-parallax img {
  transition: transform 0.3s ease;
}

/* Detail panel scroll */
.detail-scroll {
  scrollbar-width: thin;
  scrollbar-color: #334155 #0f172a;
}