design.allworkin

popular

便当格 Bento

不对称格子里装着模块,像一份精心分格的便当。

适合: 产品首页、功能矩阵、仪表盘封面

不适合: 长文阅读、线性表单流

用这套风格开始

格子日程

Specimen

The quick brown fox

primary
secondary
tertiary
background
surface
outline
muted
success
warning
error
onPrimary
onSecondary
onTertiary
onBackground
onSurface
h1 — Design systems for agents
h2 — Design systems for agents
h3 — Design systems for agents
body — Design systems for agents
label — Design systems for agents
caption — Design systems for agents
mono — Design systems for agents
PrimarySecondaryCard
---
version: alpha
name: Bento
description: Asymmetric tiles, packed like a careful bento.
colors:
  primary: "#1F2937"
  secondary: "#6B7280"
  tertiary: "#F59E0B"
  background: "#F3F4F6"
  surface: "#FFFFFF"
  onPrimary: "#F4F4F5"
  onSecondary: "#F4F4F5"
  onTertiary: "#F4F4F5"
  onBackground: "#18181B"
  onSurface: "#18181B"
  outline: "#E5E7EB"
  muted: "#6B7280"
  success: "#059669"
  warning: "#D97706"
  error: "#DC2626"
typography:
  h1:
    fontFamily: Outfit
    fontSize: 40px
    fontWeight: 600
    lineHeight: 1.12
    letterSpacing: -0.03em
  h2:
    fontFamily: Outfit
    fontSize: 28px
    fontWeight: 600
    lineHeight: 1.2
    letterSpacing: -0.02em
  h3:
    fontFamily: Outfit
    fontSize: 20px
    fontWeight: 600
    lineHeight: 1.3
    letterSpacing: -0.01em
  body:
    fontFamily: DM Sans
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: 0em
  label:
    fontFamily: DM Sans
    fontSize: 13px
    fontWeight: 500
    lineHeight: 1.3
    letterSpacing: 0.02em
  caption:
    fontFamily: DM Sans
    fontSize: 12px
    fontWeight: 400
    lineHeight: 1.4
    letterSpacing: 0em
  mono:
    fontFamily: JetBrains Mono
    fontSize: 13px
    fontWeight: 500
    lineHeight: 1.45
    letterSpacing: 0em
rounded:
  sm: 12px
  md: 18px
  lg: 24px
  xl: 32px
  full: 999px
spacing:
  xs: 4px
  sm: 8px
  md: 16px
  lg: 24px
  xl: 32px
  2xl: 48px
  3xl: 64px
components:
  navbar:
    backgroundColor: "{colors.background}"
    textColor: "{colors.onBackground}"
  hero:
    backgroundColor: "{colors.background}"
    textColor: "{colors.onBackground}"
  feature:
    backgroundColor: "{colors.surface}"
    rounded: "{rounded.lg}"
  stat:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.onSurface}"
    rounded: "{rounded.lg}"
  chart:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.primary}"
  list-item:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.onSurface}"
    height: 44px
  footer:
    backgroundColor: "{colors.background}"
    textColor: "{colors.muted}"
---

# Bento

## Overview

不对称格子里装着模块,像一份精心分格的便当。 整体气质是 日常应用适中、错落不对称、动效 流畅 CSS 动效。品牌语气:modular / playful / structured。密度 6/10,变化 7/10,动效 5/10。 材质:大圆角色块、不对称格子,模块靠面积差而不是阴影层级。

How to use: 把本文件放到仓库根目录。在 Cursor / Claude Code / Codex 提示词中写:请阅读 DESIGN.md 并严格遵守其中的 tokens 与 Do/Don't。

## Colors

Semantic roles for the light theme. Keep a single accent; do not introduce a second brand hue.

- **primary** (`#1F2937`)
- **secondary** (`#6B7280`)
- **tertiary** (`#F59E0B`)
- **background** (`#F3F4F6`)
- **surface** (`#FFFFFF`)
- **outline** (`#E5E7EB`)
- **muted** (`#6B7280`)
- **success** (`#059669`)
- **warning** (`#D97706`)
- **error** (`#DC2626`)
- **onPrimary** (`#F4F4F5`)
- **onSecondary** (`#F4F4F5`)
- **onTertiary** (`#F4F4F5`)
- **onBackground** (`#18181B`)
- **onSurface** (`#18181B`)

## Typography

Hierarchy comes from weight and size, not from shouting. Body line length stays near 65 characters.

- **h1**: Outfit 600 / 40px / 1.12 / -0.03em
- **h2**: Outfit 600 / 28px / 1.2 / -0.02em
- **h3**: Outfit 600 / 20px / 1.3 / -0.01em
- **body**: "DM Sans" 400 / 16px / 1.55 / 0em
- **label**: "DM Sans" 500 / 13px / 1.3 / 0.02em
- **caption**: "DM Sans" 400 / 12px / 1.4 / 0em
- **mono**: "JetBrains Mono" 500 / 13px / 1.45 / 0em

## Layout

Spacing scale: xs=4px, sm=8px, md=16px, lg=24px, xl=32px, 2xl=48px, 3xl=64px.

iOS:触控目标 ≥ 44pt,尊重 Safe Area 与 Dynamic Type,图标用 SF Symbols,导航使用 Large Title / 分组列表。

Web:移动优先,<768px 单列,正文 ≥ 16px,标题用 clamp(),容器 max-width 约 1120–1400px,全高区块用 min-h-[100dvh]。

Every element occupies its own spatial zone. No overlapping hero text. Collapse multi-column layouts below 768px.

## Elevation & Depth

- sm: `0 1px 2px rgba(24,24,27,0.06)`
- md: `0 8px 24px rgba(24,24,27,0.08)`
- lg: `0 18px 48px rgba(24,24,27,0.12)`
- surface: `flat`
- recipe: 大圆角色块、不对称格子,模块靠面积差而不是阴影层级。

Tint shadows toward the background hue. High-density layouts may replace cards with hairline dividers.


## Shapes

Radius scale: sm=12px, md=18px, lg=24px, xl=32px, full=999px.

## Components

- **导航栏** (`web.navbar` / default / md): 桌面横导航含 logo、带图标的链接和一个主 CTA。
- **Hero** (`web.hero` / left / lg): Hero 使用 left 布局,最多一个主 CTA,禁止「Scroll to explore」。
- **功能区** (`web.feature` / bento / md): 禁止三列等宽卡片。用交错或 Bento 网格。
- **指标块** (`stat` / default / md): 数字用等宽字体,标签用大写弱化。
- **图表** (`chart` / bar / md): 迷你面积/柱状图,颜色用 primary / secondary。
- **列表行** (`list-item` / chevron / md): 行高至少 44pt,标题 + 说明,右侧可放 chevron。
- **列表行** (`list-item` / chevron / md): 行高至少 44pt,标题 + 说明,右侧可放 chevron。
- **页脚** (`web.footer` / default / md): 页脚克制,链接分组清晰。

## Do's and Don'ts

### Do
- Use semantic color tokens, never raw hex in components.
- Keep a single accent; hierarchy comes from type weight and space.
- Define default, hover, focus-visible, pressed, disabled, and loading states.
- Meet WCAG 2.2 AA contrast for body text and interactive labels.
- Touch targets are at least 44×44pt on iOS and 44px on web.

### Don't
- Do not use Inter as the display face for premium work.
- Do not use pure black #000000 for large surfaces.
- Do not add neon outer glows or custom mouse cursors.
- Do not ship three equal feature cards as the default layout.
- Do not hide focus rings or drop below AA contrast.