Why doesn't my sm: class apply on small phones?
The sm: prefix applies styles only when the screen width is 640px or wider. Small phones are usually narrower, so the base styles apply instead (see render_step 2).
💡 Breakpoint prefixes apply styles only at or above their min-width.
Why do larger breakpoints override smaller ones?
Because media queries for larger breakpoints come later and have higher specificity, they override smaller breakpoint styles when the screen is wide enough (see render_steps 3-6).
💡 Styles cascade upward with increasing screen size.
What happens if I remove the base class and only use md:?
Without a base style, the element has no style below 768px, so it may look plain or default until the md breakpoint is reached (see render_step 3).
💡 Always include base styles for default appearance.