/* Custom Scrollbars */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Tab active state */
.cat-tab.active {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.35);
}

/* Animations */
@keyframes scaleUp {
  0% {
    opacity: 0;
    transform: scale(0.92);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.animate-scale-up {
  animation: scaleUp 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Floating Coin Particles in 3D Screen Overlay */
.floating-coin-badge {
  position: absolute;
  pointer-events: none;
  font-family: 'Cairo', sans-serif;
  font-weight: 900;
  font-size: 14px;
  color: #fde047;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
  animation: floatUpFade 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  z-index: 40;
}

@keyframes floatUpFade {
  0% {
    opacity: 1;
    transform: translate(-50%, 0) scale(0.8);
  }
  50% {
    opacity: 1;
    transform: translate(-50%, -24px) scale(1.15);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -48px) scale(0.9);
  }
}

/* Button & Tool Card Highlights */
.build-card {
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.build-card:hover {
  transform: translateY(-3px);
}
.build-card.selected {
  border-color: #38bdf8;
  background-color: rgba(56, 189, 248, 0.15);
  box-shadow: 0 0 15px rgba(56, 189, 248, 0.4);
}

/* Safe touch interactions */
button, input, select {
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}