Наткнулся на непонятное поведение браузера, при выборе прямых потомков li для класса ul.custom. То есть, необходимо выбрать li только первого уровня. Как это реализовать?
У вас всё правильно выбирается: вложенный список - это же тоже часть li. Если вам нужно переопределить цвет для него, то это нужно сделать явно: ul > li > ul { color: #C0FFEE; }