oh-my-design-cli 1.8.6 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +2761 -85
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/airbridge/DESIGN.md +451 -0
  71. package/web/references/alipay/DESIGN.md +179 -420
  72. package/web/references/apple/DESIGN.md +224 -498
  73. package/web/references/asleep/DESIGN.md +402 -0
  74. package/web/references/au/DESIGN.md +334 -0
  75. package/web/references/autopedia/DESIGN.md +382 -0
  76. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  77. package/web/references/baemin/DESIGN.md +332 -491
  78. package/web/references/banksalad/DESIGN.md +269 -180
  79. package/web/references/barogo/DESIGN.md +416 -0
  80. package/web/references/beusable/DESIGN.md +464 -0
  81. package/web/references/bigin/DESIGN.md +454 -0
  82. package/web/references/bilibili/DESIGN.md +206 -374
  83. package/web/references/bmw/DESIGN.md +162 -276
  84. package/web/references/brandi/DESIGN.md +184 -325
  85. package/web/references/buzzvil/DESIGN.md +457 -0
  86. package/web/references/cafe24/DESIGN.md +472 -0
  87. package/web/references/catchtable/DESIGN.md +219 -264
  88. package/web/references/cgv/DESIGN.md +317 -0
  89. package/web/references/channeltalk/DESIGN.md +210 -336
  90. package/web/references/china-airlines/DESIGN.md +291 -0
  91. package/web/references/cjonstyle/DESIGN.md +453 -0
  92. package/web/references/class101/DESIGN.md +168 -387
  93. package/web/references/classum/DESIGN.md +228 -203
  94. package/web/references/claude/DESIGN.md +242 -479
  95. package/web/references/clay/DESIGN.md +179 -377
  96. package/web/references/clickhouse/DESIGN.md +254 -343
  97. package/web/references/codeit/DESIGN.md +470 -0
  98. package/web/references/cohere/DESIGN.md +214 -324
  99. package/web/references/coinone/DESIGN.md +199 -179
  100. package/web/references/corca/DESIGN.md +414 -0
  101. package/web/references/coupang/DESIGN.md +205 -475
  102. package/web/references/cursor/DESIGN.md +240 -381
  103. package/web/references/dabang/DESIGN.md +248 -213
  104. package/web/references/dable/DESIGN.md +431 -0
  105. package/web/references/datarize/DESIGN.md +338 -0
  106. package/web/references/dealicious/DESIGN.md +402 -0
  107. package/web/references/drdiary/DESIGN.md +404 -0
  108. package/web/references/elastic/DESIGN.md +238 -0
  109. package/web/references/elevenlabs/DESIGN.md +183 -321
  110. package/web/references/elice/DESIGN.md +445 -0
  111. package/web/references/eslite/DESIGN.md +257 -0
  112. package/web/references/evaair/DESIGN.md +338 -0
  113. package/web/references/expo/DESIGN.md +238 -331
  114. package/web/references/familymart-tw/DESIGN.md +254 -0
  115. package/web/references/ferrari/DESIGN.md +160 -377
  116. package/web/references/figma/DESIGN.md +197 -451
  117. package/web/references/fitpet/DESIGN.md +445 -0
  118. package/web/references/flex/DESIGN.md +170 -253
  119. package/web/references/framer/DESIGN.md +197 -340
  120. package/web/references/freee/DESIGN.md +211 -533
  121. package/web/references/friendliai/DESIGN.md +431 -0
  122. package/web/references/frip/DESIGN.md +440 -0
  123. package/web/references/furiosaai/DESIGN.md +450 -0
  124. package/web/references/gangnamunni/DESIGN.md +154 -591
  125. package/web/references/gaudiolab/DESIGN.md +414 -0
  126. package/web/references/google/DESIGN.md +290 -398
  127. package/web/references/goorm/DESIGN.md +470 -0
  128. package/web/references/greencar/DESIGN.md +420 -0
  129. package/web/references/hackle/DESIGN.md +472 -0
  130. package/web/references/hashicorp/DESIGN.md +273 -318
  131. package/web/references/heydealer/DESIGN.md +429 -0
  132. package/web/references/humanscape/DESIGN.md +433 -0
  133. package/web/references/hwahae/DESIGN.md +453 -0
  134. package/web/references/hyundai/DESIGN.md +158 -368
  135. package/web/references/hyundaicard/DESIGN.md +171 -121
  136. package/web/references/ibm/DESIGN.md +227 -378
  137. package/web/references/idus/DESIGN.md +450 -0
  138. package/web/references/igaworks/DESIGN.md +437 -0
  139. package/web/references/inflearn/DESIGN.md +221 -366
  140. package/web/references/intuit/DESIGN.md +244 -0
  141. package/web/references/jandi/DESIGN.md +191 -291
  142. package/web/references/jobplanet/DESIGN.md +415 -0
  143. package/web/references/kakao/DESIGN.md +287 -475
  144. package/web/references/kakaobank/DESIGN.md +220 -521
  145. package/web/references/kakaogames/DESIGN.md +220 -0
  146. package/web/references/kakaopay/DESIGN.md +207 -526
  147. package/web/references/karrot/DESIGN.md +227 -251
  148. package/web/references/kb-kookmin/DESIGN.md +308 -0
  149. package/web/references/kbank/DESIGN.md +220 -175
  150. package/web/references/kcd/DESIGN.md +432 -0
  151. package/web/references/kmong/DESIGN.md +281 -356
  152. package/web/references/krds/DESIGN.md +245 -19
  153. package/web/references/kream/DESIGN.md +224 -359
  154. package/web/references/kurly/DESIGN.md +211 -533
  155. package/web/references/kyobobook/DESIGN.md +445 -0
  156. package/web/references/lablup/DESIGN.md +474 -0
  157. package/web/references/lamborghini/DESIGN.md +198 -360
  158. package/web/references/lemonbase/DESIGN.md +452 -0
  159. package/web/references/lguplus/DESIGN.md +259 -0
  160. package/web/references/likelion/DESIGN.md +283 -0
  161. package/web/references/line/DESIGN.md +396 -355
  162. package/web/references/linear.app/DESIGN.md +209 -562
  163. package/web/references/lotteon/DESIGN.md +386 -0
  164. package/web/references/lovable/DESIGN.md +255 -349
  165. package/web/references/makinarocks/DESIGN.md +242 -0
  166. package/web/references/maum-ai/DESIGN.md +423 -0
  167. package/web/references/medibloc/DESIGN.md +425 -0
  168. package/web/references/megabox/DESIGN.md +232 -0
  169. package/web/references/mercari/DESIGN.md +217 -434
  170. package/web/references/microsoft/DESIGN.md +234 -388
  171. package/web/references/mildang/DESIGN.md +411 -0
  172. package/web/references/millie/DESIGN.md +183 -504
  173. package/web/references/minimax/DESIGN.md +264 -322
  174. package/web/references/miricanvas/DESIGN.md +182 -355
  175. package/web/references/miro/DESIGN.md +234 -232
  176. package/web/references/mistral.ai/DESIGN.md +231 -314
  177. package/web/references/mixi/DESIGN.md +234 -0
  178. package/web/references/moin/DESIGN.md +445 -0
  179. package/web/references/mongodb/DESIGN.md +219 -316
  180. package/web/references/moreh/DESIGN.md +437 -0
  181. package/web/references/musinsa/DESIGN.md +184 -510
  182. package/web/references/mynavi/DESIGN.md +242 -0
  183. package/web/references/myrealtrip/DESIGN.md +169 -406
  184. package/web/references/naver/DESIGN.md +328 -499
  185. package/web/references/naverwebtoon/DESIGN.md +172 -395
  186. package/web/references/neosapience/DESIGN.md +441 -0
  187. package/web/references/nhn/DESIGN.md +169 -346
  188. package/web/references/nhncloud/DESIGN.md +185 -123
  189. package/web/references/nota/DESIGN.md +451 -0
  190. package/web/references/notion/DESIGN.md +271 -475
  191. package/web/references/nrise/DESIGN.md +417 -0
  192. package/web/references/ohouse/DESIGN.md +210 -549
  193. package/web/references/oliveyoung/DESIGN.md +217 -326
  194. package/web/references/ollama/DESIGN.md +241 -308
  195. package/web/references/onestore/DESIGN.md +248 -0
  196. package/web/references/palantir/DESIGN.md +256 -0
  197. package/web/references/panasonic/DESIGN.md +276 -0
  198. package/web/references/patternfly/DESIGN.md +259 -0
  199. package/web/references/payhere/DESIGN.md +438 -0
  200. package/web/references/pega/DESIGN.md +262 -0
  201. package/web/references/peoplefund/DESIGN.md +431 -0
  202. package/web/references/petfriends/DESIGN.md +428 -0
  203. package/web/references/pinkfong/DESIGN.md +199 -367
  204. package/web/references/pinterest/DESIGN.md +258 -308
  205. package/web/references/portone/DESIGN.md +446 -0
  206. package/web/references/poya/DESIGN.md +286 -0
  207. package/web/references/pozalabs/DESIGN.md +438 -0
  208. package/web/references/protopie/DESIGN.md +419 -0
  209. package/web/references/qraft/DESIGN.md +448 -0
  210. package/web/references/queenit/DESIGN.md +432 -0
  211. package/web/references/quotabook/DESIGN.md +449 -0
  212. package/web/references/rebellions/DESIGN.md +449 -0
  213. package/web/references/recruit/DESIGN.md +247 -0
  214. package/web/references/remember/DESIGN.md +202 -396
  215. package/web/references/resend/DESIGN.md +274 -348
  216. package/web/references/returnzero/DESIGN.md +460 -0
  217. package/web/references/sakura-internet/DESIGN.md +269 -0
  218. package/web/references/samsung/DESIGN.md +157 -359
  219. package/web/references/sandoll/DESIGN.md +445 -0
  220. package/web/references/sanity/DESIGN.md +241 -375
  221. package/web/references/saramin/DESIGN.md +465 -0
  222. package/web/references/scatterlab/DESIGN.md +412 -0
  223. package/web/references/selectstar/DESIGN.md +439 -0
  224. package/web/references/servicenow/DESIGN.md +289 -0
  225. package/web/references/shiftee/DESIGN.md +468 -0
  226. package/web/references/shinhanbank/DESIGN.md +161 -341
  227. package/web/references/shinhancard/DESIGN.md +208 -319
  228. package/web/references/sionic/DESIGN.md +454 -0
  229. package/web/references/sktelecom/DESIGN.md +310 -0
  230. package/web/references/socar/DESIGN.md +125 -32
  231. package/web/references/softbank/DESIGN.md +231 -0
  232. package/web/references/solapi/DESIGN.md +483 -0
  233. package/web/references/sony/DESIGN.md +234 -0
  234. package/web/references/soop/DESIGN.md +261 -0
  235. package/web/references/spacex/DESIGN.md +184 -323
  236. package/web/references/spotify/DESIGN.md +253 -394
  237. package/web/references/squeezebits/DESIGN.md +441 -0
  238. package/web/references/stayfolio/DESIGN.md +422 -0
  239. package/web/references/stripe/DESIGN.md +212 -491
  240. package/web/references/supabase/DESIGN.md +244 -316
  241. package/web/references/supertone/DESIGN.md +413 -0
  242. package/web/references/tabling/DESIGN.md +415 -0
  243. package/web/references/taishinbank/DESIGN.md +243 -0
  244. package/web/references/teamlab/DESIGN.md +240 -0
  245. package/web/references/teamsparta/DESIGN.md +472 -0
  246. package/web/references/tellingme/DESIGN.md +392 -0
  247. package/web/references/tesla/DESIGN.md +244 -427
  248. package/web/references/thsr/DESIGN.md +284 -0
  249. package/web/references/thumbtack/DESIGN.md +302 -0
  250. package/web/references/together.ai/DESIGN.md +257 -304
  251. package/web/references/toss/DESIGN.md +251 -593
  252. package/web/references/toss-securities/DESIGN.md +255 -178
  253. package/web/references/tossbank/DESIGN.md +195 -491
  254. package/web/references/toyota/DESIGN.md +238 -0
  255. package/web/references/tving/DESIGN.md +197 -245
  256. package/web/references/typed/DESIGN.md +413 -0
  257. package/web/references/uber/DESIGN.md +256 -333
  258. package/web/references/udn/DESIGN.md +250 -0
  259. package/web/references/upbit/DESIGN.md +145 -256
  260. package/web/references/upstage/DESIGN.md +211 -204
  261. package/web/references/uswds/DESIGN.md +287 -0
  262. package/web/references/vercel/DESIGN.md +236 -440
  263. package/web/references/vuno/DESIGN.md +413 -0
  264. package/web/references/wanted/DESIGN.md +215 -487
  265. package/web/references/weverse/DESIGN.md +437 -0
  266. package/web/references/wise/DESIGN.md +223 -231
  267. package/web/references/wisetracker/DESIGN.md +462 -0
  268. package/web/references/wooribank/DESIGN.md +245 -0
  269. package/web/references/yanolja/DESIGN.md +250 -419
  270. package/web/references/yeogiotte/DESIGN.md +235 -418
  271. package/web/references/zapier/DESIGN.md +256 -377
  272. package/web/references/zendesk/DESIGN.md +288 -0
  273. package/web/references/zigzag/DESIGN.md +200 -621
  274. package/dist/install-skills-7UUDOLG2.js +0 -734
  275. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -8,375 +8,275 @@ primary_color: "#00c473"
