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.
Files changed (106) hide show
  1. package/README.md +13 -28
  2. package/gsp/agents/gsp-accessibility-auditor.md +1 -60
  3. package/gsp/agents/gsp-brand-auditor.md +1 -61
  4. package/gsp/agents/gsp-brand-creative-director.md +10 -0
  5. package/gsp/agents/gsp-brand-engineer.md +1 -122
  6. package/gsp/agents/gsp-brand-researcher.md +11 -0
  7. package/gsp/agents/gsp-brand-strategist.md +1 -65
  8. package/gsp/agents/gsp-project-builder.md +17 -0
  9. package/gsp/agents/gsp-project-critic.md +11 -0
  10. package/gsp/agents/gsp-project-designer.md +11 -0
  11. package/gsp/agents/gsp-project-researcher.md +1 -74
  12. package/gsp/agents/gsp-project-reviewer.md +12 -0
  13. package/gsp/hooks/hooks.json +10 -28
  14. package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
  15. package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
  16. package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
  17. package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
  18. package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
  19. package/gsp/skills/gsp-art/SKILL.md +13 -10
  20. package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
  21. package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
  22. package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
  23. package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
  24. package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
  25. package/gsp/skills/gsp-brand-identity/SKILL.md +12 -11
  26. package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
  27. package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
  28. package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
  29. package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
  30. package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
  31. package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
  32. package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
  33. package/gsp/skills/gsp-color/SKILL.md +0 -1
  34. package/gsp/skills/gsp-design-system/SKILL.md +0 -1
  35. package/gsp/skills/gsp-doctor/SKILL.md +0 -1
  36. package/gsp/skills/gsp-help/SKILL.md +0 -2
  37. package/gsp/skills/gsp-icons/SKILL.md +0 -1
  38. package/gsp/skills/gsp-logo/SKILL.md +0 -1
  39. package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
  40. package/gsp/skills/gsp-pretty/SKILL.md +25 -24
  41. package/gsp/skills/gsp-progress/SKILL.md +0 -1
  42. package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
  43. package/gsp/skills/gsp-project-build/SKILL.md +18 -14
  44. package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +0 -16
  45. package/gsp/skills/gsp-project-critique/SKILL.md +13 -13
  46. package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
  47. package/gsp/skills/gsp-project-design/SKILL.md +9 -6
  48. package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
  49. package/gsp/skills/gsp-project-research/SKILL.md +4 -2
  50. package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
  51. package/gsp/skills/gsp-project-review/SKILL.md +8 -5
  52. package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
  53. package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
  54. package/gsp/skills/gsp-start/SKILL.md +59 -210
  55. package/gsp/skills/gsp-style/SKILL.md +1 -2
  56. package/gsp/skills/gsp-style/styles/academia.md +751 -787
  57. package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
  58. package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
  59. package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
  60. package/gsp/skills/gsp-style/styles/botanical.md +141 -177
  61. package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
  62. package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
  63. package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
  64. package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
  65. package/gsp/skills/gsp-style/styles/fluent.md +0 -31
  66. package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
  67. package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
  68. package/gsp/skills/gsp-style/styles/industrial.md +406 -438
  69. package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
  70. package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
  71. package/gsp/skills/gsp-style/styles/luxury.md +402 -438
  72. package/gsp/skills/gsp-style/styles/material.md +555 -591
  73. package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
  74. package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
  75. package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
  76. package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
  77. package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
  78. package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
  79. package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
  80. package/gsp/skills/gsp-style/styles/organic.md +177 -213
  81. package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
  82. package/gsp/skills/gsp-style/styles/professional.md +503 -539
  83. package/gsp/skills/gsp-style/styles/retro.md +664 -700
  84. package/gsp/skills/gsp-style/styles/saas.md +490 -526
  85. package/gsp/skills/gsp-style/styles/sketch.md +189 -225
  86. package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
  87. package/gsp/skills/gsp-style/styles/terminal.md +99 -135
  88. package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
  89. package/gsp/skills/gsp-style/styles/web3.md +337 -373
  90. package/gsp/skills/gsp-typography/SKILL.md +0 -1
  91. package/gsp/skills/gsp-update/SKILL.md +0 -1
  92. package/gsp/skills/gsp-visuals/SKILL.md +0 -1
  93. package/gsp/templates/branding/config.json +1 -1
  94. package/gsp/templates/exports-index.md +0 -7
  95. package/gsp/templates/projects/config.json +1 -1
  96. package/gsp/templates/projects/roadmap.md +0 -7
  97. package/gsp/templates/projects/state.md +0 -4
  98. package/package.json +1 -1
  99. package/scripts/lint-check.sh +1 -1
  100. package/gsp/agents/gsp-ascii-artist.md +0 -66
  101. package/gsp/agents/gsp-brand-syncer.md +0 -126
  102. package/gsp/agents/gsp-campaign-director.md +0 -79
  103. package/gsp/agents/gsp-scoper.md +0 -85
  104. package/gsp/skills/gsp-launch/SKILL.md +0 -97
  105. package/gsp/skills/gsp-start/questioning.md +0 -87
  106. package/gsp/templates/phases/launch.md +0 -55
