/* Short, directional transitions. Stable HUD and gameplay never move with panels. */
@keyframes ui-bottom-in{from{translate:0 48px;opacity:0}to{translate:0 0;opacity:1}}
@keyframes ui-tray-in{from{translate:0 calc(100% + 80px);opacity:0}to{translate:0 0;opacity:1}}
@keyframes ui-side-in{from{translate:48px 0;opacity:0}to{translate:0 0;opacity:1}}
@keyframes ui-rise-in{from{translate:0 18px;opacity:0}to{translate:0 0;opacity:1}}
@keyframes ui-fade-in{from{opacity:0}to{opacity:1}}
@keyframes ui-banner-in{from{translate:-65px 0;opacity:0}to{translate:0 0;opacity:1}}
.electric-panel:not([hidden]){animation:ui-tray-in .26s cubic-bezier(.16,1,.3,1) both}
.electric-choice:not([hidden]) .electric-stock-card{animation:ui-rise-in .22s ease-out both}
.electric-choice .electric-stock-card:nth-child(2){animation-delay:40ms}
.electric-choice .electric-stock-card:nth-child(3){animation-delay:80ms}
.skill-panel:not([hidden]){animation:ui-side-in .28s cubic-bezier(.16,1,.3,1) both}
.sound-settings:not([hidden]),.equipment-test:not([hidden]) .test-content{animation:ui-rise-in .18s ease-out both}
.pause-panel:not([hidden]){animation:ui-fade-in .16s ease-out both}
.pause-panel:not([hidden])>*,.ui-overlay-enter[data-motion-kind="result"]>*{animation:ui-rise-in .24s ease-out both}
.ui-overlay-enter[data-motion-kind="result"]>.primary{animation-delay:100ms}
.ui-overlay-enter{animation:ui-fade-in .22s ease-out both}
.ui-overlay-enter[data-motion-kind="shop"]>.shop-panel{animation:ui-bottom-in .28s cubic-bezier(.16,1,.3,1) both}
.ui-reveal-enter .weapon-compare-head>:last-child{animation:ui-side-in .25s ease-out both}
.ui-reveal-enter:not(:has(.weapon-compare-head)){animation:ui-rise-in .22s ease-out both}
.boss-banner strong,.stage-clear strong{animation:ui-banner-in .26s cubic-bezier(.16,1,.3,1) both}
.toast{translate:0 10px;transition:opacity .16s ease-out,translate .18s ease-out}
.toast.show{translate:0 0}
.ui-exit-copy,.ui-exit-copy *{pointer-events:none!important;animation:none!important;transition:none!important}
.button-confirm-pending button{cursor:wait!important}
button.confirm-flash-white,button.confirm-flash-white *{background:#fff!important;color:#000!important;border-color:#fff!important;text-shadow:none!important;box-shadow:none!important;transition:none!important}
button.confirm-flash-white::before,button.confirm-flash-white::after{opacity:0!important}
.ui-exit-copy [data-motion-id="skill-list"]{flex:1;min-height:0;overflow:auto;padding:1px 3px 10px 1px}
@media(prefers-reduced-motion:reduce){
 .electric-panel,.electric-stock-card,.skill-panel,.sound-settings,.test-content,.pause-panel,.pause-panel>*,.ui-overlay-enter,.ui-overlay-enter>*,.ui-reveal-enter *,.boss-banner strong,.stage-clear strong{animation:none!important}
 .toast{translate:none;transition:none}
}
button[aria-busy="true"],button[aria-busy="true"] *{transition:none!important}
