/* Short, responsive reward beats. Their overlay never intercepts a swipe. */
#game .reward-callout { position:absolute; z-index:35; left:5%; width:90%; pointer-events:none; text-align:center;
  transform:translateY(-50%); padding:calc(var(--u)*1.3) 0;
  background:radial-gradient(ellipse,#081117e6,transparent 72%);
  animation:rewardWord 1.12s cubic-bezier(.2,.8,.2,1) both; }
#game .reward-callout strong { display:block; font:800 clamp(18px,calc(var(--u)*5.2),44px)/1.1 var(--ff-head); letter-spacing:.025em;
  color:#ffe2a1; text-shadow:0 2px 0 #5b3416,0 3px 6px #000,0 0 18px #efb45160; }
#game .reward-callout small { display:block; margin-top:calc(var(--u)*1); color:#e8e4d7;
  font:600 max(9px,calc(var(--u)*1.85))/1.3 var(--ff-body); letter-spacing:.12em; text-shadow:0 1px 3px #000; }
#game .reward-tier-4 strong,#game .reward-tier-5 strong { color:#fff0c4; text-shadow:0 2px 0 #755222,0 4px 6px #000,0 0 22px #dda6ff80; }
@keyframes rewardWord { 0%{opacity:0;transform:translateY(-50%) scale(.6) rotate(-3deg)} 17%{opacity:1;transform:translateY(-50%) scale(1.09) rotate(1deg)} 29%,73%{opacity:1;transform:translateY(-50%) scale(1)} 100%{opacity:0;transform:translateY(-75%) scale(1.04)} }
#game .tile.fusion-source .gem { opacity:0; transition:opacity .1s; }
#game .tile .gem.gem-awaken { animation:gemAwaken .65s cubic-bezier(.22,.9,.3,1) both; }
@keyframes gemAwaken { 0%{transform:scale(.28);filter:brightness(2)} 35%{transform:scale(1.22,.92);filter:brightness(1.8)} 58%{transform:scale(.94,1.08);filter:brightness(1.2)} 100%{transform:scale(1);filter:brightness(1)} }
/* The painted match-4 form stays the same rune colour; bright internal band is the state cue. */
#game .tile.charged-art .gem .shape { animation:chargedPulse 2.4s ease-in-out infinite; }
/* Match-five has painted internal highlights, no independent gloss disc. */
@media(prefers-reduced-motion:reduce){
 #game .reward-callout {animation:rewardQuiet 1.12s linear both;}
 #game .tile .gem.gem-awaken,#game .tile.world .gem::after,#game .tile.charged-art .gem .shape {animation:none;}
 #game .tile.fusion-source .gem {opacity:1;transition:none;}
}
@keyframes rewardQuiet {0%,100%{opacity:0}15%,85%{opacity:1}}