8
8
  logo:
9
9
  type: favicon
10
10
  slug: "https://www.google.com/s2/favicons?domain=www.jandi.com&sz=128"
11
- verified: "2026-06-09"
11
+ verified: "2026-07-13"
12
12
  added: "2026-06-09"
13
13
  omd: "0.1"
14
+ verification_v2:
15
+ schema: 2
16
+ checked: "2026-07-13"
17
+ surfaces:
18
+ - { id: home, kind: marketing, url: "https://www.jandi.com/landing/kr", inspected: "2026-07-13" }
19
+ - { id: surface-2, kind: marketing, url: "https://www.jandi.com/landing/kr", inspected: "2026-07-13" }
20
+ - { id: surface-3, kind: marketing-feature, url: "https://www.jandi.com/landing/kr/features/collaboration", inspected: "2026-07-13" }
21
+ - { id: surface-4, kind: marketing-feature, url: "https://www.jandi.com/landing/kr/features/member", inspected: "2026-07-13" }
22
+ - { id: surface-5, kind: marketing-security, url: "https://www.jandi.com/landing/kr/security", inspected: "2026-07-13" }
23
+ - { id: surface-6, kind: marketing-ai, url: "https://www.jandi.com/landing/kr/jandi-ai", inspected: "2026-07-13" }
24
+ sources:
25
+ - { id: surface-home, kind: product-surface, url: "https://www.jandi.com/landing/kr", captured: "2026-07-13" }
26
+ - { id: surface-surface-2, kind: product-surface, url: "https://www.jandi.com/landing/kr", captured: "2026-07-13" }
27
+ - { id: surface-surface-3, kind: product-surface, url: "https://www.jandi.com/landing/kr/features/collaboration", captured: "2026-07-13" }
28
+ - { id: surface-surface-4, kind: product-surface, url: "https://www.jandi.com/landing/kr/features/member", captured: "2026-07-13" }
29
+ - { id: surface-surface-5, kind: product-surface, url: "https://www.jandi.com/landing/kr/security", captured: "2026-07-13" }
30
+ - { id: surface-surface-6, kind: product-surface, url: "https://www.jandi.com/landing/kr/jandi-ai", captured: "2026-07-13" }
31
+ - { id: company-context, kind: official-doc, url: "https://finalpick.jandi.com/landing/en/company", captured: "2026-07-13" }
32
+ - { id: project-context, kind: official-doc, url: "https://blog.jandi.com/ko/2026/06/08/pr-project-2-0/", captured: "2026-07-13" }
33
+ - { id: docs-chrome, kind: official-doc, url: "https://support.jandi.com/en/articles/Changing-themes-bf4edc58", captured: "2026-07-13" }
34
+ - { id: noto-license, kind: license, url: "https://notofonts.github.io/noto-docs/website/use/", captured: "2026-07-13" }
35
+ conflicts: []
36
+ claims:
37
+ "tokens.colors.primary": &home { surface_id: home, source_id: surface-home, method: computed-style, captured: "2026-07-13" }
38
+ "tokens.colors.canvas": *home
39
+ "tokens.colors.on-dark": *home
40
+ "tokens.colors.ink": *home
41
+ "tokens.colors.ink-muted": *home
42
+ "tokens.colors.muted": *home
43
+ "tokens.colors.action-ink": *home
44
+ "tokens.typography.family.ui": *home
45
+ "tokens.typography.hero.size": *home
46
+ "tokens.typography.hero.weight": *home
47
+ "tokens.typography.hero.lineHeight": *home
48
+ "tokens.typography.hero.use": *home
49
+ "tokens.typography.section.size": *home
50
+ "tokens.typography.section.weight": *home
51
+ "tokens.typography.section.lineHeight": *home
52
+ "tokens.typography.section.use": *home
53
+ "tokens.typography.nav-action.size": *home
54
+ "tokens.typography.nav-action.weight": *home
55
+ "tokens.typography.nav-action.lineHeight": *home
56
+ "tokens.typography.nav-action.use": *home
57
+ "tokens.spacing.nav-action-y": *home
58
+ "tokens.spacing.nav-action-x": *home
59
+ "tokens.spacing.landing-action-y": *home
60
+ "tokens.spacing.landing-action-x": *home
61
+ "tokens.rounded.action": *home
62
+ "tokens.rounded.floating-nav": &collaboration { surface_id: surface-3, source_id: surface-surface-3, method: computed-style, captured: "2026-07-13" }
63
+ "tokens.rounded.security-card": &security { surface_id: surface-5, source_id: surface-surface-5, method: computed-style, captured: "2026-07-13" }
64
+ "tokens.components.security-environment-card.type": *security
65
+ "tokens.components.security-environment-card.bg": *security
66
+ "tokens.components.security-environment-card.radius": *security
67
+ "tokens.components.security-environment-card.padding": *security
68
+ "tokens.components.security-environment-card.use": *security
69
+ "tokens.components.ai-environment-card.type": &ai { surface_id: surface-6, source_id: surface-surface-6, method: computed-style, captured: "2026-07-13" }
70
+ "tokens.components.ai-environment-card.bg": *ai
71
+ "tokens.components.ai-environment-card.radius": *ai
72
+ "tokens.components.ai-environment-card.padding": *ai
73
+ "tokens.components.ai-environment-card.use": *ai
14
74
  tokens:
