oh-my-design-cli 1.8.7 → 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 (247) 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 +1995 -38
  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/alipay/DESIGN.md +179 -420
  71. package/web/references/apple/DESIGN.md +224 -498
  72. package/web/references/asleep/DESIGN.md +402 -0
  73. package/web/references/au/DESIGN.md +334 -0
  74. package/web/references/autopedia/DESIGN.md +382 -0
  75. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  76. package/web/references/baemin/DESIGN.md +332 -491
  77. package/web/references/banksalad/DESIGN.md +269 -180
  78. package/web/references/barogo/DESIGN.md +416 -0
  79. package/web/references/beusable/DESIGN.md +464 -0
  80. package/web/references/bilibili/DESIGN.md +206 -374
  81. package/web/references/bmw/DESIGN.md +162 -276
  82. package/web/references/brandi/DESIGN.md +184 -325
  83. package/web/references/catchtable/DESIGN.md +219 -264
  84. package/web/references/cgv/DESIGN.md +317 -0
  85. package/web/references/channeltalk/DESIGN.md +210 -336
  86. package/web/references/china-airlines/DESIGN.md +291 -0
  87. package/web/references/cjonstyle/DESIGN.md +453 -0
  88. package/web/references/class101/DESIGN.md +168 -387
  89. package/web/references/classum/DESIGN.md +228 -203
  90. package/web/references/claude/DESIGN.md +242 -479
  91. package/web/references/clay/DESIGN.md +179 -377
  92. package/web/references/clickhouse/DESIGN.md +254 -343
  93. package/web/references/cohere/DESIGN.md +214 -324
  94. package/web/references/coinone/DESIGN.md +199 -179
  95. package/web/references/corca/DESIGN.md +414 -0
  96. package/web/references/coupang/DESIGN.md +205 -475
  97. package/web/references/cursor/DESIGN.md +240 -381
  98. package/web/references/dabang/DESIGN.md +248 -213
  99. package/web/references/dable/DESIGN.md +431 -0
  100. package/web/references/datarize/DESIGN.md +217 -330
  101. package/web/references/dealicious/DESIGN.md +402 -0
  102. package/web/references/drdiary/DESIGN.md +404 -0
  103. package/web/references/elastic/DESIGN.md +238 -0
  104. package/web/references/elevenlabs/DESIGN.md +183 -321
  105. package/web/references/eslite/DESIGN.md +257 -0
  106. package/web/references/evaair/DESIGN.md +338 -0
  107. package/web/references/expo/DESIGN.md +238 -331
  108. package/web/references/familymart-tw/DESIGN.md +254 -0
  109. package/web/references/ferrari/DESIGN.md +160 -377
  110. package/web/references/figma/DESIGN.md +197 -451
  111. package/web/references/fitpet/DESIGN.md +445 -0
  112. package/web/references/flex/DESIGN.md +170 -253
  113. package/web/references/framer/DESIGN.md +197 -340
  114. package/web/references/freee/DESIGN.md +211 -533
  115. package/web/references/friendliai/DESIGN.md +431 -0
  116. package/web/references/frip/DESIGN.md +440 -0
  117. package/web/references/gangnamunni/DESIGN.md +154 -591
  118. package/web/references/gaudiolab/DESIGN.md +414 -0
  119. package/web/references/google/DESIGN.md +290 -398
  120. package/web/references/hashicorp/DESIGN.md +273 -318
  121. package/web/references/heydealer/DESIGN.md +429 -0
  122. package/web/references/humanscape/DESIGN.md +433 -0
  123. package/web/references/hyundai/DESIGN.md +158 -368
  124. package/web/references/hyundaicard/DESIGN.md +171 -121
  125. package/web/references/ibm/DESIGN.md +227 -378
  126. package/web/references/idus/DESIGN.md +450 -0
  127. package/web/references/igaworks/DESIGN.md +437 -0
  128. package/web/references/inflearn/DESIGN.md +221 -366
  129. package/web/references/intuit/DESIGN.md +244 -0
  130. package/web/references/jandi/DESIGN.md +191 -291
  131. package/web/references/jobplanet/DESIGN.md +415 -0
  132. package/web/references/kakao/DESIGN.md +287 -475
  133. package/web/references/kakaobank/DESIGN.md +220 -521
  134. package/web/references/kakaogames/DESIGN.md +220 -0
  135. package/web/references/kakaopay/DESIGN.md +207 -526
  136. package/web/references/karrot/DESIGN.md +227 -251
  137. package/web/references/kb-kookmin/DESIGN.md +308 -0
  138. package/web/references/kbank/DESIGN.md +220 -175
  139. package/web/references/kmong/DESIGN.md +281 -356
  140. package/web/references/krds/DESIGN.md +245 -19
  141. package/web/references/kream/DESIGN.md +224 -359
  142. package/web/references/kurly/DESIGN.md +211 -533
  143. package/web/references/lamborghini/DESIGN.md +198 -360
  144. package/web/references/lguplus/DESIGN.md +259 -0
  145. package/web/references/likelion/DESIGN.md +283 -0
  146. package/web/references/line/DESIGN.md +396 -355
  147. package/web/references/linear.app/DESIGN.md +209 -562
  148. package/web/references/lotteon/DESIGN.md +386 -0
  149. package/web/references/lovable/DESIGN.md +255 -349
  150. package/web/references/makinarocks/DESIGN.md +149 -349
  151. package/web/references/maum-ai/DESIGN.md +423 -0
  152. package/web/references/medibloc/DESIGN.md +425 -0
  153. package/web/references/megabox/DESIGN.md +232 -0
  154. package/web/references/mercari/DESIGN.md +217 -434
  155. package/web/references/microsoft/DESIGN.md +234 -388
  156. package/web/references/mildang/DESIGN.md +411 -0
  157. package/web/references/millie/DESIGN.md +183 -504
  158. package/web/references/minimax/DESIGN.md +264 -322
  159. package/web/references/miricanvas/DESIGN.md +182 -355
  160. package/web/references/miro/DESIGN.md +234 -232
  161. package/web/references/mistral.ai/DESIGN.md +231 -314
  162. package/web/references/mixi/DESIGN.md +234 -0
  163. package/web/references/moin/DESIGN.md +445 -0
  164. package/web/references/mongodb/DESIGN.md +219 -316
  165. package/web/references/musinsa/DESIGN.md +184 -510
  166. package/web/references/mynavi/DESIGN.md +242 -0
  167. package/web/references/myrealtrip/DESIGN.md +169 -406
  168. package/web/references/naver/DESIGN.md +328 -499
  169. package/web/references/naverwebtoon/DESIGN.md +172 -395
  170. package/web/references/nhn/DESIGN.md +169 -346
  171. package/web/references/nhncloud/DESIGN.md +185 -123
  172. package/web/references/notion/DESIGN.md +271 -475
  173. package/web/references/nrise/DESIGN.md +417 -0
  174. package/web/references/ohouse/DESIGN.md +210 -549
  175. package/web/references/oliveyoung/DESIGN.md +217 -326
  176. package/web/references/ollama/DESIGN.md +241 -308
  177. package/web/references/onestore/DESIGN.md +248 -0
  178. package/web/references/palantir/DESIGN.md +256 -0
  179. package/web/references/panasonic/DESIGN.md +276 -0
  180. package/web/references/patternfly/DESIGN.md +259 -0
  181. package/web/references/payhere/DESIGN.md +438 -0
  182. package/web/references/pega/DESIGN.md +262 -0
  183. package/web/references/peoplefund/DESIGN.md +431 -0
  184. package/web/references/petfriends/DESIGN.md +428 -0
  185. package/web/references/pinkfong/DESIGN.md +199 -367
  186. package/web/references/pinterest/DESIGN.md +258 -308
  187. package/web/references/poya/DESIGN.md +286 -0
  188. package/web/references/pozalabs/DESIGN.md +438 -0
  189. package/web/references/protopie/DESIGN.md +419 -0
  190. package/web/references/qraft/DESIGN.md +448 -0
  191. package/web/references/quotabook/DESIGN.md +449 -0
  192. package/web/references/recruit/DESIGN.md +247 -0
  193. package/web/references/remember/DESIGN.md +202 -396
  194. package/web/references/resend/DESIGN.md +274 -348
  195. package/web/references/sakura-internet/DESIGN.md +269 -0
  196. package/web/references/samsung/DESIGN.md +157 -359
  197. package/web/references/sandoll/DESIGN.md +445 -0
  198. package/web/references/sanity/DESIGN.md +241 -375
  199. package/web/references/scatterlab/DESIGN.md +412 -0
  200. package/web/references/selectstar/DESIGN.md +439 -0
  201. package/web/references/servicenow/DESIGN.md +289 -0
  202. package/web/references/shinhanbank/DESIGN.md +161 -341
  203. package/web/references/shinhancard/DESIGN.md +208 -319
  204. package/web/references/sionic/DESIGN.md +454 -0
  205. package/web/references/sktelecom/DESIGN.md +310 -0
  206. package/web/references/socar/DESIGN.md +125 -32
  207. package/web/references/softbank/DESIGN.md +231 -0
  208. package/web/references/sony/DESIGN.md +234 -0
  209. package/web/references/soop/DESIGN.md +261 -0
  210. package/web/references/spacex/DESIGN.md +184 -323
  211. package/web/references/spotify/DESIGN.md +253 -394
  212. package/web/references/squeezebits/DESIGN.md +441 -0
  213. package/web/references/stayfolio/DESIGN.md +422 -0
  214. package/web/references/stripe/DESIGN.md +212 -491
  215. package/web/references/supabase/DESIGN.md +244 -316
  216. package/web/references/tabling/DESIGN.md +415 -0
  217. package/web/references/taishinbank/DESIGN.md +243 -0
  218. package/web/references/teamlab/DESIGN.md +240 -0
  219. package/web/references/teamsparta/DESIGN.md +472 -0
  220. package/web/references/tellingme/DESIGN.md +392 -0
  221. package/web/references/tesla/DESIGN.md +244 -427
  222. package/web/references/thsr/DESIGN.md +284 -0
  223. package/web/references/thumbtack/DESIGN.md +302 -0
  224. package/web/references/together.ai/DESIGN.md +257 -304
  225. package/web/references/toss/DESIGN.md +251 -593
  226. package/web/references/toss-securities/DESIGN.md +255 -178
  227. package/web/references/tossbank/DESIGN.md +195 -491
  228. package/web/references/toyota/DESIGN.md +238 -0
  229. package/web/references/tving/DESIGN.md +197 -245
  230. package/web/references/typed/DESIGN.md +413 -0
  231. package/web/references/uber/DESIGN.md +256 -333
  232. package/web/references/udn/DESIGN.md +250 -0
  233. package/web/references/upbit/DESIGN.md +145 -256
  234. package/web/references/upstage/DESIGN.md +211 -204
  235. package/web/references/uswds/DESIGN.md +287 -0
  236. package/web/references/vercel/DESIGN.md +236 -440
  237. package/web/references/wanted/DESIGN.md +215 -487
  238. package/web/references/wise/DESIGN.md +223 -231
  239. package/web/references/wisetracker/DESIGN.md +462 -0
  240. package/web/references/wooribank/DESIGN.md +245 -0
  241. package/web/references/yanolja/DESIGN.md +250 -419
  242. package/web/references/yeogiotte/DESIGN.md +235 -418
  243. package/web/references/zapier/DESIGN.md +256 -377
  244. package/web/references/zendesk/DESIGN.md +288 -0
  245. package/web/references/zigzag/DESIGN.md +200 -621
  246. package/dist/install-skills-7UUDOLG2.js +0 -734
  247. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -4,421 +4,332 @@ name: ClickHouse
