Немножко порефакторила, подправила клавишные события на крайних элементах, добавила max-weight для элементов