@salesforce/webapp-template-app-react-sample-b2e-experimental 1.82.0 → 1.84.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 (51) hide show
  1. package/dist/.a4drules/skills/webapp-csp-trusted-sites/SKILL.md +90 -0
  2. package/dist/.a4drules/skills/webapp-csp-trusted-sites/implementation/metadata-format.md +281 -0
  3. package/dist/.a4drules/skills/{webapp-add-react-component → webapp-react-add-component}/SKILL.md +1 -1
  4. package/dist/.a4drules/skills/webapp-react-data-visualization/SKILL.md +72 -0
  5. package/dist/.a4drules/skills/webapp-react-data-visualization/implementation/dashboard-layout.md +189 -0
  6. package/dist/.a4drules/skills/webapp-react-data-visualization/implementation/donut-chart.md +181 -0
  7. package/dist/.a4drules/skills/webapp-react-data-visualization/implementation/stat-card.md +150 -0
  8. package/dist/.a4drules/skills/webapp-react-interactive-map/SKILL.md +92 -0
  9. package/dist/.a4drules/skills/webapp-react-interactive-map/implementation/geocoding.md +245 -0
  10. package/dist/.a4drules/skills/webapp-react-interactive-map/implementation/leaflet-map.md +279 -0
  11. package/dist/.a4drules/skills/webapp-react-weather-widget/SKILL.md +65 -0
  12. package/dist/.a4drules/skills/webapp-react-weather-widget/implementation/weather-hook.md +258 -0
  13. package/dist/.a4drules/skills/webapp-react-weather-widget/implementation/weather-ui.md +216 -0
  14. package/dist/.a4drules/skills/webapp-ui-ux/SKILL.md +268 -0
  15. package/dist/.a4drules/skills/webapp-ui-ux/data/charts.csv +26 -0
  16. package/dist/.a4drules/skills/webapp-ui-ux/data/colors.csv +97 -0
  17. package/dist/.a4drules/skills/webapp-ui-ux/data/icons.csv +101 -0
  18. package/dist/.a4drules/skills/webapp-ui-ux/data/landing.csv +31 -0
  19. package/dist/.a4drules/skills/webapp-ui-ux/data/products.csv +97 -0
  20. package/dist/.a4drules/skills/webapp-ui-ux/data/react-performance.csv +45 -0
  21. package/dist/.a4drules/skills/webapp-ui-ux/data/stacks/html-tailwind.csv +56 -0
  22. package/dist/.a4drules/skills/webapp-ui-ux/data/stacks/react.csv +54 -0
  23. package/dist/.a4drules/skills/webapp-ui-ux/data/stacks/shadcn.csv +61 -0
  24. package/dist/.a4drules/skills/webapp-ui-ux/data/styles.csv +68 -0
  25. package/dist/.a4drules/skills/webapp-ui-ux/data/typography.csv +58 -0
  26. package/dist/.a4drules/skills/webapp-ui-ux/data/ui-reasoning.csv +101 -0
  27. package/dist/.a4drules/skills/webapp-ui-ux/data/ux-guidelines.csv +100 -0
  28. package/dist/.a4drules/skills/webapp-ui-ux/data/web-interface.csv +31 -0
  29. package/dist/.a4drules/skills/webapp-ui-ux/scripts/core.js +255 -0
  30. package/dist/.a4drules/skills/webapp-ui-ux/scripts/design_system.js +861 -0
  31. package/dist/.a4drules/skills/webapp-ui-ux/scripts/search.js +98 -0
  32. package/dist/.a4drules/skills/webapp-unsplash-images/SKILL.md +71 -0
  33. package/dist/.a4drules/skills/webapp-unsplash-images/implementation/usage.md +159 -0
  34. package/dist/.a4drules/webapp-no-node-e.md +54 -15
  35. package/dist/.a4drules/webapp-react.md +9 -10
  36. package/dist/.a4drules/webapp-skills-first.md +26 -0
  37. package/dist/.a4drules/webapp.md +8 -0
  38. package/dist/AGENT.md +2 -0
  39. package/dist/CHANGELOG.md +22 -0
  40. package/dist/force-app/main/default/webapplications/appreactsampleb2e/package.json +4 -4
  41. package/dist/force-app/main/default/webapplications/appreactsampleb2e/webapplication.json +1 -1
  42. package/dist/package.json +3 -2
  43. package/dist/scripts/prepare-import-unique-fields.js +108 -0
  44. package/dist/scripts/setup-cli.mjs +282 -0
  45. package/package.json +3 -3
  46. package/dist/.a4drules/webapp-images.md +0 -15
  47. /package/dist/.a4drules/skills/{webapp-add-react-component → webapp-react-add-component}/implementation/component.md +0 -0
  48. /package/dist/.a4drules/skills/{webapp-add-react-component → webapp-react-add-component}/implementation/header-footer.md +0 -0
  49. /package/dist/.a4drules/skills/{webapp-add-react-component → webapp-react-add-component}/implementation/page.md +0 -0
  50. /package/dist/.a4drules/{webapp-code-quality.md → webapp-react-code-quality.md} +0 -0
  51. /package/dist/.a4drules/{webapp-typescript.md → webapp-react-typescript.md} +0 -0
