get-shit-pretty 0.7.0 → 0.7.3
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 +301 -124
- package/bin/install.js +1 -1
- 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 +32 -14
- 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 +19 -18
- 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 +10 -7
- 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 +216 -74
- package/gsp/skills/gsp-project-build/bento-grid.md +114 -0
- package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +14 -16
- package/gsp/skills/gsp-project-critique/SKILL.md +21 -17
- 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/INDEX.yml +7 -1
- 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/nothing.md +445 -0
- package/gsp/skills/gsp-style/styles/nothing.yml +146 -0
- 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 +3 -2
- package/gsp/templates/exports-index.md +0 -7
- package/gsp/templates/phases/build.md +13 -4
- package/gsp/templates/projects/config.json +3 -2
- 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,373 +1,337 @@
|
|
|
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
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
* **
|
|
194
|
-
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
*
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
* **
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
*
|
|
249
|
-
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
* **
|
|
277
|
-
* **
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
*
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
#
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
* **
|
|
332
|
-
* **
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
* **Typography Scaling**: All headings use responsive classes
|
|
339
|
-
|
|
340
|
-
* Hero: `text-4xl sm:text-5xl md:text-7xl`
|
|
341
|
-
* Section Titles: `text-2xl md:text-4xl` or `md:text-5xl`
|
|
342
|
-
* Body: `text-base md:text-lg`
|
|
343
|
-
* Keep mobile readable, don't overwhelm small screens
|
|
344
|
-
* **Touch Targets**: All interactive elements minimum 44px (`min-w-[44px]`, `h-10+`)
|
|
345
|
-
* **Mobile Adaptations**:
|
|
346
|
-
|
|
347
|
-
* Navigation: Show only essential CTA on mobile, hide secondary nav
|
|
348
|
-
* Hero 3D graphic: Smaller size on mobile (`h-[300px] md:h-[450px]`)
|
|
349
|
-
* Grids: Single column → 2-3 columns at `md`
|
|
350
|
-
* Pricing cards: Stack vertically, remove scale effect on mobile
|
|
351
|
-
* How It Works timeline: Left-aligned on mobile with simpler layout
|
|
352
|
-
* **Maintain Core Aesthetic**: Grid patterns, glows, and gradients persist on mobile—don't strip personality for smaller screens
|
|
353
|
-
|
|
354
|
-
# Accessibility & Best Practices
|
|
355
|
-
|
|
356
|
-
* **Color Contrast**: White text on `#030304` exceeds WCAG AAA (21:1 ratio). Orange `#F7931A` on dark backgrounds meets AA for large text.
|
|
357
|
-
* **Focus States**: All interactive elements have visible focus rings using `focus-visible:ring-2 focus-visible:ring-[#F7931A]`
|
|
358
|
-
* **Semantic HTML**: Proper heading hierarchy (h1 → h2 → h3), `<nav>`, `<section>`, `<button>` elements
|
|
359
|
-
* **Alt Text**: All images require descriptive alt attributes
|
|
360
|
-
* **Keyboard Navigation**: All interactive elements accessible via Tab, buttons activate on Enter/Space
|
|
361
|
-
* **Motion Preferences**: Consider `prefers-reduced-motion` for users sensitive to animation (disable float/spin animations)
|
|
362
|
-
|
|
363
|
-
# Implementation Notes
|
|
364
|
-
|
|
365
|
-
* **Font Loading**: Use `fontImport()` helper to load Google Fonts
|
|
366
|
-
* **Custom Classes**: Define `.font-heading`, `.font-body`, `.font-mono` in style block
|
|
367
|
-
* **Grid Pattern**: Define `.bg-grid-pattern` with CSS-in-JS in style block
|
|
368
|
-
* **Glass Morphism**: Define `.holographic-gradient` helper class
|
|
369
|
-
* **Components**: Build Button, Card, and Input components using `cva` (class-variance-authority) following Shadcn patterns but with Crypto-specific styling
|
|
370
|
-
* **Icons**: Import specific icons from `lucide-react` as needed (Zap, Lock, Layers, Globe, Check, etc.)
|
|
371
|
-
|
|
372
|
-
This is not a generic dark theme. This is the **Bitcoin DeFi aesthetic**—engineered for precision, security, and digital value.
|
|
373
|
-
`</design-system>`
|
|
1
|
+
<design-system>
|
|
2
|
+
# Design Philosophy: The "Bitcoin DeFi" Aesthetic
|
|
3
|
+
|
|
4
|
+
This style embodies the visual DNA of Bitcoin and decentralized finance—a sophisticated fusion of precision engineering, cryptographic trust, and digital gold. It is **not generic dark mode**; it is a deep cosmic void where data structures glow with the warmth of Bitcoin orange and the brilliance of digital gold.
|
|
5
|
+
|
|
6
|
+
## Core Design Principles
|
|
7
|
+
|
|
8
|
+
1. **Luminescent Energy**: Light emanates from interactive elements themselves. Bitcoin orange glows, golden highlights shimmer, and data points pulse with life against the true void background. Shadows are colored (orange/gold tints), not just black.
|
|
9
|
+
2. **Mathematical Precision**: Everything follows strict geometric rules. Ultra-thin 1px borders define boundaries, monospace fonts display data with technical accuracy, and grids provide the underlying structure of the blockchain aesthetic.
|
|
10
|
+
3. **Layered Depth**: Create three-dimensional space through transparency stacking (glass morphism), colored glow shadows, and backdrop blur effects. Elements float in Z-space without heavy skeuomorphism—it's digital depth, not physical.
|
|
11
|
+
4. **Textured Void**: Backgrounds are never flat. Subtle grid patterns (representing blockchain networks), radial gradient blurs (representing energy fields), and noise textures bring the void to life. The darkness breathes.
|
|
12
|
+
5. **Trust Through Design**: High contrast, clear hierarchy, and technical precision communicate security and reliability. The aesthetic says "your assets are safe here."
|
|
13
|
+
|
|
14
|
+
The vibe is **Secure, Technical, and Valuable**. This is digital gold—it should feel premium, cutting-edge, and engineered to perfection. Think Bitcoin mining rigs humming in the darkness, glowing with orange heat.
|
|
15
|
+
|
|
16
|
+
# Design Token System
|
|
17
|
+
|
|
18
|
+
## Colors (Dark Mode Only)
|
|
19
|
+
|
|
20
|
+
This palette uses a "True Void" foundation with "Bitcoin Fire" energy—the warmth of Bitcoin orange and the brilliance of digital gold.
|
|
21
|
+
|
|
22
|
+
* **Background**: `#030304` (True Void) - The deepest space where all begins
|
|
23
|
+
* **Surface**: `#0F1115` (Dark Matter) - Elevated surfaces, cards, and panels
|
|
24
|
+
* **Foreground**: `#FFFFFF` (Pure Light) - Primary text, maximum contrast
|
|
25
|
+
* **Muted**: `#94A3B8` (Stardust) - Secondary text, descriptions, metadata
|
|
26
|
+
* **Border**: `#1E293B` (Dim Boundary) - Subtle borders at rest (often at 10-20% opacity when using white)
|
|
27
|
+
* **Primary Accent**: `#F7931A` (Bitcoin Orange) - The iconic color of decentralization. Primary CTAs, links, active states, and trust indicators
|
|
28
|
+
* **Secondary Accent**: `#EA580C` (Burnt Orange) - A deeper, warmer orange for gradients, secondary elements, and visual depth
|
|
29
|
+
* **Tertiary Accent**: `#FFD600` (Digital Gold) - The color of value. Used in gradients with Bitcoin Orange, highlights, and success states
|
|
30
|
+
|
|
31
|
+
**Gradient Formula**: The signature look is `linear-gradient(to right, #EA580C, #F7931A)` or `linear-gradient(to right, #F7931A, #FFD600)` for text and buttons.
|
|
32
|
+
|
|
33
|
+
## Typography
|
|
34
|
+
|
|
35
|
+
The type system balances technical precision with modern geometric forms.
|
|
36
|
+
|
|
37
|
+
* **Headings**: `Space Grotesk` (Google Font) - A geometric grotesque with quirky technical character
|
|
38
|
+
|
|
39
|
+
* Weights: 400 (Regular), 500 (Medium), 600 (Semibold), 700 (Bold)
|
|
40
|
+
* Usage: All headings (h1-h6), section titles, card titles
|
|
41
|
+
* Apply `font-heading` class
|
|
42
|
+
* **Body**: `Inter` (Google Font) - Highly legible sans-serif optimized for screens
|
|
43
|
+
|
|
44
|
+
* Weights: 400 (Regular), 500 (Medium), 600 (Semibold)
|
|
45
|
+
* Usage: Body copy, descriptions, buttons
|
|
46
|
+
* Apply `font-body` class
|
|
47
|
+
* **Mono/Data**: `JetBrains Mono` (Google Font) - Technical monospace for precision
|
|
48
|
+
|
|
49
|
+
* Weights: 400 (Regular), 500 (Medium)
|
|
50
|
+
* Usage: Stats, prices, badges, technical labels, navigation links
|
|
51
|
+
* Apply `font-mono` class
|
|
52
|
+
* **Scale Philosophy**: Dramatic contrast between display and body. Heroes are massive (`text-4xl` → `md:text-7xl`), body is comfortable (`text-base` or `text-lg`). Mobile-first scaling prevents overwhelming small screens.
|
|
53
|
+
* **Leading & Tracking**: Tight leading on headings (`leading-tight`), relaxed on body (`leading-relaxed`). Uppercase mono text gets generous tracking (`tracking-wider`, `tracking-widest`).
|
|
54
|
+
|
|
55
|
+
## Radius & Borders
|
|
56
|
+
|
|
57
|
+
Geometric precision with soft curves for approachability.
|
|
58
|
+
|
|
59
|
+
* **Radius Tokens**:
|
|
60
|
+
|
|
61
|
+
* Cards/Containers: `rounded-2xl` (16px) or `rounded-xl` (12px)
|
|
62
|
+
* Buttons: `rounded-full` (pill shape)
|
|
63
|
+
* Inputs: `rounded-lg` (8px) or bottom-border only for minimalism
|
|
64
|
+
* Small elements (badges, icons): `rounded-lg` or `rounded-full`
|
|
65
|
+
* **Border Philosophy**: Ultra-thin `1px` borders create delicate boundaries without visual weight
|
|
66
|
+
|
|
67
|
+
* Default state: `border border-white/10` (barely visible structure)
|
|
68
|
+
* Hover state: `border-[#F7931A]/50` (orange accent, 50% opacity)
|
|
69
|
+
* Active/Focus: `border-[#F7931A]` (full intensity)
|
|
70
|
+
* **Special Border Techniques**:
|
|
71
|
+
|
|
72
|
+
* Corner accents: Small decorative border segments at corners (see How It Works cards)
|
|
73
|
+
* Gradient borders: Simulate with inner pseudo-elements or subtle box-shadow gradients
|
|
74
|
+
|
|
75
|
+
## Shadows & Effects (The Glow)
|
|
76
|
+
|
|
77
|
+
The signature of this style is **colored luminescence**—shadows and glows in Bitcoin orange and gold tints.
|
|
78
|
+
|
|
79
|
+
* **Orange Glow** (Primary): `shadow-[0_0_20px_-5px_rgba(234,88,12,0.5)]` or `shadow-[0_0_30px_-5px_rgba(247,147,26,0.6)]`
|
|
80
|
+
|
|
81
|
+
* Used on buttons, cards on hover, primary CTAs, and interactive elements
|
|
82
|
+
* **Gold Glow** (Accent): `shadow-[0_0_20px_rgba(255,214,0,0.3)]`
|
|
83
|
+
|
|
84
|
+
* Used on special highlights, success states, value indicators
|
|
85
|
+
* **Subtle Card Elevation**: `shadow-[0_0_50px_-10px_rgba(247,147,26,0.1)]`
|
|
86
|
+
|
|
87
|
+
* Used on product mockups, major sections
|
|
88
|
+
* **Glass Morphism**:
|
|
89
|
+
|
|
90
|
+
* Formula: `backdrop-blur-lg` + `bg-white/5` or `bg-black/40`
|
|
91
|
+
* Creates floating, translucent panels that reveal background blur
|
|
92
|
+
* Used on floating cards (hero), testimonials, "How It Works" cards
|
|
93
|
+
* **Radial Blur Backgrounds**: Large, soft radial gradients with heavy blur for ambient background glow
|
|
94
|
+
|
|
95
|
+
* Example: `bg-[#F7931A] opacity-10 blur-[120px]` positioned absolutely
|
|
96
|
+
|
|
97
|
+
## Textures & Patterns
|
|
98
|
+
|
|
99
|
+
Backgrounds breathe with subtle, non-distracting patterns that reinforce the blockchain/network theme.
|
|
100
|
+
|
|
101
|
+
* **Grid Pattern** (Signature):
|
|
102
|
+
|
|
103
|
+
```css
|
|
104
|
+
background-size: 50px 50px;
|
|
105
|
+
background-image:
|
|
106
|
+
linear-gradient(to right, rgba(30, 41, 59, 0.5) 1px, transparent 1px),
|
|
107
|
+
linear-gradient(to bottom, rgba(30, 41, 59, 0.5) 1px, transparent 1px);
|
|
108
|
+
mask-image: radial-gradient(circle at center, black 40%, transparent 100%);
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
* Creates a fading grid that disappears toward edges (vignette effect)
|
|
112
|
+
* Used on hero section
|
|
113
|
+
* **External Texture Overlays**:
|
|
114
|
+
|
|
115
|
+
* Example: `bg-[url('https://www.transparenttextures.com/patterns/cubes.png')] opacity-5`
|
|
116
|
+
* Very subtle, barely visible patterns for visual interest
|
|
117
|
+
* **Radial Gradient Blurs**: Massive, soft color blobs for ambient lighting
|
|
118
|
+
|
|
119
|
+
* Position absolutely, use low opacity (5-10%), apply blur-[120px] or blur-[150px]
|
|
120
|
+
* Creates depth and guides eye to focal points
|
|
121
|
+
|
|
122
|
+
# Component Stylings
|
|
123
|
+
|
|
124
|
+
## Buttons
|
|
125
|
+
|
|
126
|
+
Buttons are bold, pill-shaped, and emit colored light. All use `rounded-full` for the signature crypto pill shape.
|
|
127
|
+
|
|
128
|
+
* **Primary (Default)**:
|
|
129
|
+
|
|
130
|
+
* Background: `bg-gradient-to-r from-[#EA580C] to-[#F7931A]`
|
|
131
|
+
* Text: White, bold, uppercase with `tracking-wider`
|
|
132
|
+
* Shadow: `shadow-[0_0_20px_-5px_rgba(234,88,12,0.5)]`
|
|
133
|
+
* Hover: `scale-105` + intensified shadow `shadow-[0_0_30px_-5px_rgba(247,147,26,0.6)]`
|
|
134
|
+
* Min height: 44px (touch-friendly)
|
|
135
|
+
* **Outline**:
|
|
136
|
+
|
|
137
|
+
* Background: Transparent
|
|
138
|
+
* Border: `border-2 border-white/20`
|
|
139
|
+
* Text: White
|
|
140
|
+
* Hover: `border-white` + `bg-white/10`
|
|
141
|
+
* **Ghost**:
|
|
142
|
+
|
|
143
|
+
* Background: Transparent, no border
|
|
144
|
+
* Text: White
|
|
145
|
+
* Hover: `bg-white/10` + `text-[#F7931A]`
|
|
146
|
+
* **Link**:
|
|
147
|
+
|
|
148
|
+
* Text: `text-[#F7931A]`
|
|
149
|
+
* Hover: Underline
|
|
150
|
+
|
|
151
|
+
All buttons include smooth `transition-all` for responsive micro-interactions.
|
|
152
|
+
|
|
153
|
+
## Cards (The "Block" Concept)
|
|
154
|
+
|
|
155
|
+
Cards are elevated surfaces that float above the void, representing blocks in the chain.
|
|
156
|
+
|
|
157
|
+
* **Standard Card**:
|
|
158
|
+
|
|
159
|
+
* Background: `bg-[#0F1115]` (Dark Matter surface)
|
|
160
|
+
* Border: `border border-white/10` (subtle boundary)
|
|
161
|
+
* Radius: `rounded-2xl` (16px)
|
|
162
|
+
* Padding: `p-8` (generous spacing)
|
|
163
|
+
* Hover: `hover:-translate-y-1` (lift) + `hover:border-[#F7931A]/50` + `hover:shadow-[0_0_30px_-10px_rgba(247,147,26,0.2)]`
|
|
164
|
+
* Transition: `transition-all duration-300`
|
|
165
|
+
* **Glass Cards** (Floating/Special):
|
|
166
|
+
|
|
167
|
+
* Background: `bg-black/40` or `bg-white/5`
|
|
168
|
+
* Backdrop: `backdrop-blur-sm` or `backdrop-blur-lg`
|
|
169
|
+
* Border: `border border-white/10`
|
|
170
|
+
* Creates translucent, floating effect
|
|
171
|
+
* **Pricing Cards**:
|
|
172
|
+
|
|
173
|
+
* Highlighted tier: `scale-105`, `border-[#F7931A]`, elevated z-index, `shadow-[0_0_40px_-10px_rgba(247,147,26,0.15)]`
|
|
174
|
+
* Others: Lower opacity (`opacity-80`), scale up on hover
|
|
175
|
+
* **Card Hierarchy**:
|
|
176
|
+
|
|
177
|
+
* Header: `p-8 pb-4`
|
|
178
|
+
* Title: `font-heading font-semibold text-2xl`
|
|
179
|
+
* Description: `text-[#94A3B8] text-sm`
|
|
180
|
+
* Content: `p-8 pt-0`
|
|
181
|
+
* Footer: `p-8 pt-0`
|
|
182
|
+
|
|
183
|
+
## Inputs
|
|
184
|
+
|
|
185
|
+
Minimalist, precise input fields with bottom-border styling for a technical aesthetic.
|
|
186
|
+
|
|
187
|
+
* **Background**: `bg-black/50` (semi-transparent dark)
|
|
188
|
+
* **Border**: Bottom border only - `border-b-2 border-white/20`
|
|
189
|
+
* **Height**: `h-12` (48px for touch targets)
|
|
190
|
+
* **Padding**: `px-4 py-2`
|
|
191
|
+
* **Text**: `text-white text-sm`
|
|
192
|
+
* **Placeholder**: `placeholder:text-white/30`
|
|
193
|
+
* **Focus State**:
|
|
194
|
+
* Border: `focus-visible:border-[#F7931A]`
|
|
195
|
+
* Glow: `focus-visible:shadow-[0_10px_20px_-10px_rgba(247,147,26,0.3)]`
|
|
196
|
+
* No outline: `focus-visible:outline-none`
|
|
197
|
+
* **Disabled**: `disabled:opacity-50 disabled:cursor-not-allowed`
|
|
198
|
+
|
|
199
|
+
Inputs feel like data entry terminals—clean, precise, and purposeful.
|
|
200
|
+
|
|
201
|
+
## Icons
|
|
202
|
+
|
|
203
|
+
Icons from `lucide-react` reinforce the technical, precise aesthetic.
|
|
204
|
+
|
|
205
|
+
* **Stroke Width**: Default (1.5-2px for clean, technical lines)
|
|
206
|
+
* **Colors**: Use accent colors to create hierarchy
|
|
207
|
+
|
|
208
|
+
* Orange: `text-[#F7931A]` or `text-[#EA580C]`
|
|
209
|
+
* Gold: `text-[#FFD600]`
|
|
210
|
+
* Muted: `text-[#94A3B8]`
|
|
211
|
+
* White: `text-white`
|
|
212
|
+
* **Icon Containers**: Wrap in colored, glowing containers
|
|
213
|
+
|
|
214
|
+
* Example: `bg-[#EA580C]/20 border border-[#EA580C]/50 rounded-lg p-3`
|
|
215
|
+
* Creates a "holographic node" effect
|
|
216
|
+
* Hover: Add glow shadow `hover:shadow-[0_0_20px_rgba(234,88,12,0.4)]`
|
|
217
|
+
* **Decorative Icons**: Large, watermark-style icons in card backgrounds
|
|
218
|
+
|
|
219
|
+
* High opacity on hover for subtle reveal effect
|
|
220
|
+
* Example: `opacity-20 group-hover:opacity-100`
|
|
221
|
+
|
|
222
|
+
# Non-Generic "Bold" Choices
|
|
223
|
+
|
|
224
|
+
This design MUST NOT look like default Tailwind. These bold choices create unmistakable personality:
|
|
225
|
+
|
|
226
|
+
1. **Gradient Text on Headlines**: Apply `bg-gradient-to-r from-[#F7931A] to-[#FFD600] bg-clip-text text-transparent` to final 1-2 words of hero headlines. Creates instant visual hierarchy and Bitcoin brand association.
|
|
227
|
+
2. **Spinning Orbital Rings**: Hero section features animated 3D-style orb with CSS rotating rings (`animate-[spin_10s_linear_infinite]` and reverse). Floating stat cards bounce around it with staggered delays.
|
|
228
|
+
3. **Corner Border Accents**: "How It Works" cards use decorative corner borders (`border-t border-l` on top-left, `border-r border-b` on bottom-right) in Bitcoin orange, creating a "selected node" effect.
|
|
229
|
+
4. **Glowing Animated Badges**: Pulsing dot badges (`animate-ping`) on trust indicators and status markers. Suggests live network activity.
|
|
230
|
+
5. **Background Icon Watermarks**: Large, rotated, low-opacity icons in feature card backgrounds that reveal on hover (`opacity-20 group-hover:opacity-100`).
|
|
231
|
+
6. **Timeline as Blockchain**: "How It Works" uses a vertical gradient line (orange to transparent) with numbered circular nodes, mimicking a blockchain ledger.
|
|
232
|
+
7. **Asymmetric Pricing Scale**: The popular pricing tier is `scale-105` and elevated, while others are `opacity-80`, creating intentional hierarchy through scale manipulation.
|
|
233
|
+
8. **Glass Morphism with Grid Patterns**: Combine `backdrop-blur` with background grid patterns visible through transparency, creating layered depth.
|
|
234
|
+
9. **Colored Shadows Replace Black**: ALL shadows use orange/gold tints. No pure black shadows exist in this design system.
|
|
235
|
+
|
|
236
|
+
# Layout & Spacing
|
|
237
|
+
|
|
238
|
+
* **Container Width**: `max-w-7xl` (1280px) - Wide and expansive to showcase data and content without cramping
|
|
239
|
+
* **Section Padding**: Generous vertical `py-24` (96px) creates breathing room between major sections
|
|
240
|
+
* **Density**: Spacious approach with `gap-8` (32px) or `gap-12` (48px) between grid items
|
|
241
|
+
* **Section Dividers**: NO hard lines or `<hr>` elements. Sections separate through:
|
|
242
|
+
|
|
243
|
+
* Vertical spacing (`py-24`)
|
|
244
|
+
* Alternating backgrounds (`bg-[#030304]` → `bg-[#0F1115]` → `bg-[#030304]`)
|
|
245
|
+
* Subtle top/bottom borders on specific sections (e.g., stats ticker has `border-y`)
|
|
246
|
+
* **Responsive Grids**:
|
|
247
|
+
|
|
248
|
+
* Mobile-first: Single column by default
|
|
249
|
+
* Tablet: `md:grid-cols-2` or `md:grid-cols-3`
|
|
250
|
+
* Desktop: Keep `md:grid-cols-3` or `lg:grid-cols-4` for features
|
|
251
|
+
* Pricing: Always `md:grid-cols-3` for tier comparison
|
|
252
|
+
|
|
253
|
+
# Animation & Motion
|
|
254
|
+
|
|
255
|
+
Motion should feel **precise, snappy, and purposeful**—like a high-performance trading terminal.
|
|
256
|
+
|
|
257
|
+
* **Custom Float Animation**:
|
|
258
|
+
|
|
259
|
+
```css
|
|
260
|
+
@keyframes float {
|
|
261
|
+
0%, 100% { transform: translateY(0px); }
|
|
262
|
+
50% { transform: translateY(-20px); }
|
|
263
|
+
}
|
|
264
|
+
.animate-float {
|
|
265
|
+
animation: float 8s ease-in-out infinite;
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
* Applied to hero 3D orb graphic
|
|
270
|
+
* Slow, smooth, endless float creates ethereal quality
|
|
271
|
+
* **Spinning Orbitals**:
|
|
272
|
+
|
|
273
|
+
* `animate-[spin_10s_linear_infinite]` for outer ring
|
|
274
|
+
* `animate-[spin_15s_linear_infinite_reverse]` for inner ring (reverse direction)
|
|
275
|
+
* Creates mesmerizing 3D depth illusion
|
|
276
|
+
* **Bouncing Cards**: Floating stat cards use `animate-bounce` with custom durations (`3s`, `4s`) and delays (`delay-1s`) for staggered motion
|
|
277
|
+
* **Pulsing Indicators**: Status badges use `animate-ping` for "live" feel
|
|
278
|
+
* **Interaction Speed**: Fast and responsive (`duration-200` or `duration-300`)
|
|
279
|
+
|
|
280
|
+
* Button hover: `transition-all duration-300`
|
|
281
|
+
* Card lift: `transition-all duration-300`
|
|
282
|
+
* Input focus: Instant (`duration-200`)
|
|
283
|
+
* **Hover Effects**:
|
|
284
|
+
|
|
285
|
+
* Cards: Lift (`-translate-y-1`), border color shift, glow intensification
|
|
286
|
+
* Buttons: Scale (`scale-105`), glow spread
|
|
287
|
+
* Images: Scale (`scale-110`), contrast boost (`contrast-125`)
|
|
288
|
+
|
|
289
|
+
The motion design communicates **speed, precision, and responsiveness**—critical values in crypto/finance.
|
|
290
|
+
|
|
291
|
+
# Responsive Strategy
|
|
292
|
+
|
|
293
|
+
The design must maintain its bold personality across all screen sizes while adapting gracefully.
|
|
294
|
+
|
|
295
|
+
* **Mobile-First Philosophy**: Start with single-column layouts, scale up for larger screens
|
|
296
|
+
* **Breakpoints**:
|
|
297
|
+
|
|
298
|
+
* `sm`: 640px - Minor adjustments
|
|
299
|
+
* `md`: 768px - Major layout shifts (2-3 columns activate)
|
|
300
|
+
* `lg`: 1024px - Full desktop experience
|
|
301
|
+
* `xl`: 1280px - Maximum width container (`max-w-7xl`)
|
|
302
|
+
* **Typography Scaling**: All headings use responsive classes
|
|
303
|
+
|
|
304
|
+
* Hero: `text-4xl sm:text-5xl md:text-7xl`
|
|
305
|
+
* Section Titles: `text-2xl md:text-4xl` or `md:text-5xl`
|
|
306
|
+
* Body: `text-base md:text-lg`
|
|
307
|
+
* Keep mobile readable, don't overwhelm small screens
|
|
308
|
+
* **Touch Targets**: All interactive elements minimum 44px (`min-w-[44px]`, `h-10+`)
|
|
309
|
+
* **Mobile Adaptations**:
|
|
310
|
+
|
|
311
|
+
* Navigation: Show only essential CTA on mobile, hide secondary nav
|
|
312
|
+
* Hero 3D graphic: Smaller size on mobile (`h-[300px] md:h-[450px]`)
|
|
313
|
+
* Grids: Single column → 2-3 columns at `md`
|
|
314
|
+
* Pricing cards: Stack vertically, remove scale effect on mobile
|
|
315
|
+
* How It Works timeline: Left-aligned on mobile with simpler layout
|
|
316
|
+
* **Maintain Core Aesthetic**: Grid patterns, glows, and gradients persist on mobile—don't strip personality for smaller screens
|
|
317
|
+
|
|
318
|
+
# Accessibility & Best Practices
|
|
319
|
+
|
|
320
|
+
* **Color Contrast**: White text on `#030304` exceeds WCAG AAA (21:1 ratio). Orange `#F7931A` on dark backgrounds meets AA for large text.
|
|
321
|
+
* **Focus States**: All interactive elements have visible focus rings using `focus-visible:ring-2 focus-visible:ring-[#F7931A]`
|
|
322
|
+
* **Semantic HTML**: Proper heading hierarchy (h1 → h2 → h3), `<nav>`, `<section>`, `<button>` elements
|
|
323
|
+
* **Alt Text**: All images require descriptive alt attributes
|
|
324
|
+
* **Keyboard Navigation**: All interactive elements accessible via Tab, buttons activate on Enter/Space
|
|
325
|
+
* **Motion Preferences**: Consider `prefers-reduced-motion` for users sensitive to animation (disable float/spin animations)
|
|
326
|
+
|
|
327
|
+
# Implementation Notes
|
|
328
|
+
|
|
329
|
+
* **Font Loading**: Use `fontImport()` helper to load Google Fonts
|
|
330
|
+
* **Custom Classes**: Define `.font-heading`, `.font-body`, `.font-mono` in style block
|
|
331
|
+
* **Grid Pattern**: Define `.bg-grid-pattern` with CSS-in-JS in style block
|
|
332
|
+
* **Glass Morphism**: Define `.holographic-gradient` helper class
|
|
333
|
+
* **Components**: Build Button, Card, and Input components using `cva` (class-variance-authority) following Shadcn patterns but with Crypto-specific styling
|
|
334
|
+
* **Icons**: Import specific icons from `lucide-react` as needed (Zap, Lock, Layers, Globe, Check, etc.)
|
|
335
|
+
|
|
336
|
+
This is not a generic dark theme. This is the **Bitcoin DeFi aesthetic**—engineered for precision, security, and digital value.
|
|
337
|
+
`</design-system>`
|