Flat 2.0: UI design prompt

Palette, type rules and a pasteable prompt for flat 2.0. Also called flat design 2.0, semi-flat, almost flat, flat with shadows, Material-lite. 2014-2018 (correction to pure flat design after 2013).

Traits

  • flat colours and simple shapes, but with light shadows to show what is clickable
  • subtle gradients (two close shades) instead of pure flat fills
  • 4-8px radius, soft 2-8px shadows on cards and buttons
  • bright, saturated but harmonious palettes (blue, teal, orange, red)
  • simple line or filled icons, flat vector illustrations
  • clear affordances: raised buttons, elevated cards, outlined inputs
  • gentle motion: 200ms ease on hover, ripple or fade on click

Palette

#ffffff page, #f5f7fa surface, #2d3748 text, #718096 muted, #3182ce primary, #38b2ac secondary, #ed8936 warm accent

Type

Roboto, Open Sans, Lato or Source Sans 3; headings 600-700 at 28-48px, body 400 at 16px, buttons 500 at 14-16px

Do

  • give interactive elements a 2px shadow at rest and 6px on hover so affordance is obvious
  • use one saturated primary for actions and one secondary for highlights only
  • keep icons in one set at one stroke weight

Don't

  • do not go fully flat; the difference from 2013 flat is the shadow
  • do not use long shadows or 45-degree diagonal "flat shadow" gimmicks
  • do not use more than three colours plus greys

Known for it: Google Material 1 era products, Dropbox 2015, Slack 2016, Mailchimp 2016

CSS seed
:root {
  --bg: #ffffff;
   --surface: #f5f7fa;
   --fg: #2d3748;
   --muted: #718096;
   --accent: #3182ce;
   --accent2: #38b2ac;
   --radius: 6px;
   --shadow: 0 2px 4px rgba(45,55,72,0.12);
   --font: 'Open Sans',sans-serif
}
Prompt

Build the site in Flat 2.0 style. Background #ffffff, section surfaces #f5f7fa, text #2d3748, muted #718096, primary #3182ce, secondary #38b2ac, one warm accent #ed8936. Font Open Sans: headings 700 at 44/30/22px, body 400 at 16px line-height 1.6, buttons 600 at 15px. Cards: white, border-radius 6px, box-shadow 0 2px 4px rgba(45,55,72,0.12), hover 0 6px 16px rgba(45,55,72,0.16) with translateY(-2px), 200ms ease. Primary button: #3182ce background with a gradient to #2b6cb0 at the bottom, white text, radius 6px, shadow 0 2px 4px rgba(49,130,206,0.35); active state removes the shadow. Inputs: 1px #cbd5e0 border, radius 6px, focus ring 2px #3182ce. Icons: 24px line icons at 2px stroke in #3182ce. Simple flat vector illustration in the hero using the three colours. Spacing 8px scale, 64-96px section padding. No glass, no heavy gradients, no dark mode.
For design.md, .cursorrules or AGENTS.md
## Design direction
Build the site in Flat 2.0 style. Background #ffffff, section surfaces #f5f7fa, text #2d3748, muted #718096, primary #3182ce, secondary #38b2ac, one warm accent #ed8936. Font Open Sans: headings 700 at 44/30/22px, body 400 at 16px line-height 1.6, buttons 600 at 15px. Cards: white, border-radius 6px, box-shadow 0 2px 4px rgba(45,55,72,0.12), hover 0 6px 16px rgba(45,55,72,0.16) with translateY(-2px), 200ms ease. Primary button: #3182ce background with a gradient to #2b6cb0 at the bottom, white text, radius 6px, shadow 0 2px 4px rgba(49,130,206,0.35); active state removes the shadow. Inputs: 1px #cbd5e0 border, radius 6px, focus ring 2px #3182ce. Icons: 24px line icons at 2px stroke in #3182ce. Simple flat vector illustration in the hero using the three colours. Spacing 8px scale, 64-96px section padding. No glass, no heavy gradients, no dark mode.

## Tokens
:root { --bg:#ffffff; --surface:#f5f7fa; --fg:#2d3748; --muted:#718096; --accent:#3182ce; --accent2:#38b2ac; --radius:6px; --shadow:0 2px 4px rgba(45,55,72,0.12); --font:'Open Sans',sans-serif }

Keep hover and focus-visible states on every interactive element. Do not add a CSS framework.