Is there a good reason why we're defining global custom properties on :root/html and not on body?

@matuzo from memory when I saw this pop up a while back, essentially –

someone wrote it like that in the spec and here we are.

@sturobson I know that root {} is different depending on the context. In a document its <html>, inside an svg it's <svg>. It makes sense to just use :root everywhere for consistency. I was just wondering if there's a good reason against using body instead.
@matuzo I don't think there is?
@sturobson kkthxbye, :root
@matuzo all roads lead to :root

@sturobson @matuzo But is it top root? I thought it was encapsulated?

So if I create a component with :root it doesn't leak to parent :root? Or did I miss something?