oh-my-design-cli 1.8.7 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +1995 -38
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/alipay/DESIGN.md +179 -420
  71. package/web/references/apple/DESIGN.md +224 -498
  72. package/web/references/asleep/DESIGN.md +402 -0
  73. package/web/references/au/DESIGN.md +334 -0
  74. package/web/references/autopedia/DESIGN.md +382 -0
  75. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  76. package/web/references/baemin/DESIGN.md +332 -491
  77. package/web/references/banksalad/DESIGN.md +269 -180
  78. package/web/references/barogo/DESIGN.md +416 -0
  79. package/web/references/beusable/DESIGN.md +464 -0
  80. package/web/references/bilibili/DESIGN.md +206 -374
  81. package/web/references/bmw/DESIGN.md +162 -276
  82. package/web/references/brandi/DESIGN.md +184 -325
  83. package/web/references/catchtable/DESIGN.md +219 -264
  84. package/web/references/cgv/DESIGN.md +317 -0
  85. package/web/references/channeltalk/DESIGN.md +210 -336
  86. package/web/references/china-airlines/DESIGN.md +291 -0
  87. package/web/references/cjonstyle/DESIGN.md +453 -0
  88. package/web/references/class101/DESIGN.md +168 -387
  89. package/web/references/classum/DESIGN.md +228 -203
  90. package/web/references/claude/DESIGN.md +242 -479
  91. package/web/references/clay/DESIGN.md +179 -377
  92. package/web/references/clickhouse/DESIGN.md +254 -343
  93. package/web/references/cohere/DESIGN.md +214 -324
  94. package/web/references/coinone/DESIGN.md +199 -179
  95. package/web/references/corca/DESIGN.md +414 -0
  96. package/web/references/coupang/DESIGN.md +205 -475
  97. package/web/references/cursor/DESIGN.md +240 -381
  98. package/web/references/dabang/DESIGN.md +248 -213
  99. package/web/references/dable/DESIGN.md +431 -0
  100. package/web/references/datarize/DESIGN.md +217 -330
  101. package/web/references/dealicious/DESIGN.md +402 -0
  102. package/web/references/drdiary/DESIGN.md +404 -0
  103. package/web/references/elastic/DESIGN.md +238 -0
  104. package/web/references/elevenlabs/DESIGN.md +183 -321
  105. package/web/references/eslite/DESIGN.md +257 -0
  106. package/web/references/evaair/DESIGN.md +338 -0
  107. package/web/references/expo/DESIGN.md +238 -331
  108. package/web/references/familymart-tw/DESIGN.md +254 -0
  109. package/web/references/ferrari/DESIGN.md +160 -377
  110. package/web/references/figma/DESIGN.md +197 -451
  111. package/web/references/fitpet/DESIGN.md +445 -0
  112. package/web/references/flex/DESIGN.md +170 -253
  113. package/web/references/framer/DESIGN.md +197 -340
  114. package/web/references/freee/DESIGN.md +211 -533
  115. package/web/references/friendliai/DESIGN.md +431 -0
  116. package/web/references/frip/DESIGN.md +440 -0
  117. package/web/references/gangnamunni/DESIGN.md +154 -591
  118. package/web/references/gaudiolab/DESIGN.md +414 -0
  119. package/web/references/google/DESIGN.md +290 -398
  120. package/web/references/hashicorp/DESIGN.md +273 -318
  121. package/web/references/heydealer/DESIGN.md +429 -0
  122. package/web/references/humanscape/DESIGN.md +433 -0
  123. package/web/references/hyundai/DESIGN.md +158 -368
  124. package/web/references/hyundaicard/DESIGN.md +171 -121
  125. package/web/references/ibm/DESIGN.md +227 -378
  126. package/web/references/idus/DESIGN.md +450 -0
  127. package/web/references/igaworks/DESIGN.md +437 -0
  128. package/web/references/inflearn/DESIGN.md +221 -366
  129. package/web/references/intuit/DESIGN.md +244 -0
  130. package/web/references/jandi/DESIGN.md +191 -291
  131. package/web/references/jobplanet/DESIGN.md +415 -0
  132. package/web/references/kakao/DESIGN.md +287 -475
  133. package/web/references/kakaobank/DESIGN.md +220 -521
  134. package/web/references/kakaogames/DESIGN.md +220 -0
  135. package/web/references/kakaopay/DESIGN.md +207 -526
  136. package/web/references/karrot/DESIGN.md +227 -251
  137. package/web/references/kb-kookmin/DESIGN.md +308 -0
  138. package/web/references/kbank/DESIGN.md +220 -175
  139. package/web/references/kmong/DESIGN.md +281 -356
  140. package/web/references/krds/DESIGN.md +245 -19
  141. package/web/references/kream/DESIGN.md +224 -359
  142. package/web/references/kurly/DESIGN.md +211 -533
  143. package/web/references/lamborghini/DESIGN.md +198 -360
  144. package/web/references/lguplus/DESIGN.md +259 -0
  145. package/web/references/likelion/DESIGN.md +283 -0
  146. package/web/references/line/DESIGN.md +396 -355
  147. package/web/references/linear.app/DESIGN.md +209 -562
  148. package/web/references/lotteon/DESIGN.md +386 -0
  149. package/web/references/lovable/DESIGN.md +255 -349
  150. package/web/references/makinarocks/DESIGN.md +149 -349
  151. package/web/references/maum-ai/DESIGN.md +423 -0
  152. package/web/references/medibloc/DESIGN.md +425 -0
  153. package/web/references/megabox/DESIGN.md +232 -0
  154. package/web/references/mercari/DESIGN.md +217 -434
  155. package/web/references/microsoft/DESIGN.md +234 -388
  156. package/web/references/mildang/DESIGN.md +411 -0
  157. package/web/references/millie/DESIGN.md +183 -504
  158. package/web/references/minimax/DESIGN.md +264 -322
  159. package/web/references/miricanvas/DESIGN.md +182 -355
  160. package/web/references/miro/DESIGN.md +234 -232
  161. package/web/references/mistral.ai/DESIGN.md +231 -314
  162. package/web/references/mixi/DESIGN.md +234 -0
  163. package/web/references/moin/DESIGN.md +445 -0
  164. package/web/references/mongodb/DESIGN.md +219 -316
  165. package/web/references/musinsa/DESIGN.md +184 -510
  166. package/web/references/mynavi/DESIGN.md +242 -0
  167. package/web/references/myrealtrip/DESIGN.md +169 -406
  168. package/web/references/naver/DESIGN.md +328 -499
  169. package/web/references/naverwebtoon/DESIGN.md +172 -395
  170. package/web/references/nhn/DESIGN.md +169 -346
  171. package/web/references/nhncloud/DESIGN.md +185 -123
  172. package/web/references/notion/DESIGN.md +271 -475
  173. package/web/references/nrise/DESIGN.md +417 -0
  174. package/web/references/ohouse/DESIGN.md +210 -549
  175. package/web/references/oliveyoung/DESIGN.md +217 -326
  176. package/web/references/ollama/DESIGN.md +241 -308
  177. package/web/references/onestore/DESIGN.md +248 -0
  178. package/web/references/palantir/DESIGN.md +256 -0
  179. package/web/references/panasonic/DESIGN.md +276 -0
  180. package/web/references/patternfly/DESIGN.md +259 -0
  181. package/web/references/payhere/DESIGN.md +438 -0
  182. package/web/references/pega/DESIGN.md +262 -0
  183. package/web/references/peoplefund/DESIGN.md +431 -0
  184. package/web/references/petfriends/DESIGN.md +428 -0
  185. package/web/references/pinkfong/DESIGN.md +199 -367
  186. package/web/references/pinterest/DESIGN.md +258 -308
  187. package/web/references/poya/DESIGN.md +286 -0
  188. package/web/references/pozalabs/DESIGN.md +438 -0
  189. package/web/references/protopie/DESIGN.md +419 -0
  190. package/web/references/qraft/DESIGN.md +448 -0
  191. package/web/references/quotabook/DESIGN.md +449 -0
  192. package/web/references/recruit/DESIGN.md +247 -0
  193. package/web/references/remember/DESIGN.md +202 -396
  194. package/web/references/resend/DESIGN.md +274 -348
  195. package/web/references/sakura-internet/DESIGN.md +269 -0
  196. package/web/references/samsung/DESIGN.md +157 -359
  197. package/web/references/sandoll/DESIGN.md +445 -0
  198. package/web/references/sanity/DESIGN.md +241 -375
  199. package/web/references/scatterlab/DESIGN.md +412 -0
  200. package/web/references/selectstar/DESIGN.md +439 -0
  201. package/web/references/servicenow/DESIGN.md +289 -0
  202. package/web/references/shinhanbank/DESIGN.md +161 -341
  203. package/web/references/shinhancard/DESIGN.md +208 -319
  204. package/web/references/sionic/DESIGN.md +454 -0
  205. package/web/references/sktelecom/DESIGN.md +310 -0
  206. package/web/references/socar/DESIGN.md +125 -32
  207. package/web/references/softbank/DESIGN.md +231 -0
  208. package/web/references/sony/DESIGN.md +234 -0
  209. package/web/references/soop/DESIGN.md +261 -0
  210. package/web/references/spacex/DESIGN.md +184 -323
  211. package/web/references/spotify/DESIGN.md +253 -394
  212. package/web/references/squeezebits/DESIGN.md +441 -0
  213. package/web/references/stayfolio/DESIGN.md +422 -0
  214. package/web/references/stripe/DESIGN.md +212 -491
  215. package/web/references/supabase/DESIGN.md +244 -316
  216. package/web/references/tabling/DESIGN.md +415 -0
  217. package/web/references/taishinbank/DESIGN.md +243 -0
  218. package/web/references/teamlab/DESIGN.md +240 -0
  219. package/web/references/teamsparta/DESIGN.md +472 -0
  220. package/web/references/tellingme/DESIGN.md +392 -0
  221. package/web/references/tesla/DESIGN.md +244 -427
  222. package/web/references/thsr/DESIGN.md +284 -0
  223. package/web/references/thumbtack/DESIGN.md +302 -0
  224. package/web/references/together.ai/DESIGN.md +257 -304
  225. package/web/references/toss/DESIGN.md +251 -593
  226. package/web/references/toss-securities/DESIGN.md +255 -178
  227. package/web/references/tossbank/DESIGN.md +195 -491
  228. package/web/references/toyota/DESIGN.md +238 -0
  229. package/web/references/tving/DESIGN.md +197 -245
  230. package/web/references/typed/DESIGN.md +413 -0
  231. package/web/references/uber/DESIGN.md +256 -333
  232. package/web/references/udn/DESIGN.md +250 -0
  233. package/web/references/upbit/DESIGN.md +145 -256
  234. package/web/references/upstage/DESIGN.md +211 -204
  235. package/web/references/uswds/DESIGN.md +287 -0
  236. package/web/references/vercel/DESIGN.md +236 -440
  237. package/web/references/wanted/DESIGN.md +215 -487
  238. package/web/references/wise/DESIGN.md +223 -231
  239. package/web/references/wisetracker/DESIGN.md +462 -0
  240. package/web/references/wooribank/DESIGN.md +245 -0
  241. package/web/references/yanolja/DESIGN.md +250 -419
  242. package/web/references/yeogiotte/DESIGN.md +235 -418
  243. package/web/references/zapier/DESIGN.md +256 -377
  244. package/web/references/zendesk/DESIGN.md +288 -0
  245. package/web/references/zigzag/DESIGN.md +200 -621
  246. package/dist/install-skills-7UUDOLG2.js +0 -734
  247. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -0,0 +1,445 @@