4
4
  country: US
5
5
  category: backend-devops
6
6
  homepage: "https://clickhouse.com"
7
- primary_color: "#fff100"
7
+ primary_color: "#faff69"
8
8
  logo:
9
9
  type: simpleicons
10
10
  slug: clickhouse
11
- verified: "2026-05-15"
11
+ verified: "2026-07-13"
12
12
  omd: "0.1"
13
13
  ds:
14
14
  name: ClickHouse Design
15
15
  url: "https://clickhouse.design"
16
16
  type: system
17
- description: ClickHouse brand hub plus the Click UI design system and component library.
17
+ description: Official brand foundations plus the separate Click UI design system and component library.
18
+ verification_v2:
19
+ schema: 2
20
+ checked: "2026-07-13"
21
+ surfaces:
22
+ - { id: home, kind: marketing, url: "https://clickhouse.com/", inspected: "2026-07-13" }
23
+ - { id: pricing, kind: public-calculator, url: "https://clickhouse.com/pricing", inspected: "2026-07-13" }
24
+ - { id: story, kind: editorial, url: "https://clickhouse.com/blog/corsearch-replaces-mysql-with-clickhouse-for-content-and-brand-protection", inspected: "2026-07-13" }
25
+ sources:
26
+ - { id: home-live, kind: product-surface, url: "https://clickhouse.com/", captured: "2026-07-13" }
27
+ - { id: pricing-live, kind: product-surface, url: "https://clickhouse.com/pricing", captured: "2026-07-13" }
28
+ - { id: story-live, kind: product-surface, url: "https://clickhouse.com/blog/corsearch-replaces-mysql-with-clickhouse-for-content-and-brand-protection", captured: "2026-07-13" }
29
+ - { id: brand-guide, kind: official-doc, url: "https://clickhouse.design/brand", captured: "2026-07-13" }
30
+ - { id: click-ui, kind: official-doc, url: "https://clickhouse.design/click-ui", captured: "2026-07-13" }
31
+ conflicts: []
32
+ claims:
33
+ "tokens.colors.primary": &home { surface_id: home, source_id: home-live, method: live-inspect, captured: "2026-07-13" }
34
+ "tokens.colors.canvas": *home
35
+ "tokens.colors.overlay": *home
36
+ "tokens.colors.on-primary": *home
37
+ "tokens.colors.surface": &pricing { surface_id: pricing, source_id: pricing-live, method: live-inspect, captured: "2026-07-13" }
38
+ "tokens.colors.foreground": *pricing
39
+ "tokens.colors.foreground-strong": *pricing
40
+ "tokens.colors.hairline": *pricing
41
+ "tokens.colors.accent-border": *pricing
42
+ "tokens.typography.family.ui": *home
43
+ "tokens.typography.family.display": &story { surface_id: story, source_id: story-live, method: live-inspect, captured: "2026-07-13" }
44
+ "tokens.typography.family.mono": *story
45
+ "tokens.typography.display.size": *story
46
+ "tokens.typography.display.weight": *story
47
+ "tokens.typography.display.lineHeight": *story
48
+ "tokens.typography.display.use": *story
49
+ "tokens.typography.heading.size": *story
50
+ "tokens.typography.heading.weight": *story
51
+ "tokens.typography.heading.lineHeight": *story
52
+ "tokens.typography.heading.use": *story
53
+ "tokens.typography.body.size": *home
54
+ "tokens.typography.body.weight": *home
55
+ "tokens.typography.body.lineHeight": *home
56
+ "tokens.typography.body.use": *home
57
+ "tokens.typography.control.size": *home
58
+ "tokens.typography.control.weight": *home
59
+ "tokens.typography.control.lineHeight": *home
60
+ "tokens.typography.control.use": *home
61
+ "tokens.typography.code.size": *story
62
+ "tokens.typography.code.weight": *story
63
+ "tokens.typography.code.lineHeight": *story
64
+ "tokens.typography.code.use": *story
65
+ "tokens.spacing.xs": *pricing
66
+ "tokens.spacing.sm": *pricing
67
+ "tokens.spacing.md": *pricing
68
+ "tokens.spacing.control": *pricing
69
+ "tokens.spacing.lg": *pricing
70
+ "tokens.spacing.xl": *pricing
71
+ "tokens.spacing.xxl": *pricing
72
+ "tokens.spacing.section": *pricing
73
+ "tokens.rounded.sm": *home
74
+ "tokens.rounded.md": *pricing
75
+ "tokens.rounded.lg": *home
76
+ "tokens.rounded.dialog": *home
77
+ "tokens.rounded.full": *pricing
78
+ "tokens.components.public-list-item.type": *home
79
+ "tokens.components.public-list-item.fg": *home
80
+ "tokens.components.public-list-item.radius": *home
81
+ "tokens.components.public-list-item.padding": *home
82
+ "tokens.components.public-list-item.font": *home
83
+ "tokens.components.public-list-item.use": *home
18
84
  tokens:
