:where(button,.button,.unit-card,.mission-card){transition:transform 140ms ease,box-shadow 160ms ease,filter 160ms ease,border-color 160ms ease}
:where(button,.button,.unit-card,.mission-card):active{transform:translateY(2px) scale(.985);box-shadow:0 2px 6px #0756a633}
:where(button,.button,.unit-card,.mission-card)[aria-pressed="true"],:where(button,.button).selected{outline:3px solid #ffd43b;outline-offset:2px}
:where(button,.button):disabled{transform:none;filter:saturate(.45);cursor:not-allowed}
#experiment-root[data-feedback="correct"] .workbench,#experiment-root[data-feedback="complete"] .completion,#experiment-root[data-feedback="missionComplete"] .completion{animation:mc-correct 360ms ease-out}
#experiment-root[data-feedback="incorrect"] .workbench{animation:mc-nudge 220ms ease-out}
.pico-curious .pico-image{transform:rotate(-2deg) translateY(-2px)}.pico-encourage .pico-image{filter:saturate(.9);transform:rotate(2deg)}
.pico-celebrate .pico-image,.pico-success .pico-image{animation:mc-pico 560ms ease-out}
.unit-celebration,.master-finale{position:relative;isolation:isolate}.unit-celebration::after,.master-finale::after{content:"✦  ·  ✧  ·  ✦";position:absolute;inset:.35rem .5rem auto;text-align:center;color:#ffc400;font-size:clamp(1rem,3vw,1.8rem);pointer-events:none;animation:mc-sparkle 800ms ease-out both}
#toast.toast-success{border-color:#27a844;background:#effff2}#toast.toast-warning{border-color:#e1a600;background:#fff9e5}
@keyframes mc-correct{50%{transform:translateY(-3px);filter:drop-shadow(0 7px 10px #39b85b33)}}@keyframes mc-nudge{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes mc-pico{40%{transform:translateY(-7px) rotate(-2deg)}70%{transform:translateY(0) rotate(2deg)}}@keyframes mc-sparkle{0%{opacity:0;transform:translateY(10px) scale(.8)}40%{opacity:1}100%{opacity:0;transform:translateY(-8px) scale(1.06)}}
@media(prefers-reduced-motion:reduce){:where(button,.button,.unit-card,.mission-card){transition:none}#experiment-root[data-feedback] .workbench,.pico-dialogue .pico-image,.unit-celebration::after,.master-finale::after{animation:none!important;transform:none!important}}
