oh-my-design-cli 1.6.7 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/README.md +6 -6
  2. package/data/reference-fingerprints.json +1318 -10
  3. package/package.json +1 -1
  4. package/web/references/11st/DESIGN.md +400 -0
  5. package/web/references/17live/DESIGN.md +43 -0
  6. package/web/references/29cm/DESIGN.md +41 -0
  7. package/web/references/91app/DESIGN.md +31 -0
  8. package/web/references/ably/DESIGN.md +54 -0
  9. package/web/references/airbnb/DESIGN.md +58 -0
  10. package/web/references/airtable/DESIGN.md +39 -0
  11. package/web/references/alipay/DESIGN.md +50 -0
  12. package/web/references/amazingtalker/DESIGN.md +434 -0
  13. package/web/references/appier/DESIGN.md +45 -0
  14. package/web/references/apple/DESIGN.md +47 -0
  15. package/web/references/baemin/DESIGN.md +142 -43
  16. package/web/references/banksalad/DESIGN.md +67 -0
  17. package/web/references/bilibili/DESIGN.md +45 -0
  18. package/web/references/bithumb/DESIGN.md +38 -0
  19. package/web/references/bmw/DESIGN.md +37 -0
  20. package/web/references/brandi/DESIGN.md +414 -0
  21. package/web/references/bunjang/DESIGN.md +47 -0
  22. package/web/references/cakeresume/DESIGN.md +29 -0
  23. package/web/references/cal/DESIGN.md +52 -0
  24. package/web/references/catchtable/DESIGN.md +79 -19
  25. package/web/references/cathay/DESIGN.md +432 -0
  26. package/web/references/channeltalk/DESIGN.md +48 -0
  27. package/web/references/class101/DESIGN.md +51 -0
  28. package/web/references/classting/DESIGN.md +41 -0
  29. package/web/references/classum/DESIGN.md +43 -0
  30. package/web/references/claude/DESIGN.md +157 -70
  31. package/web/references/clay/DESIGN.md +56 -0
  32. package/web/references/clickhouse/DESIGN.md +50 -0
  33. package/web/references/cloudflare/DESIGN.md +637 -0
  34. package/web/references/cohere/DESIGN.md +48 -0
  35. package/web/references/coinbase/DESIGN.md +139 -5
  36. package/web/references/coinone/DESIGN.md +39 -0
  37. package/web/references/composio/DESIGN.md +46 -0
  38. package/web/references/cookpad/DESIGN.md +37 -0
  39. package/web/references/coupang/DESIGN.md +57 -2
  40. package/web/references/cursor/DESIGN.md +44 -0
  41. package/web/references/dabang/DESIGN.md +57 -19
  42. package/web/references/dcard/DESIGN.md +57 -0
  43. package/web/references/dell/DESIGN.md +636 -0
  44. package/web/references/devsisters/DESIGN.md +29 -0
  45. package/web/references/discord/DESIGN.md +604 -0
  46. package/web/references/dji/DESIGN.md +39 -0
  47. package/web/references/drnow/DESIGN.md +52 -0
  48. package/web/references/duolingo/DESIGN.md +563 -0
  49. package/web/references/elevenlabs/DESIGN.md +39 -0
  50. package/web/references/expo/DESIGN.md +39 -0
  51. package/web/references/fastcampus/DESIGN.md +50 -0
  52. package/web/references/ferrari/DESIGN.md +47 -0
  53. package/web/references/figma/DESIGN.md +44 -0
  54. package/web/references/finda/DESIGN.md +413 -0
  55. package/web/references/flex/DESIGN.md +28 -0
  56. package/web/references/flo/DESIGN.md +43 -0
  57. package/web/references/framer/DESIGN.md +38 -0
  58. package/web/references/freee/DESIGN.md +48 -0
  59. package/web/references/fugle/DESIGN.md +41 -1
  60. package/web/references/gangnamunni/DESIGN.md +57 -1
  61. package/web/references/genie/DESIGN.md +415 -0
  62. package/web/references/github/DESIGN.md +727 -0
  63. package/web/references/gmarket/DESIGN.md +51 -0
  64. package/web/references/gogolook/DESIGN.md +25 -1
  65. package/web/references/gogoro/DESIGN.md +38 -0
  66. package/web/references/grip/DESIGN.md +39 -0
  67. package/web/references/hahow/DESIGN.md +26 -0
  68. package/web/references/hashicorp/DESIGN.md +42 -0
  69. package/web/references/hogangnono/DESIGN.md +41 -0
  70. package/web/references/hp/DESIGN.md +563 -0
  71. package/web/references/hyperconnect/DESIGN.md +393 -0
  72. package/web/references/hyundaicard/DESIGN.md +24 -0
  73. package/web/references/ibm/DESIGN.md +44 -0
  74. package/web/references/ichef/DESIGN.md +44 -0
  75. package/web/references/ikala/DESIGN.md +400 -0
  76. package/web/references/inflearn/DESIGN.md +38 -0
  77. package/web/references/intercom/DESIGN.md +38 -0
  78. package/web/references/jandi/DESIGN.md +382 -0
  79. package/web/references/jkopay/DESIGN.md +35 -1
  80. package/web/references/jobkorea/DESIGN.md +39 -0
  81. package/web/references/jumpit/DESIGN.md +37 -0
  82. package/web/references/kakao/DESIGN.md +64 -0
  83. package/web/references/kakaobank/DESIGN.md +55 -1
  84. package/web/references/kakaopay/DESIGN.md +59 -0
  85. package/web/references/kakaot/DESIGN.md +53 -0
  86. package/web/references/karrot/DESIGN.md +49 -0
  87. package/web/references/kbank/DESIGN.md +39 -0
  88. package/web/references/kdan/DESIGN.md +34 -1
  89. package/web/references/kintone/DESIGN.md +586 -0
  90. package/web/references/kkbox/DESIGN.md +22 -0
  91. package/web/references/kkday/DESIGN.md +47 -0
  92. package/web/references/kmong/DESIGN.md +427 -0
  93. package/web/references/krafton/DESIGN.md +37 -0
  94. package/web/references/kraken/DESIGN.md +44 -0
  95. package/web/references/krds/DESIGN.md +63 -0
  96. package/web/references/kream/DESIGN.md +32 -0
  97. package/web/references/kurly/DESIGN.md +38 -1
  98. package/web/references/laftel/DESIGN.md +40 -0
  99. package/web/references/lamborghini/DESIGN.md +54 -0
  100. package/web/references/layerx/DESIGN.md +615 -0
  101. package/web/references/lezhin/DESIGN.md +47 -0
  102. package/web/references/line/DESIGN.md +36 -0
  103. package/web/references/linear.app/DESIGN.md +182 -88
  104. package/web/references/loom/DESIGN.md +396 -0
  105. package/web/references/lovable/DESIGN.md +38 -0
  106. package/web/references/lunit/DESIGN.md +47 -19
  107. package/web/references/mastercard/DESIGN.md +587 -0
  108. package/web/references/meituan/DESIGN.md +42 -0
  109. package/web/references/melon/DESIGN.md +26 -0
  110. package/web/references/mercari/DESIGN.md +41 -0
  111. package/web/references/mercury/DESIGN.md +589 -0
  112. package/web/references/meta/DESIGN.md +615 -0
  113. package/web/references/millie/DESIGN.md +51 -0
  114. package/web/references/minimax/DESIGN.md +53 -0
  115. package/web/references/mintlify/DESIGN.md +45 -0
  116. package/web/references/miro/DESIGN.md +47 -0
  117. package/web/references/mistral.ai/DESIGN.md +37 -0
  118. package/web/references/momoshop/DESIGN.md +43 -0
  119. package/web/references/money-forward/DESIGN.md +42 -0
  120. package/web/references/mongodb/DESIGN.md +44 -0
  121. package/web/references/muji/DESIGN.md +605 -0
  122. package/web/references/musinsa/DESIGN.md +48 -0
  123. package/web/references/mustit/DESIGN.md +47 -1
  124. package/web/references/myrealtrip/DESIGN.md +49 -0
  125. package/web/references/naver/DESIGN.md +50 -1
  126. package/web/references/naverwebtoon/DESIGN.md +48 -0
  127. package/web/references/netflix/DESIGN.md +572 -0
  128. package/web/references/nexon/DESIGN.md +389 -0
  129. package/web/references/nhncloud/DESIGN.md +33 -0
  130. package/web/references/nike/DESIGN.md +588 -0
  131. package/web/references/note/DESIGN.md +28 -0
  132. package/web/references/notion/DESIGN.md +48 -0
  133. package/web/references/nvidia/DESIGN.md +50 -0
  134. package/web/references/ohouse/DESIGN.md +56 -0
  135. package/web/references/oliveyoung/DESIGN.md +47 -1
  136. package/web/references/ollama/DESIGN.md +40 -0
  137. package/web/references/openai/DESIGN.md +641 -0
  138. package/web/references/opencode.ai/DESIGN.md +37 -0
  139. package/web/references/payco/DESIGN.md +40 -0
  140. package/web/references/paypay/DESIGN.md +656 -0
  141. package/web/references/pchome/DESIGN.md +439 -0
  142. package/web/references/perplexity/DESIGN.md +546 -0
  143. package/web/references/piccollage/DESIGN.md +43 -0
  144. package/web/references/pinkoi/DESIGN.md +55 -0
  145. package/web/references/pinterest/DESIGN.md +44 -0
  146. package/web/references/pixiv/DESIGN.md +613 -0
  147. package/web/references/pixnet/DESIGN.md +430 -0
  148. package/web/references/posthog/DESIGN.md +50 -0
  149. package/web/references/publy/DESIGN.md +52 -0
  150. package/web/references/qanda/DESIGN.md +49 -1
  151. package/web/references/ragic/DESIGN.md +444 -0
  152. package/web/references/ramp/DESIGN.md +634 -0
  153. package/web/references/rayark/DESIGN.md +22 -0
  154. package/web/references/raycast/DESIGN.md +45 -0
  155. package/web/references/remember/DESIGN.md +44 -0
  156. package/web/references/renault/DESIGN.md +42 -0
  157. package/web/references/replicate/DESIGN.md +39 -0
  158. package/web/references/resend/DESIGN.md +44 -0
  159. package/web/references/retool/DESIGN.md +645 -0
  160. package/web/references/revolut/DESIGN.md +46 -0
  161. package/web/references/richart/DESIGN.md +465 -0
  162. package/web/references/ridi/DESIGN.md +47 -0
  163. package/web/references/riiid/DESIGN.md +32 -0
  164. package/web/references/robinhood/DESIGN.md +604 -0
  165. package/web/references/runwayml/DESIGN.md +45 -0
  166. package/web/references/sanity/DESIGN.md +50 -0
  167. package/web/references/sansan/DESIGN.md +631 -0
  168. package/web/references/sendbird/DESIGN.md +46 -0
  169. package/web/references/sentry/DESIGN.md +48 -0
  170. package/web/references/shinhancard/DESIGN.md +421 -0
  171. package/web/references/shopline/DESIGN.md +431 -0
  172. package/web/references/slack/DESIGN.md +635 -0
  173. package/web/references/smarthr/DESIGN.md +48 -0
  174. package/web/references/smartnews/DESIGN.md +29 -0
  175. package/web/references/socar/DESIGN.md +35 -0
  176. package/web/references/soomgo/DESIGN.md +326 -0
  177. package/web/references/spacex/DESIGN.md +27 -0
  178. package/web/references/spoon/DESIGN.md +46 -0
  179. package/web/references/spotify/DESIGN.md +49 -0
  180. package/web/references/starbucks/DESIGN.md +597 -0
  181. package/web/references/stripe/DESIGN.md +46 -0
  182. package/web/references/studio/DESIGN.md +602 -0
  183. package/web/references/supabase/DESIGN.md +41 -0
  184. package/web/references/superhuman/DESIGN.md +39 -0
  185. package/web/references/surveycake/DESIGN.md +442 -0
  186. package/web/references/tada/DESIGN.md +51 -0
  187. package/web/references/tesla/DESIGN.md +36 -0
  188. package/web/references/theverge/DESIGN.md +500 -0
  189. package/web/references/together.ai/DESIGN.md +33 -0
  190. package/web/references/toss/DESIGN.md +43 -0
  191. package/web/references/toss-securities/DESIGN.md +54 -19
  192. package/web/references/tossbank/DESIGN.md +57 -0
  193. package/web/references/trenbe/DESIGN.md +41 -0
  194. package/web/references/triple/DESIGN.md +47 -0
  195. package/web/references/tumblbug/DESIGN.md +48 -0
  196. package/web/references/tving/DESIGN.md +40 -0
  197. package/web/references/uber/DESIGN.md +36 -0
  198. package/web/references/ubie/DESIGN.md +615 -0
  199. package/web/references/uniqlo/DESIGN.md +575 -0
  200. package/web/references/upbit/DESIGN.md +42 -0
  201. package/web/references/upstage/DESIGN.md +38 -0
  202. package/web/references/velog/DESIGN.md +28 -0
  203. package/web/references/vercel/DESIGN.md +44 -0
  204. package/web/references/voicetube/DESIGN.md +39 -0
  205. package/web/references/voltagent/DESIGN.md +44 -0
  206. package/web/references/wadiz/DESIGN.md +71 -19
  207. package/web/references/wanted/DESIGN.md +46 -0
  208. package/web/references/warp/DESIGN.md +37 -0
  209. package/web/references/watcha/DESIGN.md +40 -0
  210. package/web/references/wavve/DESIGN.md +43 -1
  211. package/web/references/wconcept/DESIGN.md +45 -0
  212. package/web/references/webflow/DESIGN.md +49 -0
  213. package/web/references/wired/DESIGN.md +572 -0
  214. package/web/references/wise/DESIGN.md +41 -0
  215. package/web/references/x.ai/DESIGN.md +31 -0
  216. package/web/references/xiaohongshu/DESIGN.md +39 -0
  217. package/web/references/yanolja/DESIGN.md +45 -0
  218. package/web/references/yeogiotte/DESIGN.md +42 -1
  219. package/web/references/yogiyo/DESIGN.md +50 -0
  220. package/web/references/yourator/DESIGN.md +453 -0
  221. package/web/references/zapier/DESIGN.md +41 -0
  222. package/web/references/zigbang/DESIGN.md +33 -0
  223. package/web/references/zigzag/DESIGN.md +62 -0
  224. package/web/references/zozotown/DESIGN.md +578 -0
