:root{
  --ease-breath:cubic-bezier(.45,0,.55,1); /* @kind other */   /* in-out, for loops that breathe */
  --ease-out:cubic-bezier(.16,1,.3,1); /* @kind other */       /* arrivals, reveals */
  --ease-in:cubic-bezier(.7,0,.84,0); /* @kind other */
  --dur-fast:160ms; /* @kind other */
  --dur-base:320ms; /* @kind other */
  --dur-slow:700ms; /* @kind other */
  --dur-reveal:1200ms; /* @kind other */
  --dur-breath:6s; /* @kind other */
  --dur-drift:18s; /* @kind other */
}
@keyframes rl-breathe{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}
@keyframes rl-gradient-drift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes rl-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rl-spin{to{transform:rotate(360deg)}}
@keyframes rl-pulse-ring{0%{box-shadow:0 0 0 0 var(--f-glow)}100%{box-shadow:0 0 0 18px transparent}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
