/* Hide the normal cursor on desktops */
@media (pointer: fine) {
  body { cursor: none !important; }
  a, button, input[type="submit"], input[type="button"] {
    cursor: none !important;
  }

  .gif-cursor {
    position: fixed;
    top: 0; left: 0;
    width: 64px; height: 64px; /* adjust to your GIF size */
    background: transparent center/contain no-repeat;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 99999;
    will-change: transform;
  }

  .gif-cursor.click {
    animation: cursor-pop 200ms ease-out;
  }

  @keyframes cursor-pop {
    0%   { transform: scale(1); }
    50%  { transform: scale(0.85); }
    100% { transform: scale(1); }
  }
}

/* Keep normal cursor on touch devices */
@media (pointer: coarse) {
  .gif-cursor { display: none; }
  body { cursor: auto !important; }
}
