`product` ========= Spec: descriptive guidance, not a checkable rule. It carries no forbidden and instead pair, and no `jig check` detector applies to it directly. Section: Interface modes **For:** authenticated application UI, customer-facing dashboards, settings, onboarding. **Reader:** returning, task-focused, moderate familiarity, mixed device. **Tiebreaker:** predictability over novelty. A boring pattern the user already knows beats a better one they must learn. | Property | This mode selects | | --- | --- | | UI text | `--text-body` | | Long-form text | `--text-prose` · `--leading-prose` | | Heading ramp | `--text-h3` → `--text-h2` → `--text-h1` | | Type ratio | 1.200 Minor Third — the mid value of the three | | Measure | `--measure-prose` | | Section rhythm | `--spacing-section` | | Card padding | `--spacing-card` | | Control height | `--size-control` — the mid value of the three | | Table row height | `--size-row` | | Radius | `--radius-control` (sm) · `--radius-surface` (md) | | Elevation | `--shadow-none`; `--shadow-raised`/`--shadow-overlay` for overlays only (modal, popover, dropdown) | | Motion | `--duration-base`; state change only, no entrance animation | | Colour usage | `--color-brand` for primary action. Full semantic set. Status as subtle fill plus text. | | Imagery | Sparse. Illustration permitted in empty states only. | | Keyboard | Shortcuts for frequent actions; documented in-app | Resolved values: `02-tokens.md` — the option sets for type, spacing, radius and shadow, and "Sizes and motion, by mode" for control heights, row heights, durations and measure. **Mode-specific rules** - One primary action per view. Everything else is secondary or tertiary. - Destructive actions are never adjacent to their most common neighbour, and always confirm. - Every list view handles four states explicitly: loading, empty-never, empty-filtered, error. - Forms save on explicit action, not on blur, unless the surface is a settings panel — and then say so. - Navigation position is fixed across the app. Never move the primary nav between sections.