/* masar-motion.css — the motion vocabulary of the MASAR design system. Nothing else lives here.
   Tokens (--ease-out, --ease-back) come from masar.css. Living-icon animations live in masar-icons.js. */
.in{animation:rise .8s var(--ease-out) both} @keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.pop{animation:popin .7s var(--ease-back) both} @keyframes popin{from{opacity:0;transform:scale(.6) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(var(--r,0deg))}}
.draw{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.1s ease-out forwards} @keyframes draw{to{stroke-dashoffset:0}}
.float{animation:float 5s ease-in-out infinite} .float2{animation:float 6.5s ease-in-out infinite reverse} @keyframes float{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-9px) rotate(var(--r,0deg))}}
.wiggle{animation:wiggle 3.5s ease-in-out infinite} @keyframes wiggle{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.card{transition:transform .35s var(--ease-out),box-shadow .35s} .card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)} .card .halo{transition:transform .4s var(--ease-back)} .card:hover .halo{transform:scale(1.1)} .badge{opacity:0;transform:translateY(6px);transition:all .3s} .card:hover .badge{opacity:1;transform:none}
.btn{transition:transform .25s,box-shadow .25s} .btn:hover{transform:translateY(-3px)}
svg [class^="an-"],svg [class*=" an-"]{transform-box:fill-box}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.draw{stroke-dashoffset:0}.badge{opacity:1}}
