/* Native cursor; gesture frames override the resting image without a DOM overlay. */
@media (any-pointer: fine) {
  html[data-dsh-prts][data-prts-cursor="prts"] {
    --prts-hand-cursor: var(--prts-hand-frame, url("__PRTS_HAND__") 7 6);
    --prts-text-cursor: var(--prts-text-frame, url("__PRTS_TEXT__") 24 24);
    --prts-sort-cursor: url("__PRTS_GRABBING__") 22 19, grabbing;
    --prts-link-cursor: url("__PRTS_LINK__") 7 7;
    cursor: var(--prts-hand-cursor), default;
  }
  html[data-dsh-prts][data-prts-cursor="prts"] :is(button, a[href], summary, [role="button"], [role="tab"], [role="treeitem"], [role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"], [role="option"], [data-prts-workspace-row], [data-prts-session-row], .dsh-partner-sidebar-row, select, input[type="button"], input[type="submit"], input[type="checkbox"], input[type="radio"], input[type="color"], input[type="range"]) {
    cursor: var(--prts-link-cursor), pointer;
  }
  html[data-dsh-prts][data-prts-cursor="prts"] [data-prts-text-hit] {
    cursor: var(--prts-text-cursor), text;
  }
  html[data-dsh-prts][data-prts-cursor="prts"] :is(textarea, input:not([type]), input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="password"], input[type="number"], input[type="tel"], [contenteditable=""], [contenteditable="true"], [contenteditable="plaintext-only"]) {
    cursor: var(--prts-text-cursor), text;
  }
  html[data-dsh-prts][data-prts-cursor="prts"] [data-prts-opacity-dial] svg,
  html[data-dsh-prts][data-prts-cursor="prts"] [data-emblem-key],
  html[data-dsh-prts][data-prts-cursor="prts"] :is(.dsh-partner-pendant-hit, .dsh-partner-pendant-anchor, [data-prts-emblem-reorder]):enabled {
    cursor: url("__PRTS_GRAB__") 22 19, grab;
  }
  html[data-dsh-prts][data-prts-cursor="prts"] [data-prts-opacity-control][data-dragging] svg,
  html[data-dsh-prts][data-prts-cursor="prts"] :is(.dsh-partner-pendant-hit, .dsh-partner-pendant-anchor, [data-prts-emblem-reorder]):enabled:active {
    cursor: var(--prts-sort-cursor);
  }
  html[data-dsh-prts][data-prts-cursor="prts"] :is(:disabled, [aria-disabled="true"]) {
    cursor: url("__PRTS_NOT_ALLOWED__") 7 7, not-allowed !important;
  }
}

html[data-dsh-prts] :is([data-prts-emblem-sort-active],[data-prts-emblem-sort-active] *) {
  cursor: var(--prts-sort-cursor, grabbing) !important;
}

/* The crop surface uses one native cursor family, including during pointer capture. */
html[data-dsh-prts] [data-prts-region-stage] { cursor:default; }
html[data-dsh-prts] [data-prts-region-stage] [data-prts-region-box] { cursor:move; }
html[data-dsh-prts] [data-prts-region-stage] [data-prts-region-handle] { cursor:ns-resize!important; }
html[data-dsh-prts] [data-prts-region-stage] :is([data-prts-region-handle="e"],[data-prts-region-handle="w"]) { cursor:ew-resize!important; }
html[data-dsh-prts] [data-prts-region-stage] :is([data-prts-region-handle="nw"],[data-prts-region-handle="se"]) { cursor:nwse-resize!important; }
html[data-dsh-prts] [data-prts-region-stage] :is([data-prts-region-handle="ne"],[data-prts-region-handle="sw"]) { cursor:nesw-resize!important; }
