/* =========================================================
   DEMO GAME — BOT VISUALIZATION (soft)
   ========================================================= */

/* 🔵 Бот «думает» */
.player-row.is-answering[data-bot="true"] {
  position: relative;
  /* фон не трогаем, только лёгкое смещение и свечение */
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 180, 255, 0.20);
  transition:
    box-shadow .25s ease,
    transform .22s ease;
}

/* ✨ Лёгкая пульсация аватарки */
.player-row.is-answering[data-bot="true"] .player-avatar,
.player-row.is-answering[data-bot="true"] .player-avatar-fallback {
  animation: bot-thinking-pulse 1.3s ease-in-out infinite;
  filter: drop-shadow(0 0 4px rgba(0, 200, 255, 0.7));
}

@keyframes bot-thinking-pulse {
  0%   { transform: scale(1);    opacity: 1;   }
  50%  { transform: scale(1.05); opacity: 0.9; }
  100% { transform: scale(1);    opacity: 1;   }
}

/* ✅ Бот ответил верно — мягкая зелёная вспышка (только свечение) */
.player-row.correct[data-bot="true"] {
  animation: bot-correct-flash 0.7s ease-out;
}

@keyframes bot-correct-flash {
  from {
    box-shadow:
      0 0 0 rgba(0, 255, 140, 0.0),
      0 6px 22px rgba(0, 255, 140, 0.35);
  }
  to {
    box-shadow: none;
  }
}

/* ❌ Бот ответил неверно — мягкая красная вспышка (только свечение) */
.player-row.wrong[data-bot="true"] {
  animation: bot-wrong-flash 0.7s ease-out;
}

@keyframes bot-wrong-flash {
  from {
    box-shadow:
      0 0 0 rgba(255, 70, 70, 0.0),
      0 6px 22px rgba(255, 70, 70, 0.35);
  }
  to {
    box-shadow: none;
  }
}

/* =========================================================
   BOT TOASTS (🤖 “Thinking…” / “Answer: …”)
   ========================================================= */

.answer-hint[data-preset="bot"] {
  /* плотный фон, почти непрозрачный */
  background: radial-gradient(circle at top,
              rgba(20, 120, 255, 0.45) 0,
              rgba(6, 18, 40, 0.98) 55%)
              ,
              linear-gradient(180deg,
              rgba(12, 20, 52, 1),
              rgba(6, 12, 32, 1));
  border: 2px solid rgba(0, 200, 255, 0.7);
  box-shadow:
    0 0 14px rgba(0, 200, 255, 0.45),
    0 14px 40px rgba(0, 0, 0, 0.55);
  color: #e9f8ff;
  font-weight: 600;

  display: inline-flex;
  align-items: center;
  gap: 6px;

  /* плавное появление без изменения transform */
  animation: bot-toast-appear 0.24s ease-out;
}

.answer-hint[data-preset="bot"]::before {
  margin-right: 4px;
  opacity: 0.95;
  font-size: 15px;
}

/* только прозрачность + тень, transform не трогаем,
   чтобы не перебивать translate(-50%, -100%) из базового стиля */
@keyframes bot-toast-appear {
  from {
    opacity: 0;
    box-shadow:
      0 0 0 rgba(0, 200, 255, 0.0),
      0 0 0 rgba(0, 0, 0, 0.0);
  }
  to {
    opacity: 1;
    box-shadow:
      0 0 14px rgba(0, 200, 255, 0.45),
      0 14px 40px rgba(0, 0, 0, 0.55);
  }
}