The governing reference for all Packly visual decisions. Merges the style guide, brand guidelines, and design token spec into one document. When this conflicts with any earlier export, this document takes precedence.
Packly is a pet health and habits platform for engaged adult pet owners. The brand is helpful, informed, and quietly confident. Not clinical. Not cutesy.
Three stacked isometric tiles. Top tile: cat head (Ocean Ink #0A3B4A). Middle tile: nutrition label (Sky #5DAED4). Bottom tile: network node (Teal #4ECDC4). The "y" descender carries a teal accent dot. Never remove it. These are placeholder PNGs -- replace with SVG masters before production use.
packly-logo-color-light.png -- use on light surfaces
packly-logo-color-dark.png -- use on dark surfaces
packly-icon-color-light.png -- favicons, avatars, tight spaces
Ocean ink (#0A3B4A) means "read this." Coral (#FF6B6B) means "do this." Click any swatch to copy its hex value.
Coral ramp (coralRamp) -- 500 (#FF6B6B) is canonical
Neutral ramp (neutralRamp) -- 900 (#0A3B4A) is brand ink anchor
Teal ramp (tealRamp) -- 400 (#4ECDC4) is canonical
Use #C23C3C for coral-colored text smaller than 18px or lighter than 700 weight on light surfaces.
| Color Pair | Ratio | Result | Policy |
|---|---|---|---|
#0A3B4A on white |
10.4:1 | AAA | All uses - passes |
#FF6B6B on white |
~3.1:1 | Fails AA small | Use #C23C3C for small coral text |
White on #FF6B6B |
~3.1:1 | AA large only | Buttons (large/bold) acceptable |
Single font family throughout the app and all brand materials. Weight is the differentiator -- 800 for display, 700 for headings, 600 for labels and actions, 400 for body. No secondary typeface.
Buttons, badges, and chips always use pill (9999px). This is the single most visible signature of the Packly UI.
All components rendered at full fidelity. Two fill variants for buttons: coral for primary actions, ocean for save/confirm. All chips, badges, and buttons are pill-shaped.
Status badges never use coral. Coral means action, not state.
Focus state: coral border. All inputs use 16px radius (md token).
#FFFFFF on #F2F4F7. No border, no shadow. Elevation from contrast alone.
Pill-within-pill. Ocean ink container, white pill inset for active tab. This pattern is characteristic and must be preserved across platforms.
@media (prefers-reduced-motion: reduce) to disable non-essential transitions.UI copy follows consistent conventions. Errors say what went wrong and how to fix it. No em dashes anywhere.