savant-code 0.0.21 → 0.0.23

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 +16 -8
  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,934 @@
1
+ {
2
+ "schemaVersion": "1",
3
+ "id": "cursor-design-analysis",
4
+ "displayName": "Cursor-design-analysis",
5
+ "description": "An AI-first code editor whose marketing site reads like a quietly-confident developer-tools brand with a warm-cream editorial canvas (`#f7f7f4`) instead of the typical dark IDE atmosphere. Near-black warm ink (`#26251e`) carries body and display alike — display sits at weight 400 with negative letter-spacing for a magazine feel rather than a bold tech voice. The single brand voltage is **Cursor Orange** (`#f54e00`) reserved for primary CTAs and the wordmark. A signature pastel timeline palette (peach, mint, blue, lavender, gold) marks AI-action stages (Thinking / Reading / Editing / Grepping / Done) — only inside in-product timeline visualizations. Cards use minimal hairlines, no shadows, generous 80px section rhythm. CursorGothic for display/body, JetBrains Mono on every code surface (which is roughly half the page).",
6
+ "source": "embedded",
7
+ "status": "curated-reference",
8
+ "targets": [
9
+ "terminal",
10
+ "react"
11
+ ],
12
+ "contentPath": "packages/design-systems/library/cursor.design.md",
13
+ "sourceContentHash": "a3db9b3019dc2f514fdee7cd0ca0a5232c0bd0119e23178e8eebaf6916258d9d",
14
+ "normalizedContentHash": "016e8cd4a4d926dc6d6e36ae0c32c3f39da4f647ec278adc9a52d61e1c1e0495",
15
+ "provenance": {
16
+ "sourceRepository": "VoltAgent/awesome-design-md",
17
+ "sourceRevision": "working-tree-curated-snapshot",
18
+ "sourcePath": "packages/design-systems/library/cursor.design.md",
19
+ "license": "MIT"
20
+ },
21
+ "fonts": [
22
+ {
23
+ "family": "Arial",
24
+ "fallback": [
25
+ "system-ui",
26
+ "sans-serif"
27
+ ],
28
+ "redistributable": false
29
+ },
30
+ {
31
+ "family": "CursorGothic",
32
+ "fallback": [
33
+ "system-ui",
34
+ "sans-serif"
35
+ ],
36
+ "redistributable": false
37
+ },
38
+ {
39
+ "family": "Fira Code",
40
+ "fallback": [
41
+ "system-ui",
42
+ "sans-serif"
43
+ ],
44
+ "redistributable": false
45
+ },
46
+ {
47
+ "family": "Helvetica",
48
+ "fallback": [
49
+ "system-ui",
50
+ "sans-serif"
51
+ ],
52
+ "redistributable": false
53
+ },
54
+ {
55
+ "family": "Helvetica Neue",
56
+ "fallback": [
57
+ "system-ui",
58
+ "sans-serif"
59
+ ],
60
+ "redistributable": false
61
+ },
62
+ {
63
+ "family": "JetBrains Mono",
64
+ "fallback": [
65
+ "system-ui",
66
+ "sans-serif"
67
+ ],
68
+ "redistributable": false
69
+ }
70
+ ],
71
+ "tokens": {
72
+ "colors": {
73
+ "body": "#5a5852",
74
+ "body-strong": "#26251e",
75
+ "canvas": "#f7f7f4",
76
+ "canvas-soft": "#fafaf7",
77
+ "hairline": "#e6e5e0",
78
+ "hairline-soft": "#efeee8",
79
+ "hairline-strong": "#cfcdc4",
80
+ "ink": "#26251e",
81
+ "muted": "#807d72",
82
+ "muted-soft": "#a09c92",
83
+ "on-primary": "#ffffff",
84
+ "primary": "#f54e00",
85
+ "primary-active": "#d04200",
86
+ "semantic-error": "#cf2d56",
87
+ "semantic-success": "#1f8a65",
88
+ "surface-card": "#ffffff",
89
+ "surface-strong": "#e6e5e0",
90
+ "timeline-done": "#c08532",
91
+ "timeline-edit": "#c0a8dd",
92
+ "timeline-grep": "#9fc9a2",
93
+ "timeline-read": "#9fbbe0",
94
+ "timeline-thinking": "#dfa88f"
95
+ },
96
+ "typography": {
97
+ "display-mega": {
98
+ "fontFamily": "'CursorGothic', system-ui, 'Helvetica Neue', Helvetica, Arial, sans-serif",
99
+ "fontSize": "72px",
100
+ "fontWeight": 400,
101
+ "letterSpacing": "-2.16px",
102
+ "lineHeight": 1.1
103
+ },
104
+ "display-lg": {
105
+ "fontFamily": "'CursorGothic', sans-serif",
106
+ "fontSize": "36px",
107
+ "fontWeight": 400,
108
+ "letterSpacing": "-0.72px",
109
+ "lineHeight": 1.2
110
+ },
111
+ "display-md": {
112
+ "fontFamily": "'CursorGothic', sans-serif",
113
+ "fontSize": "26px",
114
+ "fontWeight": 400,
115
+ "letterSpacing": "-0.325px",
116
+ "lineHeight": 1.25
117
+ },
118
+ "display-sm": {
119
+ "fontFamily": "'CursorGothic', sans-serif",
120
+ "fontSize": "22px",
121
+ "fontWeight": 400,
122
+ "letterSpacing": "-0.11px",
123
+ "lineHeight": 1.3
124
+ },
125
+ "title-md": {
126
+ "fontFamily": "'CursorGothic', sans-serif",
127
+ "fontSize": "18px",
128
+ "fontWeight": 600,
129
+ "letterSpacing": 0,
130
+ "lineHeight": 1.4
131
+ },
132
+ "title-sm": {
133
+ "fontFamily": "'CursorGothic', sans-serif",
134
+ "fontSize": "16px",
135
+ "fontWeight": 600,
136
+ "letterSpacing": 0,
137
+ "lineHeight": 1.4
138
+ },
139
+ "body-md": {
140
+ "fontFamily": "'CursorGothic', sans-serif",
141
+ "fontSize": "16px",
142
+ "fontWeight": 400,
143
+ "letterSpacing": 0,
144
+ "lineHeight": 1.5
145
+ },
146
+ "body-tracked": {
147
+ "fontFamily": "'CursorGothic', sans-serif",
148
+ "fontSize": "16px",
149
+ "fontWeight": 400,
150
+ "letterSpacing": "0.08px",
151
+ "lineHeight": 1.5
152
+ },
153
+ "body-sm": {
154
+ "fontFamily": "'CursorGothic', sans-serif",
155
+ "fontSize": "14px",
156
+ "fontWeight": 400,
157
+ "letterSpacing": 0,
158
+ "lineHeight": 1.5
159
+ },
160
+ "caption": {
161
+ "fontFamily": "'CursorGothic', sans-serif",
162
+ "fontSize": "13px",
163
+ "fontWeight": 400,
164
+ "letterSpacing": 0,
165
+ "lineHeight": 1.4
166
+ },
167
+ "caption-uppercase": {
168
+ "fontFamily": "'CursorGothic', sans-serif",
169
+ "fontSize": "11px",
170
+ "fontWeight": 600,
171
+ "letterSpacing": "0.88px",
172
+ "lineHeight": 1.4,
173
+ "textTransform": "uppercase"
174
+ },
175
+ "code": {
176
+ "fontFamily": "'JetBrains Mono', 'Fira Code', monospace",
177
+ "fontSize": "13px",
178
+ "fontWeight": 400,
179
+ "letterSpacing": 0,
180
+ "lineHeight": 1.5
181
+ },
182
+ "button": {
183
+ "fontFamily": "'CursorGothic', sans-serif",
184
+ "fontSize": "14px",
185
+ "fontWeight": 500,
186
+ "letterSpacing": 0,
187
+ "lineHeight": 1
188
+ },
189
+ "nav-link": {
190
+ "fontFamily": "'CursorGothic', sans-serif",
191
+ "fontSize": "14px",
192
+ "fontWeight": 500,
193
+ "letterSpacing": 0,
194
+ "lineHeight": 1.4
195
+ }
196
+ },
197
+ "spacing": {
198
+ "base": "16px",
199
+ "lg": "24px",
200
+ "md": "20px",
201
+ "section": "80px",
202
+ "sm": "12px",
203
+ "xl": "32px",
204
+ "xs": "8px",
205
+ "xxl": "48px",
206
+ "xxs": "4px"
207
+ },
208
+ "radius": {
209
+ "full": "9999px",
210
+ "lg": "12px",
211
+ "md": "8px",
212
+ "none": "0px",
213
+ "pill": "9999px",
214
+ "sm": "6px",
215
+ "xl": "16px",
216
+ "xs": "4px"
217
+ },
218
+ "components": {
219
+ "top-nav": {
220
+ "backgroundColor": "{colors.canvas}",
221
+ "height": "64px",
222
+ "textColor": "{colors.ink}",
223
+ "typography": "{typography.nav-link}"
224
+ },
225
+ "button-primary": {
226
+ "backgroundColor": "{colors.primary}",
227
+ "height": "40px",
228
+ "padding": "10px 18px",
229
+ "rounded": "{rounded.md}",
230
+ "textColor": "{colors.on-primary}",
231
+ "typography": "{typography.button}"
232
+ },
233
+ "button-primary-active": {
234
+ "backgroundColor": "{colors.primary-active}",
235
+ "rounded": "{rounded.md}",
236
+ "textColor": "{colors.on-primary}"
237
+ },
238
+ "button-secondary": {
239
+ "backgroundColor": "{colors.surface-card}",
240
+ "height": "40px",
241
+ "padding": "9px 17px",
242
+ "rounded": "{rounded.md}",
243
+ "textColor": "{colors.ink}",
244
+ "typography": "{typography.button}"
245
+ },
246
+ "button-tertiary-text": {
247
+ "backgroundColor": "transparent",
248
+ "textColor": "{colors.ink}",
249
+ "typography": "{typography.button}"
250
+ },
251
+ "button-download": {
252
+ "backgroundColor": "{colors.ink}",
253
+ "height": "44px",
254
+ "padding": "12px 20px",
255
+ "rounded": "{rounded.md}",
256
+ "textColor": "{colors.canvas}",
257
+ "typography": "{typography.button}"
258
+ },
259
+ "hero-band": {
260
+ "backgroundColor": "{colors.canvas}",
261
+ "padding": "80px",
262
+ "textColor": "{colors.ink}",
263
+ "typography": "{typography.display-mega}"
264
+ },
265
+ "ide-mockup-card": {
266
+ "backgroundColor": "{colors.surface-card}",
267
+ "padding": 0,
268
+ "rounded": "{rounded.lg}",
269
+ "textColor": "{colors.ink}"
270
+ },
271
+ "ide-pane": {
272
+ "backgroundColor": "{colors.canvas-soft}",
273
+ "padding": "16px",
274
+ "rounded": "{rounded.md}",
275
+ "textColor": "{colors.body}",
276
+ "typography": "{typography.code}"
277
+ },
278
+ "feature-card": {
279
+ "backgroundColor": "{colors.surface-card}",
280
+ "padding": "24px",
281
+ "rounded": "{rounded.lg}",
282
+ "textColor": "{colors.ink}",
283
+ "typography": "{typography.title-md}"
284
+ },
285
+ "comparison-card": {
286
+ "backgroundColor": "{colors.surface-card}",
287
+ "padding": "24px",
288
+ "rounded": "{rounded.lg}",
289
+ "textColor": "{colors.ink}",
290
+ "typography": "{typography.body-md}"
291
+ },
292
+ "timeline-pill-thinking": {
293
+ "backgroundColor": "{colors.timeline-thinking}",
294
+ "padding": "4px 10px",
295
+ "rounded": "{rounded.pill}",
296
+ "textColor": "{colors.ink}",
297
+ "typography": "{typography.caption-uppercase}"
298
+ },
299
+ "timeline-pill-grep": {
300
+ "backgroundColor": "{colors.timeline-grep}",
301
+ "padding": "4px 10px",
302
+ "rounded": "{rounded.pill}",
303
+ "textColor": "{colors.ink}",
304
+ "typography": "{typography.caption-uppercase}"
305
+ },
306
+ "timeline-pill-read": {
307
+ "backgroundColor": "{colors.timeline-read}",
308
+ "padding": "4px 10px",
309
+ "rounded": "{rounded.pill}",
310
+ "textColor": "{colors.ink}",
311
+ "typography": "{typography.caption-uppercase}"
312
+ },
313
+ "timeline-pill-edit": {
314
+ "backgroundColor": "{colors.timeline-edit}",
315
+ "padding": "4px 10px",
316
+ "rounded": "{rounded.pill}",
317
+ "textColor": "{colors.ink}",
318
+ "typography": "{typography.caption-uppercase}"
319
+ },
320
+ "timeline-pill-done": {
321
+ "backgroundColor": "{colors.timeline-done}",
322
+ "padding": "4px 10px",
323
+ "rounded": "{rounded.pill}",
324
+ "textColor": "{colors.on-primary}",
325
+ "typography": "{typography.caption-uppercase}"
326
+ },
327
+ "code-block": {
328
+ "backgroundColor": "{colors.surface-card}",
329
+ "padding": "20px",
330
+ "rounded": "{rounded.lg}",
331
+ "textColor": "{colors.ink}",
332
+ "typography": "{typography.code}"
333
+ },
334
+ "pricing-tier-card": {
335
+ "backgroundColor": "{colors.surface-card}",
336
+ "padding": "32px",
337
+ "rounded": "{rounded.lg}",
338
+ "textColor": "{colors.ink}",
339
+ "typography": "{typography.body-md}"
340
+ },
341
+ "pricing-tier-featured": {
342
+ "backgroundColor": "{colors.ink}",
343
+ "padding": "32px",
344
+ "rounded": "{rounded.lg}",
345
+ "textColor": "{colors.canvas}",
346
+ "typography": "{typography.body-md}"
347
+ },
348
+ "text-input": {
349
+ "backgroundColor": "{colors.surface-card}",
350
+ "height": "44px",
351
+ "padding": "12px 16px",
352
+ "rounded": "{rounded.md}",
353
+ "textColor": "{colors.ink}",
354
+ "typography": "{typography.body-md}"
355
+ },
356
+ "badge-pill": {
357
+ "backgroundColor": "{colors.surface-strong}",
358
+ "padding": "4px 10px",
359
+ "rounded": "{rounded.pill}",
360
+ "textColor": "{colors.ink}",
361
+ "typography": "{typography.caption-uppercase}"
362
+ },
363
+ "cta-band": {
364
+ "backgroundColor": "{colors.canvas}",
365
+ "padding": "96px",
366
+ "textColor": "{colors.ink}",
367
+ "typography": "{typography.display-lg}"
368
+ },
369
+ "testimonial-card": {
370
+ "backgroundColor": "{colors.surface-card}",
371
+ "padding": "24px",
372
+ "rounded": "{rounded.lg}",
373
+ "textColor": "{colors.body}",
374
+ "typography": "{typography.body-md}"
375
+ },
376
+ "footer": {
377
+ "backgroundColor": "{colors.canvas}",
378
+ "padding": "64px 48px",
379
+ "textColor": "{colors.body}",
380
+ "typography": "{typography.body-sm}"
381
+ },
382
+ "footer-link": {
383
+ "backgroundColor": "transparent",
384
+ "textColor": "{colors.body}",
385
+ "typography": "{typography.body-sm}"
386
+ }
387
+ },
388
+ "extensions": {
389
+ "description": "An AI-first code editor whose marketing site reads like a quietly-confident developer-tools brand with a warm-cream editorial canvas (`#f7f7f4`) instead of the typical dark IDE atmosphere. Near-black warm ink (`#26251e`) carries body and display alike — display sits at weight 400 with negative letter-spacing for a magazine feel rather than a bold tech voice. The single brand voltage is **Cursor Orange** (`#f54e00`) reserved for primary CTAs and the wordmark. A signature pastel timeline palette (peach, mint, blue, lavender, gold) marks AI-action stages (Thinking / Reading / Editing / Grepping / Done) — only inside in-product timeline visualizations. Cards use minimal hairlines, no shadows, generous 80px section rhythm. CursorGothic for display/body, JetBrains Mono on every code surface (which is roughly half the page).",
390
+ "name": "Cursor-design-analysis",
391
+ "version": "alpha"
392
+ }
393
+ }
394
+ }
395
+
396
+ ---
397
+
398
+ ---
399
+ version: alpha
400
+ name: Cursor-design-analysis
401
+ description: An AI-first code editor whose marketing site reads like a quietly-confident developer-tools brand with a warm-cream editorial canvas (`#f7f7f4`) instead of the typical dark IDE atmosphere. Near-black warm ink (`#26251e`) carries body and display alike — display sits at weight 400 with negative letter-spacing for a magazine feel rather than a bold tech voice. The single brand voltage is **Cursor Orange** (`#f54e00`) reserved for primary CTAs and the wordmark. A signature pastel timeline palette (peach, mint, blue, lavender, gold) marks AI-action stages (Thinking / Reading / Editing / Grepping / Done) — only inside in-product timeline visualizations. Cards use minimal hairlines, no shadows, generous 80px section rhythm. CursorGothic for display/body, JetBrains Mono on every code surface (which is roughly half the page).
402
+
403
+ colors:
404
+ primary: "#f54e00"
405
+ primary-active: "#d04200"
406
+ ink: "#26251e"
407
+ body: "#5a5852"
408
+ body-strong: "#26251e"
409
+ muted: "#807d72"
410
+ muted-soft: "#a09c92"
411
+ hairline: "#e6e5e0"
412
+ hairline-soft: "#efeee8"
413
+ hairline-strong: "#cfcdc4"
414
+ canvas: "#f7f7f4"
415
+ canvas-soft: "#fafaf7"
416
+ surface-card: "#ffffff"
417
+ surface-strong: "#e6e5e0"
418
+ on-primary: "#ffffff"
419
+ timeline-thinking: "#dfa88f"
420
+ timeline-grep: "#9fc9a2"
421
+ timeline-read: "#9fbbe0"
422
+ timeline-edit: "#c0a8dd"
423
+ timeline-done: "#c08532"
424
+ semantic-error: "#cf2d56"
425
+ semantic-success: "#1f8a65"
426
+
427
+ typography:
428
+ display-mega:
429
+ fontFamily: "'CursorGothic', system-ui, 'Helvetica Neue', Helvetica, Arial, sans-serif"
430
+ fontSize: 72px
431
+ fontWeight: 400
432
+ lineHeight: 1.1
433
+ letterSpacing: -2.16px
434
+ display-lg:
435
+ fontFamily: "'CursorGothic', sans-serif"
436
+ fontSize: 36px
437
+ fontWeight: 400
438
+ lineHeight: 1.2
439
+ letterSpacing: -0.72px
440
+ display-md:
441
+ fontFamily: "'CursorGothic', sans-serif"
442
+ fontSize: 26px
443
+ fontWeight: 400
444
+ lineHeight: 1.25
445
+ letterSpacing: -0.325px
446
+ display-sm:
447
+ fontFamily: "'CursorGothic', sans-serif"
448
+ fontSize: 22px
449
+ fontWeight: 400
450
+ lineHeight: 1.3
451
+ letterSpacing: -0.11px
452
+ title-md:
453
+ fontFamily: "'CursorGothic', sans-serif"
454
+ fontSize: 18px
455
+ fontWeight: 600
456
+ lineHeight: 1.4
457
+ letterSpacing: 0
458
+ title-sm:
459
+ fontFamily: "'CursorGothic', sans-serif"
460
+ fontSize: 16px
461
+ fontWeight: 600
462
+ lineHeight: 1.4
463
+ letterSpacing: 0
464
+ body-md:
465
+ fontFamily: "'CursorGothic', sans-serif"
466
+ fontSize: 16px
467
+ fontWeight: 400
468
+ lineHeight: 1.5
469
+ letterSpacing: 0
470
+ body-tracked:
471
+ fontFamily: "'CursorGothic', sans-serif"
472
+ fontSize: 16px
473
+ fontWeight: 400
474
+ lineHeight: 1.5
475
+ letterSpacing: 0.08px
476
+ body-sm:
477
+ fontFamily: "'CursorGothic', sans-serif"
478
+ fontSize: 14px
479
+ fontWeight: 400
480
+ lineHeight: 1.5
481
+ letterSpacing: 0
482
+ caption:
483
+ fontFamily: "'CursorGothic', sans-serif"
484
+ fontSize: 13px
485
+ fontWeight: 400
486
+ lineHeight: 1.4
487
+ letterSpacing: 0
488
+ caption-uppercase:
489
+ fontFamily: "'CursorGothic', sans-serif"
490
+ fontSize: 11px
491
+ fontWeight: 600
492
+ lineHeight: 1.4
493
+ letterSpacing: 0.88px
494
+ textTransform: uppercase
495
+ code:
496
+ fontFamily: "'JetBrains Mono', 'Fira Code', monospace"
497
+ fontSize: 13px
498
+ fontWeight: 400
499
+ lineHeight: 1.5
500
+ letterSpacing: 0
501
+ button:
502
+ fontFamily: "'CursorGothic', sans-serif"
503
+ fontSize: 14px
504
+ fontWeight: 500
505
+ lineHeight: 1.0
506
+ letterSpacing: 0
507
+ nav-link:
508
+ fontFamily: "'CursorGothic', sans-serif"
509
+ fontSize: 14px
510
+ fontWeight: 500
511
+ lineHeight: 1.4
512
+ letterSpacing: 0
513
+
514
+ rounded:
515
+ none: 0px
516
+ xs: 4px
517
+ sm: 6px
518
+ md: 8px
519
+ lg: 12px
520
+ xl: 16px
521
+ pill: 9999px
522
+ full: 9999px
523
+
524
+ spacing:
525
+ xxs: 4px
526
+ xs: 8px
527
+ sm: 12px
528
+ base: 16px
529
+ md: 20px
530
+ lg: 24px
531
+ xl: 32px
532
+ xxl: 48px
533
+ section: 80px
534
+
535
+ components:
536
+ top-nav:
537
+ backgroundColor: "{colors.canvas}"
538
+ textColor: "{colors.ink}"
539
+ typography: "{typography.nav-link}"
540
+ height: 64px
541
+ button-primary:
542
+ backgroundColor: "{colors.primary}"
543
+ textColor: "{colors.on-primary}"
544
+ typography: "{typography.button}"
545
+ rounded: "{rounded.md}"
546
+ padding: 10px 18px
547
+ height: 40px
548
+ button-primary-active:
549
+ backgroundColor: "{colors.primary-active}"
550
+ textColor: "{colors.on-primary}"
551
+ rounded: "{rounded.md}"
552
+ button-secondary:
553
+ backgroundColor: "{colors.surface-card}"
554
+ textColor: "{colors.ink}"
555
+ typography: "{typography.button}"
556
+ rounded: "{rounded.md}"
557
+ padding: 9px 17px
558
+ height: 40px
559
+ button-tertiary-text:
560
+ backgroundColor: transparent
561
+ textColor: "{colors.ink}"
562
+ typography: "{typography.button}"
563
+ button-download:
564
+ backgroundColor: "{colors.ink}"
565
+ textColor: "{colors.canvas}"
566
+ typography: "{typography.button}"
567
+ rounded: "{rounded.md}"
568
+ padding: 12px 20px
569
+ height: 44px
570
+ hero-band:
571
+ backgroundColor: "{colors.canvas}"
572
+ textColor: "{colors.ink}"
573
+ typography: "{typography.display-mega}"
574
+ padding: 80px
575
+ ide-mockup-card:
576
+ backgroundColor: "{colors.surface-card}"
577
+ textColor: "{colors.ink}"
578
+ rounded: "{rounded.lg}"
579
+ padding: 0
580
+ ide-pane:
581
+ backgroundColor: "{colors.canvas-soft}"
582
+ textColor: "{colors.body}"
583
+ typography: "{typography.code}"
584
+ rounded: "{rounded.md}"
585
+ padding: 16px
586
+ feature-card:
587
+ backgroundColor: "{colors.surface-card}"
588
+ textColor: "{colors.ink}"
589
+ typography: "{typography.title-md}"
590
+ rounded: "{rounded.lg}"
591
+ padding: 24px
592
+ comparison-card:
593
+ backgroundColor: "{colors.surface-card}"
594
+ textColor: "{colors.ink}"
595
+ typography: "{typography.body-md}"
596
+ rounded: "{rounded.lg}"
597
+ padding: 24px
598
+ timeline-pill-thinking:
599
+ backgroundColor: "{colors.timeline-thinking}"
600
+ textColor: "{colors.ink}"
601
+ typography: "{typography.caption-uppercase}"
602
+ rounded: "{rounded.pill}"
603
+ padding: 4px 10px
604
+ timeline-pill-grep:
605
+ backgroundColor: "{colors.timeline-grep}"
606
+ textColor: "{colors.ink}"
607
+ typography: "{typography.caption-uppercase}"
608
+ rounded: "{rounded.pill}"
609
+ padding: 4px 10px
610
+ timeline-pill-read:
611
+ backgroundColor: "{colors.timeline-read}"
612
+ textColor: "{colors.ink}"
613
+ typography: "{typography.caption-uppercase}"
614
+ rounded: "{rounded.pill}"
615
+ padding: 4px 10px
616
+ timeline-pill-edit:
617
+ backgroundColor: "{colors.timeline-edit}"
618
+ textColor: "{colors.ink}"
619
+ typography: "{typography.caption-uppercase}"
620
+ rounded: "{rounded.pill}"
621
+ padding: 4px 10px
622
+ timeline-pill-done:
623
+ backgroundColor: "{colors.timeline-done}"
624
+ textColor: "{colors.on-primary}"
625
+ typography: "{typography.caption-uppercase}"
626
+ rounded: "{rounded.pill}"
627
+ padding: 4px 10px
628
+ code-block:
629
+ backgroundColor: "{colors.surface-card}"
630
+ textColor: "{colors.ink}"
631
+ typography: "{typography.code}"
632
+ rounded: "{rounded.lg}"
633
+ padding: 20px
634
+ pricing-tier-card:
635
+ backgroundColor: "{colors.surface-card}"
636
+ textColor: "{colors.ink}"
637
+ typography: "{typography.body-md}"
638
+ rounded: "{rounded.lg}"
639
+ padding: 32px
640
+ pricing-tier-featured:
641
+ backgroundColor: "{colors.ink}"
642
+ textColor: "{colors.canvas}"
643
+ typography: "{typography.body-md}"
644
+ rounded: "{rounded.lg}"
645
+ padding: 32px
646
+ text-input:
647
+ backgroundColor: "{colors.surface-card}"
648
+ textColor: "{colors.ink}"
649
+ typography: "{typography.body-md}"
650
+ rounded: "{rounded.md}"
651
+ padding: 12px 16px
652
+ height: 44px
653
+ badge-pill:
654
+ backgroundColor: "{colors.surface-strong}"
655
+ textColor: "{colors.ink}"
656
+ typography: "{typography.caption-uppercase}"
657
+ rounded: "{rounded.pill}"
658
+ padding: 4px 10px
659
+ cta-band:
660
+ backgroundColor: "{colors.canvas}"
661
+ textColor: "{colors.ink}"
662
+ typography: "{typography.display-lg}"
663
+ padding: 96px
664
+ testimonial-card:
665
+ backgroundColor: "{colors.surface-card}"
666
+ textColor: "{colors.body}"
667
+ typography: "{typography.body-md}"
668
+ rounded: "{rounded.lg}"
669
+ padding: 24px
670
+ footer:
671
+ backgroundColor: "{colors.canvas}"
672
+ textColor: "{colors.body}"
673
+ typography: "{typography.body-sm}"
674
+ padding: 64px 48px
675
+ footer-link:
676
+ backgroundColor: transparent
677
+ textColor: "{colors.body}"
678
+ typography: "{typography.body-sm}"
679
+ ---
680
+
681
+ ## Overview
682
+
683
+ Cursor's marketing site reads as a quietly-confident developer brand that believes in editorial calm over IDE-darkness. The base canvas is **warm cream** (`{colors.canvas}` — #f7f7f4) holding warm near-black ink (`{colors.ink}` — #26251e) for body and display alike. The single brand voltage is **Cursor Orange** (`{colors.primary}` — #f54e00) reserved for primary CTAs and the wordmark — used scarcely.
684
+
685
+ Type runs **CursorGothic** as the single sans family. Display sits at weight 400 with negative letter-spacing — a magazine-editorial voice rather than tech-bombastic. JetBrains Mono carries every code surface (and code surfaces are roughly half the page).
686
+
687
+ The brand's strongest visual signature is the **AI-timeline pill palette**: five pastel pills (peach `{colors.timeline-thinking}`, mint `{colors.timeline-grep}`, blue `{colors.timeline-read}`, lavender `{colors.timeline-edit}`, gold `{colors.timeline-done}`) marking AI-action stages inside in-product timeline visualizations. Used only in product UI — never as system action colors.
688
+
689
+ **Key Characteristics:**
690
+ - Warm cream canvas, not white. Ink is warm (#26251e), not pure black.
691
+ - Single CTA color: `{colors.primary}` (Cursor Orange #f54e00). Used scarcely.
692
+ - Display weight stays at 400 — never bold. Magazine voice.
693
+ - AI timeline pastels: 5 dedicated tokens for in-product agent action stages.
694
+ - Compact 8px CTA radius — developer dialect.
695
+ - Hairline-only depth; no drop shadows.
696
+ - 80px section rhythm.
697
+
698
+ ## Colors
699
+
700
+ ### Brand & Accent
701
+ - **Cursor Orange** (`{colors.primary}` — #f54e00): Primary CTA pills, wordmark, hero accent. Used scarcely.
702
+ - **Cursor Orange Active** (`{colors.primary-active}` — #d04200): Press state.
703
+
704
+ ### Surface
705
+ - **Canvas** (`{colors.canvas}` — #f7f7f4): Warm cream page floor.
706
+ - **Canvas Soft** (`{colors.canvas-soft}` — #fafaf7): IDE-pane background inside mockups.
707
+ - **Surface Card** (`{colors.surface-card}` — #ffffff): Pure white card surface — slight contrast against the cream canvas.
708
+ - **Surface Strong** (`{colors.surface-strong}` — #e6e5e0): Badges, tag pills.
709
+
710
+ ### Hairlines
711
+ - **Hairline** (`{colors.hairline}` — #e6e5e0): 1px divider.
712
+ - **Hairline Soft** (`{colors.hairline-soft}` — #efeee8): Lighter divider.
713
+ - **Hairline Strong** (`{colors.hairline-strong}` — #cfcdc4): Stronger panel outline.
714
+
715
+ ### Text
716
+ - **Ink** (`{colors.ink}` — #26251e): Display, body emphasis. Warm near-black.
717
+ - **Body** (`{colors.body}` — #5a5852): Default running-text.
718
+ - **Body Strong** (`{colors.body-strong}` — #26251e): Same as ink.
719
+ - **Muted** (`{colors.muted}` — #807d72): Sub-titles.
720
+ - **Muted Soft** (`{colors.muted-soft}` — #a09c92): Disabled text.
721
+ - **On Primary** (`{colors.on-primary}` — #ffffff): White text on Cursor Orange.
722
+
723
+ ### Timeline (AI-action signature)
724
+ - **Thinking** (`{colors.timeline-thinking}` — #dfa88f): Peach. Used inside in-product agent timeline only.
725
+ - **Grep** (`{colors.timeline-grep}` — #9fc9a2): Mint.
726
+ - **Read** (`{colors.timeline-read}` — #9fbbe0): Pastel blue.
727
+ - **Edit** (`{colors.timeline-edit}` — #c0a8dd): Lavender.
728
+ - **Done** (`{colors.timeline-done}` — #c08532): Warm gold.
729
+
730
+ ### Semantic
731
+ - **Success** (`{colors.semantic-success}` — #1f8a65): Confirmation indicators.
732
+ - **Error** (`{colors.semantic-error}` — #cf2d56): Validation errors.
733
+
734
+ ## Typography
735
+
736
+ ### Font Family
737
+ **CursorGothic** is the licensed display + body family. Fallback: `system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif`. Code surfaces switch to **JetBrains Mono**.
738
+
739
+ ### Hierarchy
740
+
741
+ | Token | Size | Weight | Line Height | Letter Spacing | Use |
742
+ |---|---|---|---|---|---|
743
+ | `{typography.display-mega}` | 72px | 400 | 1.1 | -2.16px | Homepage hero h1 |
744
+ | `{typography.display-lg}` | 36px | 400 | 1.2 | -0.72px | Section heads |
745
+ | `{typography.display-md}` | 26px | 400 | 1.25 | -0.325px | Sub-section heads |
746
+ | `{typography.display-sm}` | 22px | 400 | 1.3 | -0.11px | Card group titles |
747
+ | `{typography.title-md}` | 18px | 600 | 1.4 | 0 | Component titles |
748
+ | `{typography.title-sm}` | 16px | 600 | 1.4 | 0 | List labels |
749
+ | `{typography.body-md}` | 16px | 400 | 1.5 | 0 | Default body |
750
+ | `{typography.body-tracked}` | 16px | 400 | 1.5 | 0.08px | Tracked editorial body |
751
+ | `{typography.body-sm}` | 14px | 400 | 1.5 | 0 | Footer body |
752
+ | `{typography.caption}` | 13px | 400 | 1.4 | 0 | Photo captions |
753
+ | `{typography.caption-uppercase}` | 11px | 600 | 1.4 | 0.88px | Section labels, timeline pill labels |
754
+ | `{typography.code}` | 13px | 400 | 1.5 | 0 | Code blocks — JetBrains Mono |
755
+ | `{typography.button}` | 14px | 500 | 1.0 | 0 | CTA pill labels |
756
+ | `{typography.nav-link}` | 14px | 500 | 1.4 | 0 | Top-nav menu |
757
+
758
+ ### Principles
759
+ - **Display weight stays at 400.** Magazine voice, never bold.
760
+ - **Negative letter-spacing on display only.** -0.11px to -2.16px tracking.
761
+ - **JetBrains Mono on every code surface.**
762
+
763
+ ### Note on Font Substitutes
764
+ CursorGothic is licensed. Open-source substitute: **Inter** at weight 400 with letter-spacing -1.5%. Or **GT Sectra** for a more editorial feel.
765
+
766
+ ## Layout
767
+
768
+ ### Spacing System
769
+ - **Base unit:** 4px.
770
+ - **Tokens:** `{spacing.xxs}` 4px · `{spacing.xs}` 8px · `{spacing.sm}` 12px · `{spacing.base}` 16px · `{spacing.md}` 20px · `{spacing.lg}` 24px · `{spacing.xl}` 32px · `{spacing.xxl}` 48px · `{spacing.section}` 80px.
771
+ - **Section padding:** 80px.
772
+
773
+ ### Grid & Container
774
+ - Max content width: ~1200px.
775
+ - Editorial body: 12-column grid.
776
+ - Feature card grids: 2-up at desktop for splits, 3-up for benefits.
777
+ - Footer: 5-column at desktop.
778
+
779
+ ### Whitespace Philosophy
780
+ Generous editorial pacing — closer to a print magazine than a tech site. The cream canvas has plenty of breathing room; cards within bands sit close (16-24px gap).
781
+
782
+ ## Elevation & Depth
783
+
784
+ The system uses **hairline-only depth**. No drop shadows, no elevation tiers. Cards float above the canvas via 1px hairlines and the slight white-on-cream contrast.
785
+
786
+ | Level | Treatment | Use |
787
+ |---|---|---|
788
+ | Flat (canvas) | `{colors.canvas}` (#f7f7f4) | Body bands, footer |
789
+ | Card | `{colors.surface-card}` (#ffffff) | Content cards |
790
+ | Hairline border | 1px `{colors.hairline}` | Card outlines, dividers |
791
+ | IDE pane | `{colors.canvas-soft}` (#fafaf7) | Inside IDE mockup cards |
792
+
793
+ ### Decorative Depth
794
+ - **IDE-mockup cards** are the only "elevated" element. White card on cream canvas with internal pane structure mimicking the actual Cursor editor.
795
+ - **Timeline pastel pills** add chromatic depth without surface elevation.
796
+
797
+ ## Shapes
798
+
799
+ ### Border Radius Scale
800
+
801
+ | Token | Value | Use |
802
+ |---|---|---|
803
+ | `{rounded.none}` | 0px | Reserved |
804
+ | `{rounded.xs}` | 4px | Inline tags |
805
+ | `{rounded.sm}` | 6px | Compact rows |
806
+ | `{rounded.md}` | 8px | CTA buttons, form inputs |
807
+ | `{rounded.lg}` | 12px | Cards, IDE panes |
808
+ | `{rounded.xl}` | 16px | Larger feature cards (rare) |
809
+ | `{rounded.pill}` | 9999px | Timeline pills, badges |
810
+ | `{rounded.full}` | 9999px | Avatars (rare) |
811
+
812
+ ## Components
813
+
814
+ ### Top Navigation
815
+
816
+ **`top-nav`** — Background `{colors.canvas}`, text `{colors.ink}`, height 64px. Layout: Cursor wordmark left, primary horizontal menu (Pricing / Features / Enterprise / Blog / Forum / Careers), Sign In + Download primary CTA right.
817
+
818
+ ### Buttons
819
+
820
+ **`button-primary`** — The signature Cursor Orange CTA. Background `{colors.primary}`, text `{colors.on-primary}`, type `{typography.button}` (14px / 500), padding 10px × 18px, height 40px, rounded `{rounded.md}` (8px).
821
+
822
+ **`button-primary-active`** — Press state. Background `{colors.primary-active}`.
823
+
824
+ **`button-secondary`** — White card pill on cream canvas. Background `{colors.surface-card}`, text `{colors.ink}`, 1px `{colors.hairline-strong}` border.
825
+
826
+ **`button-tertiary-text`** — Inline ink text link.
827
+
828
+ **`button-download`** — Larger ink-canvas CTA. Background `{colors.ink}`, text `{colors.canvas}`, padding 12px × 20px, height 44px. Used for "Download for macOS" type CTAs.
829
+
830
+ ### Hero & IDE Mockups
831
+
832
+ **`hero-band`** — Background `{colors.canvas}`, full-width display headline in `{typography.display-mega}` (72px / 400 / -2.16px), subhead in `{typography.body-md}`, two CTAs (`button-download` + `button-tertiary-text`), and a centered IDE-mockup card below the hero copy.
833
+
834
+ **`ide-mockup-card`** — A white card containing a multi-pane IDE mockup (sidebar + main editor + chat panel + terminal). Background `{colors.surface-card}`, rounded `{rounded.lg}` (12px), 1px `{colors.hairline}` border, no padding (panes fill the card edge-to-edge).
835
+
836
+ **`ide-pane`** — Individual IDE pane inside the mockup. Background `{colors.canvas-soft}`, text `{colors.body}` in `{typography.code}` (JetBrains Mono 13px), rounded `{rounded.md}` (8px), padding 16px.
837
+
838
+ ### Cards
839
+
840
+ **`feature-card`** — Background `{colors.surface-card}`, text `{colors.ink}`, type `{typography.title-md}`, rounded `{rounded.lg}`, padding 24px. 1px `{colors.hairline}` border.
841
+
842
+ **`comparison-card`** — Side-by-side "Cursor vs other tools" card. Same surface and rounding; internally split into 2 columns.
843
+
844
+ **`testimonial-card`** — Quote card. Background `{colors.surface-card}`, text `{colors.body}`, rounded `{rounded.lg}`, padding 24px.
845
+
846
+ ### AI Timeline (signature)
847
+
848
+ **`timeline-pill-thinking`** — Peach pill. Background `{colors.timeline-thinking}`, text `{colors.ink}`, type `{typography.caption-uppercase}` (11px / 600 / 0.88px tracking, uppercase), rounded `{rounded.pill}`, padding 4px × 10px. Marks "Thinking" stage in product timeline.
849
+
850
+ **`timeline-pill-grep`** — Mint pill. Same shape, background `{colors.timeline-grep}`. Marks "Grepping" stage.
851
+
852
+ **`timeline-pill-read`** — Pastel-blue pill. Background `{colors.timeline-read}`. Marks "Reading" stage.
853
+
854
+ **`timeline-pill-edit`** — Lavender pill. Background `{colors.timeline-edit}`. Marks "Editing" stage.
855
+
856
+ **`timeline-pill-done`** — Gold pill. Background `{colors.timeline-done}`, text `{colors.on-primary}` white. Marks "Done" stage.
857
+
858
+ ### Code
859
+
860
+ **`code-block`** — Inline code block. Background `{colors.surface-card}`, text `{colors.ink}` in `{typography.code}`, rounded `{rounded.lg}`, padding 20px, 1px `{colors.hairline}` border.
861
+
862
+ ### Pricing
863
+
864
+ **`pricing-tier-card`** — Background `{colors.surface-card}`, rounded `{rounded.lg}`, padding 32px, 1px `{colors.hairline}` border.
865
+
866
+ **`pricing-tier-featured`** — Featured tier inverts to ink. Background `{colors.ink}`, text `{colors.canvas}`. Same shape, dark inversion signals "highlighted" without colored ribbon.
867
+
868
+ ### Forms & Tags
869
+
870
+ **`text-input`** — Background `{colors.surface-card}`, text `{colors.ink}`, rounded `{rounded.md}` (8px), padding 12px × 16px, height 44px.
871
+
872
+ **`badge-pill`** — Small uppercase pill. Background `{colors.surface-strong}`, text `{colors.ink}`, type `{typography.caption-uppercase}`, rounded `{rounded.pill}`, padding 4px × 10px.
873
+
874
+ ### CTA / Footer
875
+
876
+ **`cta-band`** — Pre-footer "Try Cursor now" band. Background `{colors.canvas}`, centered display headline in `{typography.display-lg}`, single Cursor Orange CTA. 96px vertical padding.
877
+
878
+ **`footer`** — Closing footer. Background `{colors.canvas}`, text `{colors.body}`. 5-column link list. 64×48px padding.
879
+
880
+ **`footer-link`** — Background transparent, text `{colors.body}`, type `{typography.body-sm}`.
881
+
882
+ ## Do's and Don'ts
883
+
884
+ ### Do
885
+ - Reserve `{colors.primary}` (Cursor Orange) for primary CTAs and brand wordmark.
886
+ - Keep display weight at 400. The editorial voice depends on this.
887
+ - Use the cream `{colors.canvas}` page floor — never pure white.
888
+ - Render every code surface (inline, blocks, IDE panes) in JetBrains Mono.
889
+ - Use timeline pastels only inside in-product agent visualizations — never as system action colors.
890
+
891
+ ### Don't
892
+ - Don't introduce a secondary brand action color. Cursor Orange is the only one.
893
+ - Don't drop display to bold weights (700+). Magazine voice depends on 400.
894
+ - Don't add drop shadows. Hairlines + ink-on-cream contrast carry the depth.
895
+ - Don't use timeline pastels on non-timeline UI. They're scoped to the agent timeline only.
896
+ - Don't extract a CTA color from a third-party widget (cookie consent, OneTrust). The brand's CTA is what appears on actual product CTAs.
897
+
898
+ ## Responsive Behavior
899
+
900
+ ### Breakpoints
901
+
902
+ | Name | Width | Key Changes |
903
+ |---|---|---|
904
+ | Mobile | < 640px | Hero h1 72→32px; IDE mockup collapses to single pane preview; feature grid 1-up; nav hamburger. |
905
+ | Tablet | 640–1024px | Hero h1 56px; IDE mockup compresses; feature grid 2-up. |
906
+ | Desktop | 1024–1280px | Full hero h1 72px; full multi-pane IDE mockup; feature grid 3-up. |
907
+ | Wide | > 1280px | Content caps at 1200px. |
908
+
909
+ ### Touch Targets
910
+ - Primary CTA at 40px height — at WCAG AA, padded for AAA.
911
+ - Download CTA at 44px — at AAA.
912
+
913
+ ### Collapsing Strategy
914
+ - Top nav switches to hamburger below 768px.
915
+ - IDE mockup multi-pane collapses to a single primary pane preview on mobile.
916
+ - Feature grid: 3-up → 2-up → 1-up.
917
+
918
+ ## Iteration Guide
919
+
920
+ 1. Focus on a single component at a time.
921
+ 2. CTAs default to `{rounded.md}` (8px). Cards use `{rounded.lg}` (12px).
922
+ 3. Variants live as separate entries inside `components:`.
923
+ 4. Use `{token.refs}` everywhere — never inline hex.
924
+ 5. Hover state never documented.
925
+ 6. CursorGothic 400 for display, 400/500/600 for body. JetBrains Mono on every code surface.
926
+ 7. Cursor Orange stays scarce.
927
+ 8. Timeline pastels stay scoped to in-product agent visualizations.
928
+
929
+ ## Known Gaps
930
+
931
+ - CursorGothic is a licensed typeface; Inter is the substitute.
932
+ - Animation timings (timeline pill entrance, IDE pane reveal) out of scope.
933
+ - In-app surfaces (code editor, chat panel, agent timeline) only partially captured via marketing IDE mockups.
934
+ - Form validation states beyond focus not visible on captured surfaces.