body {
  font-family: monospace;
  padding-left: 30px;
  width: 69ch;
  margin: auto;
  overflow-x: visible;
  color: black;
  background-color: white;
}

header {
  height: 20vh;
  width: 67ch;
  text-align: center;
}

button:hover {
  cursor: pointer;
}

footer {
  display: flex;
  margin-top: 3vh;
  height: 6vh;
  justify-content: space-between;
  font-size: 0.8em;
}

footer button {
  font-size: inherit;
  font-family: inherit;
  outline: none;
  border: none;
  background: inherit;
  text-decoration: underline;
  color: gray;
  height: fit-content;
}

footer button:active {
  color: black;
}

button.section-button {
  font-size: inherit;
  font-family: inherit;
  outline: none;
  border: none;
  background: inherit;
  text-decoration: underline;
}

button.section-button:active {
  color: gray;
}

button.current-section {
  color: gray;
}

button.current-section:active {
  color: lightgray;
}

#loading {
  text-align: center;
  animation: loading 3s 0s infinite;

  &:after {
    animation: dotdotdot 3s 0s infinite;
    content: ""
  }
}

#editor {
  margin-top: 10px;
  height: 65vh;
  overflow-y: hidden;
  overflow-x: visible;
  scroll-behavior: smooth;
  text-align: justify;
}

#editor p {
  margin: 10px 0;
  line-height: 1.5em;
}

.previous {
  color: lightgray;
}

.upcoming {
  color: lightgray;
}

.entered {
  color: black;
}

.remaining {
  color: gray;
  position: relative;
}

#cursor {
  color: gray;
  text-decoration: underline;
  text-decoration-color: black;
}

.line {
  display: block;
  text-align-last: justify;
  width: 67ch;
}

.line:last-child {
  display: block;
  text-align-last: left;
}

.centered-text .line {
  text-align: center;
  text-align-last: center;
}


.line-entered .remaining:after {
  position: absolute;
  content: "⏎";
  right: -1ch;
}

.prompt {
  text-align: right;
  border: thin dashed lightgray;
  padding: 8px;
}

.prompt p {
  text-align: justify;
  margin-top: 0px;
}

.prompt button+button {
  margin-left: 5px;
}

.prompt button {
  background-color: inherit;
  border: thin solid black;
  box-shadow: 1px 1px black;
}

.prompt button:hover {
  cursor: pointer;
}

.prompt button:active {
  box-shadow: 0px 0px;
}

@keyframes dotdotdot {
  0% {
    content: "";
  }

  25% {
    content: ".";
  }

  50% {
    content: "..";
  }

  75% {
    content: "...";
  }
}