.custom-cursor { position: fixed; inset: 0; pointer-events: none; z-index: 2147483647; opacity: 0; }
.custom-cursor.is-visible { opacity: 1; }
.cursor-pixel { position: fixed; top: 0; left: 0; width: 32px; height: 32px; pointer-events: none; will-change: transform; image-rendering: pixelated; background: url('../assets/ui/cursors/arrow.svg') no-repeat center / 32px; }
.custom-cursor[data-mode="hand"] .cursor-pixel { background-image: url('../assets/ui/cursors/hand.svg'); }
.custom-cursor[data-mode="zoom-in"] .cursor-pixel { background-image: url('../assets/ui/cursors/zoom-in.svg'); }
.custom-cursor[data-mode="zoom-out"] .cursor-pixel { background-image: url('../assets/ui/cursors/zoom-out.svg'); }
@media (min-width: 768px) and (hover: hover) and (pointer: fine) and (forced-colors: none) {
  html.has-custom-cursor, html.has-custom-cursor * { cursor: none !important; }
}
@media (max-width: 767px), (hover: none), (pointer: coarse), (forced-colors: active) {
  .custom-cursor { display: none; }
}
