savant-code 0.0.22 → 0.0.24

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 (79) hide show
  1. package/README.md +5 -0
  2. package/launcher.js +192 -5
  3. package/package.json +3 -2
  4. package/savant-design-systems/SKILL.md +12 -0
  5. package/savant-design-systems/manifest.json +2541 -0
  6. package/savant-design-systems/resources/airbnb-design-analysis.json +983 -0
  7. package/savant-design-systems/resources/airtable-design-analysis.json +931 -0
  8. package/savant-design-systems/resources/apple-design-analysis.json +920 -0
  9. package/savant-design-systems/resources/binance-design-analysis.json +1068 -0
  10. package/savant-design-systems/resources/bmw-design-analysis.json +912 -0
  11. package/savant-design-systems/resources/bmw-m-design-analysis.json +824 -0
  12. package/savant-design-systems/resources/bugatti-design-analysis.json +746 -0
  13. package/savant-design-systems/resources/cal-com-design-analysis.json +913 -0
  14. package/savant-design-systems/resources/claude-design-analysis.json +1007 -0
  15. package/savant-design-systems/resources/clay-design-analysis.json +919 -0
  16. package/savant-design-systems/resources/clickhouse-design-analysis.json +926 -0
  17. package/savant-design-systems/resources/cohere-design-analysis.json +725 -0
  18. package/savant-design-systems/resources/coinbase-design-analysis.json +998 -0
  19. package/savant-design-systems/resources/composio-design-analysis.json +851 -0
  20. package/savant-design-systems/resources/cursor-design-analysis.json +934 -0
  21. package/savant-design-systems/resources/dell-1996-inspired.json +1042 -0
  22. package/savant-design-systems/resources/elevenlabs.json +551 -0
  23. package/savant-design-systems/resources/expo-design-analysis.json +879 -0
  24. package/savant-design-systems/resources/ferrari-design-analysis.json +874 -0
  25. package/savant-design-systems/resources/figma-design-analysis.json +928 -0
  26. package/savant-design-systems/resources/framer-design-analysis.json +891 -0
  27. package/savant-design-systems/resources/hashicorp-design-analysis.json +909 -0
  28. package/savant-design-systems/resources/hp-design-analysis.json +1077 -0
  29. package/savant-design-systems/resources/ibm-design-analysis.json +881 -0
  30. package/savant-design-systems/resources/intercom-design-analysis.json +876 -0
  31. package/savant-design-systems/resources/kraken.json +172 -0
  32. package/savant-design-systems/resources/lamborghini.json +335 -0
  33. package/savant-design-systems/resources/linear-design-analysis.json +890 -0
  34. package/savant-design-systems/resources/lovable.json +345 -0
  35. package/savant-design-systems/resources/mastercard.json +412 -0
  36. package/savant-design-systems/resources/meta-design-analysis.json +1121 -0
  37. package/savant-design-systems/resources/minimax-design-analysis.json +1220 -0
  38. package/savant-design-systems/resources/mintlify-design-analysis.json +1418 -0
  39. package/savant-design-systems/resources/miro-design-analysis.json +1364 -0
  40. package/savant-design-systems/resources/mistral-ai-design-analysis.json +1286 -0
  41. package/savant-design-systems/resources/mongodb-design-analysis.json +1276 -0
  42. package/savant-design-systems/resources/nike-design-analysis.json +938 -0
  43. package/savant-design-systems/resources/nintendo-com-2001-analysis.json +1082 -0
  44. package/savant-design-systems/resources/notion-design-analysis.json +1368 -0
  45. package/savant-design-systems/resources/nvidia-design-analysis.json +1023 -0
  46. package/savant-design-systems/resources/ollama-design-analysis.json +863 -0
  47. package/savant-design-systems/resources/opencode-design-analysis.json +806 -0
  48. package/savant-design-systems/resources/pinterest-design-analysis.json +953 -0
  49. package/savant-design-systems/resources/playstation-design-analysis.json +1053 -0
  50. package/savant-design-systems/resources/posthog-design-analysis.json +1146 -0
  51. package/savant-design-systems/resources/raycast.json +716 -0
  52. package/savant-design-systems/resources/renault-design-analysis.json +916 -0
  53. package/savant-design-systems/resources/replicate-design-analysis.json +986 -0
  54. package/savant-design-systems/resources/resend-design-analysis.json +942 -0
  55. package/savant-design-systems/resources/revolut-design-analysis.json +1008 -0
  56. package/savant-design-systems/resources/runwayml.json +291 -0
  57. package/savant-design-systems/resources/sanity.json +404 -0
  58. package/savant-design-systems/resources/sentri-inspired-design-analysis.json +953 -0
  59. package/savant-design-systems/resources/shopifi-inspired-design-analysis.json +921 -0
  60. package/savant-design-systems/resources/slacc-inspired-design-analysis.json +799 -0
  61. package/savant-design-systems/resources/spacex-inspired-design-analysis.json +598 -0
  62. package/savant-design-systems/resources/spotify.json +293 -0
  63. package/savant-design-systems/resources/starbucks.json +627 -0
  64. package/savant-design-systems/resources/stripi-inspired-design-analysis.json +805 -0
  65. package/savant-design-systems/resources/supabase.json +509 -0
  66. package/savant-design-systems/resources/superhumon-inspired-design-analysis.json +740 -0
  67. package/savant-design-systems/resources/tesla.json +333 -0
  68. package/savant-design-systems/resources/theverge.json +386 -0
  69. package/savant-design-systems/resources/together-ai-inspired-design-analysis.json +1099 -0
  70. package/savant-design-systems/resources/uber-inspired-design-analysis.json +1067 -0
  71. package/savant-design-systems/resources/vercel-inspired-design-analysis.json +1261 -0
  72. package/savant-design-systems/resources/vodafone-inspired-design-analysis.json +912 -0
  73. package/savant-design-systems/resources/voltagent-inspired-design-analysis.json +929 -0
  74. package/savant-design-systems/resources/warp-inspired-design-analysis.json +946 -0
  75. package/savant-design-systems/resources/webflow-inspired-design-analysis.json +1033 -0
  76. package/savant-design-systems/resources/wired-inspired-design-analysis.json +877 -0
  77. package/savant-design-systems/resources/wise-inspired-design-analysis.json +916 -0
  78. package/savant-design-systems/resources/xai-inspired-design-analysis.json +820 -0
  79. package/savant-design-systems/resources/zapier-inspired-design-analysis.json +915 -0
