Buenos días, todo de acuerdo con lo que se pedía en el ejercicio y como comentas tendrás que ir poco a poco. Otra opción es usar frameworks que te permiten ir muy rápido, pero en ese caso no aprendes los fundamentos, sino aprendes a usar el framework. Pero es otra opción...
Un comentario:
ul, ul li { background-color:#000000; color:#FFFFFF; font-size:120%; margin:0px; width:45%; }
Aquí aplicas un width de 45% a ul, y un width de 45% a elementos li dentro de ul. Esto significa que el elemento ul ocupará el 45% de lo que ocupa el padre y el elemento li un 45% de lo que ocupa el ul. Es decir, que aplicas una reducción dos veces, el efecto es que el texto del menú se apelotona hacia la izquierda al no poder abarcar todo el ancho del ul, sino sólo el 45% de este elemento
Saludos