$el.scrollTop = $el.scrollHeight)"
@chat-reply.window="resetStream(); $nextTick(() => {
const msgs = $el.querySelectorAll('[data-msg]');
const last = msgs[msgs.length - 1];
if (!last) { $el.scrollTop = $el.scrollHeight; return; }
// Bring the reply's top near the top of the view (the browser clamps to the
// bottom for short replies), so long answers can be read from the start.
$el.scrollTop += last.getBoundingClientRect().top - $el.getBoundingClientRect().top - 8;
})">