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.
Files changed (112) hide show
  1. package/README.md +301 -124
  2. package/bin/install.js +1 -1
  3. package/gsp/agents/gsp-accessibility-auditor.md +1 -60
  4. package/gsp/agents/gsp-brand-auditor.md +1 -61
  5. package/gsp/agents/gsp-brand-creative-director.md +10 -0
  6. package/gsp/agents/gsp-brand-engineer.md +1 -122
  7. package/gsp/agents/gsp-brand-researcher.md +11 -0
  8. package/gsp/agents/gsp-brand-strategist.md +1 -65
  9. package/gsp/agents/gsp-project-builder.md +17 -0
  10. package/gsp/agents/gsp-project-critic.md +11 -0
  11. package/gsp/agents/gsp-project-designer.md +11 -0
  12. package/gsp/agents/gsp-project-researcher.md +1 -74
  13. package/gsp/agents/gsp-project-reviewer.md +12 -0
  14. package/gsp/hooks/hooks.json +32 -14
  15. package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
  16. package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
  17. package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
  18. package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
  19. package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
  20. package/gsp/skills/gsp-art/SKILL.md +13 -10
  21. package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
  22. package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
  23. package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
  24. package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
  25. package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
  26. package/gsp/skills/gsp-brand-identity/SKILL.md +19 -18
  27. package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
  28. package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
  29. package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
  30. package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
  31. package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
  32. package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
  33. package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
  34. package/gsp/skills/gsp-color/SKILL.md +0 -1
  35. package/gsp/skills/gsp-design-system/SKILL.md +0 -1
  36. package/gsp/skills/gsp-doctor/SKILL.md +0 -1
  37. package/gsp/skills/gsp-help/SKILL.md +10 -7
  38. package/gsp/skills/gsp-icons/SKILL.md +0 -1
  39. package/gsp/skills/gsp-logo/SKILL.md +0 -1
  40. package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
  41. package/gsp/skills/gsp-pretty/SKILL.md +25 -24
  42. package/gsp/skills/gsp-progress/SKILL.md +0 -1
  43. package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
  44. package/gsp/skills/gsp-project-build/SKILL.md +216 -74
  45. package/gsp/skills/gsp-project-build/bento-grid.md +114 -0
  46. package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +14 -16
  47. package/gsp/skills/gsp-project-critique/SKILL.md +21 -17
  48. package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
  49. package/gsp/skills/gsp-project-design/SKILL.md +9 -6
  50. package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
  51. package/gsp/skills/gsp-project-research/SKILL.md +4 -2
  52. package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
  53. package/gsp/skills/gsp-project-review/SKILL.md +8 -5
  54. package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
  55. package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
  56. package/gsp/skills/gsp-start/SKILL.md +59 -210
  57. package/gsp/skills/gsp-style/SKILL.md +1 -2
  58. package/gsp/skills/gsp-style/styles/INDEX.yml +7 -1
  59. package/gsp/skills/gsp-style/styles/academia.md +751 -787
  60. package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
  61. package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
  62. package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
  63. package/gsp/skills/gsp-style/styles/botanical.md +141 -177
  64. package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
  65. package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
  66. package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
  67. package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
  68. package/gsp/skills/gsp-style/styles/fluent.md +0 -31
  69. package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
  70. package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
  71. package/gsp/skills/gsp-style/styles/industrial.md +406 -438
  72. package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
  73. package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
  74. package/gsp/skills/gsp-style/styles/luxury.md +402 -438
  75. package/gsp/skills/gsp-style/styles/material.md +555 -591
  76. package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
  77. package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
  78. package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
  79. package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
  80. package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
  81. package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
  82. package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
  83. package/gsp/skills/gsp-style/styles/nothing.md +445 -0
  84. package/gsp/skills/gsp-style/styles/nothing.yml +146 -0
  85. package/gsp/skills/gsp-style/styles/organic.md +177 -213
  86. package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
  87. package/gsp/skills/gsp-style/styles/professional.md +503 -539
  88. package/gsp/skills/gsp-style/styles/retro.md +664 -700
  89. package/gsp/skills/gsp-style/styles/saas.md +490 -526
  90. package/gsp/skills/gsp-style/styles/sketch.md +189 -225
  91. package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
  92. package/gsp/skills/gsp-style/styles/terminal.md +99 -135
  93. package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
  94. package/gsp/skills/gsp-style/styles/web3.md +337 -373
  95. package/gsp/skills/gsp-typography/SKILL.md +0 -1
  96. package/gsp/skills/gsp-update/SKILL.md +0 -1
  97. package/gsp/skills/gsp-visuals/SKILL.md +0 -1
  98. package/gsp/templates/branding/config.json +3 -2
  99. package/gsp/templates/exports-index.md +0 -7
  100. package/gsp/templates/phases/build.md +13 -4
  101. package/gsp/templates/projects/config.json +3 -2
  102. package/gsp/templates/projects/roadmap.md +0 -7
  103. package/gsp/templates/projects/state.md +0 -4
  104. package/package.json +1 -1
  105. package/scripts/lint-check.sh +1 -1
  106. package/gsp/agents/gsp-ascii-artist.md +0 -66
  107. package/gsp/agents/gsp-brand-syncer.md +0 -126
  108. package/gsp/agents/gsp-campaign-director.md +0 -79
  109. package/gsp/agents/gsp-scoper.md +0 -85
  110. package/gsp/skills/gsp-launch/SKILL.md +0 -97
  111. package/gsp/skills/gsp-start/questioning.md +0 -87
  112. package/gsp/templates/phases/launch.md +0 -55
