:root{--accent:#ef4444;--soft:#f6f7f9;--ink:#111827}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--ink)}
.glass{backdrop-filter:saturate(120%) blur(6px);background:rgba(255,255,255,.92)}
.link-underline{position:relative}
.link-underline::after{content:"";position:absolute;left:50%;bottom:-8px;width:0;height:2px;background:var(--accent);transform:translateX(-50%);transition:width .18s ease}
.link-underline:hover::after{width:60%}

@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.animate-gradientMove{animation:gradientMove 6s ease infinite}

@keyframes floatUpDown{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes glow{0%,100%{opacity:.35;transform:scale(.98)}50%{opacity:.6;transform:scale(1.04)}}
@keyframes spinSlow{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes nudge{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-3px) rotate(-1.5deg)}40%{transform:translateY(0)}60%{transform:translateY(-2px) rotate(1.5deg)}80%{transform:translateY(0)}}

#floatingCustomize>span.relative{animation:floatUpDown 3.2s ease-in-out infinite,nudge 8s ease-in-out infinite}
.animate-pulseGlow{animation:glow 2.8s ease-in-out infinite}
.animate-spin-slow{animation:spinSlow 4s linear infinite}
@media (prefers-reduced-motion:reduce){
  #floatingCustomize>span.relative,.animate-pulseGlow,.animate-spin-slow{animation:none!important}
}

.title-clamp{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:1}
@media (min-width:640px){.title-clamp{-webkit-line-clamp:2}}
.desc-clamp{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:1}
@media (min-width:640px){.desc-clamp{-webkit-line-clamp:2}}

#clubStrip::-webkit-scrollbar{display:none}
