/* Global resets & typography */
* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

body {
  font-family: 'Cairo', system-ui, -apple-system, sans-serif;
  touch-action: none;
}

/* Liminal Space Scanlines & CRT Aesthetics */
.vhs-scanlines {
  background: linear-gradient(
    rgba(18, 16, 16, 0) 50%, 
    rgba(0, 0, 0, 0.45) 50%
  ), linear-gradient(
    90deg,
    rgba(255, 0, 0, 0.03),
    rgba(0, 255, 0, 0.01),
    rgba(0, 0, 255, 0.03)
  );
  background-size: 100% 4px, 6px 100%;
}

.bg-radial-vignette {
  background: radial-gradient(circle, transparent 45%, rgba(4, 5, 8, 0.85) 100%);
}

/* CRT Warping subtle flicker */
@keyframes crt-flicker {
  0% { opacity: 0.96; }
  50% { opacity: 1; }
  100% { opacity: 0.94; }
}

#vhs-overlay {
  animation: crt-flicker 0.15s infinite;
}

/* Mobile Joystick visual helpers */
#mobile-joy-zone {
  touch-action: none;
}

/* Custom Scrollbar for accusal chat */
#chat-box::-webkit-scrollbar {
  width: 4px;
}
#chat-box::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
}

/* Active Suspect Selection in Voting */
.suspect-card.selected {
  border-color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.2) !important;
  transform: scale(0.98);
  box-shadow: 0 0 15px rgba(239, 68, 68, 0.5);
}

/* Touch targets and buttons */
button:active {
  transform: scale(0.97);
}