.wrapper {
  position: absolute;
  height: calc(100vh - 200px);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.invader {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.invader .body {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cell {
  position: absolute;
  --cell: 10px;
  width: var(--cell);
  height: var(--cell);
  --x: 0;
  --y: 0;
  animation: grow forwards 0.2s, color-change forwards 2s;
}

@keyframes grow {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(var(--x), var(--y));
  }
}

@keyframes color-change {
  0% {
    background-color: aqua;
  }
  10% {
    background-color: #6a1691;
  }
  40%,
  100% {
    background-color: #fff;
  }
  80% {
    background-color: hotpink;
  }
  90% {
    background-color: #6a1691;
  }
}

.indicator {
  position: fixed;
  color: #fff;
  right: 10px;
  bottom: 10px;
}

.info-wrapper {
  position: absolute;
  width: 100%;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 30px;
}

.image {
  background-size: cover;
  background-repeat: no-repeat;
  image-rendering: pixelated;
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

input {
  border: 0;
  color: #0badd1;
  background-color: #167b914f;
  flex-grow: 1;
}

input:placeholder-shown + button {
  opacity: 0.3;
  pointer-events: none;
}

.btn-wrapper {
  padding: 4px;
  text-align: center;
  margin-bottom: 40px;
}

section {
  display: flex;
}

.hide {
  opacity: 0;
}

input[data-id='config'] {
  border-bottom: 1px dashed #0a596b;
}
