/* RXN WIN CLUB - App Core Styles */
/* Small static CSS supplementing Tailwind */

/* Safe area padding */
.pb-safe { padding-bottom: env(safe-area-inset-bottom, 0px); }
.pt-safe { padding-top: env(safe-area-inset-top, 0px); }

/* Hide scrollbars everywhere */
::-webkit-scrollbar { display: none; }
* { scrollbar-width: none; -ms-overflow-style: none; }

/* Base resets */
html, body {
  width: 100vw;
  margin: 0;
  padding: 0;
  background-color: #131315;
}
body {
  overscroll-behavior: none;
  min-height: 100vh;
  -webkit-tap-highlight-color: transparent;
}

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

/* Animation keyframes used across pages */
@keyframes pulse-glow {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.8; }
}
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes slide-up {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.animate-pulse-glow { animation: pulse-glow 2s ease-in-out infinite; }
.animate-shimmer {
  background: linear-gradient(90deg, transparent 0%, rgba(190,198,224,0.1) 50%, transparent 100%);
  background-size: 200% 100%;
  animation: shimmer 2s infinite;
}
.animate-slide-up { animation: slide-up 0.3s ease-out; }
.animate-fade-in { animation: fade-in 0.3s ease-out; }

/* Toast notification */
.toast-container {
  position: fixed;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  max-width: 90vw;
}
.toast {
  padding: 12px 20px;
  border-radius: 0.5rem;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  animation: fade-in 0.2s ease-out;
  margin-bottom: 8px;
}
.toast-success { background-color: rgba(190,198,224,0.15); color: #bec6e0; border: 1px solid rgba(190,198,224,0.3); }
.toast-error { background-color: rgba(255,180,171,0.15); color: #ffb4ab; border: 1px solid rgba(255,180,171,0.3); }
.toast-info { background-color: rgba(188,199,222,0.15); color: #bcc7de; border: 1px solid rgba(188,199,222,0.3); }

/* Winner feed entry animation */
.winner-entry {
  animation: slide-up 0.3s ease-out, fade-in 0.3s ease-out;
}

/* Game grid cell base */
.game-cell {
  transition: all 0.2s ease;
  user-select: none;
  -webkit-user-select: none;
}
.game-cell:active {
  transform: scale(0.95);
}