/* Short, action-led motion; selectors stay inside the game routes. */
.game-motion-toggle{display:block;margin:14px 0 18px auto;min-height:44px;padding:9px 14px!important;border:1px solid #ba975d!important;border-radius:24px!important;background:#102536!important;color:#f3ddb1!important;font:600 13px system-ui!important;cursor:pointer}.game-motion-toggle:focus-visible{outline:3px solid #78daca;outline-offset:3px}
html[data-game-motion=full] :is(button,select){transition:background-color .18s,border-color .18s,box-shadow .18s}
html[data-game-motion=full] :is(.game-card,.puzzle-piece,.checker-piece){transition:box-shadow .2s,filter .2s}
html[data-game-motion=full] :is(.life-piece svg,.life-piece[data-pose=sit]){transition:transform .32s cubic-bezier(.2,.75,.25,1),height .32s}
html[data-game-motion=full] .life-piece.dragging{cursor:grabbing;filter:drop-shadow(0 10px 5px #162c3544)}
html[data-game-motion=full] .life-piece[data-pose=wave] svg{animation:kp-wave .65s ease-in-out 2}
html[data-game-motion=full] .puzzle-board.match button{backface-visibility:hidden}
html[data-game-motion=full] #keyboard button.hit{box-shadow:inset 0 -3px 0 #173d34}
@media(hover:hover){html[data-game-motion=full] :is(.game-card,.puzzle-tray button):enabled:hover{filter:brightness(1.12);box-shadow:0 6px 12px #0004}}
@keyframes kp-wave{0%,100%{rotate:0deg}50%{rotate:5deg}}
html[data-game-motion=reduced] *,html[data-game-motion=reduced] *::before,html[data-game-motion=reduced] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html:not([data-game-motion=full]) *,html:not([data-game-motion=full]) *::before,html:not([data-game-motion=full]) *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:0s!important}}

.puzzle-board.blocks button{position:relative}.motion-block-clear{position:absolute;inset:0;pointer-events:none;display:block;border-radius:4px;background:#e7be73;box-shadow:inset 0 0 0 3px #fff0b6}
