Я бы начала с проверки и css и html валидатором.
Потом со сравнения что в начале скомпилированных стилей и если пишете руками. Можно упростить стили до body bg red.
У вас, полагаю, проблемы со вторым - ибо одинаковый размер шрифта сложно не заметить.
Попробуйте сделать дочерний элемент с другим размером шрифта. Он унаследует letter-spacing, но в px (тот размер в px, который получился для родителя после перевода из em). Т.е. получится одинаковым в px для разных размеров шрифта.
А пропорциональным он будет, если снова дочернему писать тоже самое значение в em.
Мне не нравится то, что я пишу, но при такой записи будет для каждого свой, в зависимости от размера шрифта.
Либо повторять для каждого селектора (тоже не фонтан)
Почему например у группы 0-9 ответ 9916?. Или: почему у группы 10-19 ответ 9930?
Не почему. Просто потому что столько случайных чисел попало в этот интервал.
При следующем запуске ответ будет другой (при действительно случайной выдаче).
Вы получаете случайное число и проверяете в какую группу оно попадает. Прибавляете для её счетчика единичку.
Потом со сравнения что в начале скомпилированных стилей и если пишете руками. Можно упростить стили до body bg red.