.border-flashlight {
    padding: 3px;
    transition: transform 0.65s cubic-bezier(0.05, 0.2, 0.1, 1), box-shadow 0.65s cubic-bezier(0.05, 0.2, 0.1, 1);
    position: relative;
    overflow: hidden;
}

.border-flashlight > * {
    z-index: 2;
    position: relative;
}

.border-flashlight::before {
    content: '';
    position: absolute;
    top: var(--y);
    left: var(--x);
    transform: translate(-50%, -50%);
    background: radial-gradient(#ff0000, transparent, transparent);
    width: 200%;
    height: 200%;
    opacity: 0;
    transition: 0.5s, top 0s, left 0s;
    border-radius: var(--radius);
}

.border-flashlight:hover::before {
    opacity: 1;
}

.border-flashlight::after {
    content: '';
    position: absolute;
    inset: 2px;
}
