/* PESA cursor follower — public desktop site */
.pesa-cursor-dot,
.pesa-cursor-ring {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: 2147483647;
  transform: translate3d(-100px, -100px, 0);
  will-change: transform, opacity;
}

.pesa-cursor-dot {
  width: 8px;
  height: 8px;
  margin-left: -4px;
  margin-top: -4px;
  border-radius: 999px;
  background: #5b63ff;
  box-shadow: 0 0 18px rgba(91, 99, 255, .6);
  transition: width .18s ease, height .18s ease, margin .18s ease, background .18s ease, opacity .15s ease;
}

.pesa-cursor-ring {
  width: 42px;
  height: 42px;
  margin-left: -21px;
  margin-top: -21px;
  border-radius: 999px;
  border: 1px solid rgba(91, 99, 255, .72);
  background: rgba(91, 99, 255, .055);
  box-shadow: 0 0 30px rgba(91, 99, 255, .12);
  transition: width .2s ease, height .2s ease, margin .2s ease, background .2s ease, border-color .2s ease, opacity .15s ease;
}

html[data-theme="dark"] .pesa-cursor-dot {
  background: #8b92ff;
  box-shadow: 0 0 18px rgba(139, 146, 255, .7);
}

html[data-theme="dark"] .pesa-cursor-ring {
  border-color: rgba(139, 146, 255, .78);
  background: rgba(139, 146, 255, .075);
}

.pesa-cursor-dot.is-visible,
.pesa-cursor-ring.is-visible {
  opacity: 1;
}

.pesa-cursor-dot.is-hovering {
  width: 6px;
  height: 6px;
  margin-left: -3px;
  margin-top: -3px;
}

.pesa-cursor-ring.is-hovering {
  width: 62px;
  height: 62px;
  margin-left: -31px;
  margin-top: -31px;
  background: rgba(91, 99, 255, .11);
  border-color: rgba(91, 99, 255, .95);
}

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