label {
  display: block;
}
label > input {
  margin: 1em;
  height: 3em;
  width: 50em;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  color: #333;
  background: #fff;
}

#preview {
  font-family: monospace;
  white-space: pre;
  border: 0.3em inset #4c4;
  min-height: 3em;
}
#preview.error {
  border-color: #c44;
}
#preview.loading {
  border-color: #cc4;
}
textarea {
  display: block;
  margin: 1em;
  width: calc(100% - 2em);
}

.grow-wrap {
  display: grid;
}
.grow-wrap::after {
  content: attr(data-replicated-value) " ";

  white-space: pre-wrap;

  visibility: hidden;
}
.grow-wrap > textarea {
  resize: none;

  overflow: hidden;
}
.grow-wrap > textarea,
.grow-wrap::after {
  border: 1px solid black;
  padding: 0.5rem;
  font: inherit;

  grid-area: 1 / 1 / 2 / 2;
}
