.card-spotlight{position:relative;border-radius:16px;overflow:hidden;background-color:rgba(102,43,234,.06);border:1px solid rgba(102,43,234,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(102,43,234,.1);transition:box-shadow .3s ease,transform .3s ease}.card-spotlight:hover{box-shadow:0 12px 32px rgba(102,43,234,.25)}.card-spotlight:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 60%);opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:0}.card-spotlight:focus-within:before,.card-spotlight:hover:before{opacity:.2}@keyframes glowShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.neon-card:before{content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none;z-index:1;background:radial-gradient(380px circle at var(--mouse-x) var(--mouse-y),rgba(102,43,234,.3),transparent 60%);box-shadow:0 0 40px rgba(102,43,234,.4);opacity:0;transition:opacity .3s ease}.neon-card:hover:before{opacity:.5}.neon-card:after{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;z-index:2;background:radial-gradient(220px circle at var(--mouse-x) var(--mouse-y),rgba(102,43,234,.7),transparent 60%);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask-composite:destination-out;padding:2px;opacity:0;transition:opacity .3s ease}.neon-card:hover:after{opacity:1}.neon-particles{position:absolute;inset:0;pointer-events:none;z-index:3}.neon-particles:after,.neon-particles:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(102,43,234,.6);filter:blur(4px);animation:floatParticle 2s ease-in-out infinite;opacity:0}.neon-particles:before{top:var(--mouse-y);left:var(--mouse-x);animation-delay:0s}.neon-particles:after{top:calc(var(--mouse-y) + 20px);left:calc(var(--mouse-x) - 20px);animation-delay:.5s}@keyframes floatParticle{0%{transform:scale(.6) translateY(0);opacity:.7}50%{transform:scale(1) translateY(-8px);opacity:1}to{transform:scale(.6) translateY(-16px);opacity:0}}