oh-my-design-cli 1.0.2 → 1.1.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.
- package/README.md +15 -18
- package/data/reference-fingerprints.json +337 -3
- package/data/reference-tags.md +15 -1
- package/package.json +2 -2
- package/skills/omd-init/SKILL.md +1 -1
- package/web/AGENTS.md +5 -0
- package/{references → web/references}/airbnb/DESIGN.md +158 -19
- package/web/references/airtable/DESIGN.md +241 -0
- package/{references → web/references}/apple/DESIGN.md +131 -76
- package/web/references/baemin/DESIGN.md +470 -0
- package/{references → web/references}/bmw/DESIGN.md +138 -9
- package/{references → web/references}/cal/DESIGN.md +173 -17
- package/{references → web/references}/claude/DESIGN.md +11 -1
- package/{references → web/references}/clay/DESIGN.md +75 -0
- package/{references → web/references}/clickhouse/DESIGN.md +74 -0
- package/{references → web/references}/cohere/DESIGN.md +75 -0
- package/web/references/coinbase/DESIGN.md +205 -0
- package/{references → web/references}/composio/DESIGN.md +74 -0
- package/web/references/coupang/DESIGN.md +487 -0
- package/{references → web/references}/cursor/DESIGN.md +74 -0
- package/web/references/dcard/DESIGN.md +567 -0
- package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
- package/{references → web/references}/expo/DESIGN.md +72 -0
- package/{references → web/references}/ferrari/DESIGN.md +72 -0
- package/{references → web/references}/figma/DESIGN.md +124 -48
- package/{references → web/references}/framer/DESIGN.md +143 -16
- package/web/references/freee/DESIGN.md +558 -0
- package/{references → web/references}/hashicorp/DESIGN.md +72 -0
- package/{references → web/references}/ibm/DESIGN.md +68 -0
- package/{references → web/references}/intercom/DESIGN.md +73 -0
- package/web/references/kakao/DESIGN.md +490 -0
- package/web/references/kakaobank/DESIGN.md +533 -0
- package/web/references/karrot/DESIGN.md +431 -0
- package/web/references/kraken/DESIGN.md +219 -0
- package/web/references/krds/DESIGN.md +982 -0
- package/web/references/kurly/DESIGN.md +574 -0
- package/{references → web/references}/lamborghini/DESIGN.md +74 -0
- package/{references → web/references}/line/DESIGN.md +84 -43
- package/{references → web/references}/linear.app/DESIGN.md +8 -1
- package/{references → web/references}/lovable/DESIGN.md +73 -0
- package/web/references/mercari/DESIGN.md +464 -0
- package/{references → web/references}/minimax/DESIGN.md +72 -0
- package/{references → web/references}/mintlify/DESIGN.md +72 -0
- package/web/references/miro/DESIGN.md +252 -0
- package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
- package/{references → web/references}/mongodb/DESIGN.md +72 -0
- package/web/references/musinsa/DESIGN.md +536 -0
- package/web/references/naver/DESIGN.md +518 -0
- package/{references → web/references}/notion/DESIGN.md +9 -1
- package/web/references/nvidia/DESIGN.md +491 -0
- package/web/references/ohouse/DESIGN.md +570 -0
- package/{references → web/references}/ollama/DESIGN.md +72 -0
- package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
- package/web/references/pinkoi/DESIGN.md +575 -0
- package/{references → web/references}/pinterest/DESIGN.md +73 -0
- package/{references → web/references}/posthog/DESIGN.md +172 -18
- package/web/references/qanda/DESIGN.md +459 -0
- package/{references → web/references}/raycast/DESIGN.md +169 -34
- package/{references → web/references}/renault/DESIGN.md +72 -0
- package/{references → web/references}/replicate/DESIGN.md +73 -0
- package/{references → web/references}/resend/DESIGN.md +73 -0
- package/{references → web/references}/revolut/DESIGN.md +74 -0
- package/web/references/ridi/DESIGN.md +517 -0
- package/{references → web/references}/runwayml/DESIGN.md +152 -24
- package/{references → web/references}/sanity/DESIGN.md +72 -0
- package/{references → web/references}/sentry/DESIGN.md +73 -0
- package/web/references/spacex/DESIGN.md +379 -0
- package/web/references/spotify/DESIGN.md +426 -0
- package/{references → web/references}/stripe/DESIGN.md +44 -1
- package/{references → web/references}/supabase/DESIGN.md +73 -0
- package/{references → web/references}/superhuman/DESIGN.md +159 -17
- package/{references → web/references}/tesla/DESIGN.md +170 -0
- package/{references → web/references}/together.ai/DESIGN.md +73 -0
- package/{references → web/references}/toss/DESIGN.md +304 -50
- package/{references → web/references}/uber/DESIGN.md +73 -0
- package/{references → web/references}/vercel/DESIGN.md +9 -1
- package/{references → web/references}/voltagent/DESIGN.md +73 -0
- package/{references → web/references}/warp/DESIGN.md +142 -15
- package/web/references/webflow/DESIGN.md +253 -0
- package/{references → web/references}/wise/DESIGN.md +84 -0
- package/{references → web/references}/x.ai/DESIGN.md +85 -0
- package/web/references/yanolja/DESIGN.md +448 -0
- package/web/references/yeogiotte/DESIGN.md +424 -0
- package/{references → web/references}/zapier/DESIGN.md +85 -0
- package/references/airtable/DESIGN.md +0 -107
- package/references/baemin/DESIGN.md +0 -260
- package/references/coinbase/DESIGN.md +0 -129
- package/references/dcard/DESIGN.md +0 -302
- package/references/freee/DESIGN.md +0 -308
- package/references/kakao/DESIGN.md +0 -261
- package/references/karrot/DESIGN.md +0 -252
- package/references/kraken/DESIGN.md +0 -146
- package/references/mercari/DESIGN.md +0 -294
- package/references/miro/DESIGN.md +0 -108
- package/references/nvidia/DESIGN.md +0 -308
- package/references/pinkoi/DESIGN.md +0 -309
- package/references/spacex/DESIGN.md +0 -205
- package/references/spotify/DESIGN.md +0 -246
- package/references/webflow/DESIGN.md +0 -109
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
# Design System Inspiration of NVIDIA
|
|
2
|
-
|
|
3
|
-
## 1. Visual Theme & Atmosphere
|
|
4
|
-
|
|
5
|
-
NVIDIA's website is a high-contrast, technology-forward experience that communicates raw computational power through design restraint. The page is built on a stark black (`#000000`) and white (`#ffffff`) foundation, punctuated by NVIDIA's signature green (`#76b900`) -- a color so specific it functions as a brand fingerprint. This is not the lush green of nature; it's the electric, lime-shifted green of GPU-rendered light, a color that sits between chartreuse and kelly green and immediately signals "NVIDIA" to anyone in technology.
|
|
6
|
-
|
|
7
|
-
The custom NVIDIA-EMEA font family (with Arial and Helvetica fallbacks) creates a clean, industrial typographic voice. Headings at 36px bold with tight 1.25 line-height create dense, authoritative blocks of text. The font lacks the geometric playfulness of Silicon Valley sans-serifs -- it's European, pragmatic, and engineering-focused. Body text runs at 15-16px, comfortable for reading but not generous, maintaining the sense that screen real estate is optimized like GPU memory.
|
|
8
|
-
|
|
9
|
-
What distinguishes NVIDIA's design from other dark-background tech sites is the disciplined use of the green accent. The `#76b900` appears in borders (`2px solid #76b900`), link underlines (`underline 2px rgb(118, 185, 0)`), and CTAs -- but never as backgrounds or large surface areas on the main content. The green is a signal, not a surface. Combined with a deep shadow system (`rgba(0, 0, 0, 0.3) 0px 0px 5px`) and minimal border radius (1-2px), the overall effect is of precision engineering hardware rendered in pixels.
|
|
10
|
-
|
|
11
|
-
**Key Characteristics:**
|
|
12
|
-
- NVIDIA Green (`#76b900`) as pure accent -- borders, underlines, and interactive highlights only
|
|
13
|
-
- Black (`#000000`) dominant background with white (`#ffffff`) text on dark sections
|
|
14
|
-
- NVIDIA-EMEA custom font with Arial/Helvetica fallback -- industrial, European, clean
|
|
15
|
-
- Tight line-heights (1.25 for headings) creating dense, authoritative text blocks
|
|
16
|
-
- Minimal border radius (1-2px) -- sharp, engineered corners throughout
|
|
17
|
-
- Green-bordered buttons (`2px solid #76b900`) as primary interactive pattern
|
|
18
|
-
- Font Awesome 6 Pro/Sharp icon system at weight 900 for sharp iconography
|
|
19
|
-
- Multi-framework architecture (PrimeReact, Fluent UI, Element Plus) enabling rich interactive components
|
|
20
|
-
|
|
21
|
-
### Do's and Don'ts
|
|
22
|
-
|
|
23
|
-
- **DO** use NVIDIA Green `#76b900` exclusively as a SIGNAL color — borders, link underlines, button outlines, focus states.
|
|
24
|
-
- **DON'T** use the green as a fill on large surfaces, backgrounds, or decorative gradients — that destroys its function as a fingerprint accent.
|
|
25
|
-
- **DO** keep the foundation black-and-white. Black `#000000` for dark sections, white `#ffffff` for content, with green pinpricks of accent.
|
|
26
|
-
- **DON'T** introduce mid-tone backgrounds (gray cards, tinted sections) — NVIDIA's contrast is binary by design.
|
|
27
|
-
- **DO** use sharp 1-2px border radius across all components — buttons, cards, inputs.
|
|
28
|
-
- **DON'T** use rounded or pill-shaped buttons — that reads as friendly consumer tech, not high-precision engineering hardware.
|
|
29
|
-
- **DO** apply tight 1.25 line-height to headings for dense, authoritative blocks of text.
|
|
30
|
-
- **DON'T** use generous 1.5+ line-height on display headers — it relaxes the engineered, compressed feel.
|
|
31
|
-
- **DO** use `2px solid #76b900` as the primary button border pattern — green-outlined CTAs are the brand's default interactive shape.
|
|
32
|
-
- **DON'T** use filled green buttons as the primary pattern — fills belong to consumer brands; NVIDIA reserves green for outlines and accents.
|
|
33
|
-
- **DO** use Font Awesome 6 Pro/Sharp at weight 900 for sharp iconography matching the engineering aesthetic.
|
|
34
|
-
- **DON'T** use rounded or playful icon sets — they conflict with NVIDIA's industrial precision.
|
|
35
|
-
|
|
36
|
-
## 2. Color Palette & Roles
|
|
37
|
-
|
|
38
|
-
### Primary Brand
|
|
39
|
-
- **NVIDIA Green** (`#76b900`): The signature -- borders, link underlines, CTA outlines, active indicators. Never used as large surface fills.
|
|
40
|
-
- **True Black** (`#000000`): Primary page background, text on light surfaces, dominant tone.
|
|
41
|
-
- **Pure White** (`#ffffff`): Text on dark backgrounds, light section backgrounds, card surfaces.
|
|
42
|
-
|
|
43
|
-
### Extended Brand Palette
|
|
44
|
-
- **NVIDIA Green Light** (`#bff230`): Bright lime accent for highlights and hover states.
|
|
45
|
-
- **Orange 400** (`#df6500`): Warm accent for alerts, featured badges, or energy-related contexts.
|
|
46
|
-
- **Yellow 300** (`#ef9100`): Secondary warm accent, product category highlights.
|
|
47
|
-
- **Yellow 050** (`#feeeb2`): Light warm surface for callout backgrounds.
|
|
48
|
-
|
|
49
|
-
### Status & Semantic
|
|
50
|
-
- **Red 500** (`#e52020`): Error states, destructive actions, critical alerts.
|
|
51
|
-
- **Red 800** (`#650b0b`): Deep red for severe warning backgrounds.
|
|
52
|
-
- **Green 500** (`#3f8500`): Success states, positive indicators (darker than brand green).
|
|
53
|
-
- **Blue 700** (`#0046a4`): Informational accents, link hover alternative.
|
|
54
|
-
|
|
55
|
-
### Decorative
|
|
56
|
-
- **Purple 800** (`#4d1368`): Deep purple for gradient ends, premium/AI contexts.
|
|
57
|
-
- **Purple 100** (`#f9d4ff`): Light purple surface tint.
|
|
58
|
-
- **Fuchsia 700** (`#8c1c55`): Rich accent for special promotions or featured content.
|
|
59
|
-
|
|
60
|
-
### Neutral Scale
|
|
61
|
-
- **Gray 300** (`#a7a7a7`): Muted text, disabled labels.
|
|
62
|
-
- **Gray 400** (`#898989`): Secondary text, metadata.
|
|
63
|
-
- **Gray 500** (`#757575`): Tertiary text, placeholders, footers.
|
|
64
|
-
- **Gray Border** (`#5e5e5e`): Subtle borders, divider lines.
|
|
65
|
-
- **Near Black** (`#1a1a1a`): Dark surfaces, card backgrounds on black pages.
|
|
66
|
-
|
|
67
|
-
### Interactive States
|
|
68
|
-
- **Link Default (dark bg)** (`#ffffff`): White links on dark backgrounds.
|
|
69
|
-
- **Link Default (light bg)** (`#000000`): Black links with green underline on light backgrounds.
|
|
70
|
-
- **Link Hover** (`#3860be`): Blue shift on hover across all link variants.
|
|
71
|
-
- **Button Hover** (`#1eaedb`): Teal highlight for button hover states.
|
|
72
|
-
- **Button Active** (`#007fff`): Bright blue for active/pressed button states.
|
|
73
|
-
- **Focus Ring** (`#000000 solid 2px`): Black outline for keyboard focus.
|
|
74
|
-
|
|
75
|
-
### Shadows & Depth
|
|
76
|
-
- **Card Shadow** (`rgba(0, 0, 0, 0.3) 0px 0px 5px 0px`): Subtle ambient shadow for elevated cards.
|
|
77
|
-
|
|
78
|
-
## 3. Typography Rules
|
|
79
|
-
|
|
80
|
-
### Font Family
|
|
81
|
-
- **Primary**: `NVIDIA-EMEA`, with fallbacks: `Arial, Helvetica, sans-serif`
|
|
82
|
-
- **Icon Font**: `Font Awesome 6 Pro` (weight 900 for solid icons, 700 for regular)
|
|
83
|
-
- **Icon Sharp**: `Font Awesome 6 Sharp` (weight 300 for light icons, 400 for regular)
|
|
84
|
-
|
|
85
|
-
### Hierarchy
|
|
86
|
-
|
|
87
|
-
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
88
|
-
|------|------|------|--------|-------------|----------------|-------|
|
|
89
|
-
| Display Hero | NVIDIA-EMEA | 36px (2.25rem) | 700 | 1.25 (tight) | normal | Maximum impact headlines |
|
|
90
|
-
| Section Heading | NVIDIA-EMEA | 24px (1.50rem) | 700 | 1.25 (tight) | normal | Section titles, card headings |
|
|
91
|
-
| Sub-heading | NVIDIA-EMEA | 22px (1.38rem) | 400 | 1.75 (relaxed) | normal | Feature descriptions, subtitles |
|
|
92
|
-
| Card Title | NVIDIA-EMEA | 20px (1.25rem) | 700 | 1.25 (tight) | normal | Card and module headings |
|
|
93
|
-
| Body Large | NVIDIA-EMEA | 18px (1.13rem) | 700 | 1.67 (relaxed) | normal | Emphasized body, lead paragraphs |
|
|
94
|
-
| Body | NVIDIA-EMEA | 16px (1.00rem) | 400 | 1.50 | normal | Standard reading text |
|
|
95
|
-
| Body Bold | NVIDIA-EMEA | 16px (1.00rem) | 700 | 1.50 | normal | Strong labels, nav items |
|
|
96
|
-
| Body Small | NVIDIA-EMEA | 15px (0.94rem) | 400 | 1.67 (relaxed) | normal | Secondary content, descriptions |
|
|
97
|
-
| Body Small Bold | NVIDIA-EMEA | 15px (0.94rem) | 700 | 1.50 | normal | Emphasized secondary content |
|
|
98
|
-
| Button Large | NVIDIA-EMEA | 18px (1.13rem) | 700 | 1.25 (tight) | normal | Primary CTA buttons |
|
|
99
|
-
| Button | NVIDIA-EMEA | 16px (1.00rem) | 700 | 1.25 (tight) | normal | Standard buttons |
|
|
100
|
-
| Button Compact | NVIDIA-EMEA | 14.4px (0.90rem) | 700 | 1.00 (tight) | 0.144px | Small/compact buttons |
|
|
101
|
-
| Link | NVIDIA-EMEA | 14px (0.88rem) | 700 | 1.43 | normal | Navigation links |
|
|
102
|
-
| Link Uppercase | NVIDIA-EMEA | 14px (0.88rem) | 700 | 1.43 | normal | `text-transform: uppercase`, nav labels |
|
|
103
|
-
| Caption | NVIDIA-EMEA | 14px (0.88rem) | 600 | 1.50 | normal | Metadata, timestamps |
|
|
104
|
-
| Caption Small | NVIDIA-EMEA | 12px (0.75rem) | 400 | 1.25 (tight) | normal | Fine print, legal |
|
|
105
|
-
| Micro Label | NVIDIA-EMEA | 10px (0.63rem) | 700 | 1.50 | normal | `text-transform: uppercase`, tiny badges |
|
|
106
|
-
| Micro | NVIDIA-EMEA | 11px (0.69rem) | 700 | 1.00 (tight) | normal | Smallest UI text |
|
|
107
|
-
|
|
108
|
-
### Principles
|
|
109
|
-
- **Bold as the default voice**: NVIDIA leans heavily on weight 700 for headings, buttons, links, and labels. The 400 weight is reserved for body text and descriptions -- everything else is bold, projecting confidence and authority.
|
|
110
|
-
- **Tight headings, relaxed body**: Heading line-height is consistently 1.25 (tight), while body text relaxes to 1.50-1.67. This contrast creates visual density at the top of content blocks and comfortable readability in paragraphs.
|
|
111
|
-
- **Uppercase for navigation**: Link labels use `text-transform: uppercase` with weight 700, creating a navigation voice that reads like hardware specification labels.
|
|
112
|
-
- **No decorative tracking**: Letter-spacing is normal throughout, except for compact buttons (0.144px). The font itself carries the industrial character without manipulation.
|
|
113
|
-
|
|
114
|
-
## 4. Component Stylings
|
|
115
|
-
|
|
116
|
-
### Buttons
|
|
117
|
-
|
|
118
|
-
**Primary (Green Border)**
|
|
119
|
-
- Background: `transparent`
|
|
120
|
-
- Text: `#000000`
|
|
121
|
-
- Padding: 11px 13px
|
|
122
|
-
- Border: `2px solid #76b900`
|
|
123
|
-
- Radius: 2px
|
|
124
|
-
- Font: 16px weight 700
|
|
125
|
-
- Hover: background `#1eaedb`, text `#ffffff`
|
|
126
|
-
- Active: background `#007fff`, text `#ffffff`, border `1px solid #003eff`, scale(1)
|
|
127
|
-
- Focus: background `#1eaedb`, text `#ffffff`, outline `#000000 solid 2px`, opacity 0.9
|
|
128
|
-
- Use: Primary CTA ("Learn More", "Explore Solutions")
|
|
129
|
-
|
|
130
|
-
**Secondary (Green Border Thin)**
|
|
131
|
-
- Background: transparent
|
|
132
|
-
- Border: `1px solid #76b900`
|
|
133
|
-
- Radius: 2px
|
|
134
|
-
- Use: Secondary actions, alternative CTAs
|
|
135
|
-
|
|
136
|
-
**Compact / Inline**
|
|
137
|
-
- Font: 14.4px weight 700
|
|
138
|
-
- Letter-spacing: 0.144px
|
|
139
|
-
- Line-height: 1.00
|
|
140
|
-
- Use: Inline CTAs, compact navigation
|
|
141
|
-
|
|
142
|
-
### Cards & Containers
|
|
143
|
-
- Background: `#ffffff` (light) or `#1a1a1a` (dark sections)
|
|
144
|
-
- Border: none (clean edges) or `1px solid #5e5e5e`
|
|
145
|
-
- Radius: 2px
|
|
146
|
-
- Shadow: `rgba(0, 0, 0, 0.3) 0px 0px 5px 0px` for elevated cards
|
|
147
|
-
- Hover: shadow intensification
|
|
148
|
-
- Padding: 16-24px internal
|
|
149
|
-
|
|
150
|
-
### Links
|
|
151
|
-
- **On Dark Background**: `#ffffff`, no underline, hover shifts to `#3860be`
|
|
152
|
-
- **On Light Background**: `#000000` or `#1a1a1a`, underline `2px solid #76b900`, hover shifts to `#3860be`, underline removed
|
|
153
|
-
- **Green Links**: `#76b900`, hover shifts to `#3860be`
|
|
154
|
-
- **Muted Links**: `#666666`, hover shifts to `#3860be`
|
|
155
|
-
|
|
156
|
-
### Navigation
|
|
157
|
-
- Dark black background (`#000000`)
|
|
158
|
-
- Logo left-aligned, prominent NVIDIA wordmark
|
|
159
|
-
- Links: NVIDIA-EMEA 14px weight 700 uppercase, `#ffffff`
|
|
160
|
-
- Hover: color shift, no underline change
|
|
161
|
-
- Mega-menu dropdowns for product categories
|
|
162
|
-
- Sticky on scroll with backdrop
|
|
163
|
-
|
|
164
|
-
### Image Treatment
|
|
165
|
-
- Product/GPU renders as hero images, often full-width
|
|
166
|
-
- Screenshot images with subtle shadow for depth
|
|
167
|
-
- Green gradient overlays on dark hero sections
|
|
168
|
-
- Circular avatar containers with 50% radius
|
|
169
|
-
|
|
170
|
-
### Distinctive Components
|
|
171
|
-
|
|
172
|
-
**Product Cards**
|
|
173
|
-
- Clean white or dark card with minimal radius (2px)
|
|
174
|
-
- Green accent border or underline on title
|
|
175
|
-
- Bold heading + lighter description pattern
|
|
176
|
-
- CTA with green border at bottom
|
|
177
|
-
|
|
178
|
-
**Tech Spec Tables**
|
|
179
|
-
- Industrial grid layouts
|
|
180
|
-
- Alternating row backgrounds (subtle gray shift)
|
|
181
|
-
- Bold labels, regular values
|
|
182
|
-
- Green highlights for key metrics
|
|
183
|
-
|
|
184
|
-
**Cookie/Consent Banner**
|
|
185
|
-
- Fixed bottom positioning
|
|
186
|
-
- Rounded buttons (2px radius)
|
|
187
|
-
- Gray border treatments
|
|
188
|
-
|
|
189
|
-
## 5. Layout Principles
|
|
190
|
-
|
|
191
|
-
### Spacing System
|
|
192
|
-
- Base unit: 8px
|
|
193
|
-
- Scale: 1px, 2px, 3px, 4px, 5px, 6px, 7px, 8px, 9px, 10px, 11px, 12px, 13px, 15px
|
|
194
|
-
- Primary padding values: 8px, 11px, 13px, 16px, 24px, 32px
|
|
195
|
-
- Section spacing: 48-80px vertical padding
|
|
196
|
-
|
|
197
|
-
### Grid & Container
|
|
198
|
-
- Max content width: approximately 1200px (contained)
|
|
199
|
-
- Full-width hero sections with contained text
|
|
200
|
-
- Feature sections: 2-3 column grids for product cards
|
|
201
|
-
- Single-column for article/blog content
|
|
202
|
-
- Sidebar layouts for documentation
|
|
203
|
-
|
|
204
|
-
### Whitespace Philosophy
|
|
205
|
-
- **Purposeful density**: NVIDIA uses tighter spacing than typical SaaS sites, reflecting the density of technical content. White space exists to separate concepts, not to create luxury emptiness.
|
|
206
|
-
- **Section rhythm**: Dark sections alternate with white sections, using background color (not just spacing) to separate content blocks.
|
|
207
|
-
- **Card density**: Product cards sit close together with 16-20px gaps, creating a catalog feel rather than a gallery feel.
|
|
208
|
-
|
|
209
|
-
### Border Radius Scale
|
|
210
|
-
- Micro (1px): Inline spans, tiny elements
|
|
211
|
-
- Standard (2px): Buttons, cards, containers, inputs -- the default for nearly everything
|
|
212
|
-
- Circle (50%): Avatar images, circular tab indicators
|
|
213
|
-
|
|
214
|
-
## 6. Depth & Elevation
|
|
215
|
-
|
|
216
|
-
| Level | Treatment | Use |
|
|
217
|
-
|-------|-----------|-----|
|
|
218
|
-
| Flat (Level 0) | No shadow | Page backgrounds, inline text |
|
|
219
|
-
| Subtle (Level 1) | `rgba(0,0,0,0.3) 0px 0px 5px 0px` | Standard cards, modals |
|
|
220
|
-
| Border (Level 1b) | `1px solid #5e5e5e` | Content dividers, section borders |
|
|
221
|
-
| Green accent (Level 2) | `2px solid #76b900` | Active elements, CTAs, selected items |
|
|
222
|
-
| Focus (Accessibility) | `2px solid #000000` outline | Keyboard focus ring |
|
|
223
|
-
|
|
224
|
-
**Shadow Philosophy**: NVIDIA's depth system is minimal and utilitarian. There is essentially one shadow value -- a 5px ambient blur at 30% opacity -- used sparingly for cards and modals. The primary depth signal is not shadow but _color contrast_: black backgrounds next to white sections, green borders on black surfaces. This creates hardware-like visual layering where depth comes from material difference, not simulated light.
|
|
225
|
-
|
|
226
|
-
### Decorative Depth
|
|
227
|
-
- Green gradient washes behind hero content
|
|
228
|
-
- Dark-to-darker gradients (black to near-black) for section transitions
|
|
229
|
-
- No glassmorphism or blur effects -- clarity over atmosphere
|
|
230
|
-
|
|
231
|
-
## 7. Responsive Behavior
|
|
232
|
-
|
|
233
|
-
### Breakpoints
|
|
234
|
-
| Name | Width | Key Changes |
|
|
235
|
-
|------|-------|-------------|
|
|
236
|
-
| Mobile Small | <375px | Compact single column, reduced padding |
|
|
237
|
-
| Mobile | 375-425px | Standard mobile layout |
|
|
238
|
-
| Mobile Large | 425-600px | Wider mobile, some 2-col hints |
|
|
239
|
-
| Tablet Small | 600-768px | 2-column grids begin |
|
|
240
|
-
| Tablet | 768-1024px | Full card grids, expanded nav |
|
|
241
|
-
| Desktop | 1024-1350px | Standard desktop layout |
|
|
242
|
-
| Large Desktop | >1350px | Maximum content width, generous margins |
|
|
243
|
-
|
|
244
|
-
### Touch Targets
|
|
245
|
-
- Buttons use 11px 13px padding for comfortable tap targets
|
|
246
|
-
- Navigation links at 14px uppercase with adequate spacing
|
|
247
|
-
- Green-bordered buttons provide high-contrast touch targets on dark backgrounds
|
|
248
|
-
- Mobile: hamburger menu collapse with full-screen overlay
|
|
249
|
-
|
|
250
|
-
### Collapsing Strategy
|
|
251
|
-
- Hero: 36px heading scales down proportionally
|
|
252
|
-
- Navigation: full horizontal nav collapses to hamburger menu at ~1024px
|
|
253
|
-
- Product cards: 3-column to 2-column to single column stacked
|
|
254
|
-
- Footer: multi-column grid collapses to single stacked column
|
|
255
|
-
- Section spacing: 64-80px reduces to 32-48px on mobile
|
|
256
|
-
- Images: maintain aspect ratio, scale to container width
|
|
257
|
-
|
|
258
|
-
### Image Behavior
|
|
259
|
-
- GPU/product renders maintain high resolution at all sizes
|
|
260
|
-
- Hero images scale proportionally with viewport
|
|
261
|
-
- Card images use consistent aspect ratios
|
|
262
|
-
- Full-bleed dark sections maintain edge-to-edge treatment
|
|
263
|
-
|
|
264
|
-
## 8. Responsive Behavior (Extended)
|
|
265
|
-
|
|
266
|
-
### Typography Scaling
|
|
267
|
-
- Display 36px scales to ~24px on mobile
|
|
268
|
-
- Section headings 24px scale to ~20px on mobile
|
|
269
|
-
- Body text maintains 15-16px across all breakpoints
|
|
270
|
-
- Button text maintains 16px for consistent tap targets
|
|
271
|
-
|
|
272
|
-
### Dark/Light Section Strategy
|
|
273
|
-
- Dark sections (black bg, white text) alternate with light sections (white bg, black text)
|
|
274
|
-
- The green accent remains consistent across both surface types
|
|
275
|
-
- On dark: links are white, underlines are green
|
|
276
|
-
- On light: links are black, underlines are green
|
|
277
|
-
- This alternation creates natural scroll rhythm and content grouping
|
|
278
|
-
|
|
279
|
-
## 9. Agent Prompt Guide
|
|
280
|
-
|
|
281
|
-
### Quick Color Reference
|
|
282
|
-
- Primary accent: NVIDIA Green (`#76b900`)
|
|
283
|
-
- Background dark: True Black (`#000000`)
|
|
284
|
-
- Background light: Pure White (`#ffffff`)
|
|
285
|
-
- Heading text (dark bg): White (`#ffffff`)
|
|
286
|
-
- Heading text (light bg): Black (`#000000`)
|
|
287
|
-
- Body text (light bg): Black (`#000000`) or Near Black (`#1a1a1a`)
|
|
288
|
-
- Body text (dark bg): White (`#ffffff`) or Gray 300 (`#a7a7a7`)
|
|
289
|
-
- Link hover: Blue (`#3860be`)
|
|
290
|
-
- Border accent: `2px solid #76b900`
|
|
291
|
-
- Button hover: Teal (`#1eaedb`)
|
|
292
|
-
|
|
293
|
-
### Example Component Prompts
|
|
294
|
-
- "Create a hero section on black background. Headline at 36px NVIDIA-EMEA weight 700, line-height 1.25, color #ffffff. Subtitle at 18px weight 400, line-height 1.67, color #a7a7a7. CTA button with transparent background, 2px solid #76b900 border, 2px radius, 11px 13px padding, text #ffffff. Hover: background #1eaedb, text white."
|
|
295
|
-
- "Design a product card: white background, 2px border-radius, box-shadow rgba(0,0,0,0.3) 0px 0px 5px. Title at 20px NVIDIA-EMEA weight 700, line-height 1.25, color #000000. Body at 15px weight 400, line-height 1.67, color #757575. Green underline accent on title: border-bottom 2px solid #76b900."
|
|
296
|
-
- "Build a navigation bar: #000000 background, sticky top. NVIDIA logo left-aligned. Links at 14px NVIDIA-EMEA weight 700 uppercase, color #ffffff. Hover: color #3860be. Green-bordered CTA button right-aligned."
|
|
297
|
-
- "Create a dark feature section: #000000 background. Section label at 14px weight 700 uppercase, color #76b900. Heading at 24px weight 700, color #ffffff. Description at 16px weight 400, color #a7a7a7. Three product cards in a row with 20px gap."
|
|
298
|
-
- "Design a footer: #000000 background. Multi-column layout with link groups. Links at 14px weight 400, color #a7a7a7. Hover: color #76b900. Bottom bar with legal text at 12px, color #757575."
|
|
299
|
-
|
|
300
|
-
### Iteration Guide
|
|
301
|
-
1. Always use `#76b900` as accent, never as a background fill -- it's a signal color for borders, underlines, and highlights
|
|
302
|
-
2. Buttons are transparent with green borders by default -- filled backgrounds appear only on hover/active states
|
|
303
|
-
3. Weight 700 is the dominant voice for all interactive and heading elements; 400 is only for body paragraphs
|
|
304
|
-
4. Border radius is 2px for everything -- this sharp, minimal rounding is core to the industrial aesthetic
|
|
305
|
-
5. Dark sections use white text; light sections use black text -- green accent works identically on both
|
|
306
|
-
6. Link hover is always `#3860be` (blue) regardless of the link's default color
|
|
307
|
-
7. Line-height 1.25 for headings, 1.50-1.67 for body text -- maintain this contrast for visual hierarchy
|
|
308
|
-
8. Navigation uses uppercase 14px bold -- this hardware-label typography is part of the brand voice
|
|
@@ -1,309 +0,0 @@
|
|
|
1
|
-
# Design System Inspiration of Pinkoi
|
|
2
|
-
|
|
3
|
-
## 1. Visual Theme & Atmosphere
|
|
4
|
-
|
|
5
|
-
Pinkoi is Asia's cross-border design marketplace, and its system reflects exactly that — a busy, multi-cultural commerce surface that prioritizes density, legibility, and conversion over minimalist whitespace. The page opens on a near-white canvas (`#f7f7f8` for grouped sections, `#ffffff` for primary surfaces) with dark slate text (`#39393e`) and a confident **teal-navy primary** (`#10567b`) that anchors actions like Login and primary CTAs. This isn't a "designer-chic" pastel palette as the brand name might suggest — the actual product surface is engineered for high-density browsing across Taiwan, Japan, Hong Kong, mainland China, and Thailand.
|
|
6
|
-
|
|
7
|
-
Typography is **bold-heavy**, with weight 700 dominating across headlines, badges, and key CTAs (37 occurrences in core CSS vs. 16 of weight 400). There is no custom brand typeface; instead, Pinkoi runs a sophisticated locale-aware system stack — `Helvetica Neue, Helvetica, Arial` followed by `PingFang TC, Heiti TC, Microsoft JhengHei` for Traditional Chinese, `PingFang SC, Heiti SC, Microsoft YaHei` for Simplified, `ヒラギノ角ゴ Pro W3, Meiryo` for Japanese, and `Thonburi, Noto Sans Thai` for Thai. Every character renders in the user's native font infrastructure. This is design-as-localization, not design-as-decoration.
|
|
8
|
-
|
|
9
|
-
What gives Pinkoi its quietly distinctive feel is its **flat semantic button system** with seven named variants. Every button — `--primary`, `--secondary`, `--purchase`, `--danger`, `--green`, `--login`, plus `*-plain` ghost variants — uses the same recipe: `background: <color>; border: 1px solid <same-color>; color: #fff;`. The matched border-and-background gives buttons a crisp "solid block" appearance without any shadow, while the explicit `1px` border ensures visual integrity even on high-DPI displays where pure-fill buttons can look fuzzy. Coral (`#f16c5d`) is reserved for the `--purchase` variant alone — the highest-conversion moment on every product page.
|
|
10
|
-
|
|
11
|
-
**Key Characteristics:**
|
|
12
|
-
- Locale-aware system font stacks — no custom typeface, but explicit per-language fallbacks (TC/SC/JP/TH)
|
|
13
|
-
- Weight 700 dominant for headlines, CTAs, and emphasis (verified in CSS: 37x vs. 16x weight 400)
|
|
14
|
-
- Conservative `border-radius` — `4px` is the workhorse on buttons and cards, `2px` on badges, `50%` on avatars
|
|
15
|
-
- **Flat button system** — every variant uses `border: 1px solid <bg-color>`, giving a crisp solid-block look without shadow
|
|
16
|
-
- 7-tier semantic button variants (`primary`, `secondary`, `danger`, `purchase`, `green`, `login`, `*-plain`) with full hover/active state matrices
|
|
17
|
-
- Cool teal-navy (`#10567b`) as primary action color — overrides the warm "Pinkoi" naming
|
|
18
|
-
- Coral (`#f16c5d`) reserved exclusively for the `--purchase` variant — the highest-conversion CTA
|
|
19
|
-
- Skeuomorphic colored shadows reserved for **legacy specialty controls** only (`.m-button-{pink,gray,green,unfav}` — favorite hearts, follow-shop buttons), never on the primary `.m-br-button` system
|
|
20
|
-
- High-density grid: 6-column product layout (`16.66%` each) with `12px` total horizontal margin per card
|
|
21
|
-
- 12-step neutral gray scale from `#f7f7f8` → `#202026` for surfaces, borders, and text hierarchy
|
|
22
|
-
|
|
23
|
-
## 2. Color Palette & Roles
|
|
24
|
-
|
|
25
|
-
### Primary
|
|
26
|
-
- **Mid Teal** (`#10567b`): `--primary` and `--login` button **base** background. The default brand action color.
|
|
27
|
-
- **Deep Teal** (`#064162`): `--primary` and `--login` **hover** state. Darker for visual press feedback.
|
|
28
|
-
- **Darkest Navy** (`#003354`): `--primary` and `--login` **active/pressed** state. The deepest brand blue.
|
|
29
|
-
- **Bright Teal** (`#2e90b7`): Link color, `--*-plain` visited state, secondary brand accent (used 22x in core CSS).
|
|
30
|
-
- **Pure White** (`#ffffff`): Card surfaces, modal backgrounds, button text on filled buttons, `--secondary` button background.
|
|
31
|
-
|
|
32
|
-
### Surface & Background
|
|
33
|
-
- **Surface Soft** (`#f7f7f8`): Default page background tint, `--secondary` button hover, grouped section background (20x in core).
|
|
34
|
-
- **Surface Hover** (`#eeeeef`): `--secondary` button active state, slightly heavier muted surface.
|
|
35
|
-
- **Border Light** (`#e5e5e6`): Default thin dividers between rows.
|
|
36
|
-
- **Border Mid** (`#d3d3d5`): Standard component border (cards, inputs, button outlines for non-filled variants — used 32x in core).
|
|
37
|
-
|
|
38
|
-
### Neutral Scale (Text & Iconography)
|
|
39
|
-
- **Text Primary** (`#39393e`): Default body and heading color (41 uses in CSS — the dominant text color).
|
|
40
|
-
- **Text Secondary** (`#515156`): Slightly lighter for secondary headings and labels (10x).
|
|
41
|
-
- **Text Muted** (`#66666a`): Captions, timestamps, descriptive text (26x).
|
|
42
|
-
- **Text Subtle** (`#7c7c80`): Disabled-looking tertiary text.
|
|
43
|
-
- **Text Faint** (`#929295`): Hints, placeholder, very low-emphasis labels.
|
|
44
|
-
- **Text Disabled** (`#a8a8ab`): Disabled states, line-through original prices (`.oprice`), `--secondary` button border.
|
|
45
|
-
- **Text Ghost** (`#bfbfc1`): Decorative or low-priority dividers, alternative line-through price color.
|
|
46
|
-
- **Text Black** (`#202026`): Reserved for maximum-emphasis moments (overlays, modal titles).
|
|
47
|
-
|
|
48
|
-
### Purchase (CTA-exclusive)
|
|
49
|
-
- **Coral Base** (`#f16c5d`): `--purchase` button **base** background. Used **only** on the most important conversion moment per page (Add to Cart, Buy Now).
|
|
50
|
-
- **Coral Hover** (`#e56051`): `--purchase` hover state. Confirmed CSS-exclusive: appears in only 2 places — the `--purchase` button and one decorative bold text rule.
|
|
51
|
-
- **Coral Active** (`#da5648`): `--purchase` pressed state.
|
|
52
|
-
|
|
53
|
-
### Error / Danger
|
|
54
|
-
- **Error Red** (`#e63349`): The system's error/danger color (25 uses in core CSS). Used as: `--danger` button base, form validation error label/border/icon, required-field asterisk (`.s-required:after`), warning info text (`.g-info.g-warn b`), `--danger-plain` text hover. **Not** a promotional sale color — it's the validation/destructive red.
|
|
55
|
-
- **Error Red Hover** (`#d72136`): `--danger` button hover.
|
|
56
|
-
- **Error Red Active** (`#c41428`): `--danger` button pressed.
|
|
57
|
-
- **Pink Visited** (`#f86173`): `--danger-plain` visited link state.
|
|
58
|
-
|
|
59
|
-
### Success
|
|
60
|
-
- **Success Green Base** (`#2cac97`): `--green` button base background. Teal-leaning green, not pure forest.
|
|
61
|
-
- **Success Green Hover** (`#289c8a`): `--green` hover and active state.
|
|
62
|
-
|
|
63
|
-
### Decorative / Legacy
|
|
64
|
-
- **Brand Pink** (`#c83166`): Used inside the legacy skeuomorphic shadow recipe for pink-themed buttons (`.m-button-pink`). Also appears as accent in promotional decoration.
|
|
65
|
-
- **Hot Pink** (`#ff6299`): `.m-button-pink:hover` background — legacy favorite/heart button.
|
|
66
|
-
- **Lime Green** (`#7ec527` / `#65a40e` / `#4d9200`): `.m-button-green` legacy palette — applies to specialty controls only.
|
|
67
|
-
|
|
68
|
-
### Shadow Tints (Layered Shadow Components)
|
|
69
|
-
- **Shadow Soft** (`rgba(32,32,38,.12)`): The default soft drop shadow base.
|
|
70
|
-
- **Shadow Edge** (`rgba(32,32,38,.2)`): Used in `0 1px 1px 0 rgba(32,32,38,.2)` for subtle row dividers and `.card-discount-badge`.
|
|
71
|
-
- **Shadow Modal** (`rgba(32,32,38,.4)`): Stronger overlay shadow for modals and popovers.
|
|
72
|
-
- **Shadow Tooltip** (`hsla(240,2%,41%,.8)`): Tooltip outer glow.
|
|
73
|
-
|
|
74
|
-
## 3. Typography Rules
|
|
75
|
-
|
|
76
|
-
### Font Stack (Locale-Aware)
|
|
77
|
-
Pinkoi runs **per-language font stacks**. Always lead with `Helvetica Neue, Helvetica, Arial`, then append the user's locale stack:
|
|
78
|
-
|
|
79
|
-
| Locale | Font Stack |
|
|
80
|
-
|---|---|
|
|
81
|
-
| Default (en) | `Helvetica Neue, Helvetica, Arial, Verdana, sans-serif` |
|
|
82
|
-
| Traditional Chinese | `Helvetica Neue, Helvetica, Arial, PingFang TC, Heiti TC, Microsoft JhengHei, sans-serif` |
|
|
83
|
-
| Simplified Chinese | `Helvetica Neue, Helvetica, Arial, PingFang SC, Heiti SC, Microsoft YaHei, sans-serif` |
|
|
84
|
-
| Japanese | `Helvetica Neue, Helvetica, Arial, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, PingFang TC, sans-serif` |
|
|
85
|
-
| Thai | `Helvetica Neue, Helvetica, Arial, Thonburi, Noto Sans Thai, Droid Sans Thai, sans-serif` |
|
|
86
|
-
|
|
87
|
-
### Weights
|
|
88
|
-
- **700**: Headings (H1–H4 verified weight 700 on `/browse`), prices, discount badge children, emphasis spans. Bold-heavy is the brand's typographic posture **for hierarchy and emphasis**.
|
|
89
|
-
- **500**: Secondary emphasis — subheads, semi-bold UI labels.
|
|
90
|
-
- **400**: Body text, long-form descriptions, **button text** (verified: `.m-br-button .text` renders at weight 400 on product pages — buttons rely on color and border for prominence, not weight), card badges (`s-card-badge`).
|
|
91
|
-
- **600**: Reserved for narrow contexts; rarely used (only 2 occurrences in core CSS).
|
|
92
|
-
|
|
93
|
-
> **Note on buttons**: Despite the bold-heavy headline posture, button labels themselves are weight 400. Visual prominence comes from the colored bg + matched border (e.g., coral `#f16c5d` for purchase) — not from text weight.
|
|
94
|
-
|
|
95
|
-
### Size Scale (px)
|
|
96
|
-
| Use | Size |
|
|
97
|
-
|---|---|
|
|
98
|
-
| Captions, timestamps | `9–11px` |
|
|
99
|
-
| Badge text, small labels, breadcrumbs | `12px` |
|
|
100
|
-
| Inline metadata, secondary text | `13px` |
|
|
101
|
-
| **Body, button text default, breadcrumbs `g-breadcrumb`** | `14px` |
|
|
102
|
-
| Subheadings, stronger labels | `15–16px` |
|
|
103
|
-
| Card titles, mid headings | `18–20px` |
|
|
104
|
-
| Section headings | `21–22px` |
|
|
105
|
-
|
|
106
|
-
The scale stays compact — there is no extreme-large display type. Hero headlines on landing surfaces use 22px or scale up via percentage (`100%`, `2.2em`) rather than fixed large pixels.
|
|
107
|
-
|
|
108
|
-
### Hierarchy is Weight-Driven, Not Size-Driven (verified via Playwright on `/browse`)
|
|
109
|
-
Pinkoi's heading hierarchy is unusual: most `<h1>`, `<h2>`, `<h3>` render at **14–16px** — close to body size. The visual hierarchy comes from **weight 700** combined with **color shifts** (e.g., `#39393e` for primary headings, `#66666a` for secondary, `#2cac97` for special emphasis like "Flagship Shops"). This is the opposite of the SaaS convention of using 32–48px headlines. It reflects Pinkoi's commerce-density priority: every pixel of vertical space saved means more browsable inventory above the fold.
|
|
110
|
-
|
|
111
|
-
### Special Conventions
|
|
112
|
-
- **No letter-spacing customization** in the modern core CSS — system defaults are trusted (legacy `.g-breadcrumb` uses `letter-spacing: 1px`; `.g-breadcrumb-v2` removes it).
|
|
113
|
-
- **`font-style: italic`** is reserved for testimonials and quoted content.
|
|
114
|
-
- **`text-decoration: none`** on `:hover` for `.m-br-button` — buttons never look like links.
|
|
115
|
-
- **`text-decoration: line-through`** for `.oprice` (original price before discount), in muted gray (`#a8a8ab` or `#bfbfc1`).
|
|
116
|
-
- **Numerals are not tabularized** by default — Pinkoi's product prices flow with prose.
|
|
117
|
-
|
|
118
|
-
## 4. Component Stylings
|
|
119
|
-
|
|
120
|
-
### Buttons (`.m-br-button`)
|
|
121
|
-
Base: `border-radius: 4px`, `transition: border .1s, color .1s, background .1s`, `outline: 0`, `cursor: pointer`, `text-align: center`, default text size `14px`. Icon `margin-right: 6px`. **Every filled variant uses `border: 1px solid <same-as-bg>` for a crisp solid block.**
|
|
122
|
-
|
|
123
|
-
Verified state matrices from production CSS:
|
|
124
|
-
|
|
125
|
-
| Variant | Base | Hover | Active | Use Case |
|
|
126
|
-
|---|---|---|---|---|
|
|
127
|
-
| `--primary` | bg `#10567b`, border `#10567b`, text `#fff` | bg/border `#064162` | bg/border `#003354` | Primary CTAs |
|
|
128
|
-
| `--login` | bg `#10567b`, border `#10567b`, text `#fff` | bg/border `#064162` | (matches primary) | Auth flows |
|
|
129
|
-
| `--secondary` | bg `#fff`, border `1px solid #a8a8ab`, text `#39393e` | bg `#f7f7f8` | bg `#eeeeef` | Cancel, dismiss, neutral CTAs |
|
|
130
|
-
| `--purchase` | bg `#f16c5d`, border `#f16c5d`, text `#fff` | bg/border `#e56051` | bg/border `#da5648` | Add to Cart, Buy Now (coral, exclusive) |
|
|
131
|
-
| `--danger` | bg `#e63349`, border `#e63349`, text `#fff` | bg/border `#d72136` | bg/border `#c41428` | Destructive actions |
|
|
132
|
-
| `--green` | bg `#2cac97`, border `#2cac97`, text `#fff` | bg/border `#289c8a` | bg/border `#289c8a` | Confirmations, follow |
|
|
133
|
-
| `--*-plain` | transparent, text-only color | text color hover only | bg `#f7f7f8` | Ghost variants |
|
|
134
|
-
|
|
135
|
-
Buttons sit horizontally with `+ .m-br-button { margin-left: 10px }` for chained CTAs.
|
|
136
|
-
|
|
137
|
-
### Cards (`.m-card-product`)
|
|
138
|
-
- `box-sizing: border-box`, `display: inline-block`, `vertical-align: top`
|
|
139
|
-
- `max-width: 190px`, width `calc(16.66667% - 12px)` → 6-column responsive grid
|
|
140
|
-
- Horizontal margins: `0 6px` per card → `12px` total gap
|
|
141
|
-
- Container `.m-card-container { margin: 0 -6px }` to negate edge gaps
|
|
142
|
-
- Cards rely on the product image as the primary visual; chrome around them is minimal
|
|
143
|
-
|
|
144
|
-
### Card Badges (`.s-card-badge`)
|
|
145
|
-
- `border-radius: 2px` (smaller than buttons — sits inside a busy product card)
|
|
146
|
-
- `font-size: 12px`, `font-weight: 400`
|
|
147
|
-
- `padding: 1px 4px` (very tight)
|
|
148
|
-
- `display: inline`, `position: relative`, `top: -1px` for optical alignment
|
|
149
|
-
|
|
150
|
-
### Discount Badges (`.card-discount-badge`)
|
|
151
|
-
- `border-radius: 2px 0 2px 0` — **asymmetric** corners create a folded-ribbon effect (top-right and bottom-left squared)
|
|
152
|
-
- `box-shadow: 1px 1px 2px 0 rgba(32,32,38,.2)` — subtle lift to separate from product image
|
|
153
|
-
- `position: absolute; top: 0; left: 0` — anchored to product image corner
|
|
154
|
-
- Numeric content uses `font-weight: 700` (`.g-item-badge-discount span`)
|
|
155
|
-
- Companion `.oprice` shows the original price line-through in muted gray (`#a8a8ab` / `#bfbfc1`)
|
|
156
|
-
|
|
157
|
-
### Navigation
|
|
158
|
-
- Sticky horizontal header on desktop with category dropdowns
|
|
159
|
-
- Default text color `#39393e`, link/active state `#2e90b7`
|
|
160
|
-
- Logo references `pinkoi_logo_2019.svg` — circular arcs + acute angles per brand identity refresh
|
|
161
|
-
- Navigation links remain weight 400 (lighter than headlines) for scannability
|
|
162
|
-
|
|
163
|
-
### Inputs
|
|
164
|
-
- Border-color follows the neutral scale (`#d3d3d5` default, `#bfbfc1` on focus, `#e63349` on error)
|
|
165
|
-
- Error state uses `box-shadow: inset 0 0 0 1px #e63349` for emphasized error borders
|
|
166
|
-
- Border-radius `4px` to match buttons
|
|
167
|
-
- Padding patterns from CSS: common `5px 10px`, `8px 12px`, `9px 14px` depending on size
|
|
168
|
-
- Required-field asterisk: `.s-required:after { color: #e63349; content: "*"; margin-left: 4px }`
|
|
169
|
-
- No floating-label or pill-shaped inputs — bordered rectangle is the convention
|
|
170
|
-
|
|
171
|
-
### Tables
|
|
172
|
-
- Used sparingly; commerce content is card-grid first
|
|
173
|
-
- When used, row dividers via `0 1px 1px 0 rgba(32,32,38,.2)` shadow or `1px solid #e5e5e6` border
|
|
174
|
-
|
|
175
|
-
## 5. Layout Principles
|
|
176
|
-
|
|
177
|
-
### Spacing Scale
|
|
178
|
-
Pinkoi works in a **5–10px micro-scale** for component padding and a coarser **24px+ rhythm** for section spacing:
|
|
179
|
-
|
|
180
|
-
| Common Padding Values | Use |
|
|
181
|
-
|---|---|
|
|
182
|
-
| `0` (15 uses) | Reset, tight columns |
|
|
183
|
-
| `2px`, `3px` | Badge insets, icon padding |
|
|
184
|
-
| `5px 10px` | Default tight button/cell |
|
|
185
|
-
| `4px 10px`, `6px 10px`, `8px 12px`, `9px 14px` | Button size variants S → M → L |
|
|
186
|
-
| `14px 0`, `64px 0` | Vertical section rhythm |
|
|
187
|
-
|
|
188
|
-
### Grid
|
|
189
|
-
- 6-column product grid is the dominant pattern (`16.66667%` per card)
|
|
190
|
-
- Container max-widths via media queries — content centers on wider viewports
|
|
191
|
-
- Negative margins on container (`margin: 0 -6px`) to pull edge cards flush
|
|
192
|
-
|
|
193
|
-
### Density
|
|
194
|
-
Pinkoi is a **high-density** system. Whitespace is rationed; products, prices, badges, and CTAs are stacked tightly to maximize browsable inventory. Don't space components like a SaaS dashboard.
|
|
195
|
-
|
|
196
|
-
## 6. Depth & Elevation
|
|
197
|
-
|
|
198
|
-
Pinkoi has a **two-track shadow philosophy**: the modern button/card system stays mostly flat, while a small set of legacy specialty controls retain a skeuomorphic colored-underglow recipe.
|
|
199
|
-
|
|
200
|
-
### Modern Surface Shadows (the default)
|
|
201
|
-
- **Card discount badge** — `1px 1px 2px 0 rgba(32,32,38,.2)` (subtle lift over product image)
|
|
202
|
-
- **Outline focus** — `box-shadow: 0 0 0 1px #d3d3d5` (border-as-shadow, often on focused inputs)
|
|
203
|
-
- **Inline error** — `box-shadow: inset 0 0 0 1px #e63349` (red inset for invalid form fields)
|
|
204
|
-
- **Single-pixel solid bottom** — `0 1px #515156` ("button depth"), `0 1px #d3d3d5` (subtle bottom edge)
|
|
205
|
-
- **Tooltip glow** — `0 0 2px hsla(240,2%,41%,.8)`
|
|
206
|
-
- **Modal/dialog** — `0 0 4px rgba(32,32,38,.4)`
|
|
207
|
-
- **Row divider** — `0 1px 1px 0 rgba(32,32,38,.2)`
|
|
208
|
-
|
|
209
|
-
The primary `.m-br-button` system has **no shadow at all** — its visual weight comes from the matched bg+border combo, not elevation.
|
|
210
|
-
|
|
211
|
-
### Legacy Skeuomorphic Shadows (specialty controls only)
|
|
212
|
-
A small set of older button classes — `.m-button-pink`, `.m-button-gray`, `.m-button-green`, `.m-button-unfav` — apply a layered colored shadow on `:hover`. These are typically used for favorite/follow-shop heart buttons, not primary CTAs.
|
|
213
|
-
|
|
214
|
-
Pattern: `0 .2em .2em -.1em <BRAND_MID>, 0 .3em <BRAND_DARK>, 0 .5em .5em -.1em rgba(32,32,38,.12)`
|
|
215
|
-
|
|
216
|
-
| Class | Hover bg | Mid shadow | Dark shadow |
|
|
217
|
-
|---|---|---|---|
|
|
218
|
-
| `.m-button-pink` | `#ff6299` | `#c83166` | `#a32252` |
|
|
219
|
-
| `.m-button-green` | `#7ec527` | `#65a40e` | `#4d9200` |
|
|
220
|
-
| `.m-button-gray` | `#8e9a9f` | `#66666a` | `#535c5f` |
|
|
221
|
-
| `.m-button-unfav` | (transparent) | `#d3d3d5` | `#d3d3d5` |
|
|
222
|
-
|
|
223
|
-
Treat this as a **legacy accent**, not a system-wide pattern. Don't generalize it to the main button system.
|
|
224
|
-
|
|
225
|
-
### Z-Index Hierarchy
|
|
226
|
-
- Sticky header sits above content
|
|
227
|
-
- Dropdown menus above sticky header
|
|
228
|
-
- Modal overlay above all chrome
|
|
229
|
-
- Toast notifications above modals
|
|
230
|
-
|
|
231
|
-
## 7. Do's and Don'ts
|
|
232
|
-
|
|
233
|
-
- **DO** use weight 700 for headlines, CTAs, prices, and badges. Bold is the brand's voice.
|
|
234
|
-
- **DON'T** apply weight 300 — Pinkoi never goes "airy thin." Headlines are confident and dense.
|
|
235
|
-
- **DO** reserve coral (`#f16c5d` / `#e56051` on hover) for the single most important purchase moment per page.
|
|
236
|
-
- **DON'T** use coral for navigation, generic CTAs, or info accents — it dilutes the conversion signal.
|
|
237
|
-
- **DO** use the locale-aware font stack with the user's language fallback as the second priority.
|
|
238
|
-
- **DON'T** load custom web fonts — system fonts respect each market's reading habits and reduce LCP across slow APAC connections.
|
|
239
|
-
- **DO** keep the modern button system flat — `border: 1px solid <same-as-bg>` and no shadow. Visual weight comes from color, not elevation.
|
|
240
|
-
- **DON'T** apply skeuomorphic shadows to primary CTAs — that recipe is reserved for legacy specialty controls (favorite, follow-shop buttons).
|
|
241
|
-
- **DO** keep border-radius in the `2px–8px` range (badges 2px, buttons/cards 4px, occasional 6–8px on featured surfaces).
|
|
242
|
-
- **DON'T** use pill-shaped or fully rounded buttons — they break the high-density commerce aesthetic.
|
|
243
|
-
- **DO** pack product cards tightly with `12px` total gutters and 6-column grids on desktop.
|
|
244
|
-
- **DON'T** overspace on landing pages — Pinkoi users browse a lot of inventory at once.
|
|
245
|
-
- **DO** treat `#e63349` (and its hover/active siblings) as the **error/destructive red** — use it for form validation, danger buttons, required-field asterisks, and warnings.
|
|
246
|
-
- **DON'T** confuse the error red with a sale-price color — discount badges use the asymmetric-corner ribbon style, not red text.
|
|
247
|
-
|
|
248
|
-
## 8. Responsive Behavior
|
|
249
|
-
|
|
250
|
-
### Breakpoints
|
|
251
|
-
| Name | Range | Key Changes |
|
|
252
|
-
|---|---|---|
|
|
253
|
-
| Mobile | `<767px` | 2-column product grid, stacked nav, full-width CTAs |
|
|
254
|
-
| Mobile (alt) | `<768px` | Some surfaces use 768px as the cutoff |
|
|
255
|
-
| Tablet | `768px–1037px` | 3–4 column product grid, condensed nav |
|
|
256
|
-
| Desktop | `1037px–1200px` | 5–6 column product grid, full nav |
|
|
257
|
-
| Wide | `>1200px` | 6-column grid with side margins |
|
|
258
|
-
| Extra Wide | `>1248px` | Centered max-width container |
|
|
259
|
-
|
|
260
|
-
### Touch Targets
|
|
261
|
-
- Buttons use `5px 10px` to `9px 14px` padding scale — adequate but compact
|
|
262
|
-
- Card tap targets cover the entire `.m-card-product` area
|
|
263
|
-
- Mobile nav typically expands to a full-screen drawer
|
|
264
|
-
|
|
265
|
-
### Collapsing Strategy
|
|
266
|
-
- 6-column product grid → 4 → 3 → 2 columns on shrinking width
|
|
267
|
-
- Horizontal sticky nav → hamburger drawer below 768px
|
|
268
|
-
- Multi-column footer → stacked sections below 768px
|
|
269
|
-
- Filter sidebar → bottom sheet on mobile
|
|
270
|
-
- Inline price + action → stacked below thumbnail on mobile
|
|
271
|
-
|
|
272
|
-
### Image Behavior
|
|
273
|
-
- Product images dominate cards — minimum 190px square
|
|
274
|
-
- Hover states may swap to alternate angle on desktop only (no hover on mobile)
|
|
275
|
-
- WebP/lazy-load standard practice (CDN: `cdn02.pinkoi.com`)
|
|
276
|
-
- Card aspect ratio preserved across breakpoints
|
|
277
|
-
|
|
278
|
-
## 9. Agent Prompt Guide
|
|
279
|
-
|
|
280
|
-
### Quick Color Reference
|
|
281
|
-
- Primary CTA bg: Mid Teal (`#10567b`); hover `#064162`; active `#003354`
|
|
282
|
-
- Purchase CTA bg: Coral (`#f16c5d`); hover `#e56051`; active `#da5648` — **buy actions only**
|
|
283
|
-
- Danger/Error: Red (`#e63349`); hover `#d72136`; active `#c41428` — destructive AND form validation
|
|
284
|
-
- Success: Teal Green (`#2cac97`); hover `#289c8a`
|
|
285
|
-
- Secondary button: white bg, `1px solid #a8a8ab` border, `#39393e` text
|
|
286
|
-
- Default text: Slate Dark (`#39393e`)
|
|
287
|
-
- Muted text: Slate Mid (`#66666a`)
|
|
288
|
-
- Link / mid-brand: Bright Teal (`#2e90b7`)
|
|
289
|
-
- Border default: Light Gray (`#d3d3d5`)
|
|
290
|
-
- Surface tint: Cool White (`#f7f7f8`)
|
|
291
|
-
|
|
292
|
-
### Example Component Prompts
|
|
293
|
-
- "Create a Pinkoi-style product card: white background, 1px solid #d3d3d5 border, 4px radius, max-width 190px. Image fills the top 75% of the card. Below: title in 14px weight 700 #39393e (2-line clamp), price in 16px weight 700 #39393e, optional discount badge with `border-radius: 2px 0 2px 0` (asymmetric ribbon corners), `1px 1px 2px 0 rgba(32,32,38,.2)` shadow, absolute top-left."
|
|
294
|
-
- "Build a Pinkoi primary button: 4px radius, 14px text weight 400, white text, #10567b background, `1px solid #10567b` border, 8px 12px padding. Hover: bg + border to #064162. Active: bg + border to #003354. No shadow — the matched bg+border combo gives the solid-block feel. Transition: `border .1s, color .1s, background .1s`. Note: button labels are weight 400, not 700 — visual weight comes from color + border, not text weight."
|
|
295
|
-
- "Design a 'Add to Cart' purchase button: 4px radius, 14px weight 400 white text, #f16c5d background, `1px solid #f16c5d` border, 9px 14px padding. Hover: #e56051. Active: #da5648. This button must be the most visually weighted element on the product page — coral is finite and reserved for this moment only. Verified live: `.m-br-button--purchase` on product detail page exactly matches these values."
|
|
296
|
-
- "Create a Pinkoi navigation header: white sticky bar, 14px weight 400 #39393e nav links with #2e90b7 hover, dropdown menus with 4px radius and `0 0 4px rgba(32,32,38,.4)` shadow. Logo (`pinkoi_logo_2019.svg`) on the left, search input center (border #d3d3d5, 4px radius), Login button (`--login` variant: #10567b bg + matched border + white text) on the right."
|
|
297
|
-
- "Build a form input with error state: 1px solid #d3d3d5 border default, 4px radius, 8px 12px padding. On error, set border to #e63349 and add `box-shadow: inset 0 0 0 1px #e63349` for a doubled-up red border effect. Helper text below in #e63349 weight 400 12px. Required-field labels get an asterisk via `.s-required:after { color: #e63349; content: '*'; margin-left: 4px }`."
|
|
298
|
-
|
|
299
|
-
### Iteration Guide
|
|
300
|
-
1. **Use weight 700 for headings, prices, and emphasis spans** — but **button labels stay at weight 400**. Visual weight on buttons comes from color + matched border, not text weight.
|
|
301
|
-
2. **Use the locale-aware font stack** — never hardcode a single font family. Lead with `Helvetica Neue, Helvetica, Arial`, append the user's language fallback.
|
|
302
|
-
3. **`border-radius: 4px`** is the workhorse. `2px` for badges. Discount badges use asymmetric `2px 0 2px 0`. Never go above `10px` except on rare hero overlays.
|
|
303
|
-
4. **Filled buttons get `border: 1px solid <same-as-bg>`** — this matched border gives the crisp solid look. Never add a shadow to the modern button system.
|
|
304
|
-
5. **Reserve coral (`#f16c5d`) exclusively for the `--purchase` variant**. Using it elsewhere weakens conversion.
|
|
305
|
-
6. **Treat `#e63349` as the error red across ALL contexts** — `--danger` button, form validation borders, required-field asterisks, warning text. It's not a sale-price color.
|
|
306
|
-
7. **High-density spacing** — micro-padding (`5px 10px` to `9px 14px`) on controls, generous (`24px+`, `64px 0`) only between full sections.
|
|
307
|
-
8. **6-column product grid** is the desktop default. Cards are `calc(16.66667% - 12px)` wide with `0 6px` horizontal margins.
|
|
308
|
-
9. **Use `#39393e` for body text**, never pure black. The slightly warm dark-gray reads better against the soft `#f7f7f8` surface tint.
|
|
309
|
-
10. **Skeuomorphic colored shadows are LEGACY** — only apply them to favorite/follow-shop accent buttons (`.m-button-{pink,gray,green,unfav}`), never to the main `.m-br-button` system.
|