/* make <#container> fill the viewport and center its content */
#container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 25vh;
  /* remove default margin if any */
  /* margin: 0; */
}

#container h1 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #333; /* dark gray for contrast */
}

.np-button {
  display: inline-block;
  /* a bright, warm gradient to contrast your teal */
  background: linear-gradient(45deg, #FF5722, #FF8A50);
  color: #fff;
  text-decoration: none;
  font-size: 1.25rem;
  font-weight: bold;
  padding: 0.75em 2em;
  border: none;
  border-radius: 0.5em;
  box-shadow: 0 0.5em 1.2em rgba(0, 0, 0, 0.2);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background-position 0.3s ease;
  /* make gradient animate on hover */
  background-size: 200% 200%;
  background-position: 0% 50%;
}

/* hover state: shift gradient, pop out */
.np-button:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 0.8em 1.5em rgba(0, 0, 0, 0.3);
  background-position: 100% 50%;
}

/* active/click state: press down */
.np-button:active {
  transform: translateY(0) scale(0.98);
  box-shadow: 0 0.3em 0.6em rgba(0, 0, 0, 0.2);
}

/* focus state: accessible outline */
.np-button:focus {
  outline: 3px solid rgba(255, 87, 34, 0.7);
  outline-offset: 0.2em;
}
