/* CURSOR_UI_STATIC_V1: static desktop cursor pack. Touch input keeps native behavior. */
@media (hover: hover) and (pointer: fine) {
  body.game-route {
    --game-cursor: url('/assets/ui/cursors/default.png?v=8ed22625f9c3') 1 1, default;
    cursor: var(--game-cursor) !important;
  }

  body.game-route * {
    cursor: var(--game-cursor) !important;
  }

  body.game-route :is(
    a[href],
    button:not(:disabled):not([aria-disabled='true']),
    select:not(:disabled),
    summary,
    input[type='button']:not(:disabled),
    input[type='checkbox']:not(:disabled),
    input[type='radio']:not(:disabled),
    input[type='range']:not(:disabled),
    input[type='submit']:not(:disabled),
    [role='button']:not([aria-disabled='true']),
    [onclick],
    [data-inv].has-item,
    [data-eq],
    [data-wh].has-item,
    [data-hotbar],
    .ctx-item
  ) {
    --game-cursor: url('/assets/ui/cursors/action.png?v=8ed22625f9c3') 1 1, pointer;
  }

  body.game-route :is(.hs.skill) {
    --game-cursor: url('/assets/ui/cursors/magic.png?v=8ed22625f9c3') 1 1, pointer !important;
  }

  body.game-route :is(.ec.npc) {
    --game-cursor: url('/assets/ui/cursors/npc.png?v=8ed22625f9c3') 1 1, pointer !important;
  }

  body.game-route :is(.ec.mob, [data-boss-attack], [data-pvp-attack], [data-pvp-counter]) {
    --game-cursor: url('/assets/ui/cursors/attack.png?v=8ed22625f9c3') 1 1, crosshair !important;
  }

  body.game-route :is(.inv-slot[data-item-target-mode='enchant'].target-valid) {
    --game-cursor: url('/assets/ui/cursors/enchant.png?v=8ed22625f9c3') 1 1, pointer !important;
  }

  body.game-route :is(
    .dragging,
    .enchant-share-action,
    [data-party-drag]:active,
    [data-loc-char-drag]:active,
    [data-drop-panel-drag]:active,
    [data-quest-tracker-drag]:active,
    #floatingChatDrag:active,
    #floatingChatResize:active
  ) {
    --game-cursor: url('/assets/ui/cursors/drag.png?v=8ed22625f9c3') 1 1, move !important;
  }

  body.game-route :is(
    :disabled,
    [aria-disabled='true'],
    .drop-denied,
    .target-invalid,
    .target-source
  ) {
    --game-cursor: url('/assets/ui/cursors/impossible.png?v=8ed22625f9c3') 1 1, not-allowed !important;
  }

  /* The pointer stays over live targets while its source remains elsewhere. */
  body.game-route.game-item-drag-active,
  body.game-route.game-item-drag-active * {
    --game-cursor: url('/assets/ui/cursors/drag.png?v=8ed22625f9c3') 1 1, move !important;
  }
  body.game-route.game-item-drag-active :is(.drop-denied,.drop-denied *) {
    --game-cursor: url('/assets/ui/cursors/impossible.png?v=8ed22625f9c3') 1 1, not-allowed !important;
  }
  body.game-route.game-context-unavailable,
  body.game-route.game-context-unavailable * {
    cursor: url('/assets/ui/cursors/impossible.png?v=8ed22625f9c3') 1 1, not-allowed !important;
  }
  .game-item-drag-preview {
    position:fixed!important;z-index:2147483647!important;pointer-events:none!important;
    left:0!important;top:0!important;margin:0!important;opacity:.72;overflow:hidden;
    transition:none!important;will-change:transform;
  }
}
