.pixel-perfect {
  image-rendering: -moz-crisp-edges;
  image-rendering: -webkit-crisp-edges;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

/* Custom button press animations */
button:active {
  transform: scale(0.95);
}

/* Screen glow effect */
.screen-glow {
  box-shadow: inset 0 0 10px rgba(59, 130, 246, 0.3);
}

/* Custom scrollbar for small screens */
::-webkit-scrollbar {
  width: 4px;
}

::-webkit-scrollbar-track {
  background: #374151;
}

::-webkit-scrollbar-thumb {
  background: #6b7280;
  border-radius: 2px;
}

/* Ensure proper scaling on mobile */
@media (max-width: 640px) {
  body {
    padding: 1rem;
  }
}

/* Retro CRT effect (subtle) */
.crt-effect {
  position: relative;
}

.crt-effect::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(transparent 50%, rgba(0, 255, 0, 0.03) 50%);
  background-size: 100% 2px;
  pointer-events: none;
}

/* Button depth effect */
.button-3d {
  box-shadow: 0 4px 0 #374151, 0 6px 8px rgba(0, 0, 0, 0.3);
  transition: all 0.1s ease;
}

.button-3d:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #374151, 0 4px 6px rgba(0, 0, 0, 0.3);
}