Como as propriedades personalizadas do CSS são conectadas em cascata?

Digamos que eu tenho o seguinte CSS:

:root { --color: blue; }
div { --color: green; }
#alert { --color: red; }
* { color: var(--color); }

e minha marcação é:

<p>I inherited blue from the root element!</p>
<div>I got green set directly on me!</div>
<div id="alert">
  While I got red set directly on me!
  <p>I’m red too, because of inheritance!</p>
</div>

Minha pergunta é: O CSS acima é traduzido para:

body {
  color: blue;
}
div {
  color: green;
}
#alert{
  color: red;
}

ou existe um adicional

* {
  color: red;
}

Sem variáveis, o seletor universal aplica o mesmo CSS em todos os elementos. Isso muda e o estilo se torna dependente dos elementos?

Mais uma pergunta que tenho é se:root traduz parabody em CSS.

Aqui está uma demonstração do CodePen:http://codepen.io/anon/pen/RrvLJQ

questionAnswers(2)

yourAnswerToTheQuestion