@@ -0,0 +1,1276 @@
1
+ {
2
+ "schemaVersion": "1",
3
+ "id": "mongodb-design-analysis",
4
+ "displayName": "MongoDB-design-analysis",
5
+ "description": "MongoDB carries a strong dual-mode visual identity — dark deep-teal hero bands with bright MongoDB green ({colors.brand-green}) CTAs paired with stark white documentation surfaces. The signature green pill button is unmistakable across product, pricing, learning, and AI use-case surfaces. The system uses Euclid Circular A as its display face, anchors a 3-tier pricing comparison (Free / Flex / Dedicated), and presents extensive course catalogs in card grids with colored category tags. Coverage spans homepage, Atlas product page, Community Edition, MongoDB University, AI use cases, and pricing.",
6
+ "source": "embedded",
7
+ "status": "curated-reference",
8
+ "targets": [
9
+ "terminal",
10
+ "react"
11
+ ],
12
+ "contentPath": "packages/design-systems/library/mongodb.design.md",
13
+ "sourceContentHash": "4523f10efd5ccd46f9aeac3b98626e24bcf907bc0c1e46500cb0e3920f932e71",
14
+ "normalizedContentHash": "0930ca27e3ec07c0d2b1ade1f457ce4f7fbfbe46044fb74f23e6eb5e0bfd3ecd",
15
+ "provenance": {
16
+ "sourceRepository": "VoltAgent/awesome-design-md",
17
+ "sourceRevision": "working-tree-curated-snapshot",
18
+ "sourcePath": "packages/design-systems/library/mongodb.design.md",
19
+ "license": "MIT"
20
+ },
21
+ "fonts": [
22
+ {
23
+ "family": "Euclid Circular A",
24
+ "fallback": [
25
+ "system-ui",
26
+ "sans-serif"
27
+ ],
28
+ "redistributable": false
29
+ },
30
+ {
31
+ "family": "Source Code Pro",
32
+ "fallback": [
33
+ "system-ui",
34
+ "sans-serif"
35
+ ],
36
+ "redistributable": false
37
+ }
38
+ ],
39
+ "tokens": {
40
+ "colors": {
41
+ "accent-blue": "#3d4f9f",
42
+ "accent-orange": "#fa6e39",
43
+ "accent-pink": "#f06bb8",
44
+ "accent-purple": "#7b3ff2",
45
+ "brand-green": "#00ed64",
46
+ "brand-green-dark": "#00684a",
47
+ "brand-green-mid": "#00a35c",
48
+ "brand-green-soft": "#c3f0d2",
49
+ "brand-teal": "#003d4f",
50
+ "brand-teal-deep": "#001e2b",
51
+ "brand-teal-mid": "#00684a",
52
+ "canvas": "#ffffff",
53
+ "canvas-dark": "#001e2b",
54
+ "charcoal": "#1c2d38",
55
+ "hairline": "#e1e5e8",
56
+ "hairline-dark": "#1c2d38",
57
+ "hairline-soft": "#eceff1",
58
+ "hairline-strong": "#c1ccd6",
59
+ "ink": "#001e2b",
60
+ "muted": "#a8b3bc",
61
+ "on-dark": "#ffffff",
62
+ "on-dark-muted": "#a8b3bc",
63
+ "on-primary": "#001e2b",
64
+ "primary": "#00ed64",
65
+ "primary-deep": "#00b545",
66
+ "primary-pressed": "#008c34",
67
+ "semantic-warning-bg": "#fff8e0",
68
+ "semantic-warning-text": "#946f3f",
69
+ "slate": "#3d4f5b",
70
+ "steel": "#5c6c7a",
71
+ "stone": "#7c8c9a",
72
+ "surface": "#f9fbfa",
73
+ "surface-feature": "#e3fcef",
74
+ "surface-soft": "#f4f7f6"
75
+ },
76
+ "typography": {
77
+ "hero-display": {
78
+ "fontFamily": "Euclid Circular A",
79
+ "fontSize": "72px",
80
+ "fontWeight": 500,
81
+ "letterSpacing": "-1.5px",
82
+ "lineHeight": 1.1
83
+ },
84
+ "display-lg": {
85
+ "fontFamily": "Euclid Circular A",
86
+ "fontSize": "56px",
87
+ "fontWeight": 500,
88
+ "letterSpacing": "-1px",
89
+ "lineHeight": 1.15
90
+ },
91
+ "heading-1": {
92
+ "fontFamily": "Euclid Circular A",
93
+ "fontSize": "48px",
94
+ "fontWeight": 500,
95
+ "letterSpacing": "-0.5px",
96
+ "lineHeight": 1.2
97
+ },
98
+ "heading-2": {
99
+ "fontFamily": "Euclid Circular A",
100
+ "fontSize": "36px",
101
+ "fontWeight": 500,
102
+ "letterSpacing": "-0.5px",
103
+ "lineHeight": 1.25
104
+ },
105
+ "heading-3": {
106
+ "fontFamily": "Euclid Circular A",
107
+ "fontSize": "28px",
108
+ "fontWeight": 500,
109
+ "lineHeight": 1.3
110
+ },
111
+ "heading-4": {
112
+ "fontFamily": "Euclid Circular A",
113
+ "fontSize": "22px",
114
+ "fontWeight": 500,
115
+ "lineHeight": 1.35
116
+ },
117
+ "heading-5": {
118
+ "fontFamily": "Euclid Circular A",
119
+ "fontSize": "18px",
120
+ "fontWeight": 600,
121
+ "lineHeight": 1.4
122
+ },
123
+ "subtitle": {
124
+ "fontFamily": "Euclid Circular A",
125
+ "fontSize": "18px",
126
+ "fontWeight": 400,
127
+ "lineHeight": 1.5
128
+ },
129
+ "body-md": {
130
+ "fontFamily": "Euclid Circular A",
131
+ "fontSize": "16px",
132
+ "fontWeight": 400,
133
+ "lineHeight": 1.55
134
+ },
135
+ "body-md-medium": {
136
+ "fontFamily": "Euclid Circular A",
137
+ "fontSize": "16px",
138
+ "fontWeight": 500,
139
+ "lineHeight": 1.55
140
+ },
141
+ "body-sm": {
142
+ "fontFamily": "Euclid Circular A",
143
+ "fontSize": "14px",
144
+ "fontWeight": 400,
145
+ "lineHeight": 1.5
146
+ },
147
+ "body-sm-medium": {
148
+ "fontFamily": "Euclid Circular A",
149
+ "fontSize": "14px",
150
+ "fontWeight": 500,
151
+ "lineHeight": 1.5
152
+ },
153
+ "caption": {
154
+ "fontFamily": "Euclid Circular A",
155
+ "fontSize": "13px",
156
+ "fontWeight": 400,
157
+ "lineHeight": 1.4
158
+ },
159
+ "caption-bold": {
160
+ "fontFamily": "Euclid Circular A",
161
+ "fontSize": "13px",
162
+ "fontWeight": 600,
163
+ "lineHeight": 1.4
164
+ },
165
+ "micro": {
166
+ "fontFamily": "Euclid Circular A",
167
+ "fontSize": "12px",
168
+ "fontWeight": 500,
169
+ "lineHeight": 1.4
170
+ },
171
+ "micro-uppercase": {
172
+ "fontFamily": "Euclid Circular A",
173
+ "fontSize": "11px",
174
+ "fontWeight": 600,
175
+ "letterSpacing": "1px",
176
+ "lineHeight": 1.4
177
+ },
178
+ "button-md": {
179
+ "fontFamily": "Euclid Circular A",
180
+ "fontSize": "14px",
181
+ "fontWeight": 600,
182
+ "lineHeight": 1.3
183
+ },
184
+ "code-md": {
185
+ "fontFamily": "Source Code Pro",
186
+ "fontSize": "14px",
187
+ "fontWeight": 400,
188
+ "lineHeight": 1.55
189
+ }
190
+ },
191
+ "spacing": {
192
+ "hero": "120px",
193
+ "lg": "20px",
194
+ "md": "16px",
195
+ "section": "64px",
196
+ "section-lg": "96px",
197
+ "section-sm": "48px",
198
+ "sm": "12px",
199
+ "xl": "24px",
200
+ "xs": "8px",
201
+ "xxl": "32px",
202
+ "xxs": "4px",
203
+ "xxxl": "40px"
204
+ },
205
+ "radius": {
206
+ "full": "9999px",
207
+ "lg": "12px",
208
+ "md": "8px",
209
+ "sm": "6px",
210
+ "xl": "16px",
211
+ "xs": "4px",
212
+ "xxl": "24px"
213
+ },
214
+ "components": {
215
+ "button-primary": {
216
+ "backgroundColor": "{colors.brand-green}",
217
+ "padding": "10px 22px",
218
+ "rounded": "{rounded.full}",
219
+ "textColor": "{colors.on-primary}",
220
+ "typography": "{typography.button-md}"
221
+ },
222
+ "button-primary-pressed": {
223
+ "backgroundColor": "{colors.primary-pressed}",
224
+ "textColor": "{colors.on-primary}"
225
+ },
226
+ "button-primary-disabled": {
227
+ "backgroundColor": "{colors.hairline}",
228
+ "textColor": "{colors.muted}"
229
+ },
230
+ "button-secondary": {
231
+ "backgroundColor": "transparent",
232
+ "border": "1px solid {colors.hairline-strong}",
233
+ "padding": "10px 22px",
234
+ "rounded": "{rounded.full}",
235
+ "textColor": "{colors.ink}",
236
+ "typography": "{typography.button-md}"
237
+ },
238
+ "button-on-dark": {
239
+ "backgroundColor": "{colors.brand-green}",
240
+ "padding": "10px 22px",
241
+ "rounded": "{rounded.full}",
242
+ "textColor": "{colors.on-primary}",
243
+ "typography": "{typography.button-md}"
244
+ },
245
+ "button-secondary-on-dark": {
246
+ "backgroundColor": "transparent",
247
+ "border": "1px solid {colors.hairline-dark}",
248
+ "padding": "10px 22px",
249
+ "rounded": "{rounded.full}",
250
+ "textColor": "{colors.on-dark}",
251
+ "typography": "{typography.button-md}"
252
+ },
253
+ "button-ghost": {
254
+ "backgroundColor": "transparent",
255
+ "padding": "8px 12px",
256
+ "rounded": "{rounded.md}",
257
+ "textColor": "{colors.ink}",
258
+ "typography": "{typography.button-md}"
259
+ },
260
+ "button-link": {
261
+ "backgroundColor": "transparent",
262
+ "padding": "0",
263
+ "textColor": "{colors.brand-green-dark}",
264
+ "typography": "{typography.body-sm-medium}"
265
+ },
266
+ "card-base": {
267
+ "backgroundColor": "{colors.canvas}",
268
+ "border": "1px solid {colors.hairline}",
269
+ "padding": "{spacing.xl}",
270
+ "rounded": "{rounded.lg}"
271
+ },
272
+ "card-feature": {
273
+ "backgroundColor": "{colors.canvas}",
274
+ "border": "1px solid {colors.hairline}",
275
+ "padding": "{spacing.xxl}",
276
+ "rounded": "{rounded.lg}"
277
+ },
278
+ "card-product-deploy": {
279
+ "backgroundColor": "{colors.canvas}",
280
+ "border": "1px solid {colors.hairline}",
281
+ "padding": "{spacing.xxl}",
282
+ "rounded": "{rounded.lg}"
283
+ },
284
+ "card-feature-dark": {
285
+ "backgroundColor": "{colors.brand-teal-deep}",
286
+ "padding": "{spacing.xxl}",
287
+ "rounded": "{rounded.lg}",
288
+ "textColor": "{colors.on-dark}"
289
+ },
290
+ "card-course": {
291
+ "backgroundColor": "{colors.canvas}",
292
+ "border": "1px solid {colors.hairline}",
293
+ "padding": "{spacing.xl}",
294
+ "rounded": "{rounded.lg}"
295
+ },
296
+ "card-cert": {
297
+ "backgroundColor": "{colors.canvas}",
298
+ "border": "1px solid {colors.hairline}",
299
+ "padding": "{spacing.xl}",
300
+ "rounded": "{rounded.lg}"
301
+ },
302
+ "pricing-card": {
303
+ "backgroundColor": "{colors.canvas}",
304
+ "border": "1px solid {colors.hairline}",
305
+ "padding": "{spacing.xxl}",
306
+ "rounded": "{rounded.lg}"
307
+ },
308
+ "pricing-card-featured": {
309
+ "backgroundColor": "{colors.surface-feature}",
310
+ "border": "2px solid {colors.brand-green}",
311
+ "padding": "{spacing.xxl}",
312
+ "rounded": "{rounded.lg}"
313
+ },
314
+ "text-input": {
315
+ "backgroundColor": "{colors.canvas}",
316
+ "border": "1px solid {colors.hairline-strong}",
317
+ "height": "44px",
318
+ "padding": "{spacing.sm} {spacing.md}",
319
+ "rounded": "{rounded.md}",
320
+ "textColor": "{colors.ink}",
321
+ "typography": "{typography.body-md}"
322
+ },
323
+ "text-input-focused": {
324
+ "backgroundColor": "{colors.canvas}",
325
+ "border": "2px solid {colors.brand-green-dark}",
326
+ "textColor": "{colors.ink}"
327
+ },
328
+ "search-pill": {
329
+ "backgroundColor": "{colors.surface}",
330
+ "border": "1px solid {colors.hairline-strong}",
331
+ "height": "44px",
332
+ "padding": "{spacing.sm} {spacing.md}",
333
+ "rounded": "{rounded.md}",
334
+ "textColor": "{colors.steel}",
335
+ "typography": "{typography.body-md}"
336
+ },
337
+ "search-pill-large": {
338
+ "backgroundColor": "{colors.canvas}",
339
+ "border": "1px solid {colors.hairline-strong}",
340
+ "height": "56px",
341
+ "padding": "{spacing.md}",
342
+ "rounded": "{rounded.md}",
343
+ "textColor": "{colors.steel}",
344
+ "typography": "{typography.body-md}"
345
+ },
346
+ "pill-tab": {
347
+ "backgroundColor": "transparent",
348
+ "border": "1px solid {colors.hairline}",
349
+ "padding": "{spacing.xs} {spacing.md}",
350
+ "rounded": "{rounded.full}",
351
+ "textColor": "{colors.steel}",
352
+ "typography": "{typography.body-sm-medium}"
353
+ },
354
+ "pill-tab-active": {
355
+ "backgroundColor": "{colors.ink}",
356
+ "border": "1px solid {colors.ink}",
357
+ "rounded": "{rounded.full}",
358
+ "textColor": "{colors.on-dark}"
359
+ },
360
+ "segmented-tab": {
361
+ "backgroundColor": "transparent",
362
+ "border": "0 0 2px transparent solid",
363
+ "padding": "{spacing.sm} {spacing.md}",
364
+ "textColor": "{colors.steel}",
365
+ "typography": "{typography.body-sm-medium}"
366
+ },
367
+ "segmented-tab-active": {
368
+ "backgroundColor": "transparent",
369
+ "border": "0 0 2px {colors.brand-green-dark} solid",
370
+ "textColor": "{colors.brand-green-dark}",
371
+ "typography": "{typography.body-sm-medium}"
372
+ },
373
+ "badge-green": {
374
+ "backgroundColor": "{colors.brand-green}",
375
+ "padding": "2px 8px",
376
+ "rounded": "{rounded.sm}",
377
+ "textColor": "{colors.on-primary}",
378
+ "typography": "{typography.caption-bold}"
379
+ },
380
+ "badge-green-soft": {
381
+ "backgroundColor": "{colors.brand-green-soft}",
382
+ "padding": "4px 10px",
383
+ "rounded": "{rounded.full}",
384
+ "textColor": "{colors.brand-green-dark}",
385
+ "typography": "{typography.caption-bold}"
386
+ },
387
+ "badge-purple": {
388
+ "backgroundColor": "{colors.accent-purple}",
389
+ "padding": "2px 8px",
390
+ "rounded": "{rounded.sm}",
391
+ "textColor": "{colors.on-dark}",
392
+ "typography": "{typography.caption-bold}"
393
+ },
394
+ "badge-orange": {
395
+ "backgroundColor": "{colors.accent-orange}",
396
+ "padding": "2px 8px",
397
+ "rounded": "{rounded.sm}",
398
+ "textColor": "{colors.on-dark}",
399
+ "typography": "{typography.caption-bold}"
400
+ },
401
+ "badge-popular": {
402
+ "backgroundColor": "{colors.brand-teal-deep}",
403
+ "padding": "4px 10px",
404
+ "rounded": "{rounded.full}",
405
+ "textColor": "{colors.brand-green}",
406
+ "typography": "{typography.caption-bold}"
407
+ },
408
+ "promo-banner": {
409
+ "backgroundColor": "{colors.brand-teal-deep}",
410
+ "padding": "{spacing.sm} {spacing.md}",
411
+ "textColor": "{colors.on-dark}",
412
+ "typography": "{typography.body-sm-medium}"
413
+ },
414
+ "hero-band-dark": {
415
+ "backgroundColor": "{colors.brand-teal-deep}",
416
+ "padding": "{spacing.hero}",
417
+ "rounded": "0",
418
+ "textColor": "{colors.on-dark}"
419
+ },
420
+ "hero-platform-card": {
421
+ "backgroundColor": "{colors.brand-teal-mid}",
422
+ "padding": "{spacing.xxl}",
423
+ "rounded": "{rounded.xl}",
424
+ "textColor": "{colors.on-dark}"
425
+ },
426
+ "cta-banner-dark": {
427
+ "backgroundColor": "{colors.brand-teal-deep}",
428
+ "padding": "{spacing.section}",
429
+ "rounded": "{rounded.lg}",
430
+ "textColor": "{colors.on-dark}"
431
+ },
432
+ "code-block": {
433
+ "backgroundColor": "{colors.canvas-dark}",
434
+ "padding": "{spacing.md}",
435
+ "rounded": "{rounded.md}",
436
+ "textColor": "{colors.on-dark}",
437
+ "typography": "{typography.code-md}"
438
+ },
439
+ "code-mockup-card": {
440
+ "backgroundColor": "{colors.canvas-dark}",
441
+ "padding": "{spacing.lg}",
442
+ "rounded": "{rounded.lg}",
443
+ "textColor": "{colors.on-dark}"
444
+ },
445
+ "comparison-table": {
446
+ "backgroundColor": "{colors.canvas}",
447
+ "border": "1px solid {colors.hairline}",
448
+ "rounded": "{rounded.md}",
449
+ "textColor": "{colors.ink}",
450
+ "typography": "{typography.body-sm}"
451
+ },
452
+ "comparison-row": {
453
+ "backgroundColor": "{colors.canvas}",
454
+ "border": "0 0 1px {colors.hairline-soft} solid",
455
+ "padding": "{spacing.md} {spacing.lg}",
456
+ "textColor": "{colors.ink}"
457
+ },
458
+ "service-tile": {
459
+ "backgroundColor": "{colors.canvas}",
460
+ "border": "1px solid {colors.hairline}",
461
+ "padding": "{spacing.xl}",
462
+ "rounded": "{rounded.lg}"
463
+ },
464
+ "why-card": {
465
+ "backgroundColor": "{colors.surface}",
466
+ "padding": "{spacing.xl}",
467
+ "rounded": "{rounded.lg}"
468
+ },
469
+ "customer-testimonial-card": {
470
+ "backgroundColor": "{colors.canvas}",
471
+ "border": "1px solid {colors.hairline}",
472
+ "padding": "{spacing.xxl}",
473
+ "rounded": "{rounded.lg}"
474
+ },
475
+ "logo-wall-item": {
476
+ "backgroundColor": "transparent",
477
+ "padding": "{spacing.lg}",
478
+ "textColor": "{colors.steel}",
479
+ "typography": "{typography.body-md-medium}"
480
+ },
481
+ "faq-accordion-item": {
482
+ "backgroundColor": "{colors.canvas}",
483
+ "border": "0 0 1px {colors.hairline} solid",
484
+ "padding": "{spacing.xl}",
485
+ "rounded": "{rounded.md}"
486
+ },
487
+ "footer-region": {
488
+ "backgroundColor": "{colors.brand-teal-deep}",
489
+ "padding": "{spacing.section} {spacing.xxl}",
490
+ "textColor": "{colors.on-dark}",
491
+ "typography": "{typography.body-sm}"
492
+ },
493
+ "footer-link": {
494
+ "backgroundColor": "transparent",
495
+ "padding": "{spacing.xxs} 0",
496
+ "textColor": "{colors.on-dark-muted}",
497
+ "typography": "{typography.body-sm}"
498
+ }
499
+ },
500
+ "extensions": {
501
+ "description": "MongoDB carries a strong dual-mode visual identity — dark deep-teal hero bands with bright MongoDB green ({colors.brand-green}) CTAs paired with stark white documentation surfaces. The signature green pill button is unmistakable across product, pricing, learning, and AI use-case surfaces. The system uses Euclid Circular A as its display face, anchors a 3-tier pricing comparison (Free / Flex / Dedicated), and presents extensive course catalogs in card grids with colored category tags. Coverage spans homepage, Atlas product page, Community Edition, MongoDB University, AI use cases, and pricing.",
502
+ "name": "MongoDB-design-analysis",
503
+ "version": "alpha"
504
+ }
505
+ }
506
+ }
507
+
508
+ ---
509
+
510
+ ---
511
+ version: alpha
512
+ name: MongoDB-design-analysis
513
+ description: MongoDB carries a strong dual-mode visual identity — dark deep-teal hero bands with bright MongoDB green ({colors.brand-green}) CTAs paired with stark white documentation surfaces. The signature green pill button is unmistakable across product, pricing, learning, and AI use-case surfaces. The system uses Euclid Circular A as its display face, anchors a 3-tier pricing comparison (Free / Flex / Dedicated), and presents extensive course catalogs in card grids with colored category tags. Coverage spans homepage, Atlas product page, Community Edition, MongoDB University, AI use cases, and pricing.
514
+
515
+ colors:
516
+ primary: "#00ed64"
517
+ primary-deep: "#00b545"
518
+ primary-pressed: "#008c34"
519
+ on-primary: "#001e2b"
520
+ brand-green: "#00ed64"
521
+ brand-green-dark: "#00684a"
522
+ brand-green-mid: "#00a35c"
523
+ brand-green-soft: "#c3f0d2"
524
+ brand-teal-deep: "#001e2b"
525
+ brand-teal: "#003d4f"
526
+ brand-teal-mid: "#00684a"
527
+ accent-purple: "#7b3ff2"
528
+ accent-orange: "#fa6e39"
529
+ accent-pink: "#f06bb8"
530
+ accent-blue: "#3d4f9f"
531
+ semantic-warning-bg: "#fff8e0"
532
+ semantic-warning-text: "#946f3f"
533
+ canvas: "#ffffff"
534
+ canvas-dark: "#001e2b"
535
+ surface: "#f9fbfa"
536
+ surface-soft: "#f4f7f6"
537
+ surface-feature: "#e3fcef"
538
+ hairline: "#e1e5e8"
539
+ hairline-soft: "#eceff1"
540
+ hairline-strong: "#c1ccd6"
541
+ hairline-dark: "#1c2d38"
542
+ ink: "#001e2b"
543
+ charcoal: "#1c2d38"
544
+ slate: "#3d4f5b"
545
+ steel: "#5c6c7a"
546
+ stone: "#7c8c9a"
547
+ muted: "#a8b3bc"
548
+ on-dark: "#ffffff"
549
+ on-dark-muted: "#a8b3bc"
550
+
551
+ typography:
552
+ hero-display:
553
+ fontFamily: Euclid Circular A
554
+ fontSize: 72px
555
+ fontWeight: 500
556
+ lineHeight: 1.10
557
+ letterSpacing: -1.5px
558
+ display-lg:
559
+ fontFamily: Euclid Circular A
560
+ fontSize: 56px
561
+ fontWeight: 500
562
+ lineHeight: 1.15
563
+ letterSpacing: -1px
564
+ heading-1:
565
+ fontFamily: Euclid Circular A
566
+ fontSize: 48px
567
+ fontWeight: 500
568
+ lineHeight: 1.20
569
+ letterSpacing: -0.5px
570
+ heading-2:
571
+ fontFamily: Euclid Circular A
572
+ fontSize: 36px
573
+ fontWeight: 500
574
+ lineHeight: 1.25
575
+ letterSpacing: -0.5px
576
+ heading-3:
577
+ fontFamily: Euclid Circular A
578
+ fontSize: 28px
579
+ fontWeight: 500
580
+ lineHeight: 1.30
581
+ heading-4:
582
+ fontFamily: Euclid Circular A
583
+ fontSize: 22px
584
+ fontWeight: 500
585
+ lineHeight: 1.35
586
+ heading-5:
587
+ fontFamily: Euclid Circular A
588
+ fontSize: 18px
589
+ fontWeight: 600
590
+ lineHeight: 1.40
591
+ subtitle:
592
+ fontFamily: Euclid Circular A
593
+ fontSize: 18px
594
+ fontWeight: 400
595
+ lineHeight: 1.50
596
+ body-md:
597
+ fontFamily: Euclid Circular A
598
+ fontSize: 16px
599
+ fontWeight: 400
600
+ lineHeight: 1.55
601
+ body-md-medium:
602
+ fontFamily: Euclid Circular A
603
+ fontSize: 16px
604
+ fontWeight: 500
605
+ lineHeight: 1.55
606
+ body-sm:
607
+ fontFamily: Euclid Circular A
608
+ fontSize: 14px
609
+ fontWeight: 400
610
+ lineHeight: 1.50
611
+ body-sm-medium:
612
+ fontFamily: Euclid Circular A
613
+ fontSize: 14px
614
+ fontWeight: 500
615
+ lineHeight: 1.50
616
+ caption:
617
+ fontFamily: Euclid Circular A
618
+ fontSize: 13px
619
+ fontWeight: 400
620
+ lineHeight: 1.40
621
+ caption-bold:
622
+ fontFamily: Euclid Circular A
623
+ fontSize: 13px
624
+ fontWeight: 600
625
+ lineHeight: 1.40
626
+ micro:
627
+ fontFamily: Euclid Circular A
628
+ fontSize: 12px
629
+ fontWeight: 500
630
+ lineHeight: 1.40
631
+ micro-uppercase:
632
+ fontFamily: Euclid Circular A
633
+ fontSize: 11px
634
+ fontWeight: 600
635
+ lineHeight: 1.40
636
+ letterSpacing: 1px
637
+ button-md:
638
+ fontFamily: Euclid Circular A
639
+ fontSize: 14px
640
+ fontWeight: 600
641
+ lineHeight: 1.30
642
+ code-md:
643
+ fontFamily: Source Code Pro
644
+ fontSize: 14px
645
+ fontWeight: 400
646
+ lineHeight: 1.55
647
+
648
+ rounded:
649
+ xs: 4px
650
+ sm: 6px
651
+ md: 8px
652
+ lg: 12px
653
+ xl: 16px
654
+ xxl: 24px
655
+ full: 9999px
656
+
657
+ spacing:
658
+ xxs: 4px
659
+ xs: 8px
660
+ sm: 12px
661
+ md: 16px
662
+ lg: 20px
663
+ xl: 24px
664
+ xxl: 32px
665
+ xxxl: 40px
666
+ section-sm: 48px
667
+ section: 64px
668
+ section-lg: 96px
669
+ hero: 120px
670
+
671
+ components:
672
+ button-primary:
673
+ backgroundColor: "{colors.brand-green}"
674
+ textColor: "{colors.on-primary}"
675
+ typography: "{typography.button-md}"
676
+ rounded: "{rounded.full}"
677
+ padding: "10px 22px"
678
+ button-primary-pressed:
679
+ backgroundColor: "{colors.primary-pressed}"
680
+ textColor: "{colors.on-primary}"
681
+ button-primary-disabled:
682
+ backgroundColor: "{colors.hairline}"
683
+ textColor: "{colors.muted}"
684
+ button-secondary:
685
+ backgroundColor: "transparent"
686
+ textColor: "{colors.ink}"
687
+ typography: "{typography.button-md}"
688
+ rounded: "{rounded.full}"
689
+ padding: "10px 22px"
690
+ border: "1px solid {colors.hairline-strong}"
691
+ button-on-dark:
692
+ backgroundColor: "{colors.brand-green}"
693
+ textColor: "{colors.on-primary}"
694
+ typography: "{typography.button-md}"
695
+ rounded: "{rounded.full}"
696
+ padding: "10px 22px"
697
+ button-secondary-on-dark:
698
+ backgroundColor: "transparent"
699
+ textColor: "{colors.on-dark}"
700
+ typography: "{typography.button-md}"
701
+ rounded: "{rounded.full}"
702
+ padding: "10px 22px"
703
+ border: "1px solid {colors.hairline-dark}"
704
+ button-ghost:
705
+ backgroundColor: "transparent"
706
+ textColor: "{colors.ink}"
707
+ typography: "{typography.button-md}"
708
+ rounded: "{rounded.md}"
709
+ padding: "8px 12px"
710
+ button-link:
711
+ backgroundColor: "transparent"
712
+ textColor: "{colors.brand-green-dark}"
713
+ typography: "{typography.body-sm-medium}"
714
+ padding: "0"
715
+ card-base:
716
+ backgroundColor: "{colors.canvas}"
717
+ rounded: "{rounded.lg}"
718
+ padding: "{spacing.xl}"
719
+ border: "1px solid {colors.hairline}"
720
+ card-feature:
721
+ backgroundColor: "{colors.canvas}"
722
+ rounded: "{rounded.lg}"
723
+ padding: "{spacing.xxl}"
724
+ border: "1px solid {colors.hairline}"
725
+ card-product-deploy:
726
+ backgroundColor: "{colors.canvas}"
727
+ rounded: "{rounded.lg}"
728
+ padding: "{spacing.xxl}"
729
+ border: "1px solid {colors.hairline}"
730
+ card-feature-dark:
731
+ backgroundColor: "{colors.brand-teal-deep}"
732
+ textColor: "{colors.on-dark}"
733
+ rounded: "{rounded.lg}"
734
+ padding: "{spacing.xxl}"
735
+ card-course:
736
+ backgroundColor: "{colors.canvas}"
737
+ rounded: "{rounded.lg}"
738
+ padding: "{spacing.xl}"
739
+ border: "1px solid {colors.hairline}"
740
+ card-cert:
741
+ backgroundColor: "{colors.canvas}"
742
+ rounded: "{rounded.lg}"
743
+ padding: "{spacing.xl}"
744
+ border: "1px solid {colors.hairline}"
745
+ pricing-card:
746
+ backgroundColor: "{colors.canvas}"
747
+ rounded: "{rounded.lg}"
748
+ padding: "{spacing.xxl}"
749
+ border: "1px solid {colors.hairline}"
750
+ pricing-card-featured:
751
+ backgroundColor: "{colors.surface-feature}"
752
+ rounded: "{rounded.lg}"
753
+ padding: "{spacing.xxl}"
754
+ border: "2px solid {colors.brand-green}"
755
+ text-input:
756
+ backgroundColor: "{colors.canvas}"
757
+ textColor: "{colors.ink}"
758
+ typography: "{typography.body-md}"
759
+ rounded: "{rounded.md}"
760
+ padding: "{spacing.sm} {spacing.md}"
761
+ border: "1px solid {colors.hairline-strong}"
762
+ height: 44px
763
+ text-input-focused:
764
+ backgroundColor: "{colors.canvas}"
765
+ textColor: "{colors.ink}"
766
+ border: "2px solid {colors.brand-green-dark}"
767
+ search-pill:
768
+ backgroundColor: "{colors.surface}"
769
+ textColor: "{colors.steel}"
770
+ typography: "{typography.body-md}"
771
+ rounded: "{rounded.md}"
772
+ padding: "{spacing.sm} {spacing.md}"
773
+ height: 44px
774
+ border: "1px solid {colors.hairline-strong}"
775
+ search-pill-large:
776
+ backgroundColor: "{colors.canvas}"
777
+ textColor: "{colors.steel}"
778
+ typography: "{typography.body-md}"
779
+ rounded: "{rounded.md}"
780
+ padding: "{spacing.md}"
781
+ height: 56px
782
+ border: "1px solid {colors.hairline-strong}"
783
+ pill-tab:
784
+ backgroundColor: "transparent"
785
+ textColor: "{colors.steel}"
786
+ typography: "{typography.body-sm-medium}"
787
+ rounded: "{rounded.full}"
788
+ padding: "{spacing.xs} {spacing.md}"
789
+ border: "1px solid {colors.hairline}"
790
+ pill-tab-active:
791
+ backgroundColor: "{colors.ink}"
792
+ textColor: "{colors.on-dark}"
793
+ rounded: "{rounded.full}"
794
+ border: "1px solid {colors.ink}"
795
+ segmented-tab:
796
+ backgroundColor: "transparent"
797
+ textColor: "{colors.steel}"
798
+ typography: "{typography.body-sm-medium}"
799
+ padding: "{spacing.sm} {spacing.md}"
800
+ border: "0 0 2px transparent solid"
801
+ segmented-tab-active:
802
+ backgroundColor: "transparent"
803
+ textColor: "{colors.brand-green-dark}"
804
+ typography: "{typography.body-sm-medium}"
805
+ border: "0 0 2px {colors.brand-green-dark} solid"
806
+ badge-green:
807
+ backgroundColor: "{colors.brand-green}"
808
+ textColor: "{colors.on-primary}"
809
+ typography: "{typography.caption-bold}"
810
+ rounded: "{rounded.sm}"
811
+ padding: "2px 8px"
812
+ badge-green-soft:
813
+ backgroundColor: "{colors.brand-green-soft}"
814
+ textColor: "{colors.brand-green-dark}"
815
+ typography: "{typography.caption-bold}"
816
+ rounded: "{rounded.full}"
817
+ padding: "4px 10px"
818
+ badge-purple:
819
+ backgroundColor: "{colors.accent-purple}"
820
+ textColor: "{colors.on-dark}"
821
+ typography: "{typography.caption-bold}"
822
+ rounded: "{rounded.sm}"
823
+ padding: "2px 8px"
824
+ badge-orange:
825
+ backgroundColor: "{colors.accent-orange}"
826
+ textColor: "{colors.on-dark}"
827
+ typography: "{typography.caption-bold}"
828
+ rounded: "{rounded.sm}"
829
+ padding: "2px 8px"
830
+ badge-popular:
831
+ backgroundColor: "{colors.brand-teal-deep}"
832
+ textColor: "{colors.brand-green}"
833
+ typography: "{typography.caption-bold}"
834
+ rounded: "{rounded.full}"
835
+ padding: "4px 10px"
836
+ promo-banner:
837
+ backgroundColor: "{colors.brand-teal-deep}"
838
+ textColor: "{colors.on-dark}"
839
+ typography: "{typography.body-sm-medium}"
840
+ padding: "{spacing.sm} {spacing.md}"
841
+ hero-band-dark:
842
+ backgroundColor: "{colors.brand-teal-deep}"
843
+ textColor: "{colors.on-dark}"
844
+ rounded: "0"
845
+ padding: "{spacing.hero}"
846
+ hero-platform-card:
847
+ backgroundColor: "{colors.brand-teal-mid}"
848
+ textColor: "{colors.on-dark}"
849
+ rounded: "{rounded.xl}"
850
+ padding: "{spacing.xxl}"
851
+ cta-banner-dark:
852
+ backgroundColor: "{colors.brand-teal-deep}"
853
+ textColor: "{colors.on-dark}"
854
+ rounded: "{rounded.lg}"
855
+ padding: "{spacing.section}"
856
+ code-block:
857
+ backgroundColor: "{colors.canvas-dark}"
858
+ textColor: "{colors.on-dark}"
859
+ typography: "{typography.code-md}"
860
+ rounded: "{rounded.md}"
861
+ padding: "{spacing.md}"
862
+ code-mockup-card:
863
+ backgroundColor: "{colors.canvas-dark}"
864
+ textColor: "{colors.on-dark}"
865
+ rounded: "{rounded.lg}"
866
+ padding: "{spacing.lg}"
867
+ comparison-table:
868
+ backgroundColor: "{colors.canvas}"
869
+ textColor: "{colors.ink}"
870
+ typography: "{typography.body-sm}"
871
+ rounded: "{rounded.md}"
872
+ border: "1px solid {colors.hairline}"
873
+ comparison-row:
874
+ backgroundColor: "{colors.canvas}"
875
+ textColor: "{colors.ink}"
876
+ padding: "{spacing.md} {spacing.lg}"
877
+ border: "0 0 1px {colors.hairline-soft} solid"
878
+ service-tile:
879
+ backgroundColor: "{colors.canvas}"
880
+ rounded: "{rounded.lg}"
881
+ padding: "{spacing.xl}"
882
+ border: "1px solid {colors.hairline}"
883
+ why-card:
884
+ backgroundColor: "{colors.surface}"
885
+ rounded: "{rounded.lg}"
886
+ padding: "{spacing.xl}"
887
+ customer-testimonial-card:
888
+ backgroundColor: "{colors.canvas}"
889
+ rounded: "{rounded.lg}"
890
+ padding: "{spacing.xxl}"
891
+ border: "1px solid {colors.hairline}"
892
+ logo-wall-item:
893
+ backgroundColor: "transparent"
894
+ textColor: "{colors.steel}"
895
+ typography: "{typography.body-md-medium}"
896
+ padding: "{spacing.lg}"
897
+ faq-accordion-item:
898
+ backgroundColor: "{colors.canvas}"
899
+ rounded: "{rounded.md}"
900
+ padding: "{spacing.xl}"
901
+ border: "0 0 1px {colors.hairline} solid"
902
+ footer-region:
903
+ backgroundColor: "{colors.brand-teal-deep}"
904
+ textColor: "{colors.on-dark}"
905
+ typography: "{typography.body-sm}"
906
+ padding: "{spacing.section} {spacing.xxl}"
907
+ footer-link:
908
+ backgroundColor: "transparent"
909
+ textColor: "{colors.on-dark-muted}"
910
+ typography: "{typography.body-sm}"
911
+ padding: "{spacing.xxs} 0"
912
+ ---
913
+
914
+ ## Overview
915
+
916
+ MongoDB carries a strong dual-mode visual identity — dark deep-teal hero bands with the unmistakable bright MongoDB green ({colors.brand-green}) CTA pill paired with stark white documentation and pricing surfaces. The homepage opens with "One data platform. Unlimited AI potential." headline over a deep navy hero, the green pill sitting at the visual center as the primary CTA. Lower on the page, embedded code mockup cards (terminal-aesthetic) sit on the dark hero band, breaking out into white feature cards below. The pricing page renders a 3-tier comparison (Free / Flex / Dedicated) with a featured tier highlighted in soft mint background and bright green border. The MongoDB University page presents a course catalog grid where each tile carries a colored category tag (orange, purple, green, teal) — these are MongoDB's category-encoding accent colors and are the only place outside the brand green where saturated color appears.
917
+
918
+ The system uses Euclid Circular A as its display face. The face is contemporary geometric — confident but not overly playful — and pairs naturally with both the developer-tool aesthetic of the database product and the educational positioning of the learning surfaces. Cards use `{rounded.lg}` (12px) corners; buttons use `{rounded.full}` pills universally. The brand-teal palette ({colors.brand-teal-deep}) anchors hero bands, footer, code mockups, and the dark CTA banners.
919
+
920
+ **Key Characteristics:**
921
+ - Deep navy/teal hero bands ({colors.brand-teal-deep}) with bright MongoDB green ({colors.brand-green}) CTA pills
922
+ - Stark white pricing/documentation surfaces with colored category tags for course tiles (purple, orange, green, teal)
923
+ - Euclid Circular A across every UI surface
924
+ - Pill-shaped buttons ({rounded.full}) and 12px-rounded cards
925
+ - 3-tier pricing comparison (Free / Flex / Dedicated) with featured-mint highlight tier
926
+ - Code mockup cards with terminal-aesthetic dark canvas
927
+
928
+ ## Colors
929
+
930
+ > Source pages: mongodb.com/ (homepage), /products/platform/atlas-database (Atlas product), /products/self-managed/community-edition, learn.mongodb.com/ (MongoDB University), /solutions/use-cases/artificial-intelligence (AI), /pricing (3-tier comparison). Token coverage was identical across all six pages.
931
+
932
+ ### Brand & Accent
933
+ - **MongoDB Green** ({colors.brand-green}): The brand's most recognizable signal — bright pill-CTA color
934
+ - **Green Dark** ({colors.brand-green-dark}): Inline link color, secondary green
935
+ - **Green Mid** ({colors.brand-green-mid}): Mid-spectrum green for atmospheric tints
936
+ - **Green Soft** ({colors.brand-green-soft}): Pale-mint background tint for success badges and featured pricing tier
937
+ - **Brand Teal Deep** ({colors.brand-teal-deep}): Deep navy-teal for hero bands, footer
938
+ - **Brand Teal** ({colors.brand-teal}): Mid-spectrum teal
939
+ - **Brand Teal Mid** ({colors.brand-teal-mid}): Lighter teal for hero platform cards
940
+
941
+ ### Category Accent (Course Tags)
942
+ - **Accent Purple** ({colors.accent-purple}): Course tag for "Database & Security"
943
+ - **Accent Orange** ({colors.accent-orange}): Course tag for "Search"
944
+ - **Accent Pink** ({colors.accent-pink}): Course tag variant
945
+ - **Accent Blue** ({colors.accent-blue}): Course tag variant for atlas/cloud topics
946
+
947
+ ### Surface
948
+ - **Canvas White** ({colors.canvas}): Page background and primary card surface
949
+ - **Canvas Dark** ({colors.canvas-dark}): Code-block backgrounds, dark mockup canvas
950
+ - **Surface** ({colors.surface}): Subtle section backgrounds, search-pill rest
951
+ - **Surface Soft** ({colors.surface-soft}): Quieter section divisions
952
+ - **Surface Feature** ({colors.surface-feature}): Pale mint background for featured pricing tier
953
+ - **Hairline** ({colors.hairline}): 1px borders and primary dividers
954
+ - **Hairline Soft** ({colors.hairline-soft}): Quieter dividers
955
+ - **Hairline Strong** ({colors.hairline-strong}): Stronger 1px border for inputs
956
+ - **Hairline Dark** ({colors.hairline-dark}): Border on dark surfaces
957
+
958
+ ### Text
959
+ - **Ink** ({colors.ink}): Primary headlines and body text (deep navy-teal)
960
+ - **Charcoal** ({colors.charcoal}): Body emphasis
961
+ - **Slate** ({colors.slate}): Secondary text
962
+ - **Steel** ({colors.steel}): Tertiary text, captions
963
+ - **Stone** ({colors.stone}): Muted labels
964
+ - **Muted** ({colors.muted}): Disabled, placeholders
965
+ - **On Dark** ({colors.on-dark}): White text on dark surfaces
966
+ - **On Dark Muted** ({colors.on-dark-muted}): Reduced-opacity white
967
+
968
+ ### Semantic
969
+ - **Warning Background** ({colors.semantic-warning-bg}): Pale yellow callout bg
970
+ - **Warning Text** ({colors.semantic-warning-text}): Warning state copy color
971
+
972
+ ## Typography
973
+
974
+ ### Font Family
975
+ **Euclid Circular A** (primary): MongoDB's geometric sans-serif. Fallbacks: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif.
976
+ **Source Code Pro** (code): Monospace for code mockups. Fallbacks: 'SF Mono', Menlo, Consolas, monospace.
977
+
978
+ ### Hierarchy
979
+
980
+ | Token | Size | Weight | Line Height | Letter Spacing | Use |
981
+ |---|---|---|---|---|---|
982
+ | `{typography.hero-display}` | 72px | 500 | 1.10 | -1.5px | Hero ("One data platform") |
983
+ | `{typography.display-lg}` | 56px | 500 | 1.15 | -1px | Major section openers |
984
+ | `{typography.heading-1}` | 48px | 500 | 1.20 | -0.5px | Page-level headlines |
985
+ | `{typography.heading-2}` | 36px | 500 | 1.25 | -0.5px | Subsection headlines |
986
+ | `{typography.heading-3}` | 28px | 500 | 1.30 | 0 | Card titles |
987
+ | `{typography.heading-4}` | 22px | 500 | 1.35 | 0 | Feature tile titles |
988
+ | `{typography.heading-5}` | 18px | 600 | 1.40 | 0 | Smaller card titles, FAQ questions |
989
+ | `{typography.subtitle}` | 18px | 400 | 1.50 | 0 | Hero subtitle, lead body |
990
+ | `{typography.body-md}` | 16px | 400 | 1.55 | 0 | Primary body text |
991
+ | `{typography.body-sm}` | 14px | 400 | 1.50 | 0 | Secondary body, table cells |
992
+ | `{typography.body-sm-medium}` | 14px | 500 | 1.50 | 0 | Active sidebar, button labels |
993
+ | `{typography.caption-bold}` | 13px | 600 | 1.40 | 0 | Badge labels |
994
+ | `{typography.micro-uppercase}` | 11px | 600 | 1.40 | 1px | Section eyebrows, course category tags |
995
+ | `{typography.button-md}` | 14px | 600 | 1.30 | 0 | Pill button labels |
996
+ | `{typography.code-md}` | 14px | 400 | 1.55 | 0 | Code mockups |
997
+
998
+ ### Principles
999
+ - Tight hero leading (1.10) on 72px display
1000
+ - Negative letter-spacing on display sizes (-1.5px to -0.5px)
1001
+ - 600 weight reserved for buttons and small emphasis (FAQ headings, badges)
1002
+ - Generous body leading (1.55) for technical documentation readability
1003
+
1004
+ ## Layout
1005
+
1006
+ ### Spacing System
1007
+ - **Base unit**: 4px (8px primary increment)
1008
+ - **Tokens**: `{spacing.xxs}` (4px) through `{spacing.hero}` (120px)
1009
+ - **Section rhythm**: Marketing pages use `{spacing.section-lg}` (96px); pricing tightens to `{spacing.section}` (64px)
1010
+
1011
+ ### Grid & Container
1012
+ - 1280px max-width with 32px gutters
1013
+ - Pricing: 3-tier card row, dense feature comparison table below
1014
+ - Learn catalog: 3-up course tile grid, 4-up certification grid
1015
+ - AI use cases: 2-column hero with atmospheric illustration
1016
+
1017
+ ### Whitespace Philosophy
1018
+ Marketing surfaces give content generous breathing room — `{spacing.hero}` (120px) hero padding for deep teal bands. Pricing/learn surfaces tighten dramatically.
1019
+
1020
+ ## Elevation & Depth
1021
+
1022
+ | Level | Treatment | Use |
1023
+ |---|---|---|
1024
+ | 0 (flat) | No shadow; `{colors.hairline}` border | Default cards, table rows |
1025
+ | 1 (subtle) | `rgba(0, 30, 43, 0.04) 0px 1px 2px 0px` | Hover-elevated tiles |
1026
+ | 2 (card) | `rgba(0, 30, 43, 0.08) 0px 4px 12px 0px` | Feature cards |
1027
+ | 3 (mockup) | `rgba(0, 30, 43, 0.12) 0px 12px 24px -4px` | Code mockup over hero |
1028
+ | 4 (modal) | `rgba(0, 30, 43, 0.16) 0px 16px 48px -8px` | Modals, dropdowns |
1029
+
1030
+ ### Decorative Depth
1031
+ - Dark teal hero bands carry atmospheric gradient depth
1032
+ - Code mockup cards on hero use canvas-dark surface with terminal aesthetic
1033
+ - Pale-mint pricing-feature tier uses brand-tinted shadow
1034
+
1035
+ ## Shapes
1036
+
1037
+ ### Border Radius Scale
1038
+
1039
+ | Token | Value | Use |
1040
+ |---|---|---|
1041
+ | `{rounded.xs}` | 4px | Course category tags |
1042
+ | `{rounded.sm}` | 6px | Type badges, code chips |
1043
+ | `{rounded.md}` | 8px | Inputs, search-pill, code blocks |
1044
+ | `{rounded.lg}` | 12px | Cards, pricing tiers, course tiles |
1045
+ | `{rounded.xl}` | 16px | Larger feature panels |
1046
+ | `{rounded.xxl}` | 24px | Featured product showcases |
1047
+ | `{rounded.full}` | 9999px | All buttons, status badges |
1048
+
1049
+ ### Photography Geometry
1050
+ - Hero illustrations sit on full-bleed dark backgrounds
1051
+ - Course tile thumbnails use `{rounded.lg}` corners
1052
+ - Customer logos wall: wordmarks at consistent 60–80px height
1053
+
1054
+ ## Components
1055
+
1056
+ > Per the no-hover policy, hover states are NOT documented. Default and pressed/active states only.
1057
+
1058
+ ### Buttons
1059
+
1060
+ **`button-primary`** — Bright MongoDB green pill primary CTA, the dominant action.
1061
+ - Background `{colors.brand-green}`, text `{colors.on-primary}` (deep navy), typography `{typography.button-md}`, padding `10px 22px`, rounded `{rounded.full}`.
1062
+ - Pressed state `button-primary-pressed` deepens to `{colors.primary-pressed}`.
1063
+ - Disabled state `button-primary-disabled` uses `{colors.hairline}` background.
1064
+
1065
+ **`button-secondary`** — Outlined pill for secondary actions.
1066
+ - Background transparent, text `{colors.ink}`, border `1px solid {colors.hairline-strong}`, typography `{typography.button-md}`, padding `10px 22px`, rounded `{rounded.full}`.
1067
+
1068
+ **`button-on-dark`** — Bright green pill on dark hero bands.
1069
+ - Background `{colors.brand-green}`, text `{colors.on-primary}`, typography `{typography.button-md}`, padding `10px 22px`, rounded `{rounded.full}`.
1070
+
1071
+ **`button-secondary-on-dark`** — Outlined pill on dark backgrounds.
1072
+ - Background transparent, text `{colors.on-dark}`, border `1px solid {colors.hairline-dark}`, typography `{typography.button-md}`, padding `10px 22px`, rounded `{rounded.full}`.
1073
+
1074
+ **`button-ghost`** — Quieter rectangular ghost button.
1075
+ - Background transparent, text `{colors.ink}`, typography `{typography.button-md}`, padding `8px 12px`, rounded `{rounded.md}`.
1076
+
1077
+ **`button-link`** — Inline green text link.
1078
+ - Background transparent, text `{colors.brand-green-dark}`, typography `{typography.body-sm-medium}`, padding `0`.
1079
+
1080
+ ### Cards & Containers
1081
+
1082
+ **`card-base`** — Standard content card.
1083
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
1084
+
1085
+ **`card-feature`** — Feature card with larger padding.
1086
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
1087
+
1088
+ **`card-product-deploy`** — Product deployment card ("MongoDB Atlas / Community").
1089
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
1090
+
1091
+ **`card-feature-dark`** — Dark teal feature card on hero band.
1092
+ - Background `{colors.brand-teal-deep}`, text `{colors.on-dark}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`.
1093
+
1094
+ **`card-course`** — MongoDB University course tile.
1095
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
1096
+ - Top: colored category tag. Below: title `{typography.heading-5}`, description `{typography.body-sm}`, "Get Started →" link.
1097
+
1098
+ **`card-cert`** — Certification card.
1099
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
1100
+
1101
+ **`pricing-card`** — Standard pricing tier card.
1102
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
1103
+
1104
+ **`pricing-card-featured`** — Featured pricing tier (Flex tier, mint background + green border).
1105
+ - Background `{colors.surface-feature}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `2px solid {colors.brand-green}`.
1106
+
1107
+ ### Inputs & Forms
1108
+
1109
+ **`text-input`** — Standard text field.
1110
+ - Background `{colors.canvas}`, text `{colors.ink}`, border `1px solid {colors.hairline-strong}`, rounded `{rounded.md}`, padding `{spacing.sm} {spacing.md}`, height 44px.
1111
+
1112
+ **`text-input-focused`** — Activated state.
1113
+ - Border switches to `2px solid {colors.brand-green-dark}`.
1114
+
1115
+ **`search-pill`** — Standard 44px search bar.
1116
+ - Background `{colors.surface}`, text `{colors.steel}`, typography `{typography.body-md}`, rounded `{rounded.md}`, height 44px, border `1px solid {colors.hairline-strong}`.
1117
+
1118
+ **`search-pill-large`** — Large 56px search bar (top of MongoDB University catalog).
1119
+ - Background `{colors.canvas}`, text `{colors.steel}`, typography `{typography.body-md}`, rounded `{rounded.md}`, height 56px, border `1px solid {colors.hairline-strong}`.
1120
+
1121
+ ### Tabs
1122
+
1123
+ **`pill-tab`** + **`pill-tab-active`** — Pill-style tab nav (top of pricing: "MongoDB Atlas / Enterprise Advanced").
1124
+ - Inactive: text `{colors.steel}`, border `1px solid {colors.hairline}`, padding `{spacing.xs} {spacing.md}`, rounded `{rounded.full}`.
1125
+ - Active: background `{colors.ink}`, text `{colors.on-dark}`.
1126
+
1127
+ **`segmented-tab`** + **`segmented-tab-active`** — Underline-style tab navigation.
1128
+ - Inactive: text `{colors.steel}`, no border. Active: text `{colors.brand-green-dark}`, 2px bottom border in `{colors.brand-green-dark}`.
1129
+
1130
+ ### Badges & Status
1131
+
1132
+ **`badge-green`** — Bright green badge for new product highlights.
1133
+ - Background `{colors.brand-green}`, text `{colors.on-primary}`, typography `{typography.caption-bold}`, rounded `{rounded.sm}`, padding `2px 8px`.
1134
+
1135
+ **`badge-green-soft`** — Pale-mint pill for success/free indicators.
1136
+ - Background `{colors.brand-green-soft}`, text `{colors.brand-green-dark}`, typography `{typography.caption-bold}`, rounded `{rounded.full}`, padding `4px 10px`.
1137
+
1138
+ **`badge-purple`** — Purple course category tag.
1139
+ - Background `{colors.accent-purple}`, text `{colors.on-dark}`, typography `{typography.caption-bold}`, rounded `{rounded.sm}`, padding `2px 8px`.
1140
+
1141
+ **`badge-orange`** — Orange course category tag.
1142
+ - Background `{colors.accent-orange}`, text `{colors.on-dark}`, typography `{typography.caption-bold}`, rounded `{rounded.sm}`, padding `2px 8px`.
1143
+
1144
+ **`badge-popular`** — "Most Popular" tier indicator (dark teal pill with green text).
1145
+ - Background `{colors.brand-teal-deep}`, text `{colors.brand-green}`, typography `{typography.caption-bold}`, rounded `{rounded.full}`, padding `4px 10px`.
1146
+
1147
+ **`promo-banner`** — Dark teal sticky promo strip ABOVE the top nav.
1148
+ - Background `{colors.brand-teal-deep}`, text `{colors.on-dark}`, typography `{typography.body-sm-medium}`, padding `{spacing.sm} {spacing.md}`.
1149
+
1150
+ ### Code
1151
+
1152
+ **`code-block`** — Code container.
1153
+ - Background `{colors.canvas-dark}`, text `{colors.on-dark}`, typography `{typography.code-md}`, rounded `{rounded.md}`, padding `{spacing.md}`.
1154
+
1155
+ **`code-mockup-card`** — Embedded code mockup on hero band.
1156
+ - Background `{colors.canvas-dark}`, text `{colors.on-dark}`, rounded `{rounded.lg}`, padding `{spacing.lg}`. Carries terminal-aesthetic code snippet.
1157
+
1158
+ ### Tables
1159
+
1160
+ **`comparison-table`** — Pricing feature comparison table.
1161
+ - Background `{colors.canvas}`, text `{colors.ink}`, typography `{typography.body-sm}`, rounded `{rounded.md}`, border `1px solid {colors.hairline}`.
1162
+
1163
+ **`comparison-row`** — Individual feature row.
1164
+ - Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.md} {spacing.lg}`, bottom border `1px solid {colors.hairline-soft}`.
1165
+
1166
+ ### Documentation Components
1167
+
1168
+ **`service-tile`** — Tile in "Customize your deployment" 6-up grid.
1169
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
1170
+
1171
+ **`why-card`** — "Loved by builders" feature card.
1172
+ - Background `{colors.surface}`, rounded `{rounded.lg}`, padding `{spacing.xl}`.
1173
+
1174
+ **`customer-testimonial-card`** — Customer quote card.
1175
+ - Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
1176
+
1177
+ **`logo-wall-item`** — Customer logo wordmark cell.
1178
+ - Background transparent, text `{colors.steel}`, typography `{typography.body-md-medium}`, padding `{spacing.lg}`.
1179
+
1180
+ **`faq-accordion-item`** — FAQ panel.
1181
+ - Background `{colors.canvas}`, rounded `{rounded.md}`, padding `{spacing.xl}`, bottom border `1px solid {colors.hairline}`.
1182
+
1183
+ ### Navigation
1184
+
1185
+ **Top Navigation (Marketing)** — Sticky white bar.
1186
+ - Background `{colors.canvas}`, height ~64px, bottom border `1px solid {colors.hairline}`.
1187
+ - Left: MongoDB leaf logo + "Solutions / Resources / Company / Pricing" links.
1188
+ - Right: "Sign In" link + bright-green pill "Try Free" CTA.
1189
+
1190
+ ### Signature Components
1191
+
1192
+ **`hero-band-dark`** — Deep teal hero band with embedded code mockup.
1193
+ - Background `{colors.brand-teal-deep}`, text `{colors.on-dark}`, padding `{spacing.hero}`.
1194
+ - Layout: centered headline `{typography.hero-display}`, subtitle, button row, `code-mockup-card` below.
1195
+
1196
+ **`hero-platform-card`** — Lighter-teal platform showcase card on dark hero.
1197
+ - Background `{colors.brand-teal-mid}`, text `{colors.on-dark}`, rounded `{rounded.xl}`, padding `{spacing.xxl}`.
1198
+
1199
+ **`cta-banner-dark`** — Dark CTA banner at the bottom of feature pages.
1200
+ - Background `{colors.brand-teal-deep}`, text `{colors.on-dark}`, rounded `{rounded.lg}`, padding `{spacing.section}`.
1201
+
1202
+ **`footer-region`** — Dark teal multi-column footer.
1203
+ - Background `{colors.brand-teal-deep}`, padding `{spacing.section} {spacing.xxl}`.
1204
+ - 6-column link grid.
1205
+ - Section headings in `{typography.body-sm-medium}` `{colors.on-dark}`.
1206
+
1207
+ **`footer-link`** — Individual footer link.
1208
+ - Background transparent, text `{colors.on-dark-muted}`, typography `{typography.body-sm}`, padding `{spacing.xxs} 0`.
1209
+
1210
+ ## Do's and Don'ts
1211
+
1212
+ ### Do
1213
+ - Use `{colors.brand-green}` (bright MongoDB green) for primary CTAs everywhere
1214
+ - Pair dark-teal hero bands with bright green CTA pills
1215
+ - Apply `{rounded.full}` to every button, every status badge
1216
+ - Apply `{rounded.lg}` (12px) to cards consistently
1217
+ - Use category accent colors (purple, orange, green, teal) ONLY for course tags
1218
+ - Maintain Euclid Circular A across every UI surface
1219
+ - Use code mockup cards with terminal-aesthetic content for product showcases
1220
+
1221
+ ### Don't
1222
+ - Don't use the bright green for body text or large surfaces
1223
+ - Don't introduce additional accent colors beyond the brand green and category-encoding palette
1224
+ - Don't soften corners on buttons; the pill is a brand signature
1225
+ - Don't replace deep teal hero bands with white hero bands
1226
+ - Don't apply heavy shadows on flat documentation cards; reserve elevation for code mockups
1227
+ - Don't use Source Code Pro for prose
1228
+
1229
+ ## Responsive Behavior
1230
+
1231
+ ### Breakpoints
1232
+ | Name | Width | Key Changes |
1233
+ |---|---|---|
1234
+ | Mobile (small) | < 480px | Single column. Hero 36px. Pricing 1-up. Course catalog 1-up. |
1235
+ | Mobile (large) | 480 – 767px | Course tiles 2-up. Hero 48px. |
1236
+ | Tablet | 768 – 1023px | 2-column feature grids. Hero 56px. |
1237
+ | Desktop | 1024 – 1279px | 3-tier pricing card row. 3-up course catalog. Hero 64px. |
1238
+ | Wide Desktop | ≥ 1280px | Full 72px hero presentation. |
1239
+
1240
+ ### Touch Targets
1241
+ - Pill buttons render at 40–44px effective height
1242
+ - Form inputs render at 44px height
1243
+ - Search pill (large) renders at 56px
1244
+ - Pill tabs ~32px → 44px on mobile
1245
+
1246
+ ### Collapsing Strategy
1247
+ - **Promo banner** stays full-width; truncates at < 480px
1248
+ - **Top nav** below 1024px collapses to hamburger
1249
+ - **Hero band**: code mockup card moves below text on mobile
1250
+ - **Pricing tiers**: 3-column → 2-column tablet → 1-column mobile
1251
+ - **Course catalog**: 3-up → 2-up tablet → 1-up mobile
1252
+ - **Hero typography**: 72px → 56px → 48px → 36px
1253
+ - **Footer**: 6-column desktop → 3-column tablet → accordion mobile
1254
+
1255
+ ### Image Behavior
1256
+ - Atmospheric AI imagery uses 16:9 ratio with full-bleed scaling
1257
+ - Code mockup card content remains readable across breakpoints
1258
+ - Customer logo wall: wordmarks at consistent 60–80px height
1259
+
1260
+ ## Iteration Guide
1261
+
1262
+ 1. Focus on ONE component at a time
1263
+ 2. Reference component names and tokens directly
1264
+ 3. Run `npx @google/design.md lint DESIGN.md` after edits
1265
+ 4. Add new variants as separate `components:` entries
1266
+ 5. Default to `{typography.body-md}` for body
1267
+ 6. Keep `{colors.brand-green}` as the primary CTA across all surfaces
1268
+ 7. Pill-shaped buttons (`{rounded.full}`) always
1269
+ 8. Dark-teal hero bands frame primary CTAs
1270
+
1271
+ ## Known Gaps
1272
+
1273
+ - Specific dark-mode token values for canvas/surface beyond hero bands not surfaced
1274
+ - Animation/transition timings not extracted; recommend 150–200ms ease
1275
+ - Form validation success state not explicitly captured
1276
+ - Course-tile category color mappings are observation-based