.captcha-form {
  background-color: var(--captcha-background);
  border-radius: .3em;
  color: #111;
  margin: 1em auto;
  padding: .5em;
  text-align: center;
  max-width: 32em;
}
.captcha-form > div {
  background-color: var(--media-background-dark);
  margin-bottom: .5em;
  padding: 0 2em;
}
.captcha-form > div:first-child {
  background-color: var(--captcha-background);
}
.captcha-form > div:last-child {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
}
.captcha-form > div > label {
  display: block;
  flex-basis: 100%;
  margin: 0;
  padding: .5em;
  padding-bottom: 0;
  text-shadow: none;
}
.captcha-form > div .text-input {
  flex: 0 1 25%;
  margin: 1.2em 0;
  text-align: center;
  min-width: 10ch;
}
.captcha-form > div:last-child::after {
  color: red;
  content: "\2717";
  flex: 0 1;
  margin-left: .5em;
}
.captcha-form > div.input-complete::after {
  color: green;
  content: "\2713";
}
.captcha-form .button {
  color: #111;
}

.captcha-generate {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
}
.captcha-generate > img {
  align-self: center;
  flex: 0 1;
  margin: .5em 1em;
  max-width: 80%;
  height: auto;
}
.captcha-generate > button {
  align-self: center;
  flex: 1 0;
  margin: .5em 1em;
  min-width: 12em;
}