15
- source: live-extract
16
- extracted: "2026-06-09"
17
- components_harvested: true
75
+ source: reconciled
76
+ extracted: "2026-07-13"
18
77
  colors:
19
78
  primary: "#00c473"
20
- primary-border: "#00c473"
21
- ink-dark: "#333333"
22
- ink-deepest: "#041911"
23
- heading: "#000000"
24
79
  canvas: "#ffffff"
25
- canvas-soft: "#fafafc"
26
- tint-blue: "#eaf6fc"
27
- body: "#a2a2a2"
28
- subhead: "#c2c2c2"
29
- footer-bg: "#181818"
30
- on-primary: "#ffffff"
80
+ on-dark: "#ffffff"
81
+ ink: "#000000"
82
+ ink-muted: "#333333"
83
+ muted: "#a2a2a2"
84
+ action-ink: "#041911"
31
85
  typography:
32
- family: { sans: "Noto Sans" }
33
- display-hero: { size: 56, weight: 700, lineHeight: 1.43, use: "Hero headline on dark/imagery, white text" }
34
- section: { size: 42, weight: 700, lineHeight: 1.43, use: "Feature section titles" }
35
- subheading: { size: 24, weight: 700, lineHeight: 1.58, use: "Card / sub-section heads" }
36
- body: { size: 16, weight: 400, lineHeight: 1.00, use: "Standard reading text" }
37
- button: { size: 15, weight: 500, lineHeight: 1.33, use: "Primary button label" }
38
- nav: { size: 14, weight: 400, lineHeight: 1.43, use: "Navigation links" }
39
- caption: { size: 14, weight: 400, lineHeight: 1.43, use: "Muted descriptions, metadata" }
40
- eyebrow: { size: 13, weight: 700, lineHeight: 1.54, use: "Green eyebrow labels above headings" }
41
- spacing: { xs: 4, sm: 7, md: 14, base: 16, lg: 30, xl: 36, xxl: 48, section: 64 }
42
- rounded: { sm: 4, md: 6, lg: 16, full: 9999 }
43
- shadow:
44
- card: "rgba(0,0,0,0.08) 0px 2px 16px 3px"
86
+ family: { ui: "Noto Sans" }
87
+ hero: { size: 56, weight: 700, lineHeight: 1.43, use: "Public landing headline" }
88
+ section: { size: 42, weight: 700, lineHeight: 1.43, use: "Public landing feature heading" }
89
+ nav-action: { size: 14, weight: 500, lineHeight: 1.43, use: "Public global navigation action" }
90
+ spacing: { nav-action-y: 7, nav-action-x: 14, landing-action-y: 12, landing-action-x: 30 }
91
+ rounded: { action: 6, floating-nav: 10, security-card: 16 }
45
92
  components:
46
- button-login: { type: button, bg: "#00c473", fg: "#ffffff", radius: "6px", padding: "7px 14px", font: "14px / 500", use: "Top-nav green login CTA, 1px #00c473 border" }
47
- button-cta-dark: { type: button, bg: "#333333", fg: "#ffffff", radius: "6px", padding: "5px 14px", font: "15px / 500", use: "Secondary dark action, 알아보기" }
48
- button-signup: { type: button, bg: "#ffffff", fg: "#041911", radius: "6px", padding: "12px 30px", font: "15px / 500", use: "회원가입 / 도입문의 on dark hero, white pill on green" }
49
- eyebrow-label: { type: badge, fg: "#00c473", radius: "4px", padding: "8px 16px", font: "13px / 700", use: "Green eyebrow above section headings" }
50
- nav-link: { type: tab, fg: "#000000", font: "14px / 400", use: "Top-nav menu item", active: "green #00c473 text on hover/active" }
51
- card: { type: card, bg: "#ffffff", radius: "16px", use: "Feature card, shadow rgba(0,0,0,0.08) 0px 2px 16px 3px" }
52
- card-tint: { type: card, bg: "#eaf6fc", radius: "16px", use: "Tinted feature card on soft canvas" }
53
- input-text: { type: input, fg: "#333333", radius: "6px", font: "15px / 400", use: "Form field, placeholder #a2a2a2" }
54
- footer-link: { type: listItem, fg: "#a2a2a2", font: "14px / 400", use: "Footer nav link on #181818 background" }
93
+ security-environment-card: { type: card, bg: "#ffffff", radius: "16px", padding: "40px 32px 54px", use: "Static security environment card; surface-5::li.Security_securityEnvironmentList__3CRP0" }
94
+ ai-environment-card: { type: card, bg: "#ffffff", radius: "16px", padding: "40px 32px 54px", use: "Static AI environment card; surface-6::li.JandiAi_aiEnvironmentList__2ng2t" }
95
+ components_harvested: true
55
96
  ---
56
97
 
57
- # Design System Inspiration of JANDI
58
-
59
- ## 1. Visual Theme & Atmosphere
60
-
61
- JANDI (잔디) is the Korean business-collaboration messenger built by TossLab, and its website carries the calm, trustworthy confidence of a productivity tool that lives in offices all day. The page opens on a clean white canvas (`#ffffff`) — occasionally cooling into a near-white `#fafafc` — with pure black headings (`#000000`) and a single, decisive signature: JANDI Green (`#00c473`). That green is the brand's whole personality compressed into one hue. The name "잔디" literally means "grass/lawn", and the fresh, growth-coded green reads exactly that way: alive, approachable, optimistic, and unmistakably not the corporate-blue of legacy enterprise software. Everything else in the palette is deliberately quiet so the green can do the talking.
98
+ # JANDI Design Reference
62
99
 
63
- The typographic voice is set in Noto Sans across the entire site, run at weight 700 for headlines and weight 400 for body. Hero headlines reach 56px and section titles 42px, both at bold 700 with relaxed line-heights (1.43), giving the page a friendly, legible, distinctly Korean-web rhythm rather than the tight, ultra-light tracking of Western design-foundry sites. Bold-but-warm is the register: the headlines are confident and large, the supporting copy recedes into soft grays (`#a2a2a2`, `#c2c2c2`), and the green eyebrow labels (13px, weight 700) act like small sprigs of color that orient the reader through each section.
100
+ > **A Korean collaboration platform whose public expression is direct, green-led, and operational.**
64
101
 
65
- Depth is handled with extreme restraint. There is essentially one shadow in the system — a soft, evenly-spread `rgba(0,0,0,0.08) 0px 2px 16px 3px` — used to lift feature cards a few millimeters off the canvas. No multi-layer chromatic stacks, no dramatic elevation. Surfaces are rounded generously (16px on cards) while interactive controls stay tighter (6px on buttons), and the overall feel is of a product that wants to be calm, scannable, and immediately usable by a whole company, not just designers.
102
+ ## 1. Visual Theme & Atmosphere
66
103
 
67
- **Key Characteristics:**
68
- - JANDI Green (`#00c473`) as the single decisive brand and CTA color — fresh, growth-coded, anti-corporate-blue
69
- - Noto Sans everywhere; weight 700 for headlines, 400 for body — friendly Korean-web legibility
70
- - Pure black (`#000000`) headings on white (`#ffffff`) / near-white (`#fafafc`) canvas
71
- - Soft gray supporting text (`#a2a2a2` body, `#c2c2c2` subheads) so green stays the only accent
72
- - One restrained card shadow (`rgba(0,0,0,0.08) 0px 2px 16px 3px`) — calm, flat-leaning depth
73
- - Generous 16px card radius, tighter 6px control radius — comfortable but not playful
74
- - Green eyebrow labels (13px / 700) as wayfinding sprigs above section headings
75
- - Deep near-black ink (`#041911`, `#333333`) for high-contrast text on light pill buttons
104
+ JANDI (잔디) is Toss Lab’s Korean business-collaboration service, introduced in 2015 and now presented by the company as an enterprise platform that connects work communication, AI-assisted collaboration, and project management. Its public marketing does not imitate an internal dashboard: it uses a white field, black Korean type hierarchy, and a consistent green conversion action to make a broad B2B offer immediately legible. The captured landing, collaboration, member-management, security, and AI pages keep that visual language coherent while giving each subject its own explanatory cards and calls to action.
76
105
 
77
- ## 2. Color Palette & Roles
106
+ The product is evolving beyond messaging. Toss Lab’s June 2026 Project 2.0 announcement describes project management integrated with the messenger, including a contributor-centred work view and a manager dashboard. That is first-party product context, not authorization to treat the public-marketing measurements below as an authenticated-product design system. The values in this reference remain scoped to the six supplied marketing capture records, which represent five distinct URLs.
78
107
 
79
- ### Primary
80
- - **JANDI Green** (`#00c473`): Primary brand color, login CTA background, eyebrow labels, link/hover accent. A bright, slightly emerald growth-green that anchors the whole system.
81
- - **Pure White** (`#ffffff`): Page background, card surfaces, signup/inquiry button fills on dark hero, on-green text.
82
- - **Black** (`#000000`): Primary heading color, nav text. JANDI uses true black for headings rather than a tinted near-black.
108
+ ## 2. Layout & Grid
83
109
 
84
- ### Ink & Dark
85
- - **Ink Dark** (`#333333`): Secondary dark button background ("더 알아보기"), input text color.
86
- - **Deepest Ink** (`#041911`): Near-black green-tinted text used on white pill buttons over green/hero backgrounds.
87
- - **Footer Black** (`#181818`): Dark footer background section.
110
+ - **Landing hierarchy:** `home` records a 56px/700/80px hero and 42px/700/60px feature headings. These are desktop public-marketing samples, not a responsive type contract.
111
+ - **Feature-page hierarchy:** the collaboration, member, security, and AI routes record 56px/700/66px page headings; their observed secondary headings vary by page (40px or 32px).
112
+ - **Action spacing:** the repeated global green action uses 7px 14px internal padding. The white landing action uses 12px 30px. These are individual component measurements, not a general spacing scale.
113
+ - **Boundary:** the supplied evidence establishes neither a page container maximum nor a breakpoint, logged-in application shell, or universal grid.
88
114
 
89
- ### Surface & Tint
90
- - **Canvas** (`#ffffff`): Default surface.
91
- - **Canvas Soft** (`#fafafc`): Cool near-white section background for alternating bands.
92
- - **Tint Blue** (`#eaf6fc`): Light blue-tinted card/illustration surface for feature blocks.
115
+ ## 3. Color & Typography
93
116
 
94
- ### Neutral Text Scale
95
- - **Body Gray** (`#a2a2a2`): Secondary descriptions, captions, footer links.
96
- - **Subhead Gray** (`#c2c2c2`): Muted sub-headings and supporting titles.
97
- - **Heading Black** (`#000000`): Primary headings and strong labels.
98
- - **On-Primary** (`#ffffff`): Text on green CTA fills.
117
+ ### Color tokens
99
118
 