19
- source: prose-derived
20
- extracted: "2026-06-08"
21
- note: "primary = live interactive Neon Volt (#faff69); brand = documented logo/marketing yellow (#fff100)"
85
+ source: reconciled
86
+ extracted: "2026-07-13"
87
+ note: "Public marketing, pricing-calculator, editorial, Click UI documentation, and declared font assets remain separate evidence domains. Values below are selector-backed public-surface observations only."
22
88
  colors:
23
89
  primary: "#faff69"
24
- primary-hover: "#f4f692"
25
- brand: "#fff100"
26
- canvas: "#000000"
27
- foreground: "#ffffff"
28
- muted: "#a0a0a0"
29
- on-primary: "#151515"
30
- surface: "#141414"
31
- surface-hover: "#3a3a3a"
90
+ canvas: "#131312"
91
+ surface: "#282828"
92
+ overlay: "#141414"
93
+ foreground: "#dfdfdf"
94
+ foreground-strong: "#ffffff"
32
95
  hairline: "#414141"
33
- hairline-deep: "#343434"
34
- cta-green: "#166534"
35
- cta-green-dark: "#14572f"
36
- active: "#f4f692"
37
- border-olive: "#4f5100"
38
- olive-dark: "#161600"
96
+ accent-border: "#4f5101"
97
+ on-primary: "#151515"
39
98
  typography:
40
- family: { sans: "Inter", display: "Basier", mono: "Inconsolata" }
41
- display-mega: { size: 96, weight: 900, lineHeight: 1.00, use: "Hero headline, maximum impact extra-heavy" }
42
- display-hero: { size: 72, weight: 700, lineHeight: 1.00, use: "Section hero titles" }
43
- feature-heading: { size: 36, weight: 600, lineHeight: 1.30, use: "Feature section anchors (Basier)" }
44
- subheading: { size: 24, weight: 600, lineHeight: 1.17, use: "Card headings" }
45
- feature-title: { size: 20, weight: 600, lineHeight: 1.40, use: "Small feature titles" }
46
- body-lg: { size: 18, weight: 400, lineHeight: 1.56, use: "Intro paragraphs, button text" }
47
- body: { size: 16, weight: 400, lineHeight: 1.50, use: "Standard body, nav, buttons" }
48
- caption: { size: 14, weight: 400, lineHeight: 1.43, use: "Metadata, descriptions, links" }
49
- uppercase-label: { size: 14, weight: 600, lineHeight: 1.43, tracking: 1.4, use: "Section overlines, wide-tracked uppercase" }
50
- code: { size: 16, weight: 600, lineHeight: 1.50, use: "Code blocks, commands (Inconsolata)" }
51
- small: { size: 12, weight: 500, lineHeight: 1.33, use: "Smallest text" }
52
- micro: { size: 11.2, weight: 500, lineHeight: 1.79, use: "Tags, tiny labels" }
53
- spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
54
- rounded: { sm: 4, md: 8, full: 9999 }
55
- shadow:
56
- subtle: "rgba(0,0,0,0.1) 0px 1px 3px, rgba(0,0,0,0.1) 0px 1px 2px -1px"
57
- elevated: "rgba(0,0,0,0.1) 0px 10px 15px -3px, rgba(0,0,0,0.1) 0px 4px 6px -4px"
58
- inset: "rgba(0,0,0,0.06) 0px 4px 4px, rgba(0,0,0,0.14) 0px 4px 25px inset"
59
- components_harvested: true
99
+ family: { ui: "Inter", display: "Basier", mono: "Inconsolata" }
100
+ display: { size: 36, weight: 600, lineHeight: 1.25, use: "Basier h2 observed on public routes" }
101
+ heading: { size: 20, weight: 600, lineHeight: 1.25, use: "Basier h3 observed on public routes" }
102
+ body: { size: 16, weight: 400, lineHeight: 1.50, use: "Inter public-route body and list items" }
103
+ control: { size: 14, weight: 500, lineHeight: 1.43, use: "Inter primary-action controls" }
104
+ code: { size: 18, weight: 400, lineHeight: 1.50, use: "Single observed Inconsolata body sample; not a general code-scale claim" }
105
+ spacing: { xs: 4, sm: 6, md: 8, control: 10, lg: 12, xl: 16, xxl: 24, section: 32 }
106
+ rounded: { sm: 4, md: 6, lg: 8, dialog: 10, full: 9999 }
60
107
  components:
61
- button-neon-primary: { type: button, bg: "#faff69", fg: "#151515", radius: 4, padding: "0px 16px", use: "Neon Volt fill; hover darkens, active text pale yellow" }
62
- button-dark-solid: { type: button, bg: "#141414", fg: "#ffffff", radius: 4, padding: "12px 16px", use: "Near-black fill; hover #3a3a3a" }
63
- button-forest-green: { type: button, bg: "#166534", fg: "#ffffff", use: "Forest green fill — primary conversion CTA" }
64
- button-ghost: { type: button, fg: "#ffffff", radius: 4, use: "Transparent fill, 1px solid #4f5100 olive border" }
65
- card: { type: card, bg: "#141414", radius: 4, use: "Near-black surface, 1px charcoal border" }
66
- card-neon-highlight: { type: card, bg: "#141414", radius: 4, use: "Dark card with 1px solid #faff69 neon border for featured/selected treatment" }
67
- performance-stat: { type: card, fg: "#faff69", use: "Oversized number 72px+ weight 700-900, neon accents, brief description beneath" }
108
+ public-list-item: { type: listItem, fg: "#dfdfdf", radius: 0, padding: "0px", font: "16px/400 Inter", use: "Repeated public-route list item; 155 observed occurrences" }
109
+ components_harvested: true
68
110
  ---
69
111
 
70
112
  # Design System Inspiration of ClickHouse
71
113
 
72
114
  ## 1. Visual Theme & Atmosphere
73
115
 
74
- ClickHouse's interface is a high-performance cockpit rendered in acid yellow-green on obsidian black a design that screams "speed" before you read a single word. The entire experience lives in darkness: pure black backgrounds (`#000000`) with dark charcoal cards (`#414141` borders) creating a terminal-grade aesthetic where the only chromatic interruption is the signature neon yellow-green (`#faff69`) that slashes across CTAs, borders, and highlighted moments like a highlighter pen on a dark console.
116
+ ClickHouse is a column-oriented analytics database built for real-time SQL reporting, and its public expression treats speed as something users should see as well as measure. The official brand guidelines describe a direct, technically confident character: yellow leads the brand while dark neutrals, hard rules, and compact controls keep the message legible. The supplied public surfaces—marketing home, pricing calculator, and an editorial customer story—pair the live `#faff69` action yellow with a near-black field of `#131312`/`#282828`, Inter for the repeated UI rhythm, and Basier for larger headings. That high-contrast treatment belongs to public communication and the calculator, not proof of an authenticated product console. ClickHouse’s separate Click UI documentation confirms a themeable product system whose yellow is intentionally used more selectively in product UI.
75
117
 
