oh-my-design-cli 1.8.2 → 1.8.7

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 (83) hide show
  1. package/README.ja.md +5 -5
  2. package/README.ko.md +7 -7
  3. package/README.md +7 -7
  4. package/README.zh-TW.md +5 -5
  5. package/agents/omd-master.md +1 -1
  6. package/data/reference-fingerprints.json +1696 -17
  7. package/package.json +3 -1
  8. package/skills/omd-feel/SKILL.md +152 -0
  9. package/skills/omd-feel/provenance.md +233 -0
  10. package/skills/omd-feel/reference.md +254 -0
  11. package/skills/omd-harness/SKILL.md +1 -1
  12. package/skills/omd-init/SKILL.md +1 -1
  13. package/skills/omd-reference-capture/SKILL.md +1 -1
  14. package/web/references/591/DESIGN.md +460 -0
  15. package/web/references/airbridge/DESIGN.md +451 -0
  16. package/web/references/asana/DESIGN.md +485 -0
  17. package/web/references/asos/DESIGN.md +475 -0
  18. package/web/references/bahamut/DESIGN.md +416 -0
  19. package/web/references/bbc/DESIGN.md +439 -0
  20. package/web/references/bigin/DESIGN.md +454 -0
  21. package/web/references/buzzvil/DESIGN.md +457 -0
  22. package/web/references/cafe24/DESIGN.md +472 -0
  23. package/web/references/chunghwa/DESIGN.md +419 -0
  24. package/web/references/codeit/DESIGN.md +470 -0
  25. package/web/references/databricks/DESIGN.md +467 -0
  26. package/web/references/datarize/DESIGN.md +451 -0
  27. package/web/references/deliveroo/DESIGN.md +458 -0
  28. package/web/references/doordash/DESIGN.md +429 -0
  29. package/web/references/easywallet/DESIGN.md +449 -0
  30. package/web/references/elice/DESIGN.md +445 -0
  31. package/web/references/esunbank/DESIGN.md +445 -0
  32. package/web/references/farfetch/DESIGN.md +436 -0
  33. package/web/references/fubon/DESIGN.md +438 -0
  34. package/web/references/furiosaai/DESIGN.md +450 -0
  35. package/web/references/goorm/DESIGN.md +470 -0
  36. package/web/references/govuk/DESIGN.md +450 -0
  37. package/web/references/greencar/DESIGN.md +420 -0
  38. package/web/references/hackle/DESIGN.md +472 -0
  39. package/web/references/hana/DESIGN.md +439 -0
  40. package/web/references/hubspot/DESIGN.md +485 -0
  41. package/web/references/hwahae/DESIGN.md +453 -0
  42. package/web/references/hyundai/DESIGN.md +468 -0
  43. package/web/references/icook/DESIGN.md +432 -0
  44. package/web/references/instacart/DESIGN.md +439 -0
  45. package/web/references/ipassmoney/DESIGN.md +407 -0
  46. package/web/references/kakaopage/DESIGN.md +439 -0
  47. package/web/references/kbpay/DESIGN.md +442 -0
  48. package/web/references/kcd/DESIGN.md +432 -0
  49. package/web/references/kia/DESIGN.md +411 -0
  50. package/web/references/kyobobook/DESIGN.md +445 -0
  51. package/web/references/lablup/DESIGN.md +474 -0
  52. package/web/references/lemonbase/DESIGN.md +452 -0
  53. package/web/references/liner/DESIGN.md +465 -0
  54. package/web/references/makinarocks/DESIGN.md +442 -0
  55. package/web/references/monzo/DESIGN.md +461 -0
  56. package/web/references/moreh/DESIGN.md +437 -0
  57. package/web/references/naverpay/DESIGN.md +478 -0
  58. package/web/references/neosapience/DESIGN.md +441 -0
  59. package/web/references/nota/DESIGN.md +451 -0
  60. package/web/references/octopusenergy/DESIGN.md +436 -0
  61. package/web/references/openpoint/DESIGN.md +431 -0
  62. package/web/references/paypal/DESIGN.md +459 -0
  63. package/web/references/portone/DESIGN.md +446 -0
  64. package/web/references/queenit/DESIGN.md +432 -0
  65. package/web/references/rebellions/DESIGN.md +449 -0
  66. package/web/references/reddit/DESIGN.md +537 -0
  67. package/web/references/returnzero/DESIGN.md +460 -0
  68. package/web/references/samsung/DESIGN.md +465 -0
  69. package/web/references/saramin/DESIGN.md +465 -0
  70. package/web/references/shiftee/DESIGN.md +468 -0
  71. package/web/references/shinhanbank/DESIGN.md +429 -0
  72. package/web/references/skyscanner/DESIGN.md +563 -0
  73. package/web/references/snapchat/DESIGN.md +460 -0
  74. package/web/references/solapi/DESIGN.md +483 -0
  75. package/web/references/squarespace/DESIGN.md +454 -0
  76. package/web/references/ssg/DESIGN.md +439 -0
  77. package/web/references/starling/DESIGN.md +404 -0
  78. package/web/references/supertone/DESIGN.md +413 -0
  79. package/web/references/taiwanmobile/DESIGN.md +445 -0
  80. package/web/references/trainline/DESIGN.md +454 -0
  81. package/web/references/vuno/DESIGN.md +413 -0
  82. package/web/references/weverse/DESIGN.md +437 -0
  83. package/web/references/zoom/DESIGN.md +457 -0
