:root{
  --neon-1: #a855f7;
  --neon-2: #ec4899;
  --neon-3: #06b6d4;
  --text: #e9e4ff;
  --muted: #a99cd0;
}

*{ margin:0; padding:0; box-sizing:border-box; }

html, body{
  min-height:100vh;
  font-family: 'Segoe UI', 'Poppins', system-ui, sans-serif;
  color: var(--text);
  background: radial-gradient(circle at 20% 20%, #1a0b2e 0%, #05010d 55%, #000 100%);
  overflow-x:hidden;
  position:relative;
}

/* ============ PARTICLES ============ */
#particles{
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* ============ AURORA GLOW ============ */
.aurora{
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.aurora span{
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  filter: blur(120px);
  opacity: .45;
  animation: drift 18s ease-in-out infinite alternate;
}
.aurora span:nth-child(1){ background: var(--neon-1); top: -10%; left: -10%; }
.aurora span:nth-child(2){ background: var(--neon-2); bottom: -15%; right: -10%; animation-delay: -6s; }
.aurora span:nth-child(3){ background: var(--neon-3); top: 40%; left: 50%; animation-delay: -12s; }

@keyframes drift{
  0%{ transform: translate(0,0) scale(1); }
  100%{ transform: translate(60px,-40px) scale(1.2); }
}

/* ============ HEADER ============ */
header{
  position:relative;
  z-index:2;
  text-align:center;
  padding: 70px 20px 30px;
}

.brand{
  font-size: clamp(2.2rem, 6vw, 4.2rem);
  font-weight: 900;
  letter-spacing: .08em;
  background: linear-gradient(90deg, #fff, var(--neon-1), var(--neon-2), var(--neon-3), #fff);
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: shift 6s linear infinite;
  filter: drop-shadow(0 0 25px rgba(168,85,247,.8));
}

@keyframes shift{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 300% 50%; }
}

.tagline{
  margin-top: 12px;
  color: var(--muted);
  font-size: .95rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.tagline i{ color: var(--neon-2); }
.tagline::before, .tagline::after{
  content:"";
  width: 60px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--neon-1), transparent);
}

/* ============ GRID ============ */
main{
  position:relative;
  z-index:2;
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 20px 80px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 22px;
}

/* ============ BUTTONS ============ */
.btn{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding: 18px 22px;
  border-radius: 18px;
  text-decoration:none;
  color: var(--text);
  background: linear-gradient(145deg, rgba(30,15,60,.85), rgba(10,4,25,.9));
  border: 1px solid rgba(168,85,247,.35);
  overflow:hidden;
  transition: box-shadow .4s ease, border-color .4s ease;
  box-shadow: inset 0 0 20px rgba(168,85,247,.08);
  isolation: isolate;
}

/* Bordure conique rotative */
.btn::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 20px;
  padding: 2px;
  background: conic-gradient(from var(--angle,0deg), var(--neon-1), var(--neon-2), var(--neon-3), var(--neon-1));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  opacity: 0;
  transition: opacity .4s;
  z-index:-1;
  animation: spin 4s linear infinite;
}
@property --angle{
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes spin{ to{ --angle: 360deg; } }

.btn:hover{
  box-shadow:
    0 0 25px rgba(168,85,247,.55),
    0 0 55px rgba(236,72,153,.35),
    0 10px 30px rgba(0,0,0,.6),
    inset 0 0 25px rgba(168,85,247,.15);
  border-color: transparent;
}
.btn:hover::before{ opacity:1; }

/* Icône */
.icon{
  flex-shrink:0;
  width: 46px;
  height: 46px;
  display:grid;
  place-items:center;
  border-radius: 13px;
  font-size: 1.15rem;
  color:#fff;
  background: linear-gradient(135deg, var(--neon-1), var(--neon-2));
  box-shadow: 0 0 18px rgba(168,85,247,.7), inset 0 0 10px rgba(255,255,255,.15);
  transition: box-shadow .4s;
  position:relative;
  z-index:2;
}
.btn:hover .icon{
  box-shadow: 0 0 25px rgba(236,72,153,.9), inset 0 0 12px rgba(255,255,255,.3);
}

.btn.cyan .icon{ background: linear-gradient(135deg, #06b6d4, #3b82f6); box-shadow: 0 0 18px rgba(6,182,212,.7); }
.btn.pink .icon{ background: linear-gradient(135deg, #ec4899, #f43f5e); box-shadow: 0 0 18px rgba(236,72,153,.7); }
.btn.green .icon{ background: linear-gradient(135deg, #10b981, #22d3ee); box-shadow: 0 0 18px rgba(16,185,129,.7); }
.btn.orange .icon{ background: linear-gradient(135deg, #f59e0b, #ef4444); box-shadow: 0 0 18px rgba(245,158,11,.7); }

.label{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:2px;
  position:relative;
  z-index:2;
}
.label strong{
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.label small{
  font-size: .72rem;
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.arrow{
  color: var(--muted);
  font-size: .9rem;
  transition: color .4s;
  position:relative;
  z-index:2;
}
.btn:hover .arrow{ color:#fff; }

/* ============ CHANNELS ============ */
.channels{
  grid-column: 1 / -1;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
  gap: 18px;
  margin-top: 30px;
}
.channel{
  display:flex;
  align-items:center;
  gap:14px;
  padding: 16px 20px;
  border-radius: 16px;
  text-decoration:none;
  color: var(--text);
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  transition: box-shadow .4s ease, border-color .4s ease;
  position:relative;
  overflow:hidden;
}
.channel::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(120deg, transparent, rgba(168,85,247,.15), transparent);
  transform: translateX(-100%);
  transition: transform .6s ease;
}
.channel:hover::before{ transform: translateX(100%); }
.channel:hover{
  border-color: rgba(168,85,247,.6);
  box-shadow: 0 0 25px rgba(168,85,247,.35);
}

.channel .icon{
  width: 40px;
  height: 40px;
  font-size: 1rem;
  border-radius: 11px;
}

.wa .icon{ background: linear-gradient(135deg, #25D366, #128C7E); box-shadow: 0 0 18px rgba(37,211,102,.7); }
.tg .icon{ background: linear-gradient(135deg, #229ED9, #0a84c7); box-shadow: 0 0 18px rgba(34,158,217,.7); }
.yt .icon{ background: linear-gradient(135deg, #FF0000, #c4302b); box-shadow: 0 0 18px rgba(255,0,0,.6); }

/* ============ FOOTER ============ */
footer{
  position:relative;
  z-index:2;
  text-align:center;
  padding: 30px 20px 50px;
  color: var(--muted);
  font-size: .9rem;
  letter-spacing: .12em;
}
footer .powered{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 22px;
  border-radius: 999px;
  background: rgba(168,85,247,.08);
  border: 1px solid rgba(168,85,247,.35);
  box-shadow: 0 0 25px rgba(168,85,247,.25), inset 0 0 20px rgba(168,85,247,.1);
  color:#fff;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size: .8rem;
  animation: pulse 3s ease-in-out infinite;
}
footer .powered i{ color: var(--neon-2); animation: beat 1.5s ease-in-out infinite; }
@keyframes pulse{
  0%,100%{ box-shadow: 0 0 25px rgba(168,85,247,.25), inset 0 0 20px rgba(168,85,247,.1); }
  50%{ box-shadow: 0 0 45px rgba(236,72,153,.55), inset 0 0 25px rgba(236,72,153,.2); }
}
@keyframes beat{
  0%,100%{ transform: scale(1); }
  50%{ transform: scale(1.25); }
}

/* ============ SCROLLBAR ============ */
::-webkit-scrollbar{ width: 10px; }
::-webkit-scrollbar-track{ background: #05010d; }
::-webkit-scrollbar-thumb{
  background: linear-gradient(var(--neon-1), var(--neon-2));
  border-radius: 10px;
}

/* ============ FADE IN ============ */
header, main, footer{ animation: fadeUp 1s ease both; }
@keyframes fadeUp{
  from{ opacity:0; transform: translateY(25px); }
  to{ opacity:1; transform: none; }
}