#cheese-cursor-layer {
    position: fixed;
    top: 0;
    left: 0;
    width: 32px;
    height: 38px;
    pointer-events: none;
    z-index: 99999;
    will-change: transform;
    opacity: 0;
    transition: opacity 0.15s ease;
}

#cheese-cursor-layer.visible {
    opacity: 1;
}

#cheese-cursor {
    width: 32px;
    height: 38px;
    display: block;
    filter: drop-shadow(1px 2px 2px rgba(0,0,0,0.15));
}

body.cheese-cursor-active {
    cursor: none !important;
}

body.cheese-cursor-active * {
    cursor: none !important;
}

body.cheese-cursor-active a,
body.cheese-cursor-active button,
body.cheese-cursor-active [role="button"],
body.cheese-cursor-active input,
body.cheese-cursor-active textarea,
body.cheese-cursor-active select {
    cursor: none !important;
}

@media (hover: none), (pointer: coarse) {
    #cheese-cursor-layer {
        display: none !important;
    }
    body.cheese-cursor-active,
    body.cheese-cursor-active * {
        cursor: auto !important;
    }
}
