body {
  height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-image: url(images/GAMBARSTART.JPG);
  background-position: center center;
  opacity: 1;
  margin: 0;
}




  
#keypad {
  display: inline-block;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border-radius: 20px;
  padding: 30px;
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
  border: 1px solid rgba(255, 255, 255, 0.18);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease; /* Tambahkan transisi */
  margin-top: 20px; /* Jarak dari tombol */
  height: 400px;
  width: 300px;
}

#keypad::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, 
    rgba(1, 44, 93, 0.1), 
    rgba(192, 217, 234, 0.2), 
    rgba(160, 52, 223, 0.1));
  animation: rotate 5s linear infinite;
  z-index: -1;
}

@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

#keypad-keys {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 20px;
}

#keypad-keys button {
  padding: 20px;
  font-size: 1 em;
  border: none;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  color: #000000;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

#keypad-keys button:hover {
  background: rgba(0, 153, 255, 0.2);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 199, 255, 0.3);
}

#keypad-keys button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: 0.5s;
}

#keypad-keys button:hover::before {
  left: 100%;
}

#password-input {
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.1);
  width: 100%;
  color: #000000;
  font-size: 1.8em;
  letter-spacing: 0.2em;
  transition: all 0.3s ease;
}

#password-input:focus {
  border-color: rgba(0, 212, 255, 0.5);
  box-shadow: 0 0 15px rgba(0, 212, 255, 0.2);
}

#error-message {
  font-weight: bold;
  text-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: shake 0.4s ease;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-10px); }
  75% { transform: translateX(10px); }
}

/* Show Password Checkbox */
#show-password {
  margin: 15px 0;
  accent-color: #00d4ff;
}

#show-password + label {
  color: rgba(255,255,255,0.8);
  font-size: 0.9em;
  vertical-align: middle;
}






/* text awal "HALO" */

/* Styling untuk container teks */
.text-container {
  text-align: center; /* Pusatkan teks secara horizontal */
  margin-bottom: 20px; /* Jarak antara teks dan tombol */
}

/* Styling untuk teks */
.welcome-text {
  font-family: 'Lato', Calibri, Arial, sans-serif;
  background: transparent;
  font-weight: 700;
  font-size: 2em; /* Ukuran font lebih besar */
  color: rgb(55, 49, 49);
  text-align: center;
}

/* Styling untuk container tombol */
.button-container {
  text-align: center;
  transition: all 0.3s ease; /* Tambahkan transisi */
}









/* Styling untuk tombol */
.start-button {
  top: 75%;
  left: 50%;
    padding: 20px 40px; /* Ukuran padding yang lebih kecil */
    border: none;
    outline: none;
    color: #100f0f;
    cursor: pointer;
    border-radius: 12px;
    font-size: 24px; 
    /* Ukuran font yang lebih kecil */
    font-family: 'Lato', Calibri, Arial, sans-serif;
    background-color:transparent; 
    /* Warna latar belakang tombol */
    /* transition: background-color 3s ease; */
     /* Efek transisi saat hover */


  }




.start-button::after {
    content: "";
    z-index: -1;
    position: absolute;
    width: 100%;
    height: 100%;
    /* background-image: url(images/GAMBARSTART.JPG); */
    /* background-color: rgb(255, 255, 255); */
    background: transparent;
    left: 0;
    top: 0;
    border-radius: 10px;
    font-size: 100px; /* Ukuran font yang lebih kecil */
    font-family: 'Lato', Calibri, Arial, sans-serif;
    background-color:transparent; /* Warna latar belakang tombol */
    transition: background-color 3s ease; 
    
  }
  /* glow */
  .start-button::before {
    content: "";
    background: linear-gradient(
      45deg,
      #f99797, #f6c7a0, #f4f29f, #b6fa9b,
      #9af3e4, #94a4f7, #ec93d9, #d47777
      
    );

    width: calc(100% + 50%);
    height:  calc(100% + 50%);
    filter: blur(8px);
    animation: glowing 20s linear infinite;
    transition: opacity .3s ease-in-out;
    border-radius: 20px;
    opacity: 0;
     
    font-size: 24px; /* Ukuran font yang lebih kecil */
    font-family: 'Lato', Calibri, Arial, sans-serif;
    background-color:transparent; /* Warna latar belakang tombol */
    transition: background-color 3s ease; 

    position: absolute;
    top: -25%;
    left: -25%;
    background-size: 600%;
    z-index: -1;
    
  }
  
  @keyframes glowing {
    0% {background-position: 0 0;}
    50% {background-position: 400% 0;}
    100% {background-position: 0 0;}
  }
  
  /* hover */
  .start-button:hover::before {
    opacity: 1;
  }
  
  .start-button:active:after {
    background: transparent;
  }
  
  .start-button:active {
    color: #000;
    font-weight: bold;
  }


.heart {
   /* position: fixed; */
  /* top: -1vh; */
  transform: translateY(0);
  animation: fall 3s linear forwards;
  z-index: 0;
  /* pointer-events: none;   */
  /* will-change: transform, opacity;   */
 font-size: 25px; 

 position: fixed;
 top: -1vh;
 font-family: 'Montserrat', sans-serif;
 /* animation: elegant-fall 4s cubic-bezier(0.23, 1, 0.32, 1) forwards; */
 z-index: 0;
 pointer-events: none;
 will-change: transform, opacity;
 text-shadow: 0 2px 10px rgba(0,0,0,0.1);

}
  
  /* @keyframes fall {
    from {
      transform: translateY(0vh) translateX(-10vw) rotate(0deg);
    }
    to {
      transform: translateY(105vh) translateX(10vw) rotate(360deg);
    }
  } */

  @keyframes fall {
    0% {
      transform: 
        translateY(-10vh) 
        translateX(-5vw)
        rotate(-15deg)
        scale(0.8);
      opacity: 0;
    }
    20% {
      transform: 
        translateY(20vh) 
        translateX(2vw)
        rotate(10deg)
        scale(1.1);
      opacity: 1;
    }
    80% {
      opacity: 0.8;
    }
    100% {
      transform: 
        translateY(110vh) 
        translateX(5vw)
        rotate(25deg)
        scale(0.6);
      opacity: 0;
    }
  }
  
/* ANIMASI GELOMBANG TEXT CONTAINER */
@keyframes wave {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  25% {
    transform: translateY(-5px) rotate(2deg);
  }
  50% {
    transform: translateY(5px) rotate(-2deg);
  }
  75% {
    transform: translateY(-3px) rotate(1deg);
  }
}

.text-container.wave-animation {
  /* animation: wave 3s ease-in-out infinite; */
  animation: text-float 6s ease-in-out infinite;
  position: relative;
}

@keyframes text-float {
  0%, 100% { transform: translateY(0) rotate(0.5deg); }
  50% { transform: translateY(-15px) rotate(-0.5deg); }
}


/* Tambahkan di file page3.css */
@keyframes heartFall {
  0% {
      transform: translateY(-100vh) rotate(0deg);
      opacity: 1;
  }
  100% {
      transform: translateY(100vh) rotate(360deg);
      opacity: 0;
  }
}

.heart-fall {
  position: fixed;
  top: -10%;
  left: var(--heart-left);
  font-size: var(--heart-size);
  color: var(--heart-color);
  animation: heartFall var(--heart-duration) linear infinite;
  z-index: 9999;
  pointer-events: none;
  filter: drop-shadow(0 0 5px rgba(255, 107, 107, 0.5));
}

.heart-fall:nth-child(odd) {
  animation-delay: var(--heart-delay);
}

.heart-fall:nth-child(even) {
  animation-duration: calc(var(--heart-duration) * 1.5);
}