How css grid generator works
The columns field accepts two shapes. A plain number — 3 — becomes repeat(3, 1fr): three equal tracks sharing the free space. Anything else is treated as an explicit track list: 200px 1fr auto fixes a sidebar, lets the middle column flex, and sizes the last column to its content. The same grammar drives the rows field, which can be left empty so rows auto-flow to their content height.
Track lists validate against the vocabulary CSS actually supports: px, fr, em, rem, %, ch, and viewport units, plus the auto, min-content, and max-content keywords and the repeat(), minmax(), and fit-content() functions — so repeat(auto-fit, minmax(180px, 1fr)) passes straight through. Invalid tracks are rejected with the offending token named, instead of letting a typo silently collapse the layout.
The gap field emits gap: Npx, which spaces both columns and rows in one declaration. The preview applies the exact declarations to sample cells, so repeat counts and fr ratios are visible before anything is copied. Copy the block, then tune individual items with the flexbox generator's properties or your own overrides — grid owns the track skeleton, items own their place in it.