/* ============================================================
   PAPERPIXEL PORTFOLIO — Animations Stylesheet
   File: animations.css
   Author: ImajikoStudio
   Version: 1.0.0
============================================================ */

/* Gentle Floating Animation (scrapbook paper scraps, stars) */
.anim-float {
  animation: float 6s ease-in-out infinite;
}

.anim-float-delayed {
  animation: float 6s ease-in-out infinite;
  animation-delay: 2s;
}

.anim-float-fast {
  animation: float 4s ease-in-out infinite;
}

@keyframes float {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-8px) rotate(1.5deg);
  }
  100% {
    transform: translateY(0px) rotate(0deg);
  }
}

/* Wiggle Hover Effect (stiker, pin) */
.anim-wiggle:hover {
  animation: wiggle 0.4s ease-in-out;
}

@keyframes wiggle {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-3deg); }
  75% { transform: rotate(3deg); }
}

/* Retro Scanline Blinking Effect */
.anim-flicker {
  animation: flicker 2s infinite alternate;
}

@keyframes flicker {
  0%, 19.999%, 22%, 62.999%, 64%, 64.999%, 70%, 100% {
    opacity: 0.99;
  }
  20%, 21.999%, 63%, 63.999%, 65%, 69.999% {
    opacity: 0.4;
  }
}

/* Page fade in transitions */
.fade-in {
  animation: fadeIn 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

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

/* Hover Grow Effect */
.hover-grow {
  transition: transform var(--transition-fast);
}

.hover-grow:hover {
  transform: scale(1.05);
}

/* Focus styles for keyboard navigation */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--color-accent-blue);
  outline-offset: 4px;
}

/* Scroll reveal visible state */
.scroll-reveal--visible {
  opacity: 1;
  transform: translateY(0);
}
