Paws & Paths DESIGN.md Example

A friendly pet-services brand on Golden Retriever orange and Sky Walk blue, with soft shadows, rounded cards, and Plus Jakarta Sans. Published verbatim in Google Labs' design.md repository. Related guide: Shapes.

Consumer

Official Google Labs example, published under the Apache-2.0 license in google-labs-code/design.md. Mirrored here verbatim. md-design.io is an independent project, not affiliated with or endorsed by Google.

What this file renders to

Computed from the file below when this page is built. Open it in the viewer for the full guideline with navigation and diagnostics.

Colors

Aa
surface
17.12:1AAAink on fill
Aa
surface-dim
12.82:1AAAink on fill
Aa
surface-bright
17.12:1AAAink on fill
Aa
surface-container-lowest
17.96:1AAAink on fill
Aa
surface-container-low
16.22:1AAAink on fill
Aa
surface-container
15.44:1AAAink on fill
Aa
surface-container-high
14.65:1AAAink on fill
Aa
surface-container-highest
13.87:1AAAink on fill
Aa
on-surface
17.11:1AAAwhite on fill
Aa
on-surface-variant
9.36:1AAAwhite on fill
Aa
inverse-surface
13.08:1AAAwhite on fill
Aa
inverse-on-surface
15.87:1AAAink on fill
Aa
outline
4.48:1AA Largewhite on fill
Aa
outline-variant
10.54:1AAAink on fill
Aa
surface-tint
6.49:1AAwhite on fill
Aa
primary
6.49:1AAwhite on fill
Aa
on-primary
17.96:1AAAink on fill
Aa
primary-container
8.36:1AAAink on fill
Aa
on-primary-container
9.84:1AAAwhite on fill
Aa
inverse-primary
10.57:1AAAink on fill
Aa
secondary
6.69:1AAwhite on fill
Aa
on-secondary
17.96:1AAAink on fill
Aa
secondary-container
4.66:1AAwhite on fill
Aa
on-secondary-container
17.60:1AAAink on fill
Aa
tertiary
6.49:1AAwhite on fill
Aa
on-tertiary
17.96:1AAAink on fill
Aa
tertiary-container
8.35:1AAAink on fill
Aa
on-tertiary-container
9.79:1AAAwhite on fill
Aa
error
6.46:1AAwhite on fill
Aa
on-error
17.96:1AAAink on fill
Aa
error-container
13.90:1AAAink on fill
Aa
on-error-container
9.35:1AAAwhite on fill
Aa
primary-fixed
13.93:1AAAink on fill
Aa
primary-fixed-dim
10.57:1AAAink on fill
Aa
on-primary-fixed
17.20:1AAAwhite on fill
Aa
on-primary-fixed-variant
9.37:1AAAwhite on fill
Aa
secondary-fixed
13.89:1AAAink on fill
Aa
secondary-fixed-dim
10.52:1AAAink on fill
Aa
on-secondary-fixed
17.12:1AAAwhite on fill
Aa
on-secondary-fixed-variant
9.39:1AAAwhite on fill
Aa
tertiary-fixed
13.90:1AAAink on fill
Aa
tertiary-fixed-dim
10.58:1AAAink on fill
Aa
on-tertiary-fixed
17.16:1AAAwhite on fill
Aa
on-tertiary-fixed-variant
9.37:1AAAwhite on fill
Aa
background
17.12:1AAAink on fill
Aa
on-background
17.11:1AAAwhite on fill
Aa
surface-variant
13.87:1AAAink on fill

Typography

display
familyPlus Jakarta Sans
size44px
weight800
leading52px
tracking-0.02em

Focus at altitude

headline-lg
familyPlus Jakarta Sans
size32px
weight700
leading40px
tracking-0.01em

Focus at altitude

headline-md
familyPlus Jakarta Sans
size24px
weight700
leading32px

The quick brown fox renders this specimen at its true size, weight and tracking.

