@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,258 @@
1
+ /* ─────────────────────────────────────────────────────────────────────────
2
+ * design-systems/lovable/tokens.css
3
+ *
4
+ * Structured token bindings for "Design System Inspired by Lovable".
5
+ * Warm parchment canvas, opacity-driven gray ramp, humanist Camera Plain
6
+ * Variable display type, borders-not-shadows for cards, inset-shadow
7
+ * tactility on dark CTAs.
8
+ *
9
+ * This file pre-compiles the values described in `DESIGN.md` into the
10
+ * shared schema. Agents generating an artifact for Lovable should paste
11
+ * the `:root` block verbatim into the first `<style>` of the artifact,
12
+ * then reference everything via `var(--*)`.
13
+ *
14
+ * Brand-specific schema decisions (each one bends a schema convention
15
+ * to match Lovable's voice rather than the cross-brand default):
16
+ *
17
+ * 1. `--bg` and `--surface` BOTH bind to `#f7f4ed` (Cream). DESIGN.md
18
+ * §4 is explicit: "Cards… background: #f7f4ed (matches page) — for
19
+ * seamless integration." Lovable's depth model is borders, not
20
+ * surface tinting, so a card and the page are the same color and
21
+ * `#eceae4` border carries the containment. `--surface-warm`
22
+ * collapses to `var(--surface)` because there is no second warm
23
+ * tier in the system.
24
+ *
25
+ * 2. `--fg` is `#1c1c1c` (Charcoal), not `#000000`. DESIGN.md §1 names
26
+ * the warmth as deliberate: "Not pure black — organic warmth." The
27
+ * gray ramp is opacity-driven — every "gray" in the system is the
28
+ * same charcoal hue at a different alpha — so `--fg-2` binds to
29
+ * `rgba(28, 28, 28, 0.83)` (the documented "strong secondary text"
30
+ * tier from §2) and `--meta` binds to `rgba(28, 28, 28, 0.4)`
31
+ * (the documented "interactive borders / placeholders" tier).
32
+ * `--muted` keeps the named gray `#5f5f5d` for body descriptions
33
+ * because that one tier is bound to a hex in DESIGN.md, not to an
34
+ * opacity stop.
35
+ *
36
+ * 3. `--border` is the warm `#eceae4` (Light Cream) divider line.
37
+ * `--border-soft` aliases to `var(--border)` because Lovable does
38
+ * not differentiate inner / outer border tiers — DESIGN.md §1 names
39
+ * a SECOND interactive border at `rgba(28, 28, 28, 0.4)`, but that
40
+ * is the foreground-meta token (already bound above) used as a
41
+ * button outline, not a separator-tier border.
42
+ *
43
+ * 4. `--accent` is Lovable Pink (`#ff4d8d`), even though primary CTAs
44
+ * in Lovable are Charcoal (`var(--fg)`). DESIGN.md §6 calls out a
45
+ * "soft, warm multi-color gradient wash (pinks, oranges, blues)
46
+ * behind hero" and §4 Links references `hsl(var(--primary))` for
47
+ * hover — the brand mark itself is a pink → coral gradient. The
48
+ * accent slot is therefore reserved for the chromatic moments
49
+ * where the brand pink actually appears (link hover, badge tints,
50
+ * focus moments on warm controls). components.html encodes the
51
+ * "primary CTA = Charcoal" pattern via `background: var(--fg)`,
52
+ * so `--accent` does not get burned on every button.
53
+ *
54
+ * 5. `--focus-ring` is the Tailwind ring blue at 50% alpha
55
+ * (`rgba(59, 130, 246, 0.5)`), NOT a pink/charcoal-derived ring.
56
+ * DESIGN.md §6 names this verbatim as "Ring (Accessibility):
57
+ * `rgba(59,130,246,0.5)` 2px ring" — it is the one cool moment in
58
+ * an otherwise warm palette, justified by accessibility (the warm
59
+ * pink at low alpha would not pass contrast on the cream canvas).
60
+ * A 2px sharp ring, not the schema's 3px alpha glow.
61
+ *
62
+ * 6. `--elev-raised` is the soft warm focus shadow
63
+ * (`0 4px 12px rgba(0, 0, 0, 0.1)`) — the same value DESIGN.md §6
64
+ * lists as "Focus (Level 3)". The signature multi-layer inset
65
+ * shadow on dark buttons (`rgba(255,255,255,0.2) 0 0.5px 0 inset,
66
+ * rgba(0,0,0,0.2) 0 0 0 0.5px inset, rgba(0,0,0,0.05) 0 1px 2px`)
67
+ * is component-specific and lives in components.html — it only
68
+ * reads on a dark surface, so generalizing it to a token would
69
+ * mis-paint cards on the cream canvas.
70
+ *
71
+ * 7. The type scale tops out at 60px (`--text-4xl`) per DESIGN.md §3
72
+ * "Display Hero, 60px Camera Plain weight 600". `--leading-tight`
73
+ * is `1.10` (the documented hero range 1.00–1.10) and
74
+ * `--tracking-display` is `-0.025em`, the em-relative form of
75
+ * "-1.5px at 60px" so compression scales proportionally with size.
76
+ * Body text stays at `normal` tracking — Camera Plain Variable's
77
+ * humanist warmth wants comfortable reading at 16px.
78
+ *
79
+ * 8. Section rhythm is generous: `128px` desktop, `80px` tablet,
80
+ * `64px` phone (`--section-y-*`). DESIGN.md §5 describes
81
+ * "lavish at section boundaries (80px–208px)"; we sit in the
82
+ * mid-range so the cream canvas feels cozy rather than empty.
83
+ * Container caps at `1200px` (DESIGN.md §5 documented max width).
84
+ *
85
+ * Source contracts:
86
+ * - Standard token names: design-systems/_schema/tokens.schema.ts
87
+ * - A2 fallback parity: design-systems/_schema/defaults.css
88
+ * - Lint enforcement: apps/daemon/src/lint-artifact.ts
89
+ *
90
+ * Keep this file additive: never invent token names not also documented
91
+ * in DESIGN.md or the schema. Camera Plain Variable does not need a CDN
92
+ * reference here — the font stack lists ui-sans-serif / system-ui
93
+ * fallbacks so artifacts render acceptably even when Camera Plain is
94
+ * not loaded, and any host that wants the real face links it externally.
95
+ * ─────────────────────────────────────────────────────────────────── */
96
+
97
+ :root {
98
+ /* ─── Surface ─────────────────────────────────────────────────────
99
+ * Cream is BOTH page and card background — DESIGN.md §4: "Cards…
100
+ * background: #f7f4ed (matches page) — for seamless integration".
101
+ * The warm divider line (#eceae4 border) is what separates a card
102
+ * from the page, not a different surface color. */
103
+ --bg: #f7f4ed; /* Cream — warm parchment foundation */
104
+ --surface: #f7f4ed; /* Cards reuse the canvas — borders contain */
105
+ --surface-warm: var(--surface); /* alias — Lovable has no second warm tier */
106
+
107
+ /* ─── Foreground ──────────────────────────────────────────────────
108
+ * Charcoal #1c1c1c, never pure black. The gray ramp is opacity-driven:
109
+ * every "gray" in the system is the same charcoal hue at a different
110
+ * alpha. --fg-2 binds independently to charcoal-83% (the documented
111
+ * strong-secondary tier). --muted is the named gray #5f5f5d for
112
+ * body descriptions / captions. --meta drops to charcoal-40% — the
113
+ * documented "interactive borders / placeholders" alpha. */
114
+ --fg: #1c1c1c; /* Charcoal — primary text, dark CTA bg */
115
+ --fg-2: rgba(28, 28, 28, 0.83); /* Charcoal 83% — strong secondary text */
116
+ --muted: #5f5f5d; /* Muted Gray — descriptions, captions */
117
+ --meta: rgba(28, 28, 28, 0.4); /* Charcoal 40% — placeholders, faded UI */
118
+
119
+ /* ─── Border ──────────────────────────────────────────────────────
120
+ * Light Cream #eceae4 is the canonical "warm divider line" — DESIGN.md
121
+ * §1 names it as the passive border used everywhere cards / images /
122
+ * sections need containment. --border-soft aliases because Lovable
123
+ * does not differentiate inner / outer separator tiers; depth comes
124
+ * from the inset-shadow signature on dark buttons (component-level),
125
+ * not from border weight. */
126
+ --border: #eceae4; /* Light Cream — card / image edge */
127
+ --border-soft: var(--border); /* alias — single border tier */
128
+
129
+ /* ─── Accent ──────────────────────────────────────────────────────
130
+ * Lovable Pink — the brand mark color. DESIGN.md §6 calls out a
131
+ * "soft, warm multi-color gradient wash (pinks, oranges, blues)"
132
+ * behind hero, and §4 Links references hsl(var(--primary)) for hover.
133
+ * Primary CTAs are CHARCOAL (var(--fg)), not pink — components.html
134
+ * encodes that pattern. --accent is reserved for the chromatic
135
+ * moments where the brand pink actually appears (link hover, badge
136
+ * tints, brand mark, soft gradient washes). */
137
+ --accent: #ff4d8d; /* Lovable Pink — brand mark / chromatic */
138
+ --accent-on: #ffffff; /* white label on saturated pink */
139
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
140
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
141
+
142
+ /* ─── Semantic ────────────────────────────────────────────────────
143
+ * Schema defaults — Lovable's marketing surface rarely renders state
144
+ * and DESIGN.md does not specify warm-shift overrides. Success / warn
145
+ * / danger remain tonally distinct from the warm-neutral palette so
146
+ * they read as semantic (not decorative) when they appear. */
147
+ --success: #16a34a;
148
+ --warn: #eab308;
149
+ --danger: #dc2626;
150
+
151
+ /* ─── Typography ──────────────────────────────────────────────────
152
+ * Camera Plain Variable carries the humanist personality — slightly
153
+ * rounded terminals and organic curves, distinct from the geometric
154
+ * sans-serifs typical of dev tools. The variable axis enables weight
155
+ * 480 for special display moments; standard weights are 400 (body /
156
+ * UI / links / buttons) and 600 (headings / emphasis). The
157
+ * ui-sans-serif / system-ui fallbacks ensure artifacts render
158
+ * acceptably even when Camera Plain is not loaded. */
159
+ --font-display: "Camera Plain Variable", "Camera Plain", ui-sans-serif, system-ui, sans-serif;
160
+ --font-body: "Camera Plain Variable", "Camera Plain", ui-sans-serif, system-ui, sans-serif;
161
+ --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
162
+
163
+ /* Type scale (px) — DESIGN.md §3 hierarchy table. Lovable reads BIG
164
+ * because of -0.025em (≈ -1.5px @ 60px) tracking compression on
165
+ * display, not because of an extreme px ceiling. The 18 / 20 / 36 /
166
+ * 48 / 60 ladder mirrors the documented Body Large → Card Title →
167
+ * Sub-heading → Section Heading → Display Hero progression. */
168
+ --text-xs: 12px; /* tiny metadata */
169
+ --text-sm: 14px; /* caption, link small, button small */
170
+ --text-base: 16px; /* body, button, link */
171
+ --text-lg: 18px; /* body large, introductions */
172
+ --text-xl: 20px; /* card title */
173
+ --text-2xl: 36px; /* sub-heading */
174
+ --text-3xl: 48px; /* section heading */
175
+ --text-4xl: 60px; /* display hero */
176
+
177
+ /* `--leading-tight` is 1.10 (the documented hero 1.00–1.10 range);
178
+ * `--leading-body` is 1.5 (the documented 16px body rhythm).
179
+ * `--tracking-display` is -0.025em — the em-relative form of
180
+ * Lovable's "-1.5px at 60px" so the compression scales proportionally
181
+ * with size. Body stays at normal tracking — Camera Plain's humanist
182
+ * warmth wants comfortable reading. */
183
+ --leading-body: 1.5;
184
+ --leading-tight: 1.10;
185
+ --tracking-display: -0.025em;
186
+
187
+ /* ─── Spacing ─────────────────────────────────────────────────────
188
+ * 8px base. DESIGN.md §5 names the full scale extending to 208px at
189
+ * the top end for editorial breathing room — those large tiers are
190
+ * inlined per-section in components.html (section-y-* below carries
191
+ * the structural rhythm). The shared schema covers the 4 → 48px
192
+ * structural ladder. */
193
+ --space-1: 4px;
194
+ --space-2: 8px;
195
+ --space-3: 12px;
196
+ --space-4: 16px;
197
+ --space-5: 20px;
198
+ --space-6: 24px;
199
+ --space-8: 32px;
200
+ --space-12: 48px;
201
+
202
+ /* Section rhythm — DESIGN.md §5: "lavish at section boundaries
203
+ * (80px–208px)". Sit at 128px desktop (the documented mid-range),
204
+ * collapse to 80 on tablet and 64 on phone. The cream background
205
+ * makes these expanses feel cozy rather than empty. */
206
+ --section-y-desktop: 128px;
207
+ --section-y-tablet: 80px;
208
+ --section-y-phone: 64px;
209
+
210
+ /* ─── Radius ──────────────────────────────────────────────────────
211
+ * DESIGN.md §5 radius scale: 4 / 6 / 8 / 12 / 16 / 9999. We bind the
212
+ * four schema tiers to: 6 (button / input / functional), 12 (card /
213
+ * image container), 16 (large container / footer), 9999 (action pill,
214
+ * icon toggle). The 4px and 8px tiers are component-specific and not
215
+ * part of the shared schema. */
216
+ --radius-sm: 6px; /* buttons, inputs, functional */
217
+ --radius-md: 12px; /* cards, image containers */
218
+ --radius-lg: 16px; /* large containers, footer sections */
219
+ --radius-pill: 9999px; /* action pills, icon toggles */
220
+
221
+ /* ─── Elevation ───────────────────────────────────────────────────
222
+ * Lovable's depth is intentionally shallow — DESIGN.md §6: "borders
223
+ * are the containment mechanism, not shadows". Three levels:
224
+ *
225
+ * --elev-flat no shadow (page surface, most cards)
226
+ * --elev-ring the warm 1px border-as-ring (cards, images)
227
+ * --elev-raised the soft warm focus shadow (active / focused moments)
228
+ *
229
+ * The signature multi-layer inset shadow on dark buttons (white-line
230
+ * highlight at 0.5px inset + dark ring + soft drop) is component-
231
+ * specific and lives in components.html — it only reads on a dark
232
+ * surface, so generalizing it would mis-paint cards on cream. */
233
+ --elev-flat: none;
234
+ --elev-ring: 0 0 0 1px var(--border);
235
+ --elev-raised: 0 4px 12px rgba(0, 0, 0, 0.1); /* soft warm focus float */
236
+
237
+ /* ─── Focus ring ──────────────────────────────────────────────────
238
+ * The Tailwind ring blue at 50% — DESIGN.md §6 lists this verbatim
239
+ * as the keyboard accessibility ring. The one cool moment in an
240
+ * otherwise warm palette, justified by accessibility (the warm pink
241
+ * accent at low alpha would not pass contrast on cream). 2px sharp
242
+ * ring, not the schema's 3px alpha glow. */
243
+ --focus-ring: 0 0 0 2px rgba(59, 130, 246, 0.5);
244
+
245
+ /* ─── Motion ──────────────────────────────────────────────────────
246
+ * Standard durations — Lovable's tactility is in opacity-on-active
247
+ * (0.8) and the inset-shadow press, not in timed choreography. */
248
+ --motion-fast: 150ms;
249
+ --motion-base: 200ms;
250
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
251
+
252
+ /* ─── Layout ──────────────────────────────────────────────────────
253
+ * 1200px max content width per DESIGN.md §5. */
254
+ --container-max: 1200px;
255
+ --container-gutter-desktop: 24px;
256
+ --container-gutter-tablet: 16px;
257
+ --container-gutter-phone: 12px;
258
+ }
@@ -0,0 +1,71 @@
1
+ # Design System Inspired by Luxury
2
+
3
+ > Category: Professional & Corporate
4
+ > High-end dark aesthetic with bold headings, monochromatic palette, and premium feel for luxury brand experiences.
5
+
6
+ ## 1. Visual Theme & Atmosphere
7
+
8
+ High-end dark aesthetic with bold headings, monochromatic palette, and premium feel for luxury brand experiences.
9
+
10
+ - **Visual style:** modern, bold, big headings
11
+ - **Color stance:** primary
12
+ - **Design intent:** Keep outputs recognizable to this style family while preserving usability and readability.
13
+
14
+ ## 2. Color
15
+
16
+ - **Primary:** `#FAFAFA` — Token from style foundations.
17
+ - **Secondary:** `#FAFAFA` — Token from style foundations.
18
+ - **Success:** `#16A34A` — Token from style foundations.
19
+ - **Warning:** `#D97706` — Token from style foundations.
20
+ - **Danger:** `#DC2626` — Token from style foundations.
21
+ - **Surface:** `#000000` — Token from style foundations.
22
+ - **Text:** `#FFFFFF` — Token from style foundations.
23
+ - **Neutral:** `#000000` — Derived from the surface token for official format compatibility.
24
+
25
+ - Favor Primary (#FAFAFA) for CTA emphasis.
26
+ - Use Surface (#000000) for large backgrounds and cards.
27
+ - Keep body copy on Text (#FFFFFF) for legibility.
28
+
29
+ ## 3. Typography
30
+
31
+ - **Scale:** desktop-first expressive scale
32
+ - **Families:** primary=Oswald, display=Oswald, mono=JetBrains Mono
33
+ - **Weights:** 100, 200, 300, 400, 500, 600, 700, 800, 900
34
+ - Headings should carry the style personality; body text should optimize scanability and contrast.
35
+
36
+ ## 4. Spacing & Grid
37
+
38
+ - **Spacing scale:** 8pt baseline grid
39
+ - Keep vertical rhythm consistent across sections and components.
40
+ - Align columns and modules to a predictable grid; avoid ad-hoc offsets.
41
+
42
+ ## 5. Layout & Composition
43
+
44
+ - Prefer clear content blocks with consistent internal padding.
45
+ - Keep hierarchy obvious: headline → support text → primary action.
46
+ - Use whitespace to separate concerns before adding borders or shadows.
47
+
48
+ ## 6. Components
49
+
50
+ - Buttons: primary action uses `#FAFAFA`; secondary actions stay neutral.
51
+ - Inputs: strong focus-visible states, clear labels, and predictable error messaging.
52
+ - Cards/sections: use consistent radii, spacing, and elevation strategy across the page.
53
+
54
+ ## 7. Motion & Interaction
55
+
56
+ - Use subtle transitions that emphasize Primary (#FAFAFA) as the interaction signal.
57
+ - Default to short, purposeful transitions (150–250ms) with stable easing.
58
+ - Ensure hover, focus-visible, active, disabled, and loading states are explicit.
59
+
60
+ ## 8. Voice & Brand
61
+
62
+ - Tone should reflect the visual style: concise, confident, and product-specific.
63
+ - Keep microcopy action-oriented and avoid generic filler language.
64
+ - Preserve the style identity in headlines while keeping UI labels literal and clear.
65
+
66
+ ## 9. Anti-patterns
67
+
68
+ - Do not introduce off-palette colors when an existing token can solve the problem.
69
+ - Do not flatten hierarchy by using the same type size/weight for all text.
70
+ - Do not add decorative effects that reduce readability or accessibility.
71
+ - Do not mix unrelated visual metaphors in the same interface.
@@ -0,0 +1,154 @@
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>Luxury - reference components</title>
7
+ <meta name="description" content="Reference fixture for design-systems/luxury: luxury commerce with black lacquer, champagne gold, and spacious premium rhythm." />
8
+ <style>
9
+ :root {
10
+ --bg: #080706;
11
+ --surface: #151310;
12
+ --surface-warm: #241e14;
13
+ --fg: #fff8ea;
14
+ --fg-2: #d8cdb7;
15
+ --muted: #9f927c;
16
+ --meta: #c6a15b;
17
+ --border: #3a3020;
18
+ --border-soft: #282217;
19
+ --accent: #c6a15b;
20
+ --accent-on: #080706;
21
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
22
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
23
+ --success: #5fa36a;
24
+ --warn: #d8a94f;
25
+ --danger: #d85a52;
26
+ --font-display: "Didot", "Bodoni 72", Georgia, serif;
27
+ --font-body: "Avenir Next", Inter, sans-serif;
28
+ --font-mono: "SF Mono", ui-monospace, Menlo, monospace;
29
+ --text-xs: 12px;
30
+ --text-sm: 14px;
31
+ --text-base: 16px;
32
+ --text-lg: 19px;
33
+ --text-xl: 28px;
34
+ --text-2xl: 44px;
35
+ --text-3xl: 68px;
36
+ --text-4xl: 96px;
37
+ --leading-body: 1.6;
38
+ --leading-tight: 0.98;
39
+ --tracking-display: -0.015em;
40
+ --space-1: 4px;
41
+ --space-2: 8px;
42
+ --space-3: 12px;
43
+ --space-4: 16px;
44
+ --space-5: 20px;
45
+ --space-6: 24px;
46
+ --space-8: 32px;
47
+ --space-12: 48px;
48
+ --section-y-desktop: 120px;
49
+ --section-y-tablet: 84px;
50
+ --section-y-phone: 60px;
51
+ --radius-sm: 8px;
52
+ --radius-md: 14px;
53
+ --radius-lg: 24px;
54
+ --radius-pill: 9999px;
55
+ --elev-flat: none;
56
+ --elev-ring: 0 0 0 1px var(--border);
57
+ --elev-raised: 0 30px 90px rgba(0, 0, 0, 0.52);
58
+ --focus-ring: 0 0 0 4px rgba(198, 161, 91, 0.30);
59
+ --motion-fast: 180ms;
60
+ --motion-base: 300ms;
61
+ --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
62
+ --container-max: 1160px;
63
+ --container-gutter-desktop: 36px;
64
+ --container-gutter-tablet: 24px;
65
+ --container-gutter-phone: 16px;
66
+ }
67
+
68
+ *, *::before, *::after { box-sizing: border-box; }
69
+ html, body { margin: 0; padding: 0; }
70
+ body {
71
+ min-height: 100vh;
72
+ background: var(--bg);
73
+ color: var(--fg);
74
+ font-family: var(--font-body);
75
+ font-size: var(--text-base);
76
+ line-height: var(--leading-body);
77
+ -webkit-font-smoothing: antialiased;
78
+ }
79
+ .page { min-height: 100vh; background: radial-gradient(circle at 80% 8%, rgba(198, 161, 91, 0.22), transparent 34%), #080706; }
80
+ .container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
81
+ section { padding-block: var(--section-y-desktop); }
82
+ @media (max-width: 1023px) { .container { padding-inline: var(--container-gutter-tablet); } section { padding-block: var(--section-y-tablet); } }
83
+ @media (max-width: 639px) { .container { padding-inline: var(--container-gutter-phone); } section { padding-block: var(--section-y-phone); } }
84
+ h1, h2, h3, p { margin: 0; }
85
+ h1, h2, h3 { font-family: var(--font-display); line-height: var(--leading-tight); letter-spacing: var(--tracking-display); }
86
+ h1 { max-width: 820px; font-size: var(--text-4xl); font-weight: 760; }
87
+ h2 { font-size: var(--text-3xl); font-weight: 700; }
88
+ h3 { font-size: var(--text-xl); font-weight: 700; }
89
+ .eyebrow { color: var(--meta); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
90
+ .lead { max-width: 640px; color: var(--fg-2); font-size: var(--text-lg); }
91
+ .hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr); gap: var(--space-8); align-items: center; }
92
+ .stack > * + * { margin-block-start: var(--space-4); }
93
+ .actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block-start: var(--space-6); }
94
+ .btn {
95
+ display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--space-5);
96
+ border: 1px solid transparent; border-radius: var(--radius-md); font: 700 var(--text-sm) / 1 var(--font-body);
97
+ color: inherit; text-decoration: none; cursor: pointer; transition: background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);
98
+ }
99
+ .btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
100
+ .btn-primary { background: var(--accent); color: var(--accent-on); }
101
+ .btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
102
+ .btn-secondary { background: var(--surface); color: var(--fg); border-color: var(--border); box-shadow: var(--elev-ring); }
103
+ .btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
104
+ .panel { background: color-mix(in oklab, var(--surface), transparent 4%); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--elev-raised); overflow: hidden; }
105
+ .panel-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-5); border-bottom: 1px solid var(--border-soft); }
106
+ .status { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--meta); font: 700 var(--text-xs) / 1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; }
107
+ .status::before { width: 8px; height: 8px; border-radius: var(--radius-pill); background: var(--success); content: ""; }
108
+ .metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border-soft); }
109
+ .metric { padding: var(--space-5); border-right: 1px solid var(--border-soft); }
110
+ .metric:last-child { border-right: 0; }
111
+ .metric strong { display: block; font-family: var(--font-display); font-size: var(--text-2xl); line-height: var(--leading-tight); }
112
+ .metric span { color: var(--muted); font-size: var(--text-sm); }
113
+ .card-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); padding: var(--space-5); }
114
+ .mini-card { min-height: 148px; padding: var(--space-5); border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--surface-warm); }
115
+ .mini-card p, .tile p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
116
+ .swatches { display: flex; gap: var(--space-2); margin-block-start: var(--space-4); }
117
+ .swatch { width: 32px; height: 32px; border-radius: var(--radius-sm); border: 1px solid var(--border); }
118
+ .swatch.accent { background: var(--accent); } .swatch.surface { background: var(--surface); } .swatch.warm { background: var(--surface-warm); } .swatch.fg { background: var(--fg); }
119
+ .field { display: grid; gap: var(--space-2); margin-block-start: var(--space-5); }
120
+ label { color: var(--fg-2); font-size: var(--text-sm); font-weight: 700; }
121
+ input { width: 100%; min-height: 46px; padding: 0 var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--fg); font: inherit; }
122
+ input:focus { outline: none; box-shadow: var(--focus-ring); border-color: var(--accent); }
123
+ .lower { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
124
+ .tile { padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
125
+ @media (max-width: 860px) { .hero, .lower { grid-template-columns: 1fr; } .metric-grid, .card-row { grid-template-columns: 1fr; } .metric { border-right: 0; border-bottom: 1px solid var(--border-soft); } .metric:last-child { border-bottom: 0; } }
126
+ </style>
127
+ </head>
128
+ <body>
129
+ <main class="page">
130
+ <section>
131
+ <div class="container hero">
132
+ <div class="stack">
133
+ <p class="eyebrow">Luxury design system</p>
134
+ <h1>Private client salon</h1>
135
+ <p class="lead">Polished dark surfaces, gold accents, and high-touch commerce modules.</p>
136
+ <div class="actions" aria-label="Reference actions">
137
+ <a class="btn btn-primary" href="#">Primary action</a>
138
+ <a class="btn btn-secondary" href="#">Secondary action</a>
139
+ </div>
140
+ </div>
141
+ <article class="panel" aria-label="Luxury component preview">
142
+ <div class="panel-head"><div><p class="eyebrow">Live module</p><h3>Reference component</h3></div><span class="status">online</span></div>
143
+ <div class="metric-grid"><div class="metric"><strong>98%</strong><span>Signal quality</span></div><div class="metric"><strong>24</strong><span>Active flows</span></div><div class="metric"><strong>3.2s</strong><span>Response time</span></div></div>
144
+ <div class="card-row">
145
+ <div class="mini-card"><h3>Palette</h3><p>luxury commerce with black lacquer, champagne gold, and spacious premium rhythm.</p><div class="swatches" aria-label="Token swatches"><span class="swatch accent"></span><span class="swatch surface"></span><span class="swatch warm"></span><span class="swatch fg"></span></div></div>
146
+ <div class="mini-card"><h3>Control</h3><p>Focus, hover, and status states share the same brand signal.</p><div class="field"><label for="luxury-input">Reference input</label><input id="luxury-input" value="Luxury system token" /></div></div>
147
+ </div>
148
+ </article>
149
+ </div>
150
+ </section>
151
+ <section><div class="container lower"><article class="tile"><p class="eyebrow">Typography</p><h2>Display rhythm</h2><p>Headlines use the display stack with the declared scale and leading.</p></article><article class="tile"><p class="eyebrow">Surface</p><h2>Layer system</h2><p>Cards, warm panels, borders, and raised states resolve through shared tokens.</p></article><article class="tile"><p class="eyebrow">Interaction</p><h2>Motion states</h2><p>Buttons, inputs, and panels use brand-specific focus rings and easing.</p></article></div></section>
152
+ </main>
153
+ </body>
154
+ </html>
@@ -0,0 +1,63 @@
1
+ /* design-systems/luxury/tokens.css
2
+ * Structured token bindings for Luxury.
3
+ * luxury commerce with black lacquer, champagne gold, and spacious premium rhythm.
4
+ */
5
+
6
+ :root {
7
+ --bg: #080706;
8
+ --surface: #151310;
9
+ --surface-warm: #241e14;
10
+ --fg: #fff8ea;
11
+ --fg-2: #d8cdb7;
12
+ --muted: #9f927c;
13
+ --meta: #c6a15b;
14
+ --border: #3a3020;
15
+ --border-soft: #282217;
16
+ --accent: #c6a15b;
17
+ --accent-on: #080706;
18
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
19
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
20
+ --success: #5fa36a;
21
+ --warn: #d8a94f;
22
+ --danger: #d85a52;
23
+ --font-display: "Didot", "Bodoni 72", Georgia, serif;
24
+ --font-body: "Avenir Next", Inter, sans-serif;
25
+ --font-mono: "SF Mono", ui-monospace, Menlo, monospace;
26
+ --text-xs: 12px;
27
+ --text-sm: 14px;
28
+ --text-base: 16px;
29
+ --text-lg: 19px;
30
+ --text-xl: 28px;
31
+ --text-2xl: 44px;
32
+ --text-3xl: 68px;
33
+ --text-4xl: 96px;
34
+ --leading-body: 1.6;
35
+ --leading-tight: 0.98;
36
+ --tracking-display: -0.015em;
37
+ --space-1: 4px;
38
+ --space-2: 8px;
39
+ --space-3: 12px;
40
+ --space-4: 16px;
41
+ --space-5: 20px;
42
+ --space-6: 24px;
43
+ --space-8: 32px;
44
+ --space-12: 48px;
45
+ --section-y-desktop: 120px;
46
+ --section-y-tablet: 84px;
47
+ --section-y-phone: 60px;
48
+ --radius-sm: 8px;
49
+ --radius-md: 14px;
50
+ --radius-lg: 24px;
51
+ --radius-pill: 9999px;
52
+ --elev-flat: none;
53
+ --elev-ring: 0 0 0 1px var(--border);
54
+ --elev-raised: 0 30px 90px rgba(0, 0, 0, 0.52);
55
+ --focus-ring: 0 0 0 4px rgba(198, 161, 91, 0.30);
56
+ --motion-fast: 180ms;
57
+ --motion-base: 300ms;
58
+ --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
59
+ --container-max: 1160px;
60
+ --container-gutter-desktop: 36px;
61
+ --container-gutter-tablet: 24px;
62
+ --container-gutter-phone: 16px;
63
+ }