/* ─────────────────────────────────────────────────────────────
   MOTION — Long Hair Don't Care
   Subtle, cinematic. Fades, slow drifts, no bounces.
───────────────────────────────────────────────────────────── */

:root {
  /* ── Durations ── */
  --duration-fast:   150ms; /* @kind other */
  --duration-base:   250ms; /* @kind other */
  --duration-slow:   400ms; /* @kind other */
  --duration-crawl:  600ms; /* @kind other */

  /* ── Easings ── */
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1);   /* @kind other */
  --ease-in-out:   cubic-bezier(0.4, 0, 0.2, 1);    /* @kind other */
  --ease-cinematic: cubic-bezier(0.25, 0.1, 0.25, 1); /* @kind other */

  /* ── Transitions ── */
  --transition-base:    all var(--duration-base) var(--ease-in-out);   /* @kind other */
  --transition-fast:    all var(--duration-fast) var(--ease-in-out);   /* @kind other */
  --transition-slow:    all var(--duration-slow) var(--ease-out);      /* @kind other */
  --transition-color:   color var(--duration-base) var(--ease-in-out), background-color var(--duration-base) var(--ease-in-out), border-color var(--duration-base) var(--ease-in-out), opacity var(--duration-base) var(--ease-in-out); /* @kind other */

  /* ── Named animations ── */
  --animate-fade-in:   fade-in var(--duration-slow) var(--ease-out) both; /* @kind other */
  --animate-rise:      rise var(--duration-crawl) var(--ease-out) both;   /* @kind other */
  --animate-drift-up:  drift-up 20s linear infinite;                       /* @kind other */
}

@keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes rise {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0);    }
}

@keyframes drift-up {
  from { transform: translateY(0);    }
  to   { transform: translateY(-50%); }
}

@keyframes accordion-down {
  from { height: 0; }
  to   { height: var(--radix-accordion-content-height, auto); }
}

@keyframes accordion-up {
  from { height: var(--radix-accordion-content-height, auto); }
  to   { height: 0; }
}
