oh-my-design-cli 1.8.6 → 1.9.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 (275) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +2761 -85
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/airbridge/DESIGN.md +451 -0
  71. package/web/references/alipay/DESIGN.md +179 -420
  72. package/web/references/apple/DESIGN.md +224 -498
  73. package/web/references/asleep/DESIGN.md +402 -0
  74. package/web/references/au/DESIGN.md +334 -0
  75. package/web/references/autopedia/DESIGN.md +382 -0
  76. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  77. package/web/references/baemin/DESIGN.md +332 -491
  78. package/web/references/banksalad/DESIGN.md +269 -180
  79. package/web/references/barogo/DESIGN.md +416 -0
  80. package/web/references/beusable/DESIGN.md +464 -0
  81. package/web/references/bigin/DESIGN.md +454 -0
  82. package/web/references/bilibili/DESIGN.md +206 -374
  83. package/web/references/bmw/DESIGN.md +162 -276
  84. package/web/references/brandi/DESIGN.md +184 -325
  85. package/web/references/buzzvil/DESIGN.md +457 -0
  86. package/web/references/cafe24/DESIGN.md +472 -0
  87. package/web/references/catchtable/DESIGN.md +219 -264
  88. package/web/references/cgv/DESIGN.md +317 -0
  89. package/web/references/channeltalk/DESIGN.md +210 -336
  90. package/web/references/china-airlines/DESIGN.md +291 -0
  91. package/web/references/cjonstyle/DESIGN.md +453 -0
  92. package/web/references/class101/DESIGN.md +168 -387
  93. package/web/references/classum/DESIGN.md +228 -203
  94. package/web/references/claude/DESIGN.md +242 -479
  95. package/web/references/clay/DESIGN.md +179 -377
  96. package/web/references/clickhouse/DESIGN.md +254 -343
  97. package/web/references/codeit/DESIGN.md +470 -0
  98. package/web/references/cohere/DESIGN.md +214 -324
  99. package/web/references/coinone/DESIGN.md +199 -179
  100. package/web/references/corca/DESIGN.md +414 -0
  101. package/web/references/coupang/DESIGN.md +205 -475
  102. package/web/references/cursor/DESIGN.md +240 -381
  103. package/web/references/dabang/DESIGN.md +248 -213
  104. package/web/references/dable/DESIGN.md +431 -0
  105. package/web/references/datarize/DESIGN.md +338 -0
  106. package/web/references/dealicious/DESIGN.md +402 -0
  107. package/web/references/drdiary/DESIGN.md +404 -0
  108. package/web/references/elastic/DESIGN.md +238 -0
  109. package/web/references/elevenlabs/DESIGN.md +183 -321
  110. package/web/references/elice/DESIGN.md +445 -0
  111. package/web/references/eslite/DESIGN.md +257 -0
  112. package/web/references/evaair/DESIGN.md +338 -0
  113. package/web/references/expo/DESIGN.md +238 -331
  114. package/web/references/familymart-tw/DESIGN.md +254 -0
  115. package/web/references/ferrari/DESIGN.md +160 -377
  116. package/web/references/figma/DESIGN.md +197 -451
  117. package/web/references/fitpet/DESIGN.md +445 -0
  118. package/web/references/flex/DESIGN.md +170 -253
  119. package/web/references/framer/DESIGN.md +197 -340
  120. package/web/references/freee/DESIGN.md +211 -533
  121. package/web/references/friendliai/DESIGN.md +431 -0
  122. package/web/references/frip/DESIGN.md +440 -0
  123. package/web/references/furiosaai/DESIGN.md +450 -0
  124. package/web/references/gangnamunni/DESIGN.md +154 -591
  125. package/web/references/gaudiolab/DESIGN.md +414 -0
  126. package/web/references/google/DESIGN.md +290 -398
  127. package/web/references/goorm/DESIGN.md +470 -0
  128. package/web/references/greencar/DESIGN.md +420 -0
  129. package/web/references/hackle/DESIGN.md +472 -0
  130. package/web/references/hashicorp/DESIGN.md +273 -318
  131. package/web/references/heydealer/DESIGN.md +429 -0
  132. package/web/references/humanscape/DESIGN.md +433 -0
  133. package/web/references/hwahae/DESIGN.md +453 -0
  134. package/web/references/hyundai/DESIGN.md +158 -368
  135. package/web/references/hyundaicard/DESIGN.md +171 -121
  136. package/web/references/ibm/DESIGN.md +227 -378
  137. package/web/references/idus/DESIGN.md +450 -0
  138. package/web/references/igaworks/DESIGN.md +437 -0
  139. package/web/references/inflearn/DESIGN.md +221 -366
  140. package/web/references/intuit/DESIGN.md +244 -0
  141. package/web/references/jandi/DESIGN.md +191 -291
  142. package/web/references/jobplanet/DESIGN.md +415 -0
  143. package/web/references/kakao/DESIGN.md +287 -475
  144. package/web/references/kakaobank/DESIGN.md +220 -521
  145. package/web/references/kakaogames/DESIGN.md +220 -0
  146. package/web/references/kakaopay/DESIGN.md +207 -526
  147. package/web/references/karrot/DESIGN.md +227 -251
  148. package/web/references/kb-kookmin/DESIGN.md +308 -0
  149. package/web/references/kbank/DESIGN.md +220 -175
  150. package/web/references/kcd/DESIGN.md +432 -0
  151. package/web/references/kmong/DESIGN.md +281 -356
  152. package/web/references/krds/DESIGN.md +245 -19
  153. package/web/references/kream/DESIGN.md +224 -359
  154. package/web/references/kurly/DESIGN.md +211 -533
  155. package/web/references/kyobobook/DESIGN.md +445 -0
  156. package/web/references/lablup/DESIGN.md +474 -0
  157. package/web/references/lamborghini/DESIGN.md +198 -360
  158. package/web/references/lemonbase/DESIGN.md +452 -0
  159. package/web/references/lguplus/DESIGN.md +259 -0
  160. package/web/references/likelion/DESIGN.md +283 -0
  161. package/web/references/line/DESIGN.md +396 -355
  162. package/web/references/linear.app/DESIGN.md +209 -562
  163. package/web/references/lotteon/DESIGN.md +386 -0
  164. package/web/references/lovable/DESIGN.md +255 -349
  165. package/web/references/makinarocks/DESIGN.md +242 -0
  166. package/web/references/maum-ai/DESIGN.md +423 -0
  167. package/web/references/medibloc/DESIGN.md +425 -0
  168. package/web/references/megabox/DESIGN.md +232 -0
  169. package/web/references/mercari/DESIGN.md +217 -434
  170. package/web/references/microsoft/DESIGN.md +234 -388
  171. package/web/references/mildang/DESIGN.md +411 -0
  172. package/web/references/millie/DESIGN.md +183 -504
  173. package/web/references/minimax/DESIGN.md +264 -322
  174. package/web/references/miricanvas/DESIGN.md +182 -355
  175. package/web/references/miro/DESIGN.md +234 -232
  176. package/web/references/mistral.ai/DESIGN.md +231 -314
  177. package/web/references/mixi/DESIGN.md +234 -0
  178. package/web/references/moin/DESIGN.md +445 -0
  179. package/web/references/mongodb/DESIGN.md +219 -316
  180. package/web/references/moreh/DESIGN.md +437 -0
  181. package/web/references/musinsa/DESIGN.md +184 -510
  182. package/web/references/mynavi/DESIGN.md +242 -0
  183. package/web/references/myrealtrip/DESIGN.md +169 -406
  184. package/web/references/naver/DESIGN.md +328 -499
  185. package/web/references/naverwebtoon/DESIGN.md +172 -395
  186. package/web/references/neosapience/DESIGN.md +441 -0
  187. package/web/references/nhn/DESIGN.md +169 -346
  188. package/web/references/nhncloud/DESIGN.md +185 -123
  189. package/web/references/nota/DESIGN.md +451 -0
  190. package/web/references/notion/DESIGN.md +271 -475
  191. package/web/references/nrise/DESIGN.md +417 -0
  192. package/web/references/ohouse/DESIGN.md +210 -549
  193. package/web/references/oliveyoung/DESIGN.md +217 -326
  194. package/web/references/ollama/DESIGN.md +241 -308
  195. package/web/references/onestore/DESIGN.md +248 -0
  196. package/web/references/palantir/DESIGN.md +256 -0
  197. package/web/references/panasonic/DESIGN.md +276 -0
  198. package/web/references/patternfly/DESIGN.md +259 -0
  199. package/web/references/payhere/DESIGN.md +438 -0
  200. package/web/references/pega/DESIGN.md +262 -0
  201. package/web/references/peoplefund/DESIGN.md +431 -0
  202. package/web/references/petfriends/DESIGN.md +428 -0
  203. package/web/references/pinkfong/DESIGN.md +199 -367
  204. package/web/references/pinterest/DESIGN.md +258 -308
  205. package/web/references/portone/DESIGN.md +446 -0
  206. package/web/references/poya/DESIGN.md +286 -0
  207. package/web/references/pozalabs/DESIGN.md +438 -0
  208. package/web/references/protopie/DESIGN.md +419 -0
  209. package/web/references/qraft/DESIGN.md +448 -0
  210. package/web/references/queenit/DESIGN.md +432 -0
  211. package/web/references/quotabook/DESIGN.md +449 -0
  212. package/web/references/rebellions/DESIGN.md +449 -0
  213. package/web/references/recruit/DESIGN.md +247 -0
  214. package/web/references/remember/DESIGN.md +202 -396
  215. package/web/references/resend/DESIGN.md +274 -348
  216. package/web/references/returnzero/DESIGN.md +460 -0
  217. package/web/references/sakura-internet/DESIGN.md +269 -0
  218. package/web/references/samsung/DESIGN.md +157 -359
  219. package/web/references/sandoll/DESIGN.md +445 -0
  220. package/web/references/sanity/DESIGN.md +241 -375
  221. package/web/references/saramin/DESIGN.md +465 -0
  222. package/web/references/scatterlab/DESIGN.md +412 -0
  223. package/web/references/selectstar/DESIGN.md +439 -0
  224. package/web/references/servicenow/DESIGN.md +289 -0
  225. package/web/references/shiftee/DESIGN.md +468 -0
  226. package/web/references/shinhanbank/DESIGN.md +161 -341
  227. package/web/references/shinhancard/DESIGN.md +208 -319
  228. package/web/references/sionic/DESIGN.md +454 -0
  229. package/web/references/sktelecom/DESIGN.md +310 -0
  230. package/web/references/socar/DESIGN.md +125 -32
  231. package/web/references/softbank/DESIGN.md +231 -0
  232. package/web/references/solapi/DESIGN.md +483 -0
  233. package/web/references/sony/DESIGN.md +234 -0
  234. package/web/references/soop/DESIGN.md +261 -0
  235. package/web/references/spacex/DESIGN.md +184 -323
  236. package/web/references/spotify/DESIGN.md +253 -394
  237. package/web/references/squeezebits/DESIGN.md +441 -0
  238. package/web/references/stayfolio/DESIGN.md +422 -0
  239. package/web/references/stripe/DESIGN.md +212 -491
  240. package/web/references/supabase/DESIGN.md +244 -316
  241. package/web/references/supertone/DESIGN.md +413 -0
  242. package/web/references/tabling/DESIGN.md +415 -0
  243. package/web/references/taishinbank/DESIGN.md +243 -0
  244. package/web/references/teamlab/DESIGN.md +240 -0
  245. package/web/references/teamsparta/DESIGN.md +472 -0
  246. package/web/references/tellingme/DESIGN.md +392 -0
  247. package/web/references/tesla/DESIGN.md +244 -427
  248. package/web/references/thsr/DESIGN.md +284 -0
  249. package/web/references/thumbtack/DESIGN.md +302 -0
  250. package/web/references/together.ai/DESIGN.md +257 -304
  251. package/web/references/toss/DESIGN.md +251 -593
  252. package/web/references/toss-securities/DESIGN.md +255 -178
  253. package/web/references/tossbank/DESIGN.md +195 -491
  254. package/web/references/toyota/DESIGN.md +238 -0
  255. package/web/references/tving/DESIGN.md +197 -245
  256. package/web/references/typed/DESIGN.md +413 -0
  257. package/web/references/uber/DESIGN.md +256 -333
  258. package/web/references/udn/DESIGN.md +250 -0
  259. package/web/references/upbit/DESIGN.md +145 -256
  260. package/web/references/upstage/DESIGN.md +211 -204
  261. package/web/references/uswds/DESIGN.md +287 -0
  262. package/web/references/vercel/DESIGN.md +236 -440
  263. package/web/references/vuno/DESIGN.md +413 -0
  264. package/web/references/wanted/DESIGN.md +215 -487
  265. package/web/references/weverse/DESIGN.md +437 -0
  266. package/web/references/wise/DESIGN.md +223 -231
  267. package/web/references/wisetracker/DESIGN.md +462 -0
  268. package/web/references/wooribank/DESIGN.md +245 -0
  269. package/web/references/yanolja/DESIGN.md +250 -419
  270. package/web/references/yeogiotte/DESIGN.md +235 -418
  271. package/web/references/zapier/DESIGN.md +256 -377
  272. package/web/references/zendesk/DESIGN.md +288 -0
  273. package/web/references/zigzag/DESIGN.md +200 -621
  274. package/dist/install-skills-7UUDOLG2.js +0 -734
  275. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -8,48 +8,138 @@ primary_color: "#000000"
