/* Namespaced + non-invasive: no global cursor changes */
.rskfc-cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  width: var(--rskfc-cd-dot, 8px);
  height: var(--rskfc-cd-dot, 8px);
  margin-left: calc(var(--rskfc-cd-dot, 8px) / -2);
  margin-top: calc(var(--rskfc-cd-dot, 8px) / -2);
  border-radius: 999px;
  background: var(--rskfc-cd-base, #111);
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  transform: translate3d(-9999px, -9999px, 0) scale(1);
  will-change: transform, background-color;
  transition: transform 140ms ease, background-color 140ms ease, opacity 140ms ease;
  opacity: 0;
}

.rskfc-cursor-dot.is-visible {
  opacity: var(--rskfc-cd-opacity, 1);
}

.rskfc-cursor-dot.is-visible.is-hover {
  opacity: var(--rskfc-cd-hover-opacity, var(--rskfc-cd-opacity, 1));
}

.rskfc-cursor-dot.is-hover {
  background: var(--rskfc-cd-hover, #ff3b30);
  transform: translate3d(var(--rskfc-cd-x, -9999px), var(--rskfc-cd-y, -9999px), 0) scale(var(--rskfc-cd-scale, 3));
}

.rskfc-cursor-dot.is-visible:not(.is-hover) {
  transform: translate3d(var(--rskfc-cd-x, -9999px), var(--rskfc-cd-y, -9999px), 0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .rskfc-cursor-dot {
    transition: none !important;
  }
}
