CSS selectors are processed right to left (every single `span` on the page would need to check if parent is an `li` and if so keep checking upwards), but this should really not matter these days, CSS selectors are **very** optimized/fast..

the main benefit of `a > b > c` is that you avoid undesired collisions (specially when using a selector that matches a tag), but I would probably just add a unique class name and use that instead.