/* style.css
   Save next to index.html
*/

:root{
  --bg1: #0f1720;
  --bg2: #071024;
  --accent: #7c5cff;
  --accent-2: #00e6a8;
  --text: #e6eef8;
  --muted: #9fb0c8;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Segoe UI", Roboto, "Noto Sans", system-ui, -apple-system, "Helvetica Neue", Arial;
  background: radial-gradient(1200px 600px at 10% 10%, rgba(124,92,255,0.12), transparent),
              linear-gradient(180deg,var(--bg1),var(--bg2));
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow:hidden;
}

/* Stage */
.stage{
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px;
}

/* Card container */
.card{
  width:min(920px,94vw);
  max-width:920px;
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:18px;
  padding:48px;
  box-shadow: 0 10px 40px rgba(2,6,23,0.7), inset 0 1px 0 rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.03);
  position:relative;
  overflow:hidden;
}

/* animated background shapes */
.card::before, .card::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(42px);
  opacity:0.55;
  transform:translateZ(0);
  pointer-events:none;
}
.card::before{
  width:420px; height:420px;
  left:-120px; top:-100px;
  background:linear-gradient(135deg, rgba(124,92,255,0.16), rgba(0,230,168,0.06));
  animation: floatA 9s ease-in-out infinite;
}
.card::after{
  width:360px; height:360px;
  right:-120px; bottom:-120px;
  background:linear-gradient(180deg, rgba(0,230,168,0.06), rgba(124,92,255,0.06));
  animation: floatB 12s ease-in-out infinite;
}

@keyframes floatA {
  0%{ transform: translateY(0) rotate(0deg) scale(1) }
  50%{ transform: translateY(-18px) rotate(6deg) scale(1.03) }
  100%{ transform: translateY(0) rotate(0deg) scale(1) }
}
@keyframes floatB {
  0%{ transform: translateY(0) rotate(0deg) scale(1) }
  50%{ transform: translateY(22px) rotate(-6deg) scale(0.98) }
  100%{ transform: translateY(0) rotate(0deg) scale(1) }
}

/* Lines */
.line{
  display:flex;
  align-items:baseline;
  gap:14px;
  justify-content:center;
  text-align:center;
  flex-wrap:wrap;
  transform-origin:center;
}

/* First line big title */
.line-1{
  font-weight:800;
  font-size: clamp(28px, 5.4vw, 56px);
  letter-spacing: -0.02em;
  color:var(--text);
  margin-bottom:14px;
}

/* second line */
.line-2{
  margin-top:10px;
  font-weight:600;
  font-size: clamp(14px, 2.2vw, 20px);
  color:var(--muted);
  opacity:0;
  transform: translateY(18px);
}

/* word parts with animations */
.word{
  display:inline-block;
  position:relative;
  color:var(--text);
  background: linear-gradient(90deg, var(--text), rgba(255,255,255,0.8));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation: revealWord 1s cubic-bezier(.16,.84,.3,1) 0.4s both;
}

.dot{
  display:inline-block;
  font-size: clamp(12px, 2.4vw, 20px);
  color: rgba(124,92,255,0.9);
  filter: drop-shadow(0 6px 18px rgba(124,92,255,0.12));
  transform: translateY(-6px) scale(0.9);
  opacity:0;
  animation: popDot .6s ease .9s both;
}

.small{
  display:inline-block;
  color:var(--accent);
  font-weight:700;
  padding:6px 10px;
  border-radius:8px;
  background: linear-gradient(90deg, rgba(124,92,255,0.12), rgba(0,230,168,0.04));
  transform: translateY(30px);
  opacity:0;
  animation: slideUp .7s cubic-bezier(.2,.9,.22,1) 1.1s both;
}

