oh-my-design-cli 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.ja.md +7 -7
  2. package/README.ko.md +7 -7
  3. package/README.md +15 -18
  4. package/README.zh-TW.md +7 -7
  5. package/agents/omd-ux-writer.md +1 -1
  6. package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +189 -0
  7. package/data/reference-audits/2026-05-13-kr10.md +132 -0
  8. package/data/reference-fingerprints.json +626 -3
  9. package/data/reference-tags.md +15 -1
  10. package/package.json +2 -2
  11. package/skills/omd-apply/SKILL.md +1 -1
  12. package/skills/omd-harness/SKILL.md +3 -3
  13. package/skills/omd-init/SKILL.md +2 -2
  14. package/web/AGENTS.md +5 -0
  15. package/web/references/29cm/DESIGN.md +445 -0
  16. package/web/references/ably/DESIGN.md +582 -0
  17. package/{references → web/references}/airbnb/DESIGN.md +158 -19
  18. package/web/references/airtable/DESIGN.md +241 -0
  19. package/{references → web/references}/apple/DESIGN.md +131 -76
  20. package/web/references/baemin/DESIGN.md +470 -0
  21. package/web/references/banksalad/DESIGN.md +606 -0
  22. package/{references → web/references}/bmw/DESIGN.md +138 -9
  23. package/{references → web/references}/cal/DESIGN.md +173 -17
  24. package/{references → web/references}/claude/DESIGN.md +11 -1
  25. package/{references → web/references}/clay/DESIGN.md +75 -0
  26. package/{references → web/references}/clickhouse/DESIGN.md +74 -0
  27. package/{references → web/references}/cohere/DESIGN.md +75 -0
  28. package/web/references/coinbase/DESIGN.md +205 -0
  29. package/{references → web/references}/composio/DESIGN.md +74 -0
  30. package/web/references/coupang/DESIGN.md +487 -0
  31. package/{references → web/references}/cursor/DESIGN.md +74 -0
  32. package/web/references/dcard/DESIGN.md +567 -0
  33. package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
  34. package/{references → web/references}/expo/DESIGN.md +72 -0
  35. package/{references → web/references}/ferrari/DESIGN.md +72 -0
  36. package/{references → web/references}/figma/DESIGN.md +124 -48
  37. package/{references → web/references}/framer/DESIGN.md +143 -16
  38. package/web/references/freee/DESIGN.md +558 -0
  39. package/web/references/gangnamunni/DESIGN.md +605 -0
  40. package/{references → web/references}/hashicorp/DESIGN.md +72 -0
  41. package/{references → web/references}/ibm/DESIGN.md +68 -0
  42. package/{references → web/references}/intercom/DESIGN.md +73 -0
  43. package/web/references/kakao/DESIGN.md +490 -0
  44. package/web/references/kakaobank/DESIGN.md +533 -0
  45. package/web/references/kakaopay/DESIGN.md +529 -0
  46. package/web/references/karrot/DESIGN.md +431 -0
  47. package/web/references/kraken/DESIGN.md +219 -0
  48. package/web/references/krds/DESIGN.md +982 -0
  49. package/web/references/kurly/DESIGN.md +574 -0
  50. package/{references → web/references}/lamborghini/DESIGN.md +74 -0
  51. package/{references → web/references}/line/DESIGN.md +84 -43
  52. package/{references → web/references}/linear.app/DESIGN.md +8 -1
  53. package/{references → web/references}/lovable/DESIGN.md +73 -0
  54. package/web/references/mercari/DESIGN.md +464 -0
  55. package/{references → web/references}/minimax/DESIGN.md +72 -0
  56. package/{references → web/references}/mintlify/DESIGN.md +72 -0
  57. package/web/references/miro/DESIGN.md +252 -0
  58. package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
  59. package/{references → web/references}/mongodb/DESIGN.md +72 -0
  60. package/web/references/musinsa/DESIGN.md +536 -0
  61. package/web/references/naver/DESIGN.md +518 -0
  62. package/{references → web/references}/notion/DESIGN.md +9 -1
  63. package/web/references/nvidia/DESIGN.md +491 -0
  64. package/web/references/ohouse/DESIGN.md +570 -0
  65. package/{references → web/references}/ollama/DESIGN.md +72 -0
  66. package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
  67. package/web/references/pinkoi/DESIGN.md +575 -0
  68. package/{references → web/references}/pinterest/DESIGN.md +73 -0
  69. package/{references → web/references}/posthog/DESIGN.md +172 -18
  70. package/web/references/qanda/DESIGN.md +459 -0
  71. package/{references → web/references}/raycast/DESIGN.md +169 -34
  72. package/web/references/remember/DESIGN.md +445 -0
  73. package/{references → web/references}/renault/DESIGN.md +72 -0
  74. package/{references → web/references}/replicate/DESIGN.md +73 -0
  75. package/{references → web/references}/resend/DESIGN.md +73 -0
  76. package/{references → web/references}/revolut/DESIGN.md +74 -0
  77. package/web/references/ridi/DESIGN.md +517 -0
  78. package/{references → web/references}/runwayml/DESIGN.md +152 -24
  79. package/{references → web/references}/sanity/DESIGN.md +72 -0
  80. package/{references → web/references}/sentry/DESIGN.md +73 -0
  81. package/web/references/socar/DESIGN.md +370 -0
  82. package/web/references/spacex/DESIGN.md +379 -0
  83. package/web/references/spotify/DESIGN.md +426 -0
  84. package/{references → web/references}/stripe/DESIGN.md +44 -1
  85. package/{references → web/references}/supabase/DESIGN.md +73 -0
  86. package/{references → web/references}/superhuman/DESIGN.md +159 -17
  87. package/{references → web/references}/tesla/DESIGN.md +170 -0
  88. package/{references → web/references}/together.ai/DESIGN.md +73 -0
  89. package/{references → web/references}/toss/DESIGN.md +304 -50
  90. package/{references → web/references}/uber/DESIGN.md +73 -0
  91. package/{references → web/references}/vercel/DESIGN.md +9 -1
  92. package/{references → web/references}/voltagent/DESIGN.md +73 -0
  93. package/web/references/wanted/DESIGN.md +515 -0
  94. package/{references → web/references}/warp/DESIGN.md +142 -15
  95. package/web/references/webflow/DESIGN.md +253 -0
  96. package/{references → web/references}/wise/DESIGN.md +84 -0
  97. package/{references → web/references}/x.ai/DESIGN.md +85 -0
  98. package/web/references/yanolja/DESIGN.md +448 -0
  99. package/web/references/yeogiotte/DESIGN.md +424 -0
  100. package/{references → web/references}/zapier/DESIGN.md +85 -0
  101. package/web/references/zigbang/DESIGN.md +457 -0
  102. package/web/references/zigzag/DESIGN.md +618 -0
  103. package/references/airtable/DESIGN.md +0 -107
  104. package/references/baemin/DESIGN.md +0 -260
  105. package/references/coinbase/DESIGN.md +0 -129
  106. package/references/dcard/DESIGN.md +0 -302
  107. package/references/freee/DESIGN.md +0 -308
  108. package/references/kakao/DESIGN.md +0 -261
  109. package/references/karrot/DESIGN.md +0 -252
  110. package/references/kraken/DESIGN.md +0 -146
  111. package/references/mercari/DESIGN.md +0 -294
  112. package/references/miro/DESIGN.md +0 -108
  113. package/references/nvidia/DESIGN.md +0 -308
  114. package/references/pinkoi/DESIGN.md +0 -309
  115. package/references/spacex/DESIGN.md +0 -205
  116. package/references/spotify/DESIGN.md +0 -246
  117. package/references/webflow/DESIGN.md +0 -109