100
- ## 3. Typography Rules
119
+ - `#00c473` observed fill and border of the global public navigation action on all six capture records.
120
+ - `#ffffff` — observed public canvas, on-green text, white landing action, and the scoped security/AI environment-card surface.
121
+ - `#000000` — observed body and heading ink on the public pages.
122
+ - `#333333` — observed supporting text on public feature, security, and AI content.
123
+ - `#a2a2a2` — observed muted public text and static accordion-button presentation.
124
+ - `#041911` — observed text on the white landing and pill-link actions.
101
125
 
102
- ### Font Family
103
- - **Primary**: `Noto Sans`, with system sans fallback. Used for 100% of text — headings, body, UI, footer.
104
- - **Weights**: 400 (body / nav / captions), 500 (buttons), 700 (headings / eyebrows / sub-section titles).
126
+ These are public-surface roles only. Neither the documentation centre nor the announced authenticated project experience contributes a semantic application palette.
105
127
 
106
- ### Hierarchy
128
+ ### Typography evidence classes
107
129
 
108
- | Role | Font | Size | Weight | Line Height | Notes |
109
- |------|------|------|--------|-------------|-------|
110
- | Display Hero | Noto Sans | 56px | 700 | 1.43 (80px) | Hero headline, white on dark/imagery |
111
- | Section Heading | Noto Sans | 42px | 700 | 1.43 (60px) | Feature section titles, black |
112
- | Sub-heading | Noto Sans | 24px | 700 | 1.58 (38px) | Card / sub-section heads |
113
- | Body | Noto Sans | 16px | 400 | 1.00 | Standard reading text |
114
- | Button | Noto Sans | 15px | 500 | 1.33 | Primary / secondary button labels |
115
- | Nav Link | Noto Sans | 14px | 400 | 1.43 | Top-nav menu items |
116
- | Caption | Noto Sans | 14px | 400 | 1.43 | Muted descriptions, metadata, footer links |
117
- | Eyebrow | Noto Sans | 13px | 700 | 1.54 | Green eyebrow labels above headings |
130
+ - **Live computed public-web use:** visible text across all six supplied records resolves to `"Noto Sans", sans-serif`. The supplied FontFaceSet record classifies `Noto Sans` as loaded/high confidence, with 676 observed uses across headings, body, buttons, cards, list items, and text. Seven JANDI-CDN OTF URLs corroborate that computed family. The machine UI-family token therefore names only `Noto Sans`.
131
+ - **Official font and licence context:** Noto’s official documentation describes Noto fonts as licensed under the SIL Open Font License. This explains the font’s licence boundary; it does not independently establish a JANDI product-font claim.
132
+ - **Declared-only assets:** `icomoon` and `swiper-icons` have `@font-face` declarations but zero observed visible uses. They remain declared icon-font assets, not JANDI text families or available specimens.
133
+ - **Measured public hierarchy:** `home` supplies the 56px/700/80px hero and 42px/700/60px feature samples; the feature routes supply 56px/700/66px page-heading samples. These are observed public treatments, not a full product type scale.
134
+ - **Documentation chrome:** the support centre is a separate first-party documentation domain. Its theme article is recorded for domain classification only and supplies no visual token or component claim.
118
135
 
119
- ### Principles
120
- - **Bold-warm, not light-luxe**: JANDI commits to weight 700 for all headlines. Where foundry-driven sites whisper at weight 300, JANDI speaks clearly at 700 — friendly authority for a tool used by entire companies.
121
- - **One typeface, three weights**: Noto Sans at 400 / 500 / 700 covers the whole site. No serif, no display face, no monospace.
122
- - **Relaxed line-height**: Headlines run at ~1.43 line-height (80px on 56px, 60px on 42px), generous spacing tuned for Korean + Latin mixed text legibility.
123
- - **Green eyebrows for wayfinding**: The 13px / 700 green eyebrow label is JANDI's signature small-type move — a colored orienting sprig above each section heading.
124
- - **Gray descends, never competes**: Supporting copy steps down into `#a2a2a2` and `#c2c2c2` so the green accent and black headings own the contrast.
136
+ ## 4. Components
125
137
 
126
- ## 4. Component Stylings
138
+ All entries below retain the supplied surface and selector provenance. They are static computed-style observations, not a reusable authenticated-product library. The bundle records zero interaction events, interaction kinds, and observed states; no hover, pressed, focus, disabled, error, dialog, menu, or responsive variant is documented.
127
139
 
128
- ### Buttons
140
+ ### Global navigation action
129
141
 
130
- **Login (Green Primary)**
142
+ **Primary default**
131
143
  - Background: `#00c473`
132
144
  - Text: `#ffffff`
133
- - Padding: 7px 14px
134
- - Radius: 6px
135
145
  - Border: `1px solid #00c473`
136
- - Font: 14px Noto Sans weight 500
137
- - Use: Top-nav primary CTA ("로그인")
146
+ - Radius: `6px`
147
+ - Padding: `7px 14px`
148
+ - Font: `14px / 500 / Noto Sans`
149
+ - Use: repeated public global navigation action; evidence `home::[data-omd-capture="10"]` and the corresponding selector on `surface-2` through `surface-6`.
138
150
 
139
- **Secondary Dark**
140
- - Background: `#333333`
141
- - Text: `#ffffff`
142
- - Padding: 5px 14px
143
- - Radius: 6px
144
- - Font: 15px Noto Sans weight 500
145
- - Use: Secondary action ("더 알아보기")
151
+ ### Landing action
146
152
 
147
- **Signup / Inquiry (Light Pill on Hero)**
153
+ **White default**
148
154
  - Background: `#ffffff`
149
155
  - Text: `#041911`
150
- - Padding: 12px 30px
151
- - Radius: 6px
152
- - Font: 15px Noto Sans weight 500
153
- - Use: High-contrast white button over green / dark hero ("회원가입", "도입문의")
156
+ - Radius: `6px`
157
+ - Padding: `12px 30px`
158
+ - Font: `15px / 500 / Noto Sans`
159
+ - Use: static white landing action on the duplicated landing records; evidence `home::[data-omd-capture="19"]` and `surface-2::[data-omd-capture="19"]`.
154
160
 
155
- ### Cards & Containers
156
- - Background: `#ffffff` (standard) or `#eaf6fc` (tinted feature block)
157
- - Radius: 16px
158
- - Shadow: `rgba(0,0,0,0.08) 0px 2px 16px 3px`
159
- - Sit on `#fafafc` soft-canvas bands for gentle separation
161
+ ### Feature floating navigation
160
162
 
161
- ### Badges / Eyebrows
162
- - **Green Eyebrow**: `#00c473` text, transparent bg, 8px 16px padding, 4px radius, 13px weight 700 — orienting label above section headings
163
+ **Static default**
164
+ - Text: `#000000`
165
+ - Radius: `10px`
166
+ - Padding: `12px`
167
+ - Font: `16px / 400 / Noto Sans`
168
+ - Use: static `role="button"` floating feature-navigation item; evidence `surface-3::[data-omd-capture="11"]` (`Collaboration_icon1__cFiWm`) and `surface-4::[data-omd-capture="11"]` (`Member_icon1__MIU61`).
163
169
 
164
- ### Inputs & Forms
165
- - Radius: 6px
166
- - Text: `#333333`
167
- - Placeholder: `#a2a2a2`
168
- - Comfortable touch padding consistent with button scale
170
+ ### Security environment card
169
171
 
