/* مطار الأصدقاء - الأنماط التفاعلية والمؤثرات */
@keyframes pulseZone {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.08); opacity: 1; filter: drop-shadow(0 0 12px currentColor); }
}

.zone-pulse {
  animation: pulseZone 2s infinite cubic-bezier(0.4, 0, 0.6, 1);
}

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

.float-bob {
  animation: floatBob 2.5s ease-in-out infinite;
}

@keyframes coinFly {
  0% { transform: translate(0, 0) scale(1); opacity: 1; }
  100% { transform: translate(var(--tx, 0px), var(--ty, -60px)) scale(1.3); opacity: 0; }
}

.flying-particle {
  position: absolute;
  pointer-events: none;
  font-weight: 900;
  z-index: 60;
  animation: coinFly 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* Virtual Joystick */
.joystick-base {
  touch-action: none;
  background: radial-gradient(circle, rgba(15, 23, 42, 0.85) 0%, rgba(2, 6, 23, 0.95) 100%);
  box-shadow: 0 0 25px rgba(56, 189, 248, 0.25), inset 0 0 15px rgba(255, 255, 255, 0.08);
}

.joystick-stick {
  background: radial-gradient(circle at 35% 35%, #38bdf8 0%, #0284c7 60%, #0369a1 100%);
  box-shadow: 0 4px 15px rgba(2, 132, 199, 0.6), inset 0 2px 4px rgba(255, 255, 255, 0.6);
}

/* Custom scrollbar for modals */
::-webkit-scrollbar {
  width: 4px;
}
::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, 0.6);
}
::-webkit-scrollbar-thumb {
  background: rgba(56, 189, 248, 0.4);
  border-radius: 9999px;
}