/* === gya52 Effects (auto-generated) === */

/* --- text-stroke-outline --- */
.gya52-stroke{-webkit-text-stroke:1px var(--accent);-webkit-text-fill-color:transparent;font-weight:900}


/* --- cards-neon-border --- */
.gya52-neon-card{border:1px solid var(--accent);box-shadow:0 0 5px var(--accent-glow),inset 0 0 5px var(--accent-glow);transition:box-shadow .3s}
.gya52-neon-card:hover{box-shadow:0 0 15px var(--accent-glow),0 0 30px var(--accent-glow),inset 0 0 10px var(--accent-glow)}


/* --- css-scroll-driven --- */
/* CSS Scroll-Driven Animations — NO JavaScript needed */
/* 2026 standard: Chrome 115+, Safari 18+. Graceful fallback with @supports */
/* Use for: minimal, elegant moods where JS overhead isn't wanted */

/* Fade-in on scroll into view */
@supports (animation-timeline: view()) {
  .gya52-scroll-reveal {
    animation: gya52-scroll-fade-in linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
  }

  @keyframes gya52-scroll-fade-in {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* Slide from left */
  .gya52-scroll-slide-left {
    animation: gya52-scroll-left linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 35%;
  }

  @keyframes gya52-scroll-left {
    from { opacity: 0; transform: translateX(-40px); }
    to { opacity: 1; transform: translateX(0); }
  }

  /* Scale up */
  .gya52-scroll-scale {
    animation: gya52-scroll-scale-up linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
  }

  @keyframes gya52-scroll-scale-up {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
  }

  /* Progress bar that fills based on page scroll */
  .gya52-scroll-progress {
    animation: gya52-progress-fill linear;
    animation-timeline: scroll(root);
  }

  @keyframes gya52-progress-fill {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
  }
}

/* Fallback for browsers without scroll-driven animation support */
@supports not (animation-timeline: view()) {
  .gya52-scroll-reveal,
  .gya52-scroll-slide-left,
  .gya52-scroll-scale {
    /* GSAP ScrollTrigger handles these via script.js */
    opacity: 1;
    transform: none;
  }
}


/* --- anim-neural-pulse --- */
/* Neural Pulse Scan Animation — found on vortex-official.org */
/* Use for: cyberpunk, neon, bold */
.gya52-neural {
  position: relative;
  overflow: hidden;
}
.gya52-neural::before {
  content: '';
  position: absolute;
  top: 0;
  left: -10%;
  width: 120%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  animation: gya52-neural-scan 4s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
@keyframes gya52-neural-scan {
  0%, 100% { top: 0%; opacity: 0; }
  10% { opacity: 0.6; }
  50% { top: 100%; opacity: 0.6; }
  60% { opacity: 0; }
}