170
- ### Navigation
171
- - Clean horizontal nav on white, brand logotype left-aligned
172
- - Links: Noto Sans 14px weight 400, `#000000` text, green `#00c473` on hover/active
173
- - Container padding 0 36px
174
- - Green login CTA right-aligned
172
+ **Static default**
173
+ - Background: `#ffffff`
174
+ - Text: `#000000`
175
+ - Radius: `16px`
176
+ - Padding: `40px 32px 54px`
177
+ - Font: `16px / 400 / Noto Sans`
178
+ - Use: static security-environment card; evidence `surface-5::li.Security_securityEnvironmentList__3CRP0`.
175
179
 
176
- ### Footer
177
- - Background: `#181818` dark band
178
- - Links: `#a2a2a2`, 14px Noto Sans weight 400
180
+ ### AI environment card
179
181
 
180
- **Verified:** 2026-06-09 (live DOM inspect)
181
- **Tier 1 sources:** https://www.jandi.com, https://www.tosslab.com
182
+ **Static default**
183
+ - Background: `#ffffff`
184
+ - Text: `#000000`
185
+ - Radius: `16px`
186
+ - Padding: `40px 32px 54px`
187
+ - Font: `16px / 400 / Noto Sans`
188
+ - Use: static AI-environment card; evidence `surface-6::li.JandiAi_aiEnvironmentList__2ng2t`.
182
189
 
183
- ## 5. Layout Principles
190
+ ---
184
191
 
185
- ### Spacing System
186
- - Base unit: ~7-8px, scaling through 14px, 16px, 30px, 36px
187
- - Button padding clusters around 7px / 14px / 30px horizontal — comfortable, generous tap zones
188
- - Section rhythm built on large vertical bands alternating white and `#fafafc`
192
+ **Verified:** 2026-07-13
193
+ **Tier 1 sources:** `https://www.jandi.com/landing/kr`, `https://www.jandi.com/landing/kr/features/collaboration`, `https://www.jandi.com/landing/kr/features/member`, `https://www.jandi.com/landing/kr/security`, and `https://www.jandi.com/landing/kr/jandi-ai` (public marketing); `https://finalpick.jandi.com/landing/en/company` and `https://blog.jandi.com/ko/2026/06/08/pr-project-2-0/` (first-party context); `https://support.jandi.com/en/articles/Changing-themes-bf4edc58` (documentation-domain classification only); `https://notofonts.github.io/noto-docs/website/use/` (Noto licence boundary only)
194
+ **Tier 2 sources:** `https://getdesign.md/jandi` (attempted; built-in-web open returned an internal error/no usable JANDI record), `https://styles.refero.design/?q=jandi` (attempted; built-in-web open returned an internal error/no usable JANDI record), built-in web search for both catalogs (no usable JANDI design record returned)
195
+ **Conflicts unresolved:** none
189
196
 
190
- ### Grid & Container
191
- - Centered single-column hero with bold headline and a white pill CTA
192
- - Feature sections use multi-column card grids on white / soft-canvas bands
193
- - Tinted (`#eaf6fc`) illustration blocks break up the feature flow
194
- - Nav container padded 0 36px horizontal, full-width sticky header
197
+ The previous legacy material asserted a `/ko/pricing` surface, pricing-card variants, interaction states, generic inputs, and a universal card-shadow system. None occurs in the supplied 2026-07-13 evidence, so those claims are removed rather than substituted.
195
198
 
196
- ### Whitespace Philosophy
197
- - **Calm and scannable**: JANDI uses generous whitespace and large bold headings so a whole company — not just designers — can scan the page instantly.
198
- - **Alternating bands**: White and `#fafafc` sections create gentle rhythm without color noise.
199
- - **Green as punctuation**: The only saturated color is the green; it appears as small eyebrows and CTAs, never as large fills, keeping the page airy.
199
+ ## 5. Iconography
200
200
 
201
- ### Border Radius Scale
202
- - Small (4px): Eyebrow labels
203
- - Control (6px): Buttons, inputs
204
- - Card (16px): Feature cards, illustration blocks
201
+ The capture has declared-only `icomoon` and `swiper-icons` font assets but no visible-use match, named icon catalogue, sizing rule, or product-icon evidence. No icon token is promoted.
205
202
 
206
- ## 6. Depth & Elevation
203
+ ## 6. Imagery & Illustration
207
204
 
208
- | Level | Treatment | Use |
209
- |-------|-----------|-----|
210
- | Flat (Level 0) | No shadow | Page background, bands, inline text |
211
- | Card (Level 1) | `rgba(0,0,0,0.08) 0px 2px 16px 3px` | Feature cards, floating panels |
205
+ The public marketing pages use product imagery and explanatory cards, but the supplied DOM/style evidence does not establish an image ratio, crop rule, overlay system, or reusable screenshot frame. Do not derive an illustration system from those visuals.
212
206
 
213
- **Shadow Philosophy**: JANDI's elevation system is intentionally singular. One soft, low-opacity, evenly-spread shadow (`rgba(0,0,0,0.08) 0px 2px 16px 3px`) lifts cards a few millimeters off the canvas — no multi-layer stacks, no colored shadows, no dramatic depth. The result reads as calm and trustworthy: a productivity tool that prioritizes clarity over spectacle. Separation between sections is achieved primarily through the alternating white / `#fafafc` bands rather than shadow, reserving the single shadow for genuine card surfaces.
207
+ ## 7. Motion
214
208
 
215
- ## 7. Do's and Don'ts
209
+ No duration, easing, transition, hover result, or other motion behavior was recorded. Motion is intentionally undocumented.
216
210
 
217
- ### Do
218
- - Use JANDI Green (`#00c473`) as the single accent — CTAs, eyebrows, hover states
219
- - Set all type in Noto Sans; weight 700 for headlines, 400 for body, 500 for buttons
220
- - Use pure black (`#000000`) headings on white (`#ffffff`) / soft-white (`#fafafc`)
221
- - Step supporting text down into grays (`#a2a2a2`, `#c2c2c2`) so green stays the accent
222
- - Use the green eyebrow label (13px / 700) above section headings for wayfinding
223
- - Use 16px radius on cards, 6px on buttons and inputs
224
- - Apply the one soft card shadow (`rgba(0,0,0,0.08) 0px 2px 16px 3px`) for elevation
225
- - Use white pill buttons (`#ffffff` bg, `#041911` text) on green / dark hero backgrounds
211
+ ## 8. Accessibility
226
212
 