8
8
  logo:
9
9
  type: simpleicons
10
10
  slug: uber
11
- verified: "2026-05-15"
11
+ verified: "2026-07-13"
12
12
  omd: "0.1"
13
13
  ds:
14
14
  name: Base Web
15
- url: "https://baseweb.design"
15
+ url: "https://github.com/uber/baseweb"
16
16
  type: system
17
- description: Uber's React implementation of Base a living component system.
17
+ description: Uber's public React component library implementing the Base design language; its repository license does not establish the current public-site runtime.
18
+ verification_v2:
19
+ schema: 2
20
+ checked: "2026-07-13"
21
+ surfaces:
22
+ - { id: home, kind: marketing, url: "https://www.uber.com/kr/ko/", inspected: "2026-07-13" }
23
+ - { id: about, kind: corporate, url: "https://www.uber.com/kr/ko/about/", inspected: "2026-07-13" }
24
+ - { id: accessibility, kind: official-content, url: "https://www.uber.com/kr/ko/about/accessibility/", inspected: "2026-07-13" }
25
+ sources:
26
+ - { id: home-live, kind: product-surface, url: "https://www.uber.com/kr/ko/", captured: "2026-07-13" }
27
+ - { id: about-live, kind: product-surface, url: "https://www.uber.com/kr/ko/about/", captured: "2026-07-13" }
28
+ - { id: accessibility-live, kind: product-surface, url: "https://www.uber.com/kr/ko/about/accessibility/", captured: "2026-07-13" }
29
+ - { id: new-look, kind: official-doc, url: "https://www.uber.com/us/en/blog/a-new-look/", captured: "2026-07-13" }
30
+ - { id: advertising-guide, kind: official-doc, url: "https://www.uber.com/us/en/advertising/specs/guidelines/", captured: "2026-07-13" }
31
+ - { id: baseweb, kind: official-doc, url: "https://github.com/uber/baseweb", captured: "2026-07-13" }
32
+ conflicts: []
33
+ claims:
34
+ "tokens.colors.canvas": &home { surface_id: home, source_id: home-live, method: live-inspect, captured: "2026-07-13" }
35
+ "tokens.colors.foreground": *home
36
+ "tokens.colors.muted": *home
37
+ "tokens.colors.on-primary": *home
38
+ "tokens.colors.primary": *home
39
+ "tokens.colors.subtle": *home
40
+ "tokens.colors.surface-hover": &about { surface_id: about, source_id: about-live, method: live-inspect, captured: "2026-07-13" }
41
+ "tokens.colors.surface-soft": *home
42
+ "tokens.components.header-dark-control.bg": *home
43
+ "tokens.components.header-dark-control.fg": *home
44
+ "tokens.components.header-dark-control.font": *home
45
+ "tokens.components.header-dark-control.padding": *home
46
+ "tokens.components.header-dark-control.radius": *home
47
+ "tokens.components.header-dark-control.states": *home
48
+ "tokens.components.header-dark-control.type": *home
49
+ "tokens.components.header-dark-control.use": *home
50
+ "tokens.components.header-light-menu-control.bg": *home
51
+ "tokens.components.header-light-menu-control.fg": *home
52
+ "tokens.components.header-light-menu-control.font": *home
53
+ "tokens.components.header-light-menu-control.padding": *home
54
+ "tokens.components.header-light-menu-control.radius": *home
55
+ "tokens.components.header-light-menu-control.states": *home
56
+ "tokens.components.header-light-menu-control.type": *home
57
+ "tokens.components.header-light-menu-control.use": *home
58
+ "tokens.components.soft-pill-control.bg": *home
59
+ "tokens.components.soft-pill-control.fg": *home
60
+ "tokens.components.soft-pill-control.font": *home
61
+ "tokens.components.soft-pill-control.padding": *home
62
+ "tokens.components.soft-pill-control.radius": *home
63
+ "tokens.components.soft-pill-control.states": *home
64
+ "tokens.components.soft-pill-control.type": *home
65
+ "tokens.components.soft-pill-control.use": *home
66
+ "tokens.rounded.card": *home
67
+ "tokens.rounded.none": *home
68
+ "tokens.rounded.pill": *home
69
+ "tokens.shadow.menu": *home
70
+ "tokens.spacing.base": *home
71
+ "tokens.spacing.control-wide": *home
72
+ "tokens.spacing.control-x": *home
73
+ "tokens.spacing.control-y": *home
74
+ "tokens.spacing.lg": *home
75
+ "tokens.spacing.md": *home
76
+ "tokens.spacing.sm": *home
77
+ "tokens.spacing.xl": *home
78
+ "tokens.spacing.xs": *home
79
+ "tokens.typography.body-strong.lineHeight": *home
80
+ "tokens.typography.body-strong.size": *home
81
+ "tokens.typography.body-strong.use": *home
82
+ "tokens.typography.body-strong.weight": *home
83
+ "tokens.typography.body.lineHeight": *home
84
+ "tokens.typography.body.size": *home
85
+ "tokens.typography.body.use": *home
86
+ "tokens.typography.body.weight": *home
87
+ "tokens.typography.caption.lineHeight": *home
88
+ "tokens.typography.caption.size": *home
89
+ "tokens.typography.caption.use": *home
90
+ "tokens.typography.caption.weight": *home
91
+ "tokens.typography.display.lineHeight": *home
92
+ "tokens.typography.display.size": *home
93
+ "tokens.typography.display.use": *home
94
+ "tokens.typography.display.weight": *home
95
+ "tokens.typography.family.display": *home
96
+ "tokens.typography.family.ui": *home
97
+ "tokens.typography.fine-print.lineHeight": *home
98
+ "tokens.typography.fine-print.size": *home
99
+ "tokens.typography.fine-print.use": *home
100
+ "tokens.typography.fine-print.weight": *home
101
+ "tokens.typography.heading.lineHeight": *home
102
+ "tokens.typography.heading.size": *home
103
+ "tokens.typography.heading.use": *home
104
+ "tokens.typography.heading.weight": *home
105
+ "tokens.typography.label.lineHeight": *home
106
+ "tokens.typography.label.size": *home
107
+ "tokens.typography.label.use": *home
108
+ "tokens.typography.label.weight": *home
109
+ "tokens.typography.section.lineHeight": *about
110
+ "tokens.typography.section.size": *about
111
+ "tokens.typography.section.use": *about
112
+ "tokens.typography.section.weight": *about
18
113
  tokens:
