/* ============================================================
   Additional animation helpers used across the OS shell.
   Core component animations live in desktop.css alongside their
   component definitions.
   ============================================================ */

/* Generic hover scale (used on icons/buttons that aren't desktop-icon/dock-app) */
.hover-scale { transition: transform 200ms var(--ease-out-soft); will-change: transform; }
.hover-scale:hover  { transform: scale(1.06); }
.hover-scale:active { transform: scale(0.96); }

/* Fade & slide entrances (declarative) */
.anim-fade        { animation: kf-fade        400ms var(--ease-out-soft) both; }
.anim-fade-up     { animation: kf-fade-up     500ms var(--ease-out-soft) both; }
.anim-fade-down   { animation: kf-fade-down   500ms var(--ease-out-soft) both; }
.anim-scale-in    { animation: kf-scale-in    350ms var(--ease-spring) both; }

@keyframes kf-fade      { from { opacity: 0; } to { opacity: 1; } }
@keyframes kf-fade-up   { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes kf-fade-down { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
@keyframes kf-scale-in  { from { opacity: 0; transform: scale(0.94); } to { opacity: 1; transform: none; } }

/* Float (decorative) */
.anim-float { animation: kf-float 4s ease-in-out infinite; }
@keyframes kf-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
