get-shit-pretty 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -9
  3. package/agents/{gsp-accessibility-auditor.md → gsp-auditor.md} +17 -14
  4. package/agents/gsp-brand-auditor.md +97 -0
  5. package/agents/gsp-brand-strategist.md +64 -27
  6. package/agents/{gsp-design-engineer.md → gsp-builder.md} +12 -9
  7. package/agents/gsp-campaign-director.md +50 -11
  8. package/agents/gsp-codebase-scanner.md +171 -0
  9. package/agents/gsp-critic.md +18 -13
  10. package/agents/gsp-designer.md +126 -0
  11. package/agents/gsp-identity-designer.md +90 -0
  12. package/agents/gsp-project-researcher.md +102 -0
  13. package/agents/gsp-researcher.md +54 -18
  14. package/agents/gsp-reviewer.md +66 -0
  15. package/agents/gsp-scoper.md +103 -0
  16. package/agents/gsp-system-architect.md +91 -26
  17. package/agents/gsp-verbal-strategist.md +84 -0
  18. package/bin/install.js +161 -5
  19. package/commands/gsp/brand-audit.md +116 -0
  20. package/commands/gsp/brand-discover.md +17 -0
  21. package/commands/gsp/brand-identity.md +200 -0
  22. package/commands/gsp/brand-patterns.md +223 -0
  23. package/commands/gsp/brand-research.md +99 -0
  24. package/commands/gsp/brand-strategy.md +140 -0
  25. package/commands/gsp/brand-system.md +17 -0
  26. package/commands/gsp/brand-verbal.md +94 -0
  27. package/commands/gsp/brand.md +9 -83
  28. package/commands/gsp/brief.md +142 -0
  29. package/commands/gsp/build.md +49 -41
  30. package/commands/gsp/critique.md +140 -0
  31. package/commands/gsp/design.md +65 -50
  32. package/commands/gsp/discover.md +17 -0
  33. package/commands/gsp/doctor.md +319 -0
  34. package/commands/gsp/help.md +85 -38
  35. package/commands/gsp/identity.md +18 -0
  36. package/commands/gsp/launch.md +55 -35
  37. package/commands/gsp/new-project.md +5 -86
  38. package/commands/gsp/new.md +237 -0
  39. package/commands/gsp/plan.md +18 -0
  40. package/commands/gsp/progress.md +58 -26
  41. package/commands/gsp/research.md +91 -34
  42. package/commands/gsp/review.md +115 -59
  43. package/commands/gsp/strategy.md +18 -0
  44. package/commands/gsp/system.md +8 -65
  45. package/commands/gsp/update.md +102 -0
  46. package/commands/gsp/verbal.md +18 -0
  47. package/package.json +2 -2
  48. package/prompts/01-design-system-architect.md +35 -3
  49. package/prompts/03-ui-ux-pattern-master.md +11 -1
  50. package/prompts/09-design-to-code-translator.md +9 -0
  51. package/prompts/10-project-scoper.md +51 -0
  52. package/prompts/11-deliverable-reviewer.md +58 -0
  53. package/prompts/12-project-researcher.md +57 -0
  54. package/references/brand-archetypes.md +151 -0
  55. package/references/brand-prism.md +138 -0
  56. package/references/chunk-format.md +48 -0
  57. package/references/design-trends.md +47 -0
  58. package/references/positioning-frameworks.md +197 -0
  59. package/references/questioning.md +1 -1
  60. package/references/trends/aurora-gradients.md +245 -0
  61. package/references/trends/bento-grid.md +473 -0
  62. package/references/trends/claymorphism.md +232 -0
  63. package/references/trends/dark-mode-oled.md +282 -0
  64. package/references/trends/glassmorphism.md +455 -0
  65. package/references/trends/kinetic-typography.md +277 -0
  66. package/references/trends/liquid-glass.md +236 -0
  67. package/references/trends/micro-interactions.md +307 -0
  68. package/references/trends/neubrutalism.md +276 -0
  69. package/references/voice-tone.md +193 -0
  70. package/scripts/gsp-statusline.js +1 -1
  71. package/templates/branding/brief.md +74 -0
  72. package/templates/branding/config.json +26 -0
  73. package/templates/branding/roadmap.md +43 -0
  74. package/templates/branding/state.md +29 -0
  75. package/templates/changelog.md +4 -0
  76. package/templates/codebase-inventory.md +71 -0
  77. package/templates/exports-index.md +93 -0
  78. package/templates/manifest.md +19 -0
  79. package/templates/phases/brief.md +53 -0
  80. package/templates/phases/build.md +24 -48
  81. package/templates/phases/critique.md +68 -0
  82. package/templates/phases/design.md +54 -32
  83. package/templates/phases/discover.md +60 -0
  84. package/templates/phases/identity.md +78 -0
  85. package/templates/phases/launch.md +48 -55
  86. package/templates/phases/research.md +75 -47
  87. package/templates/phases/review.md +27 -75
  88. package/templates/phases/strategy.md +67 -0
  89. package/templates/phases/system.md +84 -78
  90. package/templates/phases/verbal.md +63 -0
  91. package/templates/{project.md → projects/brief.md} +13 -17
  92. package/templates/projects/config.json +32 -0
  93. package/templates/projects/roadmap.md +59 -0
  94. package/templates/{state.md → projects/state.md} +19 -9
  95. package/agents/gsp-spec-engineer.md +0 -121
  96. package/agents/gsp-ui-designer.md +0 -59
  97. package/commands/gsp/spec.md +0 -88
  98. package/templates/config.json +0 -26
  99. package/templates/phases/brand.md +0 -60
  100. package/templates/phases/spec.md +0 -46
  101. package/templates/roadmap.md +0 -62
