/* ============================================================
   Киноэффекты: ГОООЛ!, конфетти, раздача карт
   ============================================================ */

/* ---------- ГОЛ! ---------- */
.goal-splash {
  position: fixed;
  inset: 0;
  z-index: 150;
  display: none;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.goal-splash.show { display: block; }

.gs-flash {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(255, 250, 220, 0.5), transparent 70%);
  animation: flashBurst 0.5s ease-out 2;
}
@keyframes flashBurst {
  from { opacity: 1; }
  to { opacity: 0; }
}

.gs-body { position: relative; text-align: center; animation: goalIn 0.55s cubic-bezier(0.2, 0.7, 0.3, 1.4); }
.gs-word {
  font-size: clamp(64px, 14vw, 170px);
  font-weight: 900;
  letter-spacing: 8px;
  background: linear-gradient(180deg, #fff6d8 0%, #f5d76e 40%, #d4af37 70%, #8a6a12 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 6px 30px rgba(245, 215, 110, 0.55));
}
.gs-team { font-size: 26px; font-weight: 800; letter-spacing: 3px; color: var(--text); }
.gs-scorer { font-size: 16px; color: var(--text-dim); margin-top: 4px; }
@keyframes goalIn {
  from { transform: scale(0.4) rotate(-4deg); opacity: 0; }
  60% { transform: scale(1.08); }
  to { transform: scale(1); opacity: 1; }
}

/* конфетти */
.gs-confetti { position: absolute; inset: 0; overflow: hidden; }
.gs-confetti i {
  position: absolute;
  top: -14px;
  width: var(--s);
  height: calc(var(--s) * 0.42);
  background: var(--c);
  opacity: 0.9;
  border-radius: 2px;
  animation: confettiFall var(--t) linear var(--d) forwards;
  transform: rotate(20deg);
}
@keyframes confettiFall {
  to { transform: translateY(108vh) rotate(720deg); opacity: 0.7; }
}

/* ---------- Раздача карт в руку ---------- */
@keyframes cardDeal {
  from { transform: translateY(40px) scale(0.7); opacity: 0; }
}

/* ---------- Пульс маркера события ---------- */
@keyframes pulse {
  0% { r: 2; opacity: 0.9; }
  100% { r: 6; opacity: 0; }
}

/* отключение анимаций для чувствительных пользователей */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01s !important; transition-duration: 0.01s !important; }
}
