body > header,
body > main {
  max-width: 760px;
}

header {
  padding-block: 1.5rem 0.5rem;
}

#usage {
  margin-block: 1rem 1.25rem;
  padding: 1rem 1.25rem;
}

#usage > :last-child {
  margin-bottom: 0;
}

nav[aria-label="機能"] {
  margin-bottom: 1rem;
}

section[role="tabpanel"] {
  margin-block: 1rem 2rem;
}

textarea {
  font-family: monospace;
}

#qr-canvas {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  image-rendering: pixelated;
}

button {
  width: auto;
}

.field-heading {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.field-heading label {
  margin-bottom: 0;
}

.compact {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}

@media (max-width: 520px) {
  .field-heading {
    align-items: stretch;
    flex-direction: column;
  }
}

#toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
  padding: 0.75rem;
  color: white;
  background: #222;
  opacity: 0;
}

#toast.show {
  opacity: 1;
}

#toast.error,
.invalid {
  background: #922;
}

.valid {
  padding: 0.75rem;
  color: white;
  background: #173;
}
