/* =========================================================================
   CANLI KARAKTER İMLEÇ DENEYİMİ (CUSTOM CHARACTER CURSOR)
   ========================================================================= */

@media (pointer: fine) {
  body, 
  body * {
    cursor: none !important;
  }
}

/* İmleç Konteyneri */
#cursor-container {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none !important;
  z-index: 9999999;
  transform: translate3d(-999px, -999px, 0);
  will-change: transform;
  transition: opacity 0.15s ease;
}

/* Karakter Gövdesi ve Salınım */
#character-body {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 0px 0px; /* Ok ucu tam imleç noktası */
  transition: transform 0.12s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none !important;
}

#character-svg {
  width: 41px;
  height: 45px;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
  display: block;
  pointer-events: none !important;
}

/* Tıklama Vuruş Efekti */
.character-click {
  transform: scale(0.85) rotate(-6deg) !important;
}

/* Göz Kırpma Animasyonu */
.eyelid {
  transform-origin: center;
  transition: transform 0.08s ease-in-out;
  transform: scaleY(0);
}
.blinking .eyelid {
  transform: scaleY(1);
}

/* Tıklama Işıma Çizgileri Efekti */
.click-spark {
  position: fixed;
  pointer-events: none !important;
  z-index: 9999998;
}

.spark-line {
  position: absolute;
  width: 4px;
  height: 22px;
  background: #0f172a;
  border-radius: 9999px;
  transform-origin: center bottom;
  animation: spark-burst 0.35s ease-out forwards;
}

@keyframes spark-burst {
  0% {
    opacity: 1;
    transform: rotate(var(--angle)) translateY(0px) scaleY(0.4);
  }
  60% {
    opacity: 1;
    transform: rotate(var(--angle)) translateY(-32px) scaleY(1.1);
  }
  100% {
    opacity: 0;
    transform: rotate(var(--angle)) translateY(-46px) scaleY(0.6);
  }
}

/* Tıklama halkası dalgası */
.click-ripple {
  position: fixed;
  pointer-events: none !important;
  border-radius: 50%;
  border: 3px solid #38bdf8;
  background: rgba(56, 189, 248, 0.25);
  transform: translate(-50%, -50%) scale(0.2);
  animation: ripple-grow 0.4s ease-out forwards;
  z-index: 9999997;
}

@keyframes ripple-grow {
  to {
    transform: translate(-50%, -50%) scale(2.8);
    opacity: 0;
  }
}

/* Kalp / Emoji patlaması */
.click-bubble {
  position: fixed;
  pointer-events: none !important;
  font-size: 20px;
  transform: translate(-50%, -50%);
  animation: bubble-fly 0.65s cubic-bezier(0.18, 0.89, 0.32, 1.28) forwards;
  z-index: 9999997;
}

@keyframes bubble-fly {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) translate(0, 0) scale(0.4);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) translate(var(--dx), var(--dy)) scale(1.3);
  }
}