19
- source: prose-derived
20
- extracted: "2026-06-09"
114
+ source: reconciled
115
+ extracted: "2026-07-13"
21
116
  colors:
22
117
  primary: "#000000"
23
118
  canvas: "#ffffff"
24
- hover-gray: "#e2e2e2"
25
- hover-light: "#f3f3f3"
26
- chip-gray: "#efefef"
27
- body: "#4b4b4b"
28
- muted: "#afafaf"
29
- link: "#0000ee"
30
119
  on-primary: "#ffffff"
120
+ surface-soft: "#efefef"
121
+ surface-hover: "#e2e2e2"
122
+ foreground: "#000000"
123
+ muted: "#757575"
124
+ subtle: "#afafaf"
31
125
  typography:
32
- family: { sans: "UberMove", mono: "system-ui" }
33
- display: { size: 52, weight: 700, lineHeight: 1.23, use: "Hero, billboard presence" }
34
- section: { size: 36, weight: 700, lineHeight: 1.22, use: "Major section anchors" }
35
- card-title: { size: 32, weight: 700, lineHeight: 1.25, use: "Card and feature headings" }
36
- subheading: { size: 24, weight: 700, lineHeight: 1.33, use: "Secondary section headers" }
37
- nav: { size: 18, weight: 500, lineHeight: 1.33, use: "Navigation links, prominent UI" }
38
- body: { size: 16, weight: 400, lineHeight: 1.50, use: "Body text, button labels" }
39
- caption: { size: 14, weight: 400, lineHeight: 1.43, use: "Metadata, small links" }
40
- micro: { size: 12, weight: 400, lineHeight: 1.67, use: "Fine print, legal" }
41
- spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
42
- rounded: { sm: 4, md: 8, lg: 12, full: 9999 }
126
+ family: { display: "UberMove", ui: "UberMoveText" }
127
+ display: { size: 52, weight: 700, lineHeight: 1.23, use: "Public marketing/corporate h1" }
128
+ section: { size: 36, weight: 700, lineHeight: 1.22, use: "Public marketing/corporate h2" }
129
+ heading: { size: 24, weight: 700, lineHeight: 1.33, use: "Observed h2/h3" }
130
+ body: { size: 16, weight: 400, lineHeight: 1.50, use: "Observed body copy" }
131
+ body-strong: { size: 16, weight: 500, lineHeight: 1.25, use: "Observed UI text" }
132
+ label: { size: 14, weight: 500, lineHeight: 1.14, use: "Header button labels" }
133
+ caption: { size: 14, weight: 400, lineHeight: 1.43, use: "Menu item labels" }
134
+ fine-print: { size: 12, weight: 400, lineHeight: 1.67, use: "Observed small body copy" }
135
+ spacing: { xs: 4, sm: 8, control-x: 10, control-y: 12, md: 14, base: 16, lg: 20, control-wide: 25, xl: 48 }
136
+ rounded: { none: 0, card: 8, pill: 999 }
43
137
  shadow:
44
- light: "rgba(0,0,0,0.12) 0px 4px 16px 0px"
45
- medium: "rgba(0,0,0,0.16) 0px 2px 8px 0px"
138
+ menu: "rgba(0,0,0,0.16) 0px 4px 16px 0px"
46
139
  components:
47
- button-primary: { type: button, bg: "#000000", fg: "#ffffff", radius: 9999, padding: "10px 12px", font: "16px/500", use: "Primary CTA bold high-contrast pill" }
48
- button-secondary: { type: button, bg: "#ffffff", fg: "#000000", radius: 9999, padding: "10px 12px", use: "Secondary action; hover #e2e2e2" }
49
- chip-filter: { type: tab, bg: "#efefef", fg: "#000000", radius: 9999, padding: "14px 16px", use: "Nav chips / category selectors", active: "black bg #000000 with white #ffffff text" }
50
- button-floating: { type: button, bg: "#ffffff", fg: "#000000", radius: 9999, padding: "14px", use: "Map controls, FAB; shadow rgba(0,0,0,0.16)" }
51
- card: { type: card, bg: "#ffffff", radius: 8, use: "Content card defined by shadow not stroke" }
52
- input: { type: input, bg: "#ffffff", fg: "#000000", radius: 8, use: "Form input, 1px solid #000000 border" }
140
+ header-dark-control: { type: button, bg: "#000000", fg: "#ffffff", radius: 999, padding: "10px 12px", font: "14px/500", states: "hover white 0.1 inset overlay; pressed white 0.2 inset overlay", use: "Public-site header control" }
141
+ header-light-menu-control: { type: button, bg: "#ffffff", fg: "#000000", radius: 999, padding: "10px 12px", font: "14px/500", states: "focus #fbfbfb/#fdfdfd; pressed white 0.2 inset overlay", use: "Public-site header menu trigger" }
142
+ soft-pill-control: { type: button, bg: "#efefef", fg: "#000000", radius: 999, padding: "14px 16px", font: "16px/500", states: "hover black 0.04 inset overlay; pressed black 0.08 inset overlay", use: "Home public-surface control" }
53
143
  components_harvested: true
54
144
  ---
55
145
 
@@ -57,367 +147,200 @@ tokens:
57
147
 
58
148
  ## 1. Visual Theme & Atmosphere
59
149
 
