Ну ведь уже есть по похожему принципу. Для span при открытом состоянии меню можно отходить от пседокласса checked
#menu__toggle:checked ~ .menu__btn > span,
#menu__toggle:checked ~ .menu__btn > span::before,
#menu__toggle:checked ~ .menu__btn > span::after {
background-color: blue;
}