/*!
 * feikas.lt - custom keyframes (asset: template.feikas.keyframes, preset: template.feikas.cybereffects)
 * Every @keyframes rule of the template lives here so it can be reused or overridden in one place.
 */

/* ---- 1. Lie-scanner laser: the element is as tall as the scanner, its top edge is the beam ---- */
@keyframes feikas-laser-sweep {
  from { transform: translateY(0); }
  to   { transform: translateY(calc(100% - 2px)); }
}

/* ---- 2. Logo glitch: calm for 90% of the cycle (--feikas-glitch-cycle, default 5s), burst in the last 10% ---- */
@keyframes feikas-glitch-skew {
  0%, 89%, 100% { transform: none; filter: none; }
  90% { transform: translate(-2px, 0) skewX(-6deg); filter: hue-rotate(-25deg); }
  92% { transform: translate(3px, 1px) skewX(5deg); }
  94% { transform: translate(-1px, -1px) skewX(0); filter: hue-rotate(25deg); }
  96% { transform: translate(2px, 0) skewX(-3deg); }
  98% { transform: none; filter: none; }
}

@keyframes feikas-glitch-slice-a {
  0%, 89%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); transform: translate(0); }
  90% { opacity: 1; clip-path: inset(10% 0 62% 0); transform: translate(-5px, 0); }
  92% { opacity: 1; clip-path: inset(56% 0 14% 0); transform: translate(4px, 0); }
  94% { opacity: 1; clip-path: inset(30% 0 42% 0); transform: translate(-3px, 0); }
  96% { opacity: 1; clip-path: inset(72% 0 4% 0); transform: translate(3px, 0); }
  98% { opacity: 1; clip-path: inset(0 0 90% 0); transform: translate(-2px, 0); }
}

@keyframes feikas-glitch-slice-b {
  0%, 89%, 100% { opacity: 0; clip-path: inset(100% 0 0 0); transform: translate(0); }
  90% { opacity: 1; clip-path: inset(64% 0 8% 0); transform: translate(5px, 0); }
  92% { opacity: 1; clip-path: inset(8% 0 70% 0); transform: translate(-4px, 0); }
  94% { opacity: 1; clip-path: inset(46% 0 30% 0); transform: translate(3px, 0); }
  96% { opacity: 1; clip-path: inset(18% 0 60% 0); transform: translate(-3px, 0); }
  98% { opacity: 1; clip-path: inset(88% 0 0 0); transform: translate(2px, 0); }
}

/* ---- 3. Fake-badge rejection: shake on hover (paired with the flicker below) ---- */
@keyframes feikas-shake {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  20% { transform: translate(-3px, 1px) rotate(-2deg); }
  40% { transform: translate(3px, -1px) rotate(2deg); }
  60% { transform: translate(-2px, -1px) rotate(-1deg); }
  80% { transform: translate(2px, 1px) rotate(1deg); }
}

@keyframes feikas-flicker {
  0%   { text-shadow: 2px 0 #00FF66, -2px 0 #FF3333; opacity: 1; }
  25%  { text-shadow: -2px 0 #00FF66, 2px 0 #FF3333; opacity: .75; }
  50%  { text-shadow: 3px 0 #00FF66, -3px 0 #FF3333; opacity: 1; }
  75%  { text-shadow: -1px 0 #00FF66, 1px 0 #FF3333; opacity: .8; }
  100% { text-shadow: 2px 0 #00FF66, -2px 0 #FF3333; opacity: 1; }
}

/* ---- 4. Status dot, detector cursor ---- */
@keyframes feikas-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: .2; }
}

@keyframes feikas-spin {
  to { transform: rotate(360deg); }
}

@keyframes feikas-ring-ping {
  0%   { transform: scale(1); opacity: .9; }
  100% { transform: scale(1.9); opacity: 0; }
}

/* ---- Accessibility: no motion for people who ask for none ---- */
@media (prefers-reduced-motion: reduce) {
  .feikas-laser,
  .feikas-glitch,
  .feikas-glitch::before,
  .feikas-glitch::after,
  .feikas-badge,
  .feikas-dot,
  .feikas-detector__spin {
    animation: none !important;
  }

  .feikas-laser { transform: translateY(50%); }
}
