/* Reference-matched white-edged arrow and softly shadowed pointing hand.
   Small SVGs stay sharp at high DPI. Native fallbacks preserve OS accessibility. */
@media (hover:hover) and (pointer:fine) {
  :root {
    --mac-arrow:url("../Assets/cursors/arrow-white-shadow.svg") 3 2, default;
    --mac-hand:url("../Assets/cursors/hand-shadow.svg") 12 3, pointer;
    --mac-grab:url("../Assets/cursors/grab.svg") 14 14, grab;
    --mac-grabbing:url("../Assets/cursors/grabbing.svg") 14 14, grabbing;
    --mac-text:url("../Assets/cursors/text.svg") 12 12, text;
    --mac-wait:url("../Assets/cursors/wait-0.svg") 12 12, wait;
  }
  html,body { cursor:var(--mac-arrow); }
  body :is(a[href],button:not(:disabled),[role="button"],[role="tab"],summary,label[for],select,input[type="range"],input[type="checkbox"]) { cursor:var(--mac-hand)!important; }
  body :is(input:not([type="range"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]),textarea,[contenteditable="true"]) { cursor:var(--mac-text)!important; }
  body :is([data-draggable]:not(button),.folder-window__bar) { cursor:var(--mac-grab)!important; }
  body :is(.is-dragging,.is-dragging *) { cursor:var(--mac-grabbing)!important; }
  body :is(button:disabled,input:disabled,[aria-disabled="true"]) { cursor:not-allowed!important; }
  html[data-cursor-busy="true"] { animation:mac-wait-cycle 1.2s steps(1,end) infinite; }
  html[data-cursor-busy="true"],html[data-cursor-busy="true"] body,html[data-cursor-busy="true"] body * { cursor:var(--mac-wait)!important; }
  @keyframes mac-wait-cycle {
    0%,100% { --mac-wait:url("../Assets/cursors/wait-0.svg") 12 12, wait; }
    25% { --mac-wait:url("../Assets/cursors/wait-1.svg") 12 12, wait; }
    50% { --mac-wait:url("../Assets/cursors/wait-2.svg") 12 12, wait; }
    75% { --mac-wait:url("../Assets/cursors/wait-3.svg") 12 12, wait; }
  }
}
@media (prefers-reduced-motion:reduce) { html[data-cursor-busy="true"] { animation:none; } }
