/* APPS WISE Games V70.57 — motion refinements. Purely interface-level, never applied to game canvas pixels. */
#zero-sprite-studio.se-previewing #se-image,
#zero-sprite-studio.se-previewing #se-overlay {visibility:hidden!important}
#zero-sprite-studio.se-previewing #se-playback-layer.se-play-active {visibility:visible!important;opacity:1!important;mix-blend-mode:normal!important}
/* A translucent animation frame must show its checkerboard, NOT the edited last frame below it. */
@keyframes wise57-overlay-in {0%{opacity:0;backdrop-filter:blur(0)}100%{opacity:1;backdrop-filter:blur(6px)}}
@keyframes wise57-overlay-out {0%{opacity:1;backdrop-filter:blur(6px)}100%{opacity:0;backdrop-filter:blur(0)}}
@keyframes wise57-panel-in {
 0%{opacity:0;transform:perspective(1100px) translate3d(0,29px,-44px) rotateX(-5deg) scale(.942);filter:blur(6px)}
 58%{opacity:1;transform:perspective(1100px) translate3d(0,-4px,0) rotateX(0) scale(1.009);filter:blur(0)}
 100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}
@keyframes wise57-panel-out {
 0%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
 25%{opacity:1;transform:translate3d(0,-5px,0) scale(1.007);filter:blur(0)}
 100%{opacity:0;transform:perspective(1100px) translate3d(0,27px,-35px) rotateX(4deg) scale(.958);filter:blur(4px)}
}
@keyframes wise57-content-in{0%{opacity:0;transform:translate3d(0,12px,0);filter:blur(3px)}100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@keyframes wise57-item-in{0%{opacity:0;transform:translate3d(0,11px,0) scale(.96)}80%{opacity:1;transform:translate3d(0,-2px,0) scale(1.004)}100%{opacity:1;transform:none}}
/* Override existing V70.55/56 flat fade only during transitions. */
.wise-fx-modal.wise-fx-entering{animation:wise57-overlay-in .36s cubic-bezier(.2,.85,.25,1) both!important}
.wise-fx-modal.wise-fx-leaving{animation:wise57-overlay-out .32s cubic-bezier(.54,0,.75,.4) both!important}
.wise-fx-modal.wise-fx-entering > :is(.modal-content,.wise703-shell,.wise17-recovery-card,.wise17-recovery-panel,.fx-dialog-v56,.zero-expr-dialog,.zero-choice-card){animation:wise57-panel-in .44s cubic-bezier(.2,.8,.23,1) both!important;transform-origin:50% 48%}
.wise-fx-modal.wise-fx-leaving > :is(.modal-content,.wise703-shell,.wise17-recovery-card,.wise17-recovery-panel,.fx-dialog-v56,.zero-expr-dialog,.zero-choice-card){animation:wise57-panel-out .32s cubic-bezier(.4,0,.76,.44) both!important;transform-origin:50% 48%}
/* Richer header + body + footer sequential reveal, no flash during reverse transition */
.wise-fx-modal.wise-fx-entering > :is(.modal-content,.wise703-shell,.fx-dialog-v56,.zero-choice-card) > :is(.modal-header,.fx-head-v56,.wise703-toolbar){animation:wise57-content-in .32s .065s both}
.wise-fx-modal.wise-fx-entering > :is(.modal-content,.wise703-shell,.fx-dialog-v56,.zero-choice-card) > :is(.wise-about-body,.modal-body,.modal-grid,.fx-content-v56,.zero-expr-items){animation:wise57-content-in .34s .10s both}
.wise-fx-modal.wise-fx-entering > :is(.modal-content,.wise703-shell,.fx-dialog-v56,.zero-choice-card) > :is(.modal-footer,.fx-footer-v56){animation:wise57-content-in .30s .18s both}
/* Internal Sprite Studio also benefits from the upgraded open and close, without changing its controls. */
#zero-sprite-studio.se-backdrop:not(.wise55-leaving){animation:wise57-overlay-in .36s cubic-bezier(.2,.85,.25,1) both}
#zero-sprite-studio.se-backdrop:not(.wise55-leaving) > .se-dialog{animation:wise57-panel-in .44s cubic-bezier(.2,.8,.23,1) both}
#zero-sprite-studio.se-backdrop.wise55-leaving{animation:wise57-overlay-out .31s both!important}
#zero-sprite-studio.se-backdrop.wise55-leaving > .se-dialog{animation:wise57-panel-out .31s both!important}
#zero-sprite-studio .se-confirm-shade:not(.wise55-leaving){animation:wise57-overlay-in .32s both!important}
#zero-sprite-studio .se-confirm-shade:not(.wise55-leaving) > .se-confirm-card{animation:wise57-panel-in .40s cubic-bezier(.2,.8,.23,1) both!important}
#zero-sprite-studio .se-confirm-shade.wise55-leaving{animation:wise57-overlay-out .27s both!important}
#zero-sprite-studio .se-confirm-shade.wise55-leaving > .se-confirm-card{animation:wise57-panel-out .27s both!important}
/* Existing menu and components: no new JS handler, CSS-only entry and press affordances. */
.main-header .menu-dropdown > .dropdown-content{transform-origin:20% 0}
.main-header .menu-dropdown:hover > .dropdown-content,
.main-header .menu-dropdown:focus-within > .dropdown-content{animation:wise57-panel-in .29s cubic-bezier(.2,.85,.25,1) both}
.wise57-item-pop{animation:wise57-item-in .35s cubic-bezier(.2,.84,.24,1) both}
.wise-fx-modal.wise-fx-entering .modal-grid > :is(button,div),
.wise-fx-modal.wise-fx-entering .zero-expr-items > :is(button,div),
.wise-fx-modal.wise-fx-entering .fx-content-v56 #fx-grid-v56 > :is(button,div){animation:wise57-item-in .34s .12s both}
.wise-fx-modal.wise-fx-entering .modal-grid > :nth-child(2n),
.wise-fx-modal.wise-fx-entering .zero-expr-items > :nth-child(2n){animation-delay:.15s}
.wise-fx-modal.wise-fx-entering .modal-grid > :nth-child(3n),
.wise-fx-modal.wise-fx-entering .zero-expr-items > :nth-child(3n){animation-delay:.19s}
/* Modals get subtle edge shine only while appearing; regular interface stays original. */
.wise-fx-modal.wise-fx-entering > .modal-content,
#zero-sprite-studio.se-backdrop:not(.wise55-leaving) > .se-dialog{backface-visibility:hidden}
.wise-about-legal p{margin:8px 0 10px;line-height:1.56}
.wise-about-legal-note{border-left:3px solid #5ba9ca;padding:9px 12px;border-radius:4px;background:rgba(67,145,189,.09);font-size:12px}
body.wise7039-light #zero-about .wise-about-legal-note{background:#e5f4fd;color:#245b72;border-left-color:#087eaf}
@media (prefers-reduced-motion:reduce){
 .wise-fx-modal.wise-fx-entering,.wise-fx-modal.wise-fx-leaving,
 .wise-fx-modal.wise-fx-entering > *, .wise-fx-modal.wise-fx-leaving > *,
 #zero-sprite-studio.se-backdrop:not(.wise55-leaving),#zero-sprite-studio.se-backdrop.wise55-leaving,
 #zero-sprite-studio.se-backdrop > .se-dialog,#zero-sprite-studio .se-confirm-shade,
 #zero-sprite-studio .se-confirm-card,.wise57-item-pop,
 .main-header .menu-dropdown:hover > .dropdown-content,
 .wise-fx-modal.wise-fx-entering .modal-grid > *, .wise-fx-modal.wise-fx-entering .zero-expr-items > * {animation:none!important;transition:none!important;filter:none!important}
}

/* V70.58 — performance for the large Behavior catalog. Animate shell and panes,
   not 190+ individual cards; give input focus as soon as the dialog opens. */
#modal-add-behavior.wise-fx-entering .modal-content{animation:wise58-beh-enter .22s cubic-bezier(.16,.93,.29,1) both!important;filter:none!important}
#modal-add-behavior.wise-fx-entering{animation:wise58-backdrop-in .18s ease-out both!important}
#modal-add-behavior.wise-fx-entering :is(.modal-grid,.wise38-beh-catalog-grid,.wise38-beh-list) > *{animation:none!important;transition-delay:0s!important;filter:none!important}
#modal-add-behavior.wise-fx-entering .wise38-beh-browser{animation:wise58-content .19s .035s ease-out both!important}
#modal-add-behavior.wise-fx-entering .wise38-beh-toolbar{animation:wise58-content .16s ease-out both!important}
@keyframes wise58-beh-enter{from{opacity:0;transform:translate3d(0,15px,0) scale(.983)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes wise58-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes wise58-content{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
/* Prevent re-layout animation on every card filtering event. */
#modal-add-behavior .wise38-beh-catalog-grid > *,
#modal-add-behavior #behaviors-grid > * {will-change:auto!important}
@media (prefers-reduced-motion:reduce){
#modal-add-behavior.wise-fx-entering .modal-content,
#modal-add-behavior.wise-fx-entering,
#modal-add-behavior.wise-fx-entering .wise38-beh-browser,
#modal-add-behavior.wise-fx-entering .wise38-beh-toolbar {animation:none!important}
}