76
- The typography is aggressively heavy — Inter at weight 900 (Black) for the hero headline at 96px creates text blocks that feel like they have physical mass. This "database for AI" site communicates raw power through visual weight: thick type, high-contrast neon accents, and performance stats displayed as oversized numbers. There's nothing subtle about ClickHouse's design, and that's entirely the point — it mirrors the product's promise of extreme speed and performance.
118
+ **Key characteristics:**
119
+ - Yellow-led public action treatment: `#faff69` on `#151515`.
120
+ - Dark public surfaces: `#131312` canvas and `#282828` calculator/menu surfaces.
121
+ - Compact Inter controls; Basier headings on the captured public routes.
122
+ - 4px, 6px, 8px, and 10px radii each have selector-backed uses; none is universal.
123
+ - Product, marketing, editorial, privacy-dialog, and Click UI documentation evidence are separate.
77
124
 
78
- What makes ClickHouse distinctive is the electrifying tension between the near-black canvas and the neon yellow-green accent. This color combination (`#faff69` on `#000000`) creates one of the highest-contrast pairings in any tech brand, making every CTA button, every highlighted card, and every accent border impossible to miss. Supporting this is a forest green (`#166534`) for secondary CTAs that adds depth to the action hierarchy without competing with the neon.
125
+ ## 2. Color Palette & Roles
79
126
 