@@ -0,0 +1,589 @@
1
+ ---
2
+ id: mercury
3
+ name: Mercury
4
+ country: US
5
+ category: fintech
6
+ homepage: "https://mercury.com"
7
+ primary_color: "#5266eb"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=mercury.com&sz=128"
11
+ verified: "2026-06-06"
12
+ added: "2026-06-06"
13
+ omd: "0.1"
14
+ tokens:
15
+ source: prose-derived
16
+ extracted: "2026-06-09"
17
+ colors:
18
+ primary: "#5266eb"
19
+ primary-hover: "#4354c8"
20
+ primary-active: "#3442a6"
21
+ periwinkle: "#9cb4e8"
22
+ mist: "#cdddff"
23
+ canvas: "#171721"
24
+ canvas-elevated: "#1e1e2a"
25
+ canvas-light: "#fbfcfd"
26
+ surface: "#ededf3"
27
+ surface-secondary: "#f4f5f9"
28
+ surface-hover: "#dddde5"
29
+ ink-subdued: "#c3c3cc"
30
+ ink-disabled: "#70707d"
31
+ on-primary: "#ffffff"
32
+ error: "#d03275"
33
+ hairline: "#272735"
34
+ typography:
35
+ family: { sans: "Arcadia", mono: "Arcadia Mono" }
36
+ display-hero: { size: 65, weight: 360, lineHeight: 1.05, tracking: 0.42, use: "Marketing hero, Arcadia Display" }
37
+ display-lg: { size: 48, weight: 360, lineHeight: 1.10, tracking: 0.42, use: "Section openers" }
38
+ heading-lg: { size: 28, weight: 480, lineHeight: 1.25, use: "Feature titles, modal headers" }
39
+ heading: { size: 22, weight: 480, lineHeight: 1.30, use: "Card headings, sub-sections" }
40
+ subtitle: { size: 18, weight: 420, lineHeight: 1.40, use: "List headers, nav titles" }
41
+ body-lg: { size: 17, weight: 400, lineHeight: 1.625, use: "Lead paragraphs" }
42
+ body: { size: 15, weight: 400, lineHeight: 1.625, use: "Standard reading text" }
43
+ body-sm: { size: 13, weight: 400, lineHeight: 1.50, use: "Secondary info, dense tables" }
44
+ caption: { size: 12, weight: 420, lineHeight: 1.40, use: "Metadata, timestamps, labels" }
45
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 18, xl: 24, xxl: 28, section: 48 }
46
+ rounded: { sm: 4, md: 4, lg: 12, full: 9999 }
47
+ shadow:
48
+ card: "0px 1px 2px rgba(23,23,33,0.06)"
49
+ elevated: "0px 8px 32px rgba(0,0,0,0.4)"
50
+ dialog: "0px 16px 48px rgba(23,23,33,0.24)"
51
+ components:
52
+ button-primary: { type: button, bg: "#5266eb", fg: "#ffffff", radius: 4, padding: "10px 18px", font: "15px/480", use: "Single primary action Open Account" }
53
+ button-secondary: { type: button, bg: "#ededf3", fg: "#1e1e2a", radius: 4, padding: "10px 18px", font: "15px/480", use: "Secondary action" }
54
+ button-ghost: { type: button, bg: "transparent", fg: "#5266eb", radius: 4, padding: "10px 14px", font: "15px/420", use: "Inline low-emphasis Learn more" }
55
+ email-pill: { type: button, bg: "#5266eb", fg: "#ffffff", radius: 9999, padding: "0 20px", font: "15px/480", use: "Signature hero email-capture pill" }
56
+ input: { type: input, bg: "#fbfcfd", fg: "#1e1e2a", radius: 4, padding: "10px 12px", font: "15px/400", use: "Standard dashboard field" }
57
+ badge-neutral: { type: badge, bg: "#f4f5f9", fg: "#70707d", radius: 4, padding: "2px 8px", font: "12px/480", use: "Category/status metadata" }
58
+ badge-accent: { type: badge, fg: "#5266eb", radius: 4, padding: "2px 8px", font: "12px/480", use: "Highlighted status New/Active" }
59
+ card: { type: card, bg: "#ffffff", radius: 12, padding: "24px", use: "Dashboard panels, balance cards" }
60
+ tab: { type: tab, bg: "transparent", fg: "#70707d", active: "2px bottom border #5266eb", font: "15px/480", use: "Dashboard section switching" }
61
+ toast: { type: toast, bg: "#1e1e2a", fg: "#ededf3", radius: 12, padding: "12px 16px", use: "Transient confirmation" }
62
+ dialog: { type: dialog, bg: "#ffffff", radius: 12, padding: "28px", use: "Confirmation/form modal" }
63
+ toggle: { type: toggle, bg: "#5266eb", radius: 9999, use: "Boolean settings, on=indigo off=#c3c3cc" }
64
+ components_harvested: true
65
+ ---
66
+
67
+ # Design System Inspiration of Mercury
68
+
69
+ ## 1. Visual Theme & Atmosphere
70
+
71
+ Mercury is banking built for startups, and its interface carries the quiet confidence of software made by people who care about craft. The brand refuses the two dominant fintech clichés at once: it is neither the cold institutional navy of legacy banks nor the candy-bright gradients of consumer neobanks. Instead, Mercury occupies a refined, almost cinematic middle ground — deep indigo-black canvases (`#171721`), soft off-white ink (`#ededf3`) that reads as luminous rather than glaring, and a single disciplined indigo (`#5266eb`) reserved for the one action that matters on each screen.
72
+
73
+ The atmosphere is editorial and spacious. Marketing surfaces lean into dark, near-black backgrounds washed with subtle periwinkle-to-mist gradients (`#9cb4e8` → `#cdddff`), giving product mockups a sense of depth and lift without ever shouting. The product dashboard itself inverts to a clean light surface (`#fbfcfd` / `#ededf3`) where money, balances, and tables live in calm, high-legibility neutrals. This light/dark duality — dramatic marketing canvas, serene product canvas — is the core tension Mercury orchestrates.
74
+
75
+ The proprietary **Arcadia** and **Arcadia Display** typefaces are the brand's signature. Arcadia is a contemporary grotesque with a custom 480 weight — calibrated to feel authoritative without heaviness, sitting deliberately between regular (400) and medium (500). Display sizes carry a positive 0.42px letter-spacing that makes large headlines feel composed and intentional. The overall effect is one of restraint and taste: Mercury looks like a product that respects your intelligence.
76
+
77
+ **Key Characteristics:**
78
+ - Indigo `#5266eb` as the sole primary action color — one filled CTA per section, never decorative
79
+ - Proprietary Arcadia / Arcadia Display type with a custom 480 weight (between 400 and 500)
80
+ - Dark editorial marketing canvas (`#171721`) inverting to a light product canvas (`#fbfcfd`)
81
+ - Soft off-white ink (`#ededf3`) instead of pure white — reduces eye strain on dark surfaces
82
+ - Tight 4px base radius (the workhorse), with 12px and 40px as secondary radii
83
+ - Refined periwinkle→mist gradient washes (`#9cb4e8` → `#cdddff`) behind product imagery
84
+ - Generous 1.625 body line-height and deliberate letter-spacing on display type
85
+
86
+ ## 2. Color Palette & Roles
87
+
88
+ ### Primary
89
+ - **Indigo** (`#5266eb`): Primary brand and action color. CTA fills ("Open Account"), links, active states, focus rings. One filled CTA per band — never used decoratively.
90
+ - **Indigo Hover** (`#4354c8`): Hover state for primary fills.
91
+ - **Indigo Active** (`#3442a6`): Pressed/active state for primary fills.
92
+ - **Periwinkle** (`#9cb4e8`): Accent — gradient washes, product-mockup highlights, illustrative tints. Kept off buttons.
93
+ - **Mist** (`#cdddff`): Lightest accent — gradient terminus, soft surface tints behind imagery.
94
+
95
+ ### Surface
96
+ - **Canvas** (`#171721`): Indigo-black. Default dark marketing canvas — hero sections, footers, immersive bands.
97
+ - **Canvas Elevated** (`#1e1e2a`): Raised dark surface — cards and panels floating on the dark canvas.
98
+ - **Canvas Light** (`#fbfcfd`): Near-white product canvas — the dashboard background.
99
+ - **Surface Default** (`#ededf3`): Primary light surface — card fills on light, panel backgrounds.
100
+ - **Surface Secondary** (`#f4f5f9`): Secondary light fill — table zebra rows, nested panels.
101
+ - **Surface Hover** (`#dddde5`): Hover fill for light interactive rows and list items.
102
+
103
+ ### Text (Ink)
104
+ - **Ink Default** (`#ededf3`): Soft off-white. Primary text on dark canvases. Deliberately not pure white.
105
+ - **Ink Emphasized** (`#1e1e2a`): Near-black. Primary heading/text on light product surfaces.
106
+ - **Ink Subdued** (`#c3c3cc`): Secondary/caption text, metadata, muted labels.
107
+ - **Ink Disabled** (`#70707d`): Disabled labels, placeholder text.
108
+ - **On Primary** (`#ffffff`): Pure white — text/icon on top of indigo fills only.
109
+
110
+ ### Semantic
111
+ - **Error** (`#d03275`): Magenta-rose. Error states, destructive confirmation, negative validation. Mercury uses a rose rather than a fire-red — softer, more on-brand.
112
+ - **Success** (`#3442a6` family / contextual green in product): Positive financial indicators in the dashboard render in calm tones; success is communicated through state and copy more than saturated green.
113
+
114
+ ### Borders
115
+ - **Hairline** (`#272735`): Dark-canvas dividers and 1px borders on `#171721`.
116
+ - **Hairline Subdued** (`#c3c3cc`): Light-surface dividers, table rules, input borders on light.
117
+
118
+ ### Neutral Notes
119
+ Mercury's neutral ramp is intentionally narrow and slightly cool. The dark end clusters around `#171721` / `#1e1e2a` / `#272735`; the mid greys are `#70707d` / `#c3c3cc`; the light end is `#dddde5` / `#ededf3` / `#f4f5f9` / `#fbfcfd`. There is no warm grey in the system — everything carries a faint blue undertone consistent with the indigo brand.
120
+
121
+ ## 3. Typography Rules
122
+
123
+ ### Font Family
124
+ - **Primary**: `"Arcadia", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif`
125
+ - **Display**: `"Arcadia Display", "Arcadia", -apple-system, BlinkMacSystemFont, sans-serif`
126
+ - **Monospace (figures/code)**: `"Arcadia Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace`
127
+
128
+ Arcadia is a proprietary commission. When unavailable, a clean neo-grotesque fallback (Helvetica Neue / system sans) preserves the geometry and neutrality.
129
+
130
+ ### Weights
131
+ Arcadia ships in a tight custom set: **360, 400, 420, 480**. The hero of the system is **480** — a custom weight between regular (400) and medium (500), authoritative without feeling heavy. 360 is reserved for large display text where lightness reads as elegant; 400 is body; 420 is subtle emphasis; 480 is headings and labels.
132
+
133
+ ### Hierarchy
134
+
135
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
136
+ |------|------|------|--------|-------------|----------------|-------|
137
+ | Display Hero | Arcadia Display | 65px | 360 | 1.05 | +0.42px | Marketing hero headlines |
138
+ | Display Large | Arcadia Display | 48px | 360 | 1.1 | +0.42px | Section openers |
139
+ | Display Medium | Arcadia Display | 36px | 400 | 1.15 | +0.2px | Band titles |
140
+ | Heading Large | Arcadia | 28px | 480 | 1.25 | normal | Feature titles, modal headers |
141
+ | Heading | Arcadia | 22px | 480 | 1.3 | normal | Card headings, sub-sections |
142
+ | Subtitle | Arcadia | 18px | 420 | 1.4 | normal | List headers, nav titles |
143
+ | Body Large | Arcadia | 17px | 400 | 1.625 | normal | Lead paragraphs, descriptions |
144
+ | Body | Arcadia | 15px | 400 | 1.625 | normal | Standard reading text |
145
+ | Body Small | Arcadia | 13px | 400 | 1.5 | normal | Secondary info, dense tables |
146
+ | Caption | Arcadia | 12px | 420 | 1.4 | normal | Metadata, timestamps, labels |
147
+ | Numeric / Figures | Arcadia Mono | contextual | 400 | tight | normal | Balances, amounts — tabular figures |
148
+
149
+ ### Principles
150
+ - **480 is the brand voice.** The custom 480 weight carries headings and key labels. It is the single most identifying typographic choice — neither thin nor bold, just quietly confident.
151
+ - **Display gets letter-spacing.** Large Arcadia Display headlines use +0.42px tracking; body text uses none. The wider the type, the more deliberate the spacing.
152
+ - **Generous line-height.** Body runs at 1.625 — unusually airy — because long-form marketing copy on dark surfaces needs breathing room to stay legible.
153
+ - **Off-white, not white.** Text on dark canvases is `#ededf3`, never `#ffffff`, to soften contrast and reduce strain.
154
+ - **Tabular figures for money.** Financial amounts in the dashboard use monospaced/tabular Arcadia figures so columns align.
155
+
156
+ ## 4. Component Stylings
157
+
158
+ ### Buttons
159
+
160
+ Mercury's button system is disciplined: typically one filled (primary) CTA per section, paired with ghost or secondary actions. Base radius is **4px** — tight and software-like, not pill-soft (the marketing email-capture pill is the exception at a larger radius).
161
+
162
+ **Primary (Fill)**
163
+ - Background: `#5266eb`
164
+ - Text: `#ffffff`
165
+ - Border: none
166
+ - Radius: 4px
167
+ - Padding: 10px 18px
168
+ - Font: 15px / 480 / Arcadia
169
+ - Height: ~40px
170
+ - Hover: `#4354c8`
171
+ - Active: `#3442a6`
172
+ - Disabled: `#70707d` bg, `#c3c3cc` text
173
+ - Use: The single primary action — "Open Account", "Apply now"
174
+
175
+ **Secondary (Subtle)**
176
+ - Background: `#ededf3` (light) / `#1e1e2a` (dark)
177
+ - Text: `#1e1e2a` (light) / `#ededf3` (dark)
178
+ - Border: none
179
+ - Radius: 4px
180
+ - Padding: 10px 18px
181
+ - Font: 15px / 480 / Arcadia
182
+ - Hover: `#dddde5` (light) / `#272735` (dark)
183
+ - Use: Secondary action beside the primary CTA
184
+
185
+ **Ghost / Tertiary**
186
+ - Background: transparent
187
+ - Text: `#5266eb` (light) / `#ededf3` (dark)
188
+ - Border: none
189
+ - Radius: 4px
190
+ - Padding: 10px 14px
191
+ - Font: 15px / 420 / Arcadia
192
+ - Hover: faint `rgba(82,102,235,0.08)` wash
193
+ - Use: Inline / low-emphasis actions, "Learn more"
194
+
195
+ **Outline**
196
+ - Background: transparent
197
+ - Text: `#ededf3` (on dark) / `#1e1e2a` (on light)
198
+ - Border: 1px solid `#272735` (dark) / `#c3c3cc` (light)
199
+ - Radius: 4px
200
+ - Padding: 10px 18px
201
+ - Font: 15px / 480 / Arcadia
202
+ - Use: Secondary CTA on hero bands where a fill would over-compete
203
+
204
+ **Email-Capture Pill (Marketing)**
205
+ - Background: `#5266eb`
206
+ - Text: `#ffffff`
207
+ - Border: none
208
+ - Radius: 40px (pill)
209
+ - Padding: 0 20px, ~32px tall
210
+ - Font: 15px / 480 / Arcadia
211
+ - Use: The signature hero email-capture / "Open Account" pill — the one place the large 40px radius appears
212
+
213
+ ### Inputs
214
+
215
+ **Text Field (Light / Product)**
216
+ - Background: `#fbfcfd`
217
+ - Text: `#1e1e2a`
218
+ - Border: 1px solid `#c3c3cc`
219
+ - Radius: 4px
220
+ - Padding: 10px 12px
221
+ - Font: 15px / 400 / Arcadia
222
+ - Placeholder: `#70707d`
223
+ - Focus: 1px border `#5266eb` + 2px `rgba(82,102,235,0.2)` ring
224
+ - Use: Standard dashboard form field
225
+
226
+ **Text Field (Dark / Marketing)**
227
+ - Background: `#1e1e2a`
228
+ - Text: `#ededf3`
229
+ - Border: 1px solid `#272735`
230
+ - Radius: 4px
231
+ - Padding: 10px 12px
232
+ - Font: 15px / 400 / Arcadia
233
+ - Placeholder: `#70707d`
234
+ - Focus: border `#5266eb`
235
+ - Use: Forms on dark canvas
236
+
237
+ **Error State**
238
+ - Border: 1px solid `#d03275`
239
+ - Help text: `#d03275`, 12px / 420
240
+ - Use: Inline validation failure
241
+
242
+ ### Cards
243
+
244
+ **Product Card (Light)**
245
+ - Background: `#ffffff` / `#ededf3`
246
+ - Border: 1px solid `#c3c3cc` (hairline subdued) or none
247
+ - Radius: 12px
248
+ - Padding: 24px
249
+ - Shadow: `0px 1px 2px rgba(23,23,33,0.06)`
250
+ - Use: Dashboard panels, account/balance cards
251
+
252
+ **Elevated Card (Dark)**
253
+ - Background: `#1e1e2a`
254
+ - Border: 1px solid `#272735`
255
+ - Radius: 12px
256
+ - Padding: 24px
257
+ - Shadow: `0px 8px 32px rgba(0,0,0,0.4)`
258
+ - Use: Floating panels and product mockups on the dark marketing canvas
259
+
260
+ **Compact List Row**
261
+ - Background: transparent
262
+ - Border-bottom: 1px solid `#c3c3cc` (light) / `#272735` (dark)
263
+ - Radius: 0
264
+ - Padding: 12px 16px
265
+ - Hover: `#dddde5` (light) / `#272735` (dark)
266
+ - Use: Transaction rows, account lists
267
+
268
+ ### Badges
269
+
270
+ **Neutral**
271
+ - Background: `#f4f5f9` (light) / `#272735` (dark)
272
+ - Text: `#70707d` (light) / `#c3c3cc` (dark)
273
+ - Radius: 4px
274
+ - Padding: 2px 8px
275
+ - Font: 12px / 480 / Arcadia
276
+ - Use: Category/status metadata
277
+
278
+ **Accent**
279
+ - Background: `rgba(82,102,235,0.12)`
280
+ - Text: `#5266eb`
281
+ - Radius: 4px
282
+ - Padding: 2px 8px
283
+ - Font: 12px / 480 / Arcadia
284
+ - Use: Highlighted status ("New", "Active")
285
+
286
+ **Error**
287
+ - Background: `rgba(208,50,117,0.12)`
288
+ - Text: `#d03275`
289
+ - Radius: 4px
290
+ - Padding: 2px 8px
291
+ - Font: 12px / 480 / Arcadia
292
+ - Use: Negative / blocking status ("Failed", "Declined")
293
+
294
+ ### Tabs
295
+
296
+ **Underline Tabs**
297
+ - Background: transparent
298
+ - Text (inactive): `#70707d`
299
+ - Text (active): `#1e1e2a` (light) / `#ededf3` (dark)
300
+ - Active indicator: 2px bottom border `#5266eb`
301
+ - Font: 15px / 480 / Arcadia
302
+ - Use: Dashboard section switching
303
+
304
+ ### Navigation
305
+
306
+ **Top Nav (Marketing, Dark)**
307
+ - Background: `#171721` (transparent → solid on scroll)
308
+ - Link text: `#ededf3`, 15px / 420
309
+ - Link hover: `#ffffff`
310
+ - CTA: indigo pill `#5266eb`
311
+ - Use: Inverted marketing navigation
312
+
313
+ ### Toasts
314
+
315
+ **Default**
316
+ - Background: `#1e1e2a`
317
+ - Text: `#ededf3`
318
+ - Border: 1px solid `#272735`
319
+ - Radius: 12px
320
+ - Padding: 12px 16px
321
+ - Shadow: `0px 8px 24px rgba(0,0,0,0.3)`
322
+ - Font: 14px / 400 / Arcadia
323
+ - Use: Transient confirmation
324
+
325
+ ### Dialogs
326
+
327
+ **Centered Modal**
328
+ - Background: `#ffffff` (light) / `#1e1e2a` (dark)
329
+ - Text: `#1e1e2a` / `#ededf3`
330
+ - Border: none
331
+ - Radius: 12px
332
+ - Padding: 28px
333
+ - Shadow: `0px 16px 48px rgba(23,23,33,0.24)`
334
+ - Scrim: `rgba(23,23,33,0.6)`
335
+ - Use: Confirmation and form modals
336
+
337
+ ### Toggles
338
+
339
+ **Default**
340
+ - Track: `#5266eb` (on) / `#c3c3cc` (off, light) · `#272735` (off, dark)
341
+ - Thumb: `#ffffff` 18px circle, `0px 1px 2px rgba(0,0,0,0.2)`
342
+ - Radius: 9999px
343
+ - Use: Boolean settings
344
+
345
+
346
+ **Tier 1 sources:** https://mercury.com (live production site, verified via live DOM getComputedStyle).
347
+
348
+ ## 5. Layout Principles
349
+
350
+ ### Spacing System
351
+ - Base unit: 8px
352
+ - Common values: 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96px
353
+ - Marketing bands use generous vertical rhythm — 96px+ between sections
354
+ - Product/dashboard uses tighter 16-24px panel gaps
355
+
356
+ ### Grid & Container
357
+ - Marketing max-width: ~1200px centered
358
+ - 12-column grid under the hood; content typically spans 8-10 columns centered
359
+ - Generous side gutters on wide screens reinforce the editorial feel
360
+ - Dashboard uses a left sidebar + fluid content region
361
+
362
+ ### Whitespace Philosophy
363
+ - **Editorial spaciousness.** Marketing surfaces are deliberately airy — large headlines, single CTAs, lots of negative space around product imagery.
364
+ - **One idea per band.** Each marketing section makes one point with one visual and at most one filled CTA.
365
+ - **Dense where it counts.** The dashboard packs financial data efficiently; spaciousness is a marketing posture, density is a product necessity.
366
+
367
+ ### Border Radius Scale
368
+ - Tight (4px): The workhorse — buttons, inputs, badges, most surfaces
369
+ - Comfortable (12px): Cards, modals, toasts
370
+ - Pill (40px): Email-capture / hero CTA pill, the deliberate exception
371
+ - Circle (9999px): Toggles, avatars
372
+
373
+ ## 6. Depth & Elevation
374
+
375
+ | Level | Treatment | Use |
376
+ |-------|-----------|-----|
377
+ | Flat (0) | No shadow | Page background, inline elements, list rows |
378
+ | Subtle (1) | `0px 1px 2px rgba(23,23,33,0.06)` | Light product cards, slight lift |
379
+ | Standard (2) | `0px 4px 16px rgba(23,23,33,0.10)` | Dropdowns, popovers on light |
380
+ | Elevated (3) | `0px 8px 32px rgba(0,0,0,0.4)` | Dark-canvas floating product mockups |
381
+ | Modal (4) | `0px 16px 48px rgba(23,23,33,0.24)` | Dialogs, modals |
382
+
383
+ **Shadow Philosophy:** On light product surfaces, Mercury keeps shadows whisper-soft and cool-tinted (indigo-black `rgba(23,23,33,...)` rather than pure black). On the dark marketing canvas, depth is dramatic — large, diffuse `rgba(0,0,0,0.4)` shadows make product cards appear to float, reinforcing the cinematic feel. Depth is theatrical in marketing, restrained in product.
384
+
385
+ ### Gradient & Light
386
+ - Periwinkle→mist gradient washes (`#9cb4e8` → `#cdddff`) sit behind hero product imagery as soft radial or linear glows.
387
+ - Subtle vignetting on the dark canvas focuses attention toward centered content.
388
+ - Glass/blur is used sparingly on sticky nav over imagery.
389
+
390
+ ## 7. Do's and Don'ts
391
+
392
+ ### Do
393
+ - Use indigo `#5266eb` for the single primary action per section — links, focus rings, the one CTA
394
+ - Use the custom 480 weight for headings and key labels
395
+ - Use `#ededf3` (off-white), never pure white, for text on dark canvases
396
+ - Keep base radius at 4px for buttons, inputs, and badges
397
+ - Reserve the 40px pill radius for the hero email-capture / "Open Account" CTA
398
+ - Apply +0.42px letter-spacing on large Arcadia Display headlines
399
+ - Use cool, indigo-tinted shadows (`rgba(23,23,33,...)`) on light surfaces
400
+ - Let marketing breathe — one idea, one visual, one CTA per band
401
+
402
+ ### Don't
403
+ - Don't put accent periwinkle/mist on buttons — they belong in gradient washes and imagery only
404
+ - Don't use more than one filled CTA per section
405
+ - Don't use pure white text on dark canvases — use `#ededf3`
406
+ - Don't use warm greys — every neutral carries a faint blue undertone
407
+ - Don't over-round — 4px is the brand's tight, software-like default
408
+ - Don't use a saturated fire-red for errors — Mercury's error is rose `#d03275`
409
+ - Don't crowd marketing surfaces — density is for the dashboard, not the homepage
410
+
411
+ ## 8. Responsive Behavior
412
+
413
+ ### Breakpoints
414
+ | Name | Width | Key Changes |
415
+ |------|-------|-------------|
416
+ | Mobile | <640px | Single column, stacked bands, hamburger nav, full-width CTAs |
417
+ | Tablet | 640-1024px | 2-column product grids, condensed sidebar |
418
+ | Desktop | 1024-1280px | Full marketing grid, persistent dashboard sidebar |
419
+ | Wide | >1280px | Centered ~1200px container, generous gutters |
420
+
421
+ ### Touch Targets
422
+ - Buttons: ~40px tall minimum; pill CTA ~32-44px
423
+ - List/transaction rows: ≥44px
424
+ - Dashboard controls: comfortable 40px tap zones
425
+
426
+ ### Collapsing Strategy
427
+ - Dashboard sidebar collapses to an icon rail, then to a drawer on mobile
428
+ - Multi-column marketing bands stack to single column
429
+ - Hero headlines scale down (65px → ~36px) while preserving Display weight and tracking
430
+ - Tables become horizontally scrollable or reflow to stacked rows on mobile
431
+
432
+ ### Image Behavior
433
+ - Product mockups maintain aspect ratio inside gradient-washed frames
434
+ - Hero imagery scales fluidly; gradient glows resize with the viewport
435
+ - Icons render at consistent 20-24px within their contexts
436
+
437
+ ## 9. Agent Prompt Guide
438
+
439
+ ### Quick Color Reference
440
+ - Primary CTA: Indigo (`#5266eb`)
441
+ - CTA Hover: (`#4354c8`)
442
+ - CTA Active: (`#3442a6`)
443
+ - Dark canvas: (`#171721`)
444
+ - Dark elevated: (`#1e1e2a`)
445
+ - Light canvas: (`#fbfcfd`)
446
+ - Light surface: (`#ededf3`)
447
+ - Text on dark: (`#ededf3`)
448
+ - Text on light: (`#1e1e2a`)
449
+ - Subdued text: (`#c3c3cc`)
450
+ - Disabled/placeholder: (`#70707d`)
451
+ - Hairline (dark): (`#272735`)
452
+ - Hairline (light): (`#c3c3cc`)
453
+ - Accent wash: (`#9cb4e8` → `#cdddff`)
454
+ - Error: (`#d03275`)
455
+
456
+ ### Example Component Prompts
457
+ - "Create a hero CTA pill: indigo `#5266eb` bg, white text, 15px weight 480 Arcadia, 40px radius, ~32px tall, 0 20px padding. Hover `#4354c8`. One per section."
458
+ - "Build a dark hero band: `#171721` bg, off-white `#ededf3` headline in Arcadia Display 65px weight 360 with +0.42px letter-spacing, body 17px weight 400 `#c3c3cc` at 1.625 line-height, single indigo pill CTA, soft `#9cb4e8`→`#cdddff` gradient glow behind a floating product card."
459
+ - "Design a dashboard balance card: white bg, 12px radius, 24px padding, 1px `#c3c3cc` border, shadow `0px 1px 2px rgba(23,23,33,0.06)`. Label 12px weight 480 `#70707d`. Amount in tabular Arcadia figures, 28px weight 480 `#1e1e2a`."
460
+ - "Create a text input: `#fbfcfd` bg, 1px `#c3c3cc` border, 4px radius, 10px 12px padding, 15px Arcadia. Focus: `#5266eb` border + 2px `rgba(82,102,235,0.2)` ring. Error: `#d03275` border."
461
+ - "Design a transaction row: transparent bg, 1px bottom border `#c3c3cc`, 12px 16px padding, ≥44px tall. Merchant name 15px weight 480 `#1e1e2a`, category 13px `#70707d`, amount right-aligned in tabular Arcadia figures."
462
+
463
+ ### Iteration Guide
464
+ 1. Default to the dark editorial canvas (`#171721`) for marketing, light (`#fbfcfd`) for product.
465
+ 2. Indigo `#5266eb` is the only action color — one filled CTA per section.
466
+ 3. Headings and key labels use Arcadia 480; large display uses 360 with +0.42px tracking.
467
+ 4. Text on dark is `#ededf3`, never pure white; body line-height 1.625.
468
+ 5. Base radius 4px everywhere; 12px for cards; 40px only for the hero pill.
469
+ 6. Errors are rose `#d03275`, not fire-red. Neutrals are cool, never warm.
470
+ 7. Marketing breathes (96px band rhythm); dashboard is dense (16-24px gaps).
471
+
472
+ ## 10. Voice & Tone
473
+
474
+ Mercury writes like a sharp, candid operator who has run a startup and respects that you have too. The voice is precise, dry, occasionally witty, never cute. No exclamation marks, no emoji on product surfaces, no startup-bro hype. Claims are concrete and specific. Sentences are short and confident. It assumes the reader is smart and busy.
475
+
476
+ | Context | Tone |
477
+ |---|---|
478
+ | CTAs | Direct imperative — "Open Account", "Apply now", "Get started" |
479
+ | Headlines | Declarative, confident, often a single bold claim ("Banking for startups") |
480
+ | Body copy | Specific and concrete — names features, numbers, outcomes; avoids fluff |
481
+ | Success | Calm and factual — "Transfer sent", "Account approved" |
482
+ | Errors | Blameless, specific, actionable — names what went wrong and the fix |
483
+ | Empty states | One line explaining the state plus one suggested action |
484
+ | Legal / compliance | Plain-English where possible; formal only where regulation requires |
485
+
486
+ **Forbidden moves.** No "Oops", no exclamation hype, no emoji in financial/product contexts, no vague "Something went wrong", no condescending hand-holding. Mercury never talks down to founders.
487
+
488
+ ## 11. Brand Narrative
489
+
490
+ Mercury is banking built for startups, founded in 2017 by **Immad Akhund**, Max Tang, and Jason Zhang and launched publicly in 2019. The founding premise is a rejection: legacy business banking was built for an analog era — branch visits, faxed forms, opaque fees, interfaces that looked like they hadn't changed since the 1990s. Mercury's thesis is that the company building your bank account should have the same taste, speed, and respect for craft as the best software you use every day.
491
+
492
+ That thesis shows up in the design. Where incumbent business banks signal trust through heavy, conservative navy and dense legalese, Mercury signals trust through restraint and refinement — a single disciplined indigo, a proprietary typeface, generous whitespace, and cinematic dark canvases that make the product feel like a premium object. The indigo `#5266eb` is deliberately not the institutional navy of legacy banks nor the playful blue of consumer apps; it sits in a considered middle, modern and software-native.
493
+
494
+ Mercury grew into a full financial stack for startups — business checking and savings, treasury, corporate cards, bill pay, invoicing, and venture debt — serving tens of thousands of companies. The design's job across all of it is the same: make managing company money feel calm, fast, and well-made. The marketing surface is theatrical and editorial; the product surface is serene and dense. The brand lives in that contrast.
495
+
496
+ What Mercury refuses: the institutional coldness of legacy business banking, the gamified brightness of consumer fintech, and the jargon-heavy condescension that assumes founders need hand-holding. It occupies a narrow, confident lane — refined, intelligent, and built by people who clearly sweat the details.
497
+
498
+ ## 12. Principles
499
+
500
+ 1. **One action per surface.** Each marketing band and key product view has a single filled indigo CTA. Two primary actions means two surfaces. Secondary actions go ghost or outline.
501
+ 2. **Indigo is action, never decoration.** `#5266eb` appears only where the user acts — CTAs, links, focus, active states. Decoration is handled by neutral surfaces and periwinkle/mist washes.
502
+ 3. **Off-white over pure white.** Text on dark is `#ededf3`; this softness is a deliberate craft choice that signals care and reduces strain.
503
+ 4. **Restraint is the brand.** A tight 4px radius, a narrow cool neutral ramp, a single accent hue, one typeface family. Every removed element makes the product feel more considered.
504
+ 5. **Theatrical marketing, serene product.** Dramatic dark canvases and floating mockups sell; calm light dashboards serve. The two postures are intentional and never bleed into each other.
505
+ 6. **Numbers are typography.** Balances and amounts use tabular Arcadia figures with the same care as headlines — columns align, figures never inherit casual body styling.
506
+ 7. **Respect the founder.** Copy and UI assume an intelligent, busy operator. No hype, no condescension, no cute mascots — just speed and clarity.
507
+ 8. **Whitespace is a premium signal.** On marketing surfaces, generous negative space communicates confidence and quality more than any ornament could.
508
+
509
+ ## 13. Personas
510
+
511
+ *Personas below are fictional archetypes informed by Mercury's publicly described startup-customer segments, not individual people.*
512
+
513
+ **Priya, 31, San Francisco.** Founder and CEO of a seed-stage SaaS company, four employees. Switched from a legacy big-bank business account after one too many branch visits and a wire that took three days. Opens Mercury daily to check runway, approve a corporate-card charge, and pay a contractor. Expects the dashboard to load instantly and show burn at a glance. Has impeccable taste in software and notices when a product is well-made — Mercury's craft is part of why she trusts it with the company's money.
514
+
515
+ **Marcus, 38, Austin.** Operations lead at a 25-person hardware startup. Lives in bill pay, invoicing, and approvals. Needs multi-user roles, clear audit trails, and exportable transaction data for the accountant. Values that Mercury's interface is dense and efficient where it matters — he's moving real volume and doesn't want a toy. Reads everything; trusts specific, concrete copy over marketing adjectives.
516
+
517
+ **Dana, 27, Remote.** Solo technical founder, pre-revenue, raising a pre-seed. Opened Mercury because the application was fast and didn't require a branch visit. Uses the corporate card and savings; watches every dollar. Drawn to the brand's confident, no-nonsense voice — it makes her feel like a real company. Will evangelize Mercury to other founders precisely because it looks and feels like a product made by people like her.
518
+
519
+ ## 14. States
520
+
521
+ | State | Treatment |
522
+ |---|---|
523
+ | **Empty (first use)** | One line of `#70707d` body text explaining why the view is empty, plus a single suggested action as a ghost or secondary button. No illustration clutter. |
524
+ | **Empty (filtered)** | One line of `#70707d` caption ("No transactions match these filters"). No button — the user adjusts filters. |
525
+ | **Loading (first paint)** | Skeleton blocks at `#f4f5f9` (light) / `#1e1e2a` (dark) matching final layout. Financial amounts render as `—` until resolved, never as skeleton bars. |
526
+ | **Loading (refresh)** | Subtle inline indigo spinner; content stays visible with previous values. No blocking overlay. |
527
+ | **Error (inline field)** | `#d03275` 1px border on the input, help text below in `#d03275` 12px weight 420. One actionable sentence. |
528
+ | **Error (toast)** | `#1e1e2a` bg, `#ededf3` text, 12px radius, one specific sentence, auto-dismiss. |
529
+ | **Error (blocking)** | Reserved for outage. Centered single line in emphasized ink, indigo retry button below. No illustration. |
530
+ | **Success (inline)** | Brief faint indigo wash behind the updated element, ~300ms fade. Calm, never celebratory confetti. |
531
+ | **Success (transfer sent)** | Confirmation panel/screen — checkmark, exact amount in tabular figures, recipient, timestamp, single primary action. Factual, not festive. |
532
+ | **Disabled** | Button bg `#70707d`, text `#c3c3cc`. Inputs keep their `#c3c3cc` border so geometry is stable if re-enabled. |
533
+ | **Focus** | 1px `#5266eb` border plus a 2px `rgba(82,102,235,0.2)` ring on all interactive elements. Always visible for accessibility. |
534
+ | **Hover (row)** | Light `#dddde5` / dark `#272735` fill on interactive rows and list items. |
535
+
536
+ ## 15. Motion & Easing
537
+
538
+ **Durations:**
539
+
540
+ | Token | Value | Use |
541
+ |---|---|---|
542
+ | `motion-instant` | 0ms | Toggle flips, checkbox changes |
543
+ | `motion-fast` | 150ms | Hover, focus rings, button press, small reveals |
544
+ | `motion-standard` | 240ms | Default — dropdowns, popovers, tab content, card expand |
545
+ | `motion-slow` | 360ms | Emphasized transitions — modals, success confirmations |
546
+ | `motion-page` | 320ms | Route/view transitions |
547
+
548
+ **Easings:**
549
+
550
+ | Token | Curve | Use |
551
+ |---|---|---|
552
+ | `ease-enter` | `cubic-bezier(0.16, 1, 0.3, 1)` | Things appearing — modals, sheets, toasts (soft, refined deceleration) |
553
+ | `ease-exit` | `cubic-bezier(0.4, 0, 1, 1)` | Things leaving — dismissals |
554
+ | `ease-standard` | `cubic-bezier(0.4, 0, 0.2, 1)` | Two-way transitions — tabs, collapsibles |
555
+ | `ease-glide` | `cubic-bezier(0.22, 0.61, 0.36, 1)` | Marketing parallax and gradient-glow drifts |
556
+
557
+ **Signature motions.**
558
+
559
+ 1. **Floating product mockups.** On scroll into a marketing band, product cards rise ~24px and fade in with `motion-slow / ease-enter`, their drop-shadow deepening to reinforce the cinematic float. The gradient glow behind them drifts slowly with `ease-glide`.
560
+ 2. **Refined modal entrance.** Modals scale from 0.98 → 1.0 and fade in over `motion-standard / ease-enter`, with the scrim fading `rgba(23,23,33,0)` → `rgba(23,23,33,0.6)`. Exit is faster (`motion-fast / ease-exit`) — leaving feels lighter than arriving.
561
+ 3. **Money updates.** When a balance changes, figures cross-update without flicker — the new tabular value settles in over `motion-fast`. Money never bounces or springs; it resolves calmly.
562
+ 4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` tokens collapse to `motion-instant`, parallax and gradient drift are disabled, and slides become fades. The product stays fully usable.
563
+
564
+ <!--
565
+ OmD v0.1 Sources
566
+
567
+ Token grounding (verified 2026-06-06 via WebSearch + WebFetch):
568
+ - Primary indigo #5266eb, accents periwinkle #9cb4e8 / mist #cdddff,
569
+ dark canvas #171721, off-white ink #ededf3, custom Arcadia 480 weight,
570
+ 1.625 body line-height, 4px base radius, 40px hero pill — sourced from
571
+ shadcn.io/design/mercury (Mercury Design System token export) and
572
+ corroborating brand summaries (brandfetch.com/mercury.com,
573
+ blakecrosley.com/guides/design/mercury).
574
+ - Arcadia / Arcadia Display proprietary typeface family confirmed across
575
+ multiple brand-design writeups of Mercury.
576
+
577
+ Brand narrative facts (founding 2017 by Immad Akhund et al., public launch
578
+ 2019, startup-banking positioning) are widely documented public information.
579
+
580
+ Personas (§13) are fictional archetypes informed by Mercury's publicly
581
+ described startup-customer segments. Any resemblance to specific individuals
582
+ is unintended.
583
+
584
+ Interpretive claims (e.g., "indigo chosen as a considered middle between
585
+ institutional navy and consumer blue") are editorial readings of the design,
586
+ not documented Mercury statements. Some token values for components, motion,
587
+ and states are reasoned extrapolations consistent with the verified core
588
+ tokens where Mercury does not publish a formal public spec.
589
+ -->