/* Nick susleme animasyonlari — public/lib.js buildNickDecorationCss bu @keyframes adlarini kullanir.
   Hem sohbet uygulamasi (index.html) hem yonetici paneli (admin.html, animasyon onizlemeleri) yukler. */

@keyframes slowBlink {
  0%, 100% { opacity: 1; text-shadow: 0 0 10px currentColor; }
  50% { opacity: 0.5; text-shadow: 0 0 2px currentColor; }
}

/* -- Nick Susleme animasyonlari (public/lib.js buildNickDecorationCss) ---------- */
@keyframes nickPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.18); }
}
@keyframes nickHueRotate {
  from { filter: hue-rotate(0deg); }
  to { filter: hue-rotate(360deg); }
}
@keyframes nickShine {
  0% { background-position: 200% center; }
  100% { background-position: -200% center; }
}
@keyframes nickTypewriter {
  from { width: 0; }
  to { width: 100%; }
}
@keyframes nickBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes nickShake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-3px); }
  40% { transform: translateX(3px); }
  60% { transform: translateX(-2px); }
  80% { transform: translateX(2px); }
}
@keyframes nickWobble {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  15% { transform: translateX(-4px) rotate(-4deg); }
  30% { transform: translateX(3px) rotate(3deg); }
  45% { transform: translateX(-3px) rotate(-2deg); }
  60% { transform: translateX(2px) rotate(1deg); }
  75% { transform: translateX(-1px) rotate(-1deg); }
}
@keyframes nickGlow {
  0%, 100% { text-shadow: 0 0 4px currentColor, 0 0 8px currentColor; }
  50% { text-shadow: 0 0 12px currentColor, 0 0 20px currentColor; }
}
@keyframes nickRainbow {
  0% { background-position: 0% center; }
  100% { background-position: 300% center; }
}
@keyframes nickFlicker {
  0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% { opacity: 1; }
  20%, 22%, 24%, 55% { opacity: 0.3; }
}
@keyframes nickFlip {
  0%, 100% { transform: perspective(400px) rotateY(0deg); }
  50% { transform: perspective(400px) rotateY(180deg); }
}
@keyframes nickGlitch {
  0%, 100% { text-shadow: 2px 0 #ff0044, -2px 0 #00e5ff; transform: translate(0, 0); }
  20% { text-shadow: -2px 0 #ff0044, 2px 0 #00e5ff; transform: translate(-1px, 1px); }
  40% { text-shadow: 2px 0 #ff0044, -2px 0 #00e5ff; transform: translate(1px, -1px); }
  60% { text-shadow: -2px 0 #ff0044, 2px 0 #00e5ff; transform: translate(0, 0); }
  80% { text-shadow: 2px 0 #ff0044, -2px 0 #00e5ff; transform: translate(1px, 1px); }
}
@keyframes nickSlideIn {
  0% { transform: translateX(-12px); opacity: 0; }
  30%, 70% { transform: translateX(0); opacity: 1; }
  100% { transform: translateX(-12px); opacity: 0; }
}

/* -- Ek animasyonlar (yalniz transform/opacity/filter/text-shadow: ucuz; renk currentColor'dan gelir) -- */
@keyframes nickSwing {
  0%, 100% { transform: rotate(0deg); }
  20% { transform: rotate(14deg); }
  40% { transform: rotate(-10deg); }
  60% { transform: rotate(6deg); }
  80% { transform: rotate(-3deg); }
}
@keyframes nickHeartbeat {
  0%, 100% { transform: scale(1); }
  14% { transform: scale(1.22); }
  28% { transform: scale(1); }
  42% { transform: scale(1.22); }
  70% { transform: scale(1); }
}
@keyframes nickFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes nickJello {
  0%, 100% { transform: skewX(0) skewY(0); }
  22% { transform: skewX(-12deg) skewY(-12deg); }
  33% { transform: skewX(6deg) skewY(6deg); }
  44% { transform: skewX(-3deg) skewY(-3deg); }
  55% { transform: skewX(1.5deg) skewY(1.5deg); }
  66% { transform: skewX(-.7deg) skewY(-.7deg); }
}
@keyframes nickRubberBand {
  0%, 100% { transform: scale(1, 1); }
  30% { transform: scale(1.3, .75); }
  40% { transform: scale(.75, 1.3); }
  50% { transform: scale(1.18, .88); }
  65% { transform: scale(.95, 1.05); }
  75% { transform: scale(1.03, .97); }
}
@keyframes nickTada {
  0%, 100% { transform: scale(1) rotate(0deg); }
  10%, 20% { transform: scale(.9) rotate(-4deg); }
  30%, 50%, 70% { transform: scale(1.12) rotate(4deg); }
  40%, 60% { transform: scale(1.12) rotate(-4deg); }
  80% { transform: scale(1) rotate(0deg); }
}
@keyframes nickSparkle {
  0%, 100% { text-shadow: 0 0 2px #fff, 0 0 6px currentColor; }
  25% { text-shadow: 0 0 6px #fff, 0 0 14px #ffe066, 0 0 22px currentColor; }
  50% { text-shadow: 0 0 2px #fff, 0 0 4px currentColor; }
  75% { text-shadow: 0 0 8px #fff, 0 0 16px #ff9ad5, 0 0 24px currentColor; }
}
@keyframes nickFire {
  0%, 100% { text-shadow: 0 -2px 4px #fff, 0 -4px 8px #ffdd00, 0 -8px 14px #ff8800, 0 -12px 20px #ff3300; }
  50% { text-shadow: 0 -1px 3px #fff, 0 -3px 7px #ffee33, 0 -6px 12px #ff9900, 0 -10px 18px #ff4400; }
}
@keyframes nickIce {
  0%, 100% { text-shadow: 0 0 3px #fff, 0 0 8px #7dd3fc, 0 0 14px #38bdf8; filter: brightness(1); }
  50% { text-shadow: 0 0 6px #fff, 0 0 14px #bae6fd, 0 0 24px #0ea5e9; filter: brightness(1.2); }
}
@keyframes nickZoom {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.35); }
}
@keyframes nickBlurFocus {
  0%, 100% { filter: blur(0); opacity: 1; }
  50% { filter: blur(2.5px); opacity: .55; }
}
@keyframes nickColorPulse {
  0%, 100% { filter: hue-rotate(0deg) saturate(1); }
  50% { filter: hue-rotate(70deg) saturate(1.8); }
}
@keyframes nickSpin {
  0%, 60%, 100% { transform: rotate(0deg); }
  80% { transform: rotate(360deg); }
}
@keyframes nickDrop {
  0% { transform: translateY(-10px); opacity: 0; }
  50% { transform: translateY(0); opacity: 1; }
  60% { transform: translateY(-3px); }
  70%, 100% { transform: translateY(0); opacity: 1; }
}
/* Nick animasyonlari her zaman oynar (isletim sistemi "animasyon" ayari yuzunden sessizce durmaz). Isteyen kullanici
   Ayarlar > Gorunum'den "Nick animasyonlarini azalt"i isaretleyerek durdurabilir. */
.no-nick-anim #chatMessages *, .no-nick-anim #userList * { animation: none !important; }
