body {
  background-color: #101018;
  color: #eee;
  font-family: sans-serif;
  line-height: 1.5em;
  margin: 5px;
}

header > * {
  margin: 5px;
}

#content {
  margin: auto;
  max-width: 650px;
}

a {
  color: #eee;
}

img.zoom {
  position: fixed;
  /* Setting both ends to 0 gives the 'margin: auto' behavior, causing the
   * image to be centered with 'position: fixed'. */
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 100vw;
  max-height: 100vh;
  overflow: hidden;
}

#qr-container {
  text-align: center;
  padding: 10px;
}

#qr-container img {
  max-height: 50vh;
}

textarea {
  width: 100%;
  background-color: #282835;
  color: #fff;
  box-sizing: border-box;
}

.error {
  color: #ff5773;
}

#buttons {
  display: flex;
  flex-direction: row;
  gap: 5px;
}

#buttons > input {
  flex: 1 0 auto;
  background-color: #000;
  border: 1px solid #eee;
  color: #fff;
  font-size: 2rem;
  padding: 5px;
  cursor: pointer;
}

#buttons > input:hover {
  background-color: #fff;
  color: #000;
}

#buttons > input:active {
  transform: translatey(3px);
}
