@keyframes ach-earn-sheen{0%{transform:translate(-100%) rotate(135deg);opacity:0}25%{opacity:.4}to{transform:translate(150%) rotate(135deg);opacity:0}}@keyframes ach-earn-bounce{0%{transform:scale(1)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes ach-earn-glow{0%{box-shadow:0 0 24px 6px var(--ach-glow-color, transparent)}to{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:no-preference){.ach-earn-moment{animation:ach-earn-bounce .4s cubic-bezier(.34,1.56,.64,1),ach-earn-glow .6s ease-out forwards;position:relative;overflow:hidden}.ach-earn-moment:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);pointer-events:none;animation:ach-earn-sheen .6s ease-out}}@keyframes ach-reveal{0%{filter:blur(10px) brightness(2);opacity:0}30%{filter:blur(4px) brightness(1.4);opacity:.7}to{filter:blur(0) brightness(1);opacity:1}}@media(prefers-reduced-motion:no-preference){.ach-reveal{animation:ach-reveal .9s ease-out}}@media(prefers-reduced-motion:no-preference){.ach-cell{transition:transform .18s ease-out}.ach-cell-earned:hover,.ach-cell-earned:focus-visible{transform:translateY(-4px)}}@keyframes ach-featured-pulse{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}@media(prefers-reduced-motion:no-preference){.ach-featured-toggled{animation:ach-featured-pulse .2s ease-out}}@keyframes ach-counter-bump{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@media(prefers-reduced-motion:no-preference){.ach-counter-bump{animation:ach-counter-bump .25s ease-out}}
