html,
body {
  height: 90vh;
  font: 14px/1.5 -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue",
    Ubuntu, sans-serif;

  padding: 0 2rem;
}

.toolbar {
  background: #fdfdfd;
  padding: 1rem;
  border: 1px solid #dddddd;

  display: flex;
  align-items: flex-start;
  gap: 2rem 1rem;
  margin-bottom: 1rem;
}

.toolbar > button {
  width: unset;
}

.input {
  background: #fdfdfd;
  padding: 1rem;
  border: 1px solid #dddddd;

  display: grid;
  gap: 2rem 1rem;
  grid-template-columns: auto 1fr;

  margin-bottom: 1rem;
}

.output {
  background: lightgray;
  padding: 1rem;
  border: 1px solid gray;

  display: grid;
  gap: 1rem;
  grid-template-columns: auto 1fr;
}

.checkbox-list > input[type="checkbox"]:not(:first-child) {
  margin-left: 1rem;
}

.textbox-list-3 {
  display: grid;
  gap: 1rem;
  grid-template-columns: auto 100px auto;
  justify-self: flex-start;
}

.textbox-list-3 > label {
  grid-column: 1;
}

.button-9 {
  appearance: button;
  backface-visibility: hidden;
  background-color: #405cf5;
  border-radius: 6px;
  border-width: 0;
  box-shadow: rgba(50, 50, 93, 0.1) 0 0 0 1px inset,
    rgba(50, 50, 93, 0.1) 0 2px 5px 0, rgba(0, 0, 0, 0.07) 0 1px 1px 0;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  font-size: 100%;
  height: 3em;
  line-height: 1.15;
  outline: none;
  overflow: hidden;
  padding: 0 25px;
  position: relative;
  text-align: center;
  text-transform: none;
  transform: translateZ(0);
  transition: all 0.2s, box-shadow 0.08s ease-in;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  width: 100%;
}

.button-9:disabled {
  cursor: default;
  background-color: #b5bce6;
}

.button-9:focus {
  box-shadow: rgba(50, 50, 93, 0.1) 0 0 0 1px inset,
    rgba(50, 50, 93, 0.2) 0 6px 15px 0, rgba(0, 0, 0, 0.1) 0 2px 2px 0,
    rgba(50, 151, 211, 0.3) 0 0 0 4px;
}

#error-message {
  color: red;
  min-height: 1rem;
  vertical-align: middle;
}
