body {
  font: 14pt Helvetica, Arial, sans-serif;
}

textarea {
  font: 24pt monospace;
  flex-shrink: 1;
  width: 0px;
  min-width: 200px;
}

.grow {
  flex-grow: 1;
}

.cols {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

.cols > * {
  flex: 1 1 50%;
}

.controls, .output {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

.controls .row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 10px;
}

.layout {
  min-width 180px;
  flex-shrink: 0;
}

.layout svg, .output svg {
  /*
  width: 100%;
  */
  border: solid 1px black;
}

form > * {
  display: inline-block;
}

form > div > div {
  margin-bottom: 20px;
}

.coming-soon {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
}
