*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial, Helvetica, sans-serif;
}

body{
  min-height:100vh;
  margin:0;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  color:#fff;
  overflow-x:hidden;

  background-image:
    linear-gradient(
      rgba(0,0,0,.02),
      rgba(0,0,0,.08)
    ),
    url("https://little-moon-72ad.awiac5423.workers.dev/background.png");

  background-size:auto 100%;
  background-position:top center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-color:#000;
}

.page{
  width:100%;
  max-width:520px;
  min-height:100vh;
  padding:18px;
  background:linear-gradient(
    180deg,
    rgba(5,5,5,.88),
    rgba(16,8,0,.90),
    rgba(0,0,0,.92)
  );
}

/* CARD UTAMA */

.card{
  position:relative;
  overflow:hidden;
  border:2px solid #ff6ec7;
  border-radius:32px;
  padding:22px 18px;

  background:
    linear-gradient(
      135deg,
      rgba(255,215,0,.08),
      transparent 35%
    ),
    linear-gradient(
      180deg,
      #080808,
      #120900,
      #020202
    );

  box-shadow:
    0 0 25px rgba(255,183,0,.55),
    inset 0 0 25px rgba(255,215,0,.12);

  text-align:center;
  isolation:isolate;
}

/* CAHAYA DI DALAM CARD */

.card::before{
  content:"";
  position:absolute;
  inset:-25px;

  background:
    radial-gradient(
      circle at top left,
      rgba(255,44,166,.35),
      transparent 55%
    ),
    radial-gradient(
      circle at bottom right,
      rgba(255,215,0,.35),
      transparent 60%
    );

  filter:blur(50px);
  pointer-events:none;
  z-index:-1;
}

/* LAMPU BERJALAN DI PINGGIR CARD */

@property --angle{
  syntax:"<angle>";
  initial-value:0deg;
  inherits:false;
}

.card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:30px;
  padding:2px;

  background:conic-gradient(
    from var(--angle),
    transparent 0deg,
    transparent 285deg,
    #ffd700 310deg,
    #ffffff 330deg,
    #ff2ca6 348deg,
    transparent 360deg
  );

  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);

  -webkit-mask-composite:xor;
  mask-composite:exclude;

  animation:borderLight 2.5s linear infinite;

  filter:
    drop-shadow(0 0 5px #ffd700)
    drop-shadow(0 0 10px #ff2ca6);

  pointer-events:none;
  z-index:10;
}

@keyframes borderLight{
  from{
    --angle:0deg;
  }

  to{
    --angle:360deg;
  }
}

/* LOGO DAN JUDUL */

.top-logo{
  position:relative;
  z-index:2;
  margin-bottom:18px;
}

.dragon{
  font-size:48px;
  filter:drop-shadow(0 0 14px gold);
}

.top-logo h1{
  font-size:38px;
  font-weight:900;
  letter-spacing:2px;

  background:linear-gradient(
    180deg,
    #fff7bd,
    #ffd700,
    #b8860b,
    #fff2a8
  );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;

  text-shadow:0 0 22px rgba(255,200,0,.5);
}

.top-logo p{
  margin-top:10px;
  font-size:14px;
  font-weight:900;
  letter-spacing:3px;
  line-height:1.5;

  background:linear-gradient(
    180deg,
    #ffffff 0%,
    #ffd6f4 30%,
    #ff8fd1 65%,
    #ff4fa8 100%
  );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;

  text-shadow:
    0 0 8px rgba(255,120,200,.35),
    0 0 18px rgba(255,80,170,.25);
}

/* BANNER */

.hero-banner{
  position:relative;
  z-index:2;
  width:100%;
  height:auto;
  display:block;
  border-radius:24px;
  border:2px solid #d4af37;
  box-shadow:0 0 25px rgba(255,183,0,.55);
  margin-bottom:22px;
}

/* TOMBOL LOGIN DAN DAFTAR */

.btn{
  position:relative;
  z-index:2;
  overflow:hidden;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  width:100%;
  padding:14px;
  margin:14px 0;

  border-radius:35px;
  text-align:center;
  text-decoration:none;

  font-size:18px;
  font-weight:900;
  letter-spacing:3px;
}

.btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-80%;
  width:45%;
  height:100%;

  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.7),
    transparent
  );

  transform:skewX(-25deg);
  animation:shine 2.8s infinite;
}

@keyframes shine{
  0%{
    left:-80%;
  }

  55%,
  100%{
    left:140%;
  }
}

.login{
  color:#ffd766;
  background:linear-gradient(180deg,#171000,#030303);
  border:1px solid #d4af37;
  box-shadow:0 0 18px rgba(255,215,0,.35);
}

.daftar{
  color:#1d1200;
  background:linear-gradient(180deg,#fff2a6,#ffd400,#ff9f00);
  box-shadow:0 0 30px rgba(255,183,0,.7);
}

/* MENU */

.menu{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:22px;
}

.menu a{
  padding:15px 8px;
  border:1px solid #d4af37;
  border-radius:32px;

  color:#ffd766;
  text-decoration:none;
  text-align:center;
  font-weight:900;
  letter-spacing:2px;

  background:linear-gradient(180deg,#141000,#050505);
  box-shadow:inset 0 0 12px rgba(255,215,0,.15);
}

/* BONUS */

.bonus{
  position:relative;
  z-index:2;

  margin-top:26px;
  padding:16px 10px;

  border:1px dashed #d4af37;
  border-radius:14px;

  font-size:15px;
  font-weight:900;
  letter-spacing:1px;
  text-align:center;

  background-image:linear-gradient(
    180deg,
    #ffffff 0%,
    #ffd6f4 30%,
    #ff8fd1 65%,
    #ff4fa8 100%
  );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;

  text-shadow:
    0 0 8px rgba(255,120,200,.35),
    0 0 18px rgba(255,80,170,.25);

  animation:bonusGlow 2s ease-in-out infinite;
}

@keyframes bonusGlow{
  0%,
  100%{
    filter:brightness(1);
  }

  50%{
    filter:brightness(1.45);
  }
}

/* PAYMENT */

.payment{
  position:relative;
  z-index:2;

  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}

.payment span{
  background:#fff;
  color:#004ea8;
  font-weight:900;
  font-size:13px;
  padding:10px 4px;
  border-radius:8px;
  box-shadow:0 0 10px rgba(255,255,255,.35);
}

/* FOOTER */

footer{
  position:relative;
  z-index:2;

  margin-top:26px;
  padding-top:18px;
  border-top:1px solid rgba(255,215,0,.35);

  color:#aaa;
  font-size:13px;
  line-height:1.8;
}

footer b{
  color:#ffd700;
}

/* TAMPILAN HP */

@media(max-width:480px){
  .page{
    padding:12px;
  }

  .card{
    padding:18px 14px;
  }

  .top-logo h1{
    font-size:30px;
  }

  .top-logo p{
    font-size:12px;
    letter-spacing:2px;
  }

  .btn{
    font-size:16px;
    letter-spacing:3px;
    padding:13px;
  }

  .menu a{
    font-size:14px;
  }

  .payment{
    grid-template-columns:repeat(3,1fr);
  }
}