/* Native cursors: exact hotspot, no tracking overlay or animation loop. */
@media (hover:hover) and (pointer:fine) and (forced-colors:none) {
  html,body { cursor:url('/assets/cursor/point.svg') 18 18,auto; }
  :root :is(a[href],button:not(:disabled),summary,label[for],[role="button"],.compare-check) {
    cursor:url('/assets/cursor/link.svg') 18 18,pointer!important;
  }
  :root :is(a[href],button:not(:disabled),summary,label[for],[role="button"],.compare-check) * {
    cursor:inherit!important;
  }
  :root :is(.sp-photo-open,.ms-pattern>button,.ms-photo,.se-image),
  :root :is(.sp-photo-open,.ms-pattern>button,.ms-photo,.se-image) * {
    cursor:url('/assets/cursor/zoom.svg') 18 18,zoom-in!important;
  }
  :root :is(input,textarea,[contenteditable=""],[contenteditable="true"],[contenteditable="plaintext-only"]) {
    cursor:text!important;
  }
  :root :is(select,input[type="range"],input[type="color"],input[type="file"],video,iframe) {
    cursor:auto!important;
  }
  :root :is(input[type="checkbox"],input[type="radio"],input[type="button"],input[type="submit"],input[type="reset"]) {
    cursor:url('/assets/cursor/link.svg') 18 18,pointer!important;
  }
  :root :is(:disabled,[aria-disabled="true"]),:root :is(:disabled,[aria-disabled="true"]) * {
    cursor:default!important;
  }
  /* Preserve the established pan/drag affordances inside material viewers. */
  :root :is(.mc-door,.ms-view.is-zoom,.pv-stage.is-zoomed,.se-dialog-image.is-native,.md-viewport,.mcfg-scene canvas),
  :root :is(.ms-view.is-zoom,.pv-stage.is-zoomed,.se-dialog-image.is-native,.md-viewport) * {
    cursor:grab!important;
  }
  :root :is(.mc-door:active,.ms-view.is-dragging,.pv-stage.is-dragging,.se-dialog-image.is-dragging,.md-viewport:active,.mcfg-scene.is-dragging canvas),
  :root :is(.ms-view.is-dragging,.pv-stage.is-dragging,.se-dialog-image.is-dragging,.md-viewport:active) * {
    cursor:grabbing!important;
  }
  :root .mcfg-light-adjust input { cursor:ew-resize!important; }
}