60
- Uber's design language is a masterclass in confident minimalism -- a black-and-white universe where every pixel serves a purpose and nothing decorates without earning its place. The entire experience is built on a stark duality: jet black (`#000000`) and pure white (`#ffffff`), with virtually no mid-tone grays diluting the message. This isn't the sterile minimalism of a startup that hasn't finished designing -- it's the deliberate restraint of a brand so established it can afford to whisper.
61
-
62
- The signature typeface, UberMove, is a proprietary geometric sans-serif with a distinctly square, engineered quality. Headlines in UberMove Bold at 52px carry the weight of a billboard -- authoritative, direct, unapologetic. The companion face UberMoveText handles body copy and buttons with a slightly softer, more readable character at medium weight (500). Together, they create a typographic system that feels like a transit map: clear, efficient, built for scanning at speed.
63
-
64
- What makes Uber's design truly distinctive is its use of full-bleed photography and illustration paired with pill-shaped interactive elements (999px border-radius). Navigation chips, CTA buttons, and category selectors all share this capsule shape, creating a tactile, thumb-friendly interface language that's unmistakably Uber. The illustrations -- warm, slightly stylized scenes of drivers, riders, and cityscapes -- inject humanity into what could otherwise be a cold, monochrome system. The site alternates between white content sections and a full-black footer, with card-based layouts using the gentlest possible shadows (rgba(0,0,0,0.12-0.16)) to create subtle lift without breaking the flat aesthetic.
65
-
66
- **Key Characteristics:**
67
- - Pure black-and-white foundation with virtually no mid-tone grays in the UI chrome
68
- - UberMove (headlines) + UberMoveText (body/UI) -- proprietary geometric sans-serif family
69
- - Pill-shaped everything: buttons, chips, nav items all use 999px border-radius
70
- - Warm, human illustrations contrasting the stark monochrome interface
71
- - Card-based layout with whisper-soft shadows (0.12-0.16 opacity)
72
- - 8px spacing grid with compact, information-dense layouts
73
- - Bold photography integrated as full-bleed hero backgrounds
74
- - Black footer anchoring the page with a dark, high-contrast environment
150
+ Uber operates a marketplace that connects people who ride, earn, eat, deliver, and sell; its stated mission is to reimagine how the world moves for the better. The current Korean public web capture expresses that broad mobility role through high-contrast black navigation, white type, and compact capsule controls rather than a broad decorative palette. Across the home, About, and Accessibility pages, the same header geometry recurs: black or white 999px controls set in UberMoveText, with an 8px-radius menu panel appearing when a header menu is expanded. Uber's 2018 official “A new look” announcement framed a new logo and mission around clearer recognition for riders, while the current capture confirms the sober black-and-white public chrome is still live. This reference documents that public marketing/corporate surface only; it does not claim the authenticated rider, earner, courier, or merchant product UI uses the same tokens.
75
151
 
76
152
  ## 2. Color Palette & Roles
77
153
 
78
- ### Primary
79
- - **Uber Black** (`#000000`): The defining brand color -- used for primary buttons, headlines, navigation text, and the footer. Not "near-black" or "off-black," but true, uncompromising black.
80
- - **Pure White** (`#ffffff`): The primary surface color and inverse text. Used for page backgrounds, card surfaces, and text on black elements.
81
-
82
- ### Interactive & Button States
83
- - **Hover Gray** (`#e2e2e2`): White button hover state -- a clean, cool light gray that provides clear feedback without warmth.
84
- - **Hover Light** (`#f3f3f3`): Subtle hover for elevated white buttons -- barely-there gray for gentle interaction feedback.
85
- - **Chip Gray** (`#efefef`): Background for secondary/filter buttons and navigation chips -- a neutral, ultra-light gray.
86
-
87
- ### Text & Content
88
- - **Body Gray** (`#4b4b4b`): Secondary text and footer links -- a true mid-gray with no warm or cool bias.
89
- - **Muted Gray** (`#afafaf`): Tertiary text, de-emphasized footer links, and placeholder content.
90
-
91
- ### Borders & Separation
92
- - **Border Black** (`#000000`): Thin 1px borders for structural containment -- used sparingly on dividers and form containers.
154
+ ### Observed public-site foundation
93
155
 
94
- ### Shadows & Depth
95
- - **Shadow Light** (`rgba(0, 0, 0, 0.12)`): Standard card elevation -- a featherweight lift for content cards.
96
- - **Shadow Medium** (`rgba(0, 0, 0, 0.16)`): Slightly stronger elevation for floating action buttons and overlays.
97
- - **Button Press** (`rgba(0, 0, 0, 0.08)`): Inset shadow for active/pressed states on secondary buttons.
156
+ - **Ink** (`#000000`): Header background, dark capsule controls, foreground text, and borders in the 2026-07-13 capture.
157
+ - **Paper** (`#ffffff`): Inverse text on dark header controls, light control fill, and expanded menu surface.
158
+ - **Soft control** (`#efefef`): Home-only capsule-control fill at `home::[data-omd-capture="9"]`.
159
+ - **Interactive light gray** (`#e2e2e2`): Observed on the light header menu control on About and Accessibility capture states.
160
+ - **Muted** (`#757575`) and **subtle** (`#afafaf`): Repeated public-site text/border observations; use only where the local component evidence calls for de-emphasis.
98
161
 
99
- ### Link States
100
- - **Default Link Blue** (`#0000ee`): Standard browser blue for text links with underline -- used in body content.
101
- - **Link White** (`#ffffff`): Links on dark surfaces -- used in footer and dark sections.
102
- - **Link Black** (`#000000`): Links on light surfaces with underline decoration.
103
-
104
- ### Gradient System
105
- - Uber's design is **entirely gradient-free**. The black/white duality and flat color blocks create all visual hierarchy. No gradients appear anywhere in the system -- every surface is a solid color, every transition is a hard edge or a shadow.
162
+ The capture also contains `#0000ee` in Accessibility-page link content and a single red pressed-link observation. They are content/link observations, not promoted as Uber brand or semantic-status tokens.
106
163
 
107
164
  ## 3. Typography Rules
108
165
 
109
- ### Font Family
110
- - **Headline / Display**: `UberMove`, with fallbacks: `UberMoveText, system-ui, Helvetica Neue, Helvetica, Arial, sans-serif`
111
- - **Body / UI**: `UberMoveText`, with fallbacks: `system-ui, Helvetica Neue, Helvetica, Arial, sans-serif`
166
+ ### Evidence classes
112
167
 
113
- *Note: UberMove and UberMoveText are proprietary typefaces. For external implementations, use `system-ui` or Inter as the closest available substitute. The geometric, square-proportioned character of UberMove can be approximated with Inter or DM Sans.*
168
+ - **Live computed surface-use UberMoveText:** Computed on 414 visible public-surface elements and corroborated by the collector's loaded FontFaceSet result. It appears on body, headings, controls, inputs, and menu text.
169
+ - **Live computed surface-use — UberMove:** Computed on 31 visible public-surface elements and corroborated by a loaded FontFaceSet result. Observed on public h1/h2/h3 text, including 52px/700 and 36px/700 headings.
170
+ - **System use:** `sans-serif` is also computed on 121 public-surface elements, including the expanded menu. It remains system text and is not a substitute rendered as either Uber family.
171
+ - **Declared-only:** `Book`, `Medium`, `NarrowBook`, `NarrowMedium`, `NarrowNews`, `NarrowThin`, `News`, and `Thin` have `@font-face` declarations in the capture but no visible use; no relationship to the UberMove families is asserted.
172
+ - **Official product-use and license:** The reviewed first-party brand and corporate sources establish Uber's mission and public design/code context, but did not provide a public font-license term or an app/product font-use declaration. The collector contains no font source URL. Do not infer redistribution permission or browser-loadable external specimens from the loaded-family result.
114
173
 
115
- ### Hierarchy
174
+ ### Observed public-surface hierarchy
116
175
 
