* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body{
  background: rgb(192, 192, 192);
}

.main {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: #6f77ee;
  transform: translateY(-100%);
  transition: transform .7s;
}
.main.show {
  transform: translateY(0);
}

.main.close {
  transform: translateY(100%);
}

/* document.querySelector('.main').classList.add('close') */


.controler {
  background: white;
  width: 300px;
  height: 300px;
  border: 1px solid gray;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}

.input-box {
  margin-top: 10px;
}

.input-box input {
  padding: 10px;
  transition: all .6s;
}

button {
  width: 70%;
}

.pushable {
  position: relative;
  background: transparent;
  padding: 0;
  border: none;
  cursor: pointer;
  outline-offset: 4px;
  outline-color: deeppink;
  transition: filter 250ms;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.shadow {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: hsl(226, 25%, 69%);
  border-radius: 8px;
  filter: blur(2px);
  will-change: transform;
  transform: translateY(2px);
  transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}

.edge {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  border-radius: 8px;
  background: linear-gradient(to right, hsl(248, 39%, 39%) 0%, hsl(248, 39%, 49%) 8%, hsl(248, 39%, 39%) 92%, hsl(248, 39%, 29%) 100%);
}

.front {
  display: block;
  position: relative;
  border-radius: 8px;
  background: hsl(248, 53%, 58%);
  padding: 16px 32px;
  color: white;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 1rem;
  transform: translateY(-4px);
  transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}

.pushable:hover {
  filter: brightness(110%);
}

.pushable:hover .front {
  transform: translateY(-6px);
  transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}

.pushable:active .front {
  transform: translateY(-2px);
  transition: transform 34ms;
}

.pushable:hover .shadow {
  transform: translateY(4px);
  transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}

.pushable:active .shadow {
  transform: translateY(1px);
  transition: transform 34ms;
}

.pushable:focus:not(:focus-visible) {
  outline: none;
}

.alert-message {
  width: 90%;
  max-width: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  background: #fef7d1;
  border: 1px solid #f7c752;
  border-radius: 6px;
  position: absolute;
  bottom: 10px;
  opacity: 0;
  pointer-events: none;
  z-index: 2006;
  transition: opacity .4s ease;
}

.alert-message.show {
  opacity: 1;
  pointer-events: auto;
}

.alert-message.show::after {
  content: "";
  background: orange;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  animation: diminuir 2s linear;
}

.alert-message img {
  width: 20px;
  height: 20px;
}

.alert-message .caution-icon {
  margin-right: 10px;
}

.alert-message .close-icon {
  margin-left: auto;
  cursor: pointer;
  transition: all .4s;
}

.alert-message .close-icon:hover {
  transform: scale(1.08);
}

.alert-message .alert-title {
  font-weight: 600;
  color: #755118;
}

@keyframes diminuir {
  0% {
    width: 100%;
  }

  50% {
    width: 50%;
  }

  100% {
    width: 0%;
  }
}