*{
  box-sizing:border-box;
}

html,body{
  height:100%;
}

body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:#e5e7eb;
  background:
    radial-gradient(900px 520px at 50% 35%, rgba(59,130,246,.12), transparent 60%),
    radial-gradient(900px 520px at 25% 30%, rgba(14,165,233,.10), transparent 55%),
    radial-gradient(1200px 800px at 50% 100%, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, #070b14, #040711);
  display:flex;
  flex-direction:column;
  min-height:100vh;
}

.wrap{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 16px 28px;
}

.card{
  width:min(980px, calc(100% - 24px));
  padding:56px 64px;
  border-radius:16px;
  background:rgba(15,23,42,.58);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:0 24px 80px rgba(0,0,0,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.title{
  margin:0;
  font-size:40px;
  font-weight:600;
  letter-spacing:.2px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#f8fafc;
}

.wave{
  display:inline-block;
  transform-origin:70% 70%;
  animation:wave 1.8s infinite;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
}

@keyframes wave{
  0%{transform:rotate(0deg)}
  10%{transform:rotate(14deg)}
  20%{transform:rotate(-8deg)}
  30%{transform:rotate(14deg)}
  40%{transform:rotate(-4deg)}
  50%{transform:rotate(10deg)}
  60%{transform:rotate(0deg)}
  100%{transform:rotate(0deg)}
}

.subtitle{
  margin:18px 0 0;
  font-size:22px;
  line-height:1.6;
  color:rgba(226,232,240,.82);
}

.caret{
  display:inline-block;
  width:2px;
  height:1.2em;
  background:rgba(226,232,240,.9);
  margin-left:6px;
  transform:translateY(2px);
  animation:blink 1s steps(1,end) infinite;
}

@keyframes blink{
  0%{opacity:1}
  50%{opacity:0}
  100%{opacity:1}
}

.footer{
  padding:18px 12px 22px;
  text-align:center;
  font-size:16px;
  color:rgba(226,232,240,.72);
}

.heart{
  color:#ef4444;
  display:inline-block;
  transform:translateY(1px);
}

@media (max-width:720px){
  .card{
    padding:36px 24px;
  }
  .title{
    font-size:35px;
  }
  .subtitle{
    font-size:18px;
  }
}
