:root{
  --bg:#0c0716;
  --purple:#8b5cf6;
  --purple-light:#c4b5fd;
  --text:#f5f0ff;
  --text-dim:#b9aad6;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Segoe UI',ui-sans-serif,system-ui,-apple-system,sans-serif;
  min-height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  position:relative;
}

/* simple blurred light blobs — artistic play with light */
.glow{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  opacity:.55;
  animation:drift 16s ease-in-out infinite;
}
.g1{width:42vw;height:42vw;background:var(--purple);top:-10%;left:-8%;animation-duration:18s;}
.g2{width:34vw;height:34vw;background:#6d28d9;bottom:-12%;right:-6%;animation-duration:20s;animation-delay:-4s;}
.g3{width:26vw;height:26vw;background:#a78bfa;top:38%;left:60%;animation-duration:14s;animation-delay:-8s;opacity:.4;}

@keyframes drift{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(4%,-6%) scale(1.12);}
}

.card{
  position:relative;
  z-index:2;
  text-align:center;
  padding:2.6rem 2.2rem;
  max-width:420px;
  width:88%;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  box-shadow:0 20px 60px rgba(0,0,0,.4);
  animation:rise .7s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes rise{
  from{opacity:0; transform:translateY(16px) scale(.98);}
  to{opacity:1; transform:translateY(0) scale(1);}
}

.dot{
  width:9px;height:9px;border-radius:50%;
  background:var(--purple-light);
  box-shadow:0 0 12px var(--purple-light);
  margin:0 auto 1rem;
  animation:blink 1.6s ease-in-out infinite;
}
@keyframes blink{
  0%,100%{opacity:1;}
  50%{opacity:.3;}
}

h1{
  font-size:clamp(1.3rem, 4vw, 1.6rem);
  font-weight:700;
  letter-spacing:-0.01em;
  margin-bottom:.6rem;
  color:var(--text);
}

p{
  color:var(--text-dim);
  font-size:.95rem;
  line-height:1.5;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important; animation-iteration-count:1 !important;}
}
