@aexol/spectral 0.7.0 → 0.7.1

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 (459) hide show
  1. package/dist/agent/index.js +76 -301
  2. package/dist/cli.js +11 -0
  3. package/dist/designer/data/systems/agentic/DESIGN.md +71 -0
  4. package/dist/designer/data/systems/agentic/components.html +154 -0
  5. package/dist/designer/data/systems/agentic/tokens.css +63 -0
  6. package/dist/designer/data/systems/airbnb/DESIGN.md +393 -0
  7. package/dist/designer/data/systems/airbnb/components.html +1373 -0
  8. package/dist/designer/data/systems/airbnb/tokens.css +261 -0
  9. package/dist/designer/data/systems/airtable/DESIGN.md +92 -0
  10. package/dist/designer/data/systems/airtable/components.html +489 -0
  11. package/dist/designer/data/systems/airtable/tokens.css +261 -0
  12. package/dist/designer/data/systems/ant/DESIGN.md +71 -0
  13. package/dist/designer/data/systems/ant/components.html +154 -0
  14. package/dist/designer/data/systems/ant/tokens.css +63 -0
  15. package/dist/designer/data/systems/apple/DESIGN.md +250 -0
  16. package/dist/designer/data/systems/apple/components.html +749 -0
  17. package/dist/designer/data/systems/apple/tokens.css +286 -0
  18. package/dist/designer/data/systems/application/DESIGN.md +71 -0
  19. package/dist/designer/data/systems/application/components.html +154 -0
  20. package/dist/designer/data/systems/application/tokens.css +63 -0
  21. package/dist/designer/data/systems/arc/DESIGN.md +152 -0
  22. package/dist/designer/data/systems/arc/components.html +432 -0
  23. package/dist/designer/data/systems/arc/tokens.css +137 -0
  24. package/dist/designer/data/systems/artistic/DESIGN.md +71 -0
  25. package/dist/designer/data/systems/artistic/components.html +136 -0
  26. package/dist/designer/data/systems/artistic/tokens.css +63 -0
  27. package/dist/designer/data/systems/atelier-zero/DESIGN.md +316 -0
  28. package/dist/designer/data/systems/atelier-zero/components.html +136 -0
  29. package/dist/designer/data/systems/atelier-zero/tokens.css +63 -0
  30. package/dist/designer/data/systems/bento/DESIGN.md +71 -0
  31. package/dist/designer/data/systems/bento/components.html +136 -0
  32. package/dist/designer/data/systems/bento/tokens.css +63 -0
  33. package/dist/designer/data/systems/binance/DESIGN.md +348 -0
  34. package/dist/designer/data/systems/binance/components.html +550 -0
  35. package/dist/designer/data/systems/binance/tokens.css +255 -0
  36. package/dist/designer/data/systems/bmw/DESIGN.md +183 -0
  37. package/dist/designer/data/systems/bmw/components.html +551 -0
  38. package/dist/designer/data/systems/bmw/tokens.css +179 -0
  39. package/dist/designer/data/systems/bmw-m/DESIGN.md +246 -0
  40. package/dist/designer/data/systems/bmw-m/components.html +342 -0
  41. package/dist/designer/data/systems/bmw-m/tokens.css +64 -0
  42. package/dist/designer/data/systems/bold/DESIGN.md +71 -0
  43. package/dist/designer/data/systems/bold/components.html +136 -0
  44. package/dist/designer/data/systems/bold/tokens.css +63 -0
  45. package/dist/designer/data/systems/brutalism/DESIGN.md +71 -0
  46. package/dist/designer/data/systems/brutalism/components.html +154 -0
  47. package/dist/designer/data/systems/brutalism/tokens.css +63 -0
  48. package/dist/designer/data/systems/bugatti/DESIGN.md +271 -0
  49. package/dist/designer/data/systems/bugatti/components.html +342 -0
  50. package/dist/designer/data/systems/bugatti/tokens.css +64 -0
  51. package/dist/designer/data/systems/cafe/DESIGN.md +71 -0
  52. package/dist/designer/data/systems/cafe/components.html +136 -0
  53. package/dist/designer/data/systems/cafe/tokens.css +63 -0
  54. package/dist/designer/data/systems/cal/DESIGN.md +262 -0
  55. package/dist/designer/data/systems/cal/components.html +376 -0
  56. package/dist/designer/data/systems/cal/tokens.css +265 -0
  57. package/dist/designer/data/systems/canva/DESIGN.md +157 -0
  58. package/dist/designer/data/systems/canva/components.html +461 -0
  59. package/dist/designer/data/systems/canva/tokens.css +147 -0
  60. package/dist/designer/data/systems/cisco/DESIGN.md +201 -0
  61. package/dist/designer/data/systems/cisco/components.html +342 -0
  62. package/dist/designer/data/systems/cisco/tokens.css +64 -0
  63. package/dist/designer/data/systems/claude/DESIGN.md +315 -0
  64. package/dist/designer/data/systems/claude/components.html +483 -0
  65. package/dist/designer/data/systems/claude/tokens.css +130 -0
  66. package/dist/designer/data/systems/clay/DESIGN.md +307 -0
  67. package/dist/designer/data/systems/clay/components.html +136 -0
  68. package/dist/designer/data/systems/clay/tokens.css +63 -0
  69. package/dist/designer/data/systems/claymorphism/DESIGN.md +71 -0
  70. package/dist/designer/data/systems/claymorphism/components.html +136 -0
  71. package/dist/designer/data/systems/claymorphism/tokens.css +63 -0
  72. package/dist/designer/data/systems/clean/DESIGN.md +71 -0
  73. package/dist/designer/data/systems/clean/components.html +136 -0
  74. package/dist/designer/data/systems/clean/tokens.css +63 -0
  75. package/dist/designer/data/systems/clickhouse/DESIGN.md +284 -0
  76. package/dist/designer/data/systems/clickhouse/components.html +506 -0
  77. package/dist/designer/data/systems/clickhouse/tokens.css +135 -0
  78. package/dist/designer/data/systems/cohere/DESIGN.md +269 -0
  79. package/dist/designer/data/systems/cohere/components.html +353 -0
  80. package/dist/designer/data/systems/cohere/tokens.css +126 -0
  81. package/dist/designer/data/systems/coinbase/DESIGN.md +132 -0
  82. package/dist/designer/data/systems/coinbase/components.html +501 -0
  83. package/dist/designer/data/systems/coinbase/tokens.css +257 -0
  84. package/dist/designer/data/systems/colorful/DESIGN.md +71 -0
  85. package/dist/designer/data/systems/colorful/components.html +136 -0
  86. package/dist/designer/data/systems/colorful/tokens.css +63 -0
  87. package/dist/designer/data/systems/composio/DESIGN.md +310 -0
  88. package/dist/designer/data/systems/composio/components.html +342 -0
  89. package/dist/designer/data/systems/composio/tokens.css +64 -0
  90. package/dist/designer/data/systems/contemporary/DESIGN.md +71 -0
  91. package/dist/designer/data/systems/contemporary/components.html +136 -0
  92. package/dist/designer/data/systems/contemporary/tokens.css +63 -0
  93. package/dist/designer/data/systems/corporate/DESIGN.md +71 -0
  94. package/dist/designer/data/systems/corporate/components.html +136 -0
  95. package/dist/designer/data/systems/corporate/tokens.css +63 -0
  96. package/dist/designer/data/systems/cosmic/DESIGN.md +71 -0
  97. package/dist/designer/data/systems/cosmic/components.html +136 -0
  98. package/dist/designer/data/systems/cosmic/tokens.css +63 -0
  99. package/dist/designer/data/systems/creative/DESIGN.md +71 -0
  100. package/dist/designer/data/systems/creative/components.html +136 -0
  101. package/dist/designer/data/systems/creative/tokens.css +63 -0
  102. package/dist/designer/data/systems/cursor/DESIGN.md +312 -0
  103. package/dist/designer/data/systems/cursor/components.html +654 -0
  104. package/dist/designer/data/systems/cursor/tokens.css +218 -0
  105. package/dist/designer/data/systems/dashboard/DESIGN.md +71 -0
  106. package/dist/designer/data/systems/dashboard/components.html +154 -0
  107. package/dist/designer/data/systems/dashboard/tokens.css +63 -0
  108. package/dist/designer/data/systems/default/DESIGN.md +62 -0
  109. package/dist/designer/data/systems/default/components.html +523 -0
  110. package/dist/designer/data/systems/default/tokens.css +200 -0
  111. package/dist/designer/data/systems/discord/DESIGN.md +162 -0
  112. package/dist/designer/data/systems/discord/components.html +359 -0
  113. package/dist/designer/data/systems/discord/tokens.css +125 -0
  114. package/dist/designer/data/systems/dithered/DESIGN.md +71 -0
  115. package/dist/designer/data/systems/dithered/components.html +136 -0
  116. package/dist/designer/data/systems/dithered/tokens.css +63 -0
  117. package/dist/designer/data/systems/doodle/DESIGN.md +71 -0
  118. package/dist/designer/data/systems/doodle/components.html +136 -0
  119. package/dist/designer/data/systems/doodle/tokens.css +63 -0
  120. package/dist/designer/data/systems/dramatic/DESIGN.md +71 -0
  121. package/dist/designer/data/systems/dramatic/components.html +136 -0
  122. package/dist/designer/data/systems/dramatic/tokens.css +63 -0
  123. package/dist/designer/data/systems/duolingo/DESIGN.md +154 -0
  124. package/dist/designer/data/systems/duolingo/components.html +532 -0
  125. package/dist/designer/data/systems/duolingo/tokens.css +130 -0
  126. package/dist/designer/data/systems/editorial/DESIGN.md +71 -0
  127. package/dist/designer/data/systems/editorial/components.html +154 -0
  128. package/dist/designer/data/systems/editorial/tokens.css +63 -0
  129. package/dist/designer/data/systems/elegant/DESIGN.md +71 -0
  130. package/dist/designer/data/systems/elegant/components.html +136 -0
  131. package/dist/designer/data/systems/elegant/tokens.css +63 -0
  132. package/dist/designer/data/systems/elevenlabs/DESIGN.md +268 -0
  133. package/dist/designer/data/systems/elevenlabs/components.html +342 -0
  134. package/dist/designer/data/systems/elevenlabs/tokens.css +127 -0
  135. package/dist/designer/data/systems/energetic/DESIGN.md +72 -0
  136. package/dist/designer/data/systems/energetic/components.html +136 -0
  137. package/dist/designer/data/systems/energetic/tokens.css +63 -0
  138. package/dist/designer/data/systems/enterprise/DESIGN.md +71 -0
  139. package/dist/designer/data/systems/enterprise/components.html +154 -0
  140. package/dist/designer/data/systems/enterprise/tokens.css +63 -0
  141. package/dist/designer/data/systems/expo/DESIGN.md +284 -0
  142. package/dist/designer/data/systems/expo/components.html +342 -0
  143. package/dist/designer/data/systems/expo/tokens.css +64 -0
  144. package/dist/designer/data/systems/expressive/DESIGN.md +71 -0
  145. package/dist/designer/data/systems/expressive/components.html +136 -0
  146. package/dist/designer/data/systems/expressive/tokens.css +63 -0
  147. package/dist/designer/data/systems/fantasy/DESIGN.md +71 -0
  148. package/dist/designer/data/systems/fantasy/components.html +136 -0
  149. package/dist/designer/data/systems/fantasy/tokens.css +63 -0
  150. package/dist/designer/data/systems/ferrari/DESIGN.md +317 -0
  151. package/dist/designer/data/systems/ferrari/components.html +342 -0
  152. package/dist/designer/data/systems/ferrari/tokens.css +64 -0
  153. package/dist/designer/data/systems/figma/DESIGN.md +223 -0
  154. package/dist/designer/data/systems/figma/components.html +344 -0
  155. package/dist/designer/data/systems/figma/tokens.css +126 -0
  156. package/dist/designer/data/systems/flat/DESIGN.md +71 -0
  157. package/dist/designer/data/systems/flat/components.html +136 -0
  158. package/dist/designer/data/systems/flat/tokens.css +63 -0
  159. package/dist/designer/data/systems/framer/DESIGN.md +249 -0
  160. package/dist/designer/data/systems/framer/components.html +438 -0
  161. package/dist/designer/data/systems/framer/tokens.css +238 -0
  162. package/dist/designer/data/systems/friendly/DESIGN.md +71 -0
  163. package/dist/designer/data/systems/friendly/components.html +136 -0
  164. package/dist/designer/data/systems/friendly/tokens.css +63 -0
  165. package/dist/designer/data/systems/futuristic/DESIGN.md +71 -0
  166. package/dist/designer/data/systems/futuristic/components.html +136 -0
  167. package/dist/designer/data/systems/futuristic/tokens.css +63 -0
  168. package/dist/designer/data/systems/github/DESIGN.md +155 -0
  169. package/dist/designer/data/systems/github/components.html +383 -0
  170. package/dist/designer/data/systems/github/tokens.css +125 -0
  171. package/dist/designer/data/systems/glassmorphism/DESIGN.md +71 -0
  172. package/dist/designer/data/systems/glassmorphism/components.html +154 -0
  173. package/dist/designer/data/systems/glassmorphism/tokens.css +63 -0
  174. package/dist/designer/data/systems/gradient/DESIGN.md +71 -0
  175. package/dist/designer/data/systems/gradient/components.html +154 -0
  176. package/dist/designer/data/systems/gradient/tokens.css +63 -0
  177. package/dist/designer/data/systems/hashicorp/DESIGN.md +281 -0
  178. package/dist/designer/data/systems/hashicorp/components.html +502 -0
  179. package/dist/designer/data/systems/hashicorp/tokens.css +272 -0
  180. package/dist/designer/data/systems/hud/DESIGN.md +173 -0
  181. package/dist/designer/data/systems/hud/components.html +136 -0
  182. package/dist/designer/data/systems/hud/tokens.css +63 -0
  183. package/dist/designer/data/systems/huggingface/DESIGN.md +149 -0
  184. package/dist/designer/data/systems/huggingface/components.html +346 -0
  185. package/dist/designer/data/systems/huggingface/tokens.css +125 -0
  186. package/dist/designer/data/systems/ibm/DESIGN.md +335 -0
  187. package/dist/designer/data/systems/ibm/components.html +342 -0
  188. package/dist/designer/data/systems/ibm/tokens.css +64 -0
  189. package/dist/designer/data/systems/intercom/DESIGN.md +149 -0
  190. package/dist/designer/data/systems/intercom/components.html +557 -0
  191. package/dist/designer/data/systems/intercom/tokens.css +150 -0
  192. package/dist/designer/data/systems/kami/DESIGN.md +410 -0
  193. package/dist/designer/data/systems/kami/components.html +601 -0
  194. package/dist/designer/data/systems/kami/tokens.css +272 -0
  195. package/dist/designer/data/systems/kraken/DESIGN.md +128 -0
  196. package/dist/designer/data/systems/kraken/components.html +342 -0
  197. package/dist/designer/data/systems/kraken/tokens.css +64 -0
  198. package/dist/designer/data/systems/lamborghini/DESIGN.md +291 -0
  199. package/dist/designer/data/systems/lamborghini/components.html +342 -0
  200. package/dist/designer/data/systems/lamborghini/tokens.css +64 -0
  201. package/dist/designer/data/systems/levels/DESIGN.md +71 -0
  202. package/dist/designer/data/systems/levels/components.html +154 -0
  203. package/dist/designer/data/systems/levels/tokens.css +63 -0
  204. package/dist/designer/data/systems/linear-app/DESIGN.md +370 -0
  205. package/dist/designer/data/systems/linear-app/components.html +370 -0
  206. package/dist/designer/data/systems/linear-app/tokens.css +130 -0
  207. package/dist/designer/data/systems/lingo/DESIGN.md +71 -0
  208. package/dist/designer/data/systems/lingo/components.html +154 -0
  209. package/dist/designer/data/systems/lingo/tokens.css +63 -0
  210. package/dist/designer/data/systems/loom/DESIGN.md +201 -0
  211. package/dist/designer/data/systems/loom/components.html +446 -0
  212. package/dist/designer/data/systems/loom/tokens.css +138 -0
  213. package/dist/designer/data/systems/lovable/DESIGN.md +301 -0
  214. package/dist/designer/data/systems/lovable/components.html +441 -0
  215. package/dist/designer/data/systems/lovable/tokens.css +258 -0
  216. package/dist/designer/data/systems/luxury/DESIGN.md +71 -0
  217. package/dist/designer/data/systems/luxury/components.html +154 -0
  218. package/dist/designer/data/systems/luxury/tokens.css +63 -0
  219. package/dist/designer/data/systems/mastercard/DESIGN.md +368 -0
  220. package/dist/designer/data/systems/mastercard/components.html +342 -0
  221. package/dist/designer/data/systems/mastercard/tokens.css +64 -0
  222. package/dist/designer/data/systems/material/DESIGN.md +71 -0
  223. package/dist/designer/data/systems/material/components.html +154 -0
  224. package/dist/designer/data/systems/material/tokens.css +63 -0
  225. package/dist/designer/data/systems/meta/DESIGN.md +369 -0
  226. package/dist/designer/data/systems/meta/components.html +398 -0
  227. package/dist/designer/data/systems/meta/tokens.css +263 -0
  228. package/dist/designer/data/systems/minimal/DESIGN.md +71 -0
  229. package/dist/designer/data/systems/minimal/components.html +154 -0
  230. package/dist/designer/data/systems/minimal/tokens.css +63 -0
  231. package/dist/designer/data/systems/minimax/DESIGN.md +260 -0
  232. package/dist/designer/data/systems/minimax/components.html +590 -0
  233. package/dist/designer/data/systems/minimax/tokens.css +148 -0
  234. package/dist/designer/data/systems/mintlify/DESIGN.md +329 -0
  235. package/dist/designer/data/systems/mintlify/components.html +737 -0
  236. package/dist/designer/data/systems/mintlify/tokens.css +256 -0
  237. package/dist/designer/data/systems/miro/DESIGN.md +111 -0
  238. package/dist/designer/data/systems/miro/components.html +342 -0
  239. package/dist/designer/data/systems/miro/tokens.css +64 -0
  240. package/dist/designer/data/systems/mission-control/DESIGN.md +474 -0
  241. package/dist/designer/data/systems/mission-control/components.html +136 -0
  242. package/dist/designer/data/systems/mission-control/tokens.css +63 -0
  243. package/dist/designer/data/systems/mistral-ai/DESIGN.md +264 -0
  244. package/dist/designer/data/systems/mistral-ai/components.html +338 -0
  245. package/dist/designer/data/systems/mistral-ai/tokens.css +125 -0
  246. package/dist/designer/data/systems/modern/DESIGN.md +71 -0
  247. package/dist/designer/data/systems/modern/components.html +154 -0
  248. package/dist/designer/data/systems/modern/tokens.css +63 -0
  249. package/dist/designer/data/systems/mongodb/DESIGN.md +269 -0
  250. package/dist/designer/data/systems/mongodb/components.html +462 -0
  251. package/dist/designer/data/systems/mongodb/tokens.css +176 -0
  252. package/dist/designer/data/systems/mono/DESIGN.md +71 -0
  253. package/dist/designer/data/systems/mono/components.html +136 -0
  254. package/dist/designer/data/systems/mono/tokens.css +63 -0
  255. package/dist/designer/data/systems/neobrutalism/DESIGN.md +71 -0
  256. package/dist/designer/data/systems/neobrutalism/components.html +136 -0
  257. package/dist/designer/data/systems/neobrutalism/tokens.css +63 -0
  258. package/dist/designer/data/systems/neon/DESIGN.md +71 -0
  259. package/dist/designer/data/systems/neon/components.html +136 -0
  260. package/dist/designer/data/systems/neon/tokens.css +63 -0
  261. package/dist/designer/data/systems/neumorphism/DESIGN.md +71 -0
  262. package/dist/designer/data/systems/neumorphism/components.html +136 -0
  263. package/dist/designer/data/systems/neumorphism/tokens.css +63 -0
  264. package/dist/designer/data/systems/nike/DESIGN.md +366 -0
  265. package/dist/designer/data/systems/nike/components.html +512 -0
  266. package/dist/designer/data/systems/nike/tokens.css +304 -0
  267. package/dist/designer/data/systems/notion/DESIGN.md +312 -0
  268. package/dist/designer/data/systems/notion/components.html +413 -0
  269. package/dist/designer/data/systems/notion/tokens.css +130 -0
  270. package/dist/designer/data/systems/nvidia/DESIGN.md +296 -0
  271. package/dist/designer/data/systems/nvidia/components.html +414 -0
  272. package/dist/designer/data/systems/nvidia/tokens.css +133 -0
  273. package/dist/designer/data/systems/ollama/DESIGN.md +270 -0
  274. package/dist/designer/data/systems/ollama/components.html +700 -0
  275. package/dist/designer/data/systems/ollama/tokens.css +242 -0
  276. package/dist/designer/data/systems/openai/DESIGN.md +140 -0
  277. package/dist/designer/data/systems/openai/components.html +382 -0
  278. package/dist/designer/data/systems/openai/tokens.css +133 -0
  279. package/dist/designer/data/systems/opencode-ai/DESIGN.md +284 -0
  280. package/dist/designer/data/systems/opencode-ai/components.html +389 -0
  281. package/dist/designer/data/systems/opencode-ai/tokens.css +126 -0
  282. package/dist/designer/data/systems/pacman/DESIGN.md +71 -0
  283. package/dist/designer/data/systems/pacman/components.html +342 -0
  284. package/dist/designer/data/systems/pacman/tokens.css +64 -0
  285. package/dist/designer/data/systems/paper/DESIGN.md +71 -0
  286. package/dist/designer/data/systems/paper/components.html +136 -0
  287. package/dist/designer/data/systems/paper/tokens.css +63 -0
  288. package/dist/designer/data/systems/perplexity/DESIGN.md +286 -0
  289. package/dist/designer/data/systems/perplexity/components.html +455 -0
  290. package/dist/designer/data/systems/perplexity/tokens.css +151 -0
  291. package/dist/designer/data/systems/perspective/DESIGN.md +71 -0
  292. package/dist/designer/data/systems/perspective/components.html +136 -0
  293. package/dist/designer/data/systems/perspective/tokens.css +63 -0
  294. package/dist/designer/data/systems/pinterest/DESIGN.md +233 -0
  295. package/dist/designer/data/systems/pinterest/components.html +865 -0
  296. package/dist/designer/data/systems/pinterest/tokens.css +262 -0
  297. package/dist/designer/data/systems/playstation/DESIGN.md +367 -0
  298. package/dist/designer/data/systems/playstation/components.html +414 -0
  299. package/dist/designer/data/systems/playstation/tokens.css +150 -0
  300. package/dist/designer/data/systems/posthog/DESIGN.md +259 -0
  301. package/dist/designer/data/systems/posthog/components.html +827 -0
  302. package/dist/designer/data/systems/posthog/tokens.css +272 -0
  303. package/dist/designer/data/systems/premium/DESIGN.md +71 -0
  304. package/dist/designer/data/systems/premium/components.html +154 -0
  305. package/dist/designer/data/systems/premium/tokens.css +63 -0
  306. package/dist/designer/data/systems/professional/DESIGN.md +71 -0
  307. package/dist/designer/data/systems/professional/components.html +136 -0
  308. package/dist/designer/data/systems/professional/tokens.css +63 -0
  309. package/dist/designer/data/systems/publication/DESIGN.md +71 -0
  310. package/dist/designer/data/systems/publication/components.html +154 -0
  311. package/dist/designer/data/systems/publication/tokens.css +63 -0
  312. package/dist/designer/data/systems/raycast/DESIGN.md +271 -0
  313. package/dist/designer/data/systems/raycast/components.html +507 -0
  314. package/dist/designer/data/systems/raycast/tokens.css +143 -0
  315. package/dist/designer/data/systems/refined/DESIGN.md +71 -0
  316. package/dist/designer/data/systems/refined/components.html +136 -0
  317. package/dist/designer/data/systems/refined/tokens.css +63 -0
  318. package/dist/designer/data/systems/renault/DESIGN.md +314 -0
  319. package/dist/designer/data/systems/renault/components.html +154 -0
  320. package/dist/designer/data/systems/renault/tokens.css +63 -0
  321. package/dist/designer/data/systems/replicate/DESIGN.md +264 -0
  322. package/dist/designer/data/systems/replicate/components.html +340 -0
  323. package/dist/designer/data/systems/replicate/tokens.css +125 -0
  324. package/dist/designer/data/systems/resend/DESIGN.md +306 -0
  325. package/dist/designer/data/systems/resend/components.html +839 -0
  326. package/dist/designer/data/systems/resend/tokens.css +353 -0
  327. package/dist/designer/data/systems/retro/DESIGN.md +71 -0
  328. package/dist/designer/data/systems/retro/components.html +136 -0
  329. package/dist/designer/data/systems/retro/tokens.css +63 -0
  330. package/dist/designer/data/systems/revolut/DESIGN.md +188 -0
  331. package/dist/designer/data/systems/revolut/components.html +342 -0
  332. package/dist/designer/data/systems/revolut/tokens.css +64 -0
  333. package/dist/designer/data/systems/runwayml/DESIGN.md +247 -0
  334. package/dist/designer/data/systems/runwayml/components.html +638 -0
  335. package/dist/designer/data/systems/runwayml/tokens.css +204 -0
  336. package/dist/designer/data/systems/sanity/DESIGN.md +360 -0
  337. package/dist/designer/data/systems/sanity/components.html +342 -0
  338. package/dist/designer/data/systems/sanity/tokens.css +64 -0
  339. package/dist/designer/data/systems/sentry/DESIGN.md +265 -0
  340. package/dist/designer/data/systems/sentry/components.html +387 -0
  341. package/dist/designer/data/systems/sentry/tokens.css +219 -0
  342. package/dist/designer/data/systems/shadcn/DESIGN.md +71 -0
  343. package/dist/designer/data/systems/shadcn/components.html +732 -0
  344. package/dist/designer/data/systems/shadcn/tokens.css +255 -0
  345. package/dist/designer/data/systems/shopify/DESIGN.md +353 -0
  346. package/dist/designer/data/systems/shopify/components.html +342 -0
  347. package/dist/designer/data/systems/shopify/tokens.css +141 -0
  348. package/dist/designer/data/systems/simple/DESIGN.md +71 -0
  349. package/dist/designer/data/systems/simple/components.html +136 -0
  350. package/dist/designer/data/systems/simple/tokens.css +63 -0
  351. package/dist/designer/data/systems/skeumorphism/DESIGN.md +71 -0
  352. package/dist/designer/data/systems/skeumorphism/components.html +136 -0
  353. package/dist/designer/data/systems/skeumorphism/tokens.css +63 -0
  354. package/dist/designer/data/systems/slack/DESIGN.md +363 -0
  355. package/dist/designer/data/systems/slack/components.html +387 -0
  356. package/dist/designer/data/systems/slack/tokens.css +127 -0
  357. package/dist/designer/data/systems/sleek/DESIGN.md +71 -0
  358. package/dist/designer/data/systems/sleek/components.html +136 -0
  359. package/dist/designer/data/systems/sleek/tokens.css +63 -0
  360. package/dist/designer/data/systems/spacex/DESIGN.md +197 -0
  361. package/dist/designer/data/systems/spacex/components.html +496 -0
  362. package/dist/designer/data/systems/spacex/tokens.css +154 -0
  363. package/dist/designer/data/systems/spacious/DESIGN.md +71 -0
  364. package/dist/designer/data/systems/spacious/components.html +136 -0
  365. package/dist/designer/data/systems/spacious/tokens.css +63 -0
  366. package/dist/designer/data/systems/spotify/DESIGN.md +249 -0
  367. package/dist/designer/data/systems/spotify/components.html +365 -0
  368. package/dist/designer/data/systems/spotify/tokens.css +127 -0
  369. package/dist/designer/data/systems/starbucks/DESIGN.md +583 -0
  370. package/dist/designer/data/systems/starbucks/components.html +493 -0
  371. package/dist/designer/data/systems/starbucks/tokens.css +182 -0
  372. package/dist/designer/data/systems/storytelling/DESIGN.md +71 -0
  373. package/dist/designer/data/systems/storytelling/components.html +136 -0
  374. package/dist/designer/data/systems/storytelling/tokens.css +63 -0
  375. package/dist/designer/data/systems/stripe/DESIGN.md +325 -0
  376. package/dist/designer/data/systems/stripe/components.html +1018 -0
  377. package/dist/designer/data/systems/stripe/tokens.css +295 -0
  378. package/dist/designer/data/systems/supabase/DESIGN.md +258 -0
  379. package/dist/designer/data/systems/supabase/components.html +741 -0
  380. package/dist/designer/data/systems/supabase/tokens.css +294 -0
  381. package/dist/designer/data/systems/superhuman/DESIGN.md +255 -0
  382. package/dist/designer/data/systems/superhuman/components.html +537 -0
  383. package/dist/designer/data/systems/superhuman/tokens.css +160 -0
  384. package/dist/designer/data/systems/tesla/DESIGN.md +289 -0
  385. package/dist/designer/data/systems/tesla/components.html +724 -0
  386. package/dist/designer/data/systems/tesla/tokens.css +285 -0
  387. package/dist/designer/data/systems/tetris/DESIGN.md +71 -0
  388. package/dist/designer/data/systems/tetris/components.html +342 -0
  389. package/dist/designer/data/systems/tetris/tokens.css +64 -0
  390. package/dist/designer/data/systems/theverge/DESIGN.md +342 -0
  391. package/dist/designer/data/systems/theverge/components.html +342 -0
  392. package/dist/designer/data/systems/theverge/tokens.css +64 -0
  393. package/dist/designer/data/systems/together-ai/DESIGN.md +266 -0
  394. package/dist/designer/data/systems/together-ai/components.html +422 -0
  395. package/dist/designer/data/systems/together-ai/tokens.css +127 -0
  396. package/dist/designer/data/systems/totality-festival/DESIGN.md +206 -0
  397. package/dist/designer/data/systems/totality-festival/components.html +136 -0
  398. package/dist/designer/data/systems/totality-festival/tokens.css +63 -0
  399. package/dist/designer/data/systems/trading-terminal/DESIGN.md +178 -0
  400. package/dist/designer/data/systems/trading-terminal/components.html +154 -0
  401. package/dist/designer/data/systems/trading-terminal/tokens.css +63 -0
  402. package/dist/designer/data/systems/uber/DESIGN.md +298 -0
  403. package/dist/designer/data/systems/uber/components.html +347 -0
  404. package/dist/designer/data/systems/uber/tokens.css +131 -0
  405. package/dist/designer/data/systems/urdu/DESIGN.md +1002 -0
  406. package/dist/designer/data/systems/urdu/components.html +136 -0
  407. package/dist/designer/data/systems/urdu/tokens.css +63 -0
  408. package/dist/designer/data/systems/vercel/DESIGN.md +313 -0
  409. package/dist/designer/data/systems/vercel/components.html +839 -0
  410. package/dist/designer/data/systems/vercel/tokens.css +270 -0
  411. package/dist/designer/data/systems/vibrant/DESIGN.md +71 -0
  412. package/dist/designer/data/systems/vibrant/components.html +136 -0
  413. package/dist/designer/data/systems/vibrant/tokens.css +63 -0
  414. package/dist/designer/data/systems/vintage/DESIGN.md +71 -0
  415. package/dist/designer/data/systems/vintage/components.html +136 -0
  416. package/dist/designer/data/systems/vintage/tokens.css +63 -0
  417. package/dist/designer/data/systems/vodafone/DESIGN.md +426 -0
  418. package/dist/designer/data/systems/vodafone/components.html +342 -0
  419. package/dist/designer/data/systems/vodafone/tokens.css +64 -0
  420. package/dist/designer/data/systems/voltagent/DESIGN.md +326 -0
  421. package/dist/designer/data/systems/voltagent/components.html +154 -0
  422. package/dist/designer/data/systems/voltagent/tokens.css +63 -0
  423. package/dist/designer/data/systems/warm-editorial/DESIGN.md +65 -0
  424. package/dist/designer/data/systems/warm-editorial/components.html +136 -0
  425. package/dist/designer/data/systems/warm-editorial/tokens.css +63 -0
  426. package/dist/designer/data/systems/warp/DESIGN.md +256 -0
  427. package/dist/designer/data/systems/warp/components.html +411 -0
  428. package/dist/designer/data/systems/warp/tokens.css +156 -0
  429. package/dist/designer/data/systems/webex/DESIGN.md +207 -0
  430. package/dist/designer/data/systems/webex/components.html +342 -0
  431. package/dist/designer/data/systems/webex/tokens.css +64 -0
  432. package/dist/designer/data/systems/webflow/DESIGN.md +95 -0
  433. package/dist/designer/data/systems/webflow/components.html +413 -0
  434. package/dist/designer/data/systems/webflow/tokens.css +191 -0
  435. package/dist/designer/data/systems/wechat/DESIGN.md +302 -0
  436. package/dist/designer/data/systems/wechat/components.html +507 -0
  437. package/dist/designer/data/systems/wechat/tokens.css +176 -0
  438. package/dist/designer/data/systems/wired/DESIGN.md +281 -0
  439. package/dist/designer/data/systems/wired/components.html +342 -0
  440. package/dist/designer/data/systems/wired/tokens.css +64 -0
  441. package/dist/designer/data/systems/wise/DESIGN.md +176 -0
  442. package/dist/designer/data/systems/wise/components.html +365 -0
  443. package/dist/designer/data/systems/wise/tokens.css +141 -0
  444. package/dist/designer/data/systems/x-ai/DESIGN.md +260 -0
  445. package/dist/designer/data/systems/x-ai/components.html +460 -0
  446. package/dist/designer/data/systems/x-ai/tokens.css +268 -0
  447. package/dist/designer/data/systems/xiaohongshu/DESIGN.md +402 -0
  448. package/dist/designer/data/systems/xiaohongshu/components.html +865 -0
  449. package/dist/designer/data/systems/xiaohongshu/tokens.css +193 -0
  450. package/dist/designer/data/systems/zapier/DESIGN.md +331 -0
  451. package/dist/designer/data/systems/zapier/components.html +342 -0
  452. package/dist/designer/data/systems/zapier/tokens.css +64 -0
  453. package/dist/designer/guidelines.js +176 -0
  454. package/dist/designer/index.js +236 -0
  455. package/dist/designer/skills.js +1675 -0
  456. package/dist/designer/systems.js +216 -0
  457. package/dist/server/pi-bridge.js +155 -5
  458. package/dist/server/session-stream.js +45 -1
  459. package/package.json +1 -1