title-lg
familyPlus Jakarta Sans
size20px
weight600
leading28px

The quick brown fox renders this specimen at its true size, weight and tracking.

body-lg
familyPlus Jakarta Sans
size18px
weight400
leading28px

The quick brown fox renders this specimen at its true size, weight and tracking.

body-md
familyPlus Jakarta Sans
size16px
weight400
leading24px

The quick brown fox renders this specimen at its true size, weight and tracking.

label-md
familyPlus Jakarta Sans
size14px
weight600
leading20px
tracking0.01em

The quick brown fox renders this specimen at its true size, weight and tracking.

label-sm
familyPlus Jakarta Sans
size12px
weight500
leading16px

LABEL · METADATA · CAPS

Spacing

base8px
xs4px
sm12px
md24px
lg40px
xl64px
gutter16px
margin24px

Radii

sm
0.25rem
DEFAULT
0.5rem
md
0.75rem
lg
1rem
xl
1.5rem
full
9999px

Components

preview6.49:1AAtext on fill

button-primary · tokens

resolved
default
backgroundColor#855300
textColor#ffffff
typographytypography
rounded1rem
padding24px
hover
backgroundColor#f59e0b
textColor#613b00
preview6.69:1AAtext on fill

button-secondary · tokens

resolved
default
backgroundColor#0058be
textColor#ffffff
typographytypography
rounded1rem
padding24px
hover
backgroundColor#2170e4
textColor#fefcff
previewNo resolvable background / text color pair.

card-profile · tokens

resolved
default
backgroundColor#ffffff
rounded1.5rem
padding24px
preview4.57:1AAtext on fill

card-walk-stat · tokens

resolved
default
backgroundColor#2170e4
textColor#fefcff
rounded0.75rem
padding12px
preview15.46:1AAAtext on fill

input-field · tokens

resolved
default
backgroundColor#f0f3ff
textColor#151c27
typographytypography
rounded0.5rem
padding12px
previewNo resolvable background / text color pair.

list-item-walker · tokens

resolved
default
backgroundColor#00000000
padding12px
rounded0.75rem
hover
backgroundColor#e2e8f8
preview4.55:1AAtext on fill

badge-status · tokens

resolved
default
backgroundColor#1abdff
textColor#004966
typographytypography
rounded9999px
padding4px

Lint summary

The same checks as the DESIGN.md linter, run on this file at build time. Design system defines 47 colors, 8 typography scales, 6 rounding levels, 8 spacing tokens, 10 components.

No findings. This file lints clean.

Full DESIGN.md source

Copy it, edit it, and use it as a starting point for your own file. Nothing is uploaded.

---
name: Paws & Paths
colors:
  surface: "#f9f9ff"
  surface-dim: "#d3daea"
  surface-bright: "#f9f9ff"
  surface-container-lowest: "#ffffff"
  surface-container-low: "#f0f3ff"
  surface-container: "#e7eefe"
  surface-container-high: "#e2e8f8"
  surface-container-highest: "#dce2f3"
  on-surface: "#151c27"
  on-surface-variant: "#534434"
  inverse-surface: "#2a313d"
  inverse-on-surface: "#ebf1ff"
  outline: "#867461"
  outline-variant: "#d8c3ad"
  surface-tint: "#855300"
  primary: "#855300"
  on-primary: "#ffffff"
  primary-container: "#f59e0b"
  on-primary-container: "#613b00"
  inverse-primary: "#ffb95f"
  secondary: "#0058be"
  on-secondary: "#ffffff"
  secondary-container: "#2170e4"
  on-secondary-container: "#fefcff"
  tertiary: "#00658b"
  on-tertiary: "#ffffff"
  tertiary-container: "#1abdff"
  on-tertiary-container: "#004966"
  error: "#ba1a1a"
  on-error: "#ffffff"
  error-container: "#ffdad6"
  on-error-container: "#93000a"
  primary-fixed: "#ffddb8"
  primary-fixed-dim: "#ffb95f"
  on-primary-fixed: "#2a1700"
  on-primary-fixed-variant: "#653e00"
  secondary-fixed: "#d8e2ff"
  secondary-fixed-dim: "#adc6ff"
  on-secondary-fixed: "#001a42"
  on-secondary-fixed-variant: "#004395"
  tertiary-fixed: "#c5e7ff"
  tertiary-fixed-dim: "#7fd0ff"
  on-tertiary-fixed: "#001e2d"
  on-tertiary-fixed-variant: "#004c6a"
  background: "#f9f9ff"
  on-background: "#151c27"
  surface-variant: "#dce2f3"
