/* CineGate Cinematic Design System - Custom Utilities & Animations */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pulseGlow {
  0%, 100% { opacity: 0.25; filter: blur(28px); }
  50% { opacity: 0.45; filter: blur(34px); }
}

.animate-shake {
  animation: shake 0.4s ease-in-out;
}

.animate-fadeIn {
  animation: fadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-slideUp {
  animation: slideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-pulseGlow {
  animation: pulseGlow 4s ease-in-out infinite;
}

/* Glassmorphism Surface Filters */
.glass-panel {
  background-color: rgba(26, 28, 31, 0.85);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-modal {
  background-color: rgba(20, 23, 29, 0.94);
  backdrop-filter: blur(32px) saturate(190%);
  -webkit-backdrop-filter: blur(32px) saturate(190%);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

/* Hide default scrollbars for sleek app feel */
::-webkit-scrollbar {
  display: none;
}
* {
  scrollbar-width: none;
}
