/* ===== Zerosoft Cursor (dot + trailing ring + ripple) ===== */
:root{
  /* Renk ve boyutlar */
  --zc-dot-color:  #fff;   /* iç nokta: turkuaz (#00D1C4) */
  --zc-ring-color: #1E90FF;   /* dış halka: kiremit (#E5692A) */
  --zc-dot-size:   9px;       /* iç nokta çapı */
  --zc-ring-size:  36px;      /* halka çapı */
  --zc-ring-w:     2px;       /* halka çizgi kalınlığı */
  --zc-ring-opa:   0.95;      /* halka opaklık */
}

.zc-dot,
.zc-ring{
  position: fixed;
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 2147483646;
  display: none;       /* ilk mousemove’e kadar gizli */
  will-change: transform, opacity;
}

/* İç nokta (imleci birebir izler) */
.zc-dot{
  width: var(--zc-dot-size);
  height: var(--zc-dot-size);
  border-radius: 50%;
  background: var(--zc-dot-color);
  box-shadow: 0 0 0 2px rgba(0,0,0,.06) inset;
}

/* Dış halka (gecikmeli izler) */
.zc-ring{
  width: var(--zc-ring-size);
  height: var(--zc-ring-size);
  border-radius: 50%;
  border: var(--zc-ring-w) solid var(--zc-ring-color);
  opacity: var(--zc-ring-opa);
  transform: translate(-50%,-50%) scale(1);
  transition: transform .18s ease-out; /* tıklama büyümesi için */
}

/* Tıklama dalgası */
.zc-ripple{
  position: fixed; left: 0; top: 0;
  width: var(--zc-ring-size);
  height: var(--zc-ring-size);
  border-radius: 50%;
  pointer-events: none;
  z-index: 2147483645;
  transform: translate(-50%,-50%) scale(0.5);
  opacity: .6;
  border: var(--zc-ring-w) solid var(--zc-ring-color);
  animation: zc-ripple 480ms ease-out forwards;
}
@keyframes zc-ripple{
  to{
    transform: translate(-50%,-50%) scale(2.6);
    opacity: 0;
  }
}

/* Az hareket tercihinde ripple’ı kapat */
@media (prefers-reduced-motion: reduce){
  .zc-ripple{ animation: none; display: none; }
}
@media (pointer: coarse) {
  .zc-dot,
  .zc-ring,
  .zc-ripple {
    display: none !important;
  }
}
