···11+.grow-wrap {
22+ /* easy way to plop the elements on top of each other and have them both sized based on the tallest one's height */
33+ display: grid;
44+ position: relative;
55+ max-width: 100%;
66+ overflow-wrap: anywhere; /* limit width in chrome */
77+}
88+99+.grow-wrap::after {
1010+ /* Note the weird space! Needed to preventy jumpy behavior */
1111+ content: attr(data-replicated-value) " ";
1212+1313+ /* This is how textarea text behaves */
1414+ white-space: pre-wrap;
1515+1616+ /* Hidden from view, clicks, and screen readers */
1717+ visibility: hidden;
1818+}
1919+.grow-wrap > textarea {
2020+ /* You could leave this, but after a user resizes, then it ruins the auto sizing */
2121+ resize: none;
2222+2323+ /* Firefox shows scrollbar on growth, you can hide like this. */
2424+ overflow: hidden;
2525+}
2626+.grow-wrap > textarea,
2727+.grow-wrap::after {
2828+ padding: 0;
2929+ width: 100%;
3030+ font: inherit;
3131+ border: none;
3232+ /* Place on top of each other */
3333+ grid-area: 1 / 1 / 2 / 2;
3434+}
3535+3636+.grow-wrap > textarea:focus {
3737+ outline: none;
3838+}