/* Shared Minigame Theme — design tokens & reusable animations */
:root {
  --bg-dark: #0d0820;
  --bg-purple: #1a0533;
  --bg-deep: #120028;
  --accent-gold: #ffd700;
  --accent-orange: #ff8c00;
  --accent-blue: #7ec8e3;
  --accent-purple: #c9a0ff;
  --neon-purple: rgba(180, 130, 255, 0.4);
  --neon-purple-strong: rgba(180, 130, 255, 0.7);
  --neon-gold: rgba(255, 215, 0, 0.4);
  --card-bg: rgba(255, 255, 255, 0.05);
  --card-border: rgba(180, 130, 255, 0.3);
  --font-main: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: var(--font-main);
  color: #fff;
  -webkit-font-smoothing: antialiased;
}

/* Reusable animations */
@keyframes neonPulse {
  0%, 100% { box-shadow: 0 0 8px var(--neon-purple), inset 0 0 8px rgba(180,130,255,0.1); }
  50% { box-shadow: 0 0 20px var(--neon-purple-strong), 0 0 40px var(--neon-purple), inset 0 0 12px rgba(180,130,255,0.15); }
}

@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

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

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Shared toast base */
.toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(60px);
  background: rgba(30, 10, 60, 0.95);
  border: 1px solid var(--card-border);
  color: #fff;
  padding: 12px 24px;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  z-index: 999;
  text-align: center;
  max-width: 300px;
  white-space: pre-line;
  pointer-events: none;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.toast.win { border-color: var(--accent-gold); color: var(--accent-gold); }
.toast.lose { border-color: #f44; color: #f88; }
