/* Cursor elements */
.zsk-cursor-dot, .zsk-cursor-ring, .zsk-cursor-emoji { position: fixed; top:0; left:0; pointer-events:none; z-index: 999999; mix-blend-mode: normal; }
.zsk-cursor-dot{ width: var(--zsk-cursor-size); height: var(--zsk-cursor-size); border-radius: 999px; background: var(--zsk-cursor-color); transform: translate(-50%, -50%); }
.zsk-cursor-dot img { width: 100%; height: 100%; border-radius: inherit; }
.zsk-cursor-dot.rainbow { animation: zsk-rainbow 1.2s linear infinite; }
@keyframes zsk-rainbow {
  0%{ filter: hue-rotate(0deg); } 100%{ filter: hue-rotate(360deg); }
}
.zsk-cursor-dot.glow { box-shadow: 0 0 20px 5px var(--zsk-cursor-color, #e67e22); }
.zsk-cursor-ring{ width: var(--zsk-cursor-ring-size); height: var(--zsk-cursor-ring-size); border: 2px solid var(--zsk-cursor-color); border-radius: 999px; transform: translate(-50%, -50%); transition: transform .15s ease-out; }
.zsk-cursor-emoji{ font-size: calc(var(--zsk-cursor-size) * 2); transform: translate(-50%, -50%); }
.zsk-cursor-trail{ position: fixed; width: var(--zsk-cursor-size); height: var(--zsk-cursor-size); border-radius:999px; background: var(--zsk-cursor-color); opacity:.65; pointer-events:none; z-index: 999998; transform: translate(-50%, -50%); }

/* Hoverable scale */
.zsk-hovering .zsk-cursor-ring{ transform: translate(-50%, -50%) scale(var(--zsk-hover-scale)); }
