* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overscroll-behavior: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.touch-manipulation {
  touch-action: manipulation;
}

.touch-none {
  touch-action: none;
}

input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer;
  width: 100%;
  height: 44px; /* Larger touch target */
}

input[type="range"]::-webkit-slider-track {
  background: #2A2A2A;
  height: 8px;
  border-radius: 4px;
  border: 1px solid #00FFFF;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  margin-top: -8px;
  background-color: #00FFFF;
  height: 24px;
  width: 24px;
  border-radius: 50%;
  box-shadow: 0 0 10px #00FFFF;
  cursor: pointer;
}

input[type="range"]::-moz-range-track {
  background: #2A2A2A;
  height: 8px;
  border-radius: 4px;
  border: 1px solid #00FFFF;
}

input[type="range"]::-moz-range-thumb {
  background-color: #00FFFF;
  height: 24px;
  width: 24px;
  border-radius: 50%;
  border: none;
  box-shadow: 0 0 10px #00FFFF;
  cursor: pointer;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #0A0E1A;
}

::-webkit-scrollbar-thumb {
  background: #00FFFF;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #00CCCC;
}

/* Animations */
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

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

/* Prevent zoom on double tap */
button, a, input, select {
  touch-action: manipulation;
}

/* Safe area for notched devices */
@supports (padding: max(0px)) {
  body {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
  }
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Better touch feedback */
button:active, .active\:scale-95:active {
  transform: scale(0.95);
}

/* Prevent text selection on UI elements */
button, .select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Optimize for mobile performance */
* {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}