Можно ли только с помощью CSS изменять состояние checkbox?
Нет, нельзя. CSS про стили, а не про взаимодействие. Ты можешь только отследить состояние чекбокса.
Если я правильно вас понял, то здесь гамбургер, который открывает меню по клику, работает на чекбоксе. Работает без js. Проанализируйте работу кода.