@@ -1,231 +1,195 @@
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
- # Neumorphism (Soft UI) Design System
39
-
40
- ## Design Philosophy
41
-
42
- **Core Principles**: Neumorphism creates the illusion of physical depth through carefully balanced dual shadows—one light source from the top-left, one dark shadow falling bottom-right—on monochromatic backgrounds. Elements appear to either extrude from the surface (convex/raised) or be pressed into it (concave/inset). The effect mimics soft, pillowed physical objects with realistic lighting, creating a "molded from the same material" aesthetic. Every element feels like it's part of the same continuous surface, either raised or pressed, never flat.
43
-
44
- **Vibe**: Tactile, calm, modern, and physically grounded. This is UI that feels like cooler matte plastic or soft ceramic. It is satisfying and tangible. The aesthetic is deliberately restrained, utilizing a cooler grey palette to feel fresh and distinct from "warm" legacy neumorphism. The design prioritizes accessibility with WCAG AA compliant contrast ratios while maintaining the soft aesthetic.
45
-
46
- **Unique Visual Signatures**:
47
-
48
- - **Dual opposing RGB shadows** (top-left light, bottom-right dark) using alpha transparency for smoother, more realistic blending than solid hex shadows.
49
- - **Monochromatic "Cool Grey" discipline** (`#E0E5EC`) where shadows and highlights do all the visual heavy lifting. No flat backgrounds.
50
- - **Same-surface illusion**: Elements appear to be part of the same material as the background—molded, not placed.
51
- - **Deep Inset States**: Wells for icons and inputs that feel significantly deeper (`insetDeep`) than standard pressed states, creating true 3D depth.
52
- - **Soft, Hyper-Rounded Corners**: `32px` for containers and `16px` for smaller elements, reinforcing the pillowed, organic aesthetic.
53
- - **Complex Nested Depth**: Visuals formed by nesting elements (Extruded → Inset → Extruded) to showcase the physics of the system.
54
- - **Smooth Micro-interactions**: 300ms transitions with scale, rotation, and shadow depth changes. Floating animations for ambient motion.
55
- - **Mobile-First Responsive**: Fully responsive with touch-friendly targets (44px minimum), hamburger menu, and maintained neumorphic aesthetic on all screen sizes.
56
-
57
- ---
58
-
59
- ## Design Token System (The DNA)
60
-
61
- ### Colors (Light Mode - Cool Monochromatic)
62
-
63
- The entire palette is built around a single base cool grey. **All visual interest comes from shadow play, not color variety.**
64
-
65
- - **Background**: `#E0E5EC` — The base "cool clay" surface. Everything is molded from this.
66
- - **Foreground**: `#3D4852` — Dark blue-grey for primary text. Excellent contrast (7.5:1 ratio) for optimal readability.
67
- - **Muted**: `#6B7280` — Cool grey for secondary text with WCAG AA compliant contrast (4.6:1 ratio on the background).
68
- - **Accent**: `#6C63FF` Soft violet for interactive highlights. Used sparingly for CTAs and focus states.
69
- - **Accent Light**: `#8B84FF` — Lighter violet for gradients and hover states.
70
- - **Accent Secondary**: `#38B2AC` — Teal for success states, checkmarks, and positive indicators.
71
- - **Border**: `transparent` — Neumorphism **never** uses borders; shadows define all edges.
72
-
73
- **Shadow Colors** (CRITICAL - RGBA for Smoothness):
74
-
75
- - **Shadow Light**: `rgba(255, 255, 255, 0.5-0.6)` — Pure white with transparency for the light-source shadow (top-left).
76
- - **Shadow Dark**: `rgb(163, 177, 198, 0.6-0.7)` A specific cool blue-grey shadow color that matches the background tone perfectly (bottom-right).
77
-
78
- ### Typography
79
-
80
- - **Display Font**: **"Plus Jakarta Sans"** (500, 600, 700, 800) — Modern geometric sans for headlines. Applied via `.font-display` class.
81
- - **Body Font**: **"DM Sans"** (400, 500, 700) Clean, highly legible sans-serif for all body text and UI elements.
82
- - **Weights**:
83
- - Display Headings: `font-extrabold` (800) with `tracking-tight`
84
- - Headings: `font-bold` (700) with `tracking-tight`
85
- - Body: `font-normal` (400) to `font-medium` (500)
86
- - **Colors**:
87
- - Primary: `#3D4852` (excellent contrast)
88
- - Secondary/Muted: `#6B7280` (WCAG AA compliant)
89
- - **Scale**: Responsive scale from `text-sm` (14px) to `text-7xl` (72px) for hero headlines
90
-
91
- ### Radius
92
-
93
- - **Container / Card**: `32px` (`rounded-[32px]`) Very soft, friendly corners.
94
- - **Base / Button**: `16px` (`rounded-2xl`).
95
- - **Inner Elements**: `12px` (`rounded-xl`) or `9999px` (`rounded-full`).
96
-
97
- ### Shadows & Effects (The Physics)
98
-
99
- Shadows are defined using `rgba` for a premium, smooth finish.
100
-
101
- **Extruded (Standard)** — The default resting state:
102
-
103
- ```css
104
- box-shadow: 9px 9px 16px rgb(163,177,198,0.6), -9px -9px 16px rgba(255,255,255,0.5);
105
- ```
106
-
107
- - **Tailwind**: `shadow-[9px_9px_16px_rgb(163,177,198,0.6),-9px_-9px_16px_rgba(255,255,255,0.5)]`
108
-
109
- **Extruded Hover (Lifted)** — For hover states:
110
-
111
- ```css
112
- box-shadow: 12px 12px 20px rgb(163,177,198,0.7), -12px -12px 20px rgba(255,255,255,0.6);
113
- ```
114
-
115
- - **Tailwind**: `shadow-[12px_12px_20px_rgb(163,177,198,0.7),-12px_-12px_20px_rgba(255,255,255,0.6)]`
116
-
117
- **Extruded Small** For smaller elements:
118
-
119
- ```css
120
- box-shadow: 5px 5px 10px rgb(163,177,198,0.6), -5px -5px 10px rgba(255,255,255,0.5);
121
- ```
122
-
123
- **Inset (Pressed)** For standard pressed states or shallow wells:
124
-
125
- ```css
126
- box-shadow: inset 6px 6px 10px rgb(163,177,198,0.6), inset -6px -6px 10px rgba(255,255,255,0.5);
127
- ```
128
-
129
- **Inset Deep** — For inputs, active wells, and deep "carved" elements:
130
-
131
- ```css
132
- box-shadow: inset 10px 10px 20px rgb(163,177,198,0.7), inset -10px -10px 20px rgba(255,255,255,0.6);
133
- ```
134
-
135
- - **Tailwind**: `shadow-[inset_10px_10px_20px_rgb(163,177,198,0.7),inset_-10px_-10px_20px_rgba(255,255,255,0.6)]`
136
-
137
- **Inset Small** — For subtle tracks or pills:
138
-
139
- ```css
140
- box-shadow: inset 3px 3px 6px rgb(163,177,198,0.6), inset -3px -3px 6px rgba(255,255,255,0.5);
141
- ```
142
-
143
- ---
144
-
145
- ## Component Styling
146
-
147
- ### Buttons
148
-
149
- - **Shape**: `rounded-2xl`
150
- - **Transition**: `duration-300 ease-out`
151
- - **Default State**: Extruded shadow.
152
- - **Hover State**: `translate-y-[-1px]` (slight lift) + `Extruded Hover` shadow.
153
- - **Active/Pressed State**: `translate-y-[0.5px]` (physical press) + `Inset Small` shadow (or standard inset depending on size).
154
- - **Primary**: Accent background `#6C63FF`. Active state uses specific rgba inset shadows to work on color.
155
- - **Secondary**: Background `#E0E5EC` (match page).
156
-
157
- ### Cards
158
-
159
- - **Shape**: `rounded-[32px]` (Significant rounding).
160
- - **Background**: `#E0E5EC`.
161
- - **Padding**: `p-8` to `p-20` depending on prominence.
162
- - **Hover**: `translate-y-[-2px]` + `Extruded Hover` shadow.
163
- - **Feature**: Use nested depth. Card is Extruded -> Icon well inside is Inset Deep -> Icon inside is distinct.
164
-
165
- ### Inputs
166
-
167
- - **Shape**: `rounded-2xl`.
168
- - **Background**: `#E0E5EC`.
169
- - **Default**: `Inset` shadow.
170
- - **Focus**: `Inset Deep` shadow + Accent color Ring (offset by 2px with background color).
171
- - **Placeholder**: `#A0AEC0`.
172
-
173
- ### Visual Decorations
174
-
175
- - **Icon Wells**: Always use `Inset Deep` or `Inset` shadows for icon containers. This makes them look "drilled" into the card.
176
- - **Decorations**: Use concentric circles of alternating Extruded and Inset shadows to create abstract, tactile background art.
177
-
178
- ---
179
-
180
- ## Layout Principles
181
-
182
- - **Spacing**: Open and airy. Use `py-32` for hero sections to let the shadows breathe. `gap-12` for grids.
183
- - **Container**: `max-w-7xl` for a wide, modern feel.
184
- - **Background**: The page background must be `#E0E5EC` globally. No gradients on the root background.
185
-
186
- ## Animation & Micro-interactions
187
-
188
- - **Duration**: `300ms` for UI elements, `500ms` for nested depth circles (weightier, physics-based feel).
189
- - **Easing**: `ease-out` for natural deceleration.
190
- - **Properties**: `transform` (scale, translateY, rotate), `box-shadow` (depth changes).
191
- - **Hover Effects**:
192
- - Cards: `-translate-y-1` (1px lift) + enhanced shadow depth
193
- - Buttons: `-translate-y-1` on hover, `translate-y-0.5` on active (press down)
194
- - Nested circles: `scale-105` (5% scale up) + `rotate-180` on inner element
195
- - **Floating Animation**: Custom `@keyframes float` with 3s ease-in-out infinite loop for ambient motion on decorative elements.
196
- - **Smooth Scrolling**: `scroll-behavior: smooth` for anchor navigation.
197
-
198
- ## Accessibility
199
-
200
- - **Contrast**:
201
- - Primary text `#3D4852` on `#E0E5EC`: 7.5:1 (WCAG AAA)
202
- - Muted text `#6B7280` on `#E0E5EC`: 4.6:1 (WCAG AA)
203
- - **Focus States**: Visible 2px accent rings (`ring-2 ring-[#6C63FF]`) with 2px offset on `#E0E5EC` background. Mandatory on all interactive elements.
204
- - **Touch Targets**: Minimum 44x44px for mobile (buttons use `h-12 w-12` = 48px minimum).
205
- - **Mobile Navigation**: Hamburger menu with clear open/close states (Menu/X icons).
206
- - **Keyboard Navigation**: Full keyboard support with visible focus indicators on all links and buttons.
207
-
208
- ## Responsive Design
209
-
210
- - **Mobile First**: Design starts with mobile view and enhances upward.
211
- - **Breakpoints**: `md:` (768px) for tablet, `lg:` (1024px) for desktop.
212
- - **Mobile Adaptations**:
213
- - Hero visual shows on all screens with `max-w-md` constraint on mobile
214
- - Hamburger menu replaces desktop navigation below `md:` breakpoint
215
- - Grid layouts collapse: 3-column → 1-column, 2-column → 1-column
216
- - Font sizes scale down: `text-7xl` → `text-5xl` on mobile
217
- - Padding reduces: `p-16` → `p-8` on cards
218
- - **Navigation**: Sticky header with backdrop blur. Mobile menu slides down from header with extruded shadow.
219
-
220
- ---
221
-
222
- ## Anti-Patterns (Do Not Do)
223
-
224
- - **Hard Hex Shadows**: Do not use opaque hex codes for shadows (e.g., `#A3B1C6`). Use `rgb(... 0.6)` for transparency and blending.
225
- - **White Backgrounds**: Never use `bg-white` for cards. They must match the body background `#E0E5EC`.
226
- - **Flat Buttons**: Buttons must have depth (shadows). No flat designs.
227
- - **Sharp Corners**: `rounded-lg` is too sharp. Use `rounded-2xl` (16px) or `rounded-3xl` (24px) minimum.
228
- - **Poor Contrast**: Never use `#8B95A5` or `#A0AEC0` for body text. Use `#6B7280` or darker for WCAG compliance.
229
- - **Missing Focus States**: All interactive elements must have visible focus indicators.
230
- - **Block Display for Fonts**: Use `display=swap` in Google Fonts URL, not `display=block`.
231
- `</design-system>`
1
+ <design-system>
2
+ # Neumorphism (Soft UI) Design System
3
+
4
+ ## Design Philosophy
5
+
6
+ **Core Principles**: Neumorphism creates the illusion of physical depth through carefully balanced dual shadows—one light source from the top-left, one dark shadow falling bottom-right—on monochromatic backgrounds. Elements appear to either extrude from the surface (convex/raised) or be pressed into it (concave/inset). The effect mimics soft, pillowed physical objects with realistic lighting, creating a "molded from the same material" aesthetic. Every element feels like it's part of the same continuous surface, either raised or pressed, never flat.
7
+
8
+ **Vibe**: Tactile, calm, modern, and physically grounded. This is UI that feels like cooler matte plastic or soft ceramic. It is satisfying and tangible. The aesthetic is deliberately restrained, utilizing a cooler grey palette to feel fresh and distinct from "warm" legacy neumorphism. The design prioritizes accessibility with WCAG AA compliant contrast ratios while maintaining the soft aesthetic.
9
+
10
+ **Unique Visual Signatures**:
11
+
12
+ - **Dual opposing RGB shadows** (top-left light, bottom-right dark) using alpha transparency for smoother, more realistic blending than solid hex shadows.
13
+ - **Monochromatic "Cool Grey" discipline** (`#E0E5EC`) where shadows and highlights do all the visual heavy lifting. No flat backgrounds.
14
+ - **Same-surface illusion**: Elements appear to be part of the same material as the background—molded, not placed.
15
+ - **Deep Inset States**: Wells for icons and inputs that feel significantly deeper (`insetDeep`) than standard pressed states, creating true 3D depth.
16
+ - **Soft, Hyper-Rounded Corners**: `32px` for containers and `16px` for smaller elements, reinforcing the pillowed, organic aesthetic.
17
+ - **Complex Nested Depth**: Visuals formed by nesting elements (Extruded → Inset → Extruded) to showcase the physics of the system.
18
+ - **Smooth Micro-interactions**: 300ms transitions with scale, rotation, and shadow depth changes. Floating animations for ambient motion.
19
+ - **Mobile-First Responsive**: Fully responsive with touch-friendly targets (44px minimum), hamburger menu, and maintained neumorphic aesthetic on all screen sizes.
20
+
21
+ ---
22
+
23
+ ## Design Token System (The DNA)
24
+
25
+ ### Colors (Light Mode - Cool Monochromatic)
26
+
27
+ The entire palette is built around a single base cool grey. **All visual interest comes from shadow play, not color variety.**
28
+
29
+ - **Background**: `#E0E5EC` The base "cool clay" surface. Everything is molded from this.
30
+ - **Foreground**: `#3D4852` Dark blue-grey for primary text. Excellent contrast (7.5:1 ratio) for optimal readability.
31
+ - **Muted**: `#6B7280` Cool grey for secondary text with WCAG AA compliant contrast (4.6:1 ratio on the background).
32
+ - **Accent**: `#6C63FF` Soft violet for interactive highlights. Used sparingly for CTAs and focus states.
33
+ - **Accent Light**: `#8B84FF` Lighter violet for gradients and hover states.
34
+ - **Accent Secondary**: `#38B2AC` — Teal for success states, checkmarks, and positive indicators.
35
+ - **Border**: `transparent` — Neumorphism **never** uses borders; shadows define all edges.
36
+
37
+ **Shadow Colors** (CRITICAL - RGBA for Smoothness):
38
+
39
+ - **Shadow Light**: `rgba(255, 255, 255, 0.5-0.6)` — Pure white with transparency for the light-source shadow (top-left).
40
+ - **Shadow Dark**: `rgb(163, 177, 198, 0.6-0.7)` — A specific cool blue-grey shadow color that matches the background tone perfectly (bottom-right).
41
+
42
+ ### Typography
43
+
44
+ - **Display Font**: **"Plus Jakarta Sans"** (500, 600, 700, 800) Modern geometric sans for headlines. Applied via `.font-display` class.
45
+ - **Body Font**: **"DM Sans"** (400, 500, 700) — Clean, highly legible sans-serif for all body text and UI elements.
46
+ - **Weights**:
47
+ - Display Headings: `font-extrabold` (800) with `tracking-tight`
48
+ - Headings: `font-bold` (700) with `tracking-tight`
49
+ - Body: `font-normal` (400) to `font-medium` (500)
50
+ - **Colors**:
51
+ - Primary: `#3D4852` (excellent contrast)
52
+ - Secondary/Muted: `#6B7280` (WCAG AA compliant)
53
+ - **Scale**: Responsive scale from `text-sm` (14px) to `text-7xl` (72px) for hero headlines
54
+
55
+ ### Radius
56
+
57
+ - **Container / Card**: `32px` (`rounded-[32px]`) — Very soft, friendly corners.
58
+ - **Base / Button**: `16px` (`rounded-2xl`).
59
+ - **Inner Elements**: `12px` (`rounded-xl`) or `9999px` (`rounded-full`).
60
+
61
+ ### Shadows & Effects (The Physics)
62
+
63
+ Shadows are defined using `rgba` for a premium, smooth finish.
64
+
65
+ **Extruded (Standard)** — The default resting state:
66
+
67
+ ```css
68
+ box-shadow: 9px 9px 16px rgb(163,177,198,0.6), -9px -9px 16px rgba(255,255,255,0.5);
69
+ ```
70
+
71
+ - **Tailwind**: `shadow-[9px_9px_16px_rgb(163,177,198,0.6),-9px_-9px_16px_rgba(255,255,255,0.5)]`
72
+
73
+ **Extruded Hover (Lifted)** For hover states:
74
+
75
+ ```css
76
+ box-shadow: 12px 12px 20px rgb(163,177,198,0.7), -12px -12px 20px rgba(255,255,255,0.6);
77
+ ```
78
+
79
+ - **Tailwind**: `shadow-[12px_12px_20px_rgb(163,177,198,0.7),-12px_-12px_20px_rgba(255,255,255,0.6)]`
80
+
81
+ **Extruded Small** — For smaller elements:
82
+
83
+ ```css
84
+ box-shadow: 5px 5px 10px rgb(163,177,198,0.6), -5px -5px 10px rgba(255,255,255,0.5);
85
+ ```
86
+
87
+ **Inset (Pressed)** For standard pressed states or shallow wells:
88
+
89
+ ```css
90
+ box-shadow: inset 6px 6px 10px rgb(163,177,198,0.6), inset -6px -6px 10px rgba(255,255,255,0.5);
91
+ ```
92
+
93
+ **Inset Deep** For inputs, active wells, and deep "carved" elements:
94
+
95
+ ```css
96
+ box-shadow: inset 10px 10px 20px rgb(163,177,198,0.7), inset -10px -10px 20px rgba(255,255,255,0.6);
97
+ ```
98
+
99
+ - **Tailwind**: `shadow-[inset_10px_10px_20px_rgb(163,177,198,0.7),inset_-10px_-10px_20px_rgba(255,255,255,0.6)]`
100
+
101
+ **Inset Small** — For subtle tracks or pills:
102
+
103
+ ```css
104
+ box-shadow: inset 3px 3px 6px rgb(163,177,198,0.6), inset -3px -3px 6px rgba(255,255,255,0.5);
105
+ ```
106
+
107
+ ---
108
+
109
+ ## Component Styling
110
+
111
+ ### Buttons
112
+
113
+ - **Shape**: `rounded-2xl`
114
+ - **Transition**: `duration-300 ease-out`
115
+ - **Default State**: Extruded shadow.
116
+ - **Hover State**: `translate-y-[-1px]` (slight lift) + `Extruded Hover` shadow.
117
+ - **Active/Pressed State**: `translate-y-[0.5px]` (physical press) + `Inset Small` shadow (or standard inset depending on size).
118
+ - **Primary**: Accent background `#6C63FF`. Active state uses specific rgba inset shadows to work on color.
119
+ - **Secondary**: Background `#E0E5EC` (match page).
120
+
121
+ ### Cards
122
+
123
+ - **Shape**: `rounded-[32px]` (Significant rounding).
124
+ - **Background**: `#E0E5EC`.
125
+ - **Padding**: `p-8` to `p-20` depending on prominence.
126
+ - **Hover**: `translate-y-[-2px]` + `Extruded Hover` shadow.
127
+ - **Feature**: Use nested depth. Card is Extruded -> Icon well inside is Inset Deep -> Icon inside is distinct.
128
+
129
+ ### Inputs
130
+
131
+ - **Shape**: `rounded-2xl`.
132
+ - **Background**: `#E0E5EC`.
133
+ - **Default**: `Inset` shadow.
134
+ - **Focus**: `Inset Deep` shadow + Accent color Ring (offset by 2px with background color).
135
+ - **Placeholder**: `#A0AEC0`.
136
+
137
+ ### Visual Decorations
138
+
139
+ - **Icon Wells**: Always use `Inset Deep` or `Inset` shadows for icon containers. This makes them look "drilled" into the card.
140
+ - **Decorations**: Use concentric circles of alternating Extruded and Inset shadows to create abstract, tactile background art.
141
+
142
+ ---
143
+
144
+ ## Layout Principles
145
+
146
+ - **Spacing**: Open and airy. Use `py-32` for hero sections to let the shadows breathe. `gap-12` for grids.
147
+ - **Container**: `max-w-7xl` for a wide, modern feel.
148
+ - **Background**: The page background must be `#E0E5EC` globally. No gradients on the root background.
149
+
150
+ ## Animation & Micro-interactions
151
+
152
+ - **Duration**: `300ms` for UI elements, `500ms` for nested depth circles (weightier, physics-based feel).
153
+ - **Easing**: `ease-out` for natural deceleration.
154
+ - **Properties**: `transform` (scale, translateY, rotate), `box-shadow` (depth changes).
155
+ - **Hover Effects**:
156
+ - Cards: `-translate-y-1` (1px lift) + enhanced shadow depth
157
+ - Buttons: `-translate-y-1` on hover, `translate-y-0.5` on active (press down)
158
+ - Nested circles: `scale-105` (5% scale up) + `rotate-180` on inner element
159
+ - **Floating Animation**: Custom `@keyframes float` with 3s ease-in-out infinite loop for ambient motion on decorative elements.
160
+ - **Smooth Scrolling**: `scroll-behavior: smooth` for anchor navigation.
161
+
162
+ ## Accessibility
163
+
164
+ - **Contrast**:
165
+ - Primary text `#3D4852` on `#E0E5EC`: 7.5:1 (WCAG AAA)
166
+ - Muted text `#6B7280` on `#E0E5EC`: 4.6:1 (WCAG AA)
167
+ - **Focus States**: Visible 2px accent rings (`ring-2 ring-[#6C63FF]`) with 2px offset on `#E0E5EC` background. Mandatory on all interactive elements.
168
+ - **Touch Targets**: Minimum 44x44px for mobile (buttons use `h-12 w-12` = 48px minimum).
169
+ - **Mobile Navigation**: Hamburger menu with clear open/close states (Menu/X icons).
170
+ - **Keyboard Navigation**: Full keyboard support with visible focus indicators on all links and buttons.
171
+
172
+ ## Responsive Design
173
+
174
+ - **Mobile First**: Design starts with mobile view and enhances upward.
175
+ - **Breakpoints**: `md:` (768px) for tablet, `lg:` (1024px) for desktop.
176
+ - **Mobile Adaptations**:
177
+ - Hero visual shows on all screens with `max-w-md` constraint on mobile
178
+ - Hamburger menu replaces desktop navigation below `md:` breakpoint
179
+ - Grid layouts collapse: 3-column → 1-column, 2-column → 1-column
180
+ - Font sizes scale down: `text-7xl` → `text-5xl` on mobile
181
+ - Padding reduces: `p-16` → `p-8` on cards
182
+ - **Navigation**: Sticky header with backdrop blur. Mobile menu slides down from header with extruded shadow.
183
+
184
+ ---
185
+
186
+ ## Anti-Patterns (Do Not Do)
187
+
188
+ - **Hard Hex Shadows**: Do not use opaque hex codes for shadows (e.g., `#A3B1C6`). Use `rgb(... 0.6)` for transparency and blending.
189
+ - **White Backgrounds**: Never use `bg-white` for cards. They must match the body background `#E0E5EC`.
190
+ - **Flat Buttons**: Buttons must have depth (shadows). No flat designs.
191
+ - **Sharp Corners**: `rounded-lg` is too sharp. Use `rounded-2xl` (16px) or `rounded-3xl` (24px) minimum.
192
+ - **Poor Contrast**: Never use `#8B95A5` or `#A0AEC0` for body text. Use `#6B7280` or darker for WCAG compliance.
193
+ - **Missing Focus States**: All interactive elements must have visible focus indicators.
194
+ - **Block Display for Fonts**: Use `display=swap` in Google Fonts URL, not `display=block`.
195
+ `</design-system>`