117
- | Role | Font | Size | Weight | Line Height | Notes |
118
- |------|------|------|--------|-------------|-------|
119
- | Display / Hero | UberMove | 52px (3.25rem) | 700 | 1.23 (tight) | Maximum impact, billboard presence |
120
- | Section Heading | UberMove | 36px (2.25rem) | 700 | 1.22 (tight) | Major section anchors |
121
- | Card Title | UberMove | 32px (2rem) | 700 | 1.25 (tight) | Card and feature headings |
122
- | Sub-heading | UberMove | 24px (1.5rem) | 700 | 1.33 | Secondary section headers |
123
- | Small Heading | UberMove | 20px (1.25rem) | 700 | 1.40 | Compact headings, list titles |
124
- | Nav / UI Large | UberMoveText | 18px (1.13rem) | 500 | 1.33 | Navigation links, prominent UI text |
125
- | Body / Button | UberMoveText | 16px (1rem) | 400-500 | 1.25-1.50 | Standard body text, button labels |
126
- | Caption | UberMoveText | 14px (0.88rem) | 400-500 | 1.14-1.43 | Metadata, descriptions, small links |
127
- | Micro | UberMoveText | 12px (0.75rem) | 400 | 1.67 (relaxed) | Fine print, legal text |
176
+ | Role | Family | Size | Weight | Line height | Surface boundary |
177
+ |---|---|---:|---:|---:|---|
178
+ | Hero h1 | UberMove | 52px | 700 | 64px | Public home/About/Accessibility capture |
179
+ | Section h2 | UberMove | 36px | 700 | 44px | Public capture |
180
+ | Small heading | UberMove | 24px | 700 | 32px | Public capture |
181
+ | Body | UberMoveText | 16px | 400 | 24px | Public capture |
182
+ | Strong UI text | UberMoveText | 16px | 500 | 20px | Public capture |
183
+ | Header control | UberMoveText | 14px | 500 | 16px | Public header |
184
+ | Menu/caption | UberMoveText | 14px | 400 | 20px | Public header menu |
185
+ | Fine print | UberMoveText | 12px | 400 | 20px | Public capture |
128
186
 
129
- ### Principles
130
- - **Bold headlines, medium body**: UberMove headings are exclusively weight 700 (bold) -- every headline hits with billboard force. UberMoveText body and UI text uses 400-500, creating a clear visual hierarchy through weight contrast.
131
- - **Tight heading line-heights**: All headlines use line-heights between 1.22-1.40 -- compact and punchy, designed for scanning rather than reading.
132
- - **Functional typography**: There is no decorative type treatment anywhere. No letter-spacing, no text-transform, no ornamental sizing. Every text element serves a direct communication purpose.
133
- - **Two fonts, strict roles**: UberMove is exclusively for headings. UberMoveText is exclusively for body, buttons, links, and UI. The boundary is never crossed.
187
+ Base Web is an Uber-published React component library under an MIT repository license. That code license is separate from UberMove/UberMoveText licensing and does not prove the current public-site font runtime or product UI implementation.
134
188
 
135
189
  ## 4. Component Stylings
136
190
 
137
- ### Buttons
138
-
139
- **Primary Black (CTA)**
140
- - Background: Uber Black (`#000000`)
141
- - Text: Pure White (`#ffffff`)
142
- - Padding: 10px 12px
143
- - Radius: 999px (full pill)
144
- - Outline: none
145
- - Focus: inset ring `rgb(255,255,255) 0px 0px 0px 2px`
146
- - The primary action button -- bold, high-contrast, unmissable
147
-
148
- **Secondary White**
149
- - Background: Pure White (`#ffffff`)
150
- - Text: Uber Black (`#000000`)
151
- - Padding: 10px 12px
152
- - Radius: 999px (full pill)
153
- - Hover: background shifts to Hover Gray (`#e2e2e2`)
154
- - Focus: background shifts to Hover Gray, inset ring appears
155
- - Used on dark surfaces or as a secondary action alongside Primary Black
156
-
157
- **Chip / Filter**
158
- - Background: Chip Gray (`#efefef`)
159
- - Text: Uber Black (`#000000`)
160
- - Padding: 14px 16px
161
- - Radius: 999px (full pill)
162
- - Active: inset shadow `rgba(0,0,0,0.08)`
163
- - Navigation chips, category selectors, filter toggles
164
-
165
- **Floating Action**
166
- - Background: Pure White (`#ffffff`)
167
- - Text: Uber Black (`#000000`)
168
- - Padding: 14px
169
- - Radius: 999px (full pill)
170
- - Shadow: `rgba(0,0,0,0.16) 0px 2px 8px 0px`
171
- - Transform: `translateY(2px)` slight offset
172
- - Hover: background shifts to `#f3f3f3`
173
- - Map controls, scroll-to-top, floating CTAs
174
-
175
- ### Cards & Containers
176
- - Background: Pure White (`#ffffff`) on white pages; no distinct card background differentiation
177
- - Border: none by default -- cards are defined by shadow, not stroke
178
- - Radius: 8px for standard content cards; 12px for featured/promoted cards
179
- - Shadow: `rgba(0,0,0,0.12) 0px 4px 16px 0px` for standard lift
180
- - Cards are content-dense with minimal internal padding
181
- - Image-led cards use full-bleed imagery with text overlay or below
182
-
183
- ### Inputs & Forms
184
- - Text: Uber Black (`#000000`)
185
- - Background: Pure White (`#ffffff`)
186
- - Border: 1px solid Black (`#000000`) -- the only place visible borders appear prominently
187
- - Radius: 8px
188
- - Padding: standard comfortable spacing
189
- - Focus: no extracted custom focus state -- relies on standard browser focus ring
190
-
191
- ### Navigation
192
- - Sticky top navigation with white background
193
- - Logo: Uber wordmark/icon at 24x24px in black
194
- - Links: UberMoveText at 14-18px, weight 500, in Uber Black
195
- - Pill-shaped nav chips with Chip Gray (`#efefef`) background for category navigation ("Ride", "Drive", "Business", "Uber Eats")
196
- - Menu toggle: circular button with 50% border-radius
197
- - Mobile: hamburger menu pattern
198
-
199
- ### Image Treatment
200
- - Warm, hand-illustrated scenes (not photographs for feature sections)
201
- - Illustration style: slightly stylized people, warm color palette within illustrations, contemporary vibe
202
- - Hero sections use bold photography or illustration as full-width backgrounds
203
- - QR codes for app download CTAs
204
- - All imagery uses standard 8px or 12px border-radius when contained in cards
205
-
206
- ### Distinctive Components
207
-
208
- **Category Pill Navigation**
209
- - Horizontal row of pill-shaped buttons for top-level navigation ("Ride", "Drive", "Business", "Uber Eats", "About")
210
- - Each pill: Chip Gray background, black text, 999px radius
211
- - Active state indicated by black background with white text (inversion)
212
-
213
- **Hero with Dual Action**
214
- - Split hero: text/CTA on left, map/illustration on right
215
- - Two input fields side by side for pickup/destination
216
- - "See prices" CTA button in black pill
217
-
218
- **Plan-Ahead Cards**
219
- - Cards promoting features like "Uber Reserve" and trip planning
220
- - Illustration-heavy with warm, human-centric imagery
221
- - Black CTA buttons with white text at bottom
191
+ ### Public header controls
192
+
193
+ **Dark capsule control**
194
+ - Background: `#000000`
195
+ - Text: `#ffffff`
196
+ - Radius: `999px`
197
+ - Padding: `10px 12px`
198
+ - Font: `14px / 500 / UberMoveText`
199
+ - Hover: `rgba(255,255,255,0.1) 999px 999px 0px 0px inset`
200
+ - Pressed: `rgba(255,255,255,0.2) 999px 999px 0px 0px inset`
201
+ - Use: Public-site header control on home, About, and Accessibility; representative selector `home::[data-omd-capture="3"]`.
202
+
203
+ **Light capsule menu control**
204
+ - Background: `#ffffff`
205
+ - Text: `#000000`
206
+ - Radius: `999px`
207
+ - Padding: `10px 12px`
208
+ - Font: `14px / 500 / UberMoveText`
209
+ - Focus: `#fbfbfb` on the home capture; `#fbfbfb`/`#fdfdfd` on captured About/Accessibility focus states.
210
+ - Hover: `rgba(255,255,255,0.1) 999px 999px 0px 0px inset`
211
+ - Pressed: `rgba(255,255,255,0.2) 999px 999px 0px 0px inset`
212
+ - Use: Public-site header menu trigger; representative selector `home::[data-omd-capture="7"]`.
213
+
214
+ ### Home control
215
+
216
+ **Soft capsule control**
217
+ - Background: `#efefef`
218
+ - Text: `#000000`
219
+ - Radius: `999px`
220
+ - Padding: `14px 16px`
221
+ - Font: `16px / 500 / UberMoveText`
222
+ - Hover: `rgba(0,0,0,0.04) 999px 999px 0px 0px inset`
223
+ - Pressed: `rgba(0,0,0,0.08) 999px 999px 0px 0px inset`
224
+ - Use: Home public-surface control; representative selector `home::[data-omd-capture="9"]`.
225
+
226
+ ### Expanded header menu
227
+
228
+ **Menu panel**
229
+ - Background: `#ffffff`
230
+ - Text: `#000000`
231
+ - Radius: `8px`
232
+ - Padding: `8px 0px`
233
+ - Shadow: `rgba(0,0,0,0.16) 0px 4px 16px 0px`
234
+ - Font: `16px / 400 / sans-serif`
235
+ - Use: Expanded header menu on home, About, and Accessibility; representative selector `surface-2::[data-omd-interaction-capture="menu-0-0"]`.
236
+
237
+ No authenticated ride-request form, trip card, map control, checkout, or error-state component was present in the supplied public capture, so none is specified here.
222
238
 
