/* Native SVG cursors: immediate OS tracking, no overlay or animation loop. */
@media (hover:hover) and (pointer:fine) {
 :root {
  --cf-cursor-arrow:url('./assets/cursors/arrow.svg?v=305') 8 7,default;
  --cf-cursor-link:url('./assets/cursors/link.svg?v=305') 18 6,pointer;
  --cf-cursor-grab:url('./assets/cursors/grab.svg?v=305') 20 18,grab;
  --cf-cursor-grabbing:url('./assets/cursors/grabbing.svg?v=305') 20 18,grabbing;
 }
 body,dialog::backdrop,[popover]::backdrop { cursor:var(--cf-cursor-arrow); }
 html body :is(a[href],button,summary,[role="button"],[role="link"],input[type="button"],input[type="submit"],input[type="reset"],input[type="checkbox"],input[type="radio"],input[type="range"],input[type="color"],input[type="file"],label[for],select) { cursor:var(--cf-cursor-link); }
 :root body [data-cursor="grab"] { cursor:var(--cf-cursor-grab); }
 :root body [data-cursor="grabbing"] { cursor:var(--cf-cursor-grabbing); }
 /* Preserve functional native cursors for editing, enlargement and unavailable actions. */
 :root body :is(.desktop-device,.phone-device,.screen-expand) { cursor:zoom-in; }
 input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),textarea,[contenteditable]:not([contenteditable="false"]) { cursor:text; }
 :root body :is(button,input,select,textarea):disabled,:root body [aria-disabled="true"] { cursor:not-allowed; }
}
@media (forced-colors:active) {
 :root { --cf-cursor-arrow:default; --cf-cursor-link:pointer; --cf-cursor-grab:grab; --cf-cursor-grabbing:grabbing; }
}
