/* Shared BlackPT pointer light for desktop cursors and mobile touch. */
.bpt-cursor-glow {
    position: fixed;
    z-index: 2147483000;
    top: var(--bpt-cursor-y, -200px);
    left: var(--bpt-cursor-x, -200px);
    width: 144px;
    height: 144px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 91, 103, .24) 0, rgba(226, 48, 69, .15) 36%, rgba(232, 174, 91, .07) 57%, transparent 76%);
    opacity: 0;
    pointer-events: none;
    mix-blend-mode: screen;
    filter: blur(3px);
    transform: translate3d(-50%, -50%, 0) scale(.86);
    transition: opacity .2s ease, transform .2s ease;
    will-change: top, left, opacity, transform;
}

.bpt-cursor-glow.is-visible {
    opacity: .95;
    transform: translate3d(-50%, -50%, 0) scale(1);
}

@media (hover: none) and (pointer: coarse) {
    .bpt-cursor-glow {
        width: clamp(104px, 37vw, 144px);
        height: clamp(104px, 37vw, 144px);
        filter: blur(2px);
    }

    .bpt-cursor-glow.is-visible {
        opacity: .88;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bpt-cursor-glow {
        display: none !important;
        transition: none !important;
    }
}