227
- ### Don't
228
- - Don't introduce a second accent color green is the only saturated hue
229
- - Don't use corporate blue as a brand color that's exactly what JANDI rejects
230
- - Don't use light heading weights — JANDI headlines are bold (700), confident and friendly
231
- - Don't stack multi-layer or colored shadows — one soft gray shadow only
232
- - Don't use pill / fully-round buttons — controls stay at 6px radius
233
- - Don't let supporting text compete with headings — keep it gray and recessive
234
- - Don't mix multiple typefaces — Noto Sans carries the entire system
235
- - Don't fill large areas with green — keep it to CTAs, eyebrows, and small accents
236
-
237
- ## 8. Responsive Behavior
238
-
239
- ### Breakpoints
240
- | Name | Width | Key Changes |
241
- |------|-------|-------------|
242
- | Mobile | <640px | Single column, reduced heading sizes, stacked cards, hamburger nav |
243
- | Tablet | 640-1024px | 2-column card grids, moderate padding |
244
- | Desktop | 1024-1280px | Full layout, multi-column feature grids |
245
- | Large Desktop | >1280px | Centered content with generous margins |
246
-
247
- ### Touch Targets
248
- - Buttons use comfortable padding (7-12px vertical, 14-30px horizontal)
249
- - Nav links at 14px with adequate spacing
250
- - Green login CTA sized for thumb tapping
251
-
252
- ### Collapsing Strategy
253
- - Hero: 56px display compresses toward ~32-40px on mobile, weight 700 maintained
254
- - Navigation: horizontal links + green CTA collapse to hamburger toggle
255
- - Feature cards: multi-column to 2-column to single stacked
256
- - Soft-canvas bands maintain full-width treatment, reduce internal padding
257
- - Section spacing compresses on smaller viewports while preserving band rhythm
258
-
259
- ### Image Behavior
260
- - Tinted (`#eaf6fc`) illustration blocks maintain 16px radius across sizes
261
- - Card shadows persist at all viewport widths
262
- - Product screenshots scale within their card containers
263
-
264
- ## 9. Agent Prompt Guide
265
-
266
- ### Quick Color Reference
267
- - Primary CTA: JANDI Green (`#00c473`)
268
- - CTA text: White (`#ffffff`)
269
- - Background: White (`#ffffff`) / Soft (`#fafafc`)
270
- - Heading text: Black (`#000000`)
271
- - Body text: Gray (`#a2a2a2`)
272
- - Subhead text: Light Gray (`#c2c2c2`)
273
- - Tinted surface: Light Blue (`#eaf6fc`)
274
- - Dark button: Ink (`#333333`)
275
- - Hero pill text: Deepest Ink (`#041911`)
276
- - Footer: Footer Black (`#181818`)
277
-
278
- ### Example Component Prompts
279
- - "Create a hero on a green/dark imagery background. Headline at 56px Noto Sans weight 700, line-height 80px, white text. White pill CTA (#ffffff bg, #041911 text, 6px radius, 12px 30px padding, 15px weight 500) labeled '회원가입'."
280
- - "Design a feature card: white background, 16px radius, shadow rgba(0,0,0,0.08) 0px 2px 16px 3px. Green eyebrow label above (13px Noto Sans weight 700, #00c473). Title at 24px weight 700 black, body at 14px weight 400 #a2a2a2."
281
- - "Build a top nav: white sticky header, JANDI logo left, links in Noto Sans 14px weight 400 #000000 (green #00c473 on hover), green login button right (#00c473 bg, white text, 6px radius, 7px 14px padding)."
282
- - "Create a tinted feature block: #eaf6fc background, 16px radius, on a #fafafc soft-canvas band. Bold 42px weight 700 black section heading with a green eyebrow above."
283
-
284
- ### Iteration Guide
285
- 1. Green (`#00c473`) is the only accent — apply it sparingly to CTAs, eyebrows, hovers
286
- 2. Noto Sans weight 700 for headings, 400 for body, 500 for buttons — no other faces
287
- 3. Headings are pure black (`#000000`); supporting text is gray (`#a2a2a2` / `#c2c2c2`)
288
- 4. Cards: 16px radius + the single soft shadow; buttons / inputs: 6px radius
289
- 5. Alternate white and `#fafafc` bands for section rhythm; use `#eaf6fc` for tinted blocks
290
- 6. On green/dark hero, use white pill buttons with `#041911` text for contrast
291
- 7. Keep depth flat — one shadow only, no colored or stacked shadows
213
+ - The repeated primary public action pairs `#ffffff` text with `#00c473`; the white landing action pairs `#041911` with `#ffffff`.
214
+ - The collector did not record focus-visible, keyboard, disabled, form-error, or screen-reader behavior. An implementation should add an accessible focus indicator rather than infer one from static borders or radii.
215
+ - `Noto Sans` is backed by computed family, FontFaceSet, and JANDI-CDN source evidence. Declared-only icon fonts must not be substituted for it.
292
216
 
293
- ---
217
+ ## 9. Content & Voice
218
+
219
+ JANDI’s first-party company and product material frames the service as practical collaboration infrastructure: messages, projects, work visibility, and AI-assisted work support. The public voice is correspondingly concise, explanatory, and operational. That observation does not authorize invented authenticated-product microcopy.
294
220
 
295
221
  ## 10. Voice & Tone
296
222
 
297
- JANDI's voice is warm, practical, and reassuring the tone of a Korean SaaS that wants every team member, technical or not, to feel that work will go smoothly ("일이 술술 풀리는"). Copy is benefit-first and plain-spoken: it describes what the tool does for your team rather than boasting about technology. Korean is the primary language, friendly-formal (해요/합니다 register), with English product terms (AI, messenger, knowledge base) woven in naturally. CTAs are direct and low-pressure: "도입문의" (inquire about adoption), "회원가입" (sign up), "더 알아보기" (learn more).
223
+ **Voice adjectives:** practical · clear · collaboration-oriented
298
224
 
299
- | Context | Tone |
225
+ | Do | Don't |
300
226
  |---|---|
301
- | Hero headlines | Warm, benefit-led. "AI로 일이 술술 풀리는 협업툴 잔디." Confident, never hyped. |
302
- | Feature descriptions | Concrete capability + team benefit. Plain, scannable. |
303
- | CTAs | Direct, low-pressure imperatives. "도입문의", "회원가입", "더 알아보기". |
304
- | Customer stories | Trust-building, evidence-led. Real companies, real outcomes. |
305
- | Pricing / inquiry | Clear, helpful, B2B-appropriate. Invites contact, never pushy. |
306
-
307
- **Forbidden register.** Over-hyped superlatives, fear-based urgency, jargon-for-its-own-sake. JANDI sells calm productivity, not disruption.
227
+ | State the work problem before describing a capability. | Promise transformation without explaining the collaboration task. |
228
+ | Connect messaging, project work, and visibility in plain language. | Treat public marketing tone as a specification for every authenticated UI state. |
229
+ | Keep feature and inquiry language direct. | Infer urgency, error, or success copy that was not observed. |
308
230
 
309
231
  ## 11. Brand Narrative
310
232
 
311
- JANDI (잔디) is a business-collaboration messenger developed by **TossLab (토스랩)**, a Korean SaaS company. The name means "grass / lawn" in Korean — a deliberate metaphor for a workspace where teams grow together, captured in the fresh JANDI Green (`#00c473`) that defines the brand. Positioned as a 협업툴 (collaboration tool) for Korean and Asian businesses, JANDI combines team messaging, topic-based chat rooms, file sharing, and increasingly — AI features (the "Sprinkler" AI assistant, conversation summaries, knowledge base) to help whole organizations work more smoothly.
233
+ Toss Lab’s official company history dates the JANDI launch to 2015. The service is presented as a collaboration platform for business communication and, in its current direction, AI-assisted and project-based work.
312
234
 
313
- JANDI's design rejects the cold institutional blue of legacy enterprise software in favor of an approachable, growth-coded green and friendly bold typography. The brand's promise is right in the hero: "일이 술술 풀리는" — work that flows easily. Everything in the visual system serves that promise: calm whitespace, one decisive accent color, bold-but-warm Noto Sans headlines, and restrained flat depth that keeps the focus on getting work done.
235
+ In June 2026, Toss Lab announced JANDI Project 2.0, a project-management experience integrated with messaging and redesigned around visibility for both individual contributors and team managers. This reference keeps that product evolution separate from the measured public-marketing styles.
314
236
 