typography:
  display:
    fontFamily: Plus Jakarta Sans
    fontSize: 44px
    fontWeight: "800"
    lineHeight: 52px
    letterSpacing: -0.02em
  headline-lg:
    fontFamily: Plus Jakarta Sans
    fontSize: 32px
    fontWeight: "700"
    lineHeight: 40px
    letterSpacing: -0.01em
  headline-md:
    fontFamily: Plus Jakarta Sans
    fontSize: 24px
    fontWeight: "700"
    lineHeight: 32px
  title-lg:
    fontFamily: Plus Jakarta Sans
    fontSize: 20px
    fontWeight: "600"
    lineHeight: 28px
  body-lg:
    fontFamily: Plus Jakarta Sans
    fontSize: 18px
    fontWeight: "400"
    lineHeight: 28px
  body-md:
    fontFamily: Plus Jakarta Sans
    fontSize: 16px
    fontWeight: "400"
    lineHeight: 24px
  label-md:
    fontFamily: Plus Jakarta Sans
    fontSize: 14px
    fontWeight: "600"
    lineHeight: 20px
    letterSpacing: 0.01em
  label-sm:
    fontFamily: Plus Jakarta Sans
    fontSize: 12px
    fontWeight: "500"
    lineHeight: 16px
rounded:
  sm: 0.25rem
  DEFAULT: 0.5rem
  md: 0.75rem
  lg: 1rem
  xl: 1.5rem
  full: 9999px
spacing:
  base: 8px
  xs: 4px
  sm: 12px
  md: 24px
  lg: 40px
  xl: 64px
  gutter: 16px
  margin: 24px
components:
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.on-primary}"
    typography: "{typography.label-md}"
    rounded: "{rounded.lg}"
    padding: "{spacing.md}"
  button-primary-hover:
    backgroundColor: "{colors.primary-container}"
    textColor: "{colors.on-primary-container}"
  button-secondary:
    backgroundColor: "{colors.secondary}"
    textColor: "{colors.on-secondary}"
    typography: "{typography.label-md}"
    rounded: "{rounded.lg}"
    padding: "{spacing.md}"
  button-secondary-hover:
    backgroundColor: "{colors.secondary-container}"
    textColor: "{colors.on-secondary-container}"
  card-profile:
    backgroundColor: "{colors.surface-container-lowest}"
    rounded: "{rounded.xl}"
    padding: "{spacing.md}"
  card-walk-stat:
    backgroundColor: "{colors.secondary-container}"
    textColor: "{colors.on-secondary-container}"
    rounded: "{rounded.md}"
    padding: "{spacing.sm}"
  input-field:
    backgroundColor: "{colors.surface-container-low}"
    textColor: "{colors.on-surface}"
    typography: "{typography.body-md}"
    rounded: "{rounded.DEFAULT}"
    padding: "{spacing.sm}"
  list-item-walker:
    backgroundColor: transparent
    padding: "{spacing.sm}"
    rounded: "{rounded.md}"
  list-item-walker-hover:
    backgroundColor: "{colors.surface-container-high}"
  badge-status:
    backgroundColor: "{colors.tertiary-container}"
    textColor: "{colors.on-tertiary-container}"
    typography: "{typography.label-sm}"
    rounded: "{rounded.full}"
    padding: "{spacing.xs}"