@@ -1,225 +1,189 @@
1
- <role>
2
- You are an expert frontend engineer, UI/UX designer, visual design specialist, and typography expert. Your goal is to help the user integrate a design system into an existing codebase in a way that is visually consistent, maintainable, and idiomatic to their tech stack.
3
-
4
- Before proposing or writing any code, first build a clear mental model of the current system:
5
-
6
- - Identify the tech stack (e.g. React, Next.js, Vue, Tailwind, shadcn/ui, etc.).
7
- - Understand the existing design tokens (colors, spacing, typography, radii, shadows), global styles, and utility patterns.
8
- - Review the current component architecture (atoms/molecules/organisms, layout primitives, etc.) and naming conventions.
9
- - Note any constraints (legacy CSS, design library in use, performance or bundle-size considerations).
10
-
11
- Ask the user focused questions to understand the user's goals. Do they want:
12
-
13
- - a specific component or page redesigned in the new style,
14
- - existing components refactored to the new system, or
15
- - new pages/features built entirely in the new style?
16
-
17
- Once you understand the context and scope, do the following:
18
-
19
- - Propose a concise implementation plan that follows best practices, prioritizing:
20
- - centralizing design tokens,
21
- - reusability and composability of components,
22
- - minimizing duplication and one-off styles,
23
- - long-term maintainability and clear naming.
24
- - When writing code, match the user’s existing patterns (folder structure, naming, styling approach, and component patterns).
25
- - Explain your reasoning briefly as you go, so the user understands *why* you’re making certain architectural or design choices.
26
-
27
- Always aim to:
28
-
29
- - Preserve or improve accessibility.
30
- - Maintain visual consistency with the provided design system.
31
- - Leave the codebase in a cleaner, more coherent state than you found it.
32
- - Ensure layouts are responsive and usable across devices.
33
- - Make deliberate, creative design choices (layout, motion, interaction details, and typography) that express the design system’s personality instead of producing a generic or boilerplate UI.
34
-
35
- </role>
36
-
37
- <design-system>
38
- # Design Philosophy
39
-
40
- The Hand-Drawn design style celebrates authentic imperfection and human touch in a digital world. It rejects the clinical precision of modern UI design in favor of organic, playful irregularity that evokes sketches on paper, sticky notes on a wall, and napkin diagrams from a brainstorming session.
41
-
42
- **Core Principles:**
43
-
44
- - **No Straight Lines**: Every border, shape, and container uses irregular border-radius values to create wobbly, hand-drawn edges that reject geometric perfection
45
- - **Authentic Texture**: The design layer paper grain, dot patterns, and subtle background textures to simulate physical media (notebook paper, post-its, sketch pads)
46
- - **Playful Rotation**: Elements are deliberately tilted using small rotation transforms (-2deg to 2deg) to break rigid grid alignment and create casual energy
47
- - **Hard Offset Shadows**: Reject soft blur shadows entirely. Use solid, offset box-shadows (4px 4px 0px) to create a cut-paper, layered collage aesthetic
48
- - **Handwritten Typography**: Use exclusively handwritten or marker-style fonts (Kalam, Patrick Hand) that feel human and approachable, never corporate or sterile
49
- - **Scribbled Decoration**: Add visual flourishes like dashed lines, hand-drawn arrows, tape effects, thumbtacks, and irregular shapes to reinforce the sketched aesthetic
50
- - **Limited Color Palette**: Stick to pencil blacks, paper whites, correction marker red, and post-it yellow for bold but cohesive simplicity
51
- - **Intentional Messiness**: Embrace overlap, asymmetry, and visual "mistakes" that make the design feel spontaneous and creative rather than manufactured
52
-
53
- **Emotional Intent:**
54
- This style should feel approachable, creative, human-centered, and fun. It lowers barriers and invites interaction by appearing unfinished and work-in-progress, making users feel like collaborators rather than consumers. Perfect for creative tools, brainstorming platforms, educational content, or any product that wants to emphasize human creativity over corporate polish.
55
-
56
- # Design Token System
57
-
58
- ## Colors (Single Palette - Light Mode)
59
-
60
- - **Background**: `#fdfbf7` (Warm Paper)
61
- - **Foreground**: `#2d2d2d` (Soft Pencil Black - never pure black)
62
- - **Muted**: `#e5e0d8` (Old Paper / Erased Pencil)
63
- - **Accent**: `#ff4d4d` (Red Correction Marker)
64
- - **Border**: `#2d2d2d` (Pencil Lead)
65
- - **Secondary Accent**: `#2d5da1` (Blue Ballpoint Pen)
66
-
67
- ## Typography
68
-
69
- - **Headings**: `Kalam` (wght 700) - Looks like a thick felt-tip marker.
70
- - **Body**: `Patrick Hand` (wght 400) - Legible but distinctly handwritten.
71
- - **Scale**: Large and readable. Headings should vary in size dramatically to look like emphasized notes.
72
-
73
- ## Radius & Border
74
-
75
- - **Wobbly Borders**: CRITICAL. Do NOT use standard `rounded-*` classes alone.
76
- - **Technique**: Use inline `style={{ borderRadius: ... }}` with multiple values to create irregular organic ellipses.
77
- - Example: `border-radius: 255px 15px 225px 15px / 15px 225px 15px 255px;`
78
- - Store reusable radius values in config as `wobbly` and `wobblyMd`
79
- - **Border Width**: Thick and variable. `border-2` is the minimum. Use `border-[3px]` or `border-4` for emphasis.
80
- - **Style**: `border-solid` is default for most elements. Use `border-dashed` for secondary elements, dividers, and sketchy overlays.
81
-
82
- ## Shadows/Effects
83
-
84
- - **Hard Offset Shadows**: No blur. Just a solid offset to create a cut-paper, layered collage aesthetic.
85
- - Standard: `box-shadow: 4px 4px 0px 0px #2d2d2d;`
86
- - Emphasized: `box-shadow: 8px 8px 0px 0px #2d2d2d;`
87
- - Hover State: Reduce offset `2px 2px` or `6px 6px` to create "lifting" effect
88
- - **Paper Texture**: Use `radial-gradient` dot pattern on body background to simulate notebook paper grain
89
- - `backgroundImage: radial-gradient(#e5e0d8 1px, transparent 1px)`
90
- - `backgroundSize: 24px 24px`
91
- - **Subtle Animations**: Gentle bounce (3s duration) for decorative elements, rotation on hover for playful interaction
92
-
93
- # Component Stylings
94
-
95
- ## Buttons
96
-
97
- - **Shape**: Irregular wobbly oval using custom border-radius from config
98
- - **Normal State**:
99
- - White background, `border-[3px]` black border, black text
100
- - Hard offset shadow: `shadow-[4px_4px_0px_0px_#2d2d2d]`
101
- - Font: Patrick Hand (body font)
102
- - **Hover State**:
103
- - Background fills with Accent red `#ff4d4d`, text turns white
104
- - Shadow reduces to `shadow-[2px_2px_0px_0px_#2d2d2d]`
105
- - Subtle translate: `translate-x-[2px] translate-y-[2px]`
106
- - **Active State**:
107
- - Shadow disappears completely (button "presses flat")
108
- - Translate increases: `translate-x-[4px] translate-y-[4px]`
109
- - **Secondary Variant**: Uses muted background `#e5e0d8`, hovers to blue `#2d5da1`
110
-
111
- ## Cards/Containers
112
-
113
- - **Base Style**: White background (`#ffffff`) with wobbly black border (`border-2`)
114
- - **Border Radius**: Use `wobblyMd` radius from config for medium containers
115
- - **Shadow**: Subtle `3px 3px 0px 0px rgba(45, 45, 45, 0.1)` for depth
116
- - **Decoration Options**:
117
- - `decoration="tape"`: Translucent gray bar positioned at top center with slight rotation
118
- - `decoration="tack"`: Red circular thumbtack at top center
119
- - No decoration for minimal aesthetic
120
- - **Special Treatments**:
121
- - Post-it yellow background `#fff9c4` for feature cards
122
- - Speech bubble style for testimonials with geometric tail using border-based triangle
123
- - Sticky-note tags for section labels
124
-
125
- ## Inputs
126
-
127
- - **Style**: Full box with wobbly borders (not just underline)
128
- - **Border**: `border-2` with wobbly radius matching button aesthetic
129
- - **Font**: Patrick Hand (body font) for authentic hand-written feel
130
- - **Background**: White with placeholder text in muted color `#2d2d2d/40`
131
- - **Focus State**:
132
- - Border changes to blue `#2d5da1`
133
- - Ring effect: `ring-2 ring-[#2d5da1]/20`
134
- - No standard outline, maintains wobbly aesthetic
135
-
136
- # Layout Strategy
137
-
138
- - **Grid System**: Use Tailwind's responsive grid (`md:grid-cols-2`, `md:grid-cols-3`) but add visual irregularity
139
- - **Rotation**: Apply small rotations (`rotate-1`, `-rotate-2`) to cards, images, and decorative elements
140
- - **Breaking Alignment**:
141
- - Stats: Organic shapes with varied border-radius instead of perfect circles
142
- - Cards: Slight rotation on hover (`hover:rotate-1` or `hover:-rotate-1`)
143
- - Pricing: Scale up highlighted card slightly on desktop (`md:scale-105`)
144
- - **Overlap & Layering**:
145
- - Overlapping avatar circles with negative margin (`-space-x-4`)
146
- - Decorative elements positioned absolutely outside parent bounds
147
- - Speech bubble tails extending beyond card borders
148
- - **Whitespace**:
149
- - Consistent section padding (`py-20`) for rhythm
150
- - Generous gap in grids (`gap-8`) to prevent crowding
151
- - Max-width containers (`max-w-5xl`, `max-w-3xl`) for focused content
152
- - **Z-Index Layering**: Decorative SVG backgrounds at low z-index, step numbers elevated with `z-10`
153
-
154
- # Non-Genericness (Bold Choices)
155
-
156
- **Unique Visual Signatures:**
157
-
158
- - **NO STRAIGHT LINES**: Every container, button, card, and frame uses irregular border-radius values—never standard Tailwind rounded classes
159
- - **Hand-Drawn SVG Decorations**:
160
- - Arrow pointing to hero CTA with dashed path
161
- - Squiggly connecting line between "How It Works" steps
162
- - Corner frame marks on hero image placeholder
163
- - **Authentic Paper Effects**:
164
- - Tape strips (translucent gray rectangles) on feature cards
165
- - Thumbtack pins (colored circles) for card decoration
166
- - Dashed circle overlay highlighting popular pricing tier
167
- - Speech bubble geometric tails on testimonials
168
- - **Playful Typography Treatments**:
169
- - Rotating exclamation mark in hero headline
170
- - Wavy underline decoration on navigation links and footer headers
171
- - Drop-cap first letter treatment in Product Detail section
172
- - Post-it yellow sticky-note tag on Product Detail card
173
- - **Scribbled Accents**:
174
- - Bouncing decorative circle near hero image (desktop only)
175
- - Dashed borders on secondary elements and dividers
176
- - Emoji sketches in blog post placeholders
177
- - Line-through hover effect on footer links
178
- - **Interactive Personality**:
179
- - Buttons "press flat" by eliminating shadow on active state
180
- - Cards rotate slightly on hover
181
- - Blog cards increase shadow offset on hover for "lift" effect
182
- - Grayscale-to-color transition on blog images (removed in final implementation for simplicity)
183
-
184
- # Effects & Animation
185
-
186
- - **Hover**: "Jiggle" effect. `hover:rotate-1` or `hover:-rotate-2`.
187
- - **Transition**: `transition-transform duration-100` (Fast and snappy).
188
-
189
- # Spacing, Layout & Iconography
190
-
191
- - **Max Width**: `max-w-5xl` (Keep it contained like a sketchbook).
192
- - **Icons**: `lucide-react` icons with `stroke-width={2.5}` or `3`.
193
- - **Icon Style**: Enclose key icons in rough circles.
194
-
195
- # Responsive Strategy
196
-
197
- **Mobile-First Approach:**
198
-
199
- - **Typography Scaling**:
200
- - Headings: `text-4xl md:text-5xl` or `text-5xl md:text-6xl`
201
- - Body text: `text-lg md:text-xl` or `text-base md:text-xl`
202
- - Buttons: `text-lg md:text-2xl`
203
- - **Layout Stacking**:
204
- - All grids collapse to single column on mobile, expand to 2-3 columns on `md:` breakpoint
205
- - Hero switches from 2-column to stacked with `md:grid-cols-2`
206
- - Stats: 2-column grid on mobile (`grid-cols-2`), 4-column on desktop (`md:grid-cols-4`)
207
- - **Hide Decorative Elements**:
208
- - Hand-drawn arrow near CTA: `hidden md:block`
209
- - Bouncing decorative circle: `hidden md:block`
210
- - Squiggly connecting line in "How It Works": `hidden md:block`
211
- - Dashed circle on pricing card: `hidden md:block`
212
- - **Maintain Core Aesthetic**:
213
- - Keep wobbly borders and handwritten fonts on all screen sizes
214
- - Reduce rotation slightly if needed (`-rotate-1` instead of `-rotate-2`)
215
- - Maintain hard offset shadows (never add blur)
216
- - Preserve playful personality and irregular shapes
217
- - **Touch-Friendly Targets**:
218
- - Buttons use minimum `h-12` (48px) for accessibility
219
- - Adequate spacing between interactive elements with `gap-8`
220
- - **Spacing Adjustments**:
221
- - Section padding remains `py-20` for vertical rhythm
222
- - Reduce horizontal padding when needed: `px-6`
223
- - Stats scale down: `h-24 w-24 md:h-32 md:w-32`
224
- - Pricing cards: `p-6 md:p-8` for better mobile fit
225
- `</design-system>`
1
+ <design-system>
2
+ # Design Philosophy
3
+
4
+ The Hand-Drawn design style celebrates authentic imperfection and human touch in a digital world. It rejects the clinical precision of modern UI design in favor of organic, playful irregularity that evokes sketches on paper, sticky notes on a wall, and napkin diagrams from a brainstorming session.
5
+
6
+ **Core Principles:**
7
+
8
+ - **No Straight Lines**: Every border, shape, and container uses irregular border-radius values to create wobbly, hand-drawn edges that reject geometric perfection
9
+ - **Authentic Texture**: The design layer paper grain, dot patterns, and subtle background textures to simulate physical media (notebook paper, post-its, sketch pads)
10
+ - **Playful Rotation**: Elements are deliberately tilted using small rotation transforms (-2deg to 2deg) to break rigid grid alignment and create casual energy
11
+ - **Hard Offset Shadows**: Reject soft blur shadows entirely. Use solid, offset box-shadows (4px 4px 0px) to create a cut-paper, layered collage aesthetic
12
+ - **Handwritten Typography**: Use exclusively handwritten or marker-style fonts (Kalam, Patrick Hand) that feel human and approachable, never corporate or sterile
13
+ - **Scribbled Decoration**: Add visual flourishes like dashed lines, hand-drawn arrows, tape effects, thumbtacks, and irregular shapes to reinforce the sketched aesthetic
14
+ - **Limited Color Palette**: Stick to pencil blacks, paper whites, correction marker red, and post-it yellow for bold but cohesive simplicity
15
+ - **Intentional Messiness**: Embrace overlap, asymmetry, and visual "mistakes" that make the design feel spontaneous and creative rather than manufactured
16
+
17
+ **Emotional Intent:**
18
+ This style should feel approachable, creative, human-centered, and fun. It lowers barriers and invites interaction by appearing unfinished and work-in-progress, making users feel like collaborators rather than consumers. Perfect for creative tools, brainstorming platforms, educational content, or any product that wants to emphasize human creativity over corporate polish.
19
+
20
+ # Design Token System
21
+
22
+ ## Colors (Single Palette - Light Mode)
23
+
24
+ - **Background**: `#fdfbf7` (Warm Paper)
25
+ - **Foreground**: `#2d2d2d` (Soft Pencil Black - never pure black)
26
+ - **Muted**: `#e5e0d8` (Old Paper / Erased Pencil)
27
+ - **Accent**: `#ff4d4d` (Red Correction Marker)
28
+ - **Border**: `#2d2d2d` (Pencil Lead)
29
+ - **Secondary Accent**: `#2d5da1` (Blue Ballpoint Pen)
30
+
31
+ ## Typography
32
+
33
+ - **Headings**: `Kalam` (wght 700) - Looks like a thick felt-tip marker.
34
+ - **Body**: `Patrick Hand` (wght 400) - Legible but distinctly handwritten.
35
+ - **Scale**: Large and readable. Headings should vary in size dramatically to look like emphasized notes.
36
+
37
+ ## Radius & Border
38
+
39
+ - **Wobbly Borders**: CRITICAL. Do NOT use standard `rounded-*` classes alone.
40
+ - **Technique**: Use inline `style={{ borderRadius: ... }}` with multiple values to create irregular organic ellipses.
41
+ - Example: `border-radius: 255px 15px 225px 15px / 15px 225px 15px 255px;`
42
+ - Store reusable radius values in config as `wobbly` and `wobblyMd`
43
+ - **Border Width**: Thick and variable. `border-2` is the minimum. Use `border-[3px]` or `border-4` for emphasis.
44
+ - **Style**: `border-solid` is default for most elements. Use `border-dashed` for secondary elements, dividers, and sketchy overlays.
45
+
46
+ ## Shadows/Effects
47
+
48
+ - **Hard Offset Shadows**: No blur. Just a solid offset to create a cut-paper, layered collage aesthetic.
49
+ - Standard: `box-shadow: 4px 4px 0px 0px #2d2d2d;`
50
+ - Emphasized: `box-shadow: 8px 8px 0px 0px #2d2d2d;`
51
+ - Hover State: Reduce offset `2px 2px` or `6px 6px` to create "lifting" effect
52
+ - **Paper Texture**: Use `radial-gradient` dot pattern on body background to simulate notebook paper grain
53
+ - `backgroundImage: radial-gradient(#e5e0d8 1px, transparent 1px)`
54
+ - `backgroundSize: 24px 24px`
55
+ - **Subtle Animations**: Gentle bounce (3s duration) for decorative elements, rotation on hover for playful interaction
56
+
57
+ # Component Stylings
58
+
59
+ ## Buttons
60
+
61
+ - **Shape**: Irregular wobbly oval using custom border-radius from config
62
+ - **Normal State**:
63
+ - White background, `border-[3px]` black border, black text
64
+ - Hard offset shadow: `shadow-[4px_4px_0px_0px_#2d2d2d]`
65
+ - Font: Patrick Hand (body font)
66
+ - **Hover State**:
67
+ - Background fills with Accent red `#ff4d4d`, text turns white
68
+ - Shadow reduces to `shadow-[2px_2px_0px_0px_#2d2d2d]`
69
+ - Subtle translate: `translate-x-[2px] translate-y-[2px]`
70
+ - **Active State**:
71
+ - Shadow disappears completely (button "presses flat")
72
+ - Translate increases: `translate-x-[4px] translate-y-[4px]`
73
+ - **Secondary Variant**: Uses muted background `#e5e0d8`, hovers to blue `#2d5da1`
74
+
75
+ ## Cards/Containers
76
+
77
+ - **Base Style**: White background (`#ffffff`) with wobbly black border (`border-2`)
78
+ - **Border Radius**: Use `wobblyMd` radius from config for medium containers
79
+ - **Shadow**: Subtle `3px 3px 0px 0px rgba(45, 45, 45, 0.1)` for depth
80
+ - **Decoration Options**:
81
+ - `decoration="tape"`: Translucent gray bar positioned at top center with slight rotation
82
+ - `decoration="tack"`: Red circular thumbtack at top center
83
+ - No decoration for minimal aesthetic
84
+ - **Special Treatments**:
85
+ - Post-it yellow background `#fff9c4` for feature cards
86
+ - Speech bubble style for testimonials with geometric tail using border-based triangle
87
+ - Sticky-note tags for section labels
88
+
89
+ ## Inputs
90
+
91
+ - **Style**: Full box with wobbly borders (not just underline)
92
+ - **Border**: `border-2` with wobbly radius matching button aesthetic
93
+ - **Font**: Patrick Hand (body font) for authentic hand-written feel
94
+ - **Background**: White with placeholder text in muted color `#2d2d2d/40`
95
+ - **Focus State**:
96
+ - Border changes to blue `#2d5da1`
97
+ - Ring effect: `ring-2 ring-[#2d5da1]/20`
98
+ - No standard outline, maintains wobbly aesthetic
99
+
100
+ # Layout Strategy
101
+
102
+ - **Grid System**: Use Tailwind's responsive grid (`md:grid-cols-2`, `md:grid-cols-3`) but add visual irregularity
103
+ - **Rotation**: Apply small rotations (`rotate-1`, `-rotate-2`) to cards, images, and decorative elements
104
+ - **Breaking Alignment**:
105
+ - Stats: Organic shapes with varied border-radius instead of perfect circles
106
+ - Cards: Slight rotation on hover (`hover:rotate-1` or `hover:-rotate-1`)
107
+ - Pricing: Scale up highlighted card slightly on desktop (`md:scale-105`)
108
+ - **Overlap & Layering**:
109
+ - Overlapping avatar circles with negative margin (`-space-x-4`)
110
+ - Decorative elements positioned absolutely outside parent bounds
111
+ - Speech bubble tails extending beyond card borders
112
+ - **Whitespace**:
113
+ - Consistent section padding (`py-20`) for rhythm
114
+ - Generous gap in grids (`gap-8`) to prevent crowding
115
+ - Max-width containers (`max-w-5xl`, `max-w-3xl`) for focused content
116
+ - **Z-Index Layering**: Decorative SVG backgrounds at low z-index, step numbers elevated with `z-10`
117
+
118
+ # Non-Genericness (Bold Choices)
119
+
120
+ **Unique Visual Signatures:**
121
+
122
+ - **NO STRAIGHT LINES**: Every container, button, card, and frame uses irregular border-radius values—never standard Tailwind rounded classes
123
+ - **Hand-Drawn SVG Decorations**:
124
+ - Arrow pointing to hero CTA with dashed path
125
+ - Squiggly connecting line between "How It Works" steps
126
+ - Corner frame marks on hero image placeholder
127
+ - **Authentic Paper Effects**:
128
+ - Tape strips (translucent gray rectangles) on feature cards
129
+ - Thumbtack pins (colored circles) for card decoration
130
+ - Dashed circle overlay highlighting popular pricing tier
131
+ - Speech bubble geometric tails on testimonials
132
+ - **Playful Typography Treatments**:
133
+ - Rotating exclamation mark in hero headline
134
+ - Wavy underline decoration on navigation links and footer headers
135
+ - Drop-cap first letter treatment in Product Detail section
136
+ - Post-it yellow sticky-note tag on Product Detail card
137
+ - **Scribbled Accents**:
138
+ - Bouncing decorative circle near hero image (desktop only)
139
+ - Dashed borders on secondary elements and dividers
140
+ - Emoji sketches in blog post placeholders
141
+ - Line-through hover effect on footer links
142
+ - **Interactive Personality**:
143
+ - Buttons "press flat" by eliminating shadow on active state
144
+ - Cards rotate slightly on hover
145
+ - Blog cards increase shadow offset on hover for "lift" effect
146
+ - Grayscale-to-color transition on blog images (removed in final implementation for simplicity)
147
+
148
+ # Effects & Animation
149
+
150
+ - **Hover**: "Jiggle" effect. `hover:rotate-1` or `hover:-rotate-2`.
151
+ - **Transition**: `transition-transform duration-100` (Fast and snappy).
152
+
153
+ # Spacing, Layout & Iconography
154
+
155
+ - **Max Width**: `max-w-5xl` (Keep it contained like a sketchbook).
156
+ - **Icons**: `lucide-react` icons with `stroke-width={2.5}` or `3`.
157
+ - **Icon Style**: Enclose key icons in rough circles.
158
+
159
+ # Responsive Strategy
160
+
161
+ **Mobile-First Approach:**
162
+
163
+ - **Typography Scaling**:
164
+ - Headings: `text-4xl md:text-5xl` or `text-5xl md:text-6xl`
165
+ - Body text: `text-lg md:text-xl` or `text-base md:text-xl`
166
+ - Buttons: `text-lg md:text-2xl`
167
+ - **Layout Stacking**:
168
+ - All grids collapse to single column on mobile, expand to 2-3 columns on `md:` breakpoint
169
+ - Hero switches from 2-column to stacked with `md:grid-cols-2`
170
+ - Stats: 2-column grid on mobile (`grid-cols-2`), 4-column on desktop (`md:grid-cols-4`)
171
+ - **Hide Decorative Elements**:
172
+ - Hand-drawn arrow near CTA: `hidden md:block`
173
+ - Bouncing decorative circle: `hidden md:block`
174
+ - Squiggly connecting line in "How It Works": `hidden md:block`
175
+ - Dashed circle on pricing card: `hidden md:block`
176
+ - **Maintain Core Aesthetic**:
177
+ - Keep wobbly borders and handwritten fonts on all screen sizes
178
+ - Reduce rotation slightly if needed (`-rotate-1` instead of `-rotate-2`)
179
+ - Maintain hard offset shadows (never add blur)
180
+ - Preserve playful personality and irregular shapes
181
+ - **Touch-Friendly Targets**:
182
+ - Buttons use minimum `h-12` (48px) for accessibility
183
+ - Adequate spacing between interactive elements with `gap-8`
184
+ - **Spacing Adjustments**:
185
+ - Section padding remains `py-20` for vertical rhythm
186
+ - Reduce horizontal padding when needed: `px-6`
187
+ - Stats scale down: `h-24 w-24 md:h-32 md:w-32`
188
+ - Pricing cards: `p-6 md:p-8` for better mobile fit
189
+ `</design-system>`