get-shit-pretty 0.7.0 → 0.7.1
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 +13 -28
- package/gsp/agents/gsp-accessibility-auditor.md +1 -60
- package/gsp/agents/gsp-brand-auditor.md +1 -61
- package/gsp/agents/gsp-brand-creative-director.md +10 -0
- package/gsp/agents/gsp-brand-engineer.md +1 -122
- package/gsp/agents/gsp-brand-researcher.md +11 -0
- package/gsp/agents/gsp-brand-strategist.md +1 -65
- package/gsp/agents/gsp-project-builder.md +17 -0
- package/gsp/agents/gsp-project-critic.md +11 -0
- package/gsp/agents/gsp-project-designer.md +11 -0
- package/gsp/agents/gsp-project-researcher.md +1 -74
- package/gsp/agents/gsp-project-reviewer.md +12 -0
- package/gsp/hooks/hooks.json +10 -28
- package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
- package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
- package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
- package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
- package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
- package/gsp/skills/gsp-art/SKILL.md +13 -10
- package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
- package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
- package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
- package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
- package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
- package/gsp/skills/gsp-brand-identity/SKILL.md +12 -11
- package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
- package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
- package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
- package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
- package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
- package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
- package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
- package/gsp/skills/gsp-color/SKILL.md +0 -1
- package/gsp/skills/gsp-design-system/SKILL.md +0 -1
- package/gsp/skills/gsp-doctor/SKILL.md +0 -1
- package/gsp/skills/gsp-help/SKILL.md +0 -2
- package/gsp/skills/gsp-icons/SKILL.md +0 -1
- package/gsp/skills/gsp-logo/SKILL.md +0 -1
- package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
- package/gsp/skills/gsp-pretty/SKILL.md +25 -24
- package/gsp/skills/gsp-progress/SKILL.md +0 -1
- package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
- package/gsp/skills/gsp-project-build/SKILL.md +18 -14
- package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +0 -16
- package/gsp/skills/gsp-project-critique/SKILL.md +13 -13
- package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
- package/gsp/skills/gsp-project-design/SKILL.md +9 -6
- package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
- package/gsp/skills/gsp-project-research/SKILL.md +4 -2
- package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
- package/gsp/skills/gsp-project-review/SKILL.md +8 -5
- package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
- package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
- package/gsp/skills/gsp-start/SKILL.md +59 -210
- package/gsp/skills/gsp-style/SKILL.md +1 -2
- package/gsp/skills/gsp-style/styles/academia.md +751 -787
- package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
- package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
- package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
- package/gsp/skills/gsp-style/styles/botanical.md +141 -177
- package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
- package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
- package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
- package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
- package/gsp/skills/gsp-style/styles/fluent.md +0 -31
- package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
- package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
- package/gsp/skills/gsp-style/styles/industrial.md +406 -438
- package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
- package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
- package/gsp/skills/gsp-style/styles/luxury.md +402 -438
- package/gsp/skills/gsp-style/styles/material.md +555 -591
- package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
- package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
- package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
- package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
- package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
- package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
- package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
- package/gsp/skills/gsp-style/styles/organic.md +177 -213
- package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
- package/gsp/skills/gsp-style/styles/professional.md +503 -539
- package/gsp/skills/gsp-style/styles/retro.md +664 -700
- package/gsp/skills/gsp-style/styles/saas.md +490 -526
- package/gsp/skills/gsp-style/styles/sketch.md +189 -225
- package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
- package/gsp/skills/gsp-style/styles/terminal.md +99 -135
- package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
- package/gsp/skills/gsp-style/styles/web3.md +337 -373
- package/gsp/skills/gsp-typography/SKILL.md +0 -1
- package/gsp/skills/gsp-update/SKILL.md +0 -1
- package/gsp/skills/gsp-visuals/SKILL.md +0 -1
- package/gsp/templates/branding/config.json +1 -1
- package/gsp/templates/exports-index.md +0 -7
- package/gsp/templates/projects/config.json +1 -1
- package/gsp/templates/projects/roadmap.md +0 -7
- package/gsp/templates/projects/state.md +0 -4
- package/package.json +1 -1
- package/scripts/lint-check.sh +1 -1
- package/gsp/agents/gsp-ascii-artist.md +0 -66
- package/gsp/agents/gsp-brand-syncer.md +0 -126
- package/gsp/agents/gsp-campaign-director.md +0 -79
- package/gsp/agents/gsp-scoper.md +0 -85
- package/gsp/skills/gsp-launch/SKILL.md +0 -97
- package/gsp/skills/gsp-start/questioning.md +0 -87
- package/gsp/templates/phases/launch.md +0 -55
|
@@ -1,225 +1,189 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
- **
|
|
54
|
-
- **
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
###
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
- `
|
|
67
|
-
- `
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
- **
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
- **
|
|
81
|
-
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
- **
|
|
103
|
-
- **
|
|
104
|
-
- **
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
-
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
|
|
118
|
-
- **
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
- **
|
|
133
|
-
- **
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
-
|
|
138
|
-
- **
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
- **
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
-
|
|
167
|
-
-
|
|
168
|
-
-
|
|
169
|
-
- **
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
- **
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
-
|
|
188
|
-
- **
|
|
189
|
-
-
|
|
190
|
-
- Size: h-6 w-6 to h-8 w-8
|
|
191
|
-
- Color: Match section accent color or white on colored backgrounds
|
|
192
|
-
- **Icon Integration**: Icons placed inside bordered geometric containers:
|
|
193
|
-
- Features: Icon in white bordered box with shadow
|
|
194
|
-
- Benefits: Check icon in yellow circular badge
|
|
195
|
-
- Stats: Numbers in geometric shapes (circle/square/rotated square)
|
|
196
|
-
- **Image Treatment**: All images use grayscale filter by default, color on hover
|
|
197
|
-
|
|
198
|
-
## 7. Responsive Strategy
|
|
199
|
-
|
|
200
|
-
- **Mobile-First Approach**: Start with single-column layouts, expand to grids on larger screens
|
|
201
|
-
- **Breakpoints**:
|
|
202
|
-
- Mobile: < 640px (sm)
|
|
203
|
-
- Tablet: 640px - 1024px (sm to lg)
|
|
204
|
-
- Desktop: > 1024px (lg+)
|
|
205
|
-
- **Typography Scaling**: All text uses responsive classes (text-4xl sm:text-6xl lg:text-8xl)
|
|
206
|
-
- **Border/Shadow Scaling**: Reduce border and shadow sizes on mobile (border-2 → border-4, shadow-[3px] → shadow-[8px])
|
|
207
|
-
- **Navigation**: Hamburger menu button on mobile (< 768px), full nav on desktop
|
|
208
|
-
- **Grid Adaptations**:
|
|
209
|
-
- Stats: 1 col → 2 col (sm) → 4 col (lg)
|
|
210
|
-
- Features: 1 col → 2 col (md) → 3 col (lg)
|
|
211
|
-
- How It Works: 1 col → 2 col (sm) → 4 col (md), hide connecting line on mobile
|
|
212
|
-
|
|
213
|
-
## 8. Animation & Micro-Interactions
|
|
214
|
-
|
|
215
|
-
- **Feel**: Mechanical, snappy, geometric (no soft organic movement)
|
|
216
|
-
- **Transition Duration**: `duration-200` or `duration-300` (fast and decisive)
|
|
217
|
-
- **Easing**: `ease-out` (mechanical feel)
|
|
218
|
-
- **Interactions**:
|
|
219
|
-
- Button press: Translate and remove shadow (`active:translate-x-[2px] active:translate-y-[2px] active:shadow-none`)
|
|
220
|
-
- Card hover: Lift upward (`hover:-translate-y-1` or `hover:-translate-y-2`)
|
|
221
|
-
- Accordion: ChevronDown rotation (`rotate-180`) and content reveal with max-height transition
|
|
222
|
-
- Icon hover: Scale up on grouped shapes (`group-hover:scale-110`)
|
|
223
|
-
- Link hover: Color change to accent color
|
|
224
|
-
- **Background Patterns**: Static (no animation on patterns)
|
|
225
|
-
`</design-system>`
|
|
1
|
+
<design-system>
|
|
2
|
+
# Design Style: Bauhaus
|
|
3
|
+
|
|
4
|
+
## 1. Design Philosophy
|
|
5
|
+
|
|
6
|
+
The Bauhaus style embodies the revolutionary principle "form follows function" while celebrating pure geometric beauty and primary color theory. This is **constructivist modernism**—every element is deliberately composed from circles, squares, and triangles. The aesthetic should evoke 1920s Bauhaus posters: bold, asymmetric, architectural, and unapologetically graphic.
|
|
7
|
+
|
|
8
|
+
**Vibe**: Constructivist, Geometric, Modernist, Artistic-yet-Functional, Bold, Architectural
|
|
9
|
+
|
|
10
|
+
**Core Concept**: The interface is not merely a layout—it is a **geometric composition**. Every section is constructed rather than designed. Think of the page as a Bauhaus poster brought to life: shapes overlap, borders are thick and deliberate, colors are pure primaries (Red #D02020, Blue #1040C0, Yellow #F0C020), and everything is grounded by stark black (#121212) and clean white.
|
|
11
|
+
|
|
12
|
+
**Key Characteristics**:
|
|
13
|
+
|
|
14
|
+
- **Geometric Purity**: All decorative elements derive from circles, squares, and triangles
|
|
15
|
+
- **Hard Shadows**: 4px and 8px offset shadows (never soft/blurred) create depth through layering
|
|
16
|
+
- **Color Blocking**: Entire sections use solid primary colors as backgrounds
|
|
17
|
+
- **Thick Borders**: 2px and 4px black borders define every major element
|
|
18
|
+
- **Asymmetric Balance**: Grids are used but intentionally broken with overlapping elements
|
|
19
|
+
- **Constructivist Typography**: Massive uppercase headlines (text-6xl to text-8xl) with tight tracking
|
|
20
|
+
- **Functional Honesty**: No gradients, no subtle effects—everything is direct and declarative
|
|
21
|
+
|
|
22
|
+
## 2. Design Token System (The DNA)
|
|
23
|
+
|
|
24
|
+
### Colors (Single Palette - Light Mode)
|
|
25
|
+
|
|
26
|
+
The palette is strictly limited to the Bauhaus primaries, plus stark black and white.
|
|
27
|
+
|
|
28
|
+
- `background`: `#F0F0F0` (Off-white canvas)
|
|
29
|
+
- `foreground`: `#121212` (Stark Black)
|
|
30
|
+
- `primary-red`: `#D02020` (Bauhaus Red)
|
|
31
|
+
- `primary-blue`: `#1040C0` (Bauhaus Blue)
|
|
32
|
+
- `primary-yellow`: `#F0C020` (Bauhaus Yellow)
|
|
33
|
+
- `border`: `#121212` (Thick, distinct borders)
|
|
34
|
+
- `muted`: `#E0E0E0`
|
|
35
|
+
|
|
36
|
+
### Typography
|
|
37
|
+
|
|
38
|
+
- **Font Family**: **'Outfit'** (geometric sans-serif from Google Fonts). This typeface's circular letterforms and clean geometry perfectly embody Bauhaus principles.
|
|
39
|
+
- **Font Import**: `Outfit:wght@400;500;700;900`
|
|
40
|
+
- **Scaling**: Extreme contrast between display and body text
|
|
41
|
+
- Display: text-4xl (mobile) → text-6xl (tablet) → text-8xl (desktop)
|
|
42
|
+
- Subheadings: text-2xl → text-3xl → text-4xl
|
|
43
|
+
- Body: text-base → text-lg
|
|
44
|
+
- **Weights**:
|
|
45
|
+
- Headlines: font-black (900) with uppercase and tracking-tighter
|
|
46
|
+
- Subheadings: font-bold (700) with uppercase
|
|
47
|
+
- Body: font-medium (500) for readability
|
|
48
|
+
- Labels: font-bold (700) with uppercase and tracking-widest
|
|
49
|
+
- **Line Height**: Tight for headlines (leading-[0.9]), relaxed for body (leading-relaxed)
|
|
50
|
+
|
|
51
|
+
### Radius & Border
|
|
52
|
+
|
|
53
|
+
- **Radius**: Binary extremes—either `rounded-none` (0px) for squares/rectangles or `rounded-full` (9999px) for circles. No in-between rounded corners.
|
|
54
|
+
- **Border Widths**:
|
|
55
|
+
- Mobile: `border-2` (2px)
|
|
56
|
+
- Desktop: `border-4` (4px)
|
|
57
|
+
- Navigation/Major divisions: `border-b-4` (4px bottom border)
|
|
58
|
+
- **Border Color**: Always `#121212` (black) for maximum contrast
|
|
59
|
+
|
|
60
|
+
### Shadows/Effects
|
|
61
|
+
|
|
62
|
+
- **Hard Offset Shadows** (inspired by Bauhaus layering):
|
|
63
|
+
- Small: `shadow-[3px_3px_0px_0px_black]` or `shadow-[4px_4px_0px_0px_black]`
|
|
64
|
+
- Medium: `shadow-[6px_6px_0px_0px_black]`
|
|
65
|
+
- Large: `shadow-[8px_8px_0px_0px_black]`
|
|
66
|
+
- **Button Press Effect**: `active:translate-x-[2px] active:translate-y-[2px] active:shadow-none` (simulates physical button press)
|
|
67
|
+
- **Card Hover**: `hover:-translate-y-1` or `hover:-translate-y-2` (subtle lift)
|
|
68
|
+
- **Patterns**: Use CSS background patterns for texture
|
|
69
|
+
- Dot grid: `radial-gradient(#fff 2px, transparent 2px)` with `background-size: 20px 20px`
|
|
70
|
+
- Opacity overlays: Large geometric shapes at 10-20% opacity for background decoration
|
|
71
|
+
|
|
72
|
+
## 3. Component Stylings
|
|
73
|
+
|
|
74
|
+
### Buttons
|
|
75
|
+
|
|
76
|
+
- **Variants**:
|
|
77
|
+
- **Primary** (Red): `bg-[#D02020] text-white border-2 border-black shadow-[4px_4px_0px_0px_black]`
|
|
78
|
+
- **Secondary** (Blue): `bg-[#1040C0] text-white border-2 border-black shadow-[4px_4px_0px_0px_black]`
|
|
79
|
+
- **Yellow**: `bg-[#F0C020] text-black border-2 border-black shadow-[4px_4px_0px_0px_black]`
|
|
80
|
+
- **Outline**: `bg-white text-black border-2 border-black shadow-[4px_4px_0px_0px_black]`
|
|
81
|
+
- **Ghost**: `border-none text-black hover:bg-gray-200`
|
|
82
|
+
- **Shapes**: Either `rounded-none` (square) or `rounded-full` (pill). Use shape variants deliberately.
|
|
83
|
+
- **States**:
|
|
84
|
+
- Hover: Slight opacity change (`hover:bg-[color]/90`)
|
|
85
|
+
- Active: Button "presses down" (`active:translate-x-[2px] active:translate-y-[2px] active:shadow-none`)
|
|
86
|
+
- Focus: 2px offset ring
|
|
87
|
+
- **Typography**: Uppercase, font-bold, tracking-wider
|
|
88
|
+
|
|
89
|
+
### Cards
|
|
90
|
+
|
|
91
|
+
- **Base Style**: White background, `border-4 border-black`, `shadow-[8px_8px_0px_0px_black]`
|
|
92
|
+
- **Decoration**: Small geometric shape in top-right corner (8px x 8px):
|
|
93
|
+
- Circle: `rounded-full bg-[primary-color]`
|
|
94
|
+
- Square: `rounded-none bg-[primary-color]`
|
|
95
|
+
- Triangle: CSS clip-path `polygon(50% 0%, 0% 100%, 100% 100%)`
|
|
96
|
+
- **Hover**: `hover:-translate-y-1` (subtle lift effect)
|
|
97
|
+
- **Content Hierarchy**: Large bold titles, medium body text, generous padding
|
|
98
|
+
|
|
99
|
+
### Accordion (FAQ)
|
|
100
|
+
|
|
101
|
+
- **Closed State**: White background, `border-4 border-black`, `shadow-[4px_4px_0px_0px_black]`
|
|
102
|
+
- **Open State**: Red background (`bg-[#D02020]`), white text for header
|
|
103
|
+
- **Expanded Content**: Light yellow background (`bg-[#FFF9C4]`), black text, `border-t-4 border-black`
|
|
104
|
+
- **Icon**: ChevronDown with `rotate-180` when open
|
|
105
|
+
|
|
106
|
+
## 4. Layout & Spacing
|
|
107
|
+
|
|
108
|
+
- **Container Width**: `max-w-7xl` for main content sections (creates poster-like breadth)
|
|
109
|
+
- **Section Padding**:
|
|
110
|
+
- Mobile: `py-12 px-4`
|
|
111
|
+
- Tablet: `py-16 px-6`
|
|
112
|
+
- Desktop: `py-24 px-8`
|
|
113
|
+
- **Grid Systems**:
|
|
114
|
+
- Stats: 1-column (mobile) → 2-column (tablet) → 4-column (desktop) with `divide-y` and `divide-x` borders
|
|
115
|
+
- Features: 1-column → 2-column → 3-column with 8px gaps
|
|
116
|
+
- Pricing: 1-column → 3-column (center elevated on desktop)
|
|
117
|
+
- **Spacing Scale**: Consistent use of 4px, 8px, 12px, 16px, 24px
|
|
118
|
+
- **Section Dividers**: Every section has `border-b-4 border-black` creating strong horizontal rhythm
|
|
119
|
+
|
|
120
|
+
## 5. Non-Genericness (Bold Choices)
|
|
121
|
+
|
|
122
|
+
**This design MUST NOT look like generic Tailwind or Bootstrap. The following are mandatory:**
|
|
123
|
+
|
|
124
|
+
- **Color Blocking**: Entire sections use solid primary colors as backgrounds:
|
|
125
|
+
|
|
126
|
+
- Hero right panel: Blue (`bg-[#1040C0]`)
|
|
127
|
+
- Stats section: Yellow (`bg-[#F0C020]`)
|
|
128
|
+
- Blog section: Blue (`bg-[#1040C0]`)
|
|
129
|
+
- Benefits section: Red (`bg-[#D02020]`)
|
|
130
|
+
- Final CTA: Yellow (`bg-[#F0C020]`)
|
|
131
|
+
- Footer: Near-black (`bg-[#121212]`)
|
|
132
|
+
- **Geometric Logo**: Navigation features three geometric shapes (circle, square, triangle) in primary colors forming the brand identity
|
|
133
|
+
- **Geometric Compositions**: Use abstract compositions of overlapping shapes:
|
|
134
|
+
|
|
135
|
+
- Hero right panel: Overlapping circle, rotated square, and centered square with triangle
|
|
136
|
+
- Product Detail: Abstract geometric "face" constructed from circles, squares, and diagonal line
|
|
137
|
+
- Final CTA: Large decorative shapes (circle and rotated square) at 50% opacity in corners
|
|
138
|
+
- **Rotated Elements**: Deliberate 45° rotation on:
|
|
139
|
+
|
|
140
|
+
- Every 3rd shape in repeating patterns
|
|
141
|
+
- Step numbers in "How It Works" (counter-rotate inner content)
|
|
142
|
+
- Decorative background shapes
|
|
143
|
+
- **Image Treatments**:
|
|
144
|
+
|
|
145
|
+
- Blog images: Alternate between `rounded-full` and `rounded-none`, grayscale filter with `hover:grayscale-0`
|
|
146
|
+
- Testimonial avatars: Circular crop with `rounded-full` and grayscale filter
|
|
147
|
+
- **Unique Decorations**: Small geometric shapes (8px-16px) as corner decorations on cards, using the three primary colors in rotation
|
|
148
|
+
|
|
149
|
+
## 6. Icons & Imagery
|
|
150
|
+
|
|
151
|
+
- **Icon Library**: `lucide-react` (Circle, Square, Triangle, Check, Quote, ArrowRight, ChevronDown)
|
|
152
|
+
- **Icon Style**:
|
|
153
|
+
- Stroke width: 2px (default) or 3px (emphasis)
|
|
154
|
+
- Size: h-6 w-6 to h-8 w-8
|
|
155
|
+
- Color: Match section accent color or white on colored backgrounds
|
|
156
|
+
- **Icon Integration**: Icons placed inside bordered geometric containers:
|
|
157
|
+
- Features: Icon in white bordered box with shadow
|
|
158
|
+
- Benefits: Check icon in yellow circular badge
|
|
159
|
+
- Stats: Numbers in geometric shapes (circle/square/rotated square)
|
|
160
|
+
- **Image Treatment**: All images use grayscale filter by default, color on hover
|
|
161
|
+
|
|
162
|
+
## 7. Responsive Strategy
|
|
163
|
+
|
|
164
|
+
- **Mobile-First Approach**: Start with single-column layouts, expand to grids on larger screens
|
|
165
|
+
- **Breakpoints**:
|
|
166
|
+
- Mobile: < 640px (sm)
|
|
167
|
+
- Tablet: 640px - 1024px (sm to lg)
|
|
168
|
+
- Desktop: > 1024px (lg+)
|
|
169
|
+
- **Typography Scaling**: All text uses responsive classes (text-4xl sm:text-6xl lg:text-8xl)
|
|
170
|
+
- **Border/Shadow Scaling**: Reduce border and shadow sizes on mobile (border-2 → border-4, shadow-[3px] → shadow-[8px])
|
|
171
|
+
- **Navigation**: Hamburger menu button on mobile (< 768px), full nav on desktop
|
|
172
|
+
- **Grid Adaptations**:
|
|
173
|
+
- Stats: 1 col → 2 col (sm) → 4 col (lg)
|
|
174
|
+
- Features: 1 col → 2 col (md) → 3 col (lg)
|
|
175
|
+
- How It Works: 1 col → 2 col (sm) → 4 col (md), hide connecting line on mobile
|
|
176
|
+
|
|
177
|
+
## 8. Animation & Micro-Interactions
|
|
178
|
+
|
|
179
|
+
- **Feel**: Mechanical, snappy, geometric (no soft organic movement)
|
|
180
|
+
- **Transition Duration**: `duration-200` or `duration-300` (fast and decisive)
|
|
181
|
+
- **Easing**: `ease-out` (mechanical feel)
|
|
182
|
+
- **Interactions**:
|
|
183
|
+
- Button press: Translate and remove shadow (`active:translate-x-[2px] active:translate-y-[2px] active:shadow-none`)
|
|
184
|
+
- Card hover: Lift upward (`hover:-translate-y-1` or `hover:-translate-y-2`)
|
|
185
|
+
- Accordion: ChevronDown rotation (`rotate-180`) and content reveal with max-height transition
|
|
186
|
+
- Icon hover: Scale up on grouped shapes (`group-hover:scale-110`)
|
|
187
|
+
- Link hover: Color change to accent color
|
|
188
|
+
- **Background Patterns**: Static (no animation on patterns)
|
|
189
|
+
`</design-system>`
|