Очень красиво получилось, спасибо!
А Вы могли бы мне пояснить некоторые детали:
1. Для чего нам DOMContentLoaded?
2. В строке 58 - почему в скобках именно .page label, а не просто label?
3. В строке 59 - что значат квадратные скобки в самом начале?
4. Как вообще работает эта функция [].forEach.call.....?
5. Что подключено самым первым скриптом?