80
- **Key Characteristics:**
81
- - Pure black canvas (#000000) with neon yellow-green (#faff69) accent maximum contrast
82
- - Extra-heavy display typography: Inter at weight 900 (Black) up to 96px
83
- - Dark charcoal card system with #414141 borders at 80% opacity
84
- - Forest green (#166534) secondary CTA buttons
85
- - Performance stats as oversized display numbers
86
- - Uppercase labels with wide letter-spacing (1.4px) for navigation structure
87
- - Active/pressed state shifts text to pale yellow (#f4f692)
88
- - All links hover to neon yellow-green — unified interactive signal
89
- - Inset shadows on select elements creating "pressed into the surface" depth
127
+ ### Selector-backed public surfaces
128
+ - **Action Yellow** (`#faff69`): primary public action background and selected/expanded border on the home and pricing calculator.
129
+ - **Canvas** (`#131312`): observed public page background; do not generalize it to every ClickHouse product surface.
130
+ - **Control Surface** (`#282828`): public pricing input and expanded select-menu background.
131
+ - **Overlay Surface** (`#141414`): observed cookie-dialog surface only; not promoted as a general product surface token.
132
+ - **Primary Public Text** (`#dfdfdf`): computed neutral text on repeated public controls and lists.
133
+ - **Strong/Modal Text** (`#ffffff`): observed in public secondary actions and the cookie dialog.
134
+ - **Hairline** (`#414141`): pricing number-field border.
135
+ - **Accent Border** (`#4f5101`): public secondary-action border.
136
+ - **On Action Yellow** (`#151515`): primary-action text.
90
137
 
91
- ## 2. Color Palette & Roles
138
+ ### Official brand and product boundary
92
139
 
93
- ### Primary
94
- - **Neon Volt** (`#faff69`): The signature brand color — a vivid acid yellow-green that's the sole chromatic accent on the black canvas. Used for primary CTAs, accent borders, link hovers, and highlighted moments.
95
- - **Forest Green** (`#166534`): Secondary CTA color — a deep, saturated green for "Get Started" and primary action buttons that need distinction from the neon.
96
- - **Dark Forest** (`#14572f`): A darker green variant for borders and secondary accents.
140
+ The official brand guidelines say yellow is primary in brand work and a more selective accent in product work; they name neutral dark-theme chrome and slate light-theme chrome, but this packet does not turn undocumented scale steps into hex tokens. Cookie-consent green (`#166534`) and its hover value were observed in a privacy dialog, so they are intentionally excluded from the ClickHouse action palette.
97
141
 
98
- ### Secondary & Accent
99
- - **Pale Yellow** (`#f4f692`): Active/pressed state text color — a softer, more muted version of Neon Volt for state feedback.
100
- - **Border Olive** (`#4f5100`): A dark olive-yellow for ghost button borders — the neon's muted sibling.
101
- - **Olive Dark** (`#161600`): The darkest neon-tinted color for subtle brand text.
142
+ ## 3. Typography Rules
102
143
 
103
- ### Surface & Background
104
- - **Pure Black** (`#000000`): The primary page background — absolute black for maximum contrast.
105
- - **Near Black** (`#141414`): Button backgrounds and slightly elevated dark surfaces.
106
- - **Charcoal** (`#414141`): The primary border color at 80% opacity — the workhorse for card and container containment.
107
- - **Deep Charcoal** (`#343434`): Darker border variant for subtle division lines.
108
- - **Hover Gray** (`#3a3a3a`): Button hover state background — slightly lighter than Near Black.
144
+ ### Evidence classes
109
145
 
110
- ### Neutrals & Text
111
- - **Pure White** (`#ffffff`): Primary text on dark surfaces.
112
- - **Silver** (`#a0a0a0`): Secondary body text and muted content.
113
- - **Mid Gray** (`#585858` at 28%): Subtle gray overlay for depth effects.
114
- - **Border Gray** (`#e5e7eb`): Light border variant (used in rare light contexts).
146
+ | Evidence class | Family and boundary |
147
+ |---|---|
148
+ | Official product-use | ClickHouse Design says **Inter** can serve as both title and body copy in the product. |
149
+ | Live computed surface-use | **Inter** is loaded/high with 1,215 observed uses across the three public routes; **Basier** is loaded/high with 66 uses, including 36px/600 h2 and 20px/600 h3 samples; **Inconsolata** is loaded/medium with one 18px/400 sample. Each has a FontFaceSet/source-URL match in the supplied artifact. |
150
+ | Official distributed brand asset | ClickHouse names **Söhne** as its display voice for marketing and calls it marketing-only; the Klim Type Foundry source identifies WOFF2 web formats and commercial availability. This is brand/font context, not a product-UI token. |
151
+ | Declared-only | `fontSohne`, `fontSohneBreit`, their fallback faces, and `basier Fallback` are declared in captured CSS but had no visible computed use in this packet. |
152
+ | System / unresolved | `ui-sans-serif` is an operating-system stack, not a ClickHouse-family substitute. `ui-monospace` had one unresolved computed occurrence and is not promoted. |
115
153
 
116
- ### Gradient System
117
- - **None in the traditional sense.** ClickHouse uses flat color blocks and high-contrast borders. The "gradient" is the contrast itself — neon yellow-green against pure black creates a visual intensity that gradients would dilute.
154
+ ### Captured hierarchy
118
155
 
119
- ## 3. Typography Rules
156
+ | Role | Family | Size | Weight | Line Height | Evidence boundary |
157
+ |---|---|---:|---:|---:|---|
158
+ | Public h1 | Basier | 48px (also one 96px sample) | 600 | 60px (96px sample: 96px) | public routes; not a complete display scale |
159
+ | Public h2 | Basier | 36px | 600 | 45px | 18 observed samples |
160
+ | Public h3 | Basier | 20px | 600 | 25px | 20 observed samples |
161
+ | Body / list | Inter | 16px | 400 | 24px | repeated public-route body/list samples |
162
+ | Control | Inter | 14px | 500 | 20px or 17.5px | action/control samples; preserve route value |
163
+ | Code-adjacent body | Inconsolata | 18px | 400 | 27px | one observed sample only |
120
164
 
121
- ### Font Family
122
- - **Primary**: `Inter` (Next.js optimized variant `__Inter_d1b8ee`)
123
- - **Secondary Display**: `Basier` (`__basier_a58b65`), with fallbacks: `Arial, Helvetica`
124
- - **Code**: `Inconsolata` (`__Inconsolata_a25f62`)
125
-
126
- ### Hierarchy
127
-
128
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
129
- |------|------|------|--------|-------------|----------------|-------|
130
- | Display Mega | Inter | 96px (6rem) | 900 | 1.00 (tight) | normal | Maximum impact, extra-heavy |
131
- | Display / Hero | Inter | 72px (4.5rem) | 700 | 1.00 (tight) | normal | Section hero titles |
132
- | Feature Heading | Basier | 36px (2.25rem) | 600 | 1.30 (tight) | normal | Feature section anchors |
133
- | Sub-heading | Inter / Basier | 24px (1.5rem) | 600–700 | 1.17–1.38 | normal | Card headings |
134
- | Feature Title | Inter / Basier | 20px (1.25rem) | 600–700 | 1.40 | normal | Small feature titles |
135
- | Body Large | Inter | 18px (1.13rem) | 400–700 | 1.56 | normal | Intro paragraphs, button text |
136
- | Body / Button | Inter | 16px (1rem) | 400–700 | 1.50 | normal | Standard body, nav, buttons |
137
- | Caption | Inter | 14px (0.88rem) | 400–700 | 1.43 | normal | Metadata, descriptions, links |
138
- | Uppercase Label | Inter | 14px (0.88rem) | 600 | 1.43 | 1.4px | Section overlines, wide-tracked |
139
- | Code | Inconsolata | 16px (1rem) | 600 | 1.50 | normal | Code blocks, commands |
140
- | Small | Inter | 12px (0.75rem) | 500 | 1.33 | normal | Smallest text |
141
- | Micro | Inter | 11.2px (0.7rem) | 500 | 1.79 (relaxed) | normal | Tags, tiny labels |
142
-
143
- ### Principles
144
- - **Weight 900 is the weapon**: The display headline uses Inter Black (900) — a weight most sites never touch. Combined with 96px size, this creates text with a physical, almost architectural presence.
145
- - **Full weight spectrum**: The system uses 400, 500, 600, 700, and 900 — covering the full gamut. Weight IS hierarchy.
146
- - **Uppercase with maximum tracking**: Section overlines use 1.4px letter-spacing — wider than most systems — creating bold structural labels that stand out against the dense dark background.
147
- - **Dual sans-serif**: Inter handles display and body; Basier handles feature section headings at 600 weight. This creates a subtle personality shift between "data/performance" (Inter) and "product/feature" (Basier) contexts.
165
+ Do not render a system fallback as Söhne, Basier, or Inconsolata. Söhne remains useful official marketing-font context but is excluded from `tokens.typography.family` because the packet records no visible computed Söhne use.
148
166
 
149
167
  ## 4. Component Stylings
150
168
 
151
- ### Buttons
152
-
153
- **Neon Primary**
154
- - Background: Neon Volt (`#faff69`)
155
- - Text: Near Black (`#151515`)
156
- - Padding: 0px 16px
157
- - Radius: sharp (4px)
158
- - Border: `1px solid #faff69`
159
- - Hover: background shifts to dark (`rgb(29, 29, 29)`), text stays
160
- - Active: text shifts to Pale Yellow (`#f4f692`)
161
- - The eye-catching CTA — neon on black
162
-
163
- **Dark Solid**
164
- - Background: Near Black (`#141414`)
165
- - Text: Pure White (`#ffffff`)
166
- - Padding: 12px 16px
167
- - Radius: 4px or 8px
168
- - Border: `1px solid #141414`
169
- - Hover: bg shifts to Hover Gray (`#3a3a3a`), text to 80% opacity
170
- - Active: text to Pale Yellow
171
- - The standard action button
172
-
173
- **Forest Green**
174
- - Background: Forest Green (`#166534`)
175
- - Text: Pure White (`#ffffff`)
176
- - Padding: 12px 16px
177
- - Border: `1px solid #141414`
178
- - Hover: same dark shift
179
- - Active: Pale Yellow text
180
- - The "Get Started" / primary conversion button
181
-
182
- **Ghost / Outlined**
183
- - Background: transparent
184
- - Text: Pure White (`#ffffff`)
185
- - Padding: 0px 32px
169
+ ### Public Actions
170
+
171
+ **Primary Action — home and pricing calculator**
172
+ - Background: `#faff69`
173
+ - Text: `#151515`
174
+ - Border: 1px solid `#faff69`
175
+ - Radius: 4px
176
+ - Padding: 10px 16px on `home::[data-omd-capture="55"]`; 12px 24px on pricing `surface-2::[data-omd-capture="102"]`
177
+ - Font: 14px / 500 / Inter
178
+ - Use: Public action controls captured on the home and pricing calculator.
179
+
180
+ **Secondary Action — pricing calculator**
181
+ - Background: `oklab(0.1957 -0.0000019595 0.00000458956 / 0.00999999)`
182
+ - Text: `#ffffff`
183
+ - Border: 1px solid `#4f5101`
186
184
  - Radius: 4px
187
- - Border: `1px solid #4f5100` (olive-tinted)
188
- - Hover: dark bg shift
189
- - Active: Pale Yellow text
190
- - Secondary actions with neon-tinted border
191
-
192
- **Pill Toggle**
193
- - Background: transparent
194
- - Radius: pill (9999px)
195
- - Used for toggle/switch elements
196
-
197
- ### Cards & Containers
198
- - Background: transparent or Near Black
199
- - Border: `1px solid rgba(65, 65, 65, 0.8)` — the signature charcoal containment
200
- - Radius: 4px (small elements) or 8px (cards, containers)
201
- - Shadow Level 1: subtle (`rgba(0,0,0,0.1) 0px 1px 3px, rgba(0,0,0,0.1) 0px 1px 2px -1px`)
202
- - Shadow Level 2: medium (`rgba(0,0,0,0.1) 0px 10px 15px -3px, rgba(0,0,0,0.1) 0px 4px 6px -4px`)
203
- - Shadow Level 3: inset (`rgba(0,0,0,0.06) 0px 4px 4px, rgba(0,0,0,0.14) 0px 4px 25px inset`) — the "pressed" effect
204
- - Neon-highlighted cards: selected/active cards get neon yellow-green border or accent
205
-
206
- ### Navigation
207
- - Dark nav on black background
208
- - Logo: ClickHouse wordmark + icon in yellow/neon
209
- - Links: white text, hover to Neon Volt (#faff69)
210
- - CTA: Neon Volt button or Forest Green button
211
- - Uppercase labels for categories
212
-
213
- ### Distinctive Components
214
-
215
- **Performance Stats**
216
- - Oversized numbers (72px+, weight 700–900)
217
- - Brief descriptions beneath
218
- - High-contrast neon accents on key metrics
219
- - The primary visual proof of performance claims
220
-
221
- **Neon-Highlighted Card**
222
- - Standard dark card with neon yellow-green border highlight
223
- - Creates "selected" or "featured" treatment
224
- - The accent border makes the card pop against the dark canvas
225
-
226
- **Code Blocks**
227
- - Dark surface with Inconsolata at weight 600
228
- - Neon and white syntax highlighting
229
- - Terminal-like aesthetic
230
-
231
- **Trust Bar**
232
- - Company logos on dark background
233
- - Monochrome/white logo treatment
234
- - Horizontal layout
185
+ - Padding: 12px 24px
186
+ - Font: 14px / 500 / Inter
187
+ - Use: `surface-2::[data-omd-capture="103"]`; route-local secondary action.
188
+
189
+ **Navigation Item — public home**
190
+ - Radius: 8px
191
+ - Padding: 10px 12px
192
+ - Font: 14px / 500 / Inter
193
+ - Hover: collector recorded a public home focus/hover/pressed state; raw state styling is retained in the verification record rather than promoted as a global rule.
194
+ - Use: `home::[data-omd-capture="1"]`; public navigation/menu item.
195
+
196
+ ### Pricing Calculator Form Chrome
197
+
198
+ **Number Field**
199
+ - Background: `#282828`
200
+ - Text: `#dfdfdf`
201
+ - Border: 1px solid `#414141`
202
+ - Radius: 4px
203
+ - Padding: 0px 12px
204
+ - Font: 14px / 400 / Inter
205
+ - Use: `surface-2::[data-omd-capture="93"]`; public pricing-calculator number input.
206
+
207
+ **Select Trigger expanded**
208
+ - Background: `#282828`
209
+ - Text: `#dfdfdf`
210
+ - Border: 1px solid `#414141`
211
+ - Radius: 4px
212
+ - Padding: 0px 28px 0px 12px
213
+ - Font: 14px / 400 / Inter
214
+ - Use: `surface-2::[data-omd-capture="63"]`; trigger for an observed open pricing select.
215
+
216
+ **Select Menu expanded**
217
+ - Background: `#282828`
218
+ - Text: `#dfdfdf`
219
+ - Border: 0px 1px 1px solid `#faff69`
220
+ - Radius: 0px 0px 6px 6px
221
+ - Padding: 4px 0px
222
+ - Font: 14px / 400 / Inter
223
+ - Use: `surface-2::[data-omd-interaction-capture="menu-0-0"]`; three pricing menus exposed the same expanded/menu-open treatment.
224
+
225
+ **Radio-like Toggle**
226
+ - Background: `#1f1f1c`
227
+ - Border: 1px solid `#414141`
228
+ - Radius: 9999px
229
+ - Use: `surface-2::[data-omd-capture="96"]`; checked and unchecked states were recorded, but no different checked value is asserted.
230
+
231
+ ### Separate Public Privacy Dialog
232
+
233
+ **Cookie Dialog**
234
+ - Background: `#141414`
235
+ - Text: `#ffffff`
236
+ - Border: 1px solid `#393939`
237
+ - Radius: 10px
238
+ - Use: `home::[data-omd-interaction-capture="dialog-0-0"]`; consent chrome, excluded from product/calculator components.
239
+
240
+ Click UI documents broader Button, IconButton, SplitButton, Text Field, and Select APIs separately. Its documented variants are not copied here unless the supplied public capture exposed their visual values.
241
+
242
+ ---
243
+ **Verified:** 2026-07-13
244
+ **Tier 1 sources:** [ClickHouse home](https://clickhouse.com/), [public pricing calculator](https://clickhouse.com/pricing?service=clickhouse&pg.plan=scale&pg.provider=aws&pg.profile=memory&pg.architecture=arm&pg.standby=0&pg.region=us-east-1&plan=scale&provider=aws&region=us-east-1&hours=8&storageCompressed=false), [public customer story](https://clickhouse.com/blog/corsearch-replaces-mysql-with-clickhouse-for-content-and-brand-protection?loc=carousel), [official Click UI](https://clickhouse.design/click-ui), [official brand guidelines](https://clickhouse.design/brand)
245
+ **Tier 2 sources:** [getdesign ClickHouse directory](https://getdesign.md/clickhouse/design-md); Refero query attempted at `https://styles.refero.design/?q=ClickHouse`, but returned an internal error and is not treated as a positive or negative result.
246
+ **Resolution note:** Earlier claims of universal forest-green conversion CTAs, 4px/8px card rules, and a universal neon-on-black product system were rolled back. The fresh packet ties green to cookie consent, gives each component a route/selector boundary, and keeps official Click UI documentation separate from public-surface measurements.
247
+ **Conflicts unresolved:** none
235
248
 
236
249
  ## 5. Layout Principles
237
250
 
238
- ### Spacing System
239
- - Base unit: 8px
240
- - Scale: 2px, 6px, 7px, 8px, 10px, 12px, 16px, 20px, 24px, 25px, 32px, 40px, 44px, 48px, 64px
241
- - Button padding: 12px 16px (standard), 0px 16px (compact), 0px 32px (wide ghost)
242
- - Section vertical spacing: generous (48–64px)
243
-
244
- ### Grid & Container
245
- - Max container width: up to 2200px (extra-wide) with responsive scaling
246
- - Hero: full-width dark with massive typography
247
- - Feature sections: multi-column card grids with dark borders
248
- - Stats: horizontal metric bar
249
- - Full-dark page — no light sections
250
-
251
- ### Whitespace Philosophy
252
- - **Dark void as canvas**: The pure black background provides infinite depth — elements float in darkness.
253
- - **Dense information**: Feature cards and stats are packed with data, reflecting the database product's performance focus.
254
- - **Neon highlights as wayfinding**: Yellow-green accents guide the eye through the dark interface like runway lights.
255
-
256
- ### Border Radius Scale
257
- - Sharp (4px): Buttons, badges, small elements, code blocks
258
- - Comfortable (8px): Cards, containers, dividers
259
- - Pill (9999px): Toggle buttons, status indicators
251
+ The supplied 1440×900 captures repeat 4, 6, 8, 10, 12, 16, 20, 24, and 32px spacing values. They support a compact public-control rhythm, but do not establish a complete grid or responsive layout specification. The public home body measures a dark `#131312` canvas; the calculator puts fields and menus on `#282828`; editorial content keeps its own article layout. Do not infer authenticated-console density, dashboard grids, or mobile collapse behavior from these routes.
260
252
 
261
253
  ## 6. Depth & Elevation
262
254
 
263
- | Level | Treatment | Use |
264
- |-------|-----------|-----|
265
- | Flat (Level 0) | No shadow | Black background, text blocks |
266
- | Bordered (Level 1) | `1px solid rgba(65,65,65,0.8)` | Standard cards, containers |
267
- | Subtle (Level 2) | `0px 1px 3px rgba(0,0,0,0.1)` | Subtle card lift |
268
- | Elevated (Level 3) | `0px 10px 15px -3px rgba(0,0,0,0.1)` | Feature cards, hover states |
269
- | Pressed/Inset (Level 4) | `0px 4px 25px rgba(0,0,0,0.14) inset` | Active/pressed elements — "sunk into the surface" |
270
- | Neon Highlight (Level 5) | Neon Volt border (`#faff69`) | Featured/selected cards, maximum emphasis |
271
-
272
- **Shadow Philosophy**: ClickHouse uses shadows on a black canvas, where they're barely visible — they exist more for subtle dimensionality than obvious elevation. The most distinctive depth mechanism is the **inset shadow** (Level 4), which creates a "pressed into the surface" effect unique to ClickHouse. The neon border highlight (Level 5) is the primary attention-getting depth mechanism.
255
+ Most observed public controls report `box-shadow: none`; hierarchy comes from dark-surface changes, thin rules, and the yellow action/border. The expanded pricing select is the recorded exception: it includes `rgba(0,0,0,0.1) 0px 10px 15px -3px` and `rgba(0,0,0,0.1) 0px 4px 6px -4px`. The cookie dialog and public menus are not evidence for a universal application-overlay scale.
273
256
 
274
257
  ## 7. Do's and Don'ts
275
258
 
276
259
  ### Do
277
- - Use Neon Volt (#faff69) as the sole chromatic accent it must pop against pure black
278
- - Use Inter at weight 900 for hero display text the extreme weight IS the personality
279
- - Keep everything on pure black (#000000) never use dark gray as the page background
280
- - Use charcoal borders (rgba(65,65,65,0.8)) for all card containment
281
- - Apply Forest Green (#166534) for primary CTA buttons distinct from neon for action hierarchy
282
- - Show performance stats as oversized display numbers — it's the core visual argument
283
- - Use uppercase with wide letter-spacing (1.4px) for section labels
284
- - Apply Pale Yellow (#f4f692) for active/pressed text states
285
- - Link hovers should ALWAYS shift to Neon Volt — unified interactive feedback
260
+ - Use yellow as a decisive public action or attention signal, while keeping it selective on product-oriented UI.
261
+ - Write direct, technically specific labels and support performance claims with a number, benchmark, or concrete example.
262
+ - Preserve the captured selector/surface boundary when using primary actions, calculator fields, or expanded menus.
263
+ - Use Inter for the observed public UI patterns; reserve Söhne for its official marketing-only role.
264
+ - Treat Click UI’s system documentation as component-intent guidance, not a substitute for unmeasured public CSS values.
286
265
 
287
266
  ### Don't
288
- - Don't introduce additional colors the palette is strictly black, neon, green, and gray
289
- - Don't use the neon as a background fill it's an accent and border color only (except on CTA buttons)
290
- - Don't reduce display weight below 700 heavy weight is core to the personality
291
- - Don't use light/white backgrounds anywhere the entire experience is dark
292
- - Don't round corners beyond 8px the sharp geometry reflects database precision
293
- - Don't use soft/diffused shadows on black — they're invisible. Use border-based depth instead
294
- - Don't skip the inset shadow on active states — the "pressed" effect is distinctive
295
- - Don't use warm neutrals — all grays are perfectly neutral
267
+ - Do not promote cookie-consent green, its hover state, or privacy-dialog layout into the ClickHouse product palette.
268
+ - Do not present Söhne, `fontSohneBreit`, a fallback face, or a system stack as a verified live product family.
269
+ - Do not convert the yellow public marketing treatment into a claim that all product UI is neon-on-black.
270
+ - Do not invent calculator error, loading, disabled, success, mobile, or authenticated-console states.
271
+ - Do not copy Click UI API variants as if they were observed on the three supplied public routes.
296
272
 
297
273
  ## 8. Responsive Behavior
298
274
 
299
- ### Breakpoints
300
- | Name | Width | Key Changes |
301
- |------|-------|-------------|
302
- | Mobile | <640px | Single column, stacked cards |
303
- | Small Tablet | 640–768px | Minor adjustments |
304
- | Tablet | 768–1024px | 2-column grids |
305
- | Desktop | 1024–1280px | Standard layout |
306
- | Large Desktop | 1280–1536px | Expanded content |
307
- | Ultra-wide | 1536–2200px | Maximum container width |
308
-
309
- ### Touch Targets
310
- - Buttons with 12px 16px padding minimum
311
- - Card surfaces as touch targets
312
- - Adequate nav link spacing
313
-
314
- ### Collapsing Strategy
315
- - **Hero text**: 96px → 72px → 48px → 36px
316
- - **Feature grids**: Multi-column → 2 → 1 column
317
- - **Stats**: Horizontal → stacked
318
- - **Navigation**: Full → hamburger
319
-
320
- ### Image Behavior
321
- - Product screenshots maintain aspect ratio
322
- - Code blocks use horizontal scroll on narrow screens
323
- - All images on dark backgrounds
275
+ No viewport comparison is available in this packet. All three supplied surfaces were captured at 1440×900. Preserve accessibility and responsive implementation requirements, but do not claim ClickHouse-specific mobile menu behavior, breakpoints, touch targets, or grid columns without another direct observation.
324
276
 
325
277
  ## 9. Agent Prompt Guide
326
278
 
327
- ### Quick Color Reference
328
- - Brand Accent: "Neon Volt (#faff69)"
329
- - Page Background: "Pure Black (#000000)"
330
- - CTA Green: "Forest Green (#166534)"
331
- - Card Border: "Charcoal (rgba(65,65,65,0.8))"
332
- - Primary Text: "Pure White (#ffffff)"
333
- - Secondary Text: "Silver (#a0a0a0)"
334
- - Active State: "Pale Yellow (#f4f692)"
335
- - Button Surface: "Near Black (#141414)"
336
-
337
- ### Example Component Prompts
338
- - "Create a hero section on Pure Black (#000000) with a massive headline at 96px Inter weight 900, line-height 1.0. Pure White text. Add a Neon Volt (#faff69) CTA button (dark text, 4px radius, 0px 16px padding) and a ghost button (transparent, 1px solid #4f5100 border)."
339
- - "Design a feature card on black with 1px solid rgba(65,65,65,0.8) border and 8px radius. Title at 24px Inter weight 700, body at 16px in Silver (#a0a0a0). Add a neon-highlighted variant with 1px solid #faff69 border."
340
- - "Build a performance stats bar: large numbers at 72px Inter weight 700 in Pure White. Brief descriptions at 14px in Silver. On black background."
341
- - "Create a Forest Green (#166534) CTA button: white text, 12px 16px padding, 4px radius, 1px solid #141414 border. Hover: bg shifts to #3a3a3a, text to 80% opacity."
342
- - "Design an uppercase section label: 14px Inter weight 600, letter-spacing 1.4px, uppercase. Silver (#a0a0a0) text on black background."
343
-
344
- ### Iteration Guide
345
- 1. Keep everything on pure black — no dark gray alternatives
346
- 2. Neon Volt (#faff69) is for accents and CTAs only — never large backgrounds
347
- 3. Weight 900 for hero, 700 for headings, 600 for labels, 400-500 for body
348
- 4. Active states use Pale Yellow (#f4f692) — not just opacity changes
349
- 5. All links hover to Neon Volt — consistent interactive feedback
350
- 6. Charcoal borders (rgba(65,65,65,0.8)) are the primary depth mechanism
279
+ ### Quick reference
280
+ - Public primary action: `#faff69` / `#151515`, 1px yellow border, 4px radius; 10px 16px on the home sample or 12px 24px on the pricing sample.
281
+ - Pricing number field: `#282828`, `#dfdfdf`, 1px `#414141`, 4px radius, 0px 12px padding.
282
+ - Pricing select menu when expanded: `#282828`, `#dfdfdf`, lower 6px corners, 0px/1px/1px yellow border, 4px 0px padding.
283
+ - Public body/list: Inter 16px / 400 / 24px; observed Basier headings include 36px / 600 / 45px.
351
284
 
352
- ## 10. Voice & Tone
285
+ ### Boundary-aware prompt
353
286
 
354
- ClickHouse's voice is **benchmark-driven and engineer-pragmatic.** Marketing emphasizes raw performance numbers ("100x faster", "petabyte-scale") and open-source heritage. Closer to research paper than marketing measured claims with citations.
287
+ “Create a public pricing-calculator action using only the captured ClickHouse pattern: `#faff69` background, `#151515` text, 1px matching border, 4px radius, 12px 24px padding, and Inter 14px/500. Pair it only with the selector-backed `#282828` number field; do not invent product-console status, error, or mobile behavior.”
355
288
 
356
- | Context | Tone |
357
- |---|---|
358
- | CTA | Verb. "Sign up", "Get a demo", "Start building" |
359
- | Marketing | Numeric. Always lead with benchmark |
360
- | Documentation | SQL-first, code-heavy, terse |
361
- | Error (query) | SQL error + line number, never wrapped friendly |
362
- | Onboarding | Choose: managed cloud / self-host / try in browser |
289
+ ## 10. Voice & Tone
363
290
 
364
- **Voice samples**
365
- - *"Sign up"* / *"Get a demo"* <!-- verified: clickhouse.com homepage 2026-05 -->
291
+ ClickHouse’s official guidance calls the voice raw, confident, exacting, technical, and direct. Its stated aim is to empower developers and data teams with speed, performance, and control; the writing guidance asks teams to get to the point, avoid generic marketing language, and prove claims with numbers, benchmarks, or examples. Use active, short sentences and practical error language. [Brand guidelines](https://clickhouse.design/brand) · [Voice and tone](https://clickhouse.design/brand/guidelines/voice-and-tone)
366
292
 
367
- **Forbidden phrases.** Adjectival superlatives without numbers. "Magic" / "AI-powered" framing.
293
+ | Context | Treatment |
294
+ |---|---|
295
+ | Action | Use a direct verb and name the outcome. |
296
+ | Performance claim | State the measured result, then link the benchmark or example. |
297
+ | Technical explanation | Lead with the practical consequence before implementation detail. |
298
+ | Error or warning | State what happened and what to try next; do not blame the user or use cutesy copy. |
368
299
 
369
300
  ## 11. Brand Narrative
370
301
 
371
- ClickHouse was originally developed at **Yandex** (Russia's largest tech company) starting in **2009** as an experimental real-time analytics project, with first production deployment in **2012** ([ClickHouse Wikipedia](https://en.wikipedia.org/wiki/ClickHouse), [Introducing ClickHouse Inc. (2021 blog)](https://clickhouse.com/blog/introducing-click-house-inc)). Used internally for **Yandex.Metrica** (web analytics). **Open-sourced under Apache 2.0 in 2016** — adoption by Uber, Cloudflare, eBay quickly followed. **ClickHouse, Inc. incorporated September 2021** by **Aaron Katz (CEO)** and **Yury Izrailevsky** (co-founder). Funding: **Series A ~$50M (Sept 2021)** led by Index Ventures + Benchmark, with Yandex N.V. participating ([BusinessWire](https://www.businesswire.com/news/home/20210920005219/en/ClickHouse-Inc.-Announces-Incorporation-Along-With-%2450M-In-Series-A-Funding)); **Series B $250M @ $2B (Oct 28, 2021)** led by Coatue + Altimeter; **Series C $350M @ $6.35B (May 2025)** led by Khosla Ventures + BOND + IVP + Battery + Bessemer; **total raised >$650M** ([Forkable](https://www.forkable.io/p/open-source-database-company-clickhouse), [Index Ventures retrospective](https://www.indexventures.com/perspectives/the-fast-and-the-furious-how-clickhouse-the-worlds-fastest-open-source-database-is-creating-the-first-real-time-data-warehouse/)). Brand voice carries original Yandex engineering culture — performance-first, benchmark-cited, SQL-purist.
302
+ ClickHouse began in 2009 as an experiment to generate analytical reports in real time from non-aggregated data. The company’s official history records a 2012 production launch, the 2016 Apache 2 release, and the 2021 incorporation of ClickHouse, Inc.; its current story also frames ClickHouse as a distributed company serving data work that must stay fast as it grows. [Our story](https://clickhouse.com/company/our-story)
303
+
304
+ That engineering origin gives the present brand its useful tension: a public identity that is intentionally bold and yellow-led, paired with a product system that uses yellow more selectively. The official brand guidelines call this “direct minimalism”—clarity and purpose before decoration—and describe the company as built for engineers and trusted by leaders. [Official brand guidelines](https://clickhouse.design/brand) The 2026 open-source history reinforces the operating principle behind the tone: modular, well-documented work and an open contribution culture rather than performance theater. [Ten years of ClickHouse in open source](https://clickhouse.com/blog/open-source-10)
372
305
 
373
306
  ## 12. Principles
374
307
 
375
- 1. **Performance is the headline.** *UI implication:* hero modules contain a metric, not a tagline.
376
- 2. **SQL is sacred.** *UI implication:* query interfaces accept standard SQL; extensions clearly labeled.
377
- 3. **Open source is the default.** *UI implication:* "Self-host" and "Cloud" entry points equal prominence.
378
- 4. **Charcoal borders, not shadows.** *UI implication:* never shadow on dark theme cards.
379
- 5. **Pale yellow is the active state.** *UI implication:* selected = explicit yellow, not opacity.
308
+ 1. **Prove speed rather than decorate it.** The official voice guidance asks for numbers, benchmarks, and examples. *UI implication:* pair a performance claim with a concrete result or source.
309
+ 2. **Function over frills.** ClickHouse’s brand values favor what works over what trends. *UI implication:* keep controls compact and purposeful; avoid decorative component states not established by the surface.
310
+ 3. **Be technical, not generic.** The guidelines ask teams to speak to builders with precise language. *UI implication:* use direct action labels and explain technical consequences plainly.
311
+ 4. **Keep brand and product roles distinct.** Official color guidance says yellow is primary for brand and selective for product. *UI implication:* do not blanket an application in yellow just because a public campaign uses it prominently.
312
+ 5. **Design for an open engineering community.** The official open-source history emphasizes code, documentation, review, and contributors. *UI implication:* expose meaningful technical context and avoid claims the interface cannot substantiate.
380
313
 
381
314
  ## 13. Personas
382
315
 
383
- *Personas are fictional archetypes informed by ClickHouse user segments (data engineers, observability builders, analytics leads), not individual people.*
316
+ The reviewed first-party material identifies developers and data teams as the intended audience, but it does not provide validated demographic or task-research personas suitable for named archetypes. Do not invent them.
384
317
 
385
- **Sergey Volkov, 38, Berlin.** Senior data engineer at ad-tech. Self-hosted on K8s for 50PB+.
386
-
387
- **Aisha Patel, 31, San Francisco.** Founding engineer at observability startup using ClickHouse Cloud.
388
-
389
- **Rui Chen, 45, Singapore.** Data platform lead at regional bank. Evaluating vs Snowflake.
318
+ - **[FILL IN: validated developer workflow audience]** add only with a first-party product-research or workflow source.
319
+ - **[FILL IN: validated data-team decision audience]** — add only with a first-party product-research or workflow source.
390
320
 
391
321
  ## 14. States
392
322
 
393
- | State | Treatment |
323
+ | State | Evidence boundary |
394
324
  |---|---|
395
- | **Empty (no databases)** | "Create your first database" with SQL CREATE snippet |
396
- | **Empty (query result)** | "0 rows returned in 12ms" query-stat focused |
397
- | **Loading (query)** | Inline spinner + estimated rows scanned |
398
- | **Loading (table scan)** | Progress bar with rows/sec + bytes/sec |
399
- | **Error (SQL syntax)** | Inline below editor with line:column |
400
- | **Error (server)** | "Server error (200): table not found." |
401
- | **Success (query)** | Result table appears, query stats line |
402
- | **Success (cluster created)** | Connection string visible, copy-button |
403
- | **Skeleton (cluster list)** | Charcoal-border placeholder rows |
404
- | **Disabled (read-only role)** | 0.5 opacity + lock icon |
405
- | **Loading (long query)** | Pause/cancel after 5s; partial results stream |
325
+ | Public primary action — default | Home/pricing actions: `#faff69`, `#151515`, 4px radius; exact padding varies by selector. |
326
+ | Public navigation item — focus/hover/pressed | Home `data-omd-capture="4"` recorded all three states; the raw style is retained in verification notes because no one global state color was established. |
327
+ | Pricing select — expanded/menu-open | Three captured menus: `#282828`, `#dfdfdf`, lower 6px corners, yellow lower/side border. |
328
+ | Pricing menu option — selected | Collector recorded selected targets within the expanded menu; no unobserved selected fill is claimed. |
329
+ | Pricing toggle checked/unchecked | Both state labels were captured on one radio-like control; no different checked visual value is asserted. |
330
+ | Cookie dialog — open | Separate consent dialog: `#141414`, `#ffffff`, 1px `#393939`, 10px radius. |
331
+ | Loading, error, empty, disabled, success, skeleton | Not captured on these public routes; intentionally unspecified. |
406
332
 
407
333
  ## 15. Motion & Easing
408
334
 
409
- | Token | Value | Use |
410
- |---|---|---|
411
- | `motion-instant` | 0ms | Result row select |
412
- | `motion-fast` | 150ms | Hover, link to Neon Volt |
413
- | `motion-standard` | 250ms | Modal |
414
- | `motion-active-pulse` | 300ms | Pale yellow active appearance |
415
-
416
- Standard cubic-bezier; no bounce. Charcoal borders never animate. `prefers-reduced-motion: reduce` makes link hover instant.
417
-
418
- ---
419
-
420
- **Verified:** 2026-05-08 (B1 loop)
421
- **Tier 1 sources:** clickhouse.com (live DOM via playwright — dark `#141414` ghost; cookie banner `#166534` Allow / `#141414` Dismiss; nav 8px / 14px·500)
422
- **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
423
- **Tier 1 (Philosophy):** clickhouse.com homepage benchmarks; ClickHouse, Inc. corporate history; Aaron Katz public talks.
424
- **Style ref:** `stripe`. **Conflicts unresolved:** none.
335
+ The supplied evidence records interaction outcomes (public navigation focus/hover/pressed, pricing-menu expansion, toggle state labels, and dialogs) but no duration, easing, transition-property, or reduced-motion measurement. Do not infer a ClickHouse motion scale from static public states or Click UI documentation. **[FILL IN: motion tokens only after direct surface or official token evidence.]**