Тонкая светящаяся кромка следует за курсором по тёмной карточке. Работает на десктопе, на мобильных отключается сама.
shadow (вкладка «Настройки» шейпа).<style>
/* === Свечение === */
.shadow::before {
content: "";
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border-radius: 20px;
padding: 2px;
background: radial-gradient(
250px circle at var(--mouse-x) var(--mouse-y),
#ffffff,
#dedede,
#929292,
transparent 50%
);
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
transition: opacity 1500ms;
z-index: 2;
}
</style>
<script>
if (window.innerWidth > 1200) {
document.getElementById("allrecords").addEventListener("mousemove", (e) => {
const shadows = document.querySelectorAll(".nav-container, .shadow");
shadows.forEach((el) => {
const rect = el.getBoundingClientRect();
const x = e.clientX - rect.left;
const y = e.clientY - rect.top;
el.style.setProperty("--mouse-x", `${x}px`);
el.style.setProperty("--mouse-y", `${y}px`);
});
});
}
</script>
Радиус скругления свечения (border-radius: 20px) должен совпадать со скруглением шейпа.