315
237
  ## 12. Principles
316
238
 
317
- 1. **One green, used sparingly.** JANDI Green (`#00c473`) is the entire accent system. Restraint makes it powerful it appears as CTAs and eyebrows, never as large fills.
318
- 2. **Bold-but-warm typography.** Weight-700 Noto Sans headlines are friendly and confident, not aggressive. Approachability is a feature.
319
- 3. **Calm over spectacle.** One soft shadow, flat bands, generous whitespace. A productivity tool earns trust by being clear, not flashy.
320
- 4. **Everyone is the user.** The whole company uses JANDI, so the design optimizes for instant scannability by non-designers large headings, plain copy, gray supporting text.
321
- 5. **Growth as metaphor.** The "lawn" name and green color encode the brand's belief that good tools help teams grow together.
239
+ 1. **Use green as the public action signal.** The capture supports `#00c473` on the repeated global public navigation action, not a universal product semantic system.
240
+ 2. **Let large Korean headlines carry marketing hierarchy.** The measured 56px, 42px, 40px, and 32px treatments belong to the captured public pages only.
241
+ 3. **Keep explanatory cards scoped to their feature surface.** The observed security and AI environment cards are static marketing cards, not generic product-card variants.
242
+ 4. **Keep evidence domains separate.** Marketing, documentation chrome, font licensing, corporate context, and the unobserved authenticated application have different evidentiary roles.
322
243
 
323
244
  ## 13. Personas
324
245
 
325
- *Personas below are fictional archetypes informed by publicly observable JANDI user segments (Korean SMB teams, operations leads, non-technical office staff), not individual people.*
326
-
327
- **Ji-woo Kang, 34, Seoul.** Operations manager at a 60-person Korean manufacturing company. Chose JANDI because the whole team — including older staff uncomfortable with foreign tools — could pick it up in a day. Values the Korean-language support and the calm, uncluttered interface.
246
+ First-party material describes the service in terms of teams and collaboration work, and the Project 2.0 release specifically distinguishes individual contributors from team managers. Those are the only stakeholder groups retained here:
328
247
 
329
- **Min-seok Park, 41, Busan.** Team lead at a mid-market logistics firm. Uses JANDI's topic-based chat rooms to keep projects organized and the AI summaries to catch up after meetings. Trusts the brand's evidence-led customer stories.
248
+ - **Individual contributors:** view their assigned work and weekly workload in the announced project experience.
249
+ - **Team managers:** use the announced dashboard to see project progress and member work status.
250
+ - **Teams:** use messaging and project work as connected collaboration contexts.
330
251
 
331
- **Hye-jin Lee, 29, Seongnam.** Marketing coordinator at a B2B SaaS startup. Appreciates that JANDI feels friendly and approachable rather than corporate, and that its green-accented design is pleasant to look at all day.
252
+ No named or demographic personas are invented.
332
253
 
333
254
  ## 14. States
334
255
 
335
- | State | Treatment |
336
- |---|---|
337
- | **Empty** | White canvas, single plain-Korean line in black (`#000000`) at 16px Noto Sans, one green (`#00c473`) CTA. Honest, calm, no clutter. |
338
- | **Loading** | Soft skeleton blocks in light gray at final dimensions; gentle shimmer. No spinner spectacle. |
339
- | **Error** | Inline message in plain Korean explaining what happened and the next step. Calm tone, no alarm. |
340
- | **Success** | Brief green (`#00c473`) confirmation, sentence-case past tense. No exclamation, no emoji. |
341
- | **Disabled** | Reduced opacity on surface and text together; green actions fade rather than switch to gray, preserving brand read. |
256
+ No empty, loading, error, success, disabled, focus, or validation states were captured. The component appearances in §4 are static public-page observations, not behavioral state specifications.
342
257
 
343
258
  ## 15. Motion & Easing
344
259
 
345
- **Durations**:
346
-
347
- | Token | Value | Use |
348
- |---|---|---|
349
- | `motion-fast` | 120ms | Hover, focus, button press |
350
- | `motion-standard` | 200ms | Dropdowns, card reveals, section transitions |
351
- | `motion-slow` | 320ms | Page-level transitions, hero reveals |
260
+ No motion token, easing curve, duration, or reduced-motion behavior was captured. Preserve this boundary rather than inventing a motion system.
352
261
 
353
- **Easings**:
262
+ ## 16. Do's and Don'ts
354
263
 
355
- | Token | Curve | Use |
356
- |---|---|---|
357
- | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
358
- | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving panels, dropdowns |
264
+ ### Do
359
265
 
360
- **Signature motions.**
266
+ - Use the loaded `Noto Sans` family only for the captured public-surface type reference.
267
+ - Scope `#00c473` to the observed repeated public action.
268
+ - Keep each documented card tied to its security or AI marketing surface and selector.
269
+ - Preserve selector and surface provenance when using the components in §4.
361
270
 
362
- 1. **Card hover lift.** Feature cards raise gently via the single soft shadow on hover using `motion-fast / ease-standard` — calm, never bouncy.
363
- 2. **Green CTA hover.** Login / inquiry buttons shift hue subtly on hover at `motion-fast`. No scale jump, no overshoot.
364
- 3. **Section reveal.** Feature bands fade up softly on scroll with `motion-standard / ease-enter`, matching the calm, trustworthy register.
365
- 4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, transitions collapse to instant. The product stays fully functional; calm clarity is the priority over delight.
271
+ ### Don't
366
272
 
367
- <!--
368
- OmD v0.1 Sources JANDI
273
+ - Present declared-only `icomoon` or `swiper-icons` as a JANDI UI text family.
274
+ - Generalize public-marketing measurements into an authenticated product-app system.
275
+ - Invent hover, pressed, focus, disabled, error, menu, dialog, or responsive variants.
276
+ - Reintroduce the legacy inferred pricing cards, input rules, or universal shadow system.
369
277
 
370
- Tier 1 live inspect (2026-06-09): https://www.jandi.com via playwright getComputedStyle (live DOM).
371
- Harvested: JANDI Green #00c473 (rgb 0,196,115) login CTA bg + eyebrow + border; #333333 dark
372
- secondary button; #041911 deepest ink on white hero pills; #000000 headings; #ffffff / #fafafc
373
- canvas; #eaf6fc tinted card; #a2a2a2 body gray; #c2c2c2 subhead gray; #181818 footer; Noto Sans
374
- 700 headlines (56px hero / 42px section / 24px sub) and 400 body; card shadow
375
- rgba(0,0,0,0.08) 0px 2px 16px 3px; 16px card radius / 6px control radius.
278
+ ---
376
279
 
377
- Brand context (잔디 / JANDI by TossLab — Korean business-collaboration messenger): publicly
378
- documented; TossLab is the developer (https://www.tosslab.com). Personas (§13) are fictional
379
- archetypes informed by publicly observable JANDI user segments, not real individuals.
380
- Interpretive claims (green-as-growth, calm-over-spectacle) are editorial readings connecting
381
- JANDI's stated positioning to its observed design system.
382
- -->
280
+ **Verified:** 2026-07-13
281
+ **Pipeline:** omd:add-reference UPDATE (supplied-evidence 3-tier reconcile)
282
+ **Catalog position:** KR · productivity · collaboration platform