oh-my-design-cli 1.0.2 → 1.2.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 (117) hide show
  1. package/README.ja.md +7 -7
  2. package/README.ko.md +7 -7
  3. package/README.md +15 -18
  4. package/README.zh-TW.md +7 -7
  5. package/agents/omd-ux-writer.md +1 -1
  6. package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +189 -0
  7. package/data/reference-audits/2026-05-13-kr10.md +132 -0
  8. package/data/reference-fingerprints.json +626 -3
  9. package/data/reference-tags.md +15 -1
  10. package/package.json +2 -2
  11. package/skills/omd-apply/SKILL.md +1 -1
  12. package/skills/omd-harness/SKILL.md +3 -3
  13. package/skills/omd-init/SKILL.md +2 -2
  14. package/web/AGENTS.md +5 -0
  15. package/web/references/29cm/DESIGN.md +445 -0
  16. package/web/references/ably/DESIGN.md +582 -0
  17. package/{references → web/references}/airbnb/DESIGN.md +158 -19
  18. package/web/references/airtable/DESIGN.md +241 -0
  19. package/{references → web/references}/apple/DESIGN.md +131 -76
  20. package/web/references/baemin/DESIGN.md +470 -0
  21. package/web/references/banksalad/DESIGN.md +606 -0
  22. package/{references → web/references}/bmw/DESIGN.md +138 -9
  23. package/{references → web/references}/cal/DESIGN.md +173 -17
  24. package/{references → web/references}/claude/DESIGN.md +11 -1
  25. package/{references → web/references}/clay/DESIGN.md +75 -0
  26. package/{references → web/references}/clickhouse/DESIGN.md +74 -0
  27. package/{references → web/references}/cohere/DESIGN.md +75 -0
  28. package/web/references/coinbase/DESIGN.md +205 -0
  29. package/{references → web/references}/composio/DESIGN.md +74 -0
  30. package/web/references/coupang/DESIGN.md +487 -0
  31. package/{references → web/references}/cursor/DESIGN.md +74 -0
  32. package/web/references/dcard/DESIGN.md +567 -0
  33. package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
  34. package/{references → web/references}/expo/DESIGN.md +72 -0
  35. package/{references → web/references}/ferrari/DESIGN.md +72 -0
  36. package/{references → web/references}/figma/DESIGN.md +124 -48
  37. package/{references → web/references}/framer/DESIGN.md +143 -16
  38. package/web/references/freee/DESIGN.md +558 -0
  39. package/web/references/gangnamunni/DESIGN.md +605 -0
  40. package/{references → web/references}/hashicorp/DESIGN.md +72 -0
  41. package/{references → web/references}/ibm/DESIGN.md +68 -0
  42. package/{references → web/references}/intercom/DESIGN.md +73 -0
  43. package/web/references/kakao/DESIGN.md +490 -0
  44. package/web/references/kakaobank/DESIGN.md +533 -0
  45. package/web/references/kakaopay/DESIGN.md +529 -0
  46. package/web/references/karrot/DESIGN.md +431 -0
  47. package/web/references/kraken/DESIGN.md +219 -0
  48. package/web/references/krds/DESIGN.md +982 -0
  49. package/web/references/kurly/DESIGN.md +574 -0
  50. package/{references → web/references}/lamborghini/DESIGN.md +74 -0
  51. package/{references → web/references}/line/DESIGN.md +84 -43
  52. package/{references → web/references}/linear.app/DESIGN.md +8 -1
  53. package/{references → web/references}/lovable/DESIGN.md +73 -0
  54. package/web/references/mercari/DESIGN.md +464 -0
  55. package/{references → web/references}/minimax/DESIGN.md +72 -0
  56. package/{references → web/references}/mintlify/DESIGN.md +72 -0
  57. package/web/references/miro/DESIGN.md +252 -0
  58. package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
  59. package/{references → web/references}/mongodb/DESIGN.md +72 -0
  60. package/web/references/musinsa/DESIGN.md +536 -0
  61. package/web/references/naver/DESIGN.md +518 -0
  62. package/{references → web/references}/notion/DESIGN.md +9 -1
  63. package/web/references/nvidia/DESIGN.md +491 -0
  64. package/web/references/ohouse/DESIGN.md +570 -0
  65. package/{references → web/references}/ollama/DESIGN.md +72 -0
  66. package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
  67. package/web/references/pinkoi/DESIGN.md +575 -0
  68. package/{references → web/references}/pinterest/DESIGN.md +73 -0
  69. package/{references → web/references}/posthog/DESIGN.md +172 -18
  70. package/web/references/qanda/DESIGN.md +459 -0
  71. package/{references → web/references}/raycast/DESIGN.md +169 -34
  72. package/web/references/remember/DESIGN.md +445 -0
  73. package/{references → web/references}/renault/DESIGN.md +72 -0
  74. package/{references → web/references}/replicate/DESIGN.md +73 -0
  75. package/{references → web/references}/resend/DESIGN.md +73 -0
  76. package/{references → web/references}/revolut/DESIGN.md +74 -0
  77. package/web/references/ridi/DESIGN.md +517 -0
  78. package/{references → web/references}/runwayml/DESIGN.md +152 -24
  79. package/{references → web/references}/sanity/DESIGN.md +72 -0
  80. package/{references → web/references}/sentry/DESIGN.md +73 -0
  81. package/web/references/socar/DESIGN.md +370 -0
  82. package/web/references/spacex/DESIGN.md +379 -0
  83. package/web/references/spotify/DESIGN.md +426 -0
  84. package/{references → web/references}/stripe/DESIGN.md +44 -1
  85. package/{references → web/references}/supabase/DESIGN.md +73 -0
  86. package/{references → web/references}/superhuman/DESIGN.md +159 -17
  87. package/{references → web/references}/tesla/DESIGN.md +170 -0
  88. package/{references → web/references}/together.ai/DESIGN.md +73 -0
  89. package/{references → web/references}/toss/DESIGN.md +304 -50
  90. package/{references → web/references}/uber/DESIGN.md +73 -0
  91. package/{references → web/references}/vercel/DESIGN.md +9 -1
  92. package/{references → web/references}/voltagent/DESIGN.md +73 -0
  93. package/web/references/wanted/DESIGN.md +515 -0
  94. package/{references → web/references}/warp/DESIGN.md +142 -15
  95. package/web/references/webflow/DESIGN.md +253 -0
  96. package/{references → web/references}/wise/DESIGN.md +84 -0
  97. package/{references → web/references}/x.ai/DESIGN.md +85 -0
  98. package/web/references/yanolja/DESIGN.md +448 -0
  99. package/web/references/yeogiotte/DESIGN.md +424 -0
  100. package/{references → web/references}/zapier/DESIGN.md +85 -0
  101. package/web/references/zigbang/DESIGN.md +457 -0
  102. package/web/references/zigzag/DESIGN.md +618 -0
  103. package/references/airtable/DESIGN.md +0 -107
  104. package/references/baemin/DESIGN.md +0 -260
  105. package/references/coinbase/DESIGN.md +0 -129
  106. package/references/dcard/DESIGN.md +0 -302
  107. package/references/freee/DESIGN.md +0 -308
  108. package/references/kakao/DESIGN.md +0 -261
  109. package/references/karrot/DESIGN.md +0 -252
  110. package/references/kraken/DESIGN.md +0 -146
  111. package/references/mercari/DESIGN.md +0 -294
  112. package/references/miro/DESIGN.md +0 -108
  113. package/references/nvidia/DESIGN.md +0 -308
  114. package/references/pinkoi/DESIGN.md +0 -309
  115. package/references/spacex/DESIGN.md +0 -205
  116. package/references/spotify/DESIGN.md +0 -246
  117. package/references/webflow/DESIGN.md +0 -109