223
239
  ## 5. Layout Principles
224
240
 
225
- ### Spacing System
226
- - Base unit: 8px
227
- - Scale: 4px, 6px, 8px, 10px, 12px, 14px, 16px, 18px, 20px, 24px, 32px
228
- - Button padding: 10px 12px (compact) or 14px 16px (comfortable)
229
- - Card internal padding: approximately 24-32px
230
- - Section vertical spacing: generous but efficient -- approximately 64-96px between major sections
231
-
232
- ### Grid & Container
233
- - Max container width: approximately 1136px, centered
234
- - Hero: split layout with text left, visual right
235
- - Feature sections: 2-column card grids or full-width single-column
236
- - Footer: multi-column link grid on black background
237
- - Full-width sections extending to viewport edges
238
-
239
- ### Whitespace Philosophy
240
- - **Efficient, not airy**: Uber's whitespace is functional -- enough to separate, never enough to feel empty. This is transit-system spacing: compact, clear, purpose-driven.
241
- - **Content-dense cards**: Cards pack information tightly with minimal internal spacing, relying on shadow and radius to define boundaries.
242
- - **Section breathing room**: Major sections get generous vertical spacing, but within sections, elements are closely grouped.
243
-
244
- ### Border Radius Scale
245
- - Sharp (0px): No square corners used in interactive elements
246
- - Standard (8px): Content cards, input fields, listboxes
247
- - Comfortable (12px): Featured cards, larger containers, link cards
248
- - Full Pill (999px): All buttons, chips, navigation items, pills
249
- - Circle (50%): Avatar images, icon containers, circular controls
241
+ - The captured desktop public header is 64px tall with `12px 0px` padding and a black background at `home::nav`.
242
+ - The capture was taken at 1440×900; it provides no canonical container width, breakpoint, or mobile-grid value.
243
+ - The observed pattern is compact horizontal public navigation: 14px labels inside 36–38px capsule controls, with an expanded 8px-radius menu panel.
250
244
 
251
245
  ## 6. Depth & Elevation
252
246
 
253
- | Level | Treatment | Use |
254
- |-------|-----------|-----|
255
- | Flat (Level 0) | No shadow, solid background | Page background, inline content, text sections |
256
- | Subtle (Level 1) | `rgba(0,0,0,0.12) 0px 4px 16px` | Standard content cards, feature blocks |
257
- | Medium (Level 2) | `rgba(0,0,0,0.16) 0px 4px 16px` | Elevated cards, overlay elements |
258
- | Floating (Level 3) | `rgba(0,0,0,0.16) 0px 2px 8px` + translateY(2px) | Floating action buttons, map controls |
259
- | Pressed (Level 4) | `rgba(0,0,0,0.08) inset` (999px spread) | Active/pressed button states |
260
- | Focus Ring | `rgb(255,255,255) 0px 0px 0px 2px inset` | Keyboard focus indicators |
247
+ | Level | Treatment | Observed use |
248
+ |---|---|---|
249
+ | Flat | No shadow | Header controls and soft capsule control |
250
+ | Menu | `rgba(0,0,0,0.16) 0px 4px 16px 0px` | Expanded header menu on About and Accessibility |
261
251
 
262
- **Shadow Philosophy**: Uber uses shadow purely as a structural tool, never decoratively. Shadows are always black at very low opacity (0.08-0.16), creating the bare minimum lift needed to separate content layers. The blur radii are moderate (8-16px) -- enough to feel natural but never dramatic. There are no colored shadows, no layered shadow stacks, and no ambient glow effects. Depth is communicated more through the black/white section contrast than through shadow elevation.
252
+ No broader card-elevation scale is claimed from this capture.
263
253
 
264
254
  ## 7. Do's and Don'ts
265
255
 
266
256
  ### Do
267
- - Use true black (`#000000`) and pure white (`#ffffff`) as the primary palette -- the stark contrast IS Uber
268
- - Use 999px border-radius for all buttons, chips, and pill-shaped navigation elements
269
- - Keep all headings in UberMove Bold (700) for billboard-level impact
270
- - Use whisper-soft shadows (0.12-0.16 opacity) for card elevation -- barely visible
271
- - Maintain the compact, information-dense layout style -- Uber prioritizes efficiency over airiness
272
- - Use warm, human-centric illustrations to soften the monochrome interface
273
- - Apply 8px radius for content cards and 12px for featured containers
274
- - Use UberMoveText at weight 500 for navigation and prominent UI text
275
- - Pair black primary buttons with white secondary buttons for dual-action layouts
257
+
258
+ - Use the observed ink/paper polarity for the public-header controls.
259
+ - Preserve the measured 999px radius and 10px × 12px geometry for the documented header capsules.
260
+ - Keep the loaded UberMove display role and UberMoveText UI role separate when those fonts are available from an authorized source.
261
+ - Treat Base Web's MIT code license independently from the UberMove font license boundary.
262
+ - Use sentence case and direct, comprehensible CTA language when working within the scope of Uber's published advertising guidance.
276
263
 
277
264
  ### Don't
278
- - Don't introduce color into the UI chrome -- Uber's interface is strictly black, white, and gray
279
- - Don't use rounded corners less than 999px on buttons -- the full-pill shape is a core identity element
280
- - Don't apply heavy shadows or drop shadows with high opacity -- depth is whisper-subtle
281
- - Don't use serif fonts anywhere -- Uber's typography is exclusively geometric sans-serif
282
- - Don't create airy, spacious layouts with excessive whitespace -- Uber's density is intentional
283
- - Don't use gradients or color overlays -- every surface is a flat, solid color
284
- - Don't mix UberMove into body text or UberMoveText into headlines -- the hierarchy is strict
285
- - Don't use decorative borders -- borders are functional (inputs, dividers) or absent entirely
286
- - Don't soften the black/white contrast with off-whites or near-blacks -- the duality is deliberate
265
+
266
+ - Don't present a system font or Inter as UberMove or UberMoveText.
267
+ - Don't extend the public-web component observations into authenticated rider, earner, courier, merchant, or checkout UI.
268
+ - Don't promote the Accessibility-page default-link colors into a general brand or status palette.
269
+ - Don't add an unobserved card, input, toast, modal, map, or form-error variant to this reference.
270
+ - Don't infer a public redistribution license for UberMove or UberMoveText.
287
271
 
288
272
  ## 8. Responsive Behavior
289
273
 
290
- ### Breakpoints
291
- | Name | Width | Key Changes |
292
- |------|-------|-------------|
293
- | Mobile Small | 320px | Minimum layout, single column, stacked inputs, compact typography |
294
- | Mobile | 600px | Standard mobile, stacked layout, hamburger nav |
295
- | Tablet Small | 768px | Two-column grids begin, expanded card layouts |
296
- | Tablet | 1119px | Full tablet layout, side-by-side hero content |
297
- | Desktop Small | 1120px | Desktop grid activates, horizontal nav pills |
298
- | Desktop | 1136px | Full desktop layout, maximum container width, split hero |
299
-
300
- ### Touch Targets
301
- - All pill buttons: minimum 44px height (10-14px vertical padding + line-height)
302
- - Navigation chips: generous 14px 16px padding for comfortable thumb tapping
303
- - Circular controls (menu, close): 50% radius ensures large, easy-to-hit targets
304
- - Card surfaces serve as full-area touch targets on mobile
305
-
306
- ### Collapsing Strategy
307
- - **Navigation**: Horizontal pill nav collapses to hamburger menu with circular toggle
308
- - **Hero**: Split layout (text + map/visual) stacks to single column -- text above, visual below
309
- - **Input fields**: Side-by-side pickup/destination inputs stack vertically
310
- - **Feature cards**: 2-column grid collapses to full-width stacked cards
311
- - **Headings**: 52px display scales down through 36px, 32px, 24px, 20px
312
- - **Footer**: Multi-column link grid collapses to accordion or stacked single column
313
- - **Category pills**: Horizontal scroll with overflow on smaller screens
314
-
315
- ### Image Behavior
316
- - Illustrations scale proportionally within their containers
317
- - Hero imagery maintains aspect ratio, may crop on smaller screens
318
- - QR code sections hide on mobile (app download shifts to direct store links)
319
- - Card imagery maintains 8-12px border radius at all sizes
274
+ The supplied evidence records a 1440×900 public-web capture only. It confirms an expandable header menu on all three captured URLs, but it does not provide measured breakpoint, touch-target, stacking, or mobile-layout rules. Those values remain outside this reference.
320
275
 
