:root {
  /* --target-cursor-dot-color: #28c28c; */
  --target-cursor-dot-color: #ff80ac;
  --target-cursor-corner-color: #ff80ac;
  --target-cursor-z-index: 9999;
}

.target-cursor-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  pointer-events: none;
  z-index: var(--target-cursor-z-index);
  transform: translate(-50%, -50%);
}

.target-cursor-rotor {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  will-change: transform;
}

.target-cursor-dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  background: var(--target-cursor-dot-color);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  will-change: transform;
  box-shadow: 0 0 12px rgba(255, 128, 172, 0.45);
}

.target-cursor-corner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  border: 3px solid var(--target-cursor-corner-color);
  will-change: transform;
  filter: drop-shadow(0 0 8px rgba(40, 194, 140, 0.35));
}

.target-cursor-corner.corner-tl {
  transform: translate(-150%, -150%);
  border-right: none;
  border-bottom: none;
}

.target-cursor-corner.corner-tr {
  transform: translate(50%, -150%);
  border-left: none;
  border-bottom: none;
}

.target-cursor-corner.corner-br {
  transform: translate(50%, 50%);
  border-left: none;
  border-top: none;
}

.target-cursor-corner.corner-bl {
  transform: translate(-150%, 50%);
  border-right: none;
  border-top: none;
}

html.target-cursor-enabled,
html.target-cursor-enabled body,
html.target-cursor-enabled * {
  cursor: none !important;
}