@@ -0,0 +1,197 @@
1
+ # Positioning Frameworks
2
+
3
+ ## 1. The Golden Circle (Simon Sinek)
4
+
5
+ ### Structure
6
+ ```
7
+ ┌─────────┐
8
+ │ WHY │ ← Purpose (start here)
9
+ ├─────────┤
10
+ │ HOW │ ← Process
11
+ ├─────────┤
12
+ │ WHAT │ ← Product
13
+ └─────────┘
14
+ ```
15
+
16
+ ### Why (Purpose)
17
+ - Why does the brand exist beyond making money?
18
+ - What belief drives the organization?
19
+ - What cause does it champion?
20
+
21
+ **Test:** "We believe that..." — if the answer is compelling and unique, it's a strong Why.
22
+
23
+ ### How (Process)
24
+ - How does the brand deliver on its purpose?
25
+ - What differentiating actions or values guide the work?
26
+ - What's the unique approach?
27
+
28
+ ### What (Product)
29
+ - What does the brand actually offer?
30
+ - Products, services, features
31
+ - This is what most brands lead with — but the strongest brands lead with Why
32
+
33
+ ### Example: Apple
34
+ - **Why:** We believe in challenging the status quo and thinking differently
35
+ - **How:** We make beautifully designed, intuitive products
36
+ - **What:** We make computers, phones, and digital services
37
+
38
+ ### Common Mistakes
39
+ - Starting with What instead of Why
40
+ - Making Why too generic ("we want to make the world better")
41
+ - Confusing How with features instead of values
42
+ - Having a Why that doesn't connect to What
43
+
44
+ ---
45
+
46
+ ## 2. Brand Positioning Statement
47
+
48
+ ### Formula
49
+ ```
50
+ For [TARGET AUDIENCE] who [NEED/WANT],
51
+ [BRAND] is the [CATEGORY/FRAME OF REFERENCE] that [KEY BENEFIT]
52
+ because [REASON TO BELIEVE].
53
+ ```
54
+
55
+ ### Components
56
+
57
+ **Target Audience:** Specific, behavioral segment (not just demographics)
58
+ - Bad: "millennials"
59
+ - Good: "health-conscious professionals who want nutritious meals without cooking time"
60
+
61
+ **Need/Want:** The job-to-be-done or unmet need
62
+ - Should be emotional or functional, not feature-based
63
+ - Bad: "need a faster app"
64
+ - Good: "want to feel in control of their finances"
65
+
66
+ **Category:** Where the brand competes (can be redefined strategically)
67
+ - Traditional: "the energy drink"
68
+ - Reframed: "the performance beverage" (broader opportunity)
69
+
70
+ **Key Benefit:** The single most important differentiator
71
+ - Must be ownable (competitors can't easily claim it)
72
+ - Must be relevant (audience actually cares)
73
+ - Must be believable (brand can deliver)
74
+
75
+ **Reason to Believe:** Proof the brand can deliver the benefit
76
+ - Heritage, technology, ingredients, endorsements, track record
77
+
78
+ ### Example: Volvo
79
+ For safety-conscious families who want peace of mind, Volvo is the car manufacturer that delivers the safest driving experience because of 90+ years of safety innovation and the most advanced crash-prevention technology.
80
+
81
+ ---
82
+
83
+ ## 3. Brand Pyramid
84
+
85
+ ### Structure (bottom to top)
86
+ ```
87
+ /\
88
+ / \ BRAND ESSENCE
89
+ / \ (2-3 words)
90
+ /──────\
91
+ / EMOTIONAL\ Emotional benefit
92
+ / BENEFIT \ (how it makes you feel)
93
+ /──────────────\
94
+ / FUNCTIONAL \ Functional benefit
95
+ / BENEFIT \ (what it does for you)
96
+ /────────────────────\
97
+ / ATTRIBUTES \ Features, facts, proof points
98
+ \────────────────────────/
99
+ ```
100
+
101
+ ### Levels
102
+
103
+ **Attributes (base):** Tangible features and facts
104
+ - Product specs, ingredients, processes, certifications
105
+ - "Made with organic ingredients," "24/7 support," "256-bit encryption"
106
+
107
+ **Functional Benefits:** What the attributes do for the user
108
+ - Time saved, money saved, problems solved, tasks simplified
109
+ - "Get meals delivered in 30 minutes," "Manage all accounts in one place"
110
+
111
+ **Emotional Benefits:** How the functional benefits make you feel
112
+ - Confidence, peace of mind, excitement, belonging, pride
113
+ - "Feel in control," "Never worry about security," "Express your creativity"
114
+
115
+ **Brand Essence (peak):** The brand distilled to 2-3 words
116
+ - Must be ownable, memorable, and emotionally resonant
117
+ - Nike: "Authentic Athletic Performance"
118
+ - Disney: "Magical Entertainment"
119
+ - Volvo: "Safety"
120
+
121
+ ---
122
+
123
+ ## 4. Positioning Map (Perceptual Map)
124
+
125
+ ### How to Build
126
+
127
+ **Step 1: Choose 2 strategic axes**
128
+ Pick dimensions that matter to your audience AND where competitors differ:
129
+ - Price ↔ Premium
130
+ - Traditional ↔ Innovative
131
+ - Simple ↔ Complex
132
+ - Mass market ↔ Niche
133
+ - Functional ↔ Emotional
134
+ - Local ↔ Global
135
+ - Serious ↔ Playful
136
+
137
+ **Step 2: Plot competitors**
138
+ Place each competitor on the map based on market perception (not self-image).
139
+
140
+ **Step 3: Identify white space**
141
+ Look for quadrants with few or no competitors — potential positioning opportunities.
142
+
143
+ **Step 4: Validate the white space**
144
+ - Is there demand in this space? (just because no one's there doesn't mean people want it)
145
+ - Can the brand credibly claim this space?
146
+ - Is the space defensible long-term?
147
+
148
+ ### Example: Coffee Market
149
+ ```
150
+ Premium
151
+
152
+ Artisan │ Luxury
153
+ (Blue │ (Nespresso)
154
+ Bottle) │
155
+
156
+ Functional──┼──Experiential
157
+
158
+ Budget │ Social
159
+ (Folgers)│ (Starbucks)
160
+
161
+ Affordable
162
+ ```
163
+
164
+ ### Tips
165
+ - Use audience research to validate axis selection
166
+ - Plot based on perception, not reality
167
+ - Update annually — positioning shifts
168
+ - Consider 3D mapping for complex markets (add bubble size for market share)
169
+
170
+ ---
171
+
172
+ ## 5. Competitive Differentiation Matrix
173
+
174
+ ### Template
175
+
176
+ | Dimension | Your Brand | Competitor A | Competitor B | Competitor C |
177
+ |-----------|-----------|-------------|-------------|-------------|
178
+ | Price point | | | | |
179
+ | Core value proposition | | | | |
180
+ | Visual style | | | | |
181
+ | Tone of voice | | | | |
182
+ | Target audience | | | | |
183
+ | Distribution | | | | |
184
+ | Innovation level | | | | |
185
+ | Brand personality | | | | |
186
+
187
+ ### Using the Matrix
188
+ 1. Fill in honestly (not aspirationally)
189
+ 2. Identify where you're the same as everyone (parity — must have but not differentiating)
190
+ 3. Identify where you're different (potential differentiators)
191
+ 4. Rank differentiators by: relevance to audience + difficulty for competitors to copy
192
+ 5. Lead with your top 1-2 true differentiators
193
+
194
+ ## Sources
195
+ - Sinek, S. (2009). *Start with Why*. Portfolio.
196
+ - Ries, A. & Trout, J. (2001). *Positioning: The Battle for Your Mind*. McGraw-Hill.
197
+ - Keller, K.L. (2013). *Strategic Brand Management*. Pearson.
@@ -1,7 +1,7 @@
1
1
  # Brief-Gathering Techniques
2
2
 
3
3
  ## Purpose
4
- Guide the `/gsp:new-project` command to extract a complete design brief through effective questioning.
4
+ Guide brief-gathering conversations — used by `/gsp:new` for both brand briefs and project briefs.
5
5
 
6
6
  ---
7
7
 
@@ -0,0 +1,245 @@
1
+ # Aurora / Mesh Gradients
2
+
3
+ > Organic, multi-directional color blends created by layering radial gradients — painterly, atmospheric backgrounds inspired by the northern lights.
4
+
5
+ Last verified: 2026-03-04
6
+
7
+ ---
8
+
9
+ ## Visual Characteristics
10
+
11
+ - Multiple layered radial gradients creating organic, flowing color
12
+ - Painterly quality that goes beyond simple linear/radial gradients
13
+ - Often combined with subtle grain texture for tactile quality
14
+ - Works best on dark backgrounds (`#0a0a1a` to `#1a1a2e`) where colors pop
15
+ - Slow, breathing animation creates a living, atmospheric feel
16
+ - 3-5 color points at varying opacities produce the most organic results
17
+
18
+ ---
19
+
20
+ ## CSS Implementation
21
+
22
+ ### Aurora Gradient
23
+
24
+ ```css
25
+ .aurora-bg {
26
+ background:
27
+ radial-gradient(ellipse at 20% 50%, rgba(120, 80, 255, 0.4) 0%, transparent 50%),
28
+ radial-gradient(ellipse at 80% 20%, rgba(255, 100, 200, 0.3) 0%, transparent 50%),
29
+ radial-gradient(ellipse at 60% 80%, rgba(80, 200, 255, 0.3) 0%, transparent 50%),
30
+ radial-gradient(ellipse at 40% 30%, rgba(100, 255, 180, 0.2) 0%, transparent 50%);
31
+ background-color: #0a0a1a;
32
+ }
33
+
34
+ /* Animated aurora */
35
+ .aurora-animated {
36
+ background-size: 200% 200%;
37
+ animation: aurora-shift 15s ease-in-out infinite alternate;
38
+ }
39
+
40
+ @keyframes aurora-shift {
41
+ 0% { background-position: 0% 50%; }
42
+ 50% { background-position: 100% 50%; }
43
+ 100% { background-position: 0% 50%; }
44
+ }
45
+ ```
46
+
47
+ ### Mesh Gradient (Multi-Point)
48
+
49
+ ```css
50
+ .mesh-gradient {
51
+ background:
52
+ radial-gradient(at 0% 0%, #7c3aed 0%, transparent 50%),
53
+ radial-gradient(at 100% 0%, #06b6d4 0%, transparent 50%),
54
+ radial-gradient(at 100% 100%, #f43f5e 0%, transparent 50%),
55
+ radial-gradient(at 0% 100%, #eab308 0%, transparent 50%);
56
+ background-color: #1a1a2e;
57
+ }
58
+ ```
59
+
60
+ ### Grain Texture Overlay
61
+
62
+ ```css
63
+ .aurora-grain::after {
64
+ content: '';
65
+ position: absolute;
66
+ inset: 0;
67
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
68
+ opacity: 0.03;
69
+ mix-blend-mode: overlay;
70
+ pointer-events: none;
71
+ }
72
+ ```
73
+
74
+ ### Design Rules
75
+ - Use 3-5 color points for organic feel
76
+ - Keep opacity 0.2-0.4 per layer to avoid muddy blends
77
+ - Grain texture opacity: 0.02-0.05 for subtle tactile quality
78
+ - Animation: slow (10-20s), `ease-in-out`, subtle position shift
79
+ - Dark backgrounds: `#0a0a1a` to `#1a1a2e` for maximum color vibrancy
80
+
81
+ ---
82
+
83
+ ## Implementation Guide
84
+
85
+ ### Step-by-step
86
+
87
+ 1. Set a dark base color (`background-color: #0a0a1a`)
88
+ 2. Layer 3-5 `radial-gradient` declarations with `ellipse` shape at different positions
89
+ 3. Use rgba colors at 0.2-0.4 opacity per gradient layer — too high and colors become muddy
90
+ 4. Set each gradient to fade from color to `transparent` at 50%
91
+ 5. For animation: set `background-size: 200% 200%` and animate `background-position`
92
+ 6. Add grain overlay via `::after` pseudo-element with SVG noise at 0.03 opacity
93
+ 7. Ensure the parent has `position: relative` for the grain overlay positioning
94
+
95
+ ### Progressive Enhancement
96
+
97
+ ```css
98
+ /* Baseline: solid dark background */
99
+ .aurora-bg {
100
+ background-color: #0a0a1a;
101
+ }
102
+
103
+ /* Enhanced: radial gradients (supported everywhere, but expensive) */
104
+ @media (prefers-reduced-motion: no-preference) {
105
+ .aurora-animated {
106
+ background-size: 200% 200%;
107
+ animation: aurora-shift 15s ease-in-out infinite alternate;
108
+ }
109
+ }
110
+
111
+ /* Reduced motion: static gradient, no animation */
112
+ @media (prefers-reduced-motion: reduce) {
113
+ .aurora-animated {
114
+ animation: none;
115
+ background-size: 100% 100%;
116
+ }
117
+ }
118
+ ```
119
+
120
+ ### Framework Notes
121
+
122
+ #### React + Tailwind CSS
123
+
124
+ ```tsx
125
+ export function AuroraBackground({ children }: { children: React.ReactNode }) {
126
+ return (
127
+ <div className="relative min-h-screen bg-[#0a0a1a]">
128
+ {/* Gradient layers */}
129
+ <div className="absolute inset-0 bg-[radial-gradient(ellipse_at_20%_50%,rgba(120,80,255,0.4)_0%,transparent_50%)]" />
130
+ <div className="absolute inset-0 bg-[radial-gradient(ellipse_at_80%_20%,rgba(255,100,200,0.3)_0%,transparent_50%)]" />
131
+ <div className="absolute inset-0 bg-[radial-gradient(ellipse_at_60%_80%,rgba(80,200,255,0.3)_0%,transparent_50%)]" />
132
+ {/* Grain overlay */}
133
+ <div className="absolute inset-0 opacity-[0.03] mix-blend-overlay pointer-events-none" style={{ backgroundImage: 'url(...)' }} />
134
+ <div className="relative z-10">{children}</div>
135
+ </div>
136
+ );
137
+ }
138
+ ```
139
+
140
+ Alternative: use Tailwind's `bg-gradient-*` utilities for simpler linear gradients, but layered radials require arbitrary values `bg-[radial-gradient(...)]`.
141
+
142
+ #### React Native
143
+
144
+ Use `expo-linear-gradient` or `react-native-linear-gradient` for basic gradient backgrounds. True multi-point radial mesh gradients are not natively supported — use `react-native-skia` for custom shader-based aurora effects.
145
+
146
+ #### Vanilla CSS
147
+
148
+ The CSS implementation above is pure vanilla. Use CSS `@property` for smoother gradient animations:
149
+
150
+ ```css
151
+ @property --aurora-x {
152
+ syntax: '<percentage>';
153
+ initial-value: 0%;
154
+ inherits: false;
155
+ }
156
+ ```
157
+
158
+ ### Common Pitfalls
159
+
160
+ 1. **Too many gradient layers**: beyond 5 layers the colors become muddy. Use 3-5 for organic feel.
161
+ 2. **High opacity gradients**: above 0.4 opacity per layer causes hard color boundaries instead of blending. Keep at 0.2-0.4.
162
+ 3. **Light backgrounds**: aurora gradients lose their vibrancy on light backgrounds. Use dark base colors only.
163
+ 4. **Fast animation**: animation speed below 10s feels frantic. Keep at 15-20s for a breathing, natural feel.
164
+ 5. **Missing grain**: without subtle grain texture, the gradients look digital/synthetic. Even 0.02 opacity grain adds significant tactile quality.
165
+
166
+ ---
167
+
168
+ ## Examples Gallery
169
+
170
+ | Site | What They Do Well | Screenshot Description |
171
+ |------|-------------------|----------------------|
172
+ | Stripe | Signature mesh gradients on hero sections — smooth, premium, continuously animated | Landing page with flowing purple-blue-pink gradient |
173
+ | Linear | Dark aurora background with gradient borders on glass cards | Homepage with atmospheric gradient behind feature grid |
174
+ | Vercel | Subtle aurora accents behind dark UI — glow effects on borders and highlights | Dashboard with gradient glow accents |
175
+ | Raycast | Aurora-style gradients as app background with glassmorphism overlay panels | Command palette floating over atmospheric gradient |
176
+ | Awwwards — Lusion Lab | Award-winning 3D aurora with WebGL-enhanced gradients and particle effects | Immersive gradient background with interactive depth |
177
+
178
+ ---
179
+
180
+ ## Accessibility
181
+
182
+ - **Text over gradients**: always place text on a semi-opaque surface layer, not directly on the aurora. Use glassmorphism cards or solid overlays.
183
+ - **Contrast**: gradient color variation means contrast ratios change across the viewport. Test at the worst-case position (lightest gradient area).
184
+ - **Reduced motion**: stop animation entirely for `prefers-reduced-motion: reduce` — display static gradient
185
+ - **Color dependence**: don't convey information through gradient color alone — always pair with text or icons
186
+
187
+ ---
188
+
189
+ ## Performance
190
+
191
+ - **Gradient layers**: each `radial-gradient` layer is composited by the GPU. 3-5 layers are fine; 10+ causes measurable overhead
192
+ - **Animation cost**: `background-position` animation is GPU-accelerated and relatively cheap
193
+ - **Grain overlay**: the SVG noise filter is rendered once and cached — negligible ongoing cost
194
+ - **Optimization**: use `will-change: background-position` on animated aurora elements (but not globally)
195
+ - **Mobile**: reduce to 2-3 gradient layers on mobile for smoother scrolling
196
+ - **Alternative for heavy use**: pre-render the aurora as a static image and use CSS to animate opacity/position of the image layer
197
+
198
+ ---
199
+
200
+ ## When to Use / When to Avoid
201
+
202
+ ### Use When
203
+ - Hero sections, landing page backgrounds
204
+ - App backgrounds behind glassmorphism cards
205
+ - Brand identity expressing premium, modern aesthetic
206
+ - Dark-mode-first products (developer tools, creative tools)
207
+
208
+ ### Avoid When
209
+ - Behind text-heavy content without an overlay surface
210
+ - Data dashboards where the background distracts from data
211
+ - Light-mode-only products — aurora needs dark backgrounds
212
+ - Performance-constrained mobile experiences with heavy UI layers
213
+
214
+ ---
215
+
216
+ ## Design Tokens
217
+
218
+ ```json
219
+ {
220
+ "aurora": {
221
+ "bg-base": "#0a0a1a",
222
+ "bg-alt": "#1a1a2e",
223
+ "color-1": "rgba(120, 80, 255, 0.4)",
224
+ "color-2": "rgba(255, 100, 200, 0.3)",
225
+ "color-3": "rgba(80, 200, 255, 0.3)",
226
+ "color-4": "rgba(100, 255, 180, 0.2)",
227
+ "grain-opacity": "0.03",
228
+ "grain-blend-mode": "overlay",
229
+ "animation-duration": "15s",
230
+ "animation-easing": "ease-in-out",
231
+ "mesh-purple": "#7c3aed",
232
+ "mesh-cyan": "#06b6d4",
233
+ "mesh-rose": "#f43f5e",
234
+ "mesh-amber": "#eab308"
235
+ }
236
+ }
237
+ ```
238
+
239
+ ---
240
+
241
+ ## Related
242
+
243
+ - [Glassmorphism](./glassmorphism.md) — the canonical foreground pairing: frosted glass cards over aurora backgrounds
244
+ - [Liquid Glass](./liquid-glass.md) — advanced foreground with refraction over aurora
245
+ - [Dark Mode OLED](./dark-mode-oled.md) — aurora on true black (#000000) is visually stunning