/* Gates-inspired polish: digest, gentle emphasis, soft entry/exit. No game math. */
.cell img{width:100%;height:100%;backface-visibility:hidden;transform:translateZ(0)}.cell.winner{box-shadow:inset 0 0 0 1px #ffe6a0,0 0 12px #efc96388}.board.showing-win .cell:not(.winner){filter:brightness(.6)}.cell.pop{animation:polished-pop .34s cubic-bezier(.45,0,.7,1) forwards}.console .spin.spinning{filter:brightness(.8)}.console .spin.spinning::after{content:none}.console .spin.spinning{background-image:url('assets/gaia/hud/spin-blank.svg')}.message{transition:color .2s}.amulet-flight{position:fixed;z-index:90;pointer-events:none;color:#ffdc79;font:700 23px Gaia Rubik,Arial;text-shadow:0 2px 3px #09040b,0 0 14px #ffc45c;will-change:transform,opacity}.collecting{animation:multiplier-receive .55s ease-out}.console .win strong{transition:color .25s}dialog[open]:not(.celebration-dialog){animation:panel-enter .18s cubic-bezier(.2,.7,.2,1)}dialog.celebration-dialog[open]{animation:celebration-enter .32s ease-out}dialog.celebration-dialog.celebration-exiting{animation:celebration-exit .38s ease-in forwards;pointer-events:none}dialog::backdrop{backdrop-filter:blur(2px);background:#08040bbf}dialog.celebration-dialog::backdrop{background:#08040b88}dialog.celebration-exiting::backdrop{animation:backdrop-exit .38s ease-in forwards}.celebration-copy button{min-width:160px;transition:background .2s,transform .2s}.celebration-copy button:hover{background:#49324bda;transform:translateY(-2px)}
@keyframes polished-pop{0%{transform:scale(1);opacity:1}28%{transform:scale(1.08);opacity:1}100%{transform:scale(.45);opacity:0}}@keyframes multiplier-receive{0%,100%{filter:brightness(1)}50%{filter:brightness(1.8);text-shadow:0 0 12px #ffcf59}}@keyframes panel-enter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}@keyframes celebration-enter{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes celebration-exit{to{opacity:0;transform:scale(1.025)}}@keyframes backdrop-exit{to{background:#08040b00}}@keyframes spin-breath{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.amulet-flight{display:none}.console .spin.spinning::after,.collecting,dialog[open],dialog.celebration-dialog[open],dialog.celebration-dialog.celebration-exiting,.cell.pop{animation:none!important}.cell.pop{opacity:0}.celebration-copy button:hover{transform:none}}

.console .spin.spinning{opacity:1;filter:none}.console .spin.spinning::after{content:'';position:absolute;left:38%;top:35%;width:25%;height:24%;border-radius:4px;background:white;box-shadow:0 0 2px #fff6}
