/* Gamify V3 — dopamine animations */
#v3-fx-layer {
  position: fixed; inset: 0; pointer-events: none; z-index: 5000; overflow: hidden;
}
.v3-pr-flash {
  position: fixed; inset: 0; background: rgba(29,184,122,0.35);
  display: flex; align-items: center; justify-content: center;
  animation: v3-pr-flash 1.2s ease-out forwards; z-index: 5001;
}
.v3-pr-flash-text {
  font-size: clamp(22px, 6vw, 36px); font-weight: 900; color: #1DB87A;
  text-shadow: 0 0 24px rgba(29,184,122,0.8); letter-spacing: 0.04em;
}
@keyframes v3-pr-flash {
  0% { opacity: 0; transform: scale(1.05); }
  15% { opacity: 1; }
  100% { opacity: 0; }
}
.v3-rank-promo {
  position: fixed; inset: 0; background: rgba(255,255,255,0.92);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  animation: v3-rank-promo 2s ease-out forwards; z-index: 5002;
}
@keyframes v3-rank-promo {
  0% { opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}
.v3-coin {
  position: absolute; width: 28px; height: 28px; border-radius: 50%;
  background: linear-gradient(145deg, #F0A429, #E05C2A);
  border: 2px solid #fff3; font-size: 14px; display: flex; align-items: center; justify-content: center;
  animation: v3-coin-drop 1.4s ease-in forwards;
}
@keyframes v3-coin-drop {
  0% { transform: translateY(-40px) rotate(0deg); opacity: 0; }
  20% { opacity: 1; }
  100% { transform: translateY(120px) rotate(360deg); opacity: 0; }
}
.v3-confetti {
  position: absolute; width: 8px; height: 8px; animation: v3-confetti 1.8s ease-out forwards;
}
@keyframes v3-confetti {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  100% { transform: translateY(100vh) rotate(720deg); opacity: 0; }
}
.v3-streak-fire {
  position: fixed; bottom: 20%; left: 50%; transform: translateX(-50%);
  font-size: 64px; animation: v3-fire 1.5s ease-out forwards; z-index: 5001;
}
@keyframes v3-fire {
  0% { transform: translateX(-50%) scale(0.5); opacity: 0; }
  30% { transform: translateX(-50%) scale(1.2); opacity: 1; }
  100% { transform: translateX(-50%) scale(1); opacity: 0; }
}
.v3-home-stats {
  display: flex; gap: 10px; align-items: center; justify-content: center;
  margin: 8px 0 12px; flex-wrap: wrap;
}
.v3-stat-chip {
  display: flex; align-items: center; gap: 6px; padding: 6px 12px;
  background: var(--surface2); border: 1px solid var(--border2); border-radius: 999px;
  font-size: 12px; font-family: var(--mono);
}
.v3-rank-badge { width: 28px; height: 28px; flex-shrink: 0; }
.v3-ai-disclaimer {
  font-size: 10px; color: var(--hint); text-align: center; padding: 8px 16px; line-height: 1.5;
  border-top: 1px solid var(--border);
}
.v3-tier-disclosure {
  font-size: 10px; color: var(--hint); text-align: center; margin-top: 12px; line-height: 1.6; padding: 0 8px;
}
