Skip to content
Palettise
Back to Explore

Client: Bloom Bakery

by Hannah Lindström·Generated from prompt
analogouswarm
4.3(7)

Design Direction

Warm bakery client project — soft peach, cream, hand-drawn illustrations, friendly

Colour Strategy

analogous harmony from hue 15 with warm temperature

Typography Strategy

Sora headings paired with Nunito Sans body text

Colour Palette

primary

#d16a47

secondary

#c3a855

accent

#b2d841

neutral

#918a88

success

#20c578

warning

#d48d11

error

#c52020

info

#205fc5

Typography

Heading

Sora, sans-serif

View on Google Fonts ↗

Body

Nunito Sans, sans-serif

View on Google Fonts ↗

Design is intelligence made visible

Great typography is the foundation of great design. The pairing of heading and body typefaces creates a visual hierarchy that guides the reader through content with clarity and purpose, while expressing personality at every level.

Spacing

4px base unit · balanced density

xs
4px
sm
8px
md
16px
lg
24px
xl
32px
2xl
48px
3xl
64px
4xl
96px

Border radius

none

0px

sm

8px

md

18px

lg

30px

xl

48px

full

9999px

Elevation

sunken
base
raised
floating
overlay

Shadows

low

0 1px 3px rgba(209, 106, 71, 0.08), 0 1px 2px rgba(209, 106, 71, 0.06)

mid

0 4px 6px -1px rgba(209, 106, 71, 0.1), 0 2px 4px -2px rgba(209, 106, 71, 0.08)

high

0 20px 25px -5px rgba(209, 106, 71, 0.12), 0 8px 10px -6px rgba(209, 106, 71, 0.08)

Texture

dots · opacity 1 · normal blend

dots · normal · 1

Grid

balanced · 12 columns · 24px gutter · 40px margin · 1280px max

Columns12
Gutter24px
Margin40px
Max width1280px

Motion

Hover, click, and interact to see the motion tokens in action.

micro

60ms

Button press feedback
fast

120ms

Hover me
Colour & border transitions
normal

250ms

Toggles & state changes
slow

400ms

Panel content slides in at the slow duration - used for modals, drawers, and accordions.
glacial

600ms

Page transitions & loading states

Easings

General

Hover states, colour changes, most transitions

cubic-bezier(0.34, 1.56, 0.64, 1)

Enter

Elements appearing - modals, dropdowns, toasts

cubic-bezier(0.18, 1.4, 0.4, 1)

Exit

Elements leaving - dismissals, close animations

cubic-bezier(0.6, -0.28, 0.74, 0.05)

Bounce

Playful feedback - toggles, badges, confirmations

cubic-bezier(0.34, 2, 0.64, 1)

Spring

Physics-based - drag, gestures, elastic effects

cubic-bezier(0.15, 1.8, 0.3, 1)

Iconography

Icon style derived from the system's personality, mood, and visual tokens.

Recommended library

Phosphor

Rounded, friendly icons with multiple weight options

Browse Phosphor

Also consider Material SymbolsComprehensive icon system with variable weight and fill

Stroke weight

1.5px

Matches border width (1.5px)

Corner rounding

8px

Use for icon containers

Icon set preview (playful) — 1.5px stroke

Size scale

xs

12px

sm

16px

md

20px

lg

24px

xl

32px

On colour

primary

secondary

accent

muted

error

success

ComponentsPro

Component showcase is a Pro feature

Upgrade to see fully themed buttons, inputs, cards, badges, and more - all wired to this system's tokens.

Upgrade to Pro

PatternsPro

Patterns are a Pro feature

Upgrade to see fully themed form layouts, empty states, loading skeletons, and error handling - all built with this system's tokens.

Upgrade to Pro

Export

