/* Modern imleç — hem müşteri sayfası hem yönetim paneli kullanır. */
:root { --cursor-c: #2563eb; }
html, body { cursor: url("cursor.svg") 4 2, auto; }
a, button, summary, label, select, [role="tab"], [data-copy], .plat-opt, .code-pill, input[type="checkbox"], input[type="radio"], input[type="range"] {
  cursor: url("cursor-pointer.svg") 4 2, pointer;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea { cursor: text; }
button:disabled, [aria-disabled="true"] { cursor: not-allowed; }

/* İmleci takip eden ışıklı halka (yalnızca fare ile; JS etkinleştirir) */
.cursor-ring, .cursor-glow {
  position: fixed; top: 0; left: 0; pointer-events: none; z-index: 9999;
  border-radius: 50%; will-change: transform; opacity: 0; transition: opacity .3s ease;
}
.cursor-on .cursor-ring, .cursor-on .cursor-glow { opacity: 1; }
.cursor-ring {
  width: 26px; height: 26px; margin: -13px 0 0 -13px;
  border: 1.5px solid color-mix(in srgb, var(--cursor-c) 80%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--cursor-c) 45%, transparent), inset 0 0 10px color-mix(in srgb, var(--cursor-c) 25%, transparent);
  transition: opacity .3s ease, width .25s cubic-bezier(.34,1.56,.64,1), height .25s cubic-bezier(.34,1.56,.64,1), margin .25s cubic-bezier(.34,1.56,.64,1), background-color .25s, border-color .25s;
}
.cursor-glow {
  width: 300px; height: 300px; margin: -150px 0 0 -150px; z-index: 0;
  background: radial-gradient(circle, color-mix(in srgb, var(--cursor-c) 16%, transparent) 0%, transparent 65%);
}
.cursor-hover .cursor-ring { width: 42px; height: 42px; margin: -21px 0 0 -21px; background: color-mix(in srgb, var(--cursor-c) 12%, transparent); }
.cursor-text .cursor-ring { width: 8px; height: 30px; margin: -15px 0 0 -4px; border-radius: 4px; }
.cursor-down .cursor-ring { width: 18px; height: 18px; margin: -9px 0 0 -9px; background: color-mix(in srgb, var(--cursor-c) 30%, transparent); }
.cursor-burst {
  position: fixed; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; pointer-events: none; z-index: 9999;
  border: 2px solid var(--cursor-c); animation: cursorBurst .55s cubic-bezier(.2,.8,.2,1) forwards;
}
@keyframes cursorBurst { to { transform: scale(6); opacity: 0; } }
@media (pointer: coarse), (prefers-reduced-motion: reduce) { .cursor-ring, .cursor-glow, .cursor-burst { display: none; } }