@@ -228,3 +228,76 @@ What distinguishes Pinterest is its generous border-radius system (12px–40px,
228
228
  4. Pin Sans is the only font — compact at 12px for UI, 70px for display
229
229
  5. Photography carries the design — the UI stays warm and minimal
230
230
  6. Plum black (#211922) for text — warmer than pure black
231
+
232
+ ## 10. Voice & Tone
233
+
234
+ Pinterest's voice is **inspirational-warm and visual-first.** Marketing copy avoids tech jargon — speaks to creative life moments (weddings, recipes, home decor, fashion). UI chrome stays minimal because the photography carries the brand. Plum black `#211922` for text — slightly warmer than pure black, matching the warm-photography aesthetic.
235
+
236
+ | Context | Tone |
237
+ |---|---|
238
+ | CTA | Inspirational verb. "Get started", "Save", "Pin it" |
239
+ | Marketing | Lifestyle moments. "Get inspired" recurring |
240
+ | Documentation | Sparse — Pinterest is consumer-product, devs use API docs |
241
+ | Error | Quiet. "Couldn't load — try again" |
242
+
243
+ **Voice samples**
244
+ - Marketing pattern: *"Get inspired"* / *"Find ideas you'll love"* <!-- illustrative: tagline patterns -->
245
+
246
+ **Forbidden phrases.** "Revolutionary discovery". Aggressive ad-platform framing in consumer surfaces.
247
+
248
+ ## 11. Brand Narrative
249
+
250
+ Pinterest was founded **2010** in Palo Alto by **Ben Silbermann (CEO, born July 14 1982 in Des Moines, Iowa)**, **Paul Sciarra**, and **Evan Sharp** ([Pinterest — Wikipedia](https://en.wikipedia.org/wiki/Pinterest), [Evan Sharp — Wikipedia](https://en.wikipedia.org/wiki/Evan_Sharp)). Pinterest emerged from an earlier Silbermann + Sciarra app called **Tote** (a virtual paper-catalog replacement); Silbermann pivoted into a visual board-collection product. **Development began December 2009**; **closed-beta prototype launched March 2010**. **Paul Sciarra left April 2012**. Visual discovery platform — users save ("pin") images to themed boards. **NYSE IPO April 18 2019** under ticker **PINS**. **June 2022 leadership transition**: Silbermann became **Executive Chairman** and **Bill Ready** (former President of Commerce + Payments at **Google**, ex-COO at **PayPal**) became CEO. The brand has stayed remarkably consistent across the leadership change: warm cream canvas, plum-black text, image-grid as primary chrome, red-pill CTA.
251
+
252
+ ## 12. Principles
253
+
254
+ 1. **Photography is the design.** *UI implication:* chrome stays minimal so pins read.
255
+ 2. **Plum black `#211922` over pure black.** *UI implication:* warmer text inherits warmth from photography.
256
+ 3. **Red `#e60023` pill is THE CTA.** *UI implication:* primary actions always red pill.
257
+ 4. **Masonry grid is the layout.** *UI implication:* preserve variable-height tile grid.
258
+ 5. **No corporate polish.** *UI implication:* keep the warm-handmade-collection aesthetic.
259
+
260
+ ## 13. Personas
261
+
262
+ *Personas are fictional archetypes informed by Pinterest user segments (creative planners, home/recipe enthusiasts, ecommerce sellers), not individual people.*
263
+
264
+ **Sofia Park, 31, Seoul.** Wedding planner. Boards organized by season + venue. Treats Pinterest as professional moodboard.
265
+
266
+ **Marcus Chen, 38, San Francisco.** Home renovation enthusiast. Multi-board project planning.
267
+
268
+ **Yuki Tanaka, 27, Tokyo.** Indie ecommerce seller using Pinterest Ads for product discovery.
269
+
270
+ ## 14. States
271
+
272
+ | State | Treatment |
273
+ |---|---|
274
+ | **Empty (no pins)** | "Save pins to see them here" + recommended pin grid |
275
+ | **Empty (search)** | "No results for `<query>`. Try different keywords." |
276
+ | **Loading (feed)** | Masonry skeleton with cream-warm rectangles |
277
+ | **Loading (image)** | Dominant-color placeholder before image loads |
278
+ | **Error (image)** | Plum-black "Couldn't load" with retry icon |
279
+ | **Error (board)** | Inline "Refresh" link |
280
+ | **Success (saved)** | Red `#e60023` heart fills + toast "Saved to <board>" |
281
+ | **Success (followed)** | Subtle confirmation, no celebration |
282
+ | **Skeleton (board)** | Image-aspect-ratio placeholders |
283
+ | **Disabled (private)** | "This board is private" message |
284
+ | **Loading (image upload)** | Per-image progress bar |
285
+
286
+ ## 15. Motion & Easing
287
+
288
+ | Token | Value | Use |
289
+ |---|---|---|
290
+ | `motion-instant` | 0ms | Pin save |
291
+ | `motion-fast` | 200ms | Hover scale on tiles |
292
+ | `motion-standard` | 300ms | Modal expand |
293
+ | `motion-spring` | variable | Pin save heart fill |
294
+
295
+ **Pin save** has signature spring scale + heart fill. `prefers-reduced-motion: reduce` removes spring (instant fill).
296
+
297
+ ---
298
+
299
+ **Verified:** 2026-05-08 (omd:migrate run 45 — Apple-tier)
300
+ **Tier 1 sources:** kr.pinterest.com home + business.pinterest.com/ko (live DOM via playwright — **Two-system dual-canvas split**: consumer Pinterest Red `#e60023` 16px Login + Cream `#e5e5e0` Secondary + Plum-Black `#211922` ghost nav (12px·400 / 48px); business Charcoal `#111111` dual-radius (20px compact 36px / 30px hero 60px) / 16px·400 — separate B2B track).
301
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
302
+ **Tier 2 (Philosophy/founders/IPO):** Wikipedia (Pinterest + Evan Sharp), Founders Era, Inc 30 Under 30, EBSCO, Buildd, Companies History.
303
+ **Style ref:** `notion`. **Conflicts unresolved:** none. **Earlier addition:** Pinterest Red `#e60023` + Cream `#e5e5e0` + Pinterest Business Charcoal dual-radius system missed by prior pass (which had only ghost nav + Plum text).
@@ -93,24 +93,105 @@ The interaction design carries the same spirit: hover states flash PostHog Orang
93
93
  ## 4. Component Stylings
94
94
 
95
95
  ### Buttons
96
- - **Dark Primary**: `#1e1f23` background, white text, 6px radius, `10px 12px` padding. Hover: opacity 0.7 with Amber Gold text. Active: opacity 0.8 with slight scale transform. The main CTA — dark and confident
97
- - **Sage Light**: `#e5e7e0` background, Olive Ink (`#4d4f46`) text, 4px radius, `4px` padding. Hover: `#f4f4f4` bg with PostHog Orange text. Compact utility button
98
- - **Warm Tan Featured**: `#d4c9b8` background, black text, no visible radius. Hover: same orange text flash. Featured/premium actions
99
- - **Input-style**: `#eeefe9` background, Sage Placeholder (`#9ea096`) text, 4px radius, 1px `#b6b7af` border. Looks like a search/filter control
100
- - **Near-white Ghost**: `#fdfdf8` background, Olive Ink text, 4px radius, transparent 1px border. Minimal presence
101
- - **Hover pattern**: All buttons flash PostHog Orange (`#F54E00`) or Amber Gold (`#F7A501`) text on hover — the brand's signature interaction surprise
102
-
103
- ### Cards & Containers
104
- - **Bordered Card**: Warm Parchment (`#fdfdf8`) or white background, 1px `#bfc1b7` border, 4px–6px radius — clean and minimal
105
- - **Sage Surface Card**: `#eeefe9` background for secondary content containers
106
- - **Shadow Card**: `0px 25px 50px -12px rgba(0, 0, 0, 0.25)` — a single deep shadow for elevated content (modals, dropdowns)
107
- - **Hover**: Orange text flash on interactive cards — consistent with button behavior
108
-
109
- ### Inputs & Forms
110
- - **Default**: `#eeefe9` background, `#9ea096` placeholder text, 1px `#b6b7af` border, 4px radius, `2px 0px 2px 8px` padding
111
- - **Focus**: `#3b82f6` ring at 50% opacity (Tailwind blue focus ring)
112
- - **Text color**: `#374151` for input values darker than primary text for readability
113
- - **Border variations**: Multiple border patterns some inputs use compound borders (top, left, bottom-only)
96
+
97
+ **Dark Primary**
98
+ - Background: `#1e1f23`
99
+ - Text: `#ffffff`
100
+ - Radius: 6px
101
+ - Padding: 10px 12px
102
+ - Font: 15px / 600 / IBM Plex Sans
103
+ - Hover: opacity 0.7, text shifts to Amber Gold `#F7A501`
104
+ - Active: opacity 0.8, slight scale transform
105
+ - Use: Main CTA dark and confident
106
+
107
+ **Sage Light**
108
+ - Background: `#e5e7e0`
109
+ - Text: `#4d4f46` (Olive Ink)
110
+ - Radius: 4px
111
+ - Padding: 4px
112
+ - Font: 14px / 500 / IBM Plex Sans
113
+ - Hover: bg `#f4f4f4`, text shifts to PostHog Orange `#F54E00`
114
+ - Use: Compact utility button
115
+
116
+ **Warm Tan Featured**
117
+ - Background: `#d4c9b8`
118
+ - Text: `#000000`
119
+ - Radius: 0px
120
+ - Padding: 10px 12px
121
+ - Hover: text flash to PostHog Orange `#F54E00`
122
+ - Use: Featured/premium actions
123
+
124
+ **Near-white Ghost**
125
+ - Background: `#fdfdf8`
126
+ - Text: `#4d4f46` (Olive Ink)
127
+ - Border: 1px solid transparent
128
+ - Radius: 4px
129
+ - Padding: 8px 12px
130
+ - Hover: text flash to PostHog Orange `#F54E00`
131
+ - Use: Minimal-presence ghost button
132
+
133
+ ### Inputs
134
+
135
+ **Default**
136
+ - Background: `#eeefe9`
137
+ - Text: `#374151`
138
+ - Border: 1px solid `#b6b7af`
139
+ - Radius: 4px
140
+ - Padding: 2px 0px 2px 8px
141
+ - Placeholder: `#9ea096` (Sage Placeholder)
142
+ - Focus: `#3b82f6` ring at 50% opacity (Tailwind blue focus ring)
143
+ - Use: Standard form input — multiple border patterns; some inputs use compound borders (top/left/bottom-only)
144
+
145
+ **Search / Filter**
146
+ - Background: `#eeefe9`
147
+ - Text: `#374151`
148
+ - Border: 1px solid `#b6b7af`
149
+ - Radius: 4px
150
+ - Padding: 6px 8px
151
+ - Placeholder: `#9ea096`
152
+ - Use: Search/filter control
153
+
154
+ ### Cards
155
+
156
+ **Bordered Card**
157
+ - Background: `#fdfdf8` (Warm Parchment) or `#ffffff`
158
+ - Border: 1px solid `#bfc1b7`
159
+ - Radius: 6px
160
+ - Padding: 16px
161
+ - Use: Clean and minimal default card
162
+
163
+ **Sage Surface Card**
164
+ - Background: `#eeefe9`
165
+ - Border: 1px solid `#bfc1b7`
166
+ - Radius: 4px
167
+ - Padding: 16px
168
+ - Use: Secondary content container
169
+
170
+ **Shadow Card**
171
+ - Background: `#fdfdf8`
172
+ - Radius: 6px
173
+ - Padding: 16px
174
+ - Shadow: `0px 25px 50px -12px rgba(0, 0, 0, 0.25)`
175
+ - Hover: Orange text flash on interactive cards
176
+ - Use: Elevated content (modals, dropdowns)
177
+
178
+ ### Badges
179
+
180
+ **Default**
181
+ - Background: `#e5e7e0`
182
+ - Text: `#4d4f46`
183
+ - Radius: 4px
184
+ - Padding: 2px 8px
185
+ - Font: 12px / 500 / IBM Plex Sans
186
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
187
+
188
+ **Featured**
189
+ - Background: `#d4c9b8`
190
+ - Text: `#000000`
191
+ - Radius: 4px
192
+ - Padding: 2px 8px
193
+ - Font: 12px / 600 / IBM Plex Sans
194
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source) — warm tan featured tag.
114
195
 
115
196
  ### Navigation
116
197
  - **Top nav**: Warm background, IBM Plex Sans at 15px weight 600
@@ -254,3 +335,76 @@ When refining existing screens generated with this design system:
254
335
  3. Ensure hover states flash PostHog Orange (#F54E00) — if hovering feels bland, you're missing this
255
336
  4. Confirm borders use sage-tinted gray (#bfc1b7) not neutral gray — warmth runs through every element
256
337
  5. The overall tone should feel like a fun, scrappy startup wiki — never corporate-polished or sterile
338
+
339
+ ## 10. Voice & Tone
340
+
341
+ PostHog's voice is **scrappy-startup-wiki and engineer-honest.** "We make dev tools for product engineers" — terse, capability-driven, slightly irreverent. Sage-tinted gray (`#bfc1b7`) borders + warm canvas signal "small but serious team that ships." Famous for company handbook being entirely public (posthog.com/handbook).
342
+
343
+ | Context | Tone |
344
+ |---|---|
345
+ | CTA | Verb. "Get started", "Sign up", "Talk to sales" |
346
+ | Marketing | Capability-list with personality. "Product OS" framing |
347
+ | Documentation | Wiki-style, deeply linked, occasional jokes |
348
+ | Handbook | Radically transparent — even sensitive topics |
349
+
350
+ **Voice samples**
351
+ - Marketing tagline: *"We make dev tools for product engineers"* <!-- verified: posthog.com homepage 2026-05 -->
352
+
353
+ **Forbidden phrases.** "Revolutionary product analytics". Aggressive Amplitude-comparison framing.
354
+
355
+ ## 11. Brand Narrative
356
+
357
+ PostHog was founded **2020** by **James Hawkins (Co-CEO)** and **Tim Glaser (CTO/Co-CEO)** as an open-source alternative to Amplitude/Mixpanel ([PostHog — About](https://posthog.com/about), [Y Combinator — PostHog](https://www.ycombinator.com/companies/posthog)). The company **hatched in Y Combinator's W20 batch** and **launched on Hacker News with their MVP just 4 weeks after writing first code**. **Hawkins**: previously **VP Sales & Channels at Arachnys**; founded **c2o Media** before PostHog. **Glaser**: leads technical strategy, built PostHog on **ClickHouse + open-source frameworks**. Famous for **radical transparency** — **public handbook, public salaries, public roadmap, public board materials**. **From-pivot-hell-to-$1.4B-unicorn** YC library case study documents the journey ([YC Library — Pivot Hell to $1.4B Unicorn](https://www.ycombinator.com/library/NA-from-pivot-hell-to-1-4-billion-unicorn)). **Total funding ~$182M** from **Stripe, GV, Y Combinator** + angels including **Jason Warner (CTO GitHub)** and **Solomon Hykes (Founder Docker)** ([PostHog — Reflecting on YC 2 years on](https://posthog.com/blog/yc-2-years-on), [Tracxn — PostHog](https://tracxn.com/d/companies/posthog/__tWY33MozggoGzQ9VYs8-O9tG9o6ZXDONwy37RdpGE_0)). **Used by 190,254+ teams** including **65% of YC batch companies**. The brand voice tracks this culture: scrappy, honest, occasionally meme-aware. The "Product OS" pivot in 2024-2025 expanded PostHog from analytics to **feature flags, session replay, surveys, A/B tests** as a single integrated product platform.
358
+
359
+ ## 12. Principles
360
+
361
+ 1. **Open source is the default.** *UI implication:* self-hosting first-class option, never deprioritized.
362
+ 2. **Radical transparency.** *UI implication:* handbook + roadmap publicly linked.
363
+ 3. **Sage-tinted warm gray.** Borders `#bfc1b7`. *UI implication:* never neutral pure gray; warmth carries.
364
+ 4. **Hedgehog mascot.** *UI implication:* mascot appears in product (404 pages, empty states) as personality moments.
365
+ 5. **Wiki feel over corporate polish.** *UI implication:* documentation can be playful; chrome can have texture.
366
+
367
+ ## 13. Personas
368
+
369
+ *Personas are fictional archetypes informed by PostHog user segments (product engineers, indie devs, growth teams), not individual people.*
370
+
371
+ **Sarah Lin, 31, San Francisco.** Founding engineer at Series A. PostHog for analytics + feature flags + session replay in one stack.
372
+
373
+ **Henrik Sondergaard, 38, Copenhagen.** Indie SaaS founder. Self-hosts PostHog to keep customer data on his infra.
374
+
375
+ **Priya Krishnan, 27, Bengaluru.** Growth engineer at fintech. A/B tests + funnel analysis daily.
376
+
377
+ ## 14. States
378
+
379
+ | State | Treatment |
380
+ |---|---|
381
+ | **Empty (no events)** | "Install PostHog SDK to start" code snippet |
382
+ | **Empty (no insights)** | "Create your first insight" with template gallery |
383
+ | **Loading (query)** | Per-step execution visible |
384
+ | **Loading (replay loading)** | Session video loader with frame previews |
385
+ | **Error (SDK not detected)** | Specific instructions + verify-installation button |
386
+ | **Error (rate limit)** | Plain explanation + upgrade link |
387
+ | **Success (event captured)** | Implicit; events appear in feed |
388
+ | **Success (insight saved)** | Soft confirmation, no celebration |
389
+ | **Skeleton (insight grid)** | Sage-tinted placeholders |
390
+ | **Disabled (free plan)** | Upgrade link — never block existing OSS features |
391
+ | **Loading (long replay)** | Persistent progress |
392
+
393
+ ## 15. Motion & Easing
394
+
395
+ | Token | Value | Use |
396
+ |---|---|---|
397
+ | `motion-instant` | 0ms | Selection |
398
+ | `motion-fast` | 150ms | Hover |
399
+ | `motion-standard` | 250ms | Modal, panel |
400
+ | `motion-hedgehog` | occasional | Mascot waves on certain success states |
401
+
402
+ Standard cubic-bezier. Hedgehog mascot moments are personality, not chrome. `prefers-reduced-motion: reduce` makes mascot static.
403
+
404
+ ---
405
+
406
+ **Verified:** 2026-05-08 (omd:migrate run 46 — Apple-tier)
407
+ **Tier 1 sources:** posthog.com home + /pricing (live DOM via playwright — **Primary `#cd8407` PostHog Amber-Gold** 6-8px / 32-46px / 15-16px·400 with **Sage-Black `#23251d`** text; **Light Amber `#eb9d2a`** Secondary; nav 4px / 13px·500; **Region badge** Amber-tint 4px / 14px·**700**; warm three-color (Amber/Sage/Cool Gray) canvas).
408
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
409
+ **Tier 2 (Philosophy/founders/funding):** PostHog About + handbook + blog (YC 2-years-on), Y Combinator (PostHog W20 + Pivot Hell to $1.4B Library), Tracxn, GV.com.
410
+ **Style ref:** `notion`. **Conflicts unresolved:** none. **Earlier mistake reverted (significant):** prior footer captured nav-only — canonical Primary is **`#cd8407` Amber-Gold** (the brand-defining color), missed entirely.