/* 'tatta hay' with neon style */
.tatta{
  display:inline-block;
  color:var(--accent-2);
  font-weight:800;
  letter-spacing:0.02em;
  text-transform:lowercase;
  padding:6px 10px;
  border-radius:10px;
  box-shadow: 0 6px 30px rgba(0,230,168,0.08), 0 0 28px rgba(0,230,168,0.04) inset;
  transform: scale(.94) translateY(26px);
  opacity:0;
  animation: riseNeon .8s cubic-bezier(.16,.84,.3,1) 1.3s both;
}

/* divider glow */
.glow-divider{
  height:2px;
  width:70%;
  margin:18px auto;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(124,92,255,0.3), transparent);
  filter: blur(6px);
  opacity:0;
  transform:scaleX(.7);
  animation: dividerIn .8s ease 1.6s both;
}

/* second line reveal */
.phrase{
  display:inline-block;
  transform: translateY(18px);
  opacity:0;
  animation: fadeSlide .7s ease 1.9s both;
}
.sep{
  color:var(--muted);
  opacity:0;
  transform: translateY(18px) scale(.9);
  animation: fadeSlide .7s ease 2.05s both;
}
.thanks{
  color:var(--text);
  font-weight:700;
  opacity:0;
  transform: translateY(18px) scale(.98);
  animation: fadeSlide .7s cubic-bezier(.16,.84,.3,1) 2.2s both;
}

/* footer */
.footer{
  margin-top:26px;
  display:flex;
  justify-content:center;
  opacity:0;
  transform: translateY(10px);
  animation: footerIn .6s ease 2.6s both;
}
.replay{
  background:transparent;
  color:var(--accent);
  border:1px solid rgba(124,92,255,0.22);
  padding:8px 14px;
  border-radius:10px;
  font-weight:700;
  cursor:pointer;
  backdrop-filter: blur(6px);
  transition: all .25s ease;
}
.replay:hover{
  transform:translateY(-3px);
  box-shadow: 0 8px 30px rgba(124,92,255,0.08);
}

/* Entrance keyframes */
@keyframes revealWord{
  from{ clip-path: inset(0 100% 0 0); transform: translateY(18px) skewY(2deg); opacity:0 }
  to{ clip-path: inset(0 0 0 0); transform: translateY(0) skewY(0); opacity:1 }
}
@keyframes popDot{
  0%{ transform: translateY(10px) scale(.5) rotate(-6deg); opacity:0 }
  60%{ transform: translateY(-6px) scale(1.18) rotate(6deg); opacity:1 }
  100%{ transform: translateY(-6px) scale(1) rotate(0deg) }
}
@keyframes slideUp{
  from{ transform: translateY(30px) scale(.96); opacity:0 }
  to{ transform: translateY(0) scale(1); opacity:1 }
}
@keyframes riseNeon{
  from{ transform: translateY(26px) scale(.94); opacity:0; filter: blur(6px) }
  to{ transform: translateY(0) scale(1); opacity:1; filter: blur(0) }
}
@keyframes dividerIn{
  from{ opacity:0; transform:scaleX(.7) }
  to{ opacity:1; transform:scaleX(1) }
}
@keyframes fadeSlide{
  from{ opacity:0; transform: translateY(18px) }
  to{ opacity:1; transform: translateY(0) }
}
@keyframes footerIn{
  from{ opacity:0; transform: translateY(10px) }
  to{ opacity:1; transform: translateY(0) }
}

/* Make animations run on load and allow replay class toggle */
:root.play .line-1 .word{ animation-play-state:running }
:root.play .dot{ animation-play-state:running }
:root.play .small{ animation-play-state:running }
:root.play .tatta{ animation-play-state:running }
:root.play .glow-divider{ animation-play-state:running }
:root.play .line-2 .phrase,
:root.play .line-2 .sep,
:root.play .line-2 .thanks,
:root.play .footer{ animation-play-state:running }

/* Initially mark as play to run animations */
html { animation: none }
html.play {}

@media (max-width:620px){
  .card{ padding:28px; border-radius:14px }
  .glow-divider{ width:86% }
  .footer{ margin-top:18px }
}
