oh-my-design-cli 1.6.0 → 1.6.2
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.
- package/AGENTS.md +1 -1
- package/README.ko.md +12 -0
- package/README.md +49 -0
- package/data/reference-fingerprints.json +957 -2
- package/dist/bin/oh-my-design.js +4 -3
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/{install-skills-IETT2TBJ.js → install-skills-6QFSN5BN.js} +108 -42
- package/dist/install-skills-6QFSN5BN.js.map +1 -0
- package/package.json +9 -3
- package/scripts/postinstall.cjs +6 -6
- package/skills/claude-design/SKILL.md +385 -0
- package/skills/claude-design/references/claude-design-flow.md +425 -0
- package/skills/claude-design/references/codebase-analysis.md +373 -0
- package/skills/claude-design/scripts/analyze_codebase.py +1369 -0
- package/skills/claude-design/scripts/clickable_link.sh +48 -0
- package/skills/claude-design/scripts/collect_source.py +178 -0
- package/skills/claude-design/scripts/drive_claude_design.cjs +378 -0
- package/skills/claude-design/scripts/gather_references.py +437 -0
- package/web/references/91app/DESIGN.md +151 -0
- package/web/references/airtable/DESIGN.md +16 -2
- package/web/references/bithumb/DESIGN.md +170 -0
- package/web/references/bunjang/DESIGN.md +20 -1
- package/web/references/cakeresume/DESIGN.md +162 -0
- package/web/references/catchtable/DESIGN.md +19 -0
- package/web/references/classting/DESIGN.md +251 -0
- package/web/references/classum/DESIGN.md +19 -0
- package/web/references/coinone/DESIGN.md +218 -0
- package/web/references/dabang/DESIGN.md +19 -0
- package/web/references/devsisters/DESIGN.md +253 -0
- package/web/references/dji/DESIGN.md +0 -1
- package/web/references/drnow/DESIGN.md +331 -0
- package/web/references/fastcampus/DESIGN.md +19 -0
- package/web/references/flex/DESIGN.md +19 -0
- package/web/references/flo/DESIGN.md +306 -0
- package/web/references/fugle/DESIGN.md +250 -0
- package/web/references/gmarket/DESIGN.md +19 -0
- package/web/references/gogolook/DESIGN.md +131 -0
- package/web/references/grip/DESIGN.md +250 -0
- package/web/references/hahow/DESIGN.md +158 -0
- package/web/references/hogangnono/DESIGN.md +308 -0
- package/web/references/hyundaicard/DESIGN.md +177 -0
- package/web/references/inflearn/DESIGN.md +19 -0
- package/web/references/jkopay/DESIGN.md +249 -0
- package/web/references/jobkorea/DESIGN.md +310 -0
- package/web/references/kbank/DESIGN.md +18 -0
- package/web/references/kdan/DESIGN.md +160 -0
- package/web/references/kkbox/DESIGN.md +114 -0
- package/web/references/krafton/DESIGN.md +230 -0
- package/web/references/kream/DESIGN.md +18 -0
- package/web/references/laftel/DESIGN.md +253 -0
- package/web/references/lezhin/DESIGN.md +301 -0
- package/web/references/lunit/DESIGN.md +19 -0
- package/web/references/melon/DESIGN.md +153 -0
- package/web/references/momoshop/DESIGN.md +279 -0
- package/web/references/mustit/DESIGN.md +282 -0
- package/web/references/nhncloud/DESIGN.md +174 -0
- package/web/references/oliveyoung/DESIGN.md +19 -0
- package/web/references/payco/DESIGN.md +227 -0
- package/web/references/piccollage/DESIGN.md +277 -0
- package/web/references/rayark/DESIGN.md +132 -0
- package/web/references/riiid/DESIGN.md +228 -0
- package/web/references/sendbird/DESIGN.md +285 -0
- package/web/references/socar/DESIGN.md +18 -0
- package/web/references/toss-securities/DESIGN.md +19 -0
- package/web/references/trenbe/DESIGN.md +252 -0
- package/web/references/tving/DESIGN.md +18 -0
- package/web/references/upbit/DESIGN.md +19 -0
- package/web/references/upstage/DESIGN.md +18 -0
- package/web/references/velog/DESIGN.md +168 -0
- package/web/references/voicetube/DESIGN.md +227 -0
- package/web/references/wadiz/DESIGN.md +19 -0
- package/web/references/webflow/DESIGN.md +16 -2
- package/web/references/yeogiotte/DESIGN.md +19 -0
- package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +0 -189
- package/data/issues/2026-05-13-multi-surface-schema-rfc.md +0 -67
- package/data/reference-audits/2026-05-13-kr10.md +0 -132
- package/data/reference-audits/2026-05-14-kr10.md +0 -72
- package/data/reference-audits/2026-05-15-kr10.md +0 -124
- package/data/research/2026-05-18-agent-landscape.md +0 -69
- package/data/research/2026-05-18-kr-style-presets.md +0 -572
- package/dist/install-skills-IETT2TBJ.js.map +0 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: melon
|
|
3
|
+
name: "Melon"
|
|
4
|
+
country: KR
|
|
5
|
+
category: entertainment
|
|
6
|
+
homepage: "https://www.melon.com"
|
|
7
|
+
primary_color: "#00CD3C"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=melon.com&sz=128"
|
|
11
|
+
verified: "2026-06-01"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Design System Inspiration of Melon
|
|
16
|
+
|
|
17
|
+
## 1. Visual Theme & Atmosphere
|
|
18
|
+
|
|
19
|
+
Melon is Korea's dominant music-streaming service, operated by Kakao Entertainment, and its interface wears that scale on its sleeve: a dense, white, content-first surface where charts, lists, and player controls are packed tightly together and the music is always the point. The atmosphere is utilitarian and high-density — small type at 12px for body and 13-14px for controls, near-black #1A1A1A headings, and sharp 0px corners everywhere — so the screen reads like a tightly ruled spreadsheet of songs rather than a soft consumer app. Against that white #FFFFFF ground, the signature Melon green (#00CD3C in the source CSS, rendering as a near-twin #00D344 on the live login button) is rationed carefully, lighting up only active navigation, selected tabs, player buttons, and primary actions. Everything else is a quiet grayscale hierarchy — #666666 for muted text, #999999 for the lightest labels and placeholders — that lets the green do all the signaling. The result is unmistakably brand-green-on-white: grid-like, efficient, and built for browsing thousands of tracks without visual fatigue. It is the look of a tool that expects you to scan, tap, and keep listening.
|
|
20
|
+
|
|
21
|
+
## 2. Color Palette & Roles
|
|
22
|
+
|
|
23
|
+
- **Signature green #00CD3C** — the brand-defining Melon green; primary actions, active nav, selected tabs, player buttons (appears ~11x in the live CSS).
|
|
24
|
+
- **Darker green #00B523** — a deeper green variant used as a companion to the signature green.
|
|
25
|
+
- **Login button green #00D344** — the live-rendered green on the primary login button; a near-twin of #00CD3C.
|
|
26
|
+
- **Near-black #1A1A1A** — heading and primary text color against the white ground.
|
|
27
|
+
- **Muted gray #666666** — default body text color (live body renders rgb(102,102,102)).
|
|
28
|
+
- **Light gray #999999** — the lightest text tier; secondary labels and input placeholder text.
|
|
29
|
+
- **Red accent #DF2607** — a sharp red accent used sparingly.
|
|
30
|
+
- **Ground #FFFFFF** — the white canvas the entire dense layout sits on.
|
|
31
|
+
|
|
32
|
+
The green is the only saturated color allowed to carry meaning; the reds appear as rare accents, and the rest of the palette is a disciplined grayscale ladder from #1A1A1A down through #666666 to #999999 on white.
|
|
33
|
+
|
|
34
|
+
## 3. Typography Rules
|
|
35
|
+
|
|
36
|
+
- **Typeface:** Pretendard, with 맑은 고딕 (Malgun Gothic) as the fallback.
|
|
37
|
+
- **Body text:** 12px — the dense default for list rows and metadata; renders in muted gray #666666.
|
|
38
|
+
- **Controls:** 13-14px — interactive controls and inputs sit slightly larger than body for tap targets.
|
|
39
|
+
- **Headings / primary text:** near-black #1A1A1A.
|
|
40
|
+
- **Weights observed:** 400 (regular) on buttons and inputs.
|
|
41
|
+
|
|
42
|
+
The type system is deliberately small and dense, suiting a content-first streaming UI that must show many rows at once. Color, not size, does most of the hierarchy work — near-black #1A1A1A for what matters, #666666 for supporting text, #999999 for the quietest labels.
|
|
43
|
+
|
|
44
|
+
## 4. Component Stylings
|
|
45
|
+
|
|
46
|
+
### Login Button
|
|
47
|
+
|
|
48
|
+
**Primary (live-rendered green)**
|
|
49
|
+
- Background: #00D344
|
|
50
|
+
- Text: #FFFFFF
|
|
51
|
+
- Border: none
|
|
52
|
+
- Radius: 0px
|
|
53
|
+
- Height: 42px
|
|
54
|
+
- Font: 14px / 400
|
|
55
|
+
- Use: primary login / sign-in action; the sharp-cornered green button that anchors account entry
|
|
56
|
+
|
|
57
|
+
### Search Input
|
|
58
|
+
|
|
59
|
+
**Default**
|
|
60
|
+
- Background: transparent
|
|
61
|
+
- Text: #999999
|
|
62
|
+
- Radius: 0px
|
|
63
|
+
- Height: 40px
|
|
64
|
+
- Font: 13px / 400
|
|
65
|
+
- Use: search field; placeholder and text both render in light gray #999999
|
|
66
|
+
|
|
67
|
+
### Body / List Text
|
|
68
|
+
|
|
69
|
+
**Default row text**
|
|
70
|
+
- Background: #FFFFFF
|
|
71
|
+
- Text: #666666
|
|
72
|
+
- Border: none
|
|
73
|
+
- Radius: 0px
|
|
74
|
+
- Font: 12px / 400
|
|
75
|
+
- Use: dense chart and list rows; the workhorse text style across the streaming grid
|
|
76
|
+
|
|
77
|
+
Across components the corners are uniformly square (0px radius), reinforcing the dense, grid-like streaming layout rather than a soft, rounded consumer feel.
|
|
78
|
+
|
|
79
|
+
## 5. Layout Principles
|
|
80
|
+
|
|
81
|
+
Melon is built around density. The layout is a content-first grid of packed charts and lists where many rows are visible at once, and the square 0px corners on buttons and inputs make the whole surface read like ruled cells rather than floating cards. White #FFFFFF is the dominant ground, giving the small 12px body text and #666666 metadata room to breathe inside an otherwise tightly packed screen. The green is placed structurally — on active nav, selected tabs, and primary actions — so wayfinding rides on color, not on heavy chrome. The overall principle is utilitarian: maximize the number of songs and controls in view, keep the framing minimal, and let the brand green mark the live, actionable elements.
|
|
82
|
+
|
|
83
|
+
## 6. Depth & Elevation
|
|
84
|
+
|
|
85
|
+
Melon's surface is flat by design. With 0px radius on its buttons and inputs and a uniform white #FFFFFF ground, the UI avoids rounded cards and soft floating layers in favor of a dense, grid-like plane. There is no measured shadow or elevation token in the verified data, so depth here is communicated through color and contrast — near-black #1A1A1A and the signature green #00CD3C advancing against the white field — rather than through drop shadows or layered surfaces. The aesthetic is sharp, square, and screen-efficient, treating the page as a single tightly organized sheet.
|
|
86
|
+
|
|
87
|
+
## 7. Do's and Don'ts
|
|
88
|
+
|
|
89
|
+
### Do
|
|
90
|
+
- Keep the ground white (#FFFFFF) and let dense lists and charts fill the screen.
|
|
91
|
+
- Ration the signature green (#00CD3C / live #00D344) for active states and primary actions only.
|
|
92
|
+
- Use square 0px corners on buttons and inputs to preserve the grid-like, streaming-tool feel.
|
|
93
|
+
- Build the text hierarchy from color — #1A1A1A for primary, #666666 for body, #999999 for the quietest labels.
|
|
94
|
+
- Use Pretendard (with 맑은 고딕 fallback) and keep type small: 12px body, 13-14px controls.
|
|
95
|
+
|
|
96
|
+
### Don't
|
|
97
|
+
- Invent rounded corners or soft cards — the corners are sharp (0px) throughout.
|
|
98
|
+
- Spread the green across large surfaces; it loses its signaling power if it stops being rare.
|
|
99
|
+
- Inflate type sizes; the density depends on small 12-14px text.
|
|
100
|
+
- Introduce the red accent (#DF2607) broadly — keep it as a sparing accent.
|
|
101
|
+
|
|
102
|
+
## 8. Responsive Behavior
|
|
103
|
+
|
|
104
|
+
The verified inspection covers the desktop web surface of melon.com, where the design is a dense, multi-column grid of charts and lists with small 12px body text and 40-42px control heights. No mobile breakpoint measurements are present in the verified data, so responsive specifics are described qualitatively: the density-first philosophy — many rows visible, square corners, color-driven wayfinding — is the constant, and any narrower layout would be expected to preserve the small type scale and the rationed green rather than redesign around them. Control heights in the 40-42px range (search input 40px, login button 42px) suggest comfortable tap targets even within the dense frame.
|
|
105
|
+
|
|
106
|
+
## 9. Agent Prompt Guide
|
|
107
|
+
|
|
108
|
+
When generating UI in the Melon style, instruct the agent: build on a white #FFFFFF ground with a dense, content-first grid of lists and charts. Use Pretendard (fallback 맑은 고딕) at small sizes — 12px body, 13-14px controls. Set text color by tier: #1A1A1A for headings and primary text, #666666 for body, #999999 for placeholders and the quietest labels. Make all buttons and inputs square (border-radius 0px). Use the signature Melon green only for primary actions and active states — primary button background #00D344 (or source green #00CD3C), white #FFFFFF text, 42px height, 14px/400 font. Search inputs: transparent background, #999999 text and placeholder, 40px height, 13px/400. Keep the red #DF2607 as a rare accent. Avoid rounded cards, drop shadows, and large type — the whole point is a sharp, high-density, green-on-white streaming tool.
|
|
109
|
+
|
|
110
|
+
## 10. Voice & Tone
|
|
111
|
+
|
|
112
|
+
Melon's voice is utilitarian and unfussy, matching a tool that exists to get you to the music fast. It is content-first: the product trusts the charts, lists, and track metadata to carry the experience, so the surrounding language stays brief, functional, and direct. Where the brand asserts itself, it does so through the green, not through chatty copy — the tone is efficient and confident, the voice of Korea's dominant streaming service that assumes you came to listen, not to read.
|
|
113
|
+
|
|
114
|
+
## 11. Brand Narrative
|
|
115
|
+
|
|
116
|
+
Melon is Korea's dominant music-streaming service, operated by Kakao Entertainment. Its identity is anchored by the signature Melon green — #00CD3C in the source CSS, rendering as a near-twin #00D344 on the live login button — set against an almost entirely white, high-density interface. The narrative is one of utility at scale: thousands of tracks, packed charts, and player controls organized into a sharp, square, grid-like surface where the brand green is rationed to mark the live and actionable. It is a design that says streaming is a daily utility, and that the brand's job is to be fast, dense, and unmistakably green-on-white.
|
|
117
|
+
|
|
118
|
+
## 12. Principles
|
|
119
|
+
|
|
120
|
+
- **Density over decoration** — pack charts and lists; show many rows; keep framing minimal.
|
|
121
|
+
- **Green is precious** — reserve the signature green (#00CD3C / #00D344) for active states and primary actions.
|
|
122
|
+
- **Sharp corners** — square 0px radius across components; no soft, rounded consumer look.
|
|
123
|
+
- **Color-driven hierarchy** — #1A1A1A / #666666 / #999999 do the structural work; type stays small.
|
|
124
|
+
- **White ground always** — #FFFFFF is the canvas that makes the green and the dense lists legible.
|
|
125
|
+
- **Content first** — the music and its metadata are the interface; chrome stays out of the way.
|
|
126
|
+
|
|
127
|
+
## 13. Personas
|
|
128
|
+
|
|
129
|
+
- **The daily listener** — opens Melon to scan charts and queue tracks; rewarded by density, fast browsing, and clear green active states that show where they are.
|
|
130
|
+
- **The chart watcher** — comes for the rankings and lists; the small 12px rows and #666666 metadata let many entries sit on screen at once.
|
|
131
|
+
- **The quick searcher** — taps the search input (40px, #999999 placeholder) to jump straight to a song; the utilitarian, square UI gets out of the way.
|
|
132
|
+
|
|
133
|
+
## 14. States
|
|
134
|
+
|
|
135
|
+
- **Default text:** #666666 body at 12px on white #FFFFFF.
|
|
136
|
+
- **Primary text / headings:** near-black #1A1A1A.
|
|
137
|
+
- **Placeholder / quiet label:** #999999 (search input text and placeholder).
|
|
138
|
+
- **Active / selected (nav, tabs, player):** signature green #00CD3C.
|
|
139
|
+
- **Primary action (login button):** background #00D344, white #FFFFFF text, 42px height.
|
|
140
|
+
- **Accent:** red #DF2607, used sparingly.
|
|
141
|
+
|
|
142
|
+
Hover, pressed, focus, and disabled state values were not captured in the verified data and are intentionally left undocumented rather than invented.
|
|
143
|
+
|
|
144
|
+
## 15. Motion & Easing
|
|
145
|
+
|
|
146
|
+
No motion, transition, or easing values were captured in the verified inspection of melon.com, so none are specified here. Qualitatively, the design's character is static and efficiency-driven — a dense, square, grid-like streaming surface — which implies restrained, functional motion (if any) rather than expressive animation. Any motion added in this style should stay subtle and quick, in keeping with the utilitarian, content-first feel, but no specific durations or curves are claimed because none were measured.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
**Verified:** 2026-06-01
|
|
150
|
+
**Tier 1 sources:** https://www.melon.com (official Melon service homepage, live CSS source), https://tech.kakaoent.com (Kakao Entertainment tech, Melon's operator), https://www.kakaocorp.com/page/service/service/Melon (Kakao Corp official Melon service page)
|
|
151
|
+
**Tier 2 sources:** getdesign.md/melon — NOT LISTED. refero — not listed. Note: live login button renders #00D344, a near-twin of the CSS signature green #00CD3C.
|
|
152
|
+
**Conflicts unresolved:** none
|
|
153
|
+
**Proof:** see .verification.md (## Proof block)
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: momoshop
|
|
3
|
+
name: "momo購物網"
|
|
4
|
+
country: TW
|
|
5
|
+
category: ecommerce
|
|
6
|
+
homepage: "https://www.momoshop.com.tw"
|
|
7
|
+
primary_color: "#D62872"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=momoshop.com.tw&sz=256"
|
|
11
|
+
verified: "2026-06-03"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# momo購物網
|
|
16
|
+
|
|
17
|
+
Taiwan's largest television and digital shopping platform, operated by Fubon Media Technology (富邦媒體科技), combining TV commerce heritage with a modern mobile-first marketplace offering millions of products across beauty, fashion, electronics, and daily essentials.
|
|
18
|
+
|
|
19
|
+
## 1. Visual Theme & Atmosphere
|
|
20
|
+
|
|
21
|
+
momo's digital product design radiates warm, confident energy rooted in its signature magenta-pink — a hue that traces back to its television shopping roots and reads instantly as "deal in progress." The overall atmosphere is dense but purposeful: a grid-forward layout packed with product imagery, price badges, and countdown timers communicates urgency and abundance simultaneously. Backgrounds stay cool-neutral (#F2F2F2 page canvas, #FAFAFA card surfaces) so that the hot pink accent and vivid product photography always pop. The typography follows a practical hierarchy — Microsoft JhengHei UI and PingFang TC for body readability in Traditional Chinese, with Century Gothic / Oxygen reserved exclusively for price numerals, which are the true focal stars on every product tile. Depth is achieved through subtle card shadows (0 1px 3px rgba(0,0,0,.1)) rather than heavy borders, keeping the eye moving across the catalogue grid rather than stopping at structural chrome.
|
|
22
|
+
|
|
23
|
+
## 2. Color Palette & Roles
|
|
24
|
+
|
|
25
|
+
- **Momo Pink (Primary):** `#D62872` — header background, primary CTA buttons, active nav indicators, brand logos, price accent, search-suggest titles
|
|
26
|
+
- **Momo Pink Dark (Hover/Active):** `#D9006C` — hover state of primary buttons, selected tab underlines
|
|
27
|
+
- **Shopping Cart Badge Pink:** `#E5047E` — notification badge background on cart icon
|
|
28
|
+
- **Momo Blue (Link/Secondary Action):** `#027BFF` — hyperlinks, filter chips, restriction-text color, secondary interactive elements
|
|
29
|
+
- **Sale Red (Price Alert):** `#DD2222` — discount labels, urgent sale badges, delete-confirm actions
|
|
30
|
+
- **Alert Red (Delete):** `#EA3323` — destructive actions (delete-all browse-history button)
|
|
31
|
+
- **Orange Gradient (Rank Badge):** `#FFAA3B` to `#FF9203` — top-ranked product number badges (linear-gradient)
|
|
32
|
+
- **Page Background:** `#F2F2F2` — global page canvas and footer zone
|
|
33
|
+
- **Card Surface:** `#FAFAFA` — product card and panel backgrounds
|
|
34
|
+
- **Search Chip Background:** `#F2F2F2` — recent-search pill chips
|
|
35
|
+
- **Text Primary:** `#404040` / `#454545` — body text, product titles
|
|
36
|
+
- **Text Secondary:** `#727272` / `#999999` — captions, metadata, placeholder text
|
|
37
|
+
- **Border Default:** `#EDEDED` — dividers, card borders
|
|
38
|
+
- **Border Medium:** `#B3B3B3` — input outlines, rules buttons
|
|
39
|
+
|
|
40
|
+
## 3. Typography Rules
|
|
41
|
+
|
|
42
|
+
- **Primary typeface:** `"Microsoft JhengHei UI", "SF Pro TC", "SF Pro Text", "PingFang TC", Helvetica, Arial, sans-serif` — used for all body, navigation, product titles, and UI labels (defined in `--primary-font-family` CSS variable)
|
|
43
|
+
- **Price typeface:** `"Oxygen", "Century Gothic", sans-serif` — used exclusively for price numerals (defined in `--price-font-family` CSS variable)
|
|
44
|
+
- **Base size:** 15px — search suggest titles (`font: 700 17px/24px var(--main-font)`), product list items 15px, captions 13px, badges 12px–11px
|
|
45
|
+
- **Weight scale:** 400 regular body, 700 bold for section headings, product names, price labels, search-trend titles
|
|
46
|
+
- **Line-height:** 1.5 base (defined on `:root`); 20px for 15px UI text; 18px for 13px caption text; 24px for 17px headings
|
|
47
|
+
- **Minimum size:** 11px (heat/rank metadata labels); no text below 11px in the search surface
|
|
48
|
+
|
|
49
|
+
## 4. Component Stylings
|
|
50
|
+
|
|
51
|
+
### Header Navigation
|
|
52
|
+
|
|
53
|
+
**Primary Header Bar**
|
|
54
|
+
- Background: `#D62872`
|
|
55
|
+
- Text: `#FFFFFF`
|
|
56
|
+
- Height: 44px
|
|
57
|
+
- Font: 26px / 700
|
|
58
|
+
|
|
59
|
+
**Cart Badge**
|
|
60
|
+
- Background: `#E5047E`
|
|
61
|
+
- Text: `#FFFFFF`
|
|
62
|
+
- Radius: 8px
|
|
63
|
+
- Width: 17px
|
|
64
|
+
- Height: 17px
|
|
65
|
+
- Font: 12px / 400
|
|
66
|
+
|
|
67
|
+
### Search Bar
|
|
68
|
+
|
|
69
|
+
**Search Input (Desktop)**
|
|
70
|
+
- Background: `#FFFFFF`
|
|
71
|
+
- Border: 1px solid `#B3B3B3`
|
|
72
|
+
- Height: 36px
|
|
73
|
+
- Padding: 8px 8px 8px 10px
|
|
74
|
+
- Radius: 4px
|
|
75
|
+
- Font: 15px / 400
|
|
76
|
+
|
|
77
|
+
**Search Chip Tag (Recent/Suggest)**
|
|
78
|
+
- Background: `#F2F2F2`
|
|
79
|
+
- Text: `#404040`
|
|
80
|
+
- Height: 32px
|
|
81
|
+
- Radius: 16px
|
|
82
|
+
- Padding: 6px 8px
|
|
83
|
+
- Font: 13px / 400
|
|
84
|
+
|
|
85
|
+
### Buttons
|
|
86
|
+
|
|
87
|
+
**Primary CTA Button (Error-page / Home)**
|
|
88
|
+
- Background: `#D62872`
|
|
89
|
+
- Text: `#FFFFFF`
|
|
90
|
+
- Height: 38px
|
|
91
|
+
- Radius: 4px
|
|
92
|
+
- Font: 16px / 700
|
|
93
|
+
|
|
94
|
+
**Destructive Button (Delete All)**
|
|
95
|
+
- Background: `#EA3323`
|
|
96
|
+
- Text: `#FFFFFF`
|
|
97
|
+
- Height: 44px
|
|
98
|
+
- Radius: 22px
|
|
99
|
+
- Width: 118px
|
|
100
|
+
- Font: 17px / 400
|
|
101
|
+
|
|
102
|
+
**Secondary Rules Button**
|
|
103
|
+
- Background: `#FFFFFF`
|
|
104
|
+
- Text: `#999999`
|
|
105
|
+
- Border: 1px solid `#B3B3B3`
|
|
106
|
+
- Radius: 13px
|
|
107
|
+
- Padding: 3px 5px 3px 8px
|
|
108
|
+
- Font: 13px / 400
|
|
109
|
+
|
|
110
|
+
### Trend / Product Cards
|
|
111
|
+
|
|
112
|
+
**Search Trend Card**
|
|
113
|
+
- Border: 1px solid `#FBE9F1`
|
|
114
|
+
- Radius: 15px
|
|
115
|
+
- Background: linear-gradient(180deg, `#FFF5F9`, `#F9F9F9`)
|
|
116
|
+
|
|
117
|
+
**Trend Item (Top 3 highlight)**
|
|
118
|
+
- Background: linear-gradient(90deg, `#FFE4F0`, `#FCF6F9`)
|
|
119
|
+
- Radius: 8px
|
|
120
|
+
- Padding: 6px 8px
|
|
121
|
+
|
|
122
|
+
**Trend Item (Standard)**
|
|
123
|
+
- Background: linear-gradient(90deg, `#F3F3F3`, `#FEF5F9`)
|
|
124
|
+
- Radius: 8px
|
|
125
|
+
- Padding: 6px 8px
|
|
126
|
+
|
|
127
|
+
### Rank Badge
|
|
128
|
+
|
|
129
|
+
**Rank Number (Top Orange)**
|
|
130
|
+
- Background: linear-gradient(0.34deg, `#FFAA3B` 0.29%, `#FF9203` 99.69%)
|
|
131
|
+
- Text: `#FFFFFF`
|
|
132
|
+
- Radius: 4px
|
|
133
|
+
- Width: 25px
|
|
134
|
+
- Height: 25px
|
|
135
|
+
- Font: 15px / 400
|
|
136
|
+
|
|
137
|
+
### Tooltip / Dialog
|
|
138
|
+
|
|
139
|
+
**Search Dialog Tooltip**
|
|
140
|
+
- Background: `rgba(0,0,0,.8)`
|
|
141
|
+
- Text: `#FFFFFF`
|
|
142
|
+
- Radius: 8px
|
|
143
|
+
- Padding: 12px
|
|
144
|
+
- Font: 15px / 700 (title), 13px / 400 (body)
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
**Verified:** 2026-06-03
|
|
148
|
+
**Tier 1 sources:** https://www.momoshop.com.tw/brand (HTML + inline CSS), https://www.momoshop.com.tw/about (HTML + inline CSS), https://image.momoshop.com.tw/ecm/font/theme-main.css (CSS custom properties), https://www.momoshop.com.tw/search/_next/static/css/93e50030b97ac6a5.css (Tailwind utility bundle), https://www.momoshop.com.tw/search/_next/static/css/a40c6c07c5abf802.css (component CSS)
|
|
149
|
+
**Tier 2 sources:** getdesign.md/momoshop — NOT LISTED ("No designs found for 'momoshop'"). refero ?q=momo — no result (TW brand, not indexed).
|
|
150
|
+
**Conflicts unresolved:** none
|
|
151
|
+
|
|
152
|
+
## 5. Layout Principles
|
|
153
|
+
|
|
154
|
+
- Fluid grid with horizontal product card lanes; mobile collapses to 2-column, desktop expands to 4–6 columns
|
|
155
|
+
- Header fixed at 44px height; body starts immediately beneath with no gutter
|
|
156
|
+
- Page canvas background always `#F2F2F2`; white (#FFFFFF) card surfaces float above canvas with 1px subtle shadow
|
|
157
|
+
- Search and filter controls anchored to a 36px tall persistent bar below the 44px header on mobile
|
|
158
|
+
- Categories use icon-label vertical stack in horizontal scrollable row; no wrapping
|
|
159
|
+
- Countdown timers, sale badges, and rank numbers overlay the top-left corner of product thumbnails
|
|
160
|
+
- Footer zone uses `#EEEEEE` background with `#484848` text at 13px for legal and service links
|
|
161
|
+
|
|
162
|
+
## 6. Depth & Elevation
|
|
163
|
+
|
|
164
|
+
- **Level 0 — Canvas:** `#F2F2F2` background, no shadow
|
|
165
|
+
- **Level 1 — Cards:** `#FFFFFF` / `#FAFAFA` surface, box-shadow `0 1px 2px 0 rgba(0,0,0,.05)`
|
|
166
|
+
- **Level 2 — Dropdowns/Panels:** box-shadow `0 1px 3px rgba(0,0,0,.1)`, z-index ~10
|
|
167
|
+
- **Level 3 — Modals/Side Drawers:** box-shadow `0 4px 6px -1px rgba(0,0,0,.1)`, z-index 1000
|
|
168
|
+
- **Level 4 — Toast/Tooltip overlays:** `rgba(0,0,0,.8)` background, z-index 1000+
|
|
169
|
+
- **Level 5 — Login modal overlay:** `rgba(0,0,0,.5)` scrim + container z-index 999999
|
|
170
|
+
|
|
171
|
+
## 7. Do's and Don'ts
|
|
172
|
+
|
|
173
|
+
### Do
|
|
174
|
+
- Use `#D62872` for all primary interactive elements — buttons, active states, brand signifiers
|
|
175
|
+
- Pair hot-pink backgrounds with pure white (`#FFFFFF`) text for maximum legibility
|
|
176
|
+
- Reserve `#DD2222` exclusively for price/discount signals and destructive confirmation actions
|
|
177
|
+
- Use pill chips (border-radius: 16px) for search tags and filter selections — keeps them distinct from rectangular buttons
|
|
178
|
+
- Apply the 44px touch-target minimum for all mobile interactive rows (header elements, list items)
|
|
179
|
+
- Use the Oxygen / Century Gothic price font for all numeric price displays to maintain the premium-meets-value visual signal
|
|
180
|
+
- Keep card backgrounds white or near-white (#FAFAFA) so product photography remains the visual hero
|
|
181
|
+
|
|
182
|
+
### Don't
|
|
183
|
+
- Do not use `#D62872` for error states — use `#DD2222` or `#EA3323` to avoid confusion with brand CTA
|
|
184
|
+
- Do not mix the price font (Oxygen/Century Gothic) into body copy — it is reserved solely for numerals
|
|
185
|
+
- Do not place text smaller than 11px (absolute minimum is the rank/heat metadata size)
|
|
186
|
+
- Do not use shadows heavier than `0 10px 15px -3px rgba(0,0,0,.1)` inside product cards — heavy shadows compete with product images
|
|
187
|
+
- Do not apply border-radius greater than 22px on action buttons — pill shapes above that threshold break the functional/brand balance
|
|
188
|
+
- Do not leave the page canvas as pure white — the `#F2F2F2` canvas is essential for making white card surfaces appear elevated
|
|
189
|
+
|
|
190
|
+
## 8. Responsive Behavior
|
|
191
|
+
|
|
192
|
+
- **Mobile (≤768px):** Single or 2-column product grid; header collapses to 44px icon-bar; search triggers full-screen overlay (100vh); category icons in horizontal scroll lane; bottom navigation bar fixed at ~44px
|
|
193
|
+
- **Tablet (768–1024px):** 3-column product grid; inline search bar at 36px height; category row with text labels visible
|
|
194
|
+
- **Desktop (≥1024px):** 4–6 column grid; full header with logo + search bar (440px wide) + nav links; browsing-history side drawer (137px) docks to right edge; hover states active (`hover:text-[#D62872]`, `group-hover:bg-[#D62872]`)
|
|
195
|
+
- Touch targets: minimum 44px height across all mobile interactive elements (header buttons, list rows, bottom bar)
|
|
196
|
+
- Images: all set `h-auto` to maintain aspect ratio across breakpoints; product thumbnails use fixed-ratio containers
|
|
197
|
+
|
|
198
|
+
## 9. Agent Prompt Guide
|
|
199
|
+
|
|
200
|
+
To replicate momo's visual language in a UI component or prototype:
|
|
201
|
+
|
|
202
|
+
- Set global background to `#F2F2F2`; use `#FFFFFF` card surfaces with `box-shadow: 0 1px 3px rgba(0,0,0,.1)`
|
|
203
|
+
- Primary brand color: `#D62872`; hover/pressed: `#D9006C`; never tint or desaturate it
|
|
204
|
+
- Font stack: `"Microsoft JhengHei UI", "PingFang TC", Helvetica, Arial, sans-serif`; price numerals: `"Oxygen", "Century Gothic", sans-serif` in bold
|
|
205
|
+
- Header: 44px tall, `#D62872` fill, white text/icons
|
|
206
|
+
- CTA buttons: `height 38–44px`, `border-radius 4–8px`, `background #D62872`, `color #FFFFFF`, `font-weight 700`
|
|
207
|
+
- Search chips: `height 32px`, `border-radius 16px`, `background #F2F2F2`, `color #404040`
|
|
208
|
+
- Rank badges top 1-3: orange gradient `#FFAA3B → #FF9203`, white text, `border-radius 4px`, `25×25px`
|
|
209
|
+
- Price/discount labels: `#DD2222`, bold, Oxygen/Century Gothic numerals
|
|
210
|
+
- Error/delete actions: `#EA3323`
|
|
211
|
+
- Dividers: 1px solid `#EDEDED`; placeholder text: `#999999`
|
|
212
|
+
|
|
213
|
+
## 10. Voice & Tone
|
|
214
|
+
|
|
215
|
+
momo's copy is **direct, warm, and deal-forward**. Every word either confirms a saving or removes friction from the purchase decision. The register is colloquial Mandarin Chinese with light excitement — not corporate, never cold.
|
|
216
|
+
|
|
217
|
+
**3 adjectives:** Energetic, trustworthy, deal-focused.
|
|
218
|
+
|
|
219
|
+
| Do | Don't |
|
|
220
|
+
|----|-------|
|
|
221
|
+
| Lead with the saving: "限時下殺" (time-limited flash sale) | Use vague superlatives without anchoring to a number |
|
|
222
|
+
| Use short active sentences: "立刻搶購" (grab it now) | Write multi-clause sentences that bury the price |
|
|
223
|
+
| Address the user directly: "你找到更多更多" | Use passive or impersonal framing |
|
|
224
|
+
| Emphasize concrete logistics: "24H快速到貨" | Promise without specifying the timeframe |
|
|
225
|
+
| Blend trust signals naturally: "十天猶豫期" | Relegate return policies to fine-print footnotes |
|
|
226
|
+
|
|
227
|
+
**Voice samples (illustrative):**
|
|
228
|
+
- *Illustrative:* "讓你找到更多更多 — 數十萬件商品,24小時快速到貨,讓購物更輕鬆。"
|
|
229
|
+
- *Illustrative:* "今日限時下殺!錯過等一年,快搶!"
|
|
230
|
+
- *Illustrative:* "新會員首購禮金,馬上領,立刻用,不花冤枉錢。"
|
|
231
|
+
|
|
232
|
+
## 11. Brand Narrative
|
|
233
|
+
|
|
234
|
+
momo購物網 was established by Fubon Media Technology Co., Ltd. (富邦媒體科技股份有限公司), a joint venture under Fubon Financial Holdings and Taiwan Mobile (台灣大哥大). What began as a television shopping channel evolved into Taiwan's largest integrated shopping platform, extending the immediacy and excitement of live TV commerce into an always-on digital experience. The company's Apple App ID (861796017) and the long-running tagline "讓你找到更多更多" — "helping you find more and more" — encapsulate the brand's core promise: an endlessly expanding catalogue that surfaces exactly what each shopper needs.
|
|
235
|
+
|
|
236
|
+
The platform distinguishes itself through operational excellence: 24-hour rapid delivery, convenience-store pickup, a 10-day no-questions return window, and 16 payment methods that meet users wherever they bank. This operational depth is the bedrock of the brand's trust — not aesthetic polish, but a demonstrated commitment to removing every barrier between desire and delivery. With over 730,000 App Store reviews averaging 4.9 stars, momo's reputation rests on the reliability of that promise.
|
|
237
|
+
|
|
238
|
+
Today momo positions itself beyond pure retail, hosting flagship brand stores (Apple, Dyson, MUJI, Estée Lauder), travel and dining e-tickets, insurance products, and a points-based affiliate program. The brand's visual identity — that unmistakable magenta-pink — functions as a permanent signal of value in motion, readable at a glance across television, mobile, and web surfaces.
|
|
239
|
+
|
|
240
|
+
## 12. Principles
|
|
241
|
+
|
|
242
|
+
1. **Value Visibility First.** Price, discount depth, and delivery speed are the headline. No UI element should compete with or obscure these signals. *UI implication:* Price numerals use a dedicated typeface (Oxygen/Century Gothic), appear in `#DD2222` for discounts, and occupy the most prominent position on every product tile.
|
|
243
|
+
|
|
244
|
+
2. **Friction Removal at Every Step.** From 16 payment methods to convenience-store pickup, the brand obsesses over eliminating barriers. *UI implication:* Search must offer instant suggestions, filter chips must be one-tap, and cart actions must never require a page reload on mobile.
|
|
245
|
+
|
|
246
|
+
3. **Warm Urgency Without Panic.** Countdown timers and "flash sale" badges create excitement without manufactured anxiety. The brand's magenta is energetic, not alarming. *UI implication:* Use `#D62872` for urgency signals, never pure red; reserve `#DD2222` only for confirmed discounts and destructive confirmations.
|
|
247
|
+
|
|
248
|
+
4. **Trust Through Transparency.** Anti-fraud notices, return policy emphasis, and clear logistics specs reflect a brand that treats trust as a product feature. *UI implication:* Trust badges and policy links must appear at checkout-adjacent surfaces, styled with equal visual weight to promotional copy.
|
|
249
|
+
|
|
250
|
+
5. **Consistent Brand Recognition Across Surfaces.** The brand spans TV, web, iOS, and Android. The magenta header and pink accent must be identical across all surfaces. *UI implication:* `#D62872` is non-negotiable — no tints, no gradients on the primary header; gradient use is limited to decorative accents (rank badges, trending cards).
|
|
251
|
+
|
|
252
|
+
## 13. Personas
|
|
253
|
+
|
|
254
|
+
*Illustrative Busy Mom (Lin, 38, Taichung):* She shops on her phone between school pickups. She filters by fastest delivery and uses the convenience-store pickup for anything she needs to control the schedule of. She trusts momo because the 10-day return window means she can buy without overthinking. Her price sensitivity is moderate — she watches flash-sales but always checks reviews.
|
|
255
|
+
|
|
256
|
+
*Illustrative College Student (Jerry, 21, Taipei):* He discovered momo through an app-exclusive discount alert. He primarily buys electronics, headphones, and K-beauty skincare. He uses the image-search feature and relies on the official brand flagship stores (Apple, Dyson) as trust signals. He pays via Apple Pay.
|
|
257
|
+
|
|
258
|
+
*Illustrative Home Manager (Mrs. Chen, 55, Kaohsiung):* She came from the TV shopping channel and feels comfortable with momo's familiar visual rhythm — lots of products, clear prices, reassuring customer service. She calls the hotline when uncertain, values the anti-fraud messaging, and prefers credit card installment payments.
|
|
259
|
+
|
|
260
|
+
*Illustrative Deal Seeker (Tom, 29, Hsinchu):* He opens the momo app daily to check the 5-fold group-buy and daily flash sale sections. He is motivated entirely by price and delivery speed. He has accumulated significant loyalty points and routes almost all household purchases through momo.
|
|
261
|
+
|
|
262
|
+
## 14. States
|
|
263
|
+
|
|
264
|
+
- **Empty (No results):** Full-page illustration with brand-pink accent, short encouragement copy ("找不到?試試其他關鍵字"), and a secondary suggestion chip row in `#F2F2F2` pills
|
|
265
|
+
- **Loading (Skeleton):** `border-radius: 4px` grey `#EDEDED` shimmer blocks replacing product thumbnails and title text; column layout preserved to prevent reflow
|
|
266
|
+
- **Error (Network failure):** Centered error message with `#D62872` home-return button (`height 38px`, `border-radius 4px`), redirecting to `Main.jsp`
|
|
267
|
+
- **Error (Destructive confirm):** Alert dialog with `#EDEDED` divider, cancel left, confirm-delete right in `#DD2726` (red) — `font: 17px Helvetica`
|
|
268
|
+
- **Success (Order placed):** Toast or overlay with `#D62872` accent color, brief confirmation copy, auto-dismisses after ~2s
|
|
269
|
+
- **Skeleton (Browse history panel):** Side drawer (`width 137px`) shows `#FAFAFA` card placeholders; spinner absent; position is preserved
|
|
270
|
+
- **Disabled (OOS product):** CTA button muted to `#B3B3B3` fill with `#FFFFFF` text; price label remains visible; "補貨通知" (restock alert) secondary link in `#027BFF`
|
|
271
|
+
- **Hover (Desktop link/card):** Text and borders shift to `#D62872` via `.hover:text-[#D62872]` and `.group-hover:bg-[#D62872]` utility classes; transition implicit (no explicit duration in source)
|
|
272
|
+
|
|
273
|
+
## 15. Motion & Easing
|
|
274
|
+
|
|
275
|
+
- **Short interactions (badge, tooltip appear):** ~150ms
|
|
276
|
+
- **Panel / overlay transitions (login modal, browsing history drawer):** `transition: opacity .3s, background-color .3s` — confirmed from `browsing-history` CSS
|
|
277
|
+
- **Search overlay:** `height: 0` → `auto` (no explicit duration; instant DOM swap via `.show` class toggle)
|
|
278
|
+
- **Easing:** Default browser easing (no custom cubic-bezier defined in inspected source); overlays use linear or ease for opacity fades
|
|
279
|
+
- **Rules:** Motion is functional, not decorative. No parallax, no scroll animations. Transitions serve only to soften state changes (modal appear/disappear, drawer open/close). Product grid items do not animate on scroll.
|