Brand
The single source of truth for the DietStyler visual identity — logo, color, and type. Pull assets from here for any surface or repo. For the full design spec (component recipes, accessibility rules), see DESIGN.md in the repo.
Logo
A monochrome leaf mark with a single green accent vein, paired with the monochrome wordmark. The mark tile stays near-black on every background; only the wordmark color changes.
Logo do & don’t
- ✅ Keep clear space around the lockup (≈ the mark’s height).
- ✅ Use the SVGs above; let them scale.
- ✅ Switch to the on-dark wordmark over zinc-900 / zinc-950.
- ❌ Don’t recolor the wordmark or the leaf vein.
- ❌ Don’t add gradients, shadows, or outlines.
- ❌ Don’t reintroduce the old burger/barbell logo or any script font.
Color
Monochrome by default: neutral zinc carries the UI. A single restrained accent — brand green — appears only on the primary CTA, links, the logo vein, and small highlights. Use green-700for any green text or links on white (it’s the accessible step, 5.76:1).
Neutrals — zinc
Accent — brand green
Typography
Geist across the board. Headings are font-semibold tracking-tight, UI labels font-medium, body font-normal.
Aa — Hero, text-5xl
Section heading — text-3xl
Card heading — text-lg
Body copy — text-base, zinc-600. The quick brown fox jumps over the lazy dog.
Supporting / muted — text-sm, zinc-500.
Mono — Geist Mono, for tokens & code.
Iconography
Icons come from lucide-react. They’re monochrome (text-zinc-700) — never colored with the accent — and decorative icons are aria-hidden. The standard icon tile is a hairline-bordered square: h-10 w-10 rounded-lg border border-zinc-200 bg-zinc-50.
Voice
Clinical-calm and trustworthy — this is software RDs trust with client health data. Honest and plain: no fabricated stats, no overpromising. Restraint over decoration.