В папке css расположены js, css и html файлы? Мощно, однако. А по сабжу - манипуляции с объектами страницы нужно проводить только после загрузки страницы. И также перед действиями с чем-то, что может быть null (как b1), нужно убедиться, что там не null
Добавь на тег script атрибут defer, чтобы он выполнялся после загрузки HTML. Браузер читает написанное сверху вниз, и когда начнает выполнять скрипт - кнопки на странице еще не существует.
<script src="..." defer></script>
Переменные нельзя объявлять без let или const... это не питон, здесь оно приводит к очень неприятным сюрпризам. document.write тоже устарел... Хотя если хочется быстро посмотреть на какой-то код - сойдет.
let arr = ["string", 50, true]; let btn = document.querySelector("button");