oh-my-design-cli 1.3.8 → 1.5.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 (138) hide show
  1. package/README.ja.md +8 -8
  2. package/README.ko.md +28 -7
  3. package/README.md +71 -16
  4. package/README.zh-TW.md +8 -8
  5. package/agents/omd-asset-curator.md +2 -7
  6. package/agents/omd-codex-image.md +49 -0
  7. package/agents/omd-designer-review.md +38 -0
  8. package/agents/omd-final-qa.md +40 -0
  9. package/agents/omd-kr-writer.md +35 -0
  10. package/agents/omd-locale-adapter.md +32 -0
  11. package/agents/omd-master.md +3 -13
  12. package/agents/omd-orchestrator.md +34 -0
  13. package/data/reference-audits/2026-05-14-kr10.md +72 -0
  14. package/data/reference-audits/2026-05-15-kr10.md +124 -0
  15. package/data/reference-fingerprints.json +253 -3
  16. package/data/research/2026-05-18-agent-landscape.md +69 -0
  17. package/data/research/2026-05-18-kr-style-presets.md +572 -0
  18. package/dist/bin/oh-my-design.js +6 -3
  19. package/dist/bin/oh-my-design.js.map +1 -1
  20. package/dist/{install-skills-MVXVXYAY.js → install-skills-IETT2TBJ.js} +91 -8
  21. package/dist/install-skills-IETT2TBJ.js.map +1 -0
  22. package/package.json +9 -3
  23. package/skills/omd-apply/SKILL.md +0 -1
  24. package/skills/omd-codex-image/SKILL.md +162 -0
  25. package/skills/omd-designer-review/SKILL.md +146 -0
  26. package/skills/omd-final-qa/SKILL.md +153 -0
  27. package/skills/omd-kr-writer/SKILL.md +229 -0
  28. package/skills/omd-locale-adapter/SKILL.md +124 -0
  29. package/skills/omd-orchestrator/SKILL.md +124 -0
  30. package/web/references/29cm/DESIGN.md +11 -2
  31. package/web/references/ably/DESIGN.md +12 -2
  32. package/web/references/airbnb/DESIGN.md +17 -2
  33. package/web/references/airtable/DESIGN.md +20 -0
  34. package/web/references/apple/DESIGN.md +17 -2
  35. package/web/references/baemin/DESIGN.md +11 -2
  36. package/web/references/banksalad/DESIGN.md +17 -2
  37. package/web/references/bmw/DESIGN.md +14 -0
  38. package/web/references/bunjang/DESIGN.md +308 -0
  39. package/web/references/cal/DESIGN.md +14 -0
  40. package/web/references/catchtable/DESIGN.md +262 -0
  41. package/web/references/channeltalk/DESIGN.md +374 -0
  42. package/web/references/classum/DESIGN.md +217 -0
  43. package/web/references/claude/DESIGN.md +11 -2
  44. package/web/references/clay/DESIGN.md +19 -0
  45. package/web/references/clickhouse/DESIGN.md +19 -0
  46. package/web/references/cohere/DESIGN.md +20 -0
  47. package/web/references/coinbase/DESIGN.md +14 -0
  48. package/web/references/composio/DESIGN.md +14 -0
  49. package/web/references/coupang/DESIGN.md +17 -2
  50. package/web/references/cursor/DESIGN.md +20 -0
  51. package/web/references/dabang/DESIGN.md +210 -0
  52. package/web/references/dcard/DESIGN.md +11 -2
  53. package/web/references/elevenlabs/DESIGN.md +20 -0
  54. package/web/references/expo/DESIGN.md +20 -0
  55. package/web/references/fastcampus/DESIGN.md +460 -0
  56. package/web/references/ferrari/DESIGN.md +14 -0
  57. package/web/references/figma/DESIGN.md +17 -2
  58. package/web/references/flex/DESIGN.md +309 -0
  59. package/web/references/framer/DESIGN.md +20 -0
  60. package/web/references/freee/DESIGN.md +16 -2
  61. package/web/references/gangnamunni/DESIGN.md +18 -2
  62. package/web/references/gmarket/DESIGN.md +464 -0
  63. package/web/references/hashicorp/DESIGN.md +19 -0
  64. package/web/references/ibm/DESIGN.md +20 -0
  65. package/web/references/inflearn/DESIGN.md +396 -0
  66. package/web/references/intercom/DESIGN.md +14 -0
  67. package/web/references/jumpit/DESIGN.md +366 -0
  68. package/web/references/kakao/DESIGN.md +14 -0
  69. package/web/references/kakaobank/DESIGN.md +17 -2
  70. package/web/references/kakaopay/DESIGN.md +17 -2
  71. package/web/references/karrot/DESIGN.md +16 -2
  72. package/web/references/kbank/DESIGN.md +195 -0
  73. package/web/references/kraken/DESIGN.md +14 -0
  74. package/web/references/krds/DESIGN.md +17 -2
  75. package/web/references/kream/DESIGN.md +382 -0
  76. package/web/references/kurly/DESIGN.md +11 -2
  77. package/web/references/lamborghini/DESIGN.md +14 -0
  78. package/web/references/line/DESIGN.md +17 -2
  79. package/web/references/linear.app/DESIGN.md +17 -2
  80. package/web/references/lovable/DESIGN.md +14 -0
  81. package/web/references/lunit/DESIGN.md +249 -0
  82. package/web/references/mercari/DESIGN.md +11 -2
  83. package/web/references/minimax/DESIGN.md +14 -0
  84. package/web/references/mintlify/DESIGN.md +14 -0
  85. package/web/references/miro/DESIGN.md +20 -0
  86. package/web/references/mistral.ai/DESIGN.md +20 -0
  87. package/web/references/mongodb/DESIGN.md +19 -0
  88. package/web/references/musinsa/DESIGN.md +11 -2
  89. package/web/references/naver/DESIGN.md +17 -2
  90. package/web/references/notion/DESIGN.md +11 -2
  91. package/web/references/nvidia/DESIGN.md +11 -2
  92. package/web/references/ohouse/DESIGN.md +11 -2
  93. package/web/references/oliveyoung/DESIGN.md +342 -0
  94. package/web/references/ollama/DESIGN.md +14 -0
  95. package/web/references/opencode.ai/DESIGN.md +20 -0
  96. package/web/references/pinkoi/DESIGN.md +11 -2
  97. package/web/references/pinterest/DESIGN.md +19 -0
  98. package/web/references/posthog/DESIGN.md +20 -0
  99. package/web/references/qanda/DESIGN.md +11 -2
  100. package/web/references/raycast/DESIGN.md +19 -0
  101. package/web/references/remember/DESIGN.md +17 -2
  102. package/web/references/renault/DESIGN.md +14 -0
  103. package/web/references/replicate/DESIGN.md +14 -0
  104. package/web/references/resend/DESIGN.md +20 -0
  105. package/web/references/revolut/DESIGN.md +14 -0
  106. package/web/references/ridi/DESIGN.md +11 -2
  107. package/web/references/runwayml/DESIGN.md +14 -0
  108. package/web/references/sanity/DESIGN.md +20 -0
  109. package/web/references/sentry/DESIGN.md +14 -0
  110. package/web/references/socar/DESIGN.md +17 -2
  111. package/web/references/spacex/DESIGN.md +11 -2
  112. package/web/references/spotify/DESIGN.md +14 -0
  113. package/web/references/stripe/DESIGN.md +11 -2
  114. package/web/references/supabase/DESIGN.md +20 -0
  115. package/web/references/superhuman/DESIGN.md +20 -0
  116. package/web/references/tesla/DESIGN.md +11 -2
  117. package/web/references/together.ai/DESIGN.md +20 -0
  118. package/web/references/toss/DESIGN.md +16 -2
  119. package/web/references/toss-securities/DESIGN.md +193 -0
  120. package/web/references/tving/DESIGN.md +259 -0
  121. package/web/references/uber/DESIGN.md +19 -0
  122. package/web/references/upbit/DESIGN.md +276 -0
  123. package/web/references/upstage/DESIGN.md +214 -0
  124. package/web/references/vercel/DESIGN.md +17 -2
  125. package/web/references/voltagent/DESIGN.md +14 -0
  126. package/web/references/wadiz/DESIGN.md +344 -0
  127. package/web/references/wanted/DESIGN.md +16 -2
  128. package/web/references/warp/DESIGN.md +14 -0
  129. package/web/references/webflow/DESIGN.md +14 -0
  130. package/web/references/wise/DESIGN.md +19 -0
  131. package/web/references/x.ai/DESIGN.md +14 -0
  132. package/web/references/yanolja/DESIGN.md +17 -2
  133. package/web/references/yeogiotte/DESIGN.md +18 -2
  134. package/web/references/zapier/DESIGN.md +20 -0
  135. package/web/references/zigbang/DESIGN.md +12 -2
  136. package/web/references/zigzag/DESIGN.md +17 -2
  137. package/agents/omd-3d-blender.md +0 -269
  138. package/dist/install-skills-MVXVXYAY.js.map +0 -1
