/* Short, finite motion. Information is visible even if scripts fail. */
#balance,#ai-balance{display:inline-block}
@media(prefers-reduced-motion:no-preference){
 button,.button,.link-button,nav a,summary{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,scale .14s ease}
 button:not(:disabled):active,.button:active,.link-button:active{scale:.97}
 input,textarea,select{transition:border-color .18s ease,box-shadow .18s ease}
 input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:0 0 0 3px #66d7d122}
 .game-card{transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
 .game-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0003}
 .game-card .card-art{transition:filter .24s ease}
 .game-card:hover .card-art{filter:brightness(1.08)}
 .tile,.keno-cell{transition:background-color .18s ease,border-color .18s ease,color .18s ease,scale .14s ease}
 .tile.gem{animation:jp-reveal .34s ease-out}
 .tile.mine{animation:jp-mine .3s ease-out}
 .keno-cell.selected:not(.hit):not(.drawn){animation:jp-pick .2s ease-out}
 .keno-cell.hit,.keno-cell.drawn{animation:jp-reveal .32s ease-out both}
 .keno-cell:nth-child(3n){animation-delay:35ms}.keno-cell:nth-child(3n+1){animation-delay:70ms}
 .playing-hand{perspective:800px}.playing-card{transform-origin:50% 85%}
 .dice-marker{transition:left .38s cubic-bezier(.22,.8,.3,1)}
 dialog[open]::backdrop{animation:jp-backdrop .2s ease-out}
 #toast{transition:opacity .2s ease,transform .2s ease}
 .comment-entry,.suggestion-entry,.leaderboard-row{transition:border-color .18s ease,background-color .18s ease}
}
@keyframes jp-reveal{from{transform:rotateY(-30deg) scale(.94)}65%{transform:rotateY(0) scale(1.035)}to{transform:rotateY(0) scale(1)}}
@keyframes jp-mine{0%{transform:scale(.94)}35%{transform:translateX(-2px)}65%{transform:translateX(2px)}100%{transform:scale(1)}}
@keyframes jp-pick{50%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes jp-backdrop{from{opacity:.6}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
