/* Drop Hint — motion. Playful overshoot for "magic" moments, calm ease-out for UI. */
:root{
  --ease-out:cubic-bezier(.22,1,.36,1); /* @kind other */
  --ease-in-out:cubic-bezier(.65,0,.35,1); /* @kind other */
  --ease-pop:cubic-bezier(.34,1.56,.64,1); /* @kind other */
  --ease-bounce:cubic-bezier(.68,-.6,.32,1.6); /* @kind other */
  --dur-instant:80ms; /* @kind other */
  --dur-fast:140ms; /* @kind other */
  --dur-base:220ms; /* @kind other */
  --dur-slow:360ms; /* @kind other */
  --dur-reveal:600ms; /* @kind other */
  --dur-scene:1200ms; /* @kind other */
}
@keyframes dh-pop-in{0%{opacity:0;transform:scale(.6)}100%{opacity:1;transform:scale(1)}}
@keyframes dh-rise-in{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
@keyframes dh-highlight-wipe{0%{background-size:0% 100%}100%{background-size:100% 100%}}
@keyframes dh-shadow-drop{0%{box-shadow:0 0 0 var(--rose-500)}100%{box-shadow:4px 4px 0 var(--rose-500)}}
@keyframes dh-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes dh-wink{0%,86%,100%{transform:scaleY(1)}92%{transform:scaleY(.15)}}
@keyframes dh-typing{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){*{animation-duration:1ms!important;transition-duration:1ms!important}}
