/* FaithWords v10 — wordless hint-point reward animation */
.hint-reward-flyer {
  position: fixed;
  z-index: 140;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transform-origin: center;
  will-change: transform, opacity;
}

.hint-reward-token {
  position: relative;
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 28%, #fff9d8 0 16%, #f3d37f 34%, #d8a944 72%, #b78128 100%);
  border: 4px solid rgba(255, 246, 204, .95);
  box-shadow: 0 16px 34px rgba(126, 90, 32, .30), 0 0 0 7px rgba(255, 238, 181, .24), inset 0 -7px 12px rgba(118, 77, 16, .18);
  color: #6b4818;
}

.hint-reward-token span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.65rem;
  line-height: 1;
  font-weight: 950;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}

.hint-reward-token > i {
  position: absolute;
  right: 8px;
  top: 7px;
  color: #fff9dc;
  font-size: 1rem;
  font-style: normal;
  filter: drop-shadow(0 1px 2px rgba(104,75,24,.22));
  animation: tokenTwinkle .7s ease-in-out infinite alternate;
}

@keyframes tokenTwinkle {
  from { transform: scale(.75) rotate(-8deg); opacity: .65; }
  to { transform: scale(1.18) rotate(9deg); opacity: 1; }
}

.hint-reward-spark {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  margin: -4.5px;
  border-radius: 50%;
  background: #f1c45f;
  box-shadow: 0 0 13px rgba(241, 196, 95, .92);
  animation: hintRewardSpark .78s ease-out forwards;
  animation-delay: var(--delay, 0ms);
}

@keyframes hintRewardSpark {
  0% { transform: rotate(var(--angle)) translateX(12px) scale(.35); opacity: 0; }
  18% { opacity: 1; }
  100% { transform: rotate(var(--angle)) translateX(var(--distance)) scale(.15); opacity: 0; }
}

.bonus-pill.hint-reward-hit {
  animation: hintCounterHit .72s cubic-bezier(.18,.9,.25,1.25);
}

.bonus-pill.hint-reward-hit::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  border: 3px solid rgba(224, 179, 83, .8);
  pointer-events: none;
  animation: hintCounterRing .75s ease-out forwards;
}

.bonus-pill.hint-reward-hit strong {
  animation: hintCountPop .72s cubic-bezier(.18,.9,.25,1.28);
}

@keyframes hintCounterHit {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  30% { transform: scale(1.19) rotate(-2deg); filter: brightness(1.18); }
  58% { transform: scale(1.08) rotate(1deg); }
}

@keyframes hintCountPop {
  0%, 100% { transform: scale(1); }
  34% { transform: scale(1.55); }
  65% { transform: scale(1.18); }
}

@keyframes hintCounterRing {
  0% { transform: scale(.78); opacity: 1; }
  100% { transform: scale(1.42); opacity: 0; }
}

.hint-impact-spark {
  position: fixed;
  z-index: 145;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f1c45f;
  pointer-events: none;
  box-shadow: 0 0 11px rgba(241,196,95,.92);
  animation: hintImpactBurst .58s ease-out forwards;
}

@keyframes hintImpactBurst {
  from { transform: translate(-50%,-50%) scale(.5); opacity: 1; }
  to { transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(.1); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .hint-reward-spark, .hint-impact-spark { display: none; }
  .hint-reward-token > i { animation: none; }
  .bonus-pill.hint-reward-hit, .bonus-pill.hint-reward-hit strong { animation-duration: .15s; }
}