321
276
  ## 9. Agent Prompt Guide
322
277
 
323
278
  ### Quick Color Reference
324
- - Primary Button: "Uber Black (#000000)"
325
- - Page Background: "Pure White (#ffffff)"
326
- - Button Text (on black): "Pure White (#ffffff)"
327
- - Button Text (on white): "Uber Black (#000000)"
328
- - Secondary Text: "Body Gray (#4b4b4b)"
329
- - Tertiary Text: "Muted Gray (#afafaf)"
330
- - Chip Background: "Chip Gray (#efefef)"
331
- - Hover State: "Hover Gray (#e2e2e2)"
332
- - Card Shadow: "rgba(0,0,0,0.12) 0px 4px 16px"
333
- - Footer Background: "Uber Black (#000000)"
334
279
 
335
- ### Example Component Prompts
336
- - "Create a hero section on Pure White (#ffffff) with a headline at 52px UberMove Bold (700), line-height 1.23. Use Uber Black (#000000) text. Add a subtitle in Body Gray (#4b4b4b) at 16px UberMoveText weight 400 with 1.50 line-height. Place an Uber Black (#000000) pill CTA button with Pure White text, 999px radius, padding 10px 12px."
337
- - "Design a category navigation bar with horizontal pill buttons. Each pill: Chip Gray (#efefef) background, Uber Black (#000000) text, 14px 16px padding, 999px border-radius. Active pill inverts to Uber Black background with Pure White text. Use UberMoveText at 14px weight 500."
338
- - "Build a feature card on Pure White (#ffffff) with 8px border-radius and shadow rgba(0,0,0,0.12) 0px 4px 16px. Title in UberMove at 24px weight 700, description in Body Gray (#4b4b4b) at 16px UberMoveText. Add a black pill CTA button at the bottom."
339
- - "Create a dark footer on Uber Black (#000000) with Pure White (#ffffff) heading text in UberMove at 20px weight 700. Footer links in Muted Gray (#afafaf) at 14px UberMoveText. Links hover to Pure White. Multi-column grid layout."
340
- - "Design a floating action button with Pure White (#ffffff) background, 999px radius, 14px padding, and shadow rgba(0,0,0,0.16) 0px 2px 8px. Hover shifts background to #f3f3f3. Use for scroll-to-top or map controls."
341
-
342
- ### Iteration Guide
343
- 1. Focus on ONE component at a time
344
- 2. Reference the strict black/white palette -- "use Uber Black (#000000)" not "make it dark"
345
- 3. Always specify 999px radius for buttons and pills -- this is non-negotiable for the Uber identity
346
- 4. Describe the font family explicitly -- "UberMove Bold for the heading, UberMoveText Medium for the label"
347
- 5. For shadows, use "whisper shadow (rgba(0,0,0,0.12) 0px 4px 16px)" -- never heavy drop shadows
348
- 6. Keep layouts compact and information-dense -- Uber is efficient, not airy
349
- 7. Illustrations should be warm and human -- describe "stylized people in warm tones" not abstract shapes
350
- 8. Pair black CTAs with white secondaries for balanced dual-action layouts
280
+ - Dark public-header control: `#000000` background with `#ffffff` text, 999px radius, `10px 12px` padding.
281
+ - Light public-header menu control: `#ffffff` background with `#000000` text, 999px radius, `10px 12px` padding.
282
+ - Home soft capsule control: `#efefef` background with `#000000` text, 999px radius, `14px 16px` padding.
283
+ - Expanded menu: `#ffffff` surface, 8px radius, `8px 0px` padding, `rgba(0,0,0,0.16) 0px 4px 16px 0px` shadow.
351
284
 
352
- ## 10. Voice & Tone
285
+ ### Example Component Prompts
353
286
 
354
- Uber's voice is **mobility-platform-direct and dual-audience-aware.** Two parallel audiences riders ("차량 서비스") and drivers ("운전") with distinct CTAs. Pure black `#000` primary CTA + 999px pill nav signals "modern mobility company."
287
+ - “Create a public-site header action using the observed dark capsule: `#000000` background, `#ffffff` label, 999px radius, 10px 12px padding, UberMoveText 14px/500. On hover use the measured white 0.1 inset overlay.”
288
+ - “Create an expanded public navigation menu with a white 8px-radius panel, 8px 0px padding, and the observed `rgba(0,0,0,0.16) 0px 4px 16px` shadow. Do not represent it as an in-app ride menu.”
355
289
 
356
- | Context | Tone |
357
- |---|---|
358
- | CTA | Verb. "Sign up to ride", "Sign up to drive", "Get started" |
359
- | Marketing | Dual-audience. Rider page ≠ Driver page |
360
- | Documentation | Sparse — consumer product |
361
- | Error | Polite. "Pickup location unavailable. Try a different address." |
290
+ ## 10. Voice & Tone
362
291
 
363
- **Voice samples**
364
- - Marketing nav (KR): *"차량 서비스"* / *"운전"* <!-- verified: uber.com/kr/ko 2026-05 -->
292
+ Uber's current public corporate source describes movement across going, getting, and earning, while its advertising guidance asks for sentence case, friendly language, simple comprehensible promotions, and clear destination-aware CTAs. The latter is advertising guidance, not a universal product-content specification.
365
293
 
366
- **Forbidden phrases.** "Revolutionary mobility". Aggressive Lyft-comparison framing.
294
+ | Context | Supported direction | Boundary |
295
+ |---|---|---|
296
+ | Corporate mission | Movement, access, and marketplace participants | From the 2024 proxy statement |
297
+ | Advertising copy | Sentence case, friendly, simple, comprehensible | Applies to Uber advertising guidance |
298
+ | Public navigation | Concise Korean labels in the supplied capture | Does not establish app microcopy |
367
299
 
368
300
  ## 11. Brand Narrative
369
301
 