@@ -0,0 +1,309 @@
1
+ ---
2
+ id: flex
3
+ name: flex
4
+ country: KR
5
+ category: saas
6
+ homepage: "https://flex.team"
7
+ primary_color: "#000000"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=flex.team&sz=256"
11
+ verified: "2026-05-14"
12
+ omd: "0.1"
13
+ ---
14
+
15
+ # flex — Design Reference
16
+
17
+ > **모든 HR 데이터, flex 하나로.** (Observed on flex.team, 2026-05-14)
18
+ >
19
+ > Korean HR SaaS reference: dark-mode authority hero → light-mode manifesto cards → service pill navigation. Pretendard 52px display with -1.56px tracking. Quietly confident; one-color discipline (graphite + ink); no rainbow accents.
20
+
21
+ ---
22
+
23
+ ## 1. Visual Theme & Atmosphere
24
+
25
+ **flex** is a Korean HR SaaS targeting mid-market and enterprise teams (founded 2019-05, Seongnam HQ, Series B, ~213 employees as of 2026-03). The product unifies employee management, attendance, contracts, workflow, payroll, and HR analytics. The 2024 site refresh ("l2024-c-*" class system observed live) signaled a deliberate pivot upmarket — away from the playful color-block aesthetic of early Korean SaaS toward a quieter, Apple-adjacent surface: black hero, white manifesto, dark graphite cards (#2D3338).
26
+
27
+ What's design-noteworthy:
28
+
29
+ - **One ink color**: nearly every text element resolves to `#1D1D1F` or one of its alpha variants (`0.96`, `0.72`, `0.04`). No semantic color soup.
30
+ - **52px display with -1.56px letter-spacing**: tight, confident, very deliberate (Pretendard Variable handles both hangul and latin at this weight).
31
+ - **Pill nav with inset ring shadows**: instead of borders. Active pill uses `rgba(29,29,31,0.04)` fill + `rgba(29,29,31,0.24)` 1px inset ring; inactive uses white fill + `0.10` ring. No filled blue/primary.
32
+ - **Manifesto cards on white**: `#2D3338` graphite cards, 16px radius, 30px padding, `0 8px 20px -4px rgba(0,0,0,0.06)` halo. Three-card narrative beat ("문제 → 해결 → 효과").
33
+
34
+ ---
35
+
36
+ ## 2. Layout & Grid
37
+
38
+ - **Container width**: 1280px viewport observed; section content clamps near 1024px (h1/h2 widths).
39
+ - **Outer gutter**: `60px` left/right (`padding: 160px 60px` on hero, `172px 60px 96px` on service section).
40
+ - **Vertical rhythm**: hero `860px` total height; service block `993px`; sections breathe with 96-172px top padding.
41
+ - **Card grid**: three side-by-side cards inside `main-intro` (~315 / 349 / 335px widths — visibly asymmetric on purpose, not equal-thirds).
42
+ - **Header**: `117px` tall, dark theme over hero, fades to light on light sections (`.l2024_dark` / `.l2024_light` toggle).
43
+
44
+ ---
45
+
46
+ ## 3. Color & Typography
47
+
48
+ ### Color tokens (from `tokens.json`)
49
+
50
+ **Ink scale (single hue, alpha-stepped):**
51
+ - `#1D1D1F` — primary text on light
52
+ - `rgba(29,29,31,0.96)` — h2 (slight softening)
53
+ - `rgba(29,29,31,0.72)` — secondary copy
54
+ - `rgba(29,29,31,0.04)` — active pill fill / ghost button
55
+ - `rgba(29,29,31,0.10)` — inactive pill ring
56
+ - `rgba(29,29,31,0.24)` — active pill ring
57
+
58
+ **Surfaces:**
59
+ - `#FFFFFF` — light page
60
+ - `#000000` — hero pageDark
61
+ - `#2D3338` — graphite card (manifesto)
62
+ - `#FDFDFD` — soft white (card text)
63
+
64
+ **On-dark:**
65
+ - `#FFFFFF` text
66
+ - `rgba(255,255,255,0.48)` — muted on-dark
67
+
68
+ No blue. No green. No yellow. flex's 2024 refresh deliberately deletes the SaaS accent-color habit.
69
+
70
+ ### Typography
71
+
72
+ - **Family**: `Pretendard Variable` (variable axis) with full system fallback chain.
73
+ - **Weights observed live**: 500, 600, 700.
74
+ - **Display h2**: `52px / 62.4px line-height / -1.56px letter-spacing / 700`. The negative tracking is the visual signature.
75
+ - **Card body**: `17px / 26px / 600`.
76
+ - **Pill / button**: `15px / 21px / 600-700`.
77
+ - **Meta / nav**: `14px / 14px / 500`.
78
+ - **Hero h1**: `28px / 28px / 700` — note the *compact* h1 (smaller than h2 below). flex inverts the usual hierarchy — the hero is a banner, the in-page h2 is the argument.
79
+
80
+ ---
81
+
82
+ ## 4. Components
83
+
84
+ ### Button — primary pill (active service tab)
85
+
86
+ **Active**
87
+ - Background: `rgba(29, 29, 31, 0.04)`
88
+ - Text: `#1D1D1F`
89
+ - Border: none
90
+ - Shadow: `rgba(29, 29, 31, 0.24) 0px 0px 0px 1px inset`
91
+ - Radius: `10px`
92
+ - Padding: `9px 12px`
93
+ - Height: `39px`
94
+ - Font: `15px / 21px / 700 / Pretendard Variable`
95
+ - Use: currently-selected service category in the SERVICES filter row
96
+
97
+ **Inactive**
98
+ - Background: `#FFFFFF`
99
+ - Text: `#1D1D1F`
100
+ - Border: none
101
+ - Shadow: `rgba(29, 29, 31, 0.10) 0px 0px 0px 1px inset`
102
+ - Radius: `10px`
103
+ - Padding: `9px 12px`
104
+ - Height: `39px`
105
+ - Font: `15px / 21px / 600 / Pretendard Variable`
106
+ - Use: other tabs in the same row (rest of SERVICES)
107
+
108
+ ### Button — header CTA (gnb)
109
+
110
+ **Default (transparent over dark hero)**
111
+ - Background: `rgba(0, 0, 0, 0)`
112
+ - Text: `#FFFFFF`
113
+ - Border: none
114
+ - Radius: `8px`
115
+ - Padding: `8px 6px 8px 8px`
116
+ - Height: `33px`
117
+ - Font: `14px / normal / 700 / Pretendard Variable`
118
+ - Use: top navigation items (서비스 / 리소스 / 플렉스팀 채용 / 로그인)
119
+
120
+ ### Card — manifesto (dark on light)
121
+
122
+ **Default**
123
+ - Background: `#2D3338`
124
+ - Text: `#FDFDFD`
125
+ - Border: none
126
+ - Radius: `16px`
127
+ - Padding: `30px`
128
+ - Shadow: `rgba(0, 0, 0, 0.12) 0px 0px 0px 0.5px, rgba(0, 0, 0, 0.06) 0px 8px 20px -4px`
129
+ - Height: `380px` (fixed in observed grid)
130
+ - Font: `17px / 26px / 600 / Pretendard Variable`
131
+ - Use: three-beat narrative cards in `main-intro` section ("문제 → 해결 → 효과")
132
+
133
+ ### Section — hero (dark)
134
+
135
+ **Default**
136
+ - Background: `#000000`
137
+ - Text: `#FFFFFF`
138
+ - Padding: `160px 60px`
139
+ - Height: `860px` (observed)
140
+ - Use: top of marketing landing; carries h1 + subhead + primary CTA
141
+
142
+ ### Section — manifesto (light)
143
+
144
+ **Default**
145
+ - Background: `#FFFFFF`
146
+ - Text: `#1D1D1F`
147
+ - Padding: `240px 60px 96px`
148
+ - Height: `877px` (observed)
149
+ - Use: directly under hero; carries the company's "why" + three dark cards
150
+
151
+ ### Header — page chrome
152
+
153
+ **Default (dark theme over hero)**
154
+ - Background: `rgba(0, 0, 0, 0)` (transparent over black hero)
155
+ - Text: `#FFFFFF`
156
+ - Border: none
157
+ - Height: `117px`
158
+ - Nav padding: `0px 60px`
159
+ - Use: persistent top bar; theme flips light/dark via `.l2024_dark` / `.l2024_light` class on the parent section
160
+
161
+ ---
162
+
163
+ **Verified:** 2026-05-14
164
+ **Tier 1 sources:** `https://flex.team/` live CDP inspect (40 samples → `assets/_reference/.live-inspect-proof.json` curates 9), `https://thevc.kr/Flex` (corporate facts)
165
+ **Tier 2 sources:** `https://getdesign.md/flex` → no entry; `https://styles.refero.design/?q=flex.team` → no results (KR-coverage gap, same pattern as 2026-05-13 KR-10 batch)
166
+ **Conflicts unresolved:** none
167
+
168
+ ---
169
+
170
+ ## 5. Iconography
171
+
172
+ Site uses primarily inline SVG for service-category pictograms and arrow glyphs (`→` in CTA "flex 도입 문의하기 →"). No icon-set library brand signal observed in live capture. Hairline weight, monochrome ink-color matched to surrounding text — no two-tone or color-fill icons.
173
+
174
+ ---
175
+
176
+ ## 6. Imagery & Illustration
177
+
178
+ - **Product UI snapshots** dominate downstream sections (employee directory, attendance calendar, contract flow). Captured at 1:1 product fidelity — no faux-3D, no isometric.
179
+ - **No stock photography** of "diverse smiling team" — the page leans on UI screenshots and ambient gradients instead.
180
+ - **Manifesto cards are pure type** — no illustration, no icon, no image inside the dark cards. The graphite-on-white card itself is the visual.
181
+
182
+ ---
183
+
184
+ ## 7. Motion
185
+
186
+ Not directly observable from a single static getComputedStyle pass — but the `l2024-c-*` class system uses Stitches/CSS-in-JS, and scroll-triggered fade/translate on section entry is the dominant pattern on the live site (subtle, ~200-300ms). No spring-bounce, no parallax. Treat motion as **assist, not perform**.
187
+
188
+ ---
189
+
190
+ ## 8. Accessibility
191
+
192
+ - Pretendard Variable carries strong hangul + latin glyph parity → handles weight 500-700 cleanly at 14-52px.
193
+ - Text contrast on white: `#1D1D1F` on `#FFFFFF` = 18.27:1 (AAA).
194
+ - Card body `#FDFDFD` on `#2D3338` = 13.21:1 (AAA).
195
+ - On-dark muted `rgba(255,255,255,0.48)` on `#000000` ≈ 4.7:1 — passes WCAG AA for body, fails AAA. flex uses this for de-emphasized chrome only.
196
+ - Header overlay (`#FFFFFF` over hero black) = 21:1.
197
+ - Service pill rings (1px inset) are a contrast-safe alternative to filled borders — but rely on shadow not border, so screen-reader / forced-color-mode users get focus from native button styles + the inner shadow degrades gracefully to outline.
198
+
199
+ ---
200
+
201
+ ## 9. Content & Voice
202
+
203
+ The product hierarchy (live observed):
204
+
205
+ 1. **Hero h1**: "모든 HR 데이터, flex 하나로." — declarative, no verb, period at end.
206
+ 2. **Hero subhead**: "데이터가 유기적으로 흐를 때 팀은 더 똑똑하게 성장합니다." — second-clause-first structure.
207
+ 3. **Manifesto h2**: "flex는 조직이 일하는 방식을 바꿉니다." — first-person company statement.
208
+ 4. **Card 1**: identify the friction ("담당자 의존적인 조직 운영과 반복 업무는 …").
209
+ 5. **Card 2**: state the mechanism ("flex는 흩어진 HR 데이터를 한 곳에 모아 연결하고, AI로 자동화하고 …").
210
+ 6. **Card 3**: name the outcome ("이제 팀은 정보의 불균형과 반복 업무 부담에서 벗어나, … 몰입할 수 있습니다.").
211
+
212
+ The pattern is **friction → mechanism → outcome**, told in three cards. CTAs are operational: "도입 문의하기" / "무료 체험하기" / "자세히 알아보기".
213
+
214
+ ---
215
+
216
+ ## 10. Voice & Tone
217
+
218
+ **Voice adjectives:** 차분한 권위 · 운영자 시선 · 명사형 단정
219
+
220
+ **Do / Don't**
221
+
222
+ | ✅ Do | ❌ Don't |
223
+ |---|---|
224
+ | 마침표로 끝낸다. ("flex는 조직이 일하는 방식을 바꿉니다.") | 느낌표·물음표 남발 ("일하는 방식, 진짜 바뀝니다!") |
225
+ | 운영자 화자 시점 ("팀이 몰입할 수 있습니다") | 사용자에게 명령 ("지금 시작하세요!") |
226
+ | 짧은 호흡 + 평서형 | 마케팅 슬로건 톤 |
227
+ | 데이터·자동화·맥락 같은 구체 명사 | "혁신적인", "최고의" 류 형용사 |
228
+ | 한 화면에 1개 메시지 | 카드 안에 3가지 USP 욱여넣기 |
229
+
230
+ **Voice samples** *(observed on flex.team, 2026-05-14 — illustrative, used for style anatomy not redistribution)*
231
+
232
+ 1. **Hero**: "모든 HR 데이터, flex 하나로." — 4어절. 동사 없음. 마침표.
233
+ 2. **Manifesto**: "flex는 조직이 일하는 방식을 바꿉니다." — 주어-목적어-서술어, 격언적 평서형.
234
+ 3. **Card 3 outcome**: "이제 팀은 정보의 불균형과 반복 업무 부담에서 벗어나, 효율을 넘어 더 큰 성장을 위해 몰입할 수 있습니다." — 긴 호흡 1문장으로 인과 묶음, 결말은 "있습니다"로 가능성 제시 (단정하지 않음).
235
+
236
+ **Voice when adopted for fresh copy** (catalog-safe, no verbatim borrow): 운영자 관점 + 마침표 + 명사형 + 단정형. 사용자 직접호명·명령형은 회피.
237
+
238
+ ---
239
+
240
+ ## 11. Brand Narrative
241
+
242
+ **Origin (2019).** 장해남 대표가 2019년 5월 성남에서 창업. 초기 타깃은 한국 스타트업·중견기업의 HR 운영 — 엑셀과 메신저로 흩어진 인사 데이터를 한 시스템으로 모으는 게 출발점.
243
+
244
+ **Mission.** "데이터가 유기적으로 흐를 때 팀은 더 똑똑하게 성장합니다" (flex.team 2026-05-14 관찰). 흩어진 HR 데이터를 모으고, AI로 자동화하고, 맥락을 더해 **근본부터** 해결한다는 시각. 단순 SaaS가 아니라 'Human Relations Platform'으로 포지셔닝.
245
+
246
+ **Why now.** 2023→2025 매출 ₩160억 → ₩279억 (연 +30%대 성장), 2026-03 기준 213명, Series B 후 valuation ₩5,000억. 한국 HR SaaS 시장이 분절(근태/급여/평가 각각 별도 SaaS)에서 통합 플랫폼으로 재편되는 시점에, flex는 "AI 기반 통합 HR" 포지션을 선점. 2024년 사이트 리프레시(`l2024-c-*` 클래스 체계)는 이 업마켓 이동을 시각적으로 선언한 변화 — 컬러풀했던 초기 SaaS 아이덴티티를 graphite + ink 단색 체계로 정리.
247
+
248
+ *Source: thevc.kr/Flex (corporate facts), flex.team (live copy & visual signal).*
249
+
250
+ ---
251
+
252
+ ## 12. Principles
253
+
254
+ 1. **One ink, many alphas.** 색이 의미를 만들지 않는다. `#1D1D1F`를 0.04 / 0.10 / 0.24 / 0.72 / 0.96으로 단계화해서 위계를 만든다. *UI implication:* semantic blue/green/red를 본문에 쓰지 말 것. 상태는 weight + alpha로 표현.
255
+ 2. **Display tight, body loose.** 52px h2는 `-1.56px` 트래킹으로 단단하게, 17px 카드 본문은 `26px` line-height로 숨 쉬게. *UI implication:* 큰 글자일수록 트래킹 음수, 작을수록 line-height 1.5+.
256
+ 3. **Section flips theme, not palette.** 다크 hero → 라이트 manifesto → 다크 카드는 *같은 ink + 같은 graphite*를 surface 반전으로 쓴 것. *UI implication:* light/dark variant는 token 교체가 아니라 `_dark` / `_light` 클래스 토글.
257
+ 4. **Ring, not border.** 1px 테두리 대신 1px inset shadow ring (`0 0 0 1px inset`). *UI implication:* hover/active 전환 시 `box-shadow`만 바꾸면 layout shift 0.
258
+ 5. **Friction → mechanism → outcome.** 모든 manifesto는 세 카드 구조. *UI implication:* 마케팅 hero 아래 첫 섹션은 USP 리스트가 아니라 3-beat narrative.
259
+
260
+ ---
261
+
262
+ ## 13. Personas
263
+
264
+ > *Personas below are derived from flex's observed positioning and TheVC corporate data — they are illustrative of who flex appears to design for, not official customer segments.*
265
+
266
+ - **운영팀 리더 (HR ops lead) at 50-300명 규모.** 엑셀 + 메신저 + 별도 근태 SaaS로 매달 결산하는 사람. flex의 "통합" 약속과 graphite 무채색 톤이 "장난감이 아닌 도구"라는 신호로 작동한다.
267
+ - **CHRO / COO at Series B-D 스타트업.** 임원에게 보고할 데이터 신뢰성이 중요. AI·자동화 카피와 manifesto의 마침표형 단정 문장이 "결정자 톤"으로 읽힌다.
268
+ - **백오피스 헤드 at 전통 중견기업.** SaaS 첫 도입. 한 화면에 1개 메시지·운영자 시점 카피·과장 없는 비주얼이 "한국 회사 정서에 맞는다"고 느낀다.
269
+
270
+ ---
271
+
272
+ ## 14. States
273
+
274
+ | Surface | Empty | Loading | Error | Success | Skeleton | Disabled |
275
+ |---|---|---|---|---|---|---|
276
+ | Service filter pill | n/a — 항상 5개 고정 | n/a | n/a | active pill: `rgba(29,29,31,0.04)` fill + 0.24 ring + weight 700 | n/a | inactive pill: white fill + 0.10 ring + weight 600 |
277
+ | CTA "도입 문의하기" | n/a | submit 중 → 동일 chrome 유지 (라이브 관찰 한정) | 폼 단위 inline 메시지 (페이지 단위 toast 회피) | 별도 thank-you 페이지 라우팅 | n/a | `rgba(29,29,31,0.04)` 유지 + cursor not-allowed |
278
+ | Manifesto card | 항상 3개 고정 — 1-2개 fallback 패턴은 관찰되지 않음 | n/a (정적 콘텐츠) | n/a | n/a | possibility: 동일 dims `#2D3338` + 16px radius + 30px padding의 빈 박스 | n/a |
279
+ | Header CTA | n/a | n/a | n/a | active 페이지 표시는 underline·dot 없이 weight 700 토글로 추정 | n/a | `rgba(255,255,255,0.48)` text on dark |
280
+
281
+ States 카탈로그가 사이트에 명시되지 않은 곳은 **observed shape 유지 + Pretendard weight·alpha만 조정**하는 것이 flex 톤 보존의 안전 룰.
282
+
283
+ ---
284
+
285
+ ## 15. Motion & Easing
286
+
287
+ 라이브 관찰 한 패스 기준 — 단정적 듀레이션·이징 값은 추출하지 못함. 일반 패턴으로부터 권장 토큰:
288
+
289
+ **Duration**
290
+ - `instant`: 0ms — 토글 즉시 반영 (pill active 전환)
291
+ - `short`: 150ms — hover ring 두께 변화
292
+ - `default`: 240ms — section fade-in on scroll
293
+ - `long`: 400ms — 카드 stagger (3개 카드가 80ms 간격으로 enter)
294
+
295
+ **Easing**
296
+ - `out-quart` (`cubic-bezier(0.25, 1, 0.5, 1)`) — scroll-trigger fade (자연스러운 도착감)
297
+ - `in-out-cubic` (`cubic-bezier(0.65, 0, 0.35, 1)`) — pill 전환
298
+
299
+ **Motion rules**
300
+ 1. *Translate ≤ 12px.* flex는 parallax·과한 슬라이드를 쓰지 않는다.
301
+ 2. *Opacity is the primary verb.* fade-in + tiny translateY가 거의 모든 entry 모션.
302
+ 3. *No spring bounce.* 항상 ease-out 류. overshoot 0.
303
+ 4. *Stagger ≤ 100ms.* 3-card grid stagger는 잘게.
304
+
305
+ ---
306
+
307
+ **Verified:** 2026-05-14
308
+ **Pipeline:** omd:add-reference CREATE (3-tier)
309
+ **Catalog position:** KR · saas · hr
@@ -1,3 +1,23 @@
1
+ ---
2
+ id: framer
3
+ name: Framer
4
+ country: US
5
+ category: design-tools
6
+ homepage: "https://www.framer.com"
7
+ primary_color: "#0055ff"
8
+ logo:
9
+ type: simpleicons
10
+ slug: framer
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ds:
14
+ name: Framer Brand Guidelines
15
+ url: "https://www.framer.com/brand"
16
+ type: brand
17
+ description: Framer's brand and trademark guidelines with logo rules and color palette.
18
+ og_image: "https://framerusercontent.com/assets/MFmOCFlEnwFAS9IP2HbUEH68axo.jpg"
19
+ ---
20
+
1
21
  # Design System Inspiration of Framer
2
22
 
3
23
  ## 1. Visual Theme & Atmosphere
@@ -1,6 +1,20 @@
1
1
  ---
2
- omd: 0.1
3
- brand: freee
2
+ id: freee
3
+ name: freee
4
+ country: JP
5
+ category: productivity
6
+ homepage: "https://www.freee.co.jp"
7
+ primary_color: "#005bac"
8
+ logo:
9
+ type: github
10
+ slug: freee
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ds:
14
+ name: Vibes
15
+ url: "https://vibes.freee.co.jp"
16
+ type: system
17
+ description: freee's open-source design system with accessibility-focused components.
4
18
  ---
5
19
 
6
20
  # Design System Inspiration of freee
@@ -1,6 +1,22 @@
1
1
  ---
2
- omd: 0.1
3
- brand: Gangnamunni (강남언니)
2
+ id: gangnamunni
3
+ name: 강남언니
4
+ display_name_kr: Gangnamunni (강남언니)
5
+ country: KR
6
+ category: consumer-tech
7
+ homepage: "https://www.gangnamunni.com"
8
+ primary_color: "#d54300"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://www.gangnamunni.com/images/icon/apple-icon-180x180.png"
12
+ verified: "2026-05-15"
13
+ omd: "0.1"
14
+ ds:
15
+ name: Gangnamunni Blog
16
+ url: "https://blog.gangnamunni.com/post/welchis/"
17
+ type: brand
18
+ description: Healience design team blog — the Cell + Welchis two-system architecture behind Gangnamunni's medical-platform UI.
19
+ og_image: "https://blog.gangnamunni.com/contents/posts/238d9338-d3d4-80ac-a8c6-da95db5bc8bc/cover/7d41f721-4cf0-408c-b2fd-f7aa403a5cbe.png"
4
20
  ---
5
21
 
6
22
  # Design System Inspiration of Gangnamunni (강남언니)