li > ul > li выбирает все элементы li которые глубже первого уровня ul.
li выбирает все элементы li
li:not(li > ul > li) должен выбрать все элементы li которые не глубже первого уровня ul --that, это только элементы первого уровня, но это не так. Зачем?
Благодарю!