@@ -0,0 +1,216 @@
1
+ # Weather UI — Implementation Guide
2
+
3
+ ## Weather card component
4
+
5
+ Render the weather data inside a Card component:
6
+
7
+ ```tsx
8
+ import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card";
9
+ import { useWeather } from "@/hooks/useWeather";
10
+
11
+ interface WeatherCardProps {
12
+ lat?: number;
13
+ lng?: number;
14
+ }
15
+
16
+ export default function WeatherCard({ lat, lng }: WeatherCardProps) {
17
+ const { data: weather, loading, error } = useWeather(lat, lng);
18
+
19
+ return (
20
+ <Card className="rounded-2xl shadow-md">
21
+ <CardHeader>
22
+ <CardTitle className="text-primary">Weather</CardTitle>
23
+ <p className="text-sm text-muted-foreground">
24
+ {new Date().toLocaleDateString("en-US", {
25
+ weekday: "short",
26
+ month: "short",
27
+ day: "numeric",
28
+ year: "numeric",
29
+ })}
30
+ </p>
31
+ </CardHeader>
32
+ <CardContent className="space-y-4">
33
+ {loading && <p className="text-sm text-muted-foreground">Loading weather…</p>}
34
+ {error && (
35
+ <p className="text-sm text-destructive" role="alert">
36
+ {error}
37
+ </p>
38
+ )}
39
+ {!loading && !error && weather && (
40
+ <>
41
+ {/* Current conditions */}
42
+ <p className="text-base text-foreground">{weather.current.description}</p>
43
+ <p className="text-4xl font-bold text-foreground">{weather.current.tempF}°F</p>
44
+ <div className="flex flex-wrap gap-4 text-sm text-muted-foreground">
45
+ <span>{weather.current.windSpeedMph} mph Wind</span>
46
+ <span>{weather.current.humidity}% Humidity</span>
47
+ </div>
48
+
49
+ {/* Tab indicator */}
50
+ <div className="flex gap-2 border-b border-border pb-2">
51
+ <span className="border-b-2 border-primary pb-1 text-sm font-semibold text-primary">
52
+ Today
53
+ </span>
54
+ </div>
55
+
56
+ {/* Hourly forecast */}
57
+ {weather.hourly.length > 0 && (
58
+ <div className="flex flex-wrap gap-4">
59
+ {weather.hourly.map((h) => (
60
+ <div key={h.time} className="min-w-[60px] rounded-xl bg-muted/50 p-2 text-center">
61
+ <p className="text-xs text-muted-foreground">{h.time}</p>
62
+ <p className="text-base font-semibold text-foreground">{h.tempF}°</p>
63
+ </div>
64
+ ))}
65
+ </div>
66
+ )}
67
+ </>
68
+ )}
69
+ </CardContent>
70
+ </Card>
71
+ );
72
+ }
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Layout placement
78
+
79
+ ### Dashboard sidebar
80
+
81
+ Place the weather card in a two-column grid alongside other dashboard content:
82
+
83
+ ```tsx
84
+ <div className="grid grid-cols-1 gap-6 md:grid-cols-2">
85
+ <div className="space-y-6">
86
+ {/* Primary dashboard content */}
87
+ </div>
88
+ <div>
89
+ <WeatherCard />
90
+ </div>
91
+ </div>
92
+ ```
93
+
94
+ ### Full-width widget
95
+
96
+ For a standalone weather section:
97
+
98
+ ```tsx
99
+ <section className="mx-auto max-w-md">
100
+ <WeatherCard />
101
+ </section>
102
+ ```
103
+
104
+ ---
105
+
106
+ ## Loading state
107
+
108
+ Show a text indicator while data is fetching:
109
+
110
+ ```tsx
111
+ {loading && <p className="text-sm text-muted-foreground">Loading weather…</p>}
112
+ ```
113
+
114
+ For a richer skeleton:
115
+
116
+ ```tsx
117
+ {loading && (
118
+ <div className="space-y-3">
119
+ <div className="h-4 w-24 animate-pulse rounded bg-muted" />
120
+ <div className="h-10 w-16 animate-pulse rounded bg-muted" />
121
+ <div className="flex gap-4">
122
+ <div className="h-4 w-20 animate-pulse rounded bg-muted" />
123
+ <div className="h-4 w-20 animate-pulse rounded bg-muted" />
124
+ </div>
125
+ </div>
126
+ )}
127
+ ```
128
+
129
+ ---
130
+
131
+ ## Error state
132
+
133
+ Show error messages with proper ARIA:
134
+
135
+ ```tsx
136
+ {error && (
137
+ <p className="text-sm text-destructive" role="alert">
138
+ {error}
139
+ </p>
140
+ )}
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Extending to daily forecast
146
+
147
+ To show a multi-day forecast, update the `fetchWeather` function to request daily data:
148
+
149
+ ```ts
150
+ url.searchParams.set("daily", "weather_code,temperature_2m_max,temperature_2m_min");
151
+ url.searchParams.set("forecast_days", "7");
152
+ ```
153
+
154
+ Then render each day:
155
+
156
+ ```tsx
157
+ {weather.daily.map((day) => (
158
+ <div key={day.date} className="flex items-center justify-between rounded-lg bg-muted/50 px-3 py-2">
159
+ <span className="text-sm text-muted-foreground">{day.dayName}</span>
160
+ <span className="text-sm font-medium">{day.highF}° / {day.lowF}°</span>
161
+ <span className="text-xs text-muted-foreground">{day.description}</span>
162
+ </div>
163
+ ))}
164
+ ```
165
+
166
+ ---
167
+
168
+ ## Using browser geolocation
169
+
170
+ To auto-detect the user's location:
171
+
172
+ ```ts
173
+ import { useState, useEffect } from "react";
174
+
175
+ export function useUserLocation(): { lat: number | null; lng: number | null; error: string | null } {
176
+ const [lat, setLat] = useState<number | null>(null);
177
+ const [lng, setLng] = useState<number | null>(null);
178
+ const [error, setError] = useState<string | null>(null);
179
+
180
+ useEffect(() => {
181
+ if (!navigator.geolocation) {
182
+ setError("Geolocation not supported");
183
+ return;
184
+ }
185
+ navigator.geolocation.getCurrentPosition(
186
+ (pos) => {
187
+ setLat(pos.coords.latitude);
188
+ setLng(pos.coords.longitude);
189
+ },
190
+ (err) => {
191
+ setError(err.message);
192
+ }
193
+ );
194
+ }, []);
195
+
196
+ return { lat, lng, error };
197
+ }
198
+ ```
199
+
200
+ Combine with the weather hook:
201
+
202
+ ```tsx
203
+ const { lat, lng } = useUserLocation();
204
+ const { data: weather } = useWeather(lat, lng);
205
+ ```
206
+
207
+ Falls back to the default location if geolocation is denied or unavailable.
208
+
209
+ ---
210
+
211
+ ## Accessibility
212
+
213
+ - Error messages use `role="alert"` for screen reader announcement.
214
+ - Temperature values include the unit symbol (`°F` or `°C`) in the text.
215
+ - Hourly forecast items are visually distinct with background color and spacing.
216
+ - Loading state provides text feedback, not just spinners.
@@ -0,0 +1,268 @@
1
+ ---
2
+ name: ui-ux
3
+ description: Comprehensive design guide for React + Tailwind + shadcn/ui applications. Searchable database with priority-based recommendations for styles, color palettes, font pairings, UX guidelines, and chart types.
4
+ ---
5
+
6
+ # ui-ux
7
+
8
+ Comprehensive design guide for React + Tailwind + shadcn/ui applications. Contains 67 styles, 96 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types. Searchable database with priority-based recommendations.
9
+
10
+ ## Prerequisites
11
+
12
+ Requires Node.js (included with any React/Tailwind project):
13
+
14
+ ```bash
15
+ node --version
16
+ ```
17
+
18
+ ---
19
+
20
+ ## How to Use This Skill
21
+
22
+ When user requests UI/UX work (design, build, create, implement, review, fix, improve), follow this workflow. **Always generate a design system first** — every time, no exceptions.
23
+
24
+ ### Step 1: Analyze User Requirements
25
+
26
+ Extract key information from user request:
27
+ - **Product type**: SaaS, e-commerce, portfolio, dashboard, landing page, etc.
28
+ - **Style keywords**: minimal, playful, professional, elegant, dark mode, etc.
29
+ - **Industry**: healthcare, fintech, gaming, education, etc.
30
+
31
+ ### Step 2: Generate Design System (REQUIRED)
32
+
33
+ **Always start with `--design-system`** to get comprehensive recommendations with reasoning:
34
+
35
+ ```bash
36
+ node skills/ui-ux/scripts/search.js "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
37
+ ```
38
+
39
+ This command:
40
+ 1. Searches 5 domains in parallel (product, style, color, landing, typography)
41
+ 2. Applies reasoning rules from `ui-reasoning.csv` to select best matches
42
+ 3. Returns complete design system: pattern, style, colors, typography, effects
43
+ 4. Includes anti-patterns to avoid
44
+
45
+ **Example:**
46
+ ```bash
47
+ node skills/ui-ux/scripts/search.js "beauty spa wellness service" --design-system -p "Serenity Spa"
48
+ ```
49
+
50
+ ### Step 2b: Persist Design System (Master + Overrides Pattern)
51
+
52
+ To save the design system for hierarchical retrieval across sessions, add `--persist`:
53
+
54
+ ```bash
55
+ node skills/ui-ux/scripts/search.js "<query>" --design-system --persist -p "Project Name"
56
+ ```
57
+
58
+ This creates:
59
+ - `design-system/MASTER.md` — Global Source of Truth with all design rules
60
+ - `design-system/pages/` — Folder for page-specific overrides
61
+
62
+ **With page-specific override:**
63
+ ```bash
64
+ node skills/ui-ux/scripts/search.js "<query>" --design-system --persist -p "Project Name" --page "dashboard"
65
+ ```
66
+
67
+ This also creates:
68
+ - `design-system/pages/dashboard.md` — Page-specific deviations from Master
69
+
70
+ **How hierarchical retrieval works:**
71
+ 1. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`
72
+ 2. If the page file exists, its rules **override** the Master file
73
+ 3. If not, use `design-system/MASTER.md` exclusively
74
+
75
+ ### Step 3: Supplement with Detailed Searches (as needed)
76
+
77
+ After getting the design system, use domain searches to get additional details:
78
+
79
+ ```bash
80
+ node skills/ui-ux/scripts/search.js "<keyword>" --domain <domain> [-n <max_results>]
81
+ ```
82
+
83
+ **When to use detailed searches:**
84
+
85
+ | Need | Domain | Example |
86
+ |------|--------|---------|
87
+ | More style options | `style` | `--domain style "glassmorphism dark"` |
88
+ | Chart recommendations | `chart` | `--domain chart "real-time dashboard"` |
89
+ | UX best practices | `ux` | `--domain ux "animation accessibility"` |
90
+ | Alternative fonts | `typography` | `--domain typography "elegant luxury"` |
91
+ | Landing structure | `landing` | `--domain landing "hero social-proof"` |
92
+
93
+ ### Step 4: Stack Guidelines
94
+
95
+ Get implementation-specific best practices for React, Tailwind, or shadcn/ui:
96
+
97
+ ```bash
98
+ node skills/ui-ux/scripts/search.js "<keyword>" --stack shadcn
99
+ ```
100
+
101
+ Available stacks: `html-tailwind`, `react`, `shadcn`
102
+
103
+ ---
104
+
105
+ ## Search Reference
106
+
107
+ ### Available Domains
108
+
109
+ | Domain | Use For | Example Keywords |
110
+ |--------|---------|------------------|
111
+ | `product` | Product type recommendations | SaaS, e-commerce, portfolio, healthcare, beauty, service |
112
+ | `style` | UI styles, colors, effects | glassmorphism, minimalism, dark mode, brutalism |
113
+ | `typography` | Font pairings, Google Fonts | elegant, playful, professional, modern |
114
+ | `color` | Color palettes by product type | saas, ecommerce, healthcare, beauty, fintech, service |
115
+ | `landing` | Page structure, CTA strategies | hero, hero-centric, testimonial, pricing, social-proof |
116
+ | `chart` | Chart types, library recommendations | trend, comparison, timeline, funnel, pie |
117
+ | `ux` | Best practices, anti-patterns | animation, accessibility, z-index, loading |
118
+ | `react` | React performance | waterfall, bundle, suspense, memo, rerender, cache |
119
+ | `web` | Web interface guidelines | aria, focus, keyboard, semantic, virtualize |
120
+ | `prompt` | AI prompts, CSS keywords | (style name) |
121
+
122
+ ### Available Stacks
123
+
124
+ | Stack | Focus |
125
+ |-------|-------|
126
+ | `html-tailwind` | Tailwind utilities, responsive, a11y |
127
+ | `react` | State, hooks, performance, patterns |
128
+ | `shadcn` | shadcn/ui components, theming, forms, patterns |
129
+
130
+ ---
131
+
132
+ ## Example Workflow
133
+
134
+ **User request:** "Build a landing page for a professional skincare service"
135
+
136
+ ### Step 1: Analyze Requirements
137
+ - Product type: Beauty/Spa service
138
+ - Style keywords: elegant, professional, soft
139
+ - Industry: Beauty/Wellness
140
+
141
+ ### Step 2: Generate Design System (REQUIRED)
142
+
143
+ ```bash
144
+ node skills/ui-ux/scripts/search.js "beauty spa wellness service elegant" --design-system -p "Serenity Spa"
145
+ ```
146
+
147
+ **Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.
148
+
149
+ ### Step 3: Supplement with Detailed Searches (as needed)
150
+
151
+ ```bash
152
+ # Get UX guidelines for animation and accessibility
153
+ node skills/ui-ux/scripts/search.js "animation accessibility" --domain ux
154
+
155
+ # Get alternative typography options if needed
156
+ node skills/ui-ux/scripts/search.js "elegant luxury serif" --domain typography
157
+ ```
158
+
159
+ ### Step 4: Stack Guidelines
160
+
161
+ ```bash
162
+ node skills/ui-ux/scripts/search.js "layout responsive form" --stack html-tailwind
163
+ node skills/ui-ux/scripts/search.js "form dialog" --stack shadcn
164
+ ```
165
+
166
+ **Then:** Synthesize design system + detailed searches and implement the design.
167
+
168
+ ---
169
+
170
+ ## Output Formats
171
+
172
+ The `--design-system` flag supports two output formats:
173
+
174
+ ```bash
175
+ # ASCII box (default) - best for terminal display
176
+ node skills/ui-ux/scripts/search.js "fintech crypto" --design-system
177
+
178
+ # Markdown - best for documentation
179
+ node skills/ui-ux/scripts/search.js "fintech crypto" --design-system -f markdown
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Tips for Better Results
185
+
186
+ 1. **Be specific with keywords** - "healthcare SaaS dashboard" > "app"
187
+ 2. **Search multiple times** - Different keywords reveal different insights
188
+ 3. **Combine domains** - Style + Typography + Color = Complete design system
189
+ 4. **Always check UX** - Search "animation", "z-index", "accessibility" for common issues
190
+ 5. **Use stack flag** - Get implementation-specific best practices
191
+ 6. **Iterate** - If first search doesn't match, try different keywords
192
+
193
+ ---
194
+
195
+ ## Common Rules for Professional UI
196
+
197
+ These are frequently overlooked issues that make UI look unprofessional:
198
+
199
+ ### Icons & Visual Elements
200
+
201
+ | Rule | Do | Don't |
202
+ |------|----|----- |
203
+ | **No emoji icons** | Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis like 🎨 🚀 ⚙️ as UI icons |
204
+ | **Stable hover states** | Use color/opacity transitions on hover | Use scale transforms that shift layout |
205
+ | **Correct brand logos** | Research official SVG from Simple Icons | Guess or use incorrect logo paths |
206
+ | **Consistent icon sizing** | Use fixed viewBox (24x24) with w-6 h-6 | Mix different icon sizes randomly |
207
+
208
+ ### Interaction & Cursor
209
+
210
+ | Rule | Do | Don't |
211
+ |------|----|----- |
212
+ | **Cursor pointer** | Add `cursor-pointer` to all clickable/hoverable cards | Leave default cursor on interactive elements |
213
+ | **Hover feedback** | Provide visual feedback (color, shadow, border) | No indication element is interactive |
214
+ | **Smooth transitions** | Use `transition-colors duration-200` | Instant state changes or too slow (>500ms) |
215
+
216
+ ### Light/Dark Mode Contrast
217
+
218
+ | Rule | Do | Don't |
219
+ |------|----|----- |
220
+ | **Glass card light mode** | Use `bg-white/80` or higher opacity | Use `bg-white/10` (too transparent) |
221
+ | **Text contrast light** | Use `#0F172A` (slate-900) for text | Use `#94A3B8` (slate-400) for body text |
222
+ | **Muted text light** | Use `#475569` (slate-600) minimum | Use gray-400 or lighter |
223
+ | **Border visibility** | Use `border-gray-200` in light mode | Use `border-white/10` (invisible) |
224
+
225
+ ### Layout & Spacing
226
+
227
+ | Rule | Do | Don't |
228
+ |------|----|----- |
229
+ | **Floating navbar** | Add `top-4 left-4 right-4` spacing | Stick navbar to `top-0 left-0 right-0` |
230
+ | **Content padding** | Account for fixed navbar height | Let content hide behind fixed elements |
231
+ | **Consistent max-width** | Use same `max-w-6xl` or `max-w-7xl` | Mix different container widths |
232
+
233
+ ---
234
+
235
+ ## Pre-Delivery Checklist
236
+
237
+ Before delivering UI code, verify these items:
238
+
239
+ ### Visual Quality
240
+ - [ ] No emojis used as icons (use SVG instead)
241
+ - [ ] All icons from consistent icon set (Heroicons/Lucide)
242
+ - [ ] Brand logos are correct (verified from Simple Icons)
243
+ - [ ] Hover states don't cause layout shift
244
+ - [ ] Use theme colors directly (bg-primary) not var() wrapper
245
+
246
+ ### Interaction
247
+ - [ ] All clickable elements have `cursor-pointer`
248
+ - [ ] Hover states provide clear visual feedback
249
+ - [ ] Transitions are smooth (150-300ms)
250
+ - [ ] Focus states visible for keyboard navigation
251
+
252
+ ### Light/Dark Mode
253
+ - [ ] Light mode text has sufficient contrast (4.5:1 minimum)
254
+ - [ ] Glass/transparent elements visible in light mode
255
+ - [ ] Borders visible in both modes
256
+ - [ ] Test both modes before delivery
257
+
258
+ ### Layout
259
+ - [ ] Floating elements have proper spacing from edges
260
+ - [ ] No content hidden behind fixed navbars
261
+ - [ ] Responsive at 375px, 768px, 1024px, 1440px
262
+ - [ ] No horizontal scroll on mobile
263
+
264
+ ### Accessibility
265
+ - [ ] All images have alt text
266
+ - [ ] Form inputs have labels
267
+ - [ ] Color is not the only indicator
268
+ - [ ] `prefers-reduced-motion` respected
@@ -0,0 +1,26 @@
1
+ No,Data Type,Keywords,Best Chart Type,Secondary Options,Color Guidance,Performance Impact,Accessibility Notes,Library Recommendation,Interactive Level
2
+ 1,Trend Over Time,"trend, time-series, line, growth, timeline, progress",Line Chart,"Area Chart, Smooth Area",Primary: #0080FF. Multiple series: use distinct colors. Fill: 20% opacity,⚡ Excellent (optimized),✓ Clear line patterns for colorblind users. Add pattern overlays.,"Chart.js, Recharts, ApexCharts",Hover + Zoom
3
+ 2,Compare Categories,"compare, categories, bar, comparison, ranking",Bar Chart (Horizontal or Vertical),"Column Chart, Grouped Bar",Each bar: distinct color. Category: grouped same color. Sorted: descending order,⚡ Excellent,✓ Easy to compare. Add value labels on bars for clarity.,"Chart.js, Recharts, D3.js",Hover + Sort
4
+ 3,Part-to-Whole,"part-to-whole, pie, donut, percentage, proportion, share",Pie Chart or Donut,"Stacked Bar, Treemap",Colors: 5-6 max. Contrasting palette. Large slices first. Use labels.,⚡ Good (limit 6 slices),⚠ Hard for accessibility. Better: Stacked bar with legend. Avoid pie if >5 items.,"Chart.js, Recharts, D3.js",Hover + Drill
5
+ 4,Correlation/Distribution,"correlation, distribution, scatter, relationship, pattern",Scatter Plot or Bubble Chart,"Heat Map, Matrix",Color axis: gradient (blue-red). Size: relative. Opacity: 0.6-0.8 to show density,⚠ Moderate (many points),⚠ Provide data table alternative. Use pattern + color distinction.,"D3.js, Plotly, Recharts",Hover + Brush
6
+ 5,Heatmap/Intensity,"heatmap, heat-map, intensity, density, matrix",Heat Map or Choropleth,"Grid Heat Map, Bubble Heat",Gradient: Cool (blue) to Hot (red). Scale: clear legend. Divergent for ±data,⚡ Excellent (color CSS),⚠ Colorblind: Use pattern overlay. Provide numerical legend.,"D3.js, Plotly, ApexCharts",Hover + Zoom
7
+ 6,Geographic Data,"geographic, map, location, region, geo, spatial","Choropleth Map, Bubble Map",Geographic Heat Map,Regional: single color gradient or categorized colors. Legend: clear scale,⚠ Moderate (rendering),⚠ Include text labels for regions. Provide data table alternative.,"D3.js, Mapbox, Leaflet",Pan + Zoom + Drill
8
+ 7,Funnel/Flow,funnel/flow,"Funnel Chart, Sankey",Waterfall (for flows),Stages: gradient (starting color → ending color). Show conversion %,⚡ Good,✓ Clear stage labels + percentages. Good for accessibility if labeled.,"D3.js, Recharts, Custom SVG",Hover + Drill
9
+ 8,Performance vs Target,performance-vs-target,Gauge Chart or Bullet Chart,"Dial, Thermometer",Performance: Red→Yellow→Green gradient. Target: marker line. Threshold colors,⚡ Good,✓ Add numerical value + percentage label beside gauge.,"D3.js, ApexCharts, Custom SVG",Hover
10
+ 9,Time-Series Forecast,time-series-forecast,Line with Confidence Band,Ribbon Chart,Actual: solid line #0080FF. Forecast: dashed #FF9500. Band: light shading,⚡ Good,✓ Clearly distinguish actual vs forecast. Add legend.,"Chart.js, ApexCharts, Plotly",Hover + Toggle
11
+ 10,Anomaly Detection,anomaly-detection,Line Chart with Highlights,Scatter with Alert,Normal: blue #0080FF. Anomaly: red #FF0000 circle/square marker + alert,⚡ Good,✓ Circle/marker for anomalies. Add text alert annotation.,"D3.js, Plotly, ApexCharts",Hover + Alert
12
+ 11,Hierarchical/Nested Data,hierarchical/nested-data,Treemap,"Sunburst, Nested Donut, Icicle",Parent: distinct hues. Children: lighter shades. White borders 2-3px.,⚠ Moderate,⚠ Poor - provide table alternative. Label large areas.,"D3.js, Recharts, ApexCharts",Hover + Drilldown
13
+ 12,Flow/Process Data,flow/process-data,Sankey Diagram,"Alluvial, Chord Diagram",Gradient from source to target. Opacity 0.4-0.6 for flows.,⚠ Moderate,⚠ Poor - provide flow table alternative.,"D3.js (d3-sankey), Plotly",Hover + Drilldown
14
+ 13,Cumulative Changes,cumulative-changes,Waterfall Chart,"Stacked Bar, Cascade",Increases: #4CAF50. Decreases: #F44336. Start: #2196F3. End: #0D47A1.,⚡ Good,✓ Good - clear directional colors with labels.,"ApexCharts, Highcharts, Plotly",Hover
15
+ 14,Multi-Variable Comparison,multi-variable-comparison,Radar/Spider Chart,"Parallel Coordinates, Grouped Bar",Single: #0080FF 20% fill. Multiple: distinct colors per dataset.,⚡ Good,⚠ Moderate - limit 5-8 axes. Add data table.,"Chart.js, Recharts, ApexCharts",Hover + Toggle
16
+ 15,Stock/Trading OHLC,stock/trading-ohlc,Candlestick Chart,"OHLC Bar, Heikin-Ashi",Bullish: #26A69A. Bearish: #EF5350. Volume: 40% opacity below.,⚡ Good,⚠ Moderate - provide OHLC data table.,"Lightweight Charts (TradingView), ApexCharts",Real-time + Hover + Zoom
17
+ 16,Relationship/Connection Data,relationship/connection-data,Network Graph,"Hierarchical Tree, Adjacency Matrix",Node types: categorical colors. Edges: #90A4AE 60% opacity.,❌ Poor (500+ nodes struggles),❌ Very Poor - provide adjacency list alternative.,"D3.js (d3-force), Vis.js, Cytoscape.js",Drilldown + Hover + Drag
18
+ 17,Distribution/Statistical,distribution/statistical,Box Plot,"Violin Plot, Beeswarm",Box: #BBDEFB. Border: #1976D2. Median: #D32F2F. Outliers: #F44336.,⚡ Excellent,"✓ Good - include stats table (min, Q1, median, Q3, max).","Plotly, D3.js, Chart.js (plugin)",Hover
19
+ 18,Performance vs Target (Compact),performance-vs-target-(compact),Bullet Chart,"Gauge, Progress Bar","Ranges: #FFCDD2, #FFF9C4, #C8E6C9. Performance: #1976D2. Target: black 3px.",⚡ Excellent,✓ Excellent - compact with clear values.,"D3.js, Plotly, Custom SVG",Hover
20
+ 19,Proportional/Percentage,proportional/percentage,Waffle Chart,"Pictogram, Stacked Bar 100%",10x10 grid. 3-5 categories max. 2-3px spacing between squares.,⚡ Good,✓ Good - better than pie for accessibility.,"D3.js, React-Waffle, Custom CSS Grid",Hover
21
+ 20,Hierarchical Proportional,hierarchical-proportional,Sunburst Chart,"Treemap, Icicle, Circle Packing",Center to outer: darker to lighter. 15-20% lighter per level.,⚠ Moderate,⚠ Poor - provide hierarchy table alternative.,"D3.js (d3-hierarchy), Recharts, ApexCharts",Drilldown + Hover
22
+ 21,Root Cause Analysis,"root cause, decomposition, tree, hierarchy, drill-down, ai-split",Decomposition Tree,"Decision Tree, Flow Chart",Nodes: #2563EB (Primary) vs #EF4444 (Negative impact). Connectors: Neutral grey.,⚠ Moderate (calculation heavy),✓ clear hierarchy. Allow keyboard navigation for nodes.,"Power BI (native), React-Flow, Custom D3.js",Drill + Expand
23
+ 22,3D Spatial Data,"3d, spatial, immersive, terrain, molecular, volumetric",3D Scatter/Surface Plot,"Volumetric Rendering, Point Cloud",Depth cues: lighting/shading. Z-axis: color gradient (cool to warm).,❌ Heavy (WebGL required),❌ Poor - requires alternative 2D view or data table.,"Three.js, Deck.gl, Plotly 3D",Rotate + Zoom + VR
24
+ 23,Real-Time Streaming,"streaming, real-time, ticker, live, velocity, pulse",Streaming Area Chart,"Ticker Tape, Moving Gauge",Current: Bright Pulse (#00FF00). History: Fading opacity. Grid: Dark.,⚡ Optimized (canvas/webgl),⚠ Flashing elements - provide pause button. High contrast.,Smoothed D3.js, CanvasJS
25
+ 24,Sentiment/Emotion,"sentiment, emotion, nlp, opinion, feeling",Word Cloud with Sentiment,"Sentiment Arc, Radar Chart",Positive: #22C55E. Negative: #EF4444. Neutral: #94A3B8. Size = Frequency.,⚡ Good,⚠ Word clouds poor for screen readers. Use list view.,"D3-cloud, Highcharts, Nivo",Hover + Filter
26
+ 25,Process Mining,"process, mining, variants, path, bottleneck, log",Process Map / Graph,"Directed Acyclic Graph (DAG), Petri Net",Happy path: #10B981 (Thick). Deviations: #F59E0B (Thin). Bottlenecks: #EF4444.,⚠ Moderate to Heavy,⚠ Complex graphs hard to navigate. Provide path summary.,"React-Flow, Cytoscape.js, Recharts",Drag + Node-Click
@@ -0,0 +1,97 @@
1
+ No,Product Type,Primary (Hex),Secondary (Hex),CTA (Hex),Background (Hex),Text (Hex),Border (Hex),Notes
2
+ 1,SaaS (General),#2563EB,#3B82F6,#F97316,#F8FAFC,#1E293B,#E2E8F0,Trust blue + orange CTA contrast
3
+ 2,Micro SaaS,#6366F1,#818CF8,#10B981,#F5F3FF,#1E1B4B,#E0E7FF,Indigo primary + emerald CTA
4
+ 3,E-commerce,#059669,#10B981,#F97316,#ECFDF5,#064E3B,#A7F3D0,Success green + urgency orange
5
+ 4,E-commerce Luxury,#1C1917,#44403C,#CA8A04,#FAFAF9,#0C0A09,#D6D3D1,Premium dark + gold accent
6
+ 5,Service Landing Page,#0EA5E9,#38BDF8,#F97316,#F0F9FF,#0C4A6E,#BAE6FD,Sky blue trust + warm CTA
7
+ 6,B2B Service,#0F172A,#334155,#0369A1,#F8FAFC,#020617,#E2E8F0,Professional navy + blue CTA
8
+ 7,Financial Dashboard,#0F172A,#1E293B,#22C55E,#020617,#F8FAFC,#334155,Dark bg + green positive indicators
9
+ 8,Analytics Dashboard,#1E40AF,#3B82F6,#F59E0B,#F8FAFC,#1E3A8A,#DBEAFE,Blue data + amber highlights
10
+ 9,Healthcare App,#0891B2,#22D3EE,#059669,#ECFEFF,#164E63,#A5F3FC,Calm cyan + health green
11
+ 10,Educational App,#4F46E5,#818CF8,#F97316,#EEF2FF,#1E1B4B,#C7D2FE,Playful indigo + energetic orange
12
+ 11,Creative Agency,#EC4899,#F472B6,#06B6D4,#FDF2F8,#831843,#FBCFE8,Bold pink + cyan accent
13
+ 12,Portfolio/Personal,#18181B,#3F3F46,#2563EB,#FAFAFA,#09090B,#E4E4E7,Monochrome + blue accent
14
+ 13,Gaming,#7C3AED,#A78BFA,#F43F5E,#0F0F23,#E2E8F0,#4C1D95,Neon purple + rose action
15
+ 14,Government/Public Service,#0F172A,#334155,#0369A1,#F8FAFC,#020617,#E2E8F0,High contrast navy + blue
16
+ 15,Fintech/Crypto,#F59E0B,#FBBF24,#8B5CF6,#0F172A,#F8FAFC,#334155,Gold trust + purple tech
17
+ 16,Social Media App,#E11D48,#FB7185,#2563EB,#FFF1F2,#881337,#FECDD3,Vibrant rose + engagement blue
18
+ 17,Productivity Tool,#0D9488,#14B8A6,#F97316,#F0FDFA,#134E4A,#99F6E4,Teal focus + action orange
19
+ 18,Design System/Component Library,#4F46E5,#6366F1,#F97316,#EEF2FF,#312E81,#C7D2FE,Indigo brand + doc hierarchy
20
+ 19,AI/Chatbot Platform,#7C3AED,#A78BFA,#06B6D4,#FAF5FF,#1E1B4B,#DDD6FE,AI purple + cyan interactions
21
+ 20,NFT/Web3 Platform,#8B5CF6,#A78BFA,#FBBF24,#0F0F23,#F8FAFC,#4C1D95,Purple tech + gold value
22
+ 21,Creator Economy Platform,#EC4899,#F472B6,#F97316,#FDF2F8,#831843,#FBCFE8,Creator pink + engagement orange
23
+ 22,Sustainability/ESG Platform,#059669,#10B981,#0891B2,#ECFDF5,#064E3B,#A7F3D0,Nature green + ocean blue
24
+ 23,Remote Work/Collaboration Tool,#6366F1,#818CF8,#10B981,#F5F3FF,#312E81,#E0E7FF,Calm indigo + success green
25
+ 24,Mental Health App,#8B5CF6,#C4B5FD,#10B981,#FAF5FF,#4C1D95,#EDE9FE,Calming lavender + wellness green
26
+ 25,Pet Tech App,#F97316,#FB923C,#2563EB,#FFF7ED,#9A3412,#FED7AA,Playful orange + trust blue
27
+ 26,Smart Home/IoT Dashboard,#1E293B,#334155,#22C55E,#0F172A,#F8FAFC,#475569,Dark tech + status green
28
+ 27,EV/Charging Ecosystem,#0891B2,#22D3EE,#22C55E,#ECFEFF,#164E63,#A5F3FC,Electric cyan + eco green
29
+ 28,Subscription Box Service,#D946EF,#E879F9,#F97316,#FDF4FF,#86198F,#F5D0FE,Excitement purple + urgency orange
30
+ 29,Podcast Platform,#1E1B4B,#312E81,#F97316,#0F0F23,#F8FAFC,#4338CA,Dark audio + warm accent
31
+ 30,Dating App,#E11D48,#FB7185,#F97316,#FFF1F2,#881337,#FECDD3,Romantic rose + warm orange
32
+ 31,Micro-Credentials/Badges Platform,#0369A1,#0EA5E9,#CA8A04,#F0F9FF,#0C4A6E,#BAE6FD,Trust blue + achievement gold
33
+ 32,Knowledge Base/Documentation,#475569,#64748B,#2563EB,#F8FAFC,#1E293B,#E2E8F0,Neutral grey + link blue
34
+ 33,Hyperlocal Services,#059669,#10B981,#F97316,#ECFDF5,#064E3B,#A7F3D0,Location green + action orange
35
+ 34,Beauty/Spa/Wellness Service,#EC4899,#F9A8D4,#8B5CF6,#FDF2F8,#831843,#FBCFE8,Soft pink + lavender luxury
36
+ 35,Luxury/Premium Brand,#1C1917,#44403C,#CA8A04,#FAFAF9,#0C0A09,#D6D3D1,Premium black + gold accent
37
+ 36,Restaurant/Food Service,#DC2626,#F87171,#CA8A04,#FEF2F2,#450A0A,#FECACA,Appetizing red + warm gold
38
+ 37,Fitness/Gym App,#F97316,#FB923C,#22C55E,#1F2937,#F8FAFC,#374151,Energy orange + success green
39
+ 38,Real Estate/Property,#0F766E,#14B8A6,#0369A1,#F0FDFA,#134E4A,#99F6E4,Trust teal + professional blue
40
+ 39,Travel/Tourism Agency,#0EA5E9,#38BDF8,#F97316,#F0F9FF,#0C4A6E,#BAE6FD,Sky blue + adventure orange
41
+ 40,Hotel/Hospitality,#1E3A8A,#3B82F6,#CA8A04,#F8FAFC,#1E40AF,#BFDBFE,Luxury navy + gold service
42
+ 41,Wedding/Event Planning,#DB2777,#F472B6,#CA8A04,#FDF2F8,#831843,#FBCFE8,Romantic pink + elegant gold
43
+ 42,Legal Services,#1E3A8A,#1E40AF,#B45309,#F8FAFC,#0F172A,#CBD5E1,Authority navy + trust gold
44
+ 43,Insurance Platform,#0369A1,#0EA5E9,#22C55E,#F0F9FF,#0C4A6E,#BAE6FD,Security blue + protected green
45
+ 44,Banking/Traditional Finance,#0F172A,#1E3A8A,#CA8A04,#F8FAFC,#020617,#E2E8F0,Trust navy + premium gold
46
+ 45,Online Course/E-learning,#0D9488,#2DD4BF,#F97316,#F0FDFA,#134E4A,#5EEAD4,Progress teal + achievement orange
47
+ 46,Non-profit/Charity,#0891B2,#22D3EE,#F97316,#ECFEFF,#164E63,#A5F3FC,Compassion blue + action orange
48
+ 47,Music Streaming,#1E1B4B,#4338CA,#22C55E,#0F0F23,#F8FAFC,#312E81,Dark audio + play green
49
+ 48,Video Streaming/OTT,#0F0F23,#1E1B4B,#E11D48,#000000,#F8FAFC,#312E81,Cinema dark + play red
50
+ 49,Job Board/Recruitment,#0369A1,#0EA5E9,#22C55E,#F0F9FF,#0C4A6E,#BAE6FD,Professional blue + success green
51
+ 50,Marketplace (P2P),#7C3AED,#A78BFA,#22C55E,#FAF5FF,#4C1D95,#DDD6FE,Trust purple + transaction green
52
+ 51,Logistics/Delivery,#2563EB,#3B82F6,#F97316,#EFF6FF,#1E40AF,#BFDBFE,Tracking blue + delivery orange
53
+ 52,Agriculture/Farm Tech,#15803D,#22C55E,#CA8A04,#F0FDF4,#14532D,#BBF7D0,Earth green + harvest gold
54
+ 53,Construction/Architecture,#64748B,#94A3B8,#F97316,#F8FAFC,#334155,#E2E8F0,Industrial grey + safety orange
55
+ 54,Automotive/Car Dealership,#1E293B,#334155,#DC2626,#F8FAFC,#0F172A,#E2E8F0,Premium dark + action red
56
+ 55,Photography Studio,#18181B,#27272A,#F8FAFC,#000000,#FAFAFA,#3F3F46,Pure black + white contrast
57
+ 56,Coworking Space,#F59E0B,#FBBF24,#2563EB,#FFFBEB,#78350F,#FDE68A,Energetic amber + booking blue
58
+ 57,Cleaning Service,#0891B2,#22D3EE,#22C55E,#ECFEFF,#164E63,#A5F3FC,Fresh cyan + clean green
59
+ 58,Home Services (Plumber/Electrician),#1E40AF,#3B82F6,#F97316,#EFF6FF,#1E3A8A,#BFDBFE,Professional blue + urgent orange
60
+ 59,Childcare/Daycare,#F472B6,#FBCFE8,#22C55E,#FDF2F8,#9D174D,#FCE7F3,Soft pink + safe green
61
+ 60,Senior Care/Elderly,#0369A1,#38BDF8,#22C55E,#F0F9FF,#0C4A6E,#E0F2FE,Calm blue + reassuring green
62
+ 61,Medical Clinic,#0891B2,#22D3EE,#22C55E,#F0FDFA,#134E4A,#CCFBF1,Medical teal + health green
63
+ 62,Pharmacy/Drug Store,#15803D,#22C55E,#0369A1,#F0FDF4,#14532D,#BBF7D0,Pharmacy green + trust blue
64
+ 63,Dental Practice,#0EA5E9,#38BDF8,#FBBF24,#F0F9FF,#0C4A6E,#BAE6FD,Fresh blue + smile yellow
65
+ 64,Veterinary Clinic,#0D9488,#14B8A6,#F97316,#F0FDFA,#134E4A,#99F6E4,Caring teal + warm orange
66
+ 65,Florist/Plant Shop,#15803D,#22C55E,#EC4899,#F0FDF4,#14532D,#BBF7D0,Natural green + floral pink
67
+ 66,Bakery/Cafe,#92400E,#B45309,#F8FAFC,#FEF3C7,#78350F,#FDE68A,Warm brown + cream white
68
+ 67,Coffee Shop,#78350F,#92400E,#FBBF24,#FEF3C7,#451A03,#FDE68A,Coffee brown + warm gold
69
+ 68,Brewery/Winery,#7C2D12,#B91C1C,#CA8A04,#FEF2F2,#450A0A,#FECACA,Deep burgundy + craft gold
70
+ 69,Airline,#1E3A8A,#3B82F6,#F97316,#EFF6FF,#1E40AF,#BFDBFE,Sky blue + booking orange
71
+ 70,News/Media Platform,#DC2626,#EF4444,#1E40AF,#FEF2F2,#450A0A,#FECACA,Breaking red + link blue
72
+ 71,Magazine/Blog,#18181B,#3F3F46,#EC4899,#FAFAFA,#09090B,#E4E4E7,Editorial black + accent pink
73
+ 72,Freelancer Platform,#6366F1,#818CF8,#22C55E,#EEF2FF,#312E81,#C7D2FE,Creative indigo + hire green
74
+ 73,Consulting Firm,#0F172A,#334155,#CA8A04,#F8FAFC,#020617,#E2E8F0,Authority navy + premium gold
75
+ 74,Marketing Agency,#EC4899,#F472B6,#06B6D4,#FDF2F8,#831843,#FBCFE8,Bold pink + creative cyan
76
+ 75,Event Management,#7C3AED,#A78BFA,#F97316,#FAF5FF,#4C1D95,#DDD6FE,Excitement purple + action orange
77
+ 76,Conference/Webinar Platform,#1E40AF,#3B82F6,#22C55E,#EFF6FF,#1E3A8A,#BFDBFE,Professional blue + join green
78
+ 77,Membership/Community,#7C3AED,#A78BFA,#22C55E,#FAF5FF,#4C1D95,#DDD6FE,Community purple + join green
79
+ 78,Newsletter Platform,#0369A1,#0EA5E9,#F97316,#F0F9FF,#0C4A6E,#BAE6FD,Trust blue + subscribe orange
80
+ 79,Digital Products/Downloads,#6366F1,#818CF8,#22C55E,#EEF2FF,#312E81,#C7D2FE,Digital indigo + buy green
81
+ 80,Church/Religious Organization,#7C3AED,#A78BFA,#CA8A04,#FAF5FF,#4C1D95,#DDD6FE,Spiritual purple + warm gold
82
+ 81,Sports Team/Club,#DC2626,#EF4444,#FBBF24,#FEF2F2,#7F1D1D,#FECACA,Team red + championship gold
83
+ 82,Museum/Gallery,#18181B,#27272A,#F8FAFC,#FAFAFA,#09090B,#E4E4E7,Gallery black + white space
84
+ 83,Theater/Cinema,#1E1B4B,#312E81,#CA8A04,#0F0F23,#F8FAFC,#4338CA,Dramatic dark + spotlight gold
85
+ 84,Language Learning App,#4F46E5,#818CF8,#22C55E,#EEF2FF,#312E81,#C7D2FE,Learning indigo + progress green
86
+ 85,Coding Bootcamp,#0F172A,#1E293B,#22C55E,#020617,#F8FAFC,#334155,Terminal dark + success green
87
+ 86,Cybersecurity Platform,#00FF41,#0D0D0D,#FF3333,#000000,#E0E0E0,#1F1F1F,Matrix green + alert red
88
+ 87,Developer Tool / IDE,#1E293B,#334155,#22C55E,#0F172A,#F8FAFC,#475569,Code dark + run green
89
+ 88,Biotech / Life Sciences,#0EA5E9,#0284C7,#10B981,#F0F9FF,#0C4A6E,#BAE6FD,DNA blue + life green
90
+ 89,Space Tech / Aerospace,#F8FAFC,#94A3B8,#3B82F6,#0B0B10,#F8FAFC,#1E293B,Star white + launch blue
91
+ 90,Architecture / Interior,#171717,#404040,#D4AF37,#FFFFFF,#171717,#E5E5E5,Minimal black + accent gold
92
+ 91,Quantum Computing,#00FFFF,#7B61FF,#FF00FF,#050510,#E0E0FF,#333344,Quantum cyan + interference purple
93
+ 92,Biohacking / Longevity,#FF4D4D,#4D94FF,#00E676,#F5F5F7,#1C1C1E,#E5E5EA,Bio red/blue + vitality green
94
+ 93,Autonomous Systems,#00FF41,#008F11,#FF3333,#0D1117,#E6EDF3,#30363D,Terminal green + alert red
95
+ 94,Generative AI Art,#18181B,#3F3F46,#EC4899,#FAFAFA,#09090B,#E4E4E7,Canvas neutral + creative pink
96
+ 95,Spatial / Vision OS,#FFFFFF,#E5E5E5,#007AFF,#888888,#000000,#CCCCCC,Glass white + system blue
97
+ 96,Climate Tech,#059669,#10B981,#FBBF24,#ECFDF5,#064E3B,#A7F3D0,Nature green + solar gold