Why doesn't margin-top or margin-bottom affect my inline element?
Inline elements ignore vertical margins visually because they flow with text lines. Only horizontal margins affect spacing. (See step 1 where inline span's vertical margin has no effect.)
💡 Vertical margins don't push inline elements up/down visually.
Why does my span suddenly take full width and break line when I add 'block'?
Block display makes the element behave like a block box, taking full container width and starting on a new line. (See step 2 and 3 where spans become block and stack vertically.)
💡 Block elements stack vertically and fill width.
Why does changing display cause layout to jump or reflow?
Changing display changes how the browser calculates layout, often triggering reflow to reposition elements. (See step 3 where changing span to block triggers reflow.)
💡 Display changes cause layout recalculation.