Code Tokens
:root {
  /* ─── Colors: Primary ─── */
  --color-primary-50: #f9f7f6;
  --color-primary-100: #f0ecea;
  --color-primary-200: #ead8d2;
  --color-primary-300: #e9b6a5;
  --color-primary-400: #de957c;
  --color-primary-500: #d16a47;
  --color-primary-600: #b8502e;
  --color-primary-700: #974226;
  --color-primary-800: #653d2f;
  --color-primary-900: #3f312c;
  --color-primary-950: #2a201d;

  /* ─── Colors: Secondary ─── */
  --color-secondary-50: #f8f8f6;
  --color-secondary-100: #f0eeeb;
  --color-secondary-200: #e7e3d4;
  --color-secondary-300: #e2d4ac;
  --color-secondary-400: #d5c186;
  --color-secondary-500: #c3a855;
  --color-secondary-600: #aa8e3c;
  --color-secondary-700: #8c7531;
  --color-secondary-800: #5f5535;
  --color-secondary-900: #3d392e;
  --color-secondary-950: #29261f;

  /* ─── Colors: Accent ─── */
  --color-accent-50: #f8f9f6;
  --color-accent-100: #eff1ea;
  --color-accent-200: #e4ebd1;
  --color-accent-300: #d9eca2;
  --color-accent-400: #c8e378;
  --color-accent-500: #b2d841;
  --color-accent-600: #99be27;
  --color-accent-700: #7d9d20;
  --color-accent-800: #59672d;
  --color-accent-900: #3b402b;
  --color-accent-950: #272b1d;

  /* ─── Colors: Neutral ─── */
  --color-neutral-50: #f8f7f7;
  --color-neutral-100: #eeedec;
  --color-neutral-200: #dfdddd;
  --color-neutral-300: #c9c6c5;
  --color-neutral-400: #b1acaa;
  --color-neutral-500: #918a88;
  --color-neutral-600: #77706e;
  --color-neutral-700: #625c5b;
  --color-neutral-800: #4d4847;
  --color-neutral-900: #383433;
  --color-neutral-950: #252322;

  /* ─── Colors: Semantic ─── */
  --color-success: #20c578;
  --color-success-light: #eff6f2;
  --color-warning: #d48d11;
  --color-warning-light: #f7f3ee;
  --color-error: #c52020;
  --color-error-light: #f6efef;
  --color-info: #205fc5;
  --color-info-light: #eff1f6;

  /* ─── Colors: Surface ─── */
  --color-background: #fafafa;
  --color-foreground: #1c1817;
  --color-card: #FFFFFF;
  --color-card-foreground: #1c1817;
  --color-muted: #f3f2f2;
  --color-muted-foreground: #6b6361;
  --color-border: #e7e5e4;
  --color-input: #e2e0df;
  --color-ring: #d16a47;

  /* ─── Typography ─── */
  --font-heading: Sora, sans-serif;
  --font-body: Nunito Sans, sans-serif;
  --font-mono: JetBrains Mono, monospace;

  /* ─── Spacing ─── */
  --space-lg: 24px;
  --space-md: 16px;
  --space-sm: 8px;
  --space-xl: 32px;
  --space-xs: 4px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 96px;

  /* ─── Border Radius ─── */
  --radius-lg: 30px;
  --radius-md: 18px;
  --radius-sm: 8px;
  --radius-xl: 48px;
  --radius-full: 9999px;
  --radius-none: 0px;

  /* ─── Shadows ─── */
  --shadow-low: 0 1px 3px rgba(209, 106, 71, 0.08), 0 1px 2px rgba(209, 106, 71, 0.06);
  --shadow-mid: 0 4px 6px -1px rgba(209, 106, 71, 0.1), 0 2px 4px -2px rgba(209, 106, 71, 0.08);
  --shadow-high: 0 20px 25px -5px rgba(209, 106, 71, 0.12), 0 8px 10px -6px rgba(209, 106, 71, 0.08);

  /* ─── Motion ─── */
  --duration-micro: 60ms;
  --duration-fast: 120ms;
  --duration-normal: 250ms;
  --duration-slow: 400ms;
  --duration-glacial: 600ms;
  --easing-default: cubic-bezier(0.34, 1.56, 0.64, 1);
  --easing-entrance: cubic-bezier(0.18, 1.4, 0.4, 1);
  --easing-exit: cubic-bezier(0.6, -0.28, 0.74, 0.05);
  --easing-bounce: cubic-bezier(0.34, 2, 0.64, 1);
  --easing-spring: cubic-bezier(0.15, 1.8, 0.3, 1);

  /* ─── Elevation ─── */
  --elevation-sunken: #f0efef;
  --elevation-base: #fafafa;
  --elevation-raised: #FFFFFF;
  --elevation-floating: #FFFFFF;
  --elevation-overlay: #fdfcfc;

  /* ─── Component Scale (balanced) ─── */
  --comp-padding-x: 1rem;
  --comp-padding-y: 0.5rem;
  --comp-gap: 0.75rem;
  --comp-border-width: 1.5px;
  --comp-font-size: 0.875rem;
  --comp-input-height: 2.5rem;
  --comp-button-height: 2.5rem;
  --comp-icon-size: 1.25rem;

  /* ─── Grid (balanced) ─── */
  --grid-columns: 12;
  --grid-gutter: 24px;
  --grid-margin: 40px;
  --grid-max-width: 1280px;

}
Brand DocumentsPro

Brand Guidelines

Standalone HTML, print to PDF. Colours, typography, spacing, all in one page.

Presentation Deck

PPTX template with palette, typography, and blank slides in your brand.

Figma Tokens

JSON for Tokens Studio plugin. Import colours, type, spacing straight into Figma.

PDF Brand Guide

Full brand guidelines as a real PDF file. Colours and typography rendered exactly.

AI Skill

System prompt you can paste into Cursor or any AI tool to generate on-brand UI instantly.