/* =====================================================================
   Authentic MU Online Universal Global Cursor System
   Applies across the ENTIRE application: loading screen, auth, canvas, HUD,
   inventory, dialogs, map editor, and all subpages.
   ===================================================================== */

:root {
  --mu-cursor-pointer: url('pointer.png') 0 0;
  --mu-cursor-click: url('click.png') 0 0;
  --mu-cursor-interact: url('mouse-pick.png') 0 0;
  --mu-cursor-monster: url('monster.png') 0 0;
  --mu-cursor-pvp: url('cursor-pvp.png') 0 0;

  /* Current active cursor for the canvas / world */
  --mu-cursor: var(--mu-cursor-pointer);
}

/* 1. Global Default: Every single element inherits the authentic MU cursor */
html,
body,
html *,
body * {
  cursor: var(--mu-cursor), auto !important;
}

/* 2. Global Hover: All interactive UI components display the MU interaction cursor (mouse-pick) */
button:not(:disabled):hover,
a:hover,
[role="button"]:hover,
.inv-item-card:hover,
.storage-item:hover,
.shop-item:hover,
.inv-equip-slot:hover,
.bonfire-slot:hover,
.base-build-choice:hover,
.base-build-demolish:hover,
.tab-btn:hover,
.hud-btn:hover,
.btn-music:hover,
.attr-add:not(:disabled):hover,
.interactive:hover,
[data-interact]:hover,
[data-cursor="interact"]:hover,
[data-tp-user]:hover {
  cursor: var(--mu-cursor-interact), auto !important;
}

/* 3. Global Click / MouseDown: When mouse button is pressed ANYWHERE (loading, background, canvas, HUD) */
html.mu-mouse-down,
html.mu-mouse-down *,
body.mu-mouse-down,
body.mu-mouse-down * {
  cursor: var(--mu-cursor-click), auto !important;
}

/* 4. Native :active feedback for buttons and cards */
button:active,
a:active,
[role="button"]:active,
.inv-item-card:active,
.storage-item:active,
.shop-item:active,
.inv-equip-slot:active,
.bonfire-slot:active,
.base-build-choice:active,
.base-build-demolish:active {
  cursor: var(--mu-cursor-click), auto !important;
}
