/* style.css */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
  width: 100%;
  background-color: #000000;
  overflow: hidden;
  font-family: 'Inter', sans-serif;
  cursor: pointer; /* Hint to the user that the screen is clickable */
}

/* The big invisible text box */
#password-input {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 600px;
  
  /* Completely invisible until you type */
  background: transparent;
  border: none;
  outline: none;
  
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  font-size: 32px; /* Big text */
  text-align: center;
  letter-spacing: 4px;
  
  opacity: 0; /* Hidden by default */
  transition: opacity 0.3s ease;
  caret-color: #ffffff; /* White blinking cursor */
}

/* Becomes visible when you click to activate it */
#password-input.active {
  opacity: 1;
  cursor: text;
}

/* White flash effect for wrong password */
body.flash {
  animation: flash 0.3s ease;
}

@keyframes flash {
  0% { background-color: #000000; }
  50% { background-color: #ffffff; }
  100% { background-color: #000000; }
}

/* Shake effect for wrong password */
#password-input.shake {
  animation: shake 0.4s ease;
}

/* Keyframes must preserve the centering transform */
@keyframes shake {
  0%, 100% { transform: translate(-50%, -50%); }
  25% { transform: translate(-60%, -50%); }
  75% { transform: translate(-40%, -50%); }
}