/* Custom cursor — mix-blend-mode:difference auto-inverts on light/dark sections */
/* Disabled entirely on touch/pointer:coarse devices */

.cur-dot,
.cur-ring {
  position: fixed;
  top: 0;
  left: 0;
  border-radius: 50%;
  pointer-events: none;
  will-change: transform;
  mix-blend-mode: difference;
  z-index: 10001;
}

.cur-dot {
  width: 6px;
  height: 6px;
  background: #fff;
}

.cur-ring {
  z-index: 10000;
  width: 32px;
  height: 32px;
  border: 1.5px solid rgba(255, 255, 255, 0.85);
  background: transparent;
  transition:
    width  0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    height 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    border-color 0.28s ease;
}

body.cur-hover .cur-ring {
  width: 56px;
  height: 56px;
  border-color: rgba(255, 255, 255, 0.50);
}

/* Hide system cursor on all elements */
body,
body * {
  cursor: none;
}

@media (hover: none), (pointer: coarse) {
  .cur-dot,
  .cur-ring { display: none !important; }

  body,
  body * { cursor: auto; }
}
