@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,255 @@
1
+ /* ─────────────────────────────────────────────────────────────────────────
2
+ * design-systems/shadcn/tokens.css
3
+ *
4
+ * Structured token bindings for "shadcn" — the open-source copy-paste
5
+ * React component library whose "brand" is the calm, neutral baseline
6
+ * that thousands of teams extend. shadcn is intentionally NOT a loud
7
+ * identity: zinc/slate neutrals, near-black primary, 8px default
8
+ * radius, restrained spacing, Inter/Geist body text, and accessibility
9
+ * non-negotiables (visible focus, AA contrast, semantic state colors).
10
+ *
11
+ * This file pre-compiles the values described in `DESIGN.md` into the
12
+ * shared schema. Agents generating an artifact for shadcn should paste
13
+ * the `:root` block verbatim into the first `<style>` of the artifact,
14
+ * then reference everything via `var(--*)`.
15
+ *
16
+ * Brand-specific schema decisions (each one bends a schema convention
17
+ * to match shadcn's voice rather than the cross-brand default):
18
+ *
19
+ * 1. `--accent` is `#000000` (DESIGN.md §2 Primary), NOT a chromatic
20
+ * hue. shadcn's primary action button is pure black on white —
21
+ * that IS the accent moment. Because pure black cannot darken
22
+ * further visibly, `--accent-hover` and `--accent-active` mix
23
+ * TOWARD WHITE (not toward black like the schema default). This
24
+ * mirrors the shadcn convention of `bg-primary hover:bg-primary/90`
25
+ * where the hover lifts the fill instead of pressing it deeper.
26
+ *
27
+ * 2. `--fg` is `#111827` (DESIGN.md §2 Text — Tailwind slate-900),
28
+ * NOT `#000000`. Pure-black body copy against pure-white surface
29
+ * reads as harsh; the slight cool slate undertone is part of the
30
+ * shadcn neutral system. Keeping `--fg` distinct from `--accent`
31
+ * preserves the "body text" vs "decisive CTA" semantic split.
32
+ *
33
+ * 3. `--fg-2`, `--meta`, `--surface-warm`, `--border-soft` collapse
34
+ * to their schema siblings via `var()`. shadcn is a monochrome
35
+ * baseline with one foreground tier, one canvas tier, one border
36
+ * weight — brands extending shadcn (e.g. a Warm theme) rebind
37
+ * these slots independently. The names still exist so shared
38
+ * components targeting the full ramp resolve.
39
+ *
40
+ * 4. `--focus-ring` is the signature shadcn pattern: a 2px halo of
41
+ * `var(--bg)` (the offset) wrapped by a 2px ring of `var(--accent)`
42
+ * (the focus indicator). This is the `ring-2 ring-offset-2`
43
+ * Tailwind utility every shadcn primitive inherits, expressed as
44
+ * a layered box-shadow so it works on dark surfaces, glass
45
+ * surfaces, and inside scrollers without the offset clipping.
46
+ *
47
+ * 5. `--radius-md` is `8px` — the canonical shadcn default
48
+ * (`--radius: 0.5rem` in the components.json starter). `--radius-sm`
49
+ * drops to `6px` so inputs and buttons feel one shade tighter
50
+ * than cards, matching the `calc(var(--radius) - 2px)` formula
51
+ * shadcn primitives use internally. The whole scale (6/8/12/9999)
52
+ * is restrained — shadcn rejects oversized pill cards.
53
+ *
54
+ * 6. Type scale tops out at `48px` (`--text-4xl`). DESIGN.md §3
55
+ * caps the documented scale at 32px; we extend to 40/48 for
56
+ * marketing hero treatments while keeping `--tracking-display`
57
+ * at a gentle `-0.02em` (not the aggressive `-0.05em` of brand-
58
+ * voice systems like Vercel). shadcn whispers; it does not shout.
59
+ *
60
+ * 7. `--elev-raised` is a two-layer hairline shadow (1px + 3px
61
+ * ambient), mirroring Tailwind's `shadow-sm` — shadcn cards lift
62
+ * with a whisper, not a blur. No inner glow, no atmospheric
63
+ * wash; the brand voice is functional surface, not theatre.
64
+ *
65
+ * 8. Section rhythm is generous (`96 / 64 / 48`) and `--container-max`
66
+ * is `1280px` (`max-w-7xl`), the canonical shadcn marketing-page
67
+ * width. Gutter narrows to `16px` on phone but never edge-bleeds
68
+ * body copy — readability is non-negotiable.
69
+ *
70
+ * 9. `--font-mono` is "Fira Code" (DESIGN.md §3), kept distinct
71
+ * from the body Geist so code blocks and `kbd` carry a visible
72
+ * "this is technical content" signal. The system-mono fallback
73
+ * stack guarantees code remains legible if Fira Code is missing.
74
+ *
75
+ * Source contracts:
76
+ * - Standard token names: design-systems/_schema/tokens.schema.ts
77
+ * - A2 fallback parity: design-systems/_schema/defaults.css
78
+ * - Lint enforcement: apps/daemon/src/lint-artifact.ts
79
+ *
80
+ * Keep this file additive: never invent token names not also
81
+ * documented in DESIGN.md or the schema. Geist and Fira Code are
82
+ * referenced through OS-fallback stacks so artifacts render
83
+ * acceptably even when the faces are not loaded; any host that wants
84
+ * the real faces links them externally.
85
+ * ─────────────────────────────────────────────────────────────────── */
86
+
87
+ :root {
88
+ /* ─── Surface (3 levels — schema slot) ─────────────────────────────
89
+ * Pure white canvas, pure white cards. shadcn intentionally rejects
90
+ * background-color variation between sections — depth comes from the
91
+ * border and the elevation hairline, not from tinting surfaces
92
+ * warmer or cooler. `--surface-warm` aliases to surface because the
93
+ * brand has no third tier; extending themes (e.g. a "Stone" preset)
94
+ * rebind independently. */
95
+ --bg: #ffffff;
96
+ --surface: #ffffff;
97
+ --surface-warm: var(--surface); /* alias — shadcn has no warm tier */
98
+
99
+ /* ─── Foreground ramp (4 levels) ──────────────────────────────────
100
+ * shadcn differentiates two text levels in its base preset: primary
101
+ * (slate-900) and muted (slate-500). `--fg-2` aliases to `--fg` and
102
+ * `--meta` aliases to `--muted` so shared components targeting the
103
+ * richer ramp still resolve. `--fg` is `#111827` (slate-900) NOT
104
+ * `#000000` — the slight cool undertone is part of the neutral
105
+ * system. Pure black is reserved for `--accent` (the decisive CTA). */
106
+ --fg: #111827; /* slate-900 — body text (DESIGN.md §2 Text) */
107
+ --fg-2: var(--fg); /* alias — shadcn has no secondary fg tier */
108
+ --muted: #64748b; /* slate-500 — captions, subtext, descriptions */
109
+ --meta: var(--muted); /* alias — shadcn has no metadata tier */
110
+
111
+ /* ─── Border (2 levels) ──────────────────────────────────────────
112
+ * Single hairline weight. shadcn uses real `border: 1px solid` (not
113
+ * shadow-as-border like Vercel) — the explicit edge is part of the
114
+ * copy-paste primitive's "you can see exactly what's drawn" voice.
115
+ * `--border-soft` aliases for brands that need a row-separator vs
116
+ * card-edge distinction; shadcn does not. */
117
+ --border: #e5e7eb; /* slate-200 — card edge, input edge, dividers */
118
+ --border-soft: var(--border); /* alias — shadcn has no soft tier */
119
+
120
+ /* ─── Accent ─────────────────────────────────────────────────────
121
+ * Pure black per DESIGN.md §2 ("Primary: #000000 — Favor Primary
122
+ * for CTA emphasis"). shadcn's primary button is `bg-primary` =
123
+ * near-black on white; that IS the accent moment. The hover and
124
+ * active states mix toward WHITE (not toward black) because pure
125
+ * black cannot darken further — this mirrors the shadcn idiom
126
+ * `bg-primary hover:bg-primary/90` where the fill lightens slightly
127
+ * on pointer-over to signal interactivity. */
128
+ --accent: #000000; /* DESIGN.md §2 Primary — CTA fill */
129
+ --accent-on: #ffffff; /* white label on black */
130
+ --accent-hover: color-mix(in oklab, var(--accent), white 10%); /* ~#1a1a1a — lift, don't press */
131
+ --accent-active: color-mix(in oklab, var(--accent), white 18%); /* ~#2e2e2e — clear pressed delta */
132
+
133
+ /* ─── Semantic ───────────────────────────────────────────────────
134
+ * Reserved for state, not decoration. Values come directly from
135
+ * DESIGN.md §2 — Tailwind green-600 / amber-600 / red-600. Keep
136
+ * total semantic-color pixels under 5% of any surface; shadcn
137
+ * primitives use them for badges and validation only, never as
138
+ * filler chrome. */
139
+ --success: #16a34a;
140
+ --warn: #d97706; /* DESIGN.md §2 Warning — amber-600, not the schema yellow */
141
+ --danger: #dc2626;
142
+
143
+ /* ─── Typography ─────────────────────────────────────────────────
144
+ * Geist Sans for display and body per DESIGN.md §3 — modern, neutral,
145
+ * humanist sans that ships open-source. Geist scales cleanly from
146
+ * 12px UI to 48px hero without re-weighting. Fira Code for monospace
147
+ * (DESIGN.md §3 mono) lends code blocks the legible ligature-friendly
148
+ * face shadcn examples gravitate toward. OS-mono fallback covers
149
+ * environments without Fira Code installed. */
150
+ --font-display: "Geist", "Geist Sans", -apple-system, system-ui, "Segoe UI", Arial, sans-serif;
151
+ --font-body: "Geist", "Geist Sans", -apple-system, system-ui, "Segoe UI", Arial, sans-serif;
152
+ --font-mono: "Fira Code", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
153
+
154
+ /* Type scale (px) — DESIGN.md §3 lists 12/14/16/20/24/32; we extend
155
+ * 40/48 for marketing hero treatments. The scale stays restrained
156
+ * (no 64+ display) because shadcn's voice is "build your own", not
157
+ * "look at this hero". Hierarchy comes from weight + spacing, not
158
+ * px excess. */
159
+ --text-xs: 12px; /* caption, meta, badge */
160
+ --text-sm: 14px; /* button, input, secondary body */
161
+ --text-base: 16px; /* body baseline */
162
+ --text-lg: 20px; /* lede, featured paragraph */
163
+ --text-xl: 24px; /* card title, H3 */
164
+ --text-2xl: 32px; /* section title, H2 */
165
+ --text-3xl: 40px; /* H1 */
166
+ --text-4xl: 48px; /* display hero (marketing only) */
167
+
168
+ /* Body leading at 1.5 (shadcn docs default), tight leading at 1.2
169
+ * for headings. Display tracking is a gentle `-0.02em` — shadcn
170
+ * whispers; the aggressive `-0.05em` compression of brand-voice
171
+ * systems would override the calm baseline that makes shadcn
172
+ * recognizable. */
173
+ --leading-body: 1.5;
174
+ --leading-tight: 1.2;
175
+ --tracking-display: -0.02em;
176
+
177
+ /* ─── Spacing ────────────────────────────────────────────────────
178
+ * 4px-grid base scale. DESIGN.md §4 documents 4/8/12/16/24/32; the
179
+ * schema requires 8 tiers so we add 20 and 48 for breathing room
180
+ * between cards and inside marketing forms. Tailwind/shadcn users
181
+ * map these to `space-1` → `space-12` mentally without translation. */
182
+ --space-1: 4px;
183
+ --space-2: 8px;
184
+ --space-3: 12px;
185
+ --space-4: 16px;
186
+ --space-5: 20px;
187
+ --space-6: 24px;
188
+ --space-8: 32px;
189
+ --space-12: 48px;
190
+
191
+ /* Section rhythm — generous but never gallery-empty. 96px desktop
192
+ * matches shadcn marketing pages (py-24 in Tailwind units), 64px
193
+ * tablet preserves the documented hierarchy, 48px phone collapses
194
+ * without losing the breathing room that distinguishes shadcn
195
+ * sections from dense dashboard layouts. */
196
+ --section-y-desktop: 96px;
197
+ --section-y-tablet: 64px;
198
+ --section-y-phone: 48px;
199
+
200
+ /* ─── Radius ─────────────────────────────────────────────────────
201
+ * The canonical shadcn default is `--radius: 0.5rem` (8px) and the
202
+ * smaller variants compute as `calc(var(--radius) - Npx)`. We bind:
203
+ * sm 6px → buttons, inputs (the `calc(--radius - 2px)` tier)
204
+ * md 8px → cards, modals (the documented baseline)
205
+ * lg 12px → featured containers (the `calc(--radius + 4px)` tier)
206
+ * pill 9999px → badges, avatars, capsule chips */
207
+ --radius-sm: 6px;
208
+ --radius-md: 8px;
209
+ --radius-lg: 12px;
210
+ --radius-pill: 9999px;
211
+
212
+ /* ─── Elevation (3 levels) ───────────────────────────────────────
213
+ * Tailwind-`shadow-sm` philosophy: two whisper-soft layers, no
214
+ * atmospheric blur. shadcn rejects the multi-layer card stack
215
+ * because the brand voice is "you can read exactly what's drawn",
216
+ * not "look how lifted this is". `--elev-ring` carries hairline
217
+ * edges where a real border would shift layout; `--elev-raised`
218
+ * adds the 1px+3px ambient pair for dropdowns, popovers, and
219
+ * floating panels. */
220
+ --elev-flat: none;
221
+ --elev-ring: 0 0 0 1px var(--border);
222
+ --elev-raised:
223
+ 0 1px 2px 0 color-mix(in oklab, var(--fg), transparent 92%),
224
+ 0 1px 3px 0 color-mix(in oklab, var(--fg), transparent 88%);
225
+
226
+ /* ─── Focus ring ─────────────────────────────────────────────────
227
+ * The shadcn signature: 2px halo of canvas color (the "offset")
228
+ * wrapped by a 2px ring of accent. This is the `ring-2 ring-offset-2
229
+ * ring-ring` Tailwind utility every shadcn primitive inherits,
230
+ * expressed as a layered box-shadow so the offset reads cleanly on
231
+ * any surface (light, dark, glass) without the outline-offset
232
+ * caveats. DESIGN.md §6 explicitly requires "strong focus-visible
233
+ * states" — this is the rule, not a suggestion. */
234
+ --focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);
235
+
236
+ /* ─── Motion ─────────────────────────────────────────────────────
237
+ * Two durations + one easing curve, per DESIGN.md §7 "short,
238
+ * purposeful transitions (150–250ms) with stable easing". shadcn
239
+ * primitives are quick and unobtrusive — never a long-form
240
+ * choreographed entrance. */
241
+ --motion-fast: 150ms;
242
+ --motion-base: 200ms;
243
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
244
+
245
+ /* ─── Layout ─────────────────────────────────────────────────────
246
+ * 1280px max content width (`max-w-7xl`) — the canonical shadcn
247
+ * marketing-page width that keeps line lengths comfortable on
248
+ * wide displays without edge-bleeding into 1440px+ territory.
249
+ * Gutters narrow to 16px on phone but never collapse to 0; shadcn
250
+ * preserves the visible inset that frames the column. */
251
+ --container-max: 1280px;
252
+ --container-gutter-desktop: 24px;
253
+ --container-gutter-tablet: 16px;
254
+ --container-gutter-phone: 16px;
255
+ }
@@ -0,0 +1,353 @@
1
+ # Design System Inspired by Shopify
2
+
3
+ > Category: E-Commerce & Retail
4
+ > E-commerce platform. Dark-first cinematic, neon green accent, ultra-light type.
5
+
6
+ ## 1. Visual Theme & Atmosphere
7
+
8
+ Shopify.com is a dark-first digital theatre — a website that stages its commerce platform like a cinematic premiere. The entire experience unfolds against an abyss of near-black surfaces that carry the faintest whisper of deep forest green (`#02090A`, `#061A1C`, `#102620`), creating a nocturnal atmosphere that feels less like a SaaS marketing page and more like an exclusive product reveal at a tech keynote. This darkness isn't cold or corporate — it's the warm, enveloping dark of a luxury experience, like sitting in the front row of a darkened auditorium.
9
+
10
+ The typography is the undeniable star. NeueHaasGrotesk — a refined Helvetica descendant — appears at monumental scale (96px) with impossibly light weight (330-400), creating headlines that feel etched in light rather than printed in ink. The `ss03` OpenType feature gives letterforms a distinctive character that separates Shopify's type from generic Helvetica usage. Below the display layer, Inter Variable handles body text with surgical precision, using equally unusual variable weights (420, 450, 550) that live in the spaces between traditional weight stops. This precision signals a company that sweats every detail.
11
+
12
+ Color is used with extreme restraint. The primary accent is Shopify Neon Green (`#36F4A4`) — an electric mint that appears exclusively on focus rings and accent highlights, pulsing like a bioluminescent signal against the dark canvas. Softer green tints (Aloe `#C1FBD4`, Pistachio `#D4F9E0`) provide atmospheric washes. White is the only text color that matters on dark surfaces, while a zinc-based neutral scale (`#A1A1AA` through `#3F3F46`) handles the hierarchy of quiet information. The result is a design that makes commerce technology feel like it belongs in a science-fiction future.
13
+
14
+ **Key Characteristics:**
15
+ - Dark-first design with deep forest-teal undertones (not pure black)
16
+ - Ultra-light display typography (weight 330) at monumental scale (96px) creating an ethereal presence
17
+ - Neon Green (`#36F4A4`) as the singular high-energy accent against darkness
18
+ - Full-pill buttons (9999px radius) as the primary interactive shape
19
+ - Layered, multi-stage box shadows creating photographic depth
20
+ - Product screenshots embedded in dark UI contexts, matching the surrounding darkness
21
+ - Zinc-based neutral scale for text hierarchy — balanced between warm and cool
22
+
23
+ ## 2. Color Palette & Roles
24
+
25
+ ### Primary
26
+
27
+ - **Shopify White** (`#FFFFFF`): Primary text on dark surfaces, button fills, high-contrast elements
28
+ - **Shopify Black** (`#000000`): Body background, button text on white, maximum contrast base (--color-shade-100)
29
+
30
+ ### Secondary & Accent
31
+
32
+ - **Neon Green** (`#36F4A4`): The signature accent — focus rings, interactive highlights, active state indicators. Electric and bioluminescent
33
+ - **Aloe** (`#C1FBD4`): Soft green wash for decorative backgrounds, atmospheric cards (--color-aloe-10)
34
+ - **Pistachio** (`#D4F9E0`): Lightest green tint for subtle surface differentiation (--color-pistachio-10)
35
+
36
+ ### Surface & Background
37
+
38
+ - **Void** (`#000000`): Root page background — true black for maximum depth
39
+ - **Deep Teal** (`#02090A`): Card surfaces, content containers — near-black with green undertone
40
+ - **Dark Forest** (`#061A1C`): Section backgrounds with visible green character
41
+ - **Forest** (`#102620`): Elevated dark surfaces, header backgrounds — the warmest dark shade
42
+ - **Dark Card Border** (`#1E2C31`): Card borders on dark surfaces, subtle boundary definition
43
+
44
+ ### Neutrals & Text (Zinc Scale)
45
+
46
+ - **Shade-30** (`#D4D4D8`): Lightest neutral, barely-there borders on dark (--color-shade-30)
47
+ - **Muted Text** (`#A1A1AA`): Secondary text, metadata, descriptions — the quiet voice
48
+ - **Shade-50** (`#71717A`): Tertiary text, timestamps, least important info (--color-shade-50)
49
+ - **Shade-60** (`#52525B`): Disabled text, decorative neutrals (--color-shade-60)
50
+ - **Shade-70** (`#3F3F46`): Subtle dividers, barely-visible UI boundaries (--color-shade-70)
51
+ - **Light Border** (`#E4E4E7`): Borders on light surfaces (rare — only in light-mode modals)
52
+
53
+ ### Semantic & Accent
54
+
55
+ - **Link Muted** (`#9797A2`): Muted link text with underline decoration
56
+ - **Link Sage** (`#9DABAD`): Teal-tinted muted links
57
+ - **Link Lavender** (`#BDBDCA`): Lighter link variant
58
+ - **Link Mint** (`#99B3AD`): Green-tinted link variant for themed sections
59
+
60
+ ### Gradient System
61
+
62
+ - **Dark Teal Wash**: Radial gradient from `#102620` center to `#02090A` edge — used behind product showcases
63
+ - **Green Atmospheric**: Subtle green-tinted ambient gradients behind hero sections, creating depth without solid colors
64
+ - **Spotlight**: Focused bright area fading to black — creates keynote-style presentation lighting
65
+
66
+ ## 3. Typography Rules
67
+
68
+ ### Font Family
69
+
70
+ **Display:** NeueHaasGrotesk (refined Helvetica descendant, variable font)
71
+ - Fallbacks: Helvetica, Arial, sans-serif
72
+ - OpenType features: `ss03` (stylistic set 3 — distinctive letterform alternates)
73
+ - Available weights: 330, 360, 400, 500, 750 (variable)
74
+ - Used for all headings, hero text, and large display elements
75
+
76
+ **Body:** Inter-Variable
77
+ - Fallbacks: Helvetica, Arial, sans-serif
78
+ - OpenType features: `ss03`
79
+ - Available weights: 400, 420, 450, 500, 550 (variable)
80
+ - Used for body text, links, buttons, UI elements
81
+
82
+ **Mono:** ui-monospace
83
+ - Fallbacks: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New
84
+ - Used for code snippets, data labels, technical content
85
+
86
+ ### Hierarchy
87
+
88
+ | Role | Size | Weight | Line Height | Letter Spacing | Notes |
89
+ |------|------|--------|-------------|----------------|-------|
90
+ | Display XL | 96px | 400 | 1.00 | — | NeueHaasGrotesk, hero headlines, "ss03" |
91
+ | Display XL Bold | 90.74px | 750 | 1.00 | 4.54px | NeueHaasGrotesk, emphasis display |
92
+ | Display XL Tracked | 96px | 400 | 1.00 | 2.4px | NeueHaasGrotesk, spaced display |
93
+ | Display Light | 96px | 330 | 0.96 | — | NeueHaasGrotesk, ethereal display |
94
+ | Heading 1 | 70px | 330 | 1.00 | — | NeueHaasGrotesk, section titles |
95
+ | Heading 2 | 55px | 330 | 1.16 | — | NeueHaasGrotesk, subsections |
96
+ | Heading 3 | 48px | 330 | 1.14 | — | NeueHaasGrotesk, feature titles |
97
+ | Heading 4 | 32px | 360 | 1.14 | 0.32px | NeueHaasGrotesk, card headings |
98
+ | Heading 5 | 28px | 500 | 1.28 | 0.42px | NeueHaasGrotesk, small headings |
99
+ | Heading 6 | 24px | 400 | 1.14 | 0.36px | NeueHaasGrotesk, minor headings |
100
+ | Body Large | 20px | 500 | 1.40 | 0.3px | NeueHaasGrotesk / Inter, lead paragraphs |
101
+ | Body | 18px | 400 | 1.56 | — | Inter-Variable, standard body |
102
+ | Body Medium | 18px | 550 | 1.56 | — | Inter-Variable, emphasized body |
103
+ | Body Small | 16px | 400 | 1.50 | — | Inter / NeueHaasGrotesk, compact body |
104
+ | Body Small Medium | 16px | 420 | 1.50 | — | Inter-Variable, slightly emphasized |
105
+ | Button | 16px | 400 | 1.50 | — | NeueHaasGrotesk, CTA text |
106
+ | Nav Link | 18px | 500 | 1.25 | 0.72px | NeueHaasGrotesk, navigation items |
107
+ | Caption | 14px | 500 | 1.49 | 0.28px | NeueHaasGrotesk / Inter, metadata |
108
+ | Caption Medium | 14px | 550 | 1.49 | 0.28px | Inter-Variable, emphasized caption |
109
+ | Overline | 15.36px | 400 | 1.50 | 1.54px | NeueHaasGrotesk, wide-tracked labels |
110
+ | Micro | 13px | 500 | 1.50 | -0.13px | Inter, tight-tracked small text |
111
+ | Label | 12px | 400 | 1.20 | 0.72px | Inter, uppercase labels |
112
+ | Code | 16px | 400 | 1.50 | — | ui-monospace, uppercase, code blocks |
113
+ | Code Small | 12px | 400 | 1.33 | — | ui-monospace, uppercase, inline code |
114
+
115
+ ### Principles
116
+
117
+ Shopify's typography is a masterclass in variable font precision. The display layer lives almost exclusively at weights 330-400 — featherweight text that appears to hover above the dark background like projected light. This is the opposite of the bold, heavy approach most SaaS sites take: where others shout, Shopify whispers at scale. The 96px headlines at weight 330 create a paradox of enormous size and delicate stroke that feels both monumental and fragile. The `ss03` OpenType feature activates a stylistic set that gives specific characters (likely 'a', 'g', and certain numerals) a more refined appearance, distinguishing Shopify's typography from standard Helvetica Neue usage. Inter Variable handles the body layer with surgical precision, using weights like 420 and 550 that exist between the traditional stops — every piece of text has exactly the visual weight it needs.
118
+
119
+ ## 4. Component Stylings
120
+
121
+ ### Buttons
122
+
123
+ **Primary (White Fill)**
124
+ - Background: White (`#FFFFFF`)
125
+ - Text: Black (`#000000`)
126
+ - Border: 2px solid transparent
127
+ - Border radius: full pill (9999px)
128
+ - Padding: 12px 26px 12px 16px (asymmetric — more right padding for visual balance)
129
+ - Hover: slight opacity reduction or background shift
130
+ - Focus: 2px `#36F4A4` (Neon Green) outline ring
131
+ - Transition: all 200ms ease
132
+
133
+ **Secondary (Ghost/Outlined)**
134
+ - Background: transparent
135
+ - Text: White (`#FFFFFF`)
136
+ - Border: 2px solid White (`#FFFFFF`)
137
+ - Border radius: full pill (9999px)
138
+ - Padding: 12px 26px 12px 16px
139
+ - Hover: fills to white bg with black text
140
+ - Focus: 2px `#36F4A4` outline
141
+
142
+ **Badge/Tag (Neutral Filled)**
143
+ - Background: `rgba(255, 255, 255, 0.2)` (frosted glass)
144
+ - Text: White (`#FFFFFF`)
145
+ - Border: none
146
+ - Border radius: subtly rounded (4px)
147
+ - Padding: 12px 16px
148
+ - Font: 16px regular
149
+
150
+ ### Cards & Containers
151
+
152
+ - Background: Deep Teal (`#02090A`) on dark pages
153
+ - Border: 1px solid `#1E2C31` (Dark Card Border) — barely visible boundary
154
+ - Border radius: 8px for standard cards, 12px for featured cards, 20px 20px 0 0 for top-rounded cards
155
+ - Shadow: Multi-layered system:
156
+ - Resting: `rgba(0,0,0,0.1) 0px 0px 0px 1px, rgba(0,0,0,0.1) 0px 2px 2px, rgba(0,0,0,0.1) 0px 4px 4px, rgba(0,0,0,0.1) 0px 8px 8px` + `rgba(255,255,255,0.03) 0px 1px 0px inset`
157
+ - The inset white highlight creates a subtle top-edge glow
158
+ - Hover: shadow expands, card may slightly brighten
159
+ - Transition: box-shadow 300ms ease, transform 200ms ease
160
+
161
+ ### Inputs & Forms
162
+
163
+ - Background: transparent or Dark Forest (`#061A1C`)
164
+ - Text: White (`#FFFFFF`)
165
+ - Border: 1px solid `#3F3F46` (Shade-70)
166
+ - Border radius: 8px
167
+ - Padding: 12px 16px
168
+ - Focus: 2px solid `#36F4A4` (Neon Green focus ring)
169
+ - Placeholder: Shade-50 (`#71717A`)
170
+ - Transition: border-color 200ms ease
171
+
172
+ ### Navigation
173
+
174
+ - Background: transparent (overlaid on dark hero), becomes Forest (`#102620`) on scroll
175
+ - Height: ~64px
176
+ - Left: Shopify wordmark logo (SVG, white on dark)
177
+ - Center/Right: nav links in 18px/500 NeueHaasGrotesk, white, letter-spacing 0.72px
178
+ - CTA: White pill button "Start for free" (right)
179
+ - Secondary CTA: Ghost button with white border
180
+ - Hover: links shift to Muted Text (`#A1A1AA`) or gain underline
181
+ - Mobile: hamburger menu, full-screen dark overlay
182
+ - Transition: background 300ms ease on scroll
183
+
184
+ ### Image Treatment
185
+
186
+ - Product screenshots: embedded in dark UI contexts, matching the surrounding darkness
187
+ - Admin interface previews: shown on dark backgrounds with subtle card borders
188
+ - Aspect ratios: varied — hero images are wide (16:9-ish), feature shots are flexible
189
+ - All images sit flush within dark containers — no bright borders or frames
190
+ - Lazy loading with dark placeholder surfaces
191
+
192
+ ### Trust Indicators
193
+
194
+ - Statistics displayed prominently: "15+" (years), "150M+" (buyers)
195
+ - Numbers at display scale in NeueHaasGrotesk
196
+ - Partner/developer ecosystem callout sections
197
+ - Dark-themed testimonials integrated into the page flow
198
+
199
+ ## 5. Layout Principles
200
+
201
+ ### Spacing System
202
+
203
+ Base unit: 8px
204
+
205
+ | Token | Value | Use |
206
+ |-------|-------|-----|
207
+ | space-1 | 4px | Tight inline gaps |
208
+ | space-2 | 8px | Base unit, icon gaps |
209
+ | space-3 | 12px | Card padding, tight margins |
210
+ | space-4 | 16px | Standard element padding |
211
+ | space-5 | 24px | Card gaps, section padding |
212
+ | space-6 | 28px | Medium section spacing |
213
+ | space-7 | 32px | Section breaks |
214
+ | space-8 | 36px | Large padding |
215
+ | space-9 | 40px | Major section padding |
216
+ | space-10 | 64px | Hero section padding, large gaps |
217
+
218
+ ### Grid & Container
219
+
220
+ - Max container width: ~1280px (centered)
221
+ - Hero: full-width, edge-to-edge dark background with centered text
222
+ - Feature sections: 2-column layouts with text and product screenshots
223
+ - Stats sections: horizontal layout with large numbers
224
+ - Horizontal padding: 64px desktop, 32px tablet, 16px mobile
225
+ - Grid gap: 24-32px between major content blocks
226
+
227
+ ### Whitespace Philosophy
228
+
229
+ Shopify's whitespace strategy is theatrical. Sections are separated by vast expanses of dark space — 80px to 120px of pure black breathing room — that create the pacing of a presentation, not a webpage. Each content block is its own "slide" in a keynote-style scroll. Within sections, spacing is tighter and more deliberate, creating focal density against the expansive void. The contrast between macro-level emptiness and micro-level precision is what gives the site its cinematic cadence.
230
+
231
+ ### Border Radius Scale
232
+
233
+ | Value | Context |
234
+ |-------|---------|
235
+ | 4px | Tags, badges, micro-elements |
236
+ | 8px | Standard cards, inputs, video containers |
237
+ | 12px | Featured cards, image containers, buttons (non-pill) |
238
+ | 20px | Top-rounded cards (20px 20px 0 0), modal headers |
239
+ | 340px | Large rounded decorative elements |
240
+ | 9999px | Pill buttons, pill badges, nav elements |
241
+
242
+ ## 6. Depth & Elevation
243
+
244
+ | Level | Treatment | Use |
245
+ |-------|-----------|-----|
246
+ | Base | No shadow, dark surface | Default page background |
247
+ | Subtle | `rgba(0,0,0,0.1) 0px 0px 0px 1px` + inset white glow | Resting cards |
248
+ | Medium | Multi-layer: 1px ring + 2px + 4px + 8px shadow stack | Elevated cards, featured sections |
249
+ | High | `rgba(0,0,0,0.25) 0px 25px 50px -12px` | Modals, dropdowns, overlays |
250
+ | Focus | `0px 0px 0px 2px #36F4A4` | Keyboard focus ring (Neon Green) |
251
+
252
+ Shopify's shadow system is unusually sophisticated. Rather than single-value shadows, cards use a stacked, multi-layer approach: a 1px ring for boundary definition, 2px/4px/8px progressive blurs for natural light falloff, and a delicate inset white glow (`rgba(255,255,255,0.03)`) that simulates a top-lit glass surface. On dark backgrounds, shadows darken from already-dark surfaces, so the shadows function more as "ambient occlusion" than traditional elevation — the card appears to sink slightly into the surface rather than float above it.
253
+
254
+ ### Decorative Depth
255
+
256
+ - **Dark teal gradients**: Ambient radial washes behind hero sections and product showcases
257
+ - **Spotlight effects**: Bright centered areas fading to black, creating keynote-style theatrical lighting
258
+ - **Edge glow**: Subtle light colored edges on dark cards via inset box-shadow
259
+ - **Green atmospheric halos**: Faint green tints in background gradients, echoing the brand accent
260
+
261
+ ## 7. Do's and Don'ts
262
+
263
+ ### Do
264
+
265
+ - Use the dark teal-black surface hierarchy (Void → Deep Teal → Dark Forest → Forest) for depth
266
+ - Keep display typography at weight 330-400 — the ethereal lightness is the design's signature
267
+ - Use Neon Green (`#36F4A4`) exclusively for focus states and critical accent highlights
268
+ - Apply 9999px radius to all primary CTA buttons — the full pill is non-negotiable
269
+ - Use the multi-layered shadow system for card elevation — single shadows look flat
270
+ - Maintain the `ss03` OpenType feature across all text — it's part of the typographic identity
271
+ - Use Inter Variable for body text and NeueHaasGrotesk for headings — never mix their roles
272
+ - Create theatrical spacing between sections (80px+) for cinematic pacing
273
+
274
+ ### Don't
275
+
276
+ - Don't use pure black (#000000) for text on dark backgrounds — use white (#FFFFFF) only
277
+ - Don't introduce warm colors (orange, red, yellow) — the palette is strictly cool (greens, teals, neutrals)
278
+ - Don't use font weights above 500 for NeueHaasGrotesk body text — heavy weights break the ethereal feel
279
+ - Don't apply green accents to large surfaces — Neon Green is for small, precise highlights only
280
+ - Don't use sharp corners (0px radius) on interactive elements — everything rounds
281
+ - Don't add bright backgrounds — the dark theme is fundamental, not optional
282
+ - Don't use single-layer box shadows — the stacked approach is the system
283
+ - Don't set line-height above 1.56 for body text — Shopify's text is relatively compact
284
+ - Don't mix NeueHaasGrotesk and Inter at the same size/role — their weight scales differ
285
+ - Don't use letter-spacing below 0 for headings — Shopify headings track neutral or positive
286
+
287
+ ## 8. Responsive Behavior
288
+
289
+ ### Breakpoints
290
+
291
+ | Name | Width | Key Changes |
292
+ |------|-------|-------------|
293
+ | Mobile | <640px | Single column, hamburger nav, display text scales to 48px, 16px padding |
294
+ | Tablet | 640-1024px | 2-column grids begin, display text at 70px, 32px padding |
295
+ | Desktop | 1024-1440px | Full layout, expanded nav, 96px display, 64px padding |
296
+ | Large Desktop | >1440px | Max-width container centered, increased section spacing |
297
+
298
+ ### Touch Targets
299
+
300
+ - Minimum touch target: 44x44px (WCAG AAA)
301
+ - Pill buttons: 48px height minimum with generous horizontal padding
302
+ - Nav links: 44px touch area
303
+ - Card surfaces: full card is tappable where linked
304
+
305
+ ### Collapsing Strategy
306
+
307
+ - **Navigation**: Full horizontal links → hamburger menu below 1024px; logo and CTA button remain visible
308
+ - **Hero section**: 96px display → 70px at tablet → 48px on mobile; maintains single-column center alignment
309
+ - **Feature sections**: 2-column text+image → stacked single column below 768px
310
+ - **Stats**: Horizontal row → stacked vertical on mobile
311
+ - **Section padding**: 64px → 40px → 24px → 16px as viewport narrows
312
+ - **Cards**: Grid → stack, maintaining full-width on mobile
313
+
314
+ ### Image Behavior
315
+
316
+ - Product screenshots: responsive within dark containers, maintain aspect ratio
317
+ - Hero images: full-width on all breakpoints, lazy loaded with dark placeholders
318
+ - Admin UI previews: scale proportionally, may crop on mobile
319
+ - All images use CDN (`cdn.shopify.com`) with responsive srcset
320
+
321
+ ## 9. Agent Prompt Guide
322
+
323
+ ### Quick Color Reference
324
+
325
+ - Primary CTA: Shopify White (`#FFFFFF`)
326
+ - Page background: Void Black (`#000000`)
327
+ - Card surface: Deep Teal (`#02090A`)
328
+ - Section bg: Dark Forest (`#061A1C`)
329
+ - Elevated bg: Forest (`#102620`)
330
+ - Accent: Neon Green (`#36F4A4`)
331
+ - Body text: White (`#FFFFFF`)
332
+ - Muted text: Muted (`#A1A1AA`)
333
+ - Border dark: Dark Card Border (`#1E2C31`)
334
+
335
+ ### Example Component Prompts
336
+
337
+ - "Create a hero section on true black (#000000) background with a 96px/330 NeueHaasGrotesk headline in white, a 20px/500 subtitle in #A1A1AA, and two pill buttons: white filled (9999px radius) and ghost with 2px white border"
338
+ - "Design a feature card on Deep Teal (#02090A) with 1px #1E2C31 border, 12px radius, multi-layer shadow (1px ring + 2px/4px/8px blur at 10% black), containing a 32px/360 white heading and 18px/400 #A1A1AA body text"
339
+ - "Build a stats section on Dark Forest (#061A1C) with 96px/750 white numbers (NeueHaasGrotesk), 16px/400 #A1A1AA descriptive labels, and generous 64px spacing between stat blocks"
340
+ - "Create a sticky nav with transparent background (becomes #102620 on scroll), white Shopify logo left, 18px/500 white nav links with 0.72px letter-spacing, and a white pill 'Start for free' button right"
341
+ - "Design a tag/badge with rgba(255,255,255,0.2) frosted glass background, 4px radius, 12px 16px padding, white 16px text — floating over a dark card surface"
342
+
343
+ ### Iteration Guide
344
+
345
+ When refining existing screens generated with this design system:
346
+ 1. Focus on ONE component at a time
347
+ 2. Reference specific color names and hex codes from this document
348
+ 3. Remember: this is a DARK-FIRST design — light surfaces are the exception, not the rule
349
+ 4. Display text should always feel feather-light (weight 330-400) — if it looks heavy, reduce the weight
350
+ 5. Neon Green (#36F4A4) is precious — use sparingly for focus and accent only
351
+ 6. The dark surface hierarchy (black → deep teal → dark forest → forest) creates subtle depth
352
+ 7. Shadows are multi-layered — a single `box-shadow` value won't capture the Shopify card feel
353
+ 8. `ss03` OpenType feature must be active on all text for typographic consistency