> It isn't clear to me if the number of "=" represents the nesting level.
> Nor if all nested blocks MUST have the same number of equal signs.
The length of the delimiter line does not determine the nesting level. Rather, each time a delimiter line of the same type (same structural container) but different length is encountered, it starts a new level of nesting. So you could write it as:
====
outer
======
inner
======
outer
====
or
======
outer
====
inner
====
outer
======
(I also tend to use even lengths since varying the length by a single character is harder to see)
I realize that some parsers may be able to create nested blocks without having to vary the length of the delimiter line. However, this is not something that's currently supported in Asciidoctor, so it would be non-compliant behavior (if the spec solidifies that rule). I also think it would be extremely hard for a human to make sense of if all the delimiters were the same length. So the variation in line length is first and foremost for the benefit of the author.
Best Regards,
-Dan