/* Reset & Typography */
* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
}

body {
  font-family: 'Cairo', 'Tajawal', system-ui, -apple-system, sans-serif;
  touch-action: manipulation;
  background-color: #001824;
}

/* Custom animations & effects */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

/* Floating combat label animations */
.combat-label {
  position: absolute;
  transform: translate(-50%, -50%);
  font-weight: 900;
  pointer-events: none;
  animation: combatPopup 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  text-shadow: 0 2px 4px rgba(0,0,0,0.8), 0 0 10px rgba(0,0,0,0.5);
  white-space: nowrap;
}

@keyframes combatPopup {
  0% {
    opacity: 0;
    transform: translate(-50%, 0) scale(0.6);
  }
  30% {
    opacity: 1;
    transform: translate(-50%, -20px) scale(1.15);
  }
  80% {
    opacity: 1;
    transform: translate(-50%, -40px) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -60px) scale(0.85);
  }
}

/* Screen shake */
.shake-screen {
  animation: screenShake 0.3s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes screenShake {
  10%, 90% { transform: translate3d(-2px, 1px, 0); }
  20%, 80% { transform: translate3d(3px, -2px, 0); }
  30%, 50%, 70% { transform: translate3d(-4px, 3px, 0); }
  40%, 60% { transform: translate3d(4px, -3px, 0); }
}

/* Custom scrollbars */
::-webkit-scrollbar {
  width: 4px;
}
::-webkit-scrollbar-track {
  background: rgba(0, 24, 36, 0.5);
}
::-webkit-scrollbar-thumb {
  background: #F77F00;
  border-radius: 4px;
}

/* Button pulse on ready hot sauce */
.rage-ready {
  animation: ragePulse 1.2s infinite alternate;
  box-shadow: 0 0 15px #ff3300, inset 0 0 10px #ffcc00;
}

@keyframes ragePulse {
  0% { transform: scale(1); filter: drop-shadow(0 0 4px #ff3300); }
  100% { transform: scale(1.08); filter: drop-shadow(0 0 12px #ff9900); }
}