Nakshora is mobile-first: unprefixed utilities apply everywhere, and each screen prefix layers an override from that width up. No media-query code, ever.

The screens#

PrefixMin widthTargetsExample
xxs:200pxtiny / folded screens, wearablesxxs:grid-cols-2
xs:400pxsmall phonesxs:grid-cols-2
sm:640pxlarge phonessm:grid-cols-2
md:768pxtabletsmd:grid-cols-2
lg:1024pxlaptopslg:grid-cols-2
xl:1280pxdesktopsxl:grid-cols-2
2xl:1536pxlarge desktops2xl:grid-cols-2
3xl:1920pxFull HD monitors, TVs3xl:grid-cols-2
4xl:2560pxQHD / 2K monitors4xl:grid-cols-2
5xl:5000px4K+, video walls, ultra-wide5xl:grid-cols-2

Mental model#

html
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
  <!--
    base : 1 column   (< 400px)
    sm:  : 2 columns  (≥ 400px)
    lg:  : 4 columns  (≥ 1024px)
  -->
</div>

The three rules#

  • Style the smallest screen first (no prefix).
  • Each prefix ADDS from its width up — you never undo.
  • Test at the breakpoints between screens, not only on them.

Beyond min-width#

Tip. Design content-first: let YOUR content choose breakpoints. The defaults cover 95% of products — see responsive/breakpoint-strategy|breakpoint strategy.