/* Force-hide native cursor everywhere - ULTRA comprehensive coverage */
html, body, *, *::before, *::after {
    cursor: none !important;
}

/* CRITICAL: Force-hide cursor on ALL buttons and their states - highest priority */
button, button *, button::before, button::after,
button:hover, button:focus, button:active, button:disabled,
button:hover *, button:focus *, button:active *, button:disabled *,
button:hover::before, button:focus::before, button:active::before,
button:hover::after, button:focus::after, button:active::after {
    cursor: none !important;
}

/* Force-hide native cursor across ALL interactive elements and embeds */
a, a *, a::before, a::after,
a:hover, a:focus, a:active, a:visited,
a:hover *, a:focus *, a:active *, a:visited *,
input, input *, input::before, input::after,
input:hover, input:focus, input:active, input:disabled,
input:hover *, input:focus *, input:active *, input:disabled *,
textarea, textarea *, textarea::before, textarea::after,
textarea:hover, textarea:focus, textarea:active, textarea:disabled,
select, select *, select::before, select::after,
select:hover, select:focus, select:active, select:disabled,
label, iframe, canvas, video, audio, 
.nav-btn, .nav-btn *, .nav-btn::before, .nav-btn::after,
.nav-btn:hover, .nav-btn:focus, .nav-btn:active,
.nav-btn:hover *, .nav-btn:focus *, .nav-btn:active *,
.action-btn, .action-btn *, .action-btn:hover, .action-btn:focus, .action-btn:active,
.tab-btn, .tab-btn *, .tab-btn:hover, .tab-btn:focus, .tab-btn:active,
.skeu-container, .project-card, .user-card, .shelf-container, .tiny-skeu-btn,
[role="button"], [role="button"] *, [role="button"]:hover, [role="button"]:focus,
[onclick], [onclick] *, [onclick]:hover, [onclick]:focus,
[tabindex], [tabindex] *, [tabindex]:hover, [tabindex]:focus,
.btn, .btn *, .btn:hover, .btn:focus, .btn:active, .btn:disabled,
.skeuomorphic-btn, .skeuomorphic-btn *, .skeuomorphic-btn:hover, .skeuomorphic-btn:focus, .skeuomorphic-btn:active,
.fandom-tab-btn, .fandom-tab-btn *, .fandom-tab-btn:hover, .fandom-tab-btn:focus, .fandom-tab-btn:active,
.settings-tab-btn, .settings-tab-btn *, .settings-tab-btn:hover, .settings-tab-btn:focus, .settings-tab-btn:active,
img, svg, div, span, p, h1, h2, h3, h4, h5, h6,
*:hover, *:focus, *:focus-visible, *:focus-within, *:active, *:visited,
*:disabled, *:enabled, *:checked, *:selected {
    cursor: none !important;
}

/* Additional ultra-specific rules to catch any edge cases */
html *, body *, * * {
    cursor: none !important;
}

/* Force on all pseudo-elements */
*::before, *::after, *::first-letter, *::first-line, *::selection {
    cursor: none !important;
}


.custom-cursor {
    position: fixed;
    width: 32px;
    height: 32px;
    background-image: url('Mouse.png');
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 2147483646; /* ensure cursor stays above modals/overlays and update banners */
    left: 0;
    top: 0;
    will-change: transform; /* Optimize for GPU acceleration */
    transform: translate3d(0, 0, 0); /* Force GPU acceleration with translate3d */
    backface-visibility: hidden; /* Prevent flickering */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    contain: layout style paint; /* Isolate rendering for better performance */
    image-rendering: auto; /* Smooth image rendering for cursor */
    isolation: isolate; /* Create new stacking context for better compositing */
} 

.custom-cursor.hovering {
    background-image: url('Hovering.png');
}