:root {
    --pdccursor-size: 15px;
    --pdccursor-bg: #f87523;
    --pdccursor-interactive-size: 72px;
    --pdccursor-interactive-image: none;
}

#pd-custom-cursor.pdccursor {
    position: fixed;
    left: 0;
    top: 0;
    width: var(--pdccursor-size);
    height: var(--pdccursor-size);
    border-radius: 999px;
    background: var(--pdccursor-bg);
    transform: translate3d(-100px, -100px, 0);
    pointer-events: none;
    z-index: 2147483647;
    opacity: 0;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.92), 0 4px 14px rgba(0, 0, 0, 0.18);
    transition:
        width 0.15s ease,
        height 0.15s ease,
        background 0.15s ease,
        border-radius 0.15s ease,
        opacity 0.2s ease,
        transform 0.06s ease-out,
        box-shadow 0.15s ease,
        filter 0.15s ease;
    will-change: transform, width, height, opacity;
    contain: layout style paint;
}

#pd-custom-cursor.pdccursor.pdccursor--active {
    opacity: 1;
}

#pd-custom-cursor.pdccursor.pdccursor--interactive {
    width: var(--pdccursor-interactive-size);
    height: var(--pdccursor-interactive-size);
    border-radius: 0;
    background: transparent var(--pdccursor-interactive-image) center / contain no-repeat;
    box-shadow: none;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.12));
}

@media (pointer: fine) {
    body.pdccursor-enabled.pdccursor-ready,
    body.pdccursor-enabled.pdccursor-ready * {
        cursor: none !important;
    }
}

@media (pointer: coarse), (hover: none) {
    #pd-custom-cursor.pdccursor {
        display: none !important;
    }
}
