html, body {
    height: 100%;
    margin: 0;
    cursor: none;
    overflow: hidden;
    perspective: 1000px;
}

.custom-cursor {
    position: absolute;
    background: black;
    border-radius: 50%;
    pointer-events: none;
    transform-origin: center center;
    z-index: 1000;
    backface-visibility: hidden;
    will-change: transform;
    box-sizing: border-box;
    transition: width 0.1s, height 0.1s;
}

.cursor-trail {
    position: absolute;
    background: black;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s, width 0.1s, height 0.1s;
    backface-visibility: hidden;
    will-change: transform;
    transform-origin: center center;
}

.custom-cursor.click {
    background: white;
    box-shadow: inset 0 0 0 2px black;
}

@keyframes expand {
    0% {
        transform: scale(1);
        opacity: 0.05;
    }
    100% {
        transform: scale(400);
        opacity: 0;
    }
}