@keyframes slime-breathe{
  0%,100%{border-radius:var(--action-radius)}
  50%{border-radius:calc(var(--action-radius)*.98) calc(var(--action-radius)*1.02) calc(var(--action-radius)*.98) calc(var(--action-radius)*1.02)}
}
@keyframes panel-arrive{from{opacity:.75;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.slime-action::before{animation:slime-breathe 3.4s ease-in-out infinite;animation-play-state:paused}
html[data-motion=playing] .motion-body.motion-in-view::before{animation-play-state:running}
.hero-figure{animation:panel-arrive 600ms var(--ease-out) both}
.feature-card{transition:transform 180ms ease-out,box-shadow 180ms ease-out}
.slime-action{transition:transform 120ms ease-out}
.slime-action:active{transform:translateY(2px)}
@media(hover:hover){.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}}
html[data-motion=paused] .hero-figure{animation:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .feature-card:hover,.slime-action:active{transform:none}
}