@@ -1,205 +0,0 @@
1
- # Design System Inspiration of SpaceX
2
-
3
- ## 1. Visual Theme & Atmosphere
4
-
5
- SpaceX's website is a full-screen cinematic experience that treats aerospace engineering like a film — every section is a scene, every photograph is a frame, and the interface disappears entirely behind the imagery. The design is pure black (`#000000`) with photography of rockets, space, and planets occupying 100% of the viewport. Text overlays sit directly on these photographs with no background panels, cards, or containers — just type on image, bold and unapologetic.
6
-
7
- The typography system uses D-DIN, an industrial geometric typeface with DIN heritage (the German industrial standard). The defining characteristic is that virtually ALL text is uppercase with positive letter-spacing (0.96px–1.17px), creating a military/aerospace labeling system where every word feels stenciled onto a spacecraft hull. D-DIN-Bold at 48px with uppercase and 0.96px tracking for the hero creates headlines that feel like mission briefing titles. Even body text at 16px maintains the uppercase/tracked treatment at smaller scales.
8
-
9
- What makes SpaceX distinctive is its radical minimalism: no shadows, no borders (except one ghost button border at `rgba(240,240,250,0.35)`), no color (only black and a spectral near-white `#f0f0fa`), no cards, no grids. The only visual element is photography + text. The ghost button with `rgba(240,240,250,0.1)` background and 32px radius is the sole interactive element — barely visible, floating over the imagery like a heads-up display. This isn't a design system in the traditional sense — it's a photographic exhibition with a type system and a single button.
10
-
11
- **Key Characteristics:**
12
- - Pure black canvas with full-viewport cinematic photography — the interface is invisible
13
- - D-DIN / D-DIN-Bold — industrial DIN-heritage typeface
14
- - Universal uppercase + positive letter-spacing (0.96px–1.17px) — aerospace stencil aesthetic
15
- - Near-white spectral text (`#f0f0fa`) — not pure white, a slight blue-violet tint
16
- - Zero shadows, zero cards, zero containers — text on image only
17
- - Single ghost button: `rgba(240,240,250,0.1)` background with spectral border
18
- - Full-viewport sections — each section is a cinematic "scene"
19
- - No decorative elements — every pixel serves the photography
20
-
21
- ## 2. Color Palette & Roles
22
-
23
- ### Primary
24
- - **Space Black** (`#000000`): Page background, the void of space — at 50% opacity for overlay gradient
25
- - **Spectral White** (`#f0f0fa`): Text color — not pure white, a slight blue-violet tint that mimics starlight
26
-
27
- ### Interactive
28
- - **Ghost Surface** (`rgba(240, 240, 250, 0.1)`): Button background — nearly invisible, 10% opacity
29
- - **Ghost Border** (`rgba(240, 240, 250, 0.35)`): Button border — spectral, 35% opacity
30
- - **Hover White** (`var(--white-100)`): Link hover state — full spectral white
31
-
32
- ### Gradient
33
- - **Dark Overlay** (`rgba(0, 0, 0, 0.5)`): Gradient overlay on photographs to ensure text legibility
34
-
35
- ### Resolved Surface Tints
36
- The rgba overlays above resolve to these effective hex values when composited on the black canvas:
37
- - **Ghost Surface Resolved** (`#1a1a1f`): `rgba(240, 240, 250, 0.1)` over `#000000`.
38
- - **Ghost Border Resolved** (`#56565b`): `rgba(240, 240, 250, 0.35)` over `#000000`.
39
- - **Photo-overlay Resolved** (`#0d0d0d`): Effective tone after the 50% black overlay on hero photography.
40
-
41
- ### Mission Status & Live-Indicator Accents
42
- Used sparingly in countdown and launch-status modules:
43
- - **Active Red** (`#cc0000`): Live transmission indicator, "active mission" status.
44
- - **Status Amber** (`#f5a623`): Pre-launch / hold status, secondary warnings.
45
-
46
- ## 3. Typography Rules
47
-
48
- ### Font Families
49
- - **Display**: `D-DIN-Bold` — bold industrial geometric
50
- - **Body / UI**: `D-DIN`, fallbacks: `Arial, Verdana`
51
-
52
- ### Hierarchy
53
-
54
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
55
- |------|------|------|--------|-------------|----------------|-------|
56
- | Display Hero | D-DIN-Bold | 48px (3.00rem) | 700 | 1.00 (tight) | 0.96px | `text-transform: uppercase` |
57
- | Body | D-DIN | 16px (1.00rem) | 400 | 1.50–1.70 | normal | Standard reading text |
58
- | Nav Link Bold | D-DIN | 13px (0.81rem) | 700 | 0.94 (tight) | 1.17px | `text-transform: uppercase` |
59
- | Nav Link | D-DIN | 12px (0.75rem) | 400 | 2.00 (relaxed) | normal | `text-transform: uppercase` |
60
- | Caption Bold | D-DIN | 13px (0.81rem) | 700 | 0.94 (tight) | 1.17px | `text-transform: uppercase` |
61
- | Caption | D-DIN | 12px (0.75rem) | 400 | 1.00 (tight) | normal | `text-transform: uppercase` |
62
- | Micro | D-DIN | 10px (0.63rem) | 400 | 0.94 (tight) | 1px | `text-transform: uppercase` |
63
-
64
- ### Principles
65
- - **Universal uppercase**: Nearly every text element uses `text-transform: uppercase`. This creates a systematic military/aerospace voice where all communication feels like official documentation.
66
- - **Positive letter-spacing as identity**: 0.96px on display, 1.17px on nav — the wide tracking creates the stenciled, industrial feel that connects to DIN's heritage as a German engineering standard.
67
- - **Two weights, strict hierarchy**: D-DIN-Bold (700) for headlines and nav emphasis, D-DIN (400) for body. No medium or semibold weights exist in the system.
68
- - **Tight line-heights**: 0.94–1.00 across most text — compressed, efficient, mission-critical communication.
69
-
70
- ## 4. Component Stylings
71
-
72
- ### Buttons
73
-
74
- **Ghost Button**
75
- - Background: `rgba(240, 240, 250, 0.1)` (barely visible)
76
- - Text: Spectral White (`#f0f0fa`)
77
- - Padding: 18px
78
- - Radius: 32px
79
- - Border: `1px solid rgba(240, 240, 250, 0.35)`
80
- - Hover: background brightens, text to `var(--white-100)`
81
- - Use: The only button variant — "LEARN MORE" CTAs on photography
82
-
83
- ### Cards & Containers
84
- - **None.** SpaceX does not use cards, panels, or containers. All content is text directly on full-viewport photographs. The absence of containers IS the design.
85
-
86
- ### Inputs & Forms
87
- - Not present on the homepage. The site is purely presentational.
88
-
89
- ### Navigation
90
- - Transparent overlay nav on photography
91
- - D-DIN 13px weight 700, uppercase, 1.17px tracking
92
- - Spectral white text on dark imagery
93
- - Logo: SpaceX wordmark at 147x19px
94
- - Mobile: hamburger collapse
95
-
96
- ### Image Treatment
97
- - Full-viewport (100vh) photography sections
98
- - Professional aerospace photography: rockets, Mars, space
99
- - Dark gradient overlays (`rgba(0,0,0,0.5)`) for text legibility
100
- - Each section = one full-screen photograph with text overlay
101
- - No border radius, no frames — edge-to-edge imagery
102
-
103
- ## 5. Layout Principles
104
-
105
- ### Spacing System
106
- - Base unit: 8px
107
- - Scale: 3px, 5px, 12px, 15px, 18px, 20px, 24px, 30px
108
- - Minimal scale — spacing is not the organizing principle; photography is
109
-
110
- ### Grid & Container
111
- - No traditional grid — each section is a full-viewport cinematic frame
112
- - Text is positioned absolutely or with generous padding over imagery
113
- - Left-aligned text blocks on photography backgrounds
114
- - No max-width container — content bleeds to viewport edges
115
-
116
- ### Whitespace Philosophy
117
- - **Photography IS the whitespace**: Empty space in the design is never empty — it's filled with the dark expanse of space, the curve of a planet, or the flame of a rocket engine. Traditional whitespace concepts don't apply.
118
- - **Vertical pacing through viewport**: Each section is exactly one viewport tall, creating a rhythmic scroll where each "page" reveals a new scene.
119
-
120
- ### Border Radius Scale
121
- - Sharp (4px): Small dividers, utility elements
122
- - Button (32px): Ghost buttons — the only rounded element
123
-
124
- ## 6. Depth & Elevation
125
-
126
- | Level | Treatment | Use |
127
- |-------|-----------|-----|
128
- | Photography (Level 0) | Full-viewport imagery | Background layer — always present |
129
- | Overlay (Level 1) | `rgba(0, 0, 0, 0.5)` gradient | Text legibility layer over photography |
130
- | Text (Level 2) | Spectral white text, no shadow | Content layer — text floats directly on image |
131
- | Ghost (Level 3) | `rgba(240, 240, 250, 0.1)` surface | Barely-visible interactive layer |
132
-
133
- **Shadow Philosophy**: SpaceX uses ZERO shadows. In a design built entirely on photography, shadows are meaningless — every surface is already a photograph with natural lighting. Depth comes from the photographic content itself: the receding curvature of Earth, the diminishing trail of a rocket, the atmospheric haze around Mars.
134
-
135
- ## 7. Do's and Don'ts
136
-
137
- ### Do
138
- - Use full-viewport photography as the primary design element — every section is a scene
139
- - Apply uppercase + positive letter-spacing to ALL text — the aerospace stencil voice
140
- - Use D-DIN exclusively — no other fonts exist in the system
141
- - Keep the color palette to black + spectral white (`#f0f0fa`) only
142
- - Use ghost buttons (`rgba(240,240,250,0.1)`) as the sole interactive element
143
- - Apply dark gradient overlays for text legibility on photographs
144
- - Let photography carry the emotional weight — the type system is functional, not expressive
145
-
146
- ### Don't
147
- - Don't add cards, panels, or containers — text sits directly on photography
148
- - Don't use shadows — they have no meaning in a photographic context
149
- - Don't introduce colors — the palette is strictly achromatic with spectral tint
150
- - Don't use sentence case — everything is uppercase
151
- - Don't use negative letter-spacing — all tracking is positive (0.96px–1.17px)
152
- - Don't reduce photography to thumbnails — every image is full-viewport
153
- - Don't add decorative elements (icons, badges, dividers) — the design is photography + type + one button
154
-
155
- ## 8. Responsive Behavior
156
-
157
- ### Breakpoints
158
- | Name | Width | Key Changes |
159
- |------|-------|-------------|
160
- | Mobile | <600px | Stacked, reduced padding, smaller type |
161
- | Tablet Small | 600–960px | Adjusted layout |
162
- | Tablet | 960–1280px | Standard scaling |
163
- | Desktop | 1280–1350px | Full layout |
164
- | Large Desktop | 1350–1500px | Expanded |
165
- | Ultra-wide | >1500px | Maximum viewport |
166
-
167
- ### Touch Targets
168
- - Ghost buttons: 18px padding provides adequate touch area
169
- - Navigation links: uppercase with generous letter-spacing aids readability
170
-
171
- ### Collapsing Strategy
172
- - Photography: maintains full-viewport at all sizes, content reposition
173
- - Hero text: 48px → scales down proportionally
174
- - Navigation: horizontal → hamburger
175
- - Text blocks: reposition but maintain overlay-on-photography pattern
176
- - Full-viewport sections maintained on mobile
177
-
178
- ### Image Behavior
179
- - Edge-to-edge photography at all viewport sizes
180
- - Background-size: cover with center focus
181
- - Dark overlay gradients adapt to content position
182
- - No art direction changes — same photographs, responsive positioning
183
-
184
- ## 9. Agent Prompt Guide
185
-
186
- ### Quick Color Reference
187
- - Background: Space Black (`#000000`)
188
- - Text: Spectral White (`#f0f0fa`)
189
- - Button background: Ghost (`rgba(240, 240, 250, 0.1)`)
190
- - Button border: Ghost Border (`rgba(240, 240, 250, 0.35)`)
191
- - Overlay: `rgba(0, 0, 0, 0.5)`
192
-
193
- ### Example Component Prompts
194
- - "Create a full-viewport hero: background-image covering 100vh, dark gradient overlay rgba(0,0,0,0.5). Headline at 48px D-DIN-Bold, uppercase, letter-spacing 0.96px, spectral white (#f0f0fa) text. Ghost CTA button: rgba(240,240,250,0.1) bg, 1px solid rgba(240,240,250,0.35) border, 32px radius, 18px padding."
195
- - "Design a navigation: transparent over photography. D-DIN 13px weight 700, uppercase, letter-spacing 1.17px, spectral white text. SpaceX wordmark left-aligned."
196
- - "Build a content section: full-viewport height, background photography with dark overlay. Left-aligned text block with 48px D-DIN-Bold uppercase heading, 16px D-DIN body text, and ghost button below."
197
- - "Create a micro label: D-DIN 10px, uppercase, letter-spacing 1px, spectral white, line-height 0.94."
198
-
199
- ### Iteration Guide
200
- 1. Start with photography — the image IS the design
201
- 2. All text is uppercase with positive letter-spacing — no exceptions
202
- 3. Only two colors: black and spectral white (#f0f0fa)
203
- 4. Ghost buttons are the only interactive element — transparent, spectral-bordered
204
- 5. Zero shadows, zero cards, zero decorative elements
205
- 6. Every section is full-viewport (100vh) — cinematic pacing
@@ -1,246 +0,0 @@
1
- # Design System Inspiration of Spotify
2
-
3
- ## 1. Visual Theme & Atmosphere
4
-
5
- Spotify's web interface is a dark, immersive music player that wraps listeners in a near-black cocoon (`#121212`, `#181818`, `#1f1f1f`) where album art and content become the primary source of color. The design philosophy is "content-first darkness" — the UI recedes into shadow so that music, podcasts, and playlists can glow. Every surface is a shade of charcoal, creating a theater-like environment where the only true color comes from the iconic Spotify Green (`#1ed760`) and the album artwork itself.
6
-
7
- The typography uses SpotifyMixUI and SpotifyMixUITitle — proprietary fonts from the CircularSp family (Circular by Lineto, customized for Spotify) with an extensive fallback stack that includes Arabic, Hebrew, Cyrillic, Greek, Devanagari, and CJK fonts, reflecting Spotify's global reach. The type system is compact and functional: 700 (bold) for emphasis and navigation, 600 (semibold) for secondary emphasis, and 400 (regular) for body. Buttons use uppercase with positive letter-spacing (1.4px–2px) for a systematic, label-like quality.
8
-
9
- What distinguishes Spotify is its pill-and-circle geometry. Primary buttons use 500px–9999px radius (full pill), circular play buttons use 50% radius, and search inputs are 500px pills. Combined with heavy shadows (`rgba(0,0,0,0.5) 0px 8px 24px`) on elevated elements and a unique inset border-shadow combo (`rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset`), the result is an interface that feels like a premium audio device — tactile, rounded, and built for touch.
10
-
11
- **Key Characteristics:**
12
- - Near-black immersive dark theme (`#121212`–`#1f1f1f`) — UI disappears behind content
13
- - Spotify Green (`#1ed760`) as singular brand accent — never decorative, always functional
14
- - SpotifyMixUI/CircularSp font family with global script support
15
- - Pill buttons (500px–9999px) and circular controls (50%) — rounded, touch-optimized
16
- - Uppercase button labels with wide letter-spacing (1.4px–2px)
17
- - Heavy shadows on elevated elements (`rgba(0,0,0,0.5) 0px 8px 24px`)
18
- - Semantic colors: negative red (`#f3727f`), warning orange (`#ffa42b`), announcement blue (`#539df5`)
19
- - Album art as the primary color source — the UI is achromatic by design
20
-
21
- ## 2. Color Palette & Roles
22
-
23
- ### Primary Brand
24
- - **Spotify Green** (`#1ed760`): Primary brand accent — play buttons, active states, CTAs
25
- - **Near Black** (`#121212`): Deepest background surface
26
- - **Dark Surface** (`#181818`): Cards, containers, elevated surfaces
27
- - **Mid Dark** (`#1f1f1f`): Button backgrounds, interactive surfaces
28
-
29
- ### Text
30
- - **White** (`#ffffff`): `--text-base`, primary text
31
- - **Silver** (`#b3b3b3`): Secondary text, muted labels, inactive nav
32
- - **Near White** (`#cbcbcb`): Slightly brighter secondary text
33
- - **Light** (`#fdfdfd`): Near-pure white for maximum emphasis
34
-
35
- ### Semantic
36
- - **Negative Red** (`#f3727f`): `--text-negative`, error states
37
- - **Warning Orange** (`#ffa42b`): `--text-warning`, warning states
38
- - **Announcement Blue** (`#539df5`): `--text-announcement`, info states
39
-
40
- ### Surface & Border
41
- - **Dark Card** (`#252525`): Elevated card surface
42
- - **Mid Card** (`#272727`): Alternate card surface
43
- - **Border Gray** (`#4d4d4d`): Button borders on dark
44
- - **Light Border** (`#7c7c7c`): Outlined button borders, muted links
45
- - **Separator** (`#b3b3b3`): Divider lines
46
- - **Light Surface** (`#eeeeee`): Light-mode buttons (rare)
47
- - **Spotify Green Border** (`#1db954`): Green accent border variant
48
-
49
- ### Shadows
50
- - **Heavy** (`rgba(0,0,0,0.5) 0px 8px 24px`): Dialogs, menus, elevated panels
51
- - **Medium** (`rgba(0,0,0,0.3) 0px 8px 8px`): Cards, dropdowns
52
- - **Inset Border** (`rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset`): Input border-shadow combo
53
-
54
- ## 3. Typography Rules
55
-
56
- ### Font Families
57
- - **Title**: `SpotifyMixUITitle`, fallbacks: `CircularSp-Arab, CircularSp-Hebr, CircularSp-Cyrl, CircularSp-Grek, CircularSp-Deva, Helvetica Neue, helvetica, arial, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, MS Gothic`
58
- - **UI / Body**: `SpotifyMixUI`, same fallback stack
59
-
60
- ### Hierarchy
61
-
62
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
63
- |------|------|------|--------|-------------|----------------|-------|
64
- | Section Title | SpotifyMixUITitle | 24px (1.50rem) | 700 | normal | normal | Bold title weight |
65
- | Feature Heading | SpotifyMixUI | 18px (1.13rem) | 600 | 1.30 (tight) | normal | Semibold section heads |
66
- | Body Bold | SpotifyMixUI | 16px (1.00rem) | 700 | normal | normal | Emphasized text |
67
- | Body | SpotifyMixUI | 16px (1.00rem) | 400 | normal | normal | Standard body |
68
- | Button Uppercase | SpotifyMixUI | 14px (0.88rem) | 600–700 | 1.00 (tight) | 1.4px–2px | `text-transform: uppercase` |
69
- | Button | SpotifyMixUI | 14px (0.88rem) | 700 | normal | 0.14px | Standard button |
70
- | Nav Link Bold | SpotifyMixUI | 14px (0.88rem) | 700 | normal | normal | Navigation |
71
- | Nav Link | SpotifyMixUI | 14px (0.88rem) | 400 | normal | normal | Inactive nav |
72
- | Caption Bold | SpotifyMixUI | 14px (0.88rem) | 700 | 1.50–1.54 | normal | Bold metadata |
73
- | Caption | SpotifyMixUI | 14px (0.88rem) | 400 | normal | normal | Metadata |
74
- | Small Bold | SpotifyMixUI | 12px (0.75rem) | 700 | 1.50 | normal | Tags, counts |
75
- | Small | SpotifyMixUI | 12px (0.75rem) | 400 | normal | normal | Fine print |
76
- | Badge | SpotifyMixUI | 10.5px (0.66rem) | 600 | 1.33 | normal | `text-transform: capitalize` |
77
- | Micro | SpotifyMixUI | 10px (0.63rem) | 400 | normal | normal | Smallest text |
78
-
79
- ### Principles
80
- - **Bold/regular binary**: Most text is either 700 (bold) or 400 (regular), with 600 used sparingly. This creates a clear visual hierarchy through weight contrast rather than size variation.
81
- - **Uppercase buttons as system**: Button labels use uppercase + wide letter-spacing (1.4px–2px), creating a systematic "label" voice distinct from content text.
82
- - **Compact sizing**: The range is 10px–24px — narrower than most systems. Spotify's type is compact and functional, designed for scanning playlists, not reading articles.
83
- - **Global script support**: The extensive fallback stack (Arabic, Hebrew, Cyrillic, Greek, Devanagari, CJK) reflects Spotify's 180+ market reach.
84
-
85
- ## 4. Component Stylings
86
-
87
- ### Buttons
88
-
89
- **Dark Pill**
90
- - Background: `#1f1f1f`
91
- - Text: `#ffffff` or `#b3b3b3`
92
- - Padding: 8px 16px
93
- - Radius: 9999px (full pill)
94
- - Use: Navigation pills, secondary actions
95
-
96
- **Dark Large Pill**
97
- - Background: `#181818`
98
- - Text: `#ffffff`
99
- - Padding: 0px 43px
100
- - Radius: 500px
101
- - Use: Primary app navigation buttons
102
-
103
- **Light Pill**
104
- - Background: `#eeeeee`
105
- - Text: `#181818`
106
- - Radius: 500px
107
- - Use: Light-mode CTAs (cookie consent, marketing)
108
-
109
- **Outlined Pill**
110
- - Background: transparent
111
- - Text: `#ffffff`
112
- - Border: `1px solid #7c7c7c`
113
- - Padding: 4px 16px 4px 36px (asymmetric for icon)
114
- - Radius: 9999px
115
- - Use: Follow buttons, secondary actions
116
-
117
- **Circular Play**
118
- - Background: `#1f1f1f`
119
- - Text: `#ffffff`
120
- - Padding: 12px
121
- - Radius: 50% (circle)
122
- - Use: Play/pause controls
123
-
124
- ### Cards & Containers
125
- - Background: `#181818` or `#1f1f1f`
126
- - Radius: 6px–8px
127
- - No visible borders on most cards
128
- - Hover: slight background lightening
129
- - Shadow: `rgba(0,0,0,0.3) 0px 8px 8px` on elevated
130
-
131
- ### Inputs
132
- - Search input: `#1f1f1f` background, `#ffffff` text
133
- - Radius: 500px (pill)
134
- - Padding: 12px 96px 12px 48px (icon-aware)
135
- - Focus: border becomes `#000000`, outline `1px solid`
136
-
137
- ### Navigation
138
- - Dark sidebar with SpotifyMixUI 14px weight 700 for active, 400 for inactive
139
- - `#b3b3b3` muted color for inactive items, `#ffffff` for active
140
- - Circular icon buttons (50% radius)
141
- - Spotify logo top-left in green
142
-
143
- ## 5. Layout Principles
144
-
145
- ### Spacing System
146
- - Base unit: 8px
147
- - Scale: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 14px, 15px, 16px, 20px
148
-
149
- ### Grid & Container
150
- - Sidebar (fixed) + main content area
151
- - Grid-based album/playlist cards
152
- - Full-width now-playing bar at bottom
153
- - Responsive content area fills remaining space
154
-
155
- ### Whitespace Philosophy
156
- - **Dark compression**: Spotify packs content densely — playlist grids, track lists, and navigation are all tightly spaced. The dark background provides visual rest between elements without needing large gaps.
157
- - **Content density over breathing room**: This is an app, not a marketing site. Every pixel serves the listening experience.
158
-
159
- ### Border Radius Scale
160
- - Minimal (2px): Badges, explicit tags
161
- - Subtle (4px): Inputs, small elements
162
- - Standard (6px): Album art containers, cards
163
- - Comfortable (8px): Sections, dialogs
164
- - Medium (10px–20px): Panels, overlay elements
165
- - Large (100px): Large pill buttons
166
- - Pill (500px): Primary buttons, search input
167
- - Full Pill (9999px): Navigation pills, search
168
- - Circle (50%): Play buttons, avatars, icons
169
-
170
- ## 6. Depth & Elevation
171
-
172
- | Level | Treatment | Use |
173
- |-------|-----------|-----|
174
- | Base (Level 0) | `#121212` background | Deepest layer, page background |
175
- | Surface (Level 1) | `#181818` or `#1f1f1f` | Cards, sidebar, containers |
176
- | Elevated (Level 2) | `rgba(0,0,0,0.3) 0px 8px 8px` | Dropdown menus, hover cards |
177
- | Dialog (Level 3) | `rgba(0,0,0,0.5) 0px 8px 24px` | Modals, overlays, menus |
178
- | Inset (Border) | `rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset` | Input borders |
179
-
180
- **Shadow Philosophy**: Spotify uses notably heavy shadows for a dark-themed app. The 0.5 opacity shadow at 24px blur creates a dramatic "floating in darkness" effect for dialogs and menus, while the 0.3 opacity at 8px blur provides a more subtle card lift. The unique inset border-shadow combination on inputs creates a recessed, tactile quality.
181
-
182
- ## 7. Do's and Don'ts
183
-
184
- ### Do
185
- - Use near-black backgrounds (`#121212`–`#1f1f1f`) — depth through shade variation
186
- - Apply Spotify Green (`#1ed760`) only for play controls, active states, and primary CTAs
187
- - Use pill shape (500px–9999px) for all buttons — circular (50%) for play controls
188
- - Apply uppercase + wide letter-spacing (1.4px–2px) on button labels
189
- - Keep typography compact (10px–24px range) — this is an app, not a magazine
190
- - Use heavy shadows (`0.3–0.5 opacity`) for elevated elements on dark backgrounds
191
- - Let album art provide color — the UI itself is achromatic
192
-
193
- ### Don't
194
- - Don't use Spotify Green decoratively or on backgrounds — it's functional only
195
- - Don't use light backgrounds for primary surfaces — the dark immersion is core
196
- - Don't skip the pill/circle geometry on buttons — square buttons break the identity
197
- - Don't use thin/subtle shadows — on dark backgrounds, shadows need to be heavy to be visible
198
- - Don't add additional brand colors — green + achromatic grays is the complete palette
199
- - Don't use relaxed line-heights — Spotify's typography is compact and dense
200
- - Don't expose raw gray borders — use shadow-based or inset borders instead
201
-
202
- ## 8. Responsive Behavior
203
-
204
- ### Breakpoints
205
- | Name | Width | Key Changes |
206
- |------|-------|-------------|
207
- | Mobile Small | <425px | Compact mobile layout |
208
- | Mobile | 425–576px | Standard mobile |
209
- | Tablet | 576–768px | 2-column grid |
210
- | Tablet Large | 768–896px | Expanded layout |
211
- | Desktop Small | 896–1024px | Sidebar visible |
212
- | Desktop | 1024–1280px | Full desktop layout |
213
- | Large Desktop | >1280px | Expanded grid |
214
-
215
- ### Collapsing Strategy
216
- - Sidebar: full → collapsed → hidden
217
- - Album grid: 5 columns → 3 → 2 → 1
218
- - Now-playing bar: maintained at all sizes
219
- - Search: pill input maintained, width adjusts
220
- - Navigation: sidebar → bottom bar on mobile
221
-
222
- ## 9. Agent Prompt Guide
223
-
224
- ### Quick Color Reference
225
- - Background: Near Black (`#121212`)
226
- - Surface: Dark Card (`#181818`)
227
- - Text: White (`#ffffff`)
228
- - Secondary text: Silver (`#b3b3b3`)
229
- - Accent: Spotify Green (`#1ed760`)
230
- - Border: `#4d4d4d`
231
- - Error: Negative Red (`#f3727f`)
232
-
233
- ### Example Component Prompts
234
- - "Create a dark card: #181818 background, 8px radius. Title at 16px SpotifyMixUI weight 700, white text. Subtitle at 14px weight 400, #b3b3b3. Shadow rgba(0,0,0,0.3) 0px 8px 8px on hover."
235
- - "Design a pill button: #1f1f1f background, white text, 9999px radius, 8px 16px padding. 14px SpotifyMixUI weight 700, uppercase, letter-spacing 1.4px."
236
- - "Build a circular play button: Spotify Green (#1ed760) background, #000000 icon, 50% radius, 12px padding."
237
- - "Create search input: #1f1f1f background, white text, 500px radius, 12px 48px padding. Inset border: rgb(124,124,124) 0px 0px 0px 1px inset."
238
- - "Design navigation sidebar: #121212 background. Active items: 14px weight 700, white. Inactive: 14px weight 400, #b3b3b3."
239
-
240
- ### Iteration Guide
241
- 1. Start with #121212 — everything lives in near-black darkness
242
- 2. Spotify Green for functional highlights only (play, active, CTA)
243
- 3. Pill everything — 500px for large, 9999px for small, 50% for circular
244
- 4. Uppercase + wide tracking on buttons — the systematic label voice
245
- 5. Heavy shadows (0.3–0.5 opacity) for elevation — light shadows are invisible on dark
246
- 6. Album art provides all the color — the UI stays achromatic
@@ -1,109 +0,0 @@
1
- # Design System Inspiration of Webflow
2
-
3
- ## 1. Visual Theme & Atmosphere
4
-
5
- Webflow's website is a visually rich, tool-forward platform that communicates "design without code" through clean white surfaces, the signature Webflow Blue (`#146ef5`), and a rich secondary color palette (purple, pink, green, orange, yellow, red). The custom WF Visual Sans Variable font creates a confident, precise typographic system with weight 600 for display and 500 for body.
6
-
7
- **Key Characteristics:**
8
- - White canvas with near-black (`#080808`) text
9
- - Webflow Blue (`#146ef5`) as primary brand + interactive color
10
- - WF Visual Sans Variable — custom variable font with weight 500–600
11
- - Rich secondary palette: purple `#7a3dff`, pink `#ed52cb`, green `#00d722`, orange `#ff6b00`, yellow `#ffae13`, red `#ee1d36`
12
- - Conservative 4px–8px border-radius — sharp, not rounded
13
- - Multi-layer shadow stacks (5-layer cascading shadows)
14
- - Uppercase labels: 10px–15px, weight 500–600, wide letter-spacing (0.6px–1.5px)
15
- - translate(6px) hover animation on buttons
16
-
17
- ## 2. Color Palette & Roles
18
-
19
- ### Primary
20
- - **Near Black** (`#080808`): Primary text
21
- - **Webflow Blue** (`#146ef5`): `--_color---primary--webflow-blue`, primary CTA and links
22
- - **Blue 400** (`#3b89ff`): `--_color---primary--blue-400`, lighter interactive blue
23
- - **Blue 300** (`#006acc`): `--_color---blue-300`, darker blue variant
24
- - **Button Hover Blue** (`#0055d4`): `--mkto-embed-color-button-hover`
25
-
26
- ### Secondary Accents
27
- - **Purple** (`#7a3dff`): `--_color---secondary--purple`
28
- - **Pink** (`#ed52cb`): `--_color---secondary--pink`
29
- - **Green** (`#00d722`): `--_color---secondary--green`
30
- - **Orange** (`#ff6b00`): `--_color---secondary--orange`
31
- - **Yellow** (`#ffae13`): `--_color---secondary--yellow`
32
- - **Red** (`#ee1d36`): `--_color---secondary--red`
33
-
34
- ### Neutral
35
- - **Gray 800** (`#222222`): Dark secondary text
36
- - **Gray 700** (`#363636`): Mid text
37
- - **Gray 300** (`#ababab`): Muted text, placeholder
38
- - **Mid Gray** (`#5a5a5a`): Link text
39
- - **Border Gray** (`#d8d8d8`): Borders, dividers
40
- - **Border Hover** (`#898989`): Hover border
41
-
42
- ### Shadows
43
- - **5-layer cascade**: `rgba(0,0,0,0) 0px 84px 24px, rgba(0,0,0,0.01) 0px 54px 22px, rgba(0,0,0,0.04) 0px 30px 18px, rgba(0,0,0,0.08) 0px 13px 13px, rgba(0,0,0,0.09) 0px 3px 7px`
44
-
45
- ## 3. Typography Rules
46
-
47
- ### Font: `WF Visual Sans Variable`, fallback: `Arial`
48
-
49
- | Role | Size | Weight | Line Height | Letter Spacing | Notes |
50
- |------|------|--------|-------------|----------------|-------|
51
- | Display Hero | 80px | 600 | 1.04 | -0.8px | |
52
- | Section Heading | 56px | 600 | 1.04 | normal | |
53
- | Sub-heading | 32px | 500 | 1.30 | normal | |
54
- | Feature Title | 24px | 500–600 | 1.30 | normal | |
55
- | Body | 20px | 400–500 | 1.40–1.50 | normal | |
56
- | Body Standard | 16px | 400–500 | 1.60 | -0.16px | |
57
- | Button | 16px | 500 | 1.60 | -0.16px | |
58
- | Uppercase Label | 15px | 500 | 1.30 | 1.5px | uppercase |
59
- | Caption | 14px | 400–500 | 1.40–1.60 | normal | |
60
- | Badge Uppercase | 12.8px | 550 | 1.20 | normal | uppercase |
61
- | Micro Uppercase | 10px | 500–600 | 1.30 | 1px | uppercase |
62
- | Code: Inconsolata (companion monospace font)
63
-
64
- ## 4. Component Stylings
65
-
66
- ### Buttons
67
- - Transparent: text `#080808`, translate(6px) on hover
68
- - White circle: 50% radius, white bg
69
- - Blue badge: `#146ef5` bg, 4px radius, weight 550
70
-
71
- ### Cards: `1px solid #d8d8d8`, 4px–8px radius
72
- ### Badges: Blue-tinted bg at 10% opacity, 4px radius
73
-
74
- ## 5. Layout
75
- - Spacing: fractional scale (1px, 2.4px, 3.2px, 4px, 5.6px, 6px, 7.2px, 8px, 9.6px, 12px, 16px, 24px)
76
- - Radius: 2px, 4px, 8px, 50% — conservative, sharp
77
- - Breakpoints: 479px, 768px, 992px
78
-
79
- ## 6. Depth: 5-layer cascading shadow system
80
-
81
- ## 7. Do's and Don'ts
82
- - Do: Use WF Visual Sans Variable at 500–600. Blue (#146ef5) for CTAs. 4px radius. translate(6px) hover.
83
- - Don't: Round beyond 8px for functional elements. Use secondary colors on primary CTAs.
84
-
85
- ## 8. Responsive: 479px, 768px, 992px
86
-
87
- ## 9. Agent Prompt Guide
88
-
89
- ### Quick Color Reference
90
- - Primary CTA: Webflow Blue (`#146ef5`)
91
- - Heading / body text: Near Black (`#080808`)
92
- - Muted text: `~#666666` (estimated)
93
- - Page background: White (`#ffffff`)
94
- - Border default: `#d8d8d8`
95
- - Secondary accent: Purple (`#7a3dff`), Pink (`#ed52cb`), Green (`#00d722`)
96
- - These three secondary accents are used for category coding (e.g., feature cards, plan tiers) — never as primary CTAs.
97
-
98
- ### Example Component Prompts
99
- - "Build a Webflow primary button: bg `#146ef5`, white text, `~8px` border-radius, `12px 24px` padding, WF Visual Sans Variable weight 600 16px. Hover: bg darkens ~10%."
100
- - "Create a feature card with category accent: white bg, `1px solid #d8d8d8` border, `16px` radius. Use the secondary palette (purple `#7a3dff` / pink `#ed52cb` / green `#00d722`) as a top-edge color bar (4px tall) to indicate category. Title 20px weight 600 `#080808`, body 14px weight 400."
101
- - "Design a navigation header: white sticky bar, Webflow logo left, link nav (14px weight 500 `#080808`, hover to `#146ef5`), Webflow Blue 'Sign up' CTA right. Subtle 1px bottom border on scroll."
102
- - "Create a plan tier comparison: 3 columns, each card with white bg, `16px` radius. The 'recommended' tier gets a colored top border (`#146ef5` for default, `#7a3dff` for premium) and a 'Most Popular' badge using that same color."
103
-
104
- ### Iteration Guide
105
- 1. Use Webflow Blue `#146ef5` only as the primary CTA color — secondary accents handle visual variety and category coding.
106
- 2. The three secondary colors (purple/pink/green) work as a SET — use them together for tier comparisons or feature categories, not in isolation.
107
- 3. Keep components on white — Webflow's marketing aesthetic is bright and airy, never dark mode for the marketing surface.
108
- 4. Border-radius stays moderate (8-16px) — never pill or fully square. Webflow sits between the geometric (Vercel/Linear) and rounded (Mintlify) ends of the spectrum.
109
- 5. Use WF Visual Sans Variable weight 600 for headlines and weight 500 for buttons. Body uses weight 400.