::before - кружочки с бордерами::after- линии:nth-child(odd/even) чтобы задавать угол линий:nth-child(1,2,3,4,5, ...)нагенерировать разные цвета, если они просто всегда идут в одном порядке. Если зависят от родителя - currentColor, если должен быть рандом или что-то другое - уже понадобится Javascript.