370
- Uber was founded **2009** in San Francisco originally as **UberCab** by **Garrett Camp** (Canadian entrepreneur, **co-founder of StumbleUpon**) and **Travis Kalanick** ([Travis Kalanick — Wikipedia](https://en.wikipedia.org/wiki/Travis_Kalanick), [Garrett Camp — Wikipedia](https://en.wikipedia.org/wiki/Garrett_Camp)). **Camp had become frustrated with SF taxis and expensive black-car services**, conceived a smartphone-app to hail luxury vehicles directly; discussed with Kalanick who joined as "mega advisor." Neither founder wanted to run the company directly; **Ryan Graves brought on as launch CEO** for **10 months** before being replaced by **Kalanick** (Camp + Graves transferred a large portion of shares to Kalanick on transition). Pioneered ride-hailing → expanded to **Eats / Freight / Delivery**. **2018 rebrand by Wolff Olins** + Uber in-house team — 10 months development, introduced bespoke **Uber Move** typeface + monochrome black-on-white identity + bespoke **Safety Blue** accent ([Design Week — Uber rebrand 2018](https://www.designweek.co.uk/issues/17-23-september-2018/uber-rebrand-looks-to-reflect-how-the-taxi-app-is-changing/), [Dezeen — Uber brings back the U](https://www.dezeen.com/2018/09/14/uber-rebrand-wolff-olins-black-white-wordmark-logo-typography/), [Wolff Olins — Views](https://www.wolffolins.com/views/the-medias-take-on-ubers-new-brand)). **NYSE IPO May 10 2019** under ticker **UBER** at **$45/share** raising **$8.1B** at **~$75B valuation** — biggest IPO of 2019, top-10 ever; closed first day at **$41.57 = biggest first-day dollar loss in U.S. IPO history** ([Uber IR — IPO pricing](https://investor.uber.com/news-events/news/press-release-details/2019/Uber-Announces-Pricing-of-Initial-Public-Offering/default.aspx), [Bloomberg Uber drops after $8.1B IPO](https://www.bloomberg.com/news/articles/2019-05-10/uber-drops-after-raising-8-1-billion-in-biggest-ipo-of-2019)). The brand evolution post-2017 shifted from aggressive growth-at-all-costs to "platform for mobility" with operational + safety focus **Dara Khosrowshahi** (current CEO, ex-Expedia) succeeded Kalanick **August 2017**.
302
+ Uber's 2024 proxy statement describes the company's mission as reimagining how the world moves for the better and names a marketplace of earners, riders, eaters, couriers, and merchants. Its 2018 official “A new look” post introduced a new mission and logo, emphasizing easier recognition for riders and a more dependable partnership with drivers. Together, these official sources frame the public site as a movement marketplace with multiple participants, not merely a rider-facing transport page.
303
+
304
+ The July 2026 public capture carries that framing through a restrained header system: dark and light capsule controls, compact labels, and a menu that opens into a neutral white panel. This is evidence of public marketing/corporate chrome. It is not evidence for a private trip workflow or operational product screen.
371
305
 
372
306
  ## 12. Principles
373
307
 
374
- 1. **Dual-audience.** Riders and drivers are first-class. *UI implication:* segment nav clearly separated.
375
- 2. **Pure black `#000` primary.** *UI implication:* preserve achromatic primary; don't introduce brand color.
376
- 3. **999px pill nav.** *UI implication:* nav buttons fully pill on white.
377
- 4. **Black + white dual-action.** *UI implication:* paired CTAs use black/white for balance.
378
- 5. **Warm illustrations.** *UI implication:* never abstract shapes; warm humans.
308
+ 1. **See every marketplace side.** Uber's corporate source names earners, riders, eaters, couriers, and merchants. *UI implication:* identify the audience and product surface before applying a public-web pattern.
309
+ 2. **Keep movement legible.** The official mission centers movement, going, getting, and earning. *UI implication:* favor direct labels and clear action outcomes over decorative phrasing.
310
+ 3. **Use public chrome precisely.** The capture repeats ink/paper capsule controls and a neutral menu panel. *UI implication:* retain measured geometry only on the public-site header patterns documented here.
311
+ 4. **Respect source domains.** Advertising guidelines, public marketing pages, and authenticated product interfaces are distinct evidence domains. *UI implication:* do not transfer advertising-copy or public-header rules into a product flow without direct evidence.
379
312
 
380
313
  ## 13. Personas
381
314
 
382
- *Personas are fictional archetypes informed by Uber user segments (urban riders, drivers, business travelers), not individual people.*
315
+ *These are official stakeholder groups, not invented personas; the source does not provide individual biographies or task narratives.*
383
316
 
384
- **Sofia Park, 31, Seoul.** Daily Uber rider. Cares about ETA accuracy + driver rating.
317
+ - **Riders and eaters:** People seeking movement or goods through the marketplace.
318
+ - **Earners, couriers, and merchants:** Participants who provide services, deliveries, or commerce through the marketplace.
385
319
 
386
- **Marcus Webb, 38, San Francisco.** Business traveler. Uber for client meetings + airport transfers.
387
-
388
- **Henrik Nielsen, 45, Copenhagen.** Part-time Uber driver. Cares about earnings transparency + cancellation fees.
320
+ The supplied public capture does not establish distinct interface needs, journeys, or success criteria for these groups.
389
321
 
390
322
  ## 14. States
391
323
 
392
- | State | Treatment |
393
- |---|---|
394
- | **Empty (no rides)** | "Request your first ride" CTA |
395
- | **Empty (no driver activity)** | "Go online" CTA for drivers |
396
- | **Loading (matching)** | Real-time map with car icon |
397
- | **Loading (price)** | Surge indicator if active |
398
- | **Error (no drivers)** | "No drivers nearby. Try Uber Comfort instead." |
399
- | **Error (payment)** | "Payment failed. Try a different method." |
400
- | **Success (booked)** | Driver info + ETA + map |
401
- | **Success (rated)** | Subtle confirmation |
402
- | **Skeleton (ride history)** | Black/white placeholders |
403
- | **Disabled (account verification)** | Verify link |
404
- | **Loading (long match)** | Persistent progress with cancel option |
324
+ | State | Observed treatment | Provenance |
325
+ |---|---|---|
326
+ | Header menu expanded | White 8px-radius panel with menu items | `home`, `surface-2`, `surface-3` menu interaction capture |
327
+ | Dark capsule hover | White 0.1 inset overlay | `home::[data-omd-capture="3"]::state-hover` |
328
+ | Dark capsule pressed | White 0.2 inset overlay | `home::[data-omd-capture="3"]::state-pressed` |
329
+ | Light capsule focus | `#fbfbfb` or `#fdfdfd` fill | Captured home/About/Accessibility focus states |
330
+ | Light capsule pressed | White 0.2 inset overlay | `home::[data-omd-capture="7"]::state-pressed` |
331
+ | Soft capsule hover | Black 0.04 inset overlay | `home::[data-omd-capture="9"]::state-hover` |
332
+ | Soft capsule pressed | Black 0.08 inset overlay | `home::[data-omd-capture="9"]::state-pressed` |
405
333
 
406
- ## 15. Motion & Easing
334
+ Loading, validation, payment, booking, and map states were not observed and are intentionally omitted.
407
335
 
408
- | Token | Value | Use |
409
- |---|---|---|
410
- | `motion-instant` | 0ms | Selection |
411
- | `motion-fast` | 150ms | Hover |
412
- | `motion-standard` | 250ms | Modal, panel |
413
- | `motion-map-tracking` | continuous | Real-time map updates |
336
+ ## 15. Motion & Easing
414
337
 
415
- Standard cubic-bezier; no bounce operational register. `prefers-reduced-motion: reduce` removes map auto-pan.
338
+ The supplied evidence records menu expansion and hover/focus/pressed visual results, but no transition duration, easing curve, animation, or reduced-motion rule. No motion token is claimed.
416
339
 
417
340
  ---
418
341
 
419
- **Verified:** 2026-05-08 (omd:migrate run 60 — Apple-tier)
420
- **Tier 1 sources:** uber.com/kr/ko home + /about (live DOM via playwright — **all-pill 999px chrome with three-fill canvas-awareness**: Header `#000` Black + `#fff` text 999px / 36-38px / 10×12 / 14px·500; Header Inverse `#fff` + `#000` text (Sign-up); Hero `#addec9` **Uber Mint Green** + `#000` text 999px / 48px / 14×16 / 16px·500 soft-pastel signature).
421
- **Tier 2 sources:** styles.refero.design / getdesign.md no record.
422
- **Tier 2 (Philosophy/founders/rebrand/IPO):** Wikipedia (Travis Kalanick, Garrett Camp), Britannica, Design Week / Dezeen / Wolff Olins Views (2018 rebrand), Uber IR (IPO pricing), Bloomberg (2019-05-10 first-day loss), CNBC.
423
- **Style ref:** `apple` (luxury minimal). **Conflicts unresolved:** none. **Earlier addition:** Inverse White Sign-up + Mint Green `#addec9` hero accent + 48px hero tier missed by prior pass.
342
+ **Verified:** 2026-07-13
343
+ **Tier 1 sources:** Raw computed-style and FontFaceSet evidence from `https://www.uber.com/kr/ko/`, `https://www.uber.com/kr/ko/about/`, and `https://www.uber.com/kr/ko/about/accessibility/`; official context/design sources: `https://www.uber.com/us/en/blog/a-new-look/`, `https://tb-static.uber.com/prod/uber-static/uber-sites/_pdf/22789bea-a413-4014-99e4-31144c54ef56.pdf`, `https://www.uber.com/us/en/advertising/specs/guidelines/`, and `https://github.com/uber/baseweb`.
344
+ **Tier 2 sources:** `https://getdesign.md/uber`, `https://getdesign.md/design-md/uber/preview`, and `https://styles.refero.design/style/caf8d2ef-4173-4431-9d26-05be0272e9f8`.
345
+ **Evidence boundary:** No public rider/earner/courier/merchant product-surface capture or first-party public UberMove/UberMoveText license term was located. Tier 2's unobserved `#9dcdd6` and substitute-font advice are not canonicalized.
346
+ **Conflicts unresolved:** none