Накратко
Отрицанието се отнася до избирания елемент, а не автоматично до цял клон.
Полезно е да знаеш
:not() избира елемент, който не съвпада с подадения селектор или списък. Примерът button:not(:disabled) означава бутони, които не са изключени. [1]
При .item:not(.archived) се проверява класът на самия .item. Наличието на родител .archived не е същото условие. Това е честа причина правило да засегне повече елементи от очакваното. Специфичността идва от аргументите, затова сложни отрицания могат да натежат в каскадата. За по-ясна проверка първо формулирай точно кой елемент искаш да изключиш.
Източници
За повече подробности и проверка на информацията: