/* Bitki animasyonları */
.lf-plant { display: block; width: 100%; height: auto; overflow: visible; }
.lf-sway {
  transform-box: view-box;
  transform-origin: 100px 160px;
  animation: lf-sway 5s ease-in-out infinite alternate;
}
.lf-sway-soft { animation-name: lf-sway-soft; }
.lf-wilted .lf-sway { animation-name: lf-sway-weak; }
.lf-eyes {
  transform-box: fill-box;
  transform-origin: center;
  animation: lf-blink 4.5s infinite;
}
.lf-heart { opacity: 0; animation: lf-float 6s ease-in infinite; }
.lf-twinkle {
  transform-box: fill-box;
  transform-origin: center;
  animation: lf-twinkle 3.2s ease-in-out infinite;
}
.lf-glow { animation: lf-glow 3s ease-in-out infinite alternate; }
.lf-sweat { animation: lf-drip 3s ease-in-out infinite; }
.lf-fall {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: lf-fall 7.5s ease-in-out infinite;
}

@keyframes lf-sway { from { transform: rotate(-1.8deg); } to { transform: rotate(1.8deg); } }
@keyframes lf-sway-soft { from { transform: rotate(-0.9deg); } to { transform: rotate(0.9deg); } }
@keyframes lf-sway-weak { from { transform: rotate(-0.6deg); } to { transform: rotate(0.6deg); } }
@keyframes lf-blink { 0%, 93%, 100% { transform: scaleY(1); } 96% { transform: scaleY(0.1); } }
@keyframes lf-float {
  0% { transform: translateY(12px); opacity: 0; }
  20% { opacity: 1; }
  100% { transform: translateY(-34px); opacity: 0; }
}
@keyframes lf-twinkle {
  0%, 100% { transform: scale(0.4); opacity: 0.2; }
  50% { transform: scale(1); opacity: 1; }
}
@keyframes lf-glow { from { opacity: 0.2; } to { opacity: 0.5; } }
@keyframes lf-drip { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(2px); } }
@keyframes lf-fall {
  0% { transform: translate(0, 0) rotate(0deg); opacity: 0; }
  6% { opacity: 1; }
  30% { transform: translate(var(--dx), calc(var(--dy) * 0.3)) rotate(45deg); }
  55% { transform: translate(calc(var(--dx) * -0.6), calc(var(--dy) * 0.6)) rotate(-25deg); }
  80% { transform: translate(calc(var(--dx) * 0.3), var(--dy)) rotate(20deg); opacity: 1; }
  100% { transform: translate(calc(var(--dx) * 0.3), var(--dy)) rotate(20deg); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .lf-sway, .lf-eyes, .lf-sweat, .lf-twinkle, .lf-glow { animation: none; }
  .lf-heart { animation: none; opacity: 0.8; }
  .lf-fall { display: none; }
}
