Nemezis,
Сначала задается правило: все элементы с классом
magic-input не отображать.
Следом за ним, с бóльшим приоритетом: все элементы с классом
state-1 внутри элемента с классом
toggler-1,
state-2 внутри
toggler-2 и
state-3 внутри
toggler-3 показываются.
А дальше скрипт при нажатии на кнопку меняет последовательно у обвертки класс:
toggler-1—
toggler-2—
toggler-3.
Таким образом, получается, что блок может быть в одном из трех взаимоисключающих состояниях, и при этом каждый элемент внутри него «знает», что делать при каждом из них.
Немного сумбурно объясняю, но, надеюсь, для общего понимания хватит.