@@ -0,0 +1,342 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Ferrari - reference components</title>
7
+ <meta
8
+ name="description"
9
+ content="Reference fixture for design-systems/ferrari: Italian performance luxury with racing red, carbon black, and premium editorial spacing."
10
+ />
11
+ <style>
12
+ :root {
13
+ --bg: #0b0b0b;
14
+ --surface: #171717;
15
+ --surface-warm: #23130f;
16
+ --fg: #fffaf0;
17
+ --fg-2: #e8dcc8;
18
+ --muted: #a89f91;
19
+ --meta: #ffd200;
20
+ --border: #342a24;
21
+ --border-soft: #241f1b;
22
+ --accent: #dc0000;
23
+ --accent-on: #ffffff;
24
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
25
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
26
+ --success: #0f9d58;
27
+ --warn: #ffd200;
28
+ --danger: #ff3b30;
29
+ --font-display: "Ferrari Sans", "Helvetica Neue", Arial, sans-serif;
30
+ --font-body: "Ferrari Sans", "Helvetica Neue", Arial, sans-serif;
31
+ --font-mono: "SF Mono", ui-monospace, Menlo, monospace;
32
+ --text-xs: 12px;
33
+ --text-sm: 14px;
34
+ --text-base: 16px;
35
+ --text-lg: 19px;
36
+ --text-xl: 26px;
37
+ --text-2xl: 40px;
38
+ --text-3xl: 62px;
39
+ --text-4xl: 88px;
40
+ --leading-body: 1.5;
41
+ --leading-tight: 0.98;
42
+ --tracking-display: -0.03em;
43
+ --space-1: 4px;
44
+ --space-2: 8px;
45
+ --space-3: 12px;
46
+ --space-4: 16px;
47
+ --space-5: 20px;
48
+ --space-6: 24px;
49
+ --space-8: 32px;
50
+ --space-12: 48px;
51
+ --section-y-desktop: 112px;
52
+ --section-y-tablet: 80px;
53
+ --section-y-phone: 56px;
54
+ --radius-sm: 4px;
55
+ --radius-md: 8px;
56
+ --radius-lg: 14px;
57
+ --radius-pill: 9999px;
58
+ --elev-flat: none;
59
+ --elev-ring: 0 0 0 1px var(--border);
60
+ --elev-raised: 0 26px 80px rgba(0, 0, 0, 0.48);
61
+ --focus-ring: 0 0 0 4px rgba(220, 0, 0, 0.30);
62
+ --motion-fast: 130ms;
63
+ --motion-base: 220ms;
64
+ --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
65
+ --container-max: 1240px;
66
+ --container-gutter-desktop: 40px;
67
+ --container-gutter-tablet: 28px;
68
+ --container-gutter-phone: 18px;
69
+ }
70
+
71
+ *, *::before, *::after { box-sizing: border-box; }
72
+ html, body { margin: 0; padding: 0; }
73
+ body {
74
+ min-height: 100vh;
75
+ background: var(--bg);
76
+ color: var(--fg);
77
+ font-family: var(--font-body);
78
+ font-size: var(--text-base);
79
+ line-height: var(--leading-body);
80
+ -webkit-font-smoothing: antialiased;
81
+ }
82
+ .page {
83
+ min-height: 100vh;
84
+ background: linear-gradient(135deg, #0b0b0b 0%, #23130f 52%, #dc0000 100%);
85
+ }
86
+ .container {
87
+ max-width: var(--container-max);
88
+ margin-inline: auto;
89
+ padding-inline: var(--container-gutter-desktop);
90
+ }
91
+ section { padding-block: var(--section-y-desktop); }
92
+ @media (max-width: 1023px) {
93
+ .container { padding-inline: var(--container-gutter-tablet); }
94
+ section { padding-block: var(--section-y-tablet); }
95
+ }
96
+ @media (max-width: 639px) {
97
+ .container { padding-inline: var(--container-gutter-phone); }
98
+ section { padding-block: var(--section-y-phone); }
99
+ }
100
+ h1, h2, h3, p { margin: 0; }
101
+ h1, h2, h3 {
102
+ font-family: var(--font-display);
103
+ line-height: var(--leading-tight);
104
+ letter-spacing: var(--tracking-display);
105
+ }
106
+ h1 { max-width: 820px; font-size: var(--text-4xl); font-weight: 700; }
107
+ h2 { font-size: var(--text-3xl); font-weight: 650; }
108
+ h3 { font-size: var(--text-xl); font-weight: 650; }
109
+ .eyebrow {
110
+ color: var(--meta);
111
+ font-family: var(--font-mono);
112
+ font-size: var(--text-xs);
113
+ font-weight: 700;
114
+ letter-spacing: 0.12em;
115
+ text-transform: uppercase;
116
+ }
117
+ .lead {
118
+ max-width: 620px;
119
+ color: var(--fg-2);
120
+ font-size: var(--text-lg);
121
+ }
122
+ .hero {
123
+ display: grid;
124
+ grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
125
+ gap: var(--space-8);
126
+ align-items: center;
127
+ }
128
+ .stack > * + * { margin-block-start: var(--space-4); }
129
+ .actions {
130
+ display: flex;
131
+ flex-wrap: wrap;
132
+ gap: var(--space-3);
133
+ margin-block-start: var(--space-6);
134
+ }
135
+ .btn {
136
+ display: inline-flex;
137
+ align-items: center;
138
+ justify-content: center;
139
+ min-height: 44px;
140
+ padding: 0 var(--space-5);
141
+ border: 1px solid transparent;
142
+ border-radius: var(--radius-md);
143
+ font: 700 var(--text-sm) / 1 var(--font-body);
144
+ text-decoration: none;
145
+ cursor: pointer;
146
+ transition:
147
+ background-color var(--motion-fast) var(--ease-standard),
148
+ border-color var(--motion-fast) var(--ease-standard),
149
+ color var(--motion-fast) var(--ease-standard),
150
+ transform var(--motion-fast) var(--ease-standard),
151
+ box-shadow var(--motion-fast) var(--ease-standard);
152
+ }
153
+ .btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
154
+ .btn-primary { background: var(--accent); color: var(--accent-on); }
155
+ .btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
156
+ .btn-secondary { background: var(--surface); color: var(--fg); border-color: var(--border); box-shadow: var(--elev-ring); }
157
+ .btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
158
+ .panel {
159
+ background: color-mix(in oklab, var(--surface), transparent 4%);
160
+ border: 1px solid var(--border);
161
+ border-radius: var(--radius-lg);
162
+ box-shadow: var(--elev-raised);
163
+ overflow: hidden;
164
+ }
165
+ .panel-head {
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: space-between;
169
+ gap: var(--space-4);
170
+ padding: var(--space-5);
171
+ border-bottom: 1px solid var(--border-soft);
172
+ }
173
+ .status {
174
+ display: inline-flex;
175
+ align-items: center;
176
+ gap: var(--space-2);
177
+ color: var(--meta);
178
+ font: 700 var(--text-xs) / 1 var(--font-mono);
179
+ text-transform: uppercase;
180
+ letter-spacing: 0.08em;
181
+ }
182
+ .status::before {
183
+ width: 8px;
184
+ height: 8px;
185
+ border-radius: var(--radius-pill);
186
+ background: var(--success);
187
+ content: "";
188
+ }
189
+ .metric-grid {
190
+ display: grid;
191
+ grid-template-columns: repeat(3, minmax(0, 1fr));
192
+ border-bottom: 1px solid var(--border-soft);
193
+ }
194
+ .metric {
195
+ padding: var(--space-5);
196
+ border-right: 1px solid var(--border-soft);
197
+ }
198
+ .metric:last-child { border-right: 0; }
199
+ .metric strong {
200
+ display: block;
201
+ font-family: var(--font-display);
202
+ font-size: var(--text-2xl);
203
+ line-height: var(--leading-tight);
204
+ }
205
+ .metric span { color: var(--muted); font-size: var(--text-sm); }
206
+ .card-row {
207
+ display: grid;
208
+ grid-template-columns: 1fr 1fr;
209
+ gap: var(--space-4);
210
+ padding: var(--space-5);
211
+ }
212
+ .mini-card {
213
+ min-height: 148px;
214
+ padding: var(--space-5);
215
+ border: 1px solid var(--border-soft);
216
+ border-radius: var(--radius-md);
217
+ background: var(--surface-warm);
218
+ }
219
+ .mini-card p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
220
+ .swatches {
221
+ display: flex;
222
+ gap: var(--space-2);
223
+ margin-block-start: var(--space-4);
224
+ }
225
+ .swatch {
226
+ width: 32px;
227
+ height: 32px;
228
+ border-radius: var(--radius-sm);
229
+ border: 1px solid var(--border);
230
+ }
231
+ .swatch.accent { background: var(--accent); }
232
+ .swatch.surface { background: var(--surface); }
233
+ .swatch.warm { background: var(--surface-warm); }
234
+ .swatch.fg { background: var(--fg); }
235
+ .field {
236
+ display: grid;
237
+ gap: var(--space-2);
238
+ margin-block-start: var(--space-5);
239
+ }
240
+ label { color: var(--fg-2); font-size: var(--text-sm); font-weight: 700; }
241
+ input {
242
+ width: 100%;
243
+ min-height: 46px;
244
+ padding: 0 var(--space-4);
245
+ border: 1px solid var(--border);
246
+ border-radius: var(--radius-sm);
247
+ background: var(--surface);
248
+ color: var(--fg);
249
+ font: inherit;
250
+ }
251
+ input:focus { outline: none; box-shadow: var(--focus-ring); border-color: var(--accent); }
252
+ .lower {
253
+ display: grid;
254
+ grid-template-columns: repeat(3, minmax(0, 1fr));
255
+ gap: var(--space-4);
256
+ }
257
+ .tile {
258
+ padding: var(--space-5);
259
+ border: 1px solid var(--border);
260
+ border-radius: var(--radius-md);
261
+ background: var(--surface);
262
+ }
263
+ .tile p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
264
+ @media (max-width: 860px) {
265
+ .hero, .lower { grid-template-columns: 1fr; }
266
+ .metric-grid, .card-row { grid-template-columns: 1fr; }
267
+ .metric { border-right: 0; border-bottom: 1px solid var(--border-soft); }
268
+ .metric:last-child { border-bottom: 0; }
269
+ }
270
+ </style>
271
+ </head>
272
+ <body>
273
+ <main class="page">
274
+ <section>
275
+ <div class="container hero">
276
+ <div class="stack">
277
+ <p class="eyebrow">Ferrari design system</p>
278
+ <h1>Performance atelier</h1>
279
+ <p class="lead">Rosso Corsa drama, black carbon surfaces, and luxury product restraint.</p>
280
+ <div class="actions" aria-label="Reference actions">
281
+ <a class="btn btn-primary" href="#">Primary rosso performance CTA</a>
282
+ <a class="btn btn-secondary" href="#">Secondary action</a>
283
+ </div>
284
+ </div>
285
+ <article class="panel" aria-label="Ferrari component preview">
286
+ <div class="panel-head">
287
+ <div>
288
+ <p class="eyebrow">Live module</p>
289
+ <h3>carbon product plate</h3>
290
+ </div>
291
+ <span class="status">online</span>
292
+ </div>
293
+ <div class="metric-grid">
294
+ <div class="metric"><strong>98%</strong><span>Signal quality</span></div>
295
+ <div class="metric"><strong>24</strong><span>Active flows</span></div>
296
+ <div class="metric"><strong>3.2s</strong><span>Response time</span></div>
297
+ </div>
298
+ <div class="card-row">
299
+ <div class="mini-card">
300
+ <h3>Palette</h3>
301
+ <p>Italian performance luxury with racing red, carbon black, and premium editorial spacing.</p>
302
+ <div class="swatches" aria-label="Token swatches">
303
+ <span class="swatch accent"></span>
304
+ <span class="swatch surface"></span>
305
+ <span class="swatch warm"></span>
306
+ <span class="swatch fg"></span>
307
+ </div>
308
+ </div>
309
+ <div class="mini-card">
310
+ <h3>Control</h3>
311
+ <p>Focus, hover, and status states share the same brand signal.</p>
312
+ <div class="field">
313
+ <label for="ferrari-input">Reference input</label>
314
+ <input id="ferrari-input" value="Ferrari system token" />
315
+ </div>
316
+ </div>
317
+ </div>
318
+ </article>
319
+ </div>
320
+ </section>
321
+ <section>
322
+ <div class="container lower">
323
+ <article class="tile">
324
+ <p class="eyebrow">Typography</p>
325
+ <h2>Display rhythm</h2>
326
+ <p>Headlines use the brand display stack with the declared scale and leading.</p>
327
+ </article>
328
+ <article class="tile">
329
+ <p class="eyebrow">Surface</p>
330
+ <h2>Layer system</h2>
331
+ <p>Cards, warm panels, borders, and raised states resolve through shared tokens.</p>
332
+ </article>
333
+ <article class="tile">
334
+ <p class="eyebrow">Interaction</p>
335
+ <h2>Motion states</h2>
336
+ <p>Buttons, inputs, and panels use brand-specific focus rings and easing.</p>
337
+ </article>
338
+ </div>
339
+ </section>
340
+ </main>
341
+ </body>
342
+ </html>
@@ -0,0 +1,64 @@
1
+ /* design-systems/ferrari/tokens.css
2
+ *
3
+ * Structured token bindings for Ferrari.
4
+ * Italian performance luxury with racing red, carbon black, and premium editorial spacing.
5
+ */
6
+
7
+ :root {
8
+ --bg: #0b0b0b;
9
+ --surface: #171717;
10
+ --surface-warm: #23130f;
11
+ --fg: #fffaf0;
12
+ --fg-2: #e8dcc8;
13
+ --muted: #a89f91;
14
+ --meta: #ffd200;
15
+ --border: #342a24;
16
+ --border-soft: #241f1b;
17
+ --accent: #dc0000;
18
+ --accent-on: #ffffff;
19
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
20
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
21
+ --success: #0f9d58;
22
+ --warn: #ffd200;
23
+ --danger: #ff3b30;
24
+ --font-display: "Ferrari Sans", "Helvetica Neue", Arial, sans-serif;
25
+ --font-body: "Ferrari Sans", "Helvetica Neue", Arial, sans-serif;
26
+ --font-mono: "SF Mono", ui-monospace, Menlo, monospace;
27
+ --text-xs: 12px;
28
+ --text-sm: 14px;
29
+ --text-base: 16px;
30
+ --text-lg: 19px;
31
+ --text-xl: 26px;
32
+ --text-2xl: 40px;
33
+ --text-3xl: 62px;
34
+ --text-4xl: 88px;
35
+ --leading-body: 1.5;
36
+ --leading-tight: 0.98;
37
+ --tracking-display: -0.03em;
38
+ --space-1: 4px;
39
+ --space-2: 8px;
40
+ --space-3: 12px;
41
+ --space-4: 16px;
42
+ --space-5: 20px;
43
+ --space-6: 24px;
44
+ --space-8: 32px;
45
+ --space-12: 48px;
46
+ --section-y-desktop: 112px;
47
+ --section-y-tablet: 80px;
48
+ --section-y-phone: 56px;
49
+ --radius-sm: 4px;
50
+ --radius-md: 8px;
51
+ --radius-lg: 14px;
52
+ --radius-pill: 9999px;
53
+ --elev-flat: none;
54
+ --elev-ring: 0 0 0 1px var(--border);
55
+ --elev-raised: 0 26px 80px rgba(0, 0, 0, 0.48);
56
+ --focus-ring: 0 0 0 4px rgba(220, 0, 0, 0.30);
57
+ --motion-fast: 130ms;
58
+ --motion-base: 220ms;
59
+ --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
60
+ --container-max: 1240px;
61
+ --container-gutter-desktop: 40px;
62
+ --container-gutter-tablet: 28px;
63
+ --container-gutter-phone: 18px;
64
+ }
@@ -0,0 +1,223 @@
1
+ # Design System Inspired by Figma
2
+
3
+ > Category: Design & Creative
4
+ > Collaborative design tool. Vibrant multi-color, playful yet professional.
5
+
6
+ ## 1. Visual Theme & Atmosphere
7
+
8
+ Figma's interface is the design tool that designed itself — a masterclass in typographic sophistication where a custom variable font (figmaSans) modulates between razor-thin (weight 320) and bold (weight 700) with stops at unusual intermediates (330, 340, 450, 480, 540) that most type systems never explore. This granular weight control gives every text element a precisely calibrated visual weight, creating hierarchy through micro-differences rather than the blunt instrument of "regular vs bold."
9
+
10
+ The page presents a fascinating duality: the interface chrome is strictly black-and-white (literally only `#000000` and `#ffffff` detected as colors), while the hero section and product showcases explode with vibrant multi-color gradients — electric greens, bright yellows, deep purples, hot pinks. This separation means the design system itself is colorless, treating the product's colorful output as the hero content. Figma's marketing page is essentially a white gallery wall displaying colorful art.
11
+
12
+ What makes Figma distinctive beyond the variable font is its circle-and-pill geometry. Buttons use 50px radius (pill) or 50% (perfect circle for icon buttons), creating an organic, tool-palette-like feel. The dashed-outline focus indicator (`dashed 2px`) is a deliberate design choice that echoes selection handles in the Figma editor itself — the website's UI language references the product's UI language.
13
+
14
+ **Key Characteristics:**
15
+ - Custom variable font (figmaSans) with unusual weight stops: 320, 330, 340, 450, 480, 540, 700
16
+ - Strictly black-and-white interface chrome — color exists only in product content
17
+ - figmaMono for uppercase technical labels with wide letter-spacing
18
+ - Pill (50px) and circular (50%) button geometry
19
+ - Dashed focus outlines echoing Figma's editor selection handles
20
+ - Vibrant multi-color hero gradients (green, yellow, purple, pink)
21
+ - OpenType `"kern"` feature enabled globally
22
+ - Negative letter-spacing throughout — even body text at -0.14px to -0.26px
23
+
24
+ ## 2. Color Palette & Roles
25
+
26
+ ### Primary
27
+ - **Pure Black** (`#000000`): All text, all solid buttons, all borders. The sole "color" of the interface.
28
+ - **Pure White** (`#ffffff`): All backgrounds, white buttons, text on dark surfaces. The other half of the binary.
29
+
30
+ *Note: Figma's marketing site uses ONLY these two colors for its interface layer. All vibrant colors appear exclusively in product screenshots, hero gradients, and embedded content.*
31
+
32
+ ### Surface & Background
33
+ - **Pure White** (`#ffffff`): Primary page background and card surfaces.
34
+ - **Glass Black** (`rgba(0, 0, 0, 0.08)`): Subtle dark overlay for secondary circular buttons and glass effects.
35
+ - **Glass White** (`rgba(255, 255, 255, 0.16)`): Frosted glass overlay for buttons on dark/colored surfaces.
36
+
37
+ ### Gradient System
38
+ - **Hero Gradient**: A vibrant multi-stop gradient using electric green, bright yellow, deep purple, and hot pink. This gradient is the visual signature of the hero section — it represents the creative possibilities of the tool.
39
+ - **Product Section Gradients**: Individual product areas (Design, Dev Mode, Prototyping) may use distinct color themes in their showcases.
40
+
41
+ ## 3. Typography Rules
42
+
43
+ ### Font Family
44
+ - **Primary**: `figmaSans`, with fallbacks: `figmaSans Fallback, SF Pro Display, system-ui, helvetica`
45
+ - **Monospace / Labels**: `figmaMono`, with fallbacks: `figmaMono Fallback, SF Mono, menlo`
46
+
47
+ ### Hierarchy
48
+
49
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
50
+ |------|------|------|--------|-------------|----------------|-------|
51
+ | Display / Hero | figmaSans | 86px (5.38rem) | 400 | 1.00 (tight) | -1.72px | Maximum impact, extreme tracking |
52
+ | Section Heading | figmaSans | 64px (4rem) | 400 | 1.10 (tight) | -0.96px | Feature section titles |
53
+ | Sub-heading | figmaSans | 26px (1.63rem) | 540 | 1.35 | -0.26px | Emphasized section text |
54
+ | Sub-heading Light | figmaSans | 26px (1.63rem) | 340 | 1.35 | -0.26px | Light-weight section text |
55
+ | Feature Title | figmaSans | 24px (1.5rem) | 700 | 1.45 | normal | Bold card headings |
56
+ | Body Large | figmaSans | 20px (1.25rem) | 330–450 | 1.30–1.40 | -0.1px to -0.14px | Descriptions, intros |
57
+ | Body / Button | figmaSans | 16px (1rem) | 330–400 | 1.40–1.45 | -0.14px to normal | Standard body, nav, buttons |
58
+ | Body Light | figmaSans | 18px (1.13rem) | 320 | 1.45 | -0.26px to normal | Light-weight body text |
59
+ | Mono Label | figmaMono | 18px (1.13rem) | 400 | 1.30 (tight) | 0.54px | Uppercase section labels |
60
+ | Mono Small | figmaMono | 12px (0.75rem) | 400 | 1.00 (tight) | 0.6px | Uppercase tiny tags |
61
+
62
+ ### Principles
63
+ - **Variable font precision**: figmaSans uses weights that most systems never touch — 320, 330, 340, 450, 480, 540. This creates hierarchy through subtle weight differences rather than dramatic jumps. The difference between 330 and 340 is nearly imperceptible but structurally significant.
64
+ - **Light as the base**: Most body text uses 320–340 (lighter than typical 400 "regular"), creating an ethereal, airy reading experience that matches the design-tool aesthetic.
65
+ - **Kern everywhere**: Every text element enables OpenType `"kern"` feature — kerning is not optional, it's structural.
66
+ - **Negative tracking by default**: Even body text uses -0.1px to -0.26px letter-spacing, creating universally tight text. Display text compresses further to -0.96px and -1.72px.
67
+ - **Mono for structure**: figmaMono in uppercase with positive letter-spacing (0.54px–0.6px) creates technical signpost labels.
68
+
69
+ ## 4. Component Stylings
70
+
71
+ ### Buttons
72
+
73
+ **Black Solid (Pill)**
74
+ - Background: Pure Black (`#000000`)
75
+ - Text: Pure White (`#ffffff`)
76
+ - Radius: circle (50%) for icon buttons
77
+ - Focus: dashed 2px outline
78
+ - Maximum emphasis
79
+
80
+ **White Pill**
81
+ - Background: Pure White (`#ffffff`)
82
+ - Text: Pure Black (`#000000`)
83
+ - Padding: 8px 18px 10px (asymmetric vertical)
84
+ - Radius: pill (50px)
85
+ - Focus: dashed 2px outline
86
+ - Standard CTA on dark/colored surfaces
87
+
88
+ **Glass Dark**
89
+ - Background: `rgba(0, 0, 0, 0.08)` (subtle dark overlay)
90
+ - Text: Pure Black
91
+ - Radius: circle (50%)
92
+ - Focus: dashed 2px outline
93
+ - Secondary action on light surfaces
94
+
95
+ **Glass Light**
96
+ - Background: `rgba(255, 255, 255, 0.16)` (frosted glass)
97
+ - Text: Pure White
98
+ - Radius: circle (50%)
99
+ - Focus: dashed 2px outline
100
+ - Secondary action on dark/colored surfaces
101
+
102
+ ### Cards & Containers
103
+ - Background: Pure White
104
+ - Border: none or minimal
105
+ - Radius: 6px (small containers), 8px (images, cards, dialogs)
106
+ - Shadow: subtle to medium elevation effects
107
+ - Product screenshots as card content
108
+
109
+ ### Navigation
110
+ - Clean horizontal nav on white
111
+ - Logo: Figma wordmark in black
112
+ - Product tabs: pill-shaped (50px) tab navigation
113
+ - Links: black text, underline 1px decoration
114
+ - CTA: Black pill button
115
+ - Hover: text color via CSS variable
116
+
117
+ ### Distinctive Components
118
+
119
+ **Product Tab Bar**
120
+ - Horizontal pill-shaped tabs (50px radius)
121
+ - Each tab represents a Figma product area (Design, Dev Mode, Prototyping, etc.)
122
+ - Active tab highlighted
123
+
124
+ **Hero Gradient Section**
125
+ - Full-width vibrant multi-color gradient background
126
+ - White text overlay with 86px display heading
127
+ - Product screenshots floating within the gradient
128
+
129
+ **Dashed Focus Indicators**
130
+ - All interactive elements use `dashed 2px` outline on focus
131
+ - References the selection handles in the Figma editor
132
+ - A meta-design choice connecting website and product
133
+
134
+ ## 5. Layout Principles
135
+
136
+ ### Spacing System
137
+ - Base unit: 8px
138
+ - Scale: 1px, 2px, 4px, 4.5px, 8px, 10px, 12px, 16px, 18px, 24px, 32px, 40px, 46px, 48px, 50px
139
+
140
+ ### Grid & Container
141
+ - Max container width: up to 1920px
142
+ - Hero: full-width gradient with centered content
143
+ - Product sections: alternating showcases
144
+ - Footer: dark full-width section
145
+ - Responsive from 559px to 1920px
146
+
147
+ ### Whitespace Philosophy
148
+ - **Gallery-like pacing**: Generous spacing lets each product section breathe as its own exhibit.
149
+ - **Color sections as visual breathing**: The gradient hero and product showcases provide chromatic relief between the monochrome interface sections.
150
+
151
+ ### Border Radius Scale
152
+ - Minimal (2px): Small link elements
153
+ - Subtle (6px): Small containers, dividers
154
+ - Comfortable (8px): Cards, images, dialogs
155
+ - Pill (50px): Tab buttons, CTAs
156
+ - Circle (50%): Icon buttons, circular elements
157
+
158
+ ## 6. Depth & Elevation
159
+
160
+ | Level | Treatment | Use |
161
+ |-------|-----------|-----|
162
+ | Flat (Level 0) | No shadow | Page background, most text |
163
+ | Surface (Level 1) | White card on gradient/dark section | Cards, product showcases |
164
+ | Elevated (Level 2) | Subtle shadow | Floating cards, hover states |
165
+
166
+ **Shadow Philosophy**: Figma uses shadows sparingly. The primary depth mechanisms are **background contrast** (white content on colorful/dark sections) and the inherent dimensionality of the product screenshots themselves.
167
+
168
+ ## 7. Do's and Don'ts
169
+
170
+ ### Do
171
+ - Use figmaSans with precise variable weights (320–540) — the granular weight control IS the design
172
+ - Keep the interface strictly black-and-white — color comes from product content only
173
+ - Use pill (50px) and circular (50%) geometry for all interactive elements
174
+ - Apply dashed 2px focus outlines — the signature accessibility pattern
175
+ - Enable `"kern"` feature on all text
176
+ - Use figmaMono in uppercase with positive letter-spacing for labels
177
+ - Apply negative letter-spacing throughout (-0.1px to -1.72px)
178
+
179
+ ### Don't
180
+ - Don't add interface colors — the monochrome palette is absolute
181
+ - Don't use standard font weights (400, 500, 600, 700) — use the variable font's unique stops (320, 330, 340, 450, 480, 540)
182
+ - Don't use sharp corners on buttons — pill and circular geometry only
183
+ - Don't use solid focus outlines — dashed is the signature
184
+ - Don't increase body font weight above 450 — the light-weight aesthetic is core
185
+ - Don't use positive letter-spacing on body text — it's always negative
186
+
187
+ ## 8. Responsive Behavior
188
+
189
+ ### Breakpoints
190
+ | Name | Width | Key Changes |
191
+ |------|-------|-------------|
192
+ | Small Mobile | <560px | Compact layout, stacked |
193
+ | Tablet | 560–768px | Minor adjustments |
194
+ | Small Desktop | 768–960px | 2-column layouts |
195
+ | Desktop | 960–1280px | Standard layout |
196
+ | Large Desktop | 1280–1440px | Expanded |
197
+ | Ultra-wide | 1440–1920px | Maximum width |
198
+
199
+ ### Collapsing Strategy
200
+ - Hero text: 86px → 64px → 48px
201
+ - Product tabs: horizontal scroll on mobile
202
+ - Feature sections: stacked single column
203
+ - Footer: multi-column → stacked
204
+
205
+ ## 9. Agent Prompt Guide
206
+
207
+ ### Quick Color Reference
208
+ - Everything: "Pure Black (#000000)" and "Pure White (#ffffff)"
209
+ - Glass Dark: "rgba(0, 0, 0, 0.08)"
210
+ - Glass Light: "rgba(255, 255, 255, 0.16)"
211
+
212
+ ### Example Component Prompts
213
+ - "Create a hero on a vibrant multi-color gradient (green, yellow, purple, pink). Headline at 86px figmaSans weight 400, line-height 1.0, letter-spacing -1.72px. White text. White pill CTA button (50px radius, 8px 18px padding)."
214
+ - "Design a product tab bar with pill-shaped buttons (50px radius). Active: Black bg, white text. Inactive: transparent, black text. figmaSans at 20px weight 480."
215
+ - "Build a section label: figmaMono 18px, uppercase, letter-spacing 0.54px, black text. Kern enabled."
216
+ - "Create body text at 20px figmaSans weight 330, line-height 1.40, letter-spacing -0.14px. Pure Black on white."
217
+
218
+ ### Iteration Guide
219
+ 1. Use variable font weight stops precisely: 320, 330, 340, 450, 480, 540, 700
220
+ 2. Interface is always black + white — never add colors to chrome
221
+ 3. Dashed focus outlines, not solid
222
+ 4. Letter-spacing is always negative on body, always positive on mono labels
223
+ 5. Pill (50px) for buttons/tabs, circle (50%) for icon buttons