---

## Brand & Style

The design system is built to evoke the joyful energy of a walk in the park balanced with the reliability of a premium professional service. The brand personality is optimistic, trustworthy, and active.

The chosen style is **Modern Corporate** with a friendly, human-centric twist. It utilizes clean layouts and significant whitespace to reduce cognitive load for busy pet owners. The interface feels light and airy, avoiding heavy borders in favor of soft shadows and tonal shifts to create a welcoming, "best-in-class" digital environment.

## Colors

The palette centers on "Golden Retriever" orange to drive action and signal energy. This is balanced by "Sky Walk" blue, which provides a calming counterpoint for administrative tasks and scheduling.

- **Primary:** Use for main actions, active states, and highlights.
- **Secondary:** Use for secondary information, trust indicators, and navigation accents.
- **Neutral:** A range of soft grays used for backgrounds and borders to keep the UI feeling "premium."
- **Deep Charcoal:** Used for all primary text to ensure high legibility and a grounded, professional feel.

## Typography

This design system utilizes **Plus Jakarta Sans** for its friendly, rounded terminals and exceptional legibility. It maintains a contemporary look while feeling more approachable than standard geometric sans-serifs.

- **Headlines:** Bold weights are used to create a clear hierarchy and guide the eye quickly to key information.
- **Body:** Generous line heights are applied to the body text to maintain the "premium and clean" feel.
- **Labels:** Used for buttons and small metadata, utilizing a medium or semi-bold weight to remain distinct even at small scales.

## Layout & Spacing

The layout follows a **Fixed Grid** model for mobile-first consistency, utilizing a 4-column system for handheld devices.

- **Whitespace:** A "generous" philosophy is applied. Never crowd elements; use `lg` and `xl` spacing for section vertical separation to maintain a high-end aesthetic.
- **Rhythm:** Spacing is strictly based on an 8px scale.
- **Containers:** Content should be centered with a maximum width on larger screens, ensuring the "Paths" (user journeys) feel focused and intentional.

## Elevation & Depth

This design system uses **Ambient Shadows** and **Tonal Layers** to define the interface's verticality.

- **Surfaces:** Main backgrounds use the lightest neutral tint. Interactive cards sit one level above on a pure white surface.
- **Shadows:** Shadows are highly diffused and soft (Blur: 20px-40px, Opacity: 4-8%) with a subtle hint of the primary orange or secondary blue mixed into the shadow color to prevent a "dirty" gray look.
- **Interactions:** Elements should subtly lift on hover or tap, increasing shadow spread to provide tactile feedback.

## Shapes

The shape language is defined by **Rounded** corners, mirroring the soft features of a pet and making the app feel safe and friendly.

- **Buttons:** Main CTA buttons use a `12px` (rounded-lg) radius to feel substantial and clickable.
- **Cards:** Dog profiles and walker cards use a `1.5rem` (rounded-xl) radius to create a soft, containerized look.
- **Inputs:** Form fields use a `0.5rem` radius to maintain a professional yet modern appearance.
- **Icons:** Icons should feature rounded caps and corners to harmonize with the UI's structural elements.

## Components

### Buttons & Inputs

Buttons use `rounded-lg` (12px) to feel substantial and friendly, while form fields use a smaller `DEFAULT` radius to maintain structural alignment. All interactive states should utilize a subtle 150ms ease-in-out transition for background color shifts.

### Cards & Elevation

The `card-profile` is the hero container, utilizing `rounded-xl` and a tinted ambient shadow to create a "lifted" appearance against the `surface` background. Use `card-walk-stat` for high-contrast data visualization within the blue secondary palette.

### Lists & Navigation

List items should maintain a wide touch target and use `surface-container-high` for hover states to provide clear feedback without visual clutter. Use the `badge-status` for pet availability or walk progress indicators, ensuring the typography remains legible at the smaller scale.

More files: all DESIGN.md examples and templates.