1
+ ---
2
+ id: fitpet
3
+ name: Fitpet
4
+ display_name_kr: 핏펫
5
+ country: KR
6
+ category: healthcare
7
+ homepage: "https://fitpet.co.kr/"
8
+ primary_color: "#0050ff"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://www.google.com/s2/favicons?domain=fitpet.co.kr&sz=128"
12
+ verified: "2026-07-02"
13
+ added: "2026-07-02"
14
+ omd: "0.1"
15
+ tokens:
16
+ source: live-extract
17
+ extracted: "2026-07-02"
18
+ note: "primary = brand blue #0050ff (logo dominant + mall primary button); #1482ff is the lighter corporate marketing accent; #0035a8 a deep navy for emphasis. Sale accent #ff5967, rating/points yellow #ffd633. Near-flat depth (box-shadow none). Corporate site = Noto Sans KR + Poppins latin; mall = Pretendard."
19
+ colors:
20
+ primary: "#0050ff"
21
+ primary-deep: "#0035a8"
22
+ brand-blue-lt: "#1482ff"
23
+ accent-orange: "#ff9300"
24
+ sale: "#ff5967"
25
+ points: "#ffd633"
26
+ ink: "#1b1e21"
27
+ ink-corp: "#282828"
28
+ body: "#42494f"
29
+ muted: "#727a82"
30
+ muted-alt: "#8c949c"
31
+ faint: "#a7aeb5"
32
+ canvas: "#ffffff"
33
+ surface: "#f4f7fa"
34
+ promo-tint: "#edf4ff"
35
+ hairline: "#eef1f5"
36
+ border: "#dfe3e8"
37
+ border-strong: "#c2c8cf"
38
+ on-dark: "#eeeeee"
39
+ ink-pure: "#000000"
40
+ typography:
41
+ family: { display: "Poppins", kr: "Noto Sans KR", product: "Pretendard" }
42
+ stat-hero: { size: 85, weight: 600, use: "Big number stat on corporate hero (16만+), Noto Sans KR" }
43
+ display: { size: 40, weight: 600, lineHeight: 1.2, use: "Corporate hero headline, Noto Sans KR" }
44
+ section: { size: 24, weight: 700, use: "Mall section title (오늘의 핫딜), Pretendard" }
45
+ subsection: { size: 19, weight: 700, use: "Mall page / group title (홈), Pretendard" }
46
+ product: { size: 17, weight: 400, lineHeight: 1.4, use: "Product-card title, Pretendard" }
47
+ body: { size: 16, weight: 400, lineHeight: 1.5, use: "Body copy, search field text" }
48
+ nav: { size: 13, weight: 700, use: "Corporate nav link, Poppins" }
49
+ caption: { size: 12, weight: 400, use: "Badges, metadata, fine print, Pretendard" }
50
+ spacing: { xs: 4, sm: 8, base: 15, md: 16, lg: 24, chip: 30, xl: 39, xxl: 50 }
51
+ rounded: { sm: 5, md: 10, chip: 30, pill: 999, full: 9999 }
52
+ shadow:
53
+ none: "none"
54
+ hairline: "rgba(0, 0, 0, 0.03) 0px 0px 0px 1px"
55
+ components:
56
+ button-primary: { type: button, bg: "#0050ff", fg: "#ffffff", radius: "28px", padding: "7px 17px", height: "48px", font: "13px / 400 Pretendard", use: "Primary / recommend action button on the mall" }
57
+ button-ghost: { type: button, fg: "#ffffff", border: "2px solid #ffffff", radius: "30px", padding: "10px 50px", height: "42px", font: "12px / 600 Poppins", use: "Ghost pill CTA over corporate hero imagery (일반채용)" }
58
+ search-input: { type: input, bg: "#f4f7fa", fg: "#000000", radius: "10px", padding: "1px 50px", height: "50px", font: "16px Pretendard", use: "Filled borderless search field, placeholder #a7aeb5" }
59
+ filter-chip: { type: badge, fg: "#42494f", border: "1px solid #c2c8cf", radius: "999px", padding: "0 14px", height: "43px", font: "13px / 400 Pretendard", use: "Category / filter chip on the mall" }
60
+ discount-badge: { type: badge, bg: "#ff5967", fg: "#ffffff", radius: "5px", padding: "5px", font: "12px / 700 Pretendard", use: "Discount-percentage badge on product cards" }
61
+ product-card: { type: card, bg: "#ffffff", border: "1px solid #eef1f5", radius: "10px", use: "Product card on grey #f4f7fa surface, hairline separation, near-flat" }
62
+ promo-strip: { type: card, bg: "#edf4ff", fg: "#42494f", radius: "10px", use: "First-purchase / coupon promo strip" }
63
+ nav-link: { type: tab, fg: "#000000", font: "13px / 700 Poppins", active: "text #1482ff", use: "Corporate top-nav item (회사 소개, 팀 문화)" }
64
+ components_harvested: true
65
+ ---
66
+
67
+ # Design System Inspiration of Fitpet
68
+
69
+ ## 1. Visual Theme & Atmosphere
70
+
71
+ Fitpet (핏펫) is Korea's pet-healthcare and pet-commerce brand — an at-home health-check kit, a curated product mall, and an animal-hospital booking flow, all under one confident blue. The system spans two surfaces with one identity: a clean, editorial corporate flagship (`fitpet.co.kr`) that reads like a modern healthcare brand, and a dense, warm commerce mall (`fitpetmall.com`) built for browsing food, treats, and supplies. The connective tissue is a single saturated brand blue — `#0050ff` — which is literally the dominant color of the logo and the fill of the mall's primary action button. Text sits in a near-black `#1b1e21` on the mall (never pure black for product copy) and pure `#000000` on the corporate site, both on a bright `#ffffff` canvas softened by a pervasive cool-grey surface tint (`#f4f7fa`).
72
+
73
+ The typographic personality is split by job. The corporate flagship pairs **Noto Sans KR** for hangul headlines — 40px at weight 600 for hero lines like "반려동물의 건강을 집에서 1분만에 확인" ("Check your pet's health at home in one minute"), scaling up to an 85px weight-600 stat ("16만+") — with **Poppins** for the latin nav labels at a tight 13px / 700. The commerce mall switches to **Pretendard**, the de-facto Korean product font, running section titles at 24px / 700 ("오늘의 핫딜"), page titles at 19px / 700, and product-card titles at a quiet 17px / 400 in slate `#42494f`. Heavy where it persuades, calm where it lists.
74
+
75
+ What distinguishes Fitpet from heavier commerce peers is its near-flat depth. Live inspection found `box-shadow: none` almost everywhere; separation is carried by the `#f4f7fa` tint, hairline borders (`rgba(0, 0, 0, 0.03)`, `#eef1f5`, `#dfe3e8`), and rounded geometry rather than elevation. Corners cluster at ~10px for cards and inputs, and everything interactive leans into the pill — the primary button at ~28px radius, filter chips at a full 999px. Accents are used sparingly and semantically: a coral-red `#ff5967` for discount percentages, a rating yellow `#ffd633` for stars and points, a light-blue `#edf4ff` for coupon strips, and a lighter marketing blue `#1482ff` plus a deep navy `#0035a8` as secondary brand tones. The logo also carries a warm orange `#ff9300` paw accent.
76
+
77
+ **Key Characteristics:**
78
+ - Single saturated brand blue (`#0050ff`) — logo dominant and the mall's primary-action fill
79
+ - Lighter marketing blue (`#1482ff`) and deep navy (`#0035a8`) as secondary brand tones
80
+ - Pervasive cool-grey surface tint (`#f4f7fa`) doing the segmentation work instead of shadows
81
+ - Near-flat depth: `box-shadow: none`; separation via `rgba(0, 0, 0, 0.03)` / `#eef1f5` / `#dfe3e8` hairlines
82
+ - Pill-forward geometry — ~28px primary button, 999px filter chips, ~10px cards and inputs
83
+ - Two-font split: Noto Sans KR + Poppins on the corporate flagship, Pretendard on the mall
84
+ - Semantic accents only: coral `#ff5967` for discounts, yellow `#ffd633` for ratings/points, `#edf4ff` for coupon strips
85
+ - Near-black `#1b1e21` (mall) and pure `#000000` (corporate) heading text on a bright `#ffffff` canvas
86
+
87
+ ## 2. Color Palette & Roles
88
+
89
+ ### Primary
90
+ - **Fitpet Blue** (`#0050ff`): The brand's signature saturated blue. It is the dominant color of the logo and the background fill of the mall's primary action button — the system's single "do this" color.
91
+ - **Deep Navy** (`#0035a8`): A darker brand navy used for emphasis text and dense-blue surfaces on the mall.
92
+ - **Marketing Blue** (`#1482ff`): A lighter, brighter blue used as the accent on the corporate flagship (links, active nav, highlight blocks).
93
+
94
+ ### Accent
95
+ - **Paw Orange** (`#ff9300`): The warm secondary in the logo mark — a friendly counterweight to the blue.
96
+ - **Sale Coral** (`#ff5967`): Reserved for discount-percentage badges on product cards.
97
+ - **Rating Yellow** (`#ffd633`): Star ratings, points, and reward highlights on the mall.
98
+
99
+ ### Text Hierarchy
100
+ - **Ink** (`#1b1e21`): Primary near-black for mall headings and titles — warmer than pure black.
101
+ - **Corporate Ink** (`#282828`): Near-black used on the corporate flagship's dark bands and blocks.
102
+ - **Body Slate** (`#42494f`): Standard body and product-title text on the mall.
103
+ - **Muted Slate** (`#727a82`): Secondary text, captions, metadata.
104
+ - **Muted Alt** (`#8c949c`): Alternate muted slate for supporting labels.
105
+ - **Faint Grey** (`#a7aeb5`): Lowest-emphasis text — placeholders, disabled labels.
106
+ - **Pure Black** (`#000000`): Corporate flagship body and nav text.
107
+ - **On-Dark** (`#eeeeee`): Light text on the corporate dark bands.
108
+
109
+ ### Neutral & Surface
110
+ - **Pure White** (`#ffffff`): Page background, card surfaces, text on blue/dark.
111
+ - **Surface Grey** (`#f4f7fa`): The dominant cool-grey tint — segments sections, fills the search field, backs product areas.
112
+ - **Promo Tint** (`#edf4ff`): Light-blue background for coupon and first-purchase promo strips.
113
+ - **Hairline** (`#eef1f5`): Thin borders and dividers on white cards.
114
+ - **Border** (`#dfe3e8`): Standard border for containers and chip outlines.
115
+ - **Border Strong** (`#c2c8cf`): Higher-contrast outline for filter chips and toggled controls.
116
+
117
+ ## 3. Typography Rules
118
+
119
+ ### Font Family
120
+ - **Corporate display / hangul**: `Noto Sans KR` — hero headlines and stats on `fitpet.co.kr`, at weight 600.
121
+ - **Corporate latin / nav**: `Poppins` — latin nav labels and the logotype, at weight 700.
122
+ - **Mall / product**: `Pretendard` (with system fallbacks) — every headline, title, and body string on `fitpetmall.com`.
123
+
124
+ ### Hierarchy
125
+
126
+ | Role | Font | Size | Weight | Notes |
127
+ |------|------|------|--------|-------|
128
+ | Stat Hero | Noto Sans KR | 85px | 600 | Big number on corporate hero ("16만+") |
129
+ | Display | Noto Sans KR | 40px | 600 | Corporate hero headline |
130
+ | Section | Pretendard | 24px | 700 | Mall section title ("오늘의 핫딜") |
131
+ | Sub-section | Pretendard | 19px | 700 | Mall page / group title ("홈") |
132
+ | Product Title | Pretendard | 17px | 400 | Product-card title, slate `#42494f` |
133
+ | Body | Pretendard | 16px | 400 | Body copy, search field text |
134
+ | Nav | Poppins | 13px | 700 | Corporate nav link |
135
+ | Caption | Pretendard | 12px | 400 | Badges, metadata, fine print |
136
+
137
+ ### Principles
138
+ - **Two fonts, two surfaces**: Noto Sans KR + Poppins carry the corporate brand story; Pretendard carries the commerce product. They never mix on the same surface.
139
+ - **Weight as the persuade/inform switch**: headlines and section titles sit at 600–700; product titles and body drop to 400. The weight jump is the primary hierarchy signal.
140
+ - **Big, confident hero numbers**: the 85px weight-600 stat is the corporate site's boldest typographic move — scale communicates trust ("16만+" pets checked).
141
+ - **Hangul-first body sizing**: mall body sits at a legible 16px in the search field and 17px for product titles, dense enough for information-rich commerce.
142
+
143
+ ## 4. Component Stylings
144
+
145
+ ### Buttons
146
+
147
+ **Primary Action**
148
+ - Background: `#0050ff`
149
+ - Text: `#ffffff`
150
+ - Radius: 28px
151
+ - Padding: 7px 17px
152
+ - Height: 48px
153
+ - Font: 13px Pretendard weight 400
154
+ - Use: Primary / recommend action button on the mall ("추천") — the single high-emphasis action
155
+
156
+ **Ghost Pill (over imagery)**
157
+ - Text: `#ffffff`
158
+ - Border: 2px solid `#ffffff`
159
+ - Radius: 30px
160
+ - Padding: 10px 50px
161
+ - Height: 42px
162
+ - Font: 12px Poppins weight 600
163
+ - Use: Outline CTA over corporate hero imagery ("일반채용")
164
+
165
+ ### Inputs & Forms
166
+
167
+ **Search Field**
168
+ - Background: `#f4f7fa`
169
+ - Text: `#000000`
170
+ - Radius: 10px
171
+ - Padding: 1px 50px
172
+ - Height: 50px
173
+ - Font: 16px Pretendard
174
+ - Placeholder: `#a7aeb5` ("검색어를 입력해 주세요.")
175
+ - Use: Filled, borderless search field on the mall
176
+
177
+ ### Cards & Containers
178
+
179
+ **Product Card**
180
+ - Background: `#ffffff`
181
+ - Border: 1px solid `#eef1f5`
182
+ - Radius: 10px
183
+ - Shadow: none
184
+ - Use: Product card on the grey `#f4f7fa` surface — hairline separation, no elevation
185
+
186
+ **Promo Strip**
187
+ - Background: `#edf4ff`
188
+ - Text: `#42494f`
189
+ - Radius: 10px
190
+ - Use: First-purchase / coupon promo strip ("첫 구매 시 인기상품 한정 특가!")
191
+
192
+ ### Badges
193
+
194
+ **Discount Badge**
195
+ - Background: `#ff5967`
196
+ - Text: `#ffffff`
197
+ - Radius: 5px
198
+ - Padding: 5px
199
+ - Font: 12px Pretendard weight 700
200
+ - Use: Discount-percentage badge on product cards ("55%")
201
+
202
+ **Filter Chip**
203
+ - Text: `#42494f`
204
+ - Border: 1px solid `#c2c8cf`
205
+ - Radius: 999px
206
+ - Padding: 0 14px
207
+ - Height: 43px
208
+ - Font: 13px Pretendard weight 400
209
+ - Use: Category / filter chip on the mall ("펫루키")
210
+
211
+ ### Navigation
212
+ - Text: `#000000`
213
+ - Font: 13px Poppins weight 700
214
+ - Padding: 39px 15px
215
+ - Active: violet-blue `#1482ff` text on active item
216
+ - Use: Corporate top-nav ("회사 소개", "팀 문화", "개발 채용", "TECH BLOG", "FAQ")
217
+
218
+ ---
219
+
220
+ **Verified:** 2026-07-02 (omd:add-reference CREATE — Tier 1 live inspect, two surfaces)
221
+ **Tier 1 sources:** https://fitpet.co.kr/ | https://www.fitpetmall.com/ | https://fitpet.medium.com/
222
+ **Tier 2 sources:** getdesign.md/fitpet (0 DESIGN.md files — no entry); styles.refero.design/?q=fitpet (not listed — generic results only)
223
+ **Conflicts unresolved:** none
224
+
225
+ ## 5. Layout Principles
226
+
227
+ ### Spacing System
228
+ - Base rhythm: 4 / 8 / 15 / 16 / 24 / 39 px (measured paddings)
229
+ - Notable: corporate nav uses a tall 39px vertical padding for a spacious 100px header; ghost CTA runs 10px 50px for a wide tap target
230
+ - Mall chips and buttons use tighter 7–14px horizontal padding for dense browsing
231
+
232
+ ### Grid & Container
233
+ - **Corporate flagship**: centered single-column hero anchored by the 40px headline and the 85px stat, alternating white and dark (`#282828`) editorial bands
234
+ - **Mall**: grid of product cards on a `#f4f7fa` surface, horizontally-scrolling category/filter chip rows, coupon strips in `#edf4ff`
235
+ - Cards group related products at a consistent 10px radius
236
+
237
+ ### Whitespace Philosophy
238
+ - **Flat segmentation**: sections separate by background tint (`#f4f7fa` vs `#ffffff`) and hairlines, not by shadow
239
+ - **Editorial calm on brand, dense grid on commerce**: the corporate site breathes; the mall packs product cards efficiently while keeping generous chip spacing
240
+ - **Pill rhythm**: repeated 999px chips and ~28–30px buttons create a soft, consistent horizontal cadence
241
+
242
+ ### Border Radius Scale
243
+ - Small (5px): discount badges, fine-grained tags
244
+ - Medium (10px): cards, inputs, promo strips — the workhorse
245
+ - Chip (28–30px): primary buttons, ghost CTAs
246
+ - Full (999px): filter chips, fully-rounded pills
247
+
248
+ ## 6. Depth & Elevation
249
+
250
+ | Level | Treatment | Use |
251
+ |-------|-----------|-----|
252
+ | Flat (Level 0) | No shadow | Page background, most surfaces |
253
+ | Tint (Level 1) | `#f4f7fa` background shift | Card / section separation without elevation |
254
+ | Hairline (Level 2) | `rgba(0, 0, 0, 0.03)` / `#eef1f5` / `#dfe3e8` border | White card outlines, dividers |
255
+
256
+ **Shadow Philosophy**: Fitpet is a near-shadowless system. Live inspection found `box-shadow: none` across the corporate hero, nav, and the mall's cards, chips, and buttons; the only depth cue is a whisper-thin `rgba(0, 0, 0, 0.03)` border repeated across product cards. Grouping is communicated entirely through the flat `#f4f7fa` tint and thin `#eef1f5` / `#dfe3e8` hairlines. This keeps a data-dense commerce grid feeling fast, mobile-native, and calm rather than heavy. When emphasis is needed the system reaches for color — the blue `#0050ff`, the coral `#ff5967`, the yellow `#ffd633` — never elevation.
257
+
258
+ ## 7. Do's and Don'ts
259
+
260
+ ### Do
261
+ - Reserve the brand blue (`#0050ff`) for the single primary action — keep it the one "do this" color
262
+ - Use the `#f4f7fa` surface tint and `#eef1f5` / `#dfe3e8` hairlines to separate sections, not shadows
263
+ - Keep card and input corners at ~10px and interactive pills at 28px–999px
264
+ - Use near-black `#1b1e21` for mall headings and slate `#42494f` for product titles instead of pure black
265
+ - Use Pretendard on commerce surfaces and Noto Sans KR + Poppins on the corporate brand site
266
+ - Use the coral `#ff5967` only for discount percentages and the yellow `#ffd633` only for ratings/points
267
+ - Back coupon and first-purchase strips with the light `#edf4ff` tint
268
+ - Let big weight-600 numbers (the 85px stat) carry trust on the corporate hero
269
+
270
+ ### Don't
271
+ - Spread the brand blue across many elements — it dilutes the single-action signal
272
+ - Add drop shadows for elevation — Fitpet is a flat, hairline-and-tint system
273
+ - Mix a third accent color into the palette — blue is the brand, coral and yellow are strictly semantic
274
+ - Use sharp square corners on interactive controls — everything is rounded or a pill
275
+ - Set mall body or product titles in pure `#000000` — use `#1b1e21` / `#42494f`
276
+ - Swap the two font systems across surfaces — Pretendard is the mall, Noto Sans KR / Poppins is corporate
277
+ - Use the sale coral or rating yellow as decorative fills unrelated to price or rating
278
+ - Crowd the corporate hero — it relies on editorial whitespace and one bold stat
279
+
280
+ ## 8. Responsive Behavior
281
+
282
+ ### Breakpoints
283
+ | Name | Width | Key Changes |
284
+ |------|-------|-------------|
285
+ | Mobile | <640px | Single column; corporate hero compresses; mall chip rows scroll horizontally |
286
+ | Tablet | 640-1024px | 2-up product cards; moderate padding |
287
+ | Desktop | 1024-1440px | Full grid, centered corporate hero, multi-column mall bands |
288
+
289
+ ### Touch Targets
290
+ - Primary button at 48px height, filter chips at 43px — comfortably tappable
291
+ - Search field at 50px height, full-width on mobile
292
+ - Corporate nav links inside a tall 100px header (39px vertical padding)
293
+
294
+ ### Collapsing Strategy
295
+ - Corporate hero: 40px headline and 85px stat scale down on mobile, weight 600 maintained
296
+ - Mall category / filter chips: horizontal scroll on narrow viewports
297
+ - Product grid: multi-column collapses to 2-up then single column
298
+ - Tinted (`#f4f7fa`) and white bands maintain full-width treatment
299
+
300
+ ### Image Behavior
301
+ - Product imagery and illustrations carry no shadow at any size, consistent with the flat system
302
+ - Cards maintain the 10px radius across breakpoints
303
+
304
+ ## 9. Agent Prompt Guide
305
+
306
+ ### Quick Color Reference
307
+ - Primary action: Fitpet Blue (`#0050ff`)
308
+ - Deep navy emphasis: (`#0035a8`)
309
+ - Corporate accent: Marketing Blue (`#1482ff`)
310
+ - Sale badge: Coral (`#ff5967`)
311
+ - Ratings / points: Yellow (`#ffd633`)
312
+ - Heading (mall): Ink (`#1b1e21`)
313
+ - Body / product title: Slate (`#42494f`)
314
+ - Muted text: (`#727a82`), (`#8c949c`), (`#a7aeb5`)
315
+ - Background: White (`#ffffff`)
316
+ - Surface tint: (`#f4f7fa`)
317
+ - Promo tint: (`#edf4ff`)
318
+ - Hairlines: (`#eef1f5`), (`#dfe3e8`), (`#c2c8cf`)
319
+
320
+ ### Example Component Prompts
321
+ - "Create a mall product card: white `#ffffff` background, 1px solid `#eef1f5` border, 10px radius, no shadow, on a `#f4f7fa` surface. Title 17px Pretendard weight 400, `#42494f`. Discount badge top-left: `#ff5967` background, white text, 5px radius, 12px weight 700."
322
+ - "Build a primary action button: `#0050ff` background, white text, 28px radius, 7px 17px padding, 48px height, 13px Pretendard."
323
+ - "Design a search field: `#f4f7fa` background, no border, 10px radius, 50px height, 16px Pretendard, placeholder `#a7aeb5`."
324
+ - "Create a filter chip row: transparent background, 1px solid `#c2c8cf` border, 999px radius, 0 14px padding, 43px height, 13px Pretendard, `#42494f` text."
325
+ - "Design a corporate hero: white canvas, Noto Sans KR headline 40px weight 600 `#000000`, an 85px weight-600 stat, a ghost pill CTA (transparent, 2px solid `#ffffff`, 30px radius) over imagery. Nav links 13px Poppins weight 700, `#1482ff` on active."
326
+
327
+ ### Iteration Guide
328
+ 1. Blue (`#0050ff`) is the single action color — don't spread it
329
+ 2. No shadows — separate with `#f4f7fa` tint and `#eef1f5` / `#dfe3e8` hairlines
330
+ 3. ~10px radius for cards/inputs; 28–999px pills for buttons/chips
331
+ 4. Mall text is `#1b1e21` / `#42494f`, never pure black; corporate text is `#000000`
332
+ 5. Coral `#ff5967` = discount only; yellow `#ffd633` = rating/points only
333
+ 6. Pretendard on the mall; Noto Sans KR + Poppins on the corporate site
334
+
335
+ ---
336
+
337
+ ## 10. Voice & Tone
338
+
339
+ Fitpet's voice is **warm, reassuring, and health-first** — it treats companion animals as family and the owner as a caretaker who deserves clarity, not upsell. The corporate flagship speaks in plain, benefit-led Korean ("반려동물의 건강을 집에서 1분만에 확인" — "Check your pet's health at home in one minute"), while the mall is practical and friendly, labeling deals and categories in everyday language. The through-line is trust: health claims are concrete, and commerce copy stays low-pressure even during sales.
340
+
341
+ | Context | Tone |
342
+ |---|---|
343
+ | Corporate hero | Benefit-led, mission-framed. "반려동물의 건강을 집에서 1분만에 확인." Calm confidence, not hype. |
344
+ | Trust / scale proof | Concrete numbers. "16만+" as a plain stat rather than a superlative. |
345
+ | Mall section titles | Practical, energetic. "오늘의 핫딜 🔥", "인기상품 한정 특가!" |
346
+ | Category / filter labels | Everyday plain Korean. "사료", "간식", "용품", "건강". |
347
+ | CTAs | Direct, low-pressure. "추천", "핏펫이 궁금해요". |
348
+ | Care / hospital copy | Reassuring, service-framed. "좋은 병원 찾고 진료 예약까지". |
349
+
350
+ **Voice samples (verbatim from live surfaces):**
351
+ - "반려동물의 건강을 집에서 1분만에 확인" — corporate hero (health-first promise). *(verified live 2026-07-02)*
352
+ - "건강한 반려생활의 시작 - 핏펫" — mall page title / positioning line. *(verified live 2026-07-02)*
353
+ - "좋은 병원 찾는 것도 핏펫에선 쉽게 병원 찾고 진료 예약까지" — corporate section (end-to-end care). *(verified live 2026-07-02)*
354
+
355
+ **Forbidden register**: fear-based pet-health scare copy, aggressive sales urgency beyond clearly-labeled deals, undefined veterinary jargon left unexplained, exclamation-heavy hype outside the deal context.
356
+
357
+ ## 11. Brand Narrative
358
+
359
+ Fitpet (핏펫) is a Korean pet-healthcare and pet-commerce company founded in **2017**, built around a simple premise: that caring for a companion animal's health should be as easy as checking your own. Its best-known product is an at-home health-check experience — the homepage's central promise is "반려동물의 건강을 집에서 1분만에 확인" ("check your pet's health at home in one minute") — which lowered the barrier between noticing something and knowing something about a pet's wellbeing. *(2017 founding is widely-documented public knowledge; the mission framing here is quoted from the live homepage.)*
360
+
361
+ From that health-check root the brand grew outward into a full "건강한 반려생활" ("healthy companion life") platform: **Fitpet Mall** (`fitpetmall.com`) curates food, treats, and supplies chosen against health criteria ("엄격한 기준으로 고른 제품"), and a hospital-finding and booking flow closes the loop ("좋은 병원 찾고 진료 예약까지"). The "16만+" stat on the corporate hero is the trust anchor — scale as evidence that the health-first approach works.
362
+
363
+ What Fitpet's design refuses is the heavy, anxious chrome of both legacy commerce (shadow-stacked cards, banner clutter) and clinical healthcare (cold institutional palettes). What it embraces is a single friendly blue, a near-flat surface system, rounded pill geometry, and plain, warm Korean copy — signalling a brand that wants pet health to feel approachable, not intimidating.
364
+
365
+ ## 12. Principles
366
+
367
+ 1. **Health first, commerce second.** Products exist to serve the pet's wellbeing, not the other way around. *UI implication:* lead with health benefit and curation criteria; keep sale urgency scoped to clearly-labeled deal modules.
368
+ 2. **One action, one blue.** `#0050ff` means "do this." *UI implication:* reserve the saturated brand blue for the single primary action so the next step is never ambiguous.
369
+ 3. **Flat and fast.** Mobile-native clarity beats decorative depth. *UI implication:* no shadows; separate with the `#f4f7fa` tint and hairlines; keep the grid quick to scan.
370
+ 4. **Approachable, not clinical.** Pet health should feel warm. *UI implication:* rounded pills, friendly Pretendard type, and plain Korean labels instead of cold veterinary framing.
371
+ 5. **Trust through concreteness.** *UI implication:* prefer real numbers (the 85px "16만+" stat) and specific claims over adjectives; make discounts and ratings literal with the coral `#ff5967` and yellow `#ffd633`.
372
+
373
+ ## 13. Personas
374
+
375
+ *Personas below are fictional archetypes informed by publicly observable Fitpet user segments (Korean pet owners managing health and shopping for supplies), not individual people.*
376
+
377
+ **김하늘, 31, 서울.** A first-time dog owner who worries about spotting health issues early. Uses Fitpet's at-home check because a one-minute test at home is less stressful than an immediate vet visit. Trusts the brand because the copy explains rather than alarms.
378
+
379
+ **이준호, 38, 경기.** A busy cat owner who buys food and litter monthly on Fitpet Mall. Values the curated "엄격한 기준으로 고른 제품" framing and the clearly-labeled hot deals; scans the flat product grid quickly on his phone.
380
+
381
+ **박서연, 44, 부산.** A multi-pet household manager who uses Fitpet to find a good animal hospital and book appointments. Appreciates that finding care and shopping live in one calm, non-intimidating app.
382
+
383
+ ## 14. States
384
+
385
+ | State | Treatment |
386
+ |---|---|
387
+ | **Empty (no search results)** | White canvas. Single Ink (`#1b1e21`) line explaining no matching products, with one blue `#0050ff` action to adjust filters. No clutter. |
388
+ | **Empty (cart / saved, none yet)** | Muted Slate (`#727a82`) single line inviting the user back to browsing. Calm, honest. |
389
+ | **Loading (product grid)** | Skeleton cards on the `#f4f7fa` surface at final dimensions, 10px radius. Flat pulse — no shadow shimmer, consistent with the shadowless system. |
390
+ | **Loading (in-place refresh)** | Existing cards stay visible; a subtle progress cue rather than a full block. |
391
+ | **Error (fetch failed)** | Inline message in Ink (`#1b1e21`) with a plain-language explanation and a retry. Never a bare "오류가 발생했습니다". |
392
+ | **Error (form validation)** | Field-level message below the input describing what is valid, not just "필수". |
393
+ | **Success (order placed / booked)** | Brief inline confirmation in calm tone; next-step detail linked immediately below. No celebratory emoji. |
394
+ | **Skeleton** | `#f4f7fa` blocks at final dimensions, 10px radius, flat pulse. |
395
+ | **Disabled** | Faint Grey (`#a7aeb5`) text on reduced-opacity surface; the blue action fades rather than turning grey to preserve brand read. |
396
+
397
+ ## 15. Motion & Easing
398
+
399
+ **Durations**:
400
+
401
+ | Token | Value | Use |
402
+ |---|---|---|
403
+ | `motion-fast` | 120ms | Hover, chip press, focus |
404
+ | `motion-standard` | 200ms | Card / sheet / dropdown reveal |
405
+ | `motion-slow` | 320ms | Page-level transitions, hero reveal |
406
+
407
+ **Easings**:
408
+
409
+ | Token | Curve | Use |
410
+ |---|---|---|
411
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — cards, chips, sheets |
412
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
413
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
414
+
415
+ **Motion rules**: Motion is functional and quiet, matching the flat, fast aesthetic. Pill chips and buttons respond to press with a subtle scale/opacity shift; product cards and results fade in from below at `motion-standard / ease-enter`. No bounce or spring — a pet-health brand signals steadiness and care, not playfulness. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant and the product stays fully functional.
416
+
417
+ <!--
418
+ OmD v0.1 Sources — Philosophy Layer (sections 10-15)
419
+
420
+ Tier 1 live inspect (2026-07-02) via playwright getComputedStyle on two brand-owned surfaces:
421
+ - https://fitpet.co.kr/ — corporate/brand flagship: Noto Sans KR 40px/600 hero, 85px/600 stat "16만+",
422
+ Poppins 13px/700 nav, ghost pill (2px solid #ffffff, 30px radius), accent blue #1482ff, dark bands #282828.
423
+ - https://www.fitpetmall.com/ — commerce mall: Pretendard body, primary button #0050ff (28.8px radius),
424
+ discount badge #ff5967 (4.8px radius), surface #f4f7fa, promo strip #edf4ff, deep navy #0035a8,
425
+ rating yellow #ffd633, filter chip (1px #c2c8cf, 999px), near-flat depth (box-shadow none).
426
+ - https://www.fitpetmall.com/mall/search — filled search field (#f4f7fa bg, 9.6px radius, 16px, no border).
427
+ - Logo (google favicon proxy, fitpet.co.kr, 128px) dominant color #0050ff + secondary orange #ff9300.
428
+
429
+ Token-level claims (§1-9) are sourced from this live inspection (see .verification.md for 26 raw samples).
430
+
431
+ Voice samples (§10) are verbatim from the live corporate homepage and mall page title.
432
+
433
+ Brand narrative (§11): Fitpet (핏펫) founded 2017 as a Korean pet-healthcare / pet-commerce company;
434
+ at-home health-check origin, Fitpet Mall, and hospital booking. The 2017 founding is widely-documented
435
+ public knowledge; mission/positioning phrasing is quoted from the live homepage and mall. Specific
436
+ corporate details beyond the live surfaces are general public knowledge, not directly quoted from a
437
+ verified Fitpet statement in this turn.
438
+
439
+ Personas (§13) are fictional archetypes informed by publicly observable Fitpet user segments (Korean
440
+ pet owners). Names are illustrative; they do not refer to real people.
441
+
442
+ Interpretive claims (e.g., "one action, one blue", "approachable, not clinical" as a rejection of cold
443
+ healthcare chrome) are editorial readings connecting Fitpet's observed design to its positioning, not
444
+ directly sourced Fitpet statements.
445
+ -->