Bento grids

Compartments of deliberately different sizes in one balanced grid – rounded generously, packed densely, readable at a glance.

Lineage: Popularised through Apple's 2023 keynote slides; a contested precedent runs back to Microsoft's Metro tiles (2010).

Bento grids

Compartments of deliberately different sizes in one balanced grid – rounded generously, packed densely, readable at a glance.

Read the entry

Seen in: Apple · Samsung, Microsoft and Google

Project settings

Weekly digest
Advanced options
bg-page
bg-raised
text-primary
text-secondary
accent-solid
on-accent
radius · shadow
Aathe type voice

A working sample – the controls are live (hover, press, focus, the toggle's two states) and everything inside the frame is painted by the token block shown in the recipe below. Nothing saves anything; "Advanced options" jumps to the recipe. The page around the frame stays in Atlas's own system.

Spot it

  • A CSS grid with a fixed column count (commonly 4 on desktop) and fixed auto-rows (a set pixel height, around 180px) so spans stay predictable.
    A bento-grid product page: one large hero compartment beside a mosaic of smaller rounded compartments, consistent gaps.
    Generated with Gemini from this entry's derived vocabulary – the recipe restated as a brief, doing its job.
  • grid-auto-flow: dense packs items efficiently; named span classes (a hero spanning 2x2, a wide spanning 2 columns) layer on top.
  • Generous, consistent gaps – 16px is the commonly cited value.
  • Border-radius specifically in the 20-28px range. The source is explicit that under 16px the "bento" read is lost entirely – a hard floor, not a preference.
  • Responsive collapse to 2 columns at tablet, 1 column (spans reset) at mobile.

A Japanese lunch box has compartments of different sizes that still make one tidy whole – a bento grid does that to a screen: a large hero item sits naturally beside several smaller supporting items, asymmetric but balanced. Described in current trend coverage as “the gold standard for information density”, and the card’s vignette above is drawn as exactly that – one dominant compartment, two supporting ones.

A sourcing note, kept honest: unlike most entries here, note 16 carries no quoted prompt vocabulary for bento. The phrases below are derived from the note’s own CSS recipe tells, not quoted from anywhere – they’re the recipe restated as briefing anchors.

Where it came from

The popularising moment is Apple’s 2023 keynote slide design (reported analysis found an average of 6-9 boxes per bento slide), but the provenance is genuinely contested: Microsoft’s “Metro” tiles on Windows Phone 7 (2010) used variously-sized modular blocks well over a decade earlier. Both claims are defensible depending on whether “origin” means who tiled first (Microsoft, arguably) or who made this specific soft-rounded, generously-spaced look a mainstream expectation (Apple, more clearly). By mid-2026 adoption has eased – roughly 1.6% of generations in February down to 0.91-1.3% in June – so the honest framing is “still common, past its adoption peak”; both can be true at once. (Single-source figures, as flagged throughout.)

When it fits

Dashboards, feature overviews, product-marketing summaries – anywhere content decomposes into a phrase, a number or one screenshot per cell, and scanning beats reading.

When it’s wrong

Two specific, checkable failure modes. First, an accessibility mismatch: grid-auto-flow: dense visually reorders cells for sighted users while screen readers and keyboard focus still follow DOM order – a genuine divergence, not a hypothetical. Second, a structural limit: bento cells force content down to a phrase, a number or one image, so the format is simply unsuited to long-form content. And if every cell is the same size, the whole point of the pattern’s layout complexity is gone.

Don’t confuse it with

An ordinary card grid – the differences are the size variation (hero beside supports) and the radius floor. Uniform cells under 16px radius is just a grid of cards, whatever the marketing page calls it.

The recipe

The actual scope from style-scopes.css – the CSS that painted the stage above.

/* ===== style: bento ===== */
/* Compartments, generously rounded: the 20-28px radius floor is a hard
   rule – under 16px the bento read is lost entirely. */
[data-style='bento'] {
  --bg-page: #f5f5f7;
  --bg-raised: #ffffff;
  --bg-active: #e9e9ee;
  --border-default: #86868b;
  --border-hover: #6e6e73;
  --border-input: #86868b;
  --text-primary: #1d1d1f;
  --text-secondary: #4c4c52;
  --accent-solid: #0a5dc2;
  --accent-solid-hover: #084a9b;
  --accent-text: #0a5dc2;
  --on-accent: #ffffff;
  --radius-s: 16px;
  --radius-m: 22px;
  --radius-l: 28px;
  --shadow-1: 0 8px 24px rgba(29, 29, 31, 0.08);
  --shadow-2: 0 12px 32px rgba(29, 29, 31, 0.12);
  --font-sans: system-ui, -apple-system, 'Helvetica Neue', sans-serif;
}
[data-style='bento'] .sty-art {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
  padding: 10px;
  border: none;
}
[data-style='bento'] .sty-art > i {
  position: static;
  width: auto;
  height: auto;
  /* The entry's own hard floor: compartments never under 16px, taught
     range 20-28px – the vignette obeys the rule it depicts (review M2). */
  border-radius: 20px;
  opacity: 1;
}
[data-style='bento'] .sty-art .sty-art-a {
  grid-row: 1 / -1;
  background: var(--bg-raised);
  border: 1px solid var(--border-default);
}
[data-style='bento'] .sty-art .sty-art-b {
  background: var(--accent-solid);
}
[data-style='bento'] .sty-art .sty-art-c {
  background: var(--bg-active);
  border: 1px solid var(--border-default);
}
/* Hover: the compartment inflates towards the top of its radius band. */
.sty-card[data-style='bento']:hover {
  border-radius: 26px;
  transform: scale(1.01);
}
/* ===== end bento ===== */

Prompt vocabulary

Meant to be copied, not paraphrased – anchors beat adjectives when briefing an agent.

  • bento grid layout
  • 4-column grid with fixed ~180px auto-rows
  • grid-auto-flow dense
  • hero cell spanning 2x2, wide cells spanning 2 columns
  • 16px consistent gaps
  • 20-28px border-radius on every cell (never under 16px)
  • one phrase or one number per cell
  • collapse to 2 columns at tablet, 1 at mobile

Exemplars

Named links out – the vignettes above are reconstructions, never screenshots (ADR #006).

  • Apple – keynote slides and product pages – the 2023 popularising moment
  • Samsung, Microsoft and Google – all four named companies still use it in live product interfaces, not just marketing