* {
  padding: 0;
  margin: 0;
  line-height: 1;
  box-sizing: border-box;
}

html, body {
  color: #f0f0f0;
  text-align: center;
  font-family: "Munro", monospace;
  font-size: 1.00em;
}

html {
  min-height: 100vh;
  background:
    linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
    url("img/moon_background2.png") no-repeat;
  background-color: black;
  background-attachment: fixed;
  background-position: center bottom;
  background-size: 120em;
  image-rendering: pixelated;
}

body {
  margin: 0 1em;
}

#limiter {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 60em;
  margin: auto;
}

header, .frame, main, footer {
  width: 100%;
  border: double 5px #707070;
  text-align: left;
  margin: 1em auto;
  padding: 1em;
  background-color: #0f0f0f;
}

header {
  background-image: url("img/moon_phases.png");
  background-position: center;
}

a {
  color: white;
}

main, .frame {
  font-size: 1.2em;
}

main article > p {
  margin-top: 1em;
  line-height: 1.1em;
}

main article > time {
  opacity: 0.5;
}

.frame .dialog {
  display: flex;
  gap: 1em;
  align-items: flex-start;
}

@media (max-width: 600px) {
  .frame .dialog {
    flex-direction: column;
    align-items: center;
  }
}

.frame .dialog > img {
  flex: 0 0 100px;
  width: 100px;
  aspect-ratio: 9 / 16;
  height: auto;
  object-fit: contain;
}

.frame .dialog .content > p {
  margin: 1em 0;
}

.frame .dialog .answers {
  text-align: center;
}

.frame .dialog button {
  color: white;
  background-color: black;
  border: solid 2px white;
  font-family: "Munro", monospace;
  font-size: 0.9em;
  padding: 0.5em;
  margin: 0.5em auto;
  cursor: pointer;
  width: 200px;
}

.frame .dialog button:hover {
  background-color: white;
  color: black;
}

footer {
  text-align: center;
  font-size: 1em;
}
