div>p {background-color: yellow;} Will set paragraphs that's a direct child element of parent element div with background yellow https://www.w3schools.com/cssref/tryit.asp?filename=trycss_sel_element_gt it won't change paragraphs nested within other child elements of the div parent.
div p {background-color: yellow;} will change ALL child paragraphs within parent div whether they are nested or not.
:root will target the <html> element, it being the outermost containing element (root)
* universal selector: meaning target ALL elements.
: single colon used for pseudo classes such as :hover, :link, : visited
:: used for pseudo element ::after, ::before used to create content before or after a elements content, NOTE: older IE browsers use the single colon, but both can be used for modern better browsers than IE and Edge.