.sheen-btn,
.neon-btn,
button,
a[href] {
    position: relative;
}

.sheen-btn::after,
.neon-btn::after,
button::after,
a[href]::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 28%, rgba(255,255,255,0.18) 38%, transparent 50%);
    transform: translateX(-140%);
    pointer-events: none;
    opacity: 0;
}

.sheen-btn:hover::after,
.neon-btn:hover::after,
button:hover::after,
a[href]:hover::after {
    opacity: 1;
    animation: sheen-sweep 0.85s ease forwards;
}

@keyframes sheen-sweep {
    to { transform: translateX(140%); }
}

