/* === Rocket Cursor === */
* {
    cursor: none!important; /* Hide default cursor everywhere */
}

.rocket-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%230ff"><path d="M12 2.5s-6.5 4-6.5 10.5c0 2.5 1 4.5 2.5 6l4-2 4 2c1.5-1.5 2.5-3.5 2.5-6C18.5 6.5 12 2.5 12 2.5zm0 3c1.1 0 2.9 2 2s-.9 2-2-.9-2-2.9-2 2-2zm-4.5 11.5l2-1-1-3-2.5 1.5c.3.8.8 1.7 1.5 2.5zm9 0c.7-.8 1.2-1.7 1.5-2.5L15.5 14l-1 3 2 1z"/></svg>') no-repeat center/contain;
    pointer-events: none; /* Lets you click through it */
    z-index: 999999; /* Higher than modals at z-index: 3000 */
    transform: translate(-50%, -50%); /* Center on mouse point */
    transition: transform 0.05s ease-out; /* Smooth follow */
    filter: drop-shadow(0 0 6px #0ff);
}

/* Rocket tilt when moving */
.rocket-cursor.moving-right {
    transform: translate(-50%, -50%) rotate(15deg);
}
.rocket-cursor.moving-left {
    transform: translate(-50%, -50%) rotate(-15deg);
}
.rocket-cursor.moving-up {
    transform: translate(-50%, -50%) rotate(-10deg);
}
.rocket-cursor.moving-down {
    transform: translate(-50%, -50%) rotate(10deg);
}

/* Show normal cursor on text inputs so user can see where they're typing */
input, textarea, [contenteditable] {
    cursor: text!important;
}

/* Show pointer on clickable stuff for feedback */
button, a,.btn, [onclick] {
    cursor: pointer!important;
}