@@ -0,0 +1,449 @@
1
+ ---
2
+ id: easywallet
3
+ name: EasyWallet
4
+ country: TW
5
+ category: fintech
6
+ homepage: "https://easywallet.easycard.com.tw"
7
+ primary_color: "#007bc6"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=easywallet.easycard.com.tw&sz=128"
11
+ verified: "2026-06-22"
12
+ omd: "0.1"
13
+ tokens:
14
+ source: live-extract
15
+ extracted: "2026-06-22"
16
+ note: "primary = EasyWallet brand blue (#007bc6) used for text-highlight blocks on easywallet.easycard.com.tw intro site; magenta (#e4007f) = circle/decorative accent; yellow (#f6ac19) = nav border + step line; teal (#66ecd2) = loading overlay (brand teal family); body text #333333."
17
+ colors:
18
+ primary: "#007bc6"
19
+ primary-hover: "#006ba8"
20
+ brand-teal: "#66ecd2"
21
+ accent-magenta: "#e4007f"
22
+ accent-yellow: "#f6ac19"
23
+ accent-yellow-nav: "#f7b146"
24
+ accent-green: "#40a731"
25
+ canvas: "#ffffff"
26
+ surface: "#efefef"
27
+ body: "#333333"
28
+ text-secondary: "#595153"
29
+ on-primary: "#ffffff"
30
+ placeholder: "#413b3b"
31
+ hairline: "#bfbfbf"
32
+ typography:
33
+ family: { display: "Noto Sans TC", body: "PingFang TC", fallback: "微軟正黑體, Microsoft JhengHei, Arial, sans-serif" }
34
+ hero-xxl: { size: 234, weight: 700, lineHeight: 1.0, use: "Oversized brand word BEEP! hero text" }
35
+ hero-lg: { size: 58, weight: 700, lineHeight: 1.2, use: "Section H5 main headline" }
36
+ hero-sub: { size: 43, weight: 700, lineHeight: 1.2, use: "H4 hero tagline 智慧升級,放心悠遊!" }
37
+ section-title: { size: 38, weight: 700, lineHeight: 1.3, use: "Feature section titles (管理悠遊卡 steps)" }
38
+ sub-title: { size: 25, weight: 500, lineHeight: 1.4, use: "H6 sub-headline under section heading" }
39
+ highlight: { size: 20, weight: 500, lineHeight: 1.5, letterSpacing: "0.17em", use: "Text-highlight box content on brand blue" }
40
+ nav: { size: 13.5, weight: 400, lineHeight: 1.4, letterSpacing: "0.03em", use: "Navigation menu items" }
41
+ body: { size: 16, weight: 400, lineHeight: 1.5, use: "Standard body text" }
42
+ caption: { size: 11, weight: 300, lineHeight: 1.0, letterSpacing: "0.1em", use: "Footer legal text / copyright" }
43
+ download-cta: { size: 16, weight: 700, lineHeight: 1.0, letterSpacing: "0.1em", use: "App download CTA button label" }
44
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
45
+ rounded: { sm: 4, md: 8, lg: 16, full: 9999 }
46
+ shadow:
47
+ card: "rgba(0, 0, 0, 0.15) 0px 10px 20px 0px"
48
+ nav: "rgba(0, 0, 0, 0.2) 0px 2px 4px 0px"
49
+ components:
50
+ button-download: { type: button, bg: "#000000", fg: "#ffffff", font: "16px / 700 Noto Sans TC", padding: "20px 32px", use: "App download CTA — App Store / Google Play" }
51
+ button-blue: { type: button, bg: "#007bc6", fg: "#ffffff", radius: "4px", font: "15px / 400 Noto Sans TC", padding: "8px 25px", use: "Primary action button (藍色按鈕)" }
52
+ button-outline-blue: { type: button, fg: "#007bc6", border: "1px solid #007bc6", radius: "4px", font: "15px / 400 Noto Sans TC", padding: "8px 25px", use: "Secondary outline button" }
53
+ button-yellow: { type: button, bg: "#f6ac19", fg: "#ffffff", radius: "4px", font: "15px / 400 Noto Sans TC", padding: "8px 25px", use: "Accent yellow CTA" }
54
+ button-magenta: { type: button, bg: "#e4007f", fg: "#ffffff", radius: "4px", font: "15px / 400 Noto Sans TC", padding: "8px 25px", use: "Accent magenta action" }
55
+ highlight-block: { type: card, bg: "#007bc6", fg: "#ffffff", font: "20px / 500 Noto Sans TC", padding: "8px 12px", use: "Inline text-highlight box for body copy emphasis" }
56
+ card-surface: { type: card, bg: "#efefef", fg: "#333333", radius: "8px", use: "Content section card on light grey surface" }
57
+ card-white: { type: card, bg: "#ffffff", fg: "#333333", radius: "8px", shadow: "rgba(0,0,0,0.15) 0px 10px 20px 0px", use: "Elevated white card for feature content" }
58
+ nav-item: { type: tab, fg: "#000000", font: "13.5px / 400 Noto Sans TC", use: "Nav menu item", active: "2px bottom border #f7b146 on hover/active" }
59
+ badge-green: { type: badge, bg: "#40a731", fg: "#ffffff", radius: "4px", font: "12px / 400 Noto Sans TC", use: "Success or step completion status" }
60
+ circle-feature: { type: badge, bg: "#e4007f", fg: "#ffffff", radius: "9999px", use: "Circle feature tab indicator (四大優勢 selector)" }
61
+ input-default: { type: input, bg: "#ffffff", border: "1px solid #bfbfbf", radius: "4px", font: "16px / 400 Noto Sans TC", use: "Standard form input" }
62
+ components_harvested: true
63
+ ---
64
+
65
+ # Design System Inspiration of EasyWallet
66
+
67
+ ## 1. Visual Theme & Atmosphere
68
+
69
+ EasyWallet (悠遊付) is Taiwan's leading mobile payment app, developed by EasyCard Corporation (悠遊卡股份有限公司). Its marketing website — `easywallet.easycard.com.tw` — projects a clean, modern, mobile-first personality that bridges the brand's public-transit roots with contemporary digital-wallet design. The page opens on a white canvas (`#ffffff`) with a near-white grey (`#efefef`) used for scene transitions, keeping the palette airy and spacious.
70
+
71
+ The most arresting moment is the hero scene: the oversized word "BEEP!" in massive weight-700 type dominates the viewport — a playful nod to the audible NFC beep when tapping an EasyCard reader. The hero tagline "智慧升級,放心悠遊!" (Smart upgrade, worry-free travel) appears in a clean `#000000`, followed immediately by signature brand-blue (`#007bc6`) text-highlight blocks that frame the product promise in crisp, banner-like contrast. This "text on brand blue" pattern — white type set against solid `#007bc6` rectangles — is the system's primary emphasis device.
72
+
73
+ The secondary palette is vivid and purposeful: a warm magenta (`#e4007f`) signals interactive feature tabs and decorative circle elements; a golden yellow (`#f6ac19`) marks step lines and navigation accents; and a teal/cyan (`#66ecd2`) — EasyCard's legacy transit color — appears in the initial loading overlay, maintaining brand heritage. The typographic stack leads with **Noto Sans TC** for display and UI, with PingFang TC and 微軟正黑體 as cross-platform fallbacks, keeping the experience sharp and legible across all Taiwanese user environments.
74
+
75
+ **Key Characteristics:**
76
+ - EasyWallet brand blue (`#007bc6`) for inline text-highlight blocks and primary CTAs
77
+ - Warm magenta (`#e4007f`) for feature-selector circles and animated decorative elements
78
+ - Golden accent yellow (`#f6ac19`) for nav underline borders and step navigation indicators
79
+ - Brand teal (`#66ecd2`) in loading overlay — the EasyCard transit color heritage
80
+ - Oversized display type ("BEEP!" at ~234px) for bold, playful brand entry moment
81
+ - Noto Sans TC / PingFang TC as the pan-CJK type stack
82
+ - Near-shadowless flat design; subtle drop-shadow only on elevated card surfaces
83
+ - Full-viewport scrolljack sections with smooth 0.5s transitions between scenes
84
+
85
+ ## 2. Color Palette & Roles
86
+
87
+ ### Primary
88
+ - **EasyWallet Blue** (`#007bc6`): Primary brand color. Used for inline text-highlight blocks on the hero and for primary action buttons across the EasyCard corporate site. The definitive "action and identity" color.
89
+ - **Blue Hover** (`#006ba8`): Darkened primary for hover states on blue buttons.
90
+
91
+ ### Brand Accents
92
+ - **Brand Teal** (`#66ecd2`): EasyCard's legacy transit-teal, appearing as the loading-screen background. Ties digital EasyWallet to the physical EasyCard's cyan identity.
93
+ - **Accent Magenta** (`#e4007f`): Vivid pink-magenta for decorative circle feature tabs (四大優勢 selectors) and animated background circles. High-energy, eye-catching.
94
+ - **Accent Yellow** (`#f6ac19`): Warm golden yellow for step-line indicators and feature nav highlights.
95
+ - **Nav Yellow** (`#f7b146`): Slightly lighter yellow for the nav bar bottom border and hover underlines.
96
+ - **Accent Green** (`#40a731`): Success state and numbered step callouts.
97
+
98
+ ### Neutral & Surface
99
+ - **Canvas** (`#ffffff`): Primary page background and card surfaces.
100
+ - **Surface Grey** (`#efefef`): Light grey for alternating scene backgrounds (s-1 intro scene, s-6 footer scene).
101
+ - **Body Text** (`#333333`): Primary text color across EasyCard corporate site.
102
+ - **Secondary Text** (`#595153`): Warm dark-grey for section title copy in feature scenes.
103
+ - **Hairline** (`#bfbfbf`): Subtle separator and form input border.
104
+ - **Placeholder** (`#413b3b`): Form input placeholder text.
105
+ - **On-Primary** (`#ffffff`): White text on blue, magenta, or yellow brand backgrounds.
106
+
107
+ ## 3. Typography Rules
108
+
109
+ ### Font Family
110
+ - **Display / UI**: `Noto Sans TC` — the primary face across headings, nav, and feature text. The modern, legible pan-CJK sans-serif.
111
+ - **System Fallback**: `PingFang TC` (macOS/iOS), `微軟正黑體` / `Microsoft JhengHei` (Windows), then `Arial, sans-serif`.
112
+
113
+ ### Hierarchy
114
+
115
+ | Role | Font | Size | Weight | Notes |
116
+ |------|------|------|--------|-------|
117
+ | Hero brand word | Noto Sans TC | ~234px | 700 | "BEEP!" oversized identity mark |
118
+ | H5 section headline | Noto Sans TC | 58px | 700 | Main section title (e.g., "悠遊付") |
119
+ | H4 hero tagline | Noto Sans TC | 43px | 700 | "智慧升級,放心悠遊!" |
120
+ | Section feature title | Noto Sans TC | 38px | 700 | Step-level feature titles, `#595153` |
121
+ | H6 sub-headline | Noto Sans TC | 25px | 500 | Below section H5 |
122
+ | Highlight text | Noto Sans TC | 20px | 500 | In brand-blue block, ls 0.17em |
123
+ | Nav link | Noto Sans TC | 13.5px | 400 | ls 0.03em, white on dark overlay |
124
+ | Body copy | Noto Sans TC | 16px | 400 | Standard prose |
125
+ | Download CTA | Noto Sans TC | 16px | 700 | ls 0.1em, in black button |
126
+ | Footer / caption | Noto Sans TC | ~11px | 300 | ls 0.17em, white on dark footer |
127
+
128
+ ### Principles
129
+ - **Expressive display, functional body**: The huge "BEEP!" hero text establishes brand personality; Noto Sans TC at 16px / 400 handles informational content.
130
+ - **Letter-spacing for CJK legibility**: Consistent 0.03–0.17em tracking on Chinese body/feature text; tighter for very large display.
131
+ - **Weight 700 for headlines, 500 for sub-copy, 400 for body**: a clean three-step weight ladder.
132
+
133
+ ## 4. Component Stylings
134
+
135
+ ### Buttons
136
+
137
+ **App Download CTA**
138
+ - Background: `#000000`
139
+ - Text: `#ffffff`
140
+ - Font: 16px Noto Sans TC weight 700
141
+ - Padding: 20px 32px
142
+ - Use: "立即下載 / DOWNLOAD NOW" — primary app entry point
143
+
144
+ **Primary Blue Button**
145
+ - Background: `#007bc6`
146
+ - Text: `#ffffff`
147
+ - Radius: 4px
148
+ - Font: 15px Noto Sans TC weight 400
149
+ - Padding: 8px 25px
150
+ - Hover: Background `#006ba8`
151
+ - Use: Primary action on EasyCard corporate site
152
+
153
+ **Outline Blue Button**
154
+ - Text: `#007bc6`
155
+ - Border: 1px solid `#007bc6`
156
+ - Radius: 4px
157
+ - Font: 15px Noto Sans TC weight 400
158
+ - Padding: 8px 25px
159
+ - Hover: Background `#007bc6`, Text `#ffffff`
160
+ - Use: Secondary action, lower emphasis
161
+
162
+ **Yellow Accent Button**
163
+ - Background: `#f6ac19`
164
+ - Text: `#ffffff`
165
+ - Radius: 4px
166
+ - Font: 15px Noto Sans TC weight 400
167
+ - Hover: Background `#f59205`
168
+ - Use: Accent CTA in promotional contexts
169
+
170
+ **Magenta Accent Button**
171
+ - Background: `#e4007f`
172
+ - Text: `#ffffff`
173
+ - Radius: 4px
174
+ - Font: 15px Noto Sans TC weight 400
175
+ - Hover: Background `#d5007d`
176
+ - Use: High-emphasis accent in promotional campaigns
177
+
178
+ ### Cards & Containers
179
+
180
+ **Highlight Text Block**
181
+ - Background: `#007bc6`
182
+ - Text: `#ffffff`
183
+ - Font: 20px Noto Sans TC weight 500
184
+ - Padding: 8px 12px
185
+ - Use: Inline brand-blue text-highlight box wrapping key product-promise sentences
186
+
187
+ **Surface Card**
188
+ - Background: `#efefef`
189
+ - Text: `#333333`
190
+ - Radius: 8px
191
+ - Use: Content section on grey-background scene
192
+
193
+ **Elevated White Card**
194
+ - Background: `#ffffff`
195
+ - Text: `#333333`
196
+ - Radius: 8px
197
+ - Shadow: `rgba(0, 0, 0, 0.15) 0px 10px 20px 0px`
198
+ - Use: Floating feature content card on white/grey page
199
+
200
+ ### Badges
201
+
202
+ **Feature Circle (active)**
203
+ - Background: `#e4007f`
204
+ - Text: `#ffffff`
205
+ - Radius: 9999px
206
+ - Use: Active state for the round 四大優勢 (4 advantages) feature selector circles
207
+
208
+ **Success Badge**
209
+ - Background: `#40a731`
210
+ - Text: `#ffffff`
211
+ - Radius: 4px
212
+ - Font: 12px Noto Sans TC weight 400
213
+ - Use: Step numbering, success states, step-1 indicator
214
+
215
+ ### Inputs
216
+
217
+ **Default Text Input**
218
+ - Background: `#ffffff`
219
+ - Border: 1px solid `#bfbfbf`
220
+ - Radius: 4px
221
+ - Font: 16px Noto Sans TC weight 400
222
+ - Placeholder: `#413b3b`
223
+ - Use: Standard form input field
224
+
225
+ ### Tabs / Navigation
226
+
227
+ **Nav Menu Item**
228
+ - Text: `#ffffff` (on dark nav overlay)
229
+ - Font: 13.5px Noto Sans TC weight 400
230
+ - Letter-spacing: 0.03em
231
+ - Use: Primary navigation links (四大優勢, 悠遊付影片, 合作銀行, 安全認證)
232
+ - Active: 2px bottom border `#f7b146` on hover
233
+
234
+ ---
235
+
236
+ **Verified:** 2026-06-22 (omd:add-reference CREATE — Tier 1 live inspect)
237
+ **Tier 1 sources:** https://easywallet.easycard.com.tw, https://www.easycard.com.tw/
238
+ **Tier 2 sources:** getdesign.md/easywallet (not found) | refero easywallet (not found)
239
+ **Conflicts unresolved:** none
240
+
241
+ ## 5. Layout Principles
242
+
243
+ ### Spacing System
244
+ - Base unit: 4px
245
+ - Scale: 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px
246
+ - Feature sections use full-viewport height (100vh) scenes with scrolljack navigation
247
+
248
+ ### Grid & Container
249
+ - Full-viewport scene-based layout: each feature gets its own 100vh scrolljack "scene" (s-1 through s-6)
250
+ - Nav bar is fixed at top, white background, 58px height, with `#f7b146` 2px bottom border
251
+ - Content is centered within scenes; text blocks are left-aligned within centered containers
252
+ - Dot-based vertical scene navigation on the right side for desktop
253
+
254
+ ### Whitespace Philosophy
255
+ - **Breath at scale**: full-viewport scenes create extreme whitespace, each feature gets an entire screen
256
+ - **Animation-first**: transitions (0.5s) between scenes deliver perceived luxury — the scroll experience IS the design
257
+ - **Blue block as punctuation**: the `#007bc6` text-highlight blocks create visual "bolding" of key sentences in an otherwise minimal layout
258
+
259
+ ### Border Radius Scale
260
+ - Sharp/none (0px): legacy EasyCard nav links
261
+ - Small (4px): buttons, inputs, feature badges
262
+ - Medium (8px): cards and content containers
263
+ - Full (9999px): circle feature selectors
264
+
265
+ ## 6. Depth & Elevation
266
+
267
+ | Level | Treatment | Use |
268
+ |-------|-----------|-----|
269
+ | Flat (Level 0) | No shadow | Most surface areas, nav links |
270
+ | Card (Level 1) | `rgba(0,0,0,0.15) 0px 10px 20px 0px` | Elevated white content cards |
271
+ | Nav (Level 2) | `rgba(0,0,0,0.2) 0px 2px 4px 0px` | Fixed nav bar lift |
272
+
273
+ **Shadow philosophy**: EasyWallet is predominantly flat. Depth communicates only on elevated cards and the fixed nav bar. The scene-based layout creates visual separation through full-screen background-color shifts between `#ffffff` and `#efefef` rather than through elevation.
274
+
275
+ ## 7. Do's and Don'ts
276
+
277
+ ### Do
278
+ - Use `#007bc6` blue for inline text-highlight blocks on white pages — it's the brand's emphasis device
279
+ - Lead display moments with bold weight-700 Noto Sans TC at large sizes
280
+ - Use `#e4007f` magenta for interactive circle selectors and key decorative accents
281
+ - Use `#f6ac19` / `#f7b146` yellow for nav accents, step lines, and progress indicators
282
+ - Maintain full-viewport scene structure for each product feature on marketing surfaces
283
+ - Reserve `#66ecd2` teal for loading states and brand-heritage touchpoints connecting EasyWallet to EasyCard transit
284
+ - Apply 0.03–0.17em letter-spacing to CJK body text for legibility
285
+
286
+ ### Don't
287
+ - Use pure black (`#000000`) as a body text color — EasyCard system uses `#333333` for prose
288
+ - Mix the magenta and yellow accents on the same element — they're distinct semantic roles
289
+ - Use round corners on buttons beyond 4–8px — EasyWallet avoids pill buttons in its UI components
290
+ - Replace Noto Sans TC with a serif face — the entire brand is sans-serif first
291
+ - Add heavy drop-shadows across most elements — elevation is reserved for floating cards only
292
+ - Use teal (`#66ecd2`) as a CTA or interactive color — it's an ambient brand-heritage tint
293
+
294
+ ## 8. Responsive Behavior
295
+
296
+ ### Breakpoints
297
+ | Name | Width | Key Changes |
298
+ |------|-------|-------------|
299
+ | Mobile | <768px | Stack scenes to natural scroll, reduce oversized type proportionally |
300
+ | Tablet | 768–1200px | Adjusted circle sizes (vw-based), navigation collapses |
301
+ | Desktop | >1200px | Full scrolljack experience, 1440px design width |
302
+
303
+ ### Touch Targets
304
+ - App download button at ~75px height with generous horizontal padding — primary mobile entry
305
+ - Circle feature tabs at 17vw diameter on tablet, maintaining large touch area
306
+ - Navigation links at minimum 51px height with 15–16px padding on corporate site
307
+
308
+ ### Collapsing Strategy
309
+ - Hero "BEEP!" text scales down proportionally (vh-based sizing)
310
+ - Scrolljack transitions degrade to natural scroll on mobile
311
+ - Nav bar collapses dropdown menu to mobile overlay pattern
312
+
313
+ ## 9. Agent Prompt Guide
314
+
315
+ ### Quick Color Reference
316
+ - Primary / CTA: EasyWallet Blue (`#007bc6`)
317
+ - Brand heritage teal: `#66ecd2`
318
+ - Accent magenta: `#e4007f`
319
+ - Accent yellow: `#f6ac19`
320
+ - Nav accent yellow: `#f7b146`
321
+ - Success / step green: `#40a731`
322
+ - Page background: Canvas (`#ffffff`)
323
+ - Section surface: `#efefef`
324
+ - Body text: `#333333`
325
+ - Feature copy: `#595153`
326
+ - White on brand colors: `#ffffff`
327
+
328
+ ### Example Component Prompts
329
+ - "Hero section for EasyWallet: oversized 'BEEP!' in weight-700 Noto Sans TC on white. Below, 43px weight-700 headline in black. Key product sentences inside blue (#007bc6) text-highlight boxes with white text at 20px/500."
330
+ - "Feature tab selector: five equal circles, inactive white with #e4007f border, active = solid #e4007f fill, white label text at 500 weight, mild drop-shadow on active."
331
+ - "EasyWallet nav bar: white, 58px, fixed top, bottom border 2px #f7b146, white text nav links at 13.5px/400 Noto Sans TC on dark overlay. App logo left."
332
+ - "App download CTA block: black background, two column (iOS / Google Play), white text 700 weight at 16px, center-aligned, letter-spacing 0.1em, vertical separator line."
333
+
334
+ ### Iteration Guide
335
+ 1. EasyWallet Blue (`#007bc6`) = primary brand + highlight emphasis — keep it focused
336
+ 2. Magenta (`#e4007f`) = feature selectors + animation accents — not for text
337
+ 3. Yellow (`#f6ac19`) = step lines, nav borders, progress — always secondary
338
+ 4. Teal (`#66ecd2`) = brand heritage only (loading, ambient) — never CTA
339
+ 5. Noto Sans TC is the voice — weight 700 for headlines, 400 for body
340
+ 6. Scenes are full-viewport: let each feature breathe at 100vh
341
+ 7. Blue inline highlight blocks = the copywriting emphasis tool
342
+
343
+ ---
344
+
345
+ ## 10. Voice & Tone
346
+
347
+ EasyWallet's (悠遊付) voice is **playful, reassuring, and progress-oriented** — the digital companion to Taiwan's best-known transit card. The hero's opening word "BEEP!" (with an exclamation mark, in massive type) distills the brand personality into a single onomatopoeic moment: this is the sound of a seamless payment, made joyful. From there the copy turns calm and benefit-focused: "智慧升級,放心悠遊!" (Smart upgrade, worry-free travel) frames the product as a natural evolution of something already trusted.
348
+
349
+ | Context | Tone |
350
+ |---|---|
351
+ | Hero moments | Energetic, playful. "BEEP!" — one word does the work. |
352
+ | Product taglines | Warm and reassuring. "放心悠遊" (worry-free travel) is the brand mantra. |
353
+ | Feature names | Clean, action-oriented Chinese. "嗶乘車", "掃碼付款", "自動加值". |
354
+ | CTAs | Direct and inclusive. "立即下載" (Download now), "DOWNLOAD NOW". |
355
+ | Legal / footer | Matter-of-fact. Low-key copyright and policy language. |
356
+
357
+ **Voice samples (verbatim from live site):**
358
+ - "一卡一付 無現生活更進一步!" — page title (app + card convergence). *(verified live 2026-06-22)*
359
+ - "智慧升級,放心悠遊!" — hero H4 tagline. *(verified live 2026-06-22)*
360
+ - "悠遊付=最聰明的電子錢包" — feature section (product positioning). *(verified live 2026-06-22)*
361
+
362
+ **Forbidden register**: banking jargon, fear-based urgency, overly formal institutional language, foreign-word-heavy copy that loses the approachable Taiwanese sensibility.
363
+
364
+ ## 11. Brand Narrative
365
+
366
+ EasyCard Corporation (悠遊卡股份有限公司) launched the EasyCard in 2002 as Taipei's contactless transit card — the ubiquitous cyan card that became embedded in Taiwanese daily life for MRT, buses, YouBike, and convenience-store payments. EasyWallet (悠遊付) is its mobile evolution: a digital wallet that preserves the EasyCard's physical-card management while adding full smartphone-native payment capabilities.
367
+
368
+ The product story is one of continuity and upgrade — "從實體到數位" (from physical to digital) — not disruption. EasyWallet pitches itself as EasyCard's "最佳拍檔" (best companion), deliberately building on 20+ years of transit-card trust rather than replacing it. The tagline "無現生活 悠遊無限" (Cashless living, unlimited ease) frames mobile payment not as a bank product but as a lifestyle upgrade rooted in everyday mobility.
369
+
370
+ The "BEEP!" brand device is more than playfulness: it's the sound recognition that bridges a generation of NFC transit payments with the new app-driven contactless future. By putting that sound at the center of the visual identity, EasyWallet inherits the physical card's emotional familiarity and translates it to the smartphone era.
371
+
372
+ ## 12. Principles
373
+
374
+ 1. **Heritage as foundation.** EasyWallet builds on 20+ years of EasyCard trust, not away from it. *UI implication:* retain the EasyCard teal (`#66ecd2`) as a brand-heritage touchpoint; never fully abandon the card-management metaphor.
375
+ 2. **Upgrade without intimidation.** "Smart" is framed as ease, not complexity. *UI implication:* feature names are plain Chinese verbs ("嗶乘車", "掃碼付款"); no fintech acronyms unexplained.
376
+ 3. **One card, one app.** Integration is the core promise — physical card + digital wallet unified. *UI implication:* card management is primary nav, not a sub-feature.
377
+ 4. **Playful at entry, calm inside.** The "BEEP!" hero tone gives way to functional clarity once the user is in the app flow. *UI implication:* marketing surfaces can be expressive; transactional surfaces should be minimal and clear.
378
+ 5. **Mobility first.** EasyWallet is a transit-adjacent product; the tap-to-pay moment is the signature interaction. *UI implication:* the 嗶乘車 (tap-to-ride) feature is always prominent; app performance at the MRT gate is paramount.
379
+
380
+ ## 13. Personas
381
+
382
+ *Personas below are fictional archetypes informed by publicly observable EasyWallet user segments (Taipei transit commuters, young digital-native Taiwanese), not individual people.*
383
+
384
+ **陳小玲, 26, 台北。** A daily MRT commuter who already uses EasyCard but wants to stop carrying a physical card. Adopted EasyWallet for "嗶乘車" (tap-to-ride). Appreciates that the app feels familiar — it looks like EasyCard, just on her phone.
385
+
386
+ **林俊宏, 34, 新北市。** Uses EasyWallet primarily for the automatic card top-up feature and QR code payments at convenience stores. Values the consolidated transaction history that helps him track spending without opening a separate banking app.
387
+
388
+ **張惠美, 45, 台中。** Slower adopter who was drawn in by the e-invoice lottery matching feature. Trust in EasyCard brand made her comfortable installing EasyWallet. Uses it mainly for bill payments and checking her EasyCard balance.
389
+
390
+ ## 14. States
391
+
392
+ | State | Treatment |
393
+ |---|---|
394
+ | **Loading / Launch** | Full-viewport teal (`#66ecd2`) overlay — brand-heritage color signals the app is initializing |
395
+ | **Empty (no transaction history)** | White canvas, `#595153` secondary text explaining no records, blue link to make first payment |
396
+ | **Loading (data fetch)** | Minimal spinner or skeleton row in `#efefef` grey at card height; no heavy shimmer |
397
+ | **Error (payment failed)** | Inline message in `#595153` with plain-language Chinese explanation; retry CTA in blue `#007bc6` |
398
+ | **Error (network / beep failed)** | Immediate inline feedback — "感應失敗,請再試一次" — tap-to-retry within 0.5s |
399
+ | **Success (payment confirmed)** | Brief green (`#40a731`) confirmation check; amount and merchant confirmed; auto-dismisses |
400
+ | **Skeleton (loading cards)** | `#efefef` placeholder blocks at card dimensions; gentle opacity pulse |
401
+ | **Disabled** | Reduced opacity on buttons; blue `#007bc6` becomes `#b3d8ee`; always provides clear reason |
402
+
403
+ ## 15. Motion & Easing
404
+
405
+ **Durations**:
406
+
407
+ | Token | Value | Use |
408
+ |---|---|---|
409
+ | `motion-beep` | 100ms | Tap-to-pay NFC feedback — near-instant, mimics physical card beep |
410
+ | `motion-fast` | 150ms | Button press feedback, badge state change |
411
+ | `motion-standard` | 500ms | Scene-to-scene scrolljack transition |
412
+ | `motion-slow` | 750ms | Feature circle animation, page-level reveals |
413
+
414
+ **Easings**:
415
+
416
+ | Token | Curve | Use |
417
+ |---|---|---|
418
+ | `ease-enter` | `cubic-bezier(0.39, 0.575, 0.565, 1)` | Arriving elements (EasyCard CSS native easing) |
419
+ | `ease-exit` | `cubic-bezier(0.39, 0.575, 0.565, 1)` | Departing elements (same easing on leave) |
420
+ | `ease-standard` | `0.5s ease` (CSS default) | Scene scrolljack transitions |
421
+
422
+ **Motion rules**: EasyWallet motion is split between two registers — the near-instant NFC payment feedback (100ms, should feel like a physical tap), and the graceful full-viewport scene animations on the marketing site (500–750ms). The loading screen teal overlay fades in and out with a slow opacity transition, establishing calm. Under `prefers-reduced-motion: reduce`, scene transitions collapse to instant; NFC tap feedback uses a brief static color flash rather than animation.
423
+
424
+ <!--
425
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
426
+
427
+ Tier 1 live inspect (2026-06-22) via playwright getComputedStyle on:
428
+ - https://easywallet.easycard.com.tw/ — full CSS extraction, heading text, color frequency
429
+ - https://www.easycard.com.tw/ — corporate site CSS color system, btn classes, font family
430
+
431
+ Key observations:
432
+ - body font: "Noto Sans TC", "PingFang TC", 微軟正黑體, Semibold, "Microsoft JhengHei", Arial, sans-serif
433
+ - nav bar: white bg, 58px height, 2px bottom border rgb(247, 177, 70) #f7b146
434
+ - loading overlay: rgb(102, 236, 210) #66ecd2 — EasyCard transit teal
435
+ - hero brand blue highlight blocks: rgb(0, 123, 198) #007bc6
436
+ - magenta circle accent: rgb(228, 0, 127) #e4007f
437
+ - yellow step line: rgb(246, 172, 25) #f6ac19
438
+ - text on feature scenes: rgb(89, 81, 83) #595153
439
+ - success step: rgb(64, 167, 49) #40a731
440
+ - app-download button: rgb(0, 0, 0) #000000
441
+
442
+ Voice samples (§10) from verified live homepage easywallet.easycard.com.tw 2026-06-22.
443
+
444
+ Brand narrative (§11): EasyCard Corporation history as Taiwan's national transit card operator is publicly documented fact.
445
+
446
+ Personas (§13): fictional archetypes. Names are illustrative; do not refer to real people.
447
+
448
+ Interpretive claims are editorial connections between observed design choices and EasyWallet/EasyCard public positioning.
449
+ -->