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
@@ -0,0 +1,440 @@
1
+ ---
2
+ id: frip
3
+ name: Frip
4
+ display_name_kr: 프립
5
+ country: KR
6
+ category: consumer-tech
7
+ homepage: "https://www.frip.co.kr/"
8
+ primary_color: "#7a29fa"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://www.google.com/s2/favicons?domain=frip.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 = live booking-CTA violet (#7a29fa) — the '참여하기' button + Superhost badge; red family (#f4373d exclusive tag / #ff3f33 discount % / #e21d47 points) is promo-only accent. Near-flat system: box-shadow none, #e6e6e6 hairlines + tint separation."
19
+ colors:
20
+ primary: "#7a29fa"
21
+ accent: "#f4373d"
22
+ sale: "#ff3f33"
23
+ point: "#e21d47"
24
+ pink-tint: "#fff4f7"
25
+ ink: "#000000"
26
+ charcoal: "#333333"
27
+ near-black: "#111111"
28
+ body: "#777777"
29
+ muted: "#999999"
30
+ faint: "#aaaaaa"
31
+ canvas: "#ffffff"
32
+ surface: "#fafafa"
33
+ surface-alt: "#f4f4f4"
34
+ disabled: "#eeeeee"
35
+ hairline: "#e6e6e6"
36
+ border: "#dddddd"
37
+ typography:
38
+ family: { display: "SUIT", body: "SUIT", fallback: "UI Frip, Noto Sans KR" }
39
+ detail-heading: { size: 18, weight: 700, lineHeight: 1.33, use: "Section / product-detail headings (프립 정보), SUIT Bold" }
40
+ product-title: { size: 20, weight: 400, lineHeight: 1.40, tracking: -0.6, use: "Product-detail H1 title, SUIT" }
41
+ discount: { size: 24, weight: 700, use: "Hero discount percentage in sale red" }
42
+ body: { size: 14, weight: 400, lineHeight: 1.50, use: "Standard reading + UI text, SUIT" }
43
+ cta: { size: 16, weight: 400, lineHeight: 1.50, use: "Primary booking button label (참여하기), SUIT" }
44
+ app-cta: { size: 12, weight: 700, use: "App-download bar label (앱 다운로드), SUIT Bold" }
45
+ badge: { size: 10, weight: 500, use: "Corner tags (프립단독 / 슈퍼호스트), SUIT Medium" }
46
+ spacing: { xs: 4, sm: 6, md: 10, base: 16, lg: 20, xl: 32 }
47
+ rounded: { xs: 3, sm: 5, md: 10, lg: 12, pill: 20, full: 9999 }
48
+ shadow:
49
+ none: "none"
50
+ components:
51
+ cta-primary: { type: button, bg: "#7a29fa", fg: "#ffffff", radius: "10px", height: "56px", padding: "16px", font: "16px / 400 SUIT", use: "Primary booking CTA (참여하기) on product pages" }
52
+ cta-disabled: { type: button, bg: "#eeeeee", fg: "#ffffff", radius: "10px", height: "56px", padding: "16px", font: "16px / 400 SUIT", use: "Sold-out / disabled booking button (신청마감)" }
53
+ app-download: { type: button, bg: "#333333", fg: "#ffffff", radius: "0px", font: "12px / 700 SUIT", use: "App-download bar CTA (앱 다운로드)" }
54
+ count-pill: { type: input, bg: "#ffffff", fg: "#333333", border: "1px solid #dddddd", radius: "20px", padding: "7px 15px", height: "36px", font: "14px / 400 SUIT", use: "Quantity / option selector pill on booking panel" }
55
+ product-card: { type: card, bg: "#ffffff", radius: "5px", border: "1px solid #e6e6e6", use: "Experience/product card — thumbnail + title, hairline outline, no shadow" }
56
+ badge-exclusive: { type: badge, bg: "#f4373d", fg: "#ffffff", radius: "5px", padding: "4px 6px", font: "10px / 500 SUIT", use: "프립단독 (Frip-exclusive) corner tag" }
57
+ badge-superhost: { type: badge, bg: "#7a29fa", fg: "#ffffff", radius: "5px", padding: "4px 6px", font: "10px / 500 SUIT", use: "슈퍼호스트 (Superhost) corner tag" }
58
+ nav-tab: { type: tab, fg: "#000000", font: "14px / 400 SUIT", active: "text #7a29fa on active nav/category item", use: "Top navigation / category tab" }
59
+ components_harvested: true
60
+ ---
61
+
62
+ # Design System Inspiration of Frip
63
+
64
+ ## 1. Visual Theme & Atmosphere
65
+
66
+ Frip (프립) is Korea's self-described "대한민국 1등 취미여가 탐색 플랫폼" (No.1 hobby-and-leisure discovery platform) — a marketplace where people book experiences, classes, and social outings. Its web surface reads like a bright, content-dense commerce feed rather than a minimalist brand site: a pure white (`#ffffff`) canvas packed with square-cornered thumbnail cards, corner tags, and price callouts, organized into scannable horizontal shelves ("주간 인기 BEST", "신규 프립", "기획전"). The mood is energetic and consumer-friendly, closer to a lifestyle shopping app than a calm fintech dashboard — the page wants you to browse dozens of experiences at a glance.
67
+
68
+ The color system is built on a single saturated action color: an electric violet (`#7a29fa`) that carries the primary booking button ("참여하기") on every product page and marks trust signals like the "슈퍼호스트" (Superhost) tag. This purple is the one thing the eye is trained to treat as "the next step." Running alongside it is a hot promo-red family — `#f4373d` for the "프립단독" (Frip-exclusive) corner tag, `#ff3f33` for the big discount percentages, and `#e21d47` for point/reward labels — reserved strictly for urgency and savings, never for navigation. Text is set in near-pure black (`#000000`) for headings and a warm charcoal (`#333333`) for product titles and secondary copy, over a cool grey ladder (`#777777` → `#999999` → `#aaaaaa`) for metadata.
69
+
70
+ Typographically the system is unmistakably Korean-modern: everything runs in **SUIT** (with `UI Frip` / `Noto Sans KR` fallbacks), a clean geometric hangul sans. Section and detail headings sit at a restrained 18px / weight 700; product titles at 20px / 400 with tight `-0.6px` tracking; body and UI text at a dense 14px / 400. Depth is almost entirely absent — live inspection found `box-shadow: none` across the nav, hero carousel, and section headers. Separation comes from thin `#e6e6e6` hairlines, tinted `#fafafa` / `#f4f4f4` surfaces, and a soft pink `#fff4f7` promo band, not elevation. Geometry is gently rounded: a 5px radius is the workhorse (cards, badges — 78 occurrences), the primary CTA sits at 10px, and selector pills reach a 20px near-round.
71
+
72
+ **Key Characteristics:**
73
+ - Single saturated violet (`#7a29fa`) reserved for the primary booking action and Superhost trust tag
74
+ - Hot promo-red family — `#f4373d` exclusive tag, `#ff3f33` discount %, `#e21d47` points — used only for savings/urgency
75
+ - SUIT typeface throughout — 18px/700 headings, 20px/400 product titles, 14px/400 body
76
+ - Near-black `#000000` headings + warm `#333333` charcoal titles instead of flat black-on-white monotony
77
+ - Near-flat depth: `box-shadow: none`; `#e6e6e6` hairlines + `#fafafa`/`#f4f4f4` tints do the separating
78
+ - 5px radius as the workhorse; 10px CTA; 20px selector pills; occasional full circles for avatars/dots
79
+ - Content-dense commerce feed: thumbnail cards, corner tags, price callouts on a white canvas
80
+ - Dark charcoal (`#333333`) app-download bar as the recurring cross-sell chrome
81
+
82
+ ## 2. Color Palette & Roles
83
+
84
+ ### Primary & Accent
85
+ - **Frip Violet** (`#7a29fa`): Primary action color. Fills the "참여하기" booking CTA on every product page and the "슈퍼호스트" Superhost badge — the system's single "do this / trust this" color.
86
+ - **Exclusive Red** (`#f4373d`): The "프립단독" (Frip-exclusive) corner-tag background — a hot red that flags first-party / can't-get-elsewhere inventory.
87
+ - **Sale Red** (`#ff3f33`): Discount-percentage text (e.g. "48%", "89%") at 24px/700 on the hero and 14px/700 on cards. Savings emphasis only.
88
+ - **Point Red** (`#e21d47`): Reward/point labels such as "신규프립 에너지x2" at 10px/500 — a slightly deeper magenta-red for loyalty callouts.
89
+
90
+ ### Ink & Text Hierarchy
91
+ - **Ink Black** (`#000000`): Primary heading and dominant body text — the most frequent foreground color on the page.
92
+ - **Charcoal** (`#333333`): Product-detail titles, secondary copy, and the app-download bar background. A warm near-black that softens dense text.
93
+ - **Near-Black** (`#111111`): Occasional maximum-contrast dark surface / overlay panel.
94
+ - **Body Grey** (`#777777`): Secondary descriptions and supporting copy.
95
+ - **Muted Grey** (`#999999`): Tertiary text, metadata, timestamps.
96
+ - **Faint Grey** (`#aaaaaa`): Lowest-emphasis labels, placeholders, disabled captions.
97
+
98
+ ### Surfaces & Borders
99
+ - **Pure White** (`#ffffff`): Page background, card surfaces, text on violet/red/dark.
100
+ - **Surface Grey** (`#fafafa`): Tinted section/card background for gentle segmentation.
101
+ - **Surface Alt** (`#f4f4f4`): A second neutral grey for alternating blocks and inset panels.
102
+ - **Pink Tint** (`#fff4f7`): Soft pink promo band behind sale/curation shelves.
103
+ - **Disabled Grey** (`#eeeeee`): Background of sold-out / disabled buttons ("신청마감").
104
+ - **Hairline** (`#e6e6e6`): Thin card outlines and dividers — the primary separation device in this near-flat system.
105
+ - **Border Grey** (`#dddddd`): 1px outline on selector/quantity pills and input chrome.
106
+
107
+ ## 3. Typography Rules
108
+
109
+ ### Font Family
110
+ - **Primary**: `SUIT` (with `UI Frip`, `Noto Sans KR`, Helvetica, Arial, sans-serif fallbacks) — used for headings, body, UI, and button labels alike.
111
+ - SUIT is a geometric hangul-first sans; Frip runs it across the whole surface rather than splitting display vs. body across two families.
112
+
113
+ ### Hierarchy
114
+
115
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
116
+ |------|------|------|--------|-------------|----------------|-------|
117
+ | Detail / Section Heading | SUIT | 18px (1.13rem) | 700 | 1.33 (24px) | normal | "프립 정보", "주간 인기 BEST" |
118
+ | Product Title | SUIT | 20px (1.25rem) | 400 | 1.40 (28px) | -0.6px | Product-detail H1 |
119
+ | Discount % | SUIT | 24px (1.50rem) | 700 | — | normal | Hero sale percentage, sale red |
120
+ | Booking CTA | SUIT | 16px (1.00rem) | 400 | 1.50 | normal | "참여하기" primary button label |
121
+ | Body / UI | SUIT | 14px (0.88rem) | 400 | 1.50 (21px) | normal | Standard reading + nav text |
122
+ | App-download CTA | SUIT | 12px (0.75rem) | 700 | — | normal | "앱 다운로드" bar label |
123
+ | Corner Badge | SUIT | 10px (0.63rem) | 500 | — | normal | "프립단독" / "슈퍼호스트" tags |
124
+
125
+ ### Principles
126
+ - **One typeface, weight-driven hierarchy**: SUIT carries everything; contrast comes from weight (700 headings vs 400 body) and size, not from a second family.
127
+ - **Restrained heading scale**: headings top out at 18–20px on the feed — the design leans on card density and imagery, not oversized type, to structure the page.
128
+ - **Tight tracking only on titles**: product titles compress to `-0.6px`; body and UI text stay at normal tracking for hangul legibility at 14px.
129
+ - **Bold for money and structure**: weight 700 is reserved for headings and numeric emphasis (discount %), signaling "read this first."
130
+
131
+ ## 4. Component Stylings
132
+
133
+ ### Buttons
134
+
135
+ **Booking CTA (Primary)**
136
+ - Background: `#7a29fa`
137
+ - Text: `#ffffff`
138
+ - Radius: 10px
139
+ - Padding: 16px
140
+ - Height: 56px
141
+ - Font: 16px SUIT weight 400
142
+ - Use: Primary product-page action ("참여하기") — the system's single primary action
143
+
144
+ **Booking CTA (Disabled / Sold Out)**
145
+ - Background: `#eeeeee`
146
+ - Text: `#ffffff`
147
+ - Radius: 10px
148
+ - Padding: 16px
149
+ - Height: 56px
150
+ - Font: 16px SUIT weight 400
151
+ - Use: Sold-out / closed state ("신청마감") — greyed, full-width, same geometry as active
152
+
153
+ **App-Download Bar**
154
+ - Background: `#333333`
155
+ - Text: `#ffffff`
156
+ - Radius: 0px
157
+ - Height: 45px
158
+ - Font: 12px SUIT weight 700
159
+ - Use: Recurring dark app-download cross-sell chrome ("앱 다운로드")
160
+
161
+ ### Inputs & Forms
162
+
163
+ **Quantity / Option Pill**
164
+ - Background: `#ffffff`
165
+ - Text: `#333333`
166
+ - Border: 1px solid `#dddddd`
167
+ - Radius: 20px
168
+ - Padding: 7px 15px
169
+ - Height: 36px
170
+ - Font: 14px SUIT weight 400
171
+ - Use: Selectable quantity / option pill on the booking panel
172
+
173
+ ### Cards & Containers
174
+
175
+ **Experience Card**
176
+ - Background: `#ffffff`
177
+ - Border: 1px solid `#e6e6e6`
178
+ - Radius: 5px
179
+ - Font: 14px SUIT
180
+ - Use: Product/experience card — thumbnail + title + price, hairline outline, no shadow
181
+
182
+ ### Badges
183
+
184
+ **Exclusive Tag**
185
+ - Background: `#f4373d`
186
+ - Text: `#ffffff`
187
+ - Radius: 5px
188
+ - Padding: 4px 6px
189
+ - Font: 10px SUIT weight 500
190
+ - Use: "프립단독" (Frip-exclusive) corner tag
191
+
192
+ **Superhost Tag**
193
+ - Background: `#7a29fa`
194
+ - Text: `#ffffff`
195
+ - Radius: 5px
196
+ - Padding: 4px 6px
197
+ - Font: 10px SUIT weight 500
198
+ - Use: "슈퍼호스트" (Superhost) host-trust corner tag
199
+
200
+ ### Navigation
201
+ - Background: `#ffffff`
202
+ - Text: `#000000`
203
+ - Font: 14px SUIT weight 400
204
+ - Height: ~56px header
205
+ - Active: violet `#7a29fa` text on the active nav / category item
206
+ - Use: Top horizontal nav ("카테고리", "피드", "메시지", "찜", "마이")
207
+
208
+ ---
209
+
210
+ **Verified:** 2026-07-02 (omd:add-reference CREATE — Tier 1 live inspect)
211
+ **Tier 1 sources:** https://www.frip.co.kr/ (homepage, live computed style); https://medium.com/frientrip (Frip official Medium publication, brand-owned)
212
+ **Tier 2 sources:** getdesign.md/frip (no entry — "0 DESIGN.md files"); styles.refero.design/?q=frip (no entry — fuzzy "F…" matches only)
213
+ **Conflicts unresolved:** none
214
+
215
+ ## 5. Layout Principles
216
+
217
+ ### Spacing System
218
+ - Base unit: ~4px
219
+ - Scale: 4px, 6px, 10px, 16px, 20px, 32px
220
+ - Notable: badge padding lands at 4px 6px; selector pills at 7px 15px; the primary CTA uses a symmetric 16px pad — dense, tap-friendly commerce spacing
221
+
222
+ ### Grid & Container
223
+ - Content-dense feed: horizontal shelves of thumbnail cards ("주간 인기 BEST", "신규 프립", "기획전") stacked vertically
224
+ - Product cards use a 5px radius and a fixed thumbnail-over-title-over-price layout
225
+ - Product-detail pages pin a full-width 56px booking CTA at the bottom of the panel
226
+ - Sections separate by tinted band (`#fafafa` / `#f4f4f4` / pink `#fff4f7`) rather than rules
227
+
228
+ ### Whitespace Philosophy
229
+ - **Density over emptiness**: this is a browse-many-options marketplace; cards pack tightly into shelves and the eye scans laterally.
230
+ - **Flat segmentation**: sections separate by background tint and `#e6e6e6` hairlines, not shadow or heavy borders.
231
+ - **Tag rhythm**: repeated 5px corner tags ("프립단독", "슈퍼호스트") create a consistent visual cadence across the card grid.
232
+
233
+ ### Border Radius Scale
234
+ - Micro (3px): fine inner elements
235
+ - Small (5px): cards, badges, corner tags — the workhorse (×78 in scan)
236
+ - Medium (10px): primary booking CTA
237
+ - Large (12px): larger containers / feature cards
238
+ - Pill (20px): quantity/option selector pills
239
+ - Full (9999px / 50%): avatars, dots, circular controls
240
+
241
+ ## 6. Depth & Elevation
242
+
243
+ | Level | Treatment | Use |
244
+ |-------|-----------|-----|
245
+ | Flat (Level 0) | No shadow | Page background, nav, hero carousel, section headings, most surfaces |
246
+ | Hairline (Level 1) | `1px solid #e6e6e6` border | Card outlines, dividers |
247
+ | Tint (Level 2) | `#fafafa` / `#f4f4f4` / `#fff4f7` background shift | Section / shelf separation without elevation |
248
+ | Overlay (Level 3) | `rgba(0,0,0,0.4)` scrim | Carousel index chips, image overlays |
249
+
250
+ **Shadow Philosophy**: Frip is a near-shadowless system. Live inspection found `box-shadow: none` across the nav, hero carousel, and section headers. Depth and grouping are communicated through thin `#e6e6e6` hairlines, tinted surfaces (`#fafafa`, `#f4f4f4`, pink `#fff4f7`), and the imagery inside cards — not elevation. When Frip needs to lift something above content it reaches for a translucent black scrim (`rgba(0,0,0,0.4)`) on the carousel index chip, and for emphasis it reaches for color (violet `#7a29fa` or promo red `#f4373d`), never a drop shadow. This keeps the commerce feed feeling fast, flat, and mobile-native.
251
+
252
+ ## 7. Do's and Don'ts
253
+
254
+ ### Do
255
+ - Reserve violet (`#7a29fa`) for the primary booking action and the Superhost trust tag — keep it the single "action" color
256
+ - Use the promo-red family only for savings/urgency: `#f4373d` exclusive tag, `#ff3f33` discount %, `#e21d47` points
257
+ - Set everything in SUIT — weight 700 for headings/numbers, 400 for body and CTA labels
258
+ - Use near-black `#000000` for headings and warm charcoal `#333333` for product titles
259
+ - Separate sections with `#e6e6e6` hairlines and `#fafafa`/`#f4f4f4` tints, not shadows
260
+ - Keep cards and badges at a 5px radius; the primary CTA at 10px
261
+ - Pack cards densely into horizontal shelves — this is a browse-many marketplace
262
+ - Keep the full-width 56px booking CTA anchored on product pages
263
+
264
+ ### Don't
265
+ - Spread violet across decorative elements — it dilutes the single booking-action signal
266
+ - Use the promo reds for navigation, links, or non-sale UI — they mean savings/urgency
267
+ - Introduce drop shadows for elevation — Frip is a flat, hairline-and-tint system
268
+ - Set a light weight on numeric/discount emphasis — money is always weight 700
269
+ - Use large pill radii on cards — cards stay at the 5px workhorse corner
270
+ - Mix in a second display typeface — SUIT owns the whole surface
271
+ - Grey the active nav item — the active state is violet `#7a29fa` text
272
+ - Use pure `#000000` for every text tier — step down through `#333333` → `#777777` → `#999999`
273
+
274
+ ## 8. Responsive Behavior
275
+
276
+ ### Breakpoints
277
+ | Name | Width | Key Changes |
278
+ |------|-------|-------------|
279
+ | Mobile | <640px | Single-column shelves, cards scroll horizontally, bottom-anchored CTA |
280
+ | Tablet | 640-1024px | 2–3 up card grids, moderate padding |
281
+ | Desktop | 1024-1440px | Full multi-column shelves, centered content, persistent nav |
282
+
283
+ ### Touch Targets
284
+ - Primary booking CTA at 56px height, full-width — an unmistakable tap target
285
+ - Selector pills at 36px height with 7px 15px padding — comfortably tappable
286
+ - Nav items within a ~56px header, spaced for touch
287
+ - Corner tags are non-interactive labels at 10px, kept out of the tap flow
288
+
289
+ ### Collapsing Strategy
290
+ - Card shelves: horizontal scroll on narrow viewports, multi-column grid on desktop
291
+ - Product detail: booking panel collapses to a bottom-fixed CTA bar on mobile
292
+ - Tinted / white alternating sections maintain full-width treatment
293
+ - Headings hold their 18–20px size; density adjusts via column count, not type scale
294
+
295
+ ### Image Behavior
296
+ - Card thumbnails carry no shadow at any size, consistent with the flat system
297
+ - Corner tags overlay the top of thumbnails at a fixed 5px radius
298
+ - Cards maintain the 5px radius across breakpoints
299
+
300
+ ## 9. Agent Prompt Guide
301
+
302
+ ### Quick Color Reference
303
+ - Primary action / booking CTA: Frip Violet (`#7a29fa`)
304
+ - Exclusive tag: `#f4373d` · Discount %: `#ff3f33` · Points: `#e21d47`
305
+ - Heading text: Ink Black (`#000000`)
306
+ - Product title / dark bar: Charcoal (`#333333`)
307
+ - Secondary text: `#777777` · Muted: `#999999` · Faint: `#aaaaaa`
308
+ - Background: Pure White (`#ffffff`) · Tint: `#fafafa` / `#f4f4f4` · Pink promo: `#fff4f7`
309
+ - Disabled button: `#eeeeee` · Hairline: `#e6e6e6` · Input border: `#dddddd`
310
+
311
+ ### Example Component Prompts
312
+ - "Create a product card: white `#ffffff` background, 1px solid `#e6e6e6` border, 5px radius, no shadow. A `#f4373d` corner tag '프립단독' (white 10px SUIT 500, 5px radius, 4px 6px padding) over the thumbnail. Title 14px SUIT `#333333`; discount '48%' in `#ff3f33` 14px weight 700."
313
+ - "Build a booking panel: full-width primary CTA '참여하기' — `#7a29fa` background, white text, 10px radius, 16px padding, 56px height, 16px SUIT. Quantity pills: white background, 1px solid `#dddddd`, 20px radius, 7px 15px padding, `#333333` text."
314
+ - "Design a section shelf: heading 18px SUIT weight 700 `#000000` ('주간 인기 BEST'), horizontal row of 5px-radius white cards, separated from the next section by a `#fafafa` tint band — no shadows."
315
+ - "Create top nav: white ~56px header, 14px SUIT weight 400 items in `#000000`, active item in violet `#7a29fa`. Dark `#333333` app-download bar with white 12px weight 700 label '앱 다운로드'."
316
+
317
+ ### Iteration Guide
318
+ 1. Violet (`#7a29fa`) is the single action color — booking CTA + Superhost tag only
319
+ 2. Promo reds (`#f4373d` / `#ff3f33` / `#e21d47`) mean savings/urgency — never navigation
320
+ 3. SUIT everywhere; weight 700 for headings and money, 400 for body/CTA
321
+ 4. No shadows — separate with `#e6e6e6` hairlines and `#fafafa`/`#f4f4f4` tints
322
+ 5. 5px radius on cards/badges, 10px on the CTA, 20px on selector pills
323
+ 6. Text steps down `#000000` → `#333333` → `#777777` → `#999999` → `#aaaaaa`
324
+ 7. Booking CTA stays full-width at 56px height on product pages
325
+
326
+ ---
327
+
328
+ ## 10. Voice & Tone
329
+
330
+ Frip's voice is **energetic, invitational, and experience-first** — it sells the feeling of doing something new with other people, not a transaction. The positioning line "대한민국 1등 취미여가 탐색 플랫폼" (Korea's No.1 hobby-and-leisure discovery platform) and the English brand ethos "WE INSPIRE PEOPLE TO EXPERIENCE THE WORLD" set the register: aspirational, warm, community-minded. Copy addresses members as "크루" (crew) and hosts as "슈퍼호스트", framing the marketplace as a shared adventure rather than a vendor list.
331
+
332
+ | Context | Tone |
333
+ |---|---|
334
+ | Section headings | Bright, curatorial. "주간 인기 BEST 🏆", "크루님을 위한 고감도 경험" — emoji-friendly, warm. |
335
+ | CTAs | Direct, inviting. "참여하기" (join in), "앱 다운로드". Low-pressure, action-forward. |
336
+ | Tags | Terse trust/urgency signals. "프립단독" (exclusive), "슈퍼호스트" (trusted host). |
337
+ | Promo / points | Playful savings language. "신규프립 에너지x2", discount percentages in bold red. |
338
+ | Community copy | Members addressed as "크루" — belonging over customer-hood. |
339
+
340
+ **Voice samples (verbatim from live surfaces):**
341
+ - "대한민국 1등 취미여가 탐색 플랫폼" — homepage title tag (category-leader positioning). *(verified live 2026-07-02)*
342
+ - "주간 인기 BEST 🏆" — homepage section heading (curatorial, emoji-warm). *(verified live 2026-07-02)*
343
+ - "WE INSPIRE PEOPLE TO EXPERIENCE THE WORLD" — Frip Medium publication tagline (brand ethos). *(verified live 2026-07-02, medium.com/frientrip)*
344
+
345
+ **Forbidden register**: cold transactional phrasing, fear-based urgency, corporate stiffness, or treating experiences as inventory rather than adventures. Savings language stays playful, never predatory.
346
+
347
+ ## 11. Brand Narrative
348
+
349
+ Frip (프립) began as **프렌트립 (Frientrip)** — a contraction of "friends" and "trip" — a Korean startup built to solve a distinctly modern loneliness problem: it was hard to find good hobbies, classes, and outings, and harder still to do them with like-minded people. Frip reframed leisure as a discoverable, bookable marketplace of "experiences" (프립) hosted by individuals and small businesses, with the company positioning itself as "대한민국 1등 취미여가 탐색 플랫폼."
350
+
351
+ The brand's mission, stated plainly on its own publication, is to **"inspire people to experience the world."** That ethos shapes the product: members are "크루" (crew), trusted sellers earn a "슈퍼호스트" badge, and the feed is curated into warm, human shelves ("크루님을 위한 고감도 경험", "이런 모임은 어때요?") rather than a cold catalog. The design follows suit — bright imagery, playful emoji in headings, and a single confident violet for the moment of commitment.
352
+
353
+ What Frip refuses, visible in its design: the intimidating chrome of legacy booking sites (no heavy shadow stacks, no institutional blue) and predatory sale-pressure aesthetics. What it embraces: a flat, fast, image-forward commerce feed; a single trustworthy violet action color; promo reds kept in their lane; and copy that treats browsing as the start of an adventure.
354
+
355
+ ## 12. Principles
356
+
357
+ 1. **Experiences, not transactions.** Frip sells the feeling of trying something new with others. *UI implication:* lead with imagery and warm curation ("고감도 경험"), keep the transactional CTA to a single clear violet button.
358
+ 2. **One action, one color.** Violet (`#7a29fa`) means "join this." *UI implication:* reserve the saturated violet for the booking CTA and Superhost trust tag so the next step is never ambiguous.
359
+ 3. **Savings stays in its lane.** The red family signals discount/exclusive/points, never navigation. *UI implication:* `#f4373d`/`#ff3f33`/`#e21d47` only appear on tags, percentages, and reward labels.
360
+ 4. **Flat and fast.** A browse-many marketplace must feel quick. *UI implication:* no shadows; separate with `#e6e6e6` hairlines and tints; pack cards densely into scannable shelves.
361
+ 5. **Belonging over customer-hood.** Members are "크루", hosts are "슈퍼호스트". *UI implication:* trust and community signals (Superhost badge, crew language) get first-class visual treatment.
362
+
363
+ ## 13. Personas
364
+
365
+ *Personas below are fictional archetypes informed by publicly observable Frip user segments (Koreans seeking hobbies/classes, solo travelers, experience hosts), not individual people.*
366
+
367
+ **김하늘, 27, 서울.** A young professional looking for weekend hobbies to meet new people. Browses the "주간 인기 BEST" shelf on her phone during her commute, drawn to cards with a "프립단독" tag and a bold discount. Books a pottery class because the "참여하기" button made the next step obvious.
368
+
369
+ **박민준, 34, 경기.** A solo traveler who uses Frip for guided small-group trips ("혼자여행"). Trusts the "슈퍼호스트" badge as a quality signal and reads host profiles before committing. Values that the flat, image-forward layout lets him judge an experience by its photos fast.
370
+
371
+ **이서연, 41, 부산.** An experience host teaching a craft class. Cares that her listing's thumbnail, tags, and price read clearly in the card grid, and that the Superhost badge she earned is prominently shown. Sees Frip as a community platform ("크루") more than a booking pipe.
372
+
373
+ ## 14. States
374
+
375
+ | State | Treatment |
376
+ |---|---|
377
+ | **Empty (no results / saved list)** | White canvas, single Ink Black (`#000000`) line explaining nothing matches yet, with a violet CTA back to browsing. No clutter. |
378
+ | **Loading (feed / shelf)** | Skeleton cards at final 5px-radius dimensions on `#fafafa` tint. Flat pulse — no shadow shimmer, consistent with the shadowless system. |
379
+ | **Loading (booking submit)** | Inline progress on the 56px violet CTA; label swaps while the panel stays visible. |
380
+ | **Error (booking failed)** | Inline message in Ink Black with a plain-language explanation and a retry — states the next step, not just "오류". |
381
+ | **Error (form validation)** | Field-level message below the input (1px `#dddddd` pill), describing what's valid. |
382
+ | **Success (booking confirmed)** | Brief inline confirmation in warm tone; reservation detail linked immediately below. No aggressive celebration. |
383
+ | **Skeleton** | `#fafafa` blocks at final card dimensions, 5px radius, flat pulse. |
384
+ | **Disabled (sold out)** | Full-width CTA turns `#eeeeee` with white "신청마감" label — same 56px geometry, greyed rather than removed. |
385
+ | **Disabled (low-emphasis)** | Faint Grey (`#aaaaaa`) text on reduced-opacity surface. |
386
+
387
+ ## 15. Motion & Easing
388
+
389
+ **Durations**:
390
+
391
+ | Token | Value | Use |
392
+ |---|---|---|
393
+ | `motion-fast` | 120ms | Card hover, tag press, focus |
394
+ | `motion-standard` | 200ms | Shelf scroll snap, sheet, dropdown, card reveal |
395
+ | `motion-slow` | 320ms | Hero carousel crossfade, page-level transitions |
396
+
397
+ **Easings**:
398
+
399
+ | Token | Curve | Use |
400
+ |---|---|---|
401
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — cards, sheets, panels |
402
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
403
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
404
+
405
+ **Motion rules**: Motion is bright but functional — consistent with a fast commerce feed. The hero carousel crossfades at `motion-slow`; card shelves snap-scroll at `motion-standard / ease-enter`; the booking CTA and tags respond to press with a subtle scale/opacity shift at `motion-fast`. No heavy bounce or spring — the feed favors quick, legible transitions over playful physics. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant and the carousel stops auto-advancing; the product remains fully functional.
406
+
407
+ <!--
408
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
409
+
410
+ Tier 1 live inspect (2026-07-02) via playwright getComputedStyle on https://www.frip.co.kr/
411
+ and product-detail surfaces (/165667, /121737, /191730, /188510):
412
+ - Primary booking CTA "참여하기" — bg rgb(122,41,250) #7a29fa / white / radius 10px / padding 16px / 56px / 16px SUIT (identical across product pages)
413
+ - Disabled CTA "신청마감" — bg rgb(238,238,238) #eeeeee / white / 10px / 56px
414
+ - App-download bar "앱 다운로드" — bg rgb(51,51,51) #333333 / white / 12px / 700
415
+ - Badges "프립단독" bg #f4373d, "슈퍼호스트" bg #7a29fa — 10px / 500 / radius 5px / 4px 6px
416
+ - Discount % text #ff3f33 24px/700; points "신규프립 에너지x2" #e21d47 10px/500
417
+ - Section headings SUIT 18px/700; product H1 20px/400/-0.6px; body 14px/400
418
+ - box-shadow none across nav/hero/headings; #e6e6e6 hairlines + #fafafa/#f4f4f4 tints
419
+ - document.title "프립(FRIP) : 대한민국 1등 취미여가 탐색 플랫폼"
420
+
421
+ Token-level claims (§1-9) are sourced from this live inspection (see .verification.md Proof block).
422
+
423
+ Voice samples (§10) are verbatim: homepage title tag + section heading (live homepage),
424
+ and the "WE INSPIRE PEOPLE TO EXPERIENCE THE WORLD" tagline from Frip's official Medium
425
+ publication (medium.com/frientrip, verified live 2026-07-02).
426
+
427
+ Brand narrative (§11): Frip (프립) originated as 프렌트립 (Frientrip = friends + trip), a
428
+ Korean hobby/leisure experience marketplace positioning itself as "대한민국 1등 취미여가
429
+ 탐색 플랫폼." The mission phrasing "inspire people to experience the world" is quoted from
430
+ Frip's own Medium publication. Broader founding specifics beyond these first-party surfaces
431
+ are general public knowledge, not directly quoted from a verified Frip statement this turn.
432
+
433
+ Personas (§13) are fictional archetypes informed by publicly observable Frip user segments
434
+ (hobby seekers, solo travelers, experience hosts). Names are illustrative; they do not refer
435
+ to real people.
436
+
437
+ Interpretive claims (e.g., "one action, one color", "savings stays in its lane", "flat and
438
+ fast as a rejection of legacy booking chrome") are editorial readings connecting Frip's
439
+ observed design to its positioning, not directly sourced Frip statements.
440
+ -->