@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,353 @@
1
+ /* ─────────────────────────────────────────────────────────────────────────
2
+ * design-systems/resend/tokens.css
3
+ *
4
+ * Structured token bindings for "Resend" — the developer-first email
5
+ * API whose marketing surface treats a pure-black canvas like a
6
+ * gallery wall and lights every container with a single, icy blue-
7
+ * tinted hairline.
8
+ *
9
+ * Brand identity in three sentences:
10
+ * 1. Void-black (#000000) canvas with near-white (#f0f0f0) ink —
11
+ * theatrical darkness; the page is the stage and content
12
+ * performs on it without competing chrome.
13
+ * 2. Frost borders (rgba(214, 235, 253, 0.19)) replace gray borders
14
+ * everywhere — every divider, button, card, and tab is a thin
15
+ * icy line on the void; depth is by border luminance, not by
16
+ * blur shadows that cannot cast against pure black.
17
+ * 3. ABC Favorit (geometric sans) for display headings with
18
+ * aggressive negative tracking, Inter for body and UI, Commit
19
+ * Mono for code — one accent at a time (here: Resend Orange
20
+ * #ff801f) so the chromatic moment lands hard against the gray.
21
+ *
22
+ * Brand-specific schema decisions (each one bends a schema convention
23
+ * to match Resend's voice rather than the cross-brand default):
24
+ *
25
+ * 1. `--bg` and `--surface` both bind to `#000000`. DESIGN.md §7 is
26
+ * explicit: "Don't lighten the background above #000000 — the
27
+ * pure black void is non-negotiable." Cards on Resend do not
28
+ * lift via fill; they read by their frost border alone. Setting
29
+ * `--surface` to the same void as `--bg` honors that rule and
30
+ * forces every card-like component to express elevation through
31
+ * `--border` / `--elev-ring`, not through tinted backgrounds.
32
+ * `--surface-warm` aliases to `--surface` because the brand has
33
+ * no warm tier — there is no second background color anywhere.
34
+ *
35
+ * 2. `--border` is `rgba(214, 235, 253, 0.19)` — the literal
36
+ * "frost border" alpha named in DESIGN.md §1 as "the signature"
37
+ * of the entire system. Binding the slot to the alpha (not a
38
+ * solid hex) lets `--elev-ring` (`0 0 0 1px var(--border)`)
39
+ * reproduce the icy line by default, and lets every component
40
+ * reach the same value via `border: 1px solid var(--border)`.
41
+ * `--border-soft` drops to `rgba(217, 237, 254, 0.145)` for
42
+ * inner row separators that should not compete with the
43
+ * container's outer frost edge.
44
+ *
45
+ * 3. `--fg` is `#f0f0f0`, not `#ffffff`. DESIGN.md §2 names this
46
+ * the "Near White" — a deliberately softened text tier that
47
+ * lets pure white (`#ffffff`) stay reserved for the maximum-
48
+ * emphasis moments DESIGN.md describes as "link highlights"
49
+ * and the white-pill CTA. The four-level foreground ramp
50
+ * (`#f0f0f0 → #a1a4a5 → #5c5c5c → #464a4d`) maps directly onto
51
+ * DESIGN.md §2's documented neutral scale (Near White, Silver,
52
+ * Mid Gray, Dark Gray) so `--fg-2` and `--meta` are
53
+ * independently bound rather than aliased.
54
+ *
55
+ * 4. `--accent` is Resend Orange (`#ff801f`, "Orange 10" in
56
+ * DESIGN.md §2). Resend's product surface uses a multi-color
57
+ * accent system (orange/green/blue/yellow/red), but the shared
58
+ * schema slot must pick one — and Orange 10 is the only entry
59
+ * DESIGN.md prefixes with "primary orange accent". The blue
60
+ * and green variants live as semantic / inline values in
61
+ * components.html; promoting any of them to a second accent
62
+ * slot would require a C-extension, which the brand contract
63
+ * defers until ≥2 brands need the same name. `--accent-on` is
64
+ * `#000000` because saturated orange against black reads best
65
+ * with black labels (DESIGN.md §4 confirms the white-pill
66
+ * pattern is for `#ffffff` solid backgrounds, not for the
67
+ * orange accent fill).
68
+ *
69
+ * 5. `--accent-hover` brightens toward white (10%) and
70
+ * `--accent-active` darkens toward black (12%) — the inverse
71
+ * of the schema's default mid-luminance pattern. On Resend's
72
+ * void canvas, a "pressed" state reads as a small recession
73
+ * into the dark, while a "lifted" hover reads as a luminance
74
+ * step up. This matches the Linear / dark-system convention
75
+ * and avoids the schema default's all-darken pattern that
76
+ * would make the orange disappear into the void on hover.
77
+ *
78
+ * 6. Semantic colors come straight from DESIGN.md §2's multi-
79
+ * color accent scale — `--success: #11ff99` (Green 4),
80
+ * `--warn: #ffc53d` (Yellow 9), `--danger: #ff2047` (Red 5).
81
+ * These are the saturated source values; components that want
82
+ * the documented "12–42% opacity" tints reach them via
83
+ * `color-mix(in oklab, var(--success), transparent 80%)` in
84
+ * situ, keeping the alpha-blend decision at the component
85
+ * layer rather than in the token slot.
86
+ *
87
+ * 7. Type scale is documented in DESIGN.md §3: 96px display,
88
+ * 56px section, 24px feature title, 20px sub-heading, 18px
89
+ * body-large, 16px body, 14px caption, 12px small. The schema
90
+ * has 8 slots; `--text-2xl` is bound to `36px` as the
91
+ * intermediate that bridges 24px (feature title) to 56px
92
+ * (section heading) — DESIGN.md does not enumerate this stop,
93
+ * but a 24 → 56 jump without a mid-tier would force every H2
94
+ * to either undershoot or overshoot. `--leading-tight: 1.0`
95
+ * matches the documented Display Hero rhythm; `--leading-body:
96
+ * 1.5` matches the documented Body / Body Large / Feature
97
+ * Title leading.
98
+ *
99
+ * 8. `--tracking-display` is `-0.05em`, derived from DESIGN.md
100
+ * §3 Section Heading (`-2.8px at 56px = -0.05em`). ABC Favorit
101
+ * compresses harder than Domaine Display (`-0.01em` at 96px),
102
+ * so binding the slot to the ABC Favorit characteristic value
103
+ * gives every display-tier element the brand's "engineered
104
+ * masthead" feel. The hero in components.html can opt back
105
+ * into the gentler Domaine tracking inline if needed.
106
+ *
107
+ * 9. `--font-display` lists ABC Favorit first, with Inter as the
108
+ * structural fallback. Inter is documented in DESIGN.md §3 as
109
+ * the body / UI font, but it shares the geometric voice well
110
+ * enough to carry display weight when ABC Favorit is not
111
+ * loaded — far better than falling through to a generic system
112
+ * sans. Domaine Display (the editorial serif hero font) is
113
+ * deliberately not in the stack: it is a paid Klim Type
114
+ * Foundry face whose absence would surface as a jarring serif
115
+ * drop. Heroes that want Domaine layer it in via
116
+ * `font-family: "Domaine Display", var(--font-display)` at the
117
+ * component level.
118
+ *
119
+ * 10. Section rhythm is generous: 120px desktop, 80px tablet, 48px
120
+ * phone. DESIGN.md §5 names "Cinematic black space" with "80–
121
+ * 120px+ vertical spacing between sections" as a defining
122
+ * property — "the black background IS the whitespace". 120px
123
+ * desktop sits at the top of that documented range.
124
+ *
125
+ * 11. `--radius-sm` is `4px` (DESIGN.md "Sharp": buttons-ghost,
126
+ * inputs); `--radius-md` is `8px` (tabs / content blocks);
127
+ * `--radius-lg` is `16px` (feature cards / images / main
128
+ * buttons); `--radius-pill` is `9999px` (primary CTAs / tags
129
+ * / badges). The 24px "Section" radius from DESIGN.md is
130
+ * component-specific (large panels) and reached inline rather
131
+ * than via the shared schema.
132
+ *
133
+ * 12. `--elev-raised` layers the documented `rgba(176, 199, 217,
134
+ * 0.145) 0 0 0 1px` ring shadow with the subtle drop from
135
+ * DESIGN.md §6 Level 2. On pure black, opaque blur shadows
136
+ * vanish — the ring carries the edge, and the soft drop adds
137
+ * just enough atmospheric tint to read as "lifted" against
138
+ * the void. Never strip the ring when overriding this token.
139
+ *
140
+ * 13. `--focus-ring` is a sharp 2px ring at `var(--accent)`, not
141
+ * the schema's 3px alpha glow. DESIGN.md §6 Level 3 documents
142
+ * a heavy 8px black focus ring that works in product context
143
+ * (against non-black surroundings); on this brand fixture the
144
+ * black canvas would swallow that ring, so we substitute the
145
+ * orange accent at 2px — sharp, engineered, legible against
146
+ * both the void and any card surface.
147
+ *
148
+ * 14. `--container-max` caps at `1200px` with generous 32px
149
+ * desktop gutters — Resend's marketing pages center contained
150
+ * content in vast dark space, treating the gutter as part of
151
+ * the gallery margin rather than as edge-bleed.
152
+ *
153
+ * Source contracts:
154
+ * - Standard token names: design-systems/_schema/tokens.schema.ts
155
+ * - A2 fallback parity: design-systems/_schema/defaults.css
156
+ * - Lint enforcement: apps/daemon/src/lint-artifact.ts
157
+ *
158
+ * Keep this file additive: never invent token names not also
159
+ * documented in DESIGN.md or the schema. ABC Favorit, Domaine
160
+ * Display, and Commit Mono are paid faces — the stacks list
161
+ * defensible OS fallbacks so artifacts render legibly even when
162
+ * the brand faces are not loaded.
163
+ * ─────────────────────────────────────────────────────────────────── */
164
+
165
+ :root {
166
+ /* ─── Surface (3 levels — schema slot) ─────────────────────────────
167
+ * The void is the canvas. DESIGN.md §7: "Don't lighten the
168
+ * background above #000000 — the pure black void is non-
169
+ * negotiable." `--surface` matches `--bg` because cards on Resend
170
+ * read by their frost border alone, not by a tinted fill.
171
+ * `--surface-warm` aliases to surface — the brand has no second
172
+ * background color anywhere. */
173
+ --bg: #000000;
174
+ --surface: #000000;
175
+ --surface-warm: var(--surface); /* alias — Resend has no warm tier */
176
+
177
+ /* ─── Foreground ramp (4 levels) ──────────────────────────────────
178
+ * Near White → Silver → Mid Gray → Dark Gray, the documented
179
+ * neutral scale from DESIGN.md §2. `#f0f0f0` instead of `#ffffff`
180
+ * matters — pure white is reserved for the white-pill CTA and link
181
+ * highlights; the softened near-white keeps body type calm against
182
+ * the void. All four tiers are independently bound (not aliased)
183
+ * because DESIGN.md names four distinct neutral roles: primary
184
+ * text, secondary / link-muted, hover / caption, tertiary /
185
+ * quaternary timestamp. */
186
+ --fg: #f0f0f0; /* Near White — primary text, button labels */
187
+ --fg-2: #a1a4a5; /* Silver — secondary text, muted links */
188
+ --muted: #5c5c5c; /* Mid Gray — captions, hover, subtle emphasis */
189
+ --meta: #464a4d; /* Dark Gray — tertiary text, timestamps */
190
+
191
+ /* ─── Border (2 levels) ──────────────────────────────────────────
192
+ * Frost-as-border is THE signature: `rgba(214, 235, 253, 0.19)`
193
+ * at 1px replaces every gray border in the system. Binding
194
+ * `--border` to the alpha (not a solid hex) lets `--elev-ring`
195
+ * reproduce the icy line by default, and lets
196
+ * `border: 1px solid var(--border)` paint the same value when a
197
+ * real CSS border is structurally required (e.g. the bottom edge
198
+ * of the sticky nav per DESIGN.md §4). `--border-soft` drops to
199
+ * `0.145` alpha for inner row separators that must not compete
200
+ * with the container's outer frost edge. */
201
+ --border: rgba(214, 235, 253, 0.19); /* signature frost border alpha */
202
+ --border-soft: rgba(217, 237, 254, 0.145); /* inner row separator — lighter frost */
203
+
204
+ /* ─── Accent ─────────────────────────────────────────────────────
205
+ * Resend Orange (Orange 10 from DESIGN.md §2). Hard cap of ≤2
206
+ * visible uses per screen — DESIGN.md §7 forbids cross-mixing
207
+ * accent colors within a single component. The multi-color
208
+ * scale (green/blue/yellow/red) lives at the semantic / inline
209
+ * layer; only the orange slot rides on `--accent`.
210
+ *
211
+ * `--accent-on` is BLACK, not white — saturated #ff801f against
212
+ * black reads cleanest with black labels (the white-pill CTA in
213
+ * DESIGN.md §4 uses #ffffff fill with #000000 text, not the
214
+ * orange accent). Hover brightens 10% toward white, active
215
+ * darkens 12% toward black — the inverse of the schema's all-
216
+ * darken default, matching the dark-theme convention where
217
+ * "pressed" reads as recession into the void. */
218
+ --accent: #ff801f; /* Resend Orange — primary chromatic accent */
219
+ --accent-on: #000000; /* black label on saturated orange fill */
220
+ --accent-hover: color-mix(in oklab, var(--accent), white 10%);
221
+ --accent-active: color-mix(in oklab, var(--accent), black 12%);
222
+
223
+ /* ─── Semantic ───────────────────────────────────────────────────
224
+ * Saturated source values from DESIGN.md §2's multi-color accent
225
+ * scale. Components reach the documented 12–42% opacity tints
226
+ * via `color-mix(in oklab, var(--success), transparent 80%)` in
227
+ * situ, keeping the alpha-blend decision at the component layer. */
228
+ --success: #11ff99; /* Green 4 — emerald success indicator */
229
+ --warn: #ffc53d; /* Yellow 9 — warm gold warning */
230
+ --danger: #ff2047; /* Red 5 — error / destructive */
231
+
232
+ /* ─── Typography ─────────────────────────────────────────────────
233
+ * Three-font editorial hierarchy from DESIGN.md §3. ABC Favorit
234
+ * carries display; Inter carries body and UI; Commit Mono
235
+ * carries code and technical labels. Domaine Display (the
236
+ * editorial serif hero face) is intentionally not in the
237
+ * `--font-display` stack — it is a paid Klim Type Foundry face
238
+ * whose absence would surface as a jarring serif drop. Heroes
239
+ * that want Domaine layer it in via `font-family: "Domaine
240
+ * Display", var(--font-display)` at the component level. */
241
+ --font-display: "ABC Favorit", "Inter", -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
242
+ --font-body: "Inter", -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
243
+ --font-mono: "Commit Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
244
+
245
+ /* Type scale (px) — derived from DESIGN.md §3 hierarchy table.
246
+ * 12 / 14 / 16 / 18 / 20 / 24 / 56 / 96 are all documented; the
247
+ * 36px `--text-2xl` is the synthesized intermediate that bridges
248
+ * 24px feature-title to 56px section-heading. Without it, every
249
+ * H2 would have to undershoot at 24 or overshoot at 56 and the
250
+ * type rhythm would jump. */
251
+ --text-xs: 12px; /* Small — tags, meta, fine print */
252
+ --text-sm: 14px; /* Caption, button, nav link */
253
+ --text-base: 16px; /* Body — standard reading */
254
+ --text-lg: 20px; /* Sub-heading — ABC Favorit */
255
+ --text-xl: 24px; /* Feature Title — Inter weight 500 */
256
+ --text-2xl: 36px; /* Synthesized H2 — bridges 24 → 56 */
257
+ --text-3xl: 56px; /* Section Heading — ABC Favorit */
258
+ --text-4xl: 96px; /* Display Hero — Domaine / ABC Favorit */
259
+
260
+ /* Leading + tracking.
261
+ * --leading-body 1.5: DESIGN.md body / feature-title / body-large.
262
+ * --leading-tight 1.0: DESIGN.md Display Hero (96px).
263
+ * --tracking-display -0.05em: ABC Favorit Section Heading
264
+ * (-2.8px / 56px). Harder compression than Domaine's -0.01em;
265
+ * binding the slot to the ABC Favorit value gives display tiers
266
+ * the brand's "engineered masthead" feel. */
267
+ --leading-body: 1.5;
268
+ --leading-tight: 1.0;
269
+ --tracking-display: -0.05em;
270
+
271
+ /* ─── Spacing ────────────────────────────────────────────────────
272
+ * Standard 4px-grid base scale. DESIGN.md §5 also documents 5px,
273
+ * 6px, 7px, 10px, 30px, 40px micro-tiers — those are too fine to
274
+ * belong in the shared schema and are inlined per-component when
275
+ * needed (button padding `5px 12px`, etc.). The 4/8/12/16/20/
276
+ * 24/32/48 tier covers the structural rhythm. */
277
+ --space-1: 4px;
278
+ --space-2: 8px;
279
+ --space-3: 12px;
280
+ --space-4: 16px;
281
+ --space-5: 20px;
282
+ --space-6: 24px;
283
+ --space-8: 32px;
284
+ --space-12: 48px;
285
+
286
+ /* Section rhythm — DESIGN.md §5: "Cinematic black space" with
287
+ * 80–120px+ vertical padding between sections. 120px desktop sits
288
+ * at the top of the documented range, dropping to 80px tablet
289
+ * (still generous) and 48px phone (the documented mobile floor). */
290
+ --section-y-desktop: 120px;
291
+ --section-y-tablet: 80px;
292
+ --section-y-phone: 48px;
293
+
294
+ /* ─── Radius ─────────────────────────────────────────────────────
295
+ * DESIGN.md §5 radius scale: 4 / 6 / 8 / 10 / 12 / 16 / 24 / 9999.
296
+ * We bind the four schema tiers to: 4 (sharp — ghost button,
297
+ * inputs), 8 (standard — tabs, content), 16 (large — feature
298
+ * cards, images, main buttons), 9999 (pill — primary CTAs, tags,
299
+ * badges). The 24px "Section" radius is component-specific (large
300
+ * panels) and reached inline. */
301
+ --radius-sm: 4px; /* Sharp — ghost button, input */
302
+ --radius-md: 8px; /* Standard — tab, content block */
303
+ --radius-lg: 16px; /* Large — feature card, image, main button */
304
+ --radius-pill: 9999px; /* Pill — primary CTA, tag, badge */
305
+
306
+ /* ─── Elevation (3 levels) ───────────────────────────────────────
307
+ * Resend barely uses shadows — DESIGN.md §6: "On a pure black
308
+ * background, traditional shadows are invisible — you can't cast
309
+ * a shadow into the void. Instead, Resend creates depth through
310
+ * its signature frost borders."
311
+ *
312
+ * --elev-flat no shadow (page background, text blocks)
313
+ * --elev-ring the signature frost hairline (most surfaces)
314
+ * --elev-raised ring + subtle drop for true "lifted" feel
315
+ *
316
+ * `--elev-raised` layers the documented `rgba(176, 199, 217, 0.145)
317
+ * 0 0 0 1px` ring with the §6 Level 2 subtle drop. Never strip
318
+ * the ring when overriding — it is the edge mechanism that lets
319
+ * a card read against the void at all. */
320
+ --elev-flat: none;
321
+ --elev-ring: 0 0 0 1px var(--border);
322
+ --elev-raised:
323
+ 0 0 0 1px rgba(176, 199, 217, 0.145),
324
+ 0 1px 3px rgba(0, 0, 0, 0.4),
325
+ 0 1px 2px -1px rgba(0, 0, 0, 0.4);
326
+
327
+ /* ─── Focus ring ─────────────────────────────────────────────────
328
+ * Sharp 2px ring at `var(--accent)`, NOT the schema's 3px alpha
329
+ * glow. DESIGN.md §6 documents an 8px black ring that works in
330
+ * product context (against non-black surroundings); on this
331
+ * brand fixture the black canvas would swallow that ring, so we
332
+ * substitute the orange accent at 2px — sharp, engineered,
333
+ * legible against both the void and any card surface. */
334
+ --focus-ring: 0 0 0 2px var(--accent);
335
+
336
+ /* ─── Motion ─────────────────────────────────────────────────────
337
+ * Two durations + one easing curve. Resend's micro-states are
338
+ * quick and unobtrusive — pill buttons crossfade to white glass,
339
+ * frost borders intensify on focus, no choreographed entrances. */
340
+ --motion-fast: 150ms;
341
+ --motion-base: 200ms;
342
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
343
+
344
+ /* ─── Layout ─────────────────────────────────────────────────────
345
+ * 1200px max content width — DESIGN.md §5 "Centered content with
346
+ * generous max-width". Gutters stay wide on desktop (32px) so
347
+ * the gallery margin around the void canvas reads as intentional
348
+ * framing; mobile narrows to 16px to preserve readable measure. */
349
+ --container-max: 1200px;
350
+ --container-gutter-desktop: 32px;
351
+ --container-gutter-tablet: 24px;
352
+ --container-gutter-phone: 16px;
353
+ }
@@ -0,0 +1,71 @@
1
+ # Design System Inspired by Retro
2
+
3
+ > Category: Retro & Nostalgic
4
+ > Throwback design with vintage-inspired typography, high-contrast retro palettes, and nostalgic visual elements.
5
+
6
+ ## 1. Visual Theme & Atmosphere
7
+
8
+ Throwback design with vintage-inspired typography, high-contrast retro palettes, and nostalgic visual elements.
9
+
10
+ - **Visual style:** high-contrast, retro
11
+ - **Color stance:** primary, neutral, success, warning, danger
12
+ - **Design intent:** Keep outputs recognizable to this style family while preserving usability and readability.
13
+
14
+ ## 2. Color
15
+
16
+ - **Primary:** `#3B82F6` — Token from style foundations.
17
+ - **Secondary:** `#8B5CF6` — 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:** `#FFFFFF` — Token from style foundations.
22
+ - **Text:** `#111827` — Token from style foundations.
23
+ - **Neutral:** `#FFFFFF` — Derived from the surface token for official format compatibility.
24
+
25
+ - Favor Primary (#3B82F6) for CTA emphasis.
26
+ - Use Surface (#FFFFFF) for large backgrounds and cards.
27
+ - Keep body copy on Text (#111827) for legibility.
28
+
29
+ ## 3. Typography
30
+
31
+ - **Scale:** desktop-first expressive scale
32
+ - **Families:** primary=Macondo, display=Macondo, 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:** 4/8/12/16/24/32
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 `#3B82F6`; 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 (#3B82F6) 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,136 @@
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>Retro - reference components</title>
7
+ <meta name="description" content="Reference fixture for design-systems/retro: retro interface with warm colors, chunky controls, and nostalgic product cards." />
8
+ <style>
9
+ :root {
10
+ --bg: #fff4cf;
11
+ --surface: #fffaf0;
12
+ --surface-warm: #ffdca8;
13
+ --fg: #2a1810;
14
+ --fg-2: #593625;
15
+ --muted: #8a6652;
16
+ --meta: #d24b1f;
17
+ --border: #d9aa7a;
18
+ --border-soft: #efd0ab;
19
+ --accent: #d24b1f;
20
+ --accent-on: #ffffff;
21
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
22
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
23
+ --success: #3d8f4f;
24
+ --warn: #f2a93b;
25
+ --danger: #b83a2f;
26
+ --font-display: "Courier New", ui-monospace, monospace;
27
+ --font-body: Inter, system-ui, sans-serif;
28
+ --font-mono: "Courier New", ui-monospace, monospace;
29
+ --text-xs: 12px;
30
+ --text-sm: 14px;
31
+ --text-base: 16px;
32
+ --text-lg: 18px;
33
+ --text-xl: 24px;
34
+ --text-2xl: 36px;
35
+ --text-3xl: 54px;
36
+ --text-4xl: 76px;
37
+ --leading-body: 1.52;
38
+ --leading-tight: 1.06;
39
+ --tracking-display: 0;
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: 96px;
49
+ --section-y-tablet: 68px;
50
+ --section-y-phone: 48px;
51
+ --radius-sm: 4px;
52
+ --radius-md: 8px;
53
+ --radius-lg: 12px;
54
+ --radius-pill: 9999px;
55
+ --elev-flat: none;
56
+ --elev-ring: 0 0 0 1px var(--border);
57
+ --elev-raised: 6px 6px 0 rgba(42, 24, 16, 0.26);
58
+ --focus-ring: 0 0 0 4px rgba(210, 75, 31, 0.28);
59
+ --motion-fast: 150ms;
60
+ --motion-base: 240ms;
61
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
62
+ --container-max: 1180px;
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 { min-height: 100vh; background: var(--bg); color: var(--fg); font-family: var(--font-body); font-size: var(--text-base); line-height: var(--leading-body); -webkit-font-smoothing: antialiased; }
71
+ .page { min-height: 100vh; background: linear-gradient(135deg, #fff4cf 0%, #ffdca8 58%, #fffaf0 100%); }
72
+ .container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
73
+ section { padding-block: var(--section-y-desktop); }
74
+ @media (max-width: 1023px) { .container { padding-inline: var(--container-gutter-tablet); } section { padding-block: var(--section-y-tablet); } }
75
+ @media (max-width: 639px) { .container { padding-inline: var(--container-gutter-phone); } section { padding-block: var(--section-y-phone); } }
76
+ h1, h2, h3, p { margin: 0; }
77
+ h1, h2, h3 { font-family: var(--font-display); line-height: var(--leading-tight); letter-spacing: var(--tracking-display); }
78
+ h1 { max-width: 840px; font-size: var(--text-4xl); font-weight: 760; }
79
+ h2 { font-size: var(--text-3xl); font-weight: 700; }
80
+ h3 { font-size: var(--text-xl); font-weight: 700; }
81
+ .eyebrow { color: var(--meta); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
82
+ .lead { max-width: 640px; color: var(--fg-2); font-size: var(--text-lg); }
83
+ .hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr); gap: var(--space-8); align-items: center; }
84
+ .stack > * + * { margin-block-start: var(--space-4); }
85
+ .actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block-start: var(--space-6); }
86
+ .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--space-5); border: 1px solid transparent; border-radius: var(--radius-md); font: 700 var(--text-sm) / 1 var(--font-body); 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); }
87
+ .btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
88
+ .btn-primary { background: var(--accent); color: var(--accent-on); }
89
+ .btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
90
+ .btn-secondary { background: var(--surface); color: var(--fg); border-color: var(--border); box-shadow: var(--elev-ring); }
91
+ .btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
92
+ .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; }
93
+ .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); }
94
+ .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; }
95
+ .status::before { width: 8px; height: 8px; border-radius: var(--radius-pill); background: var(--success); content: ""; }
96
+ .metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border-soft); }
97
+ .metric { padding: var(--space-5); border-right: 1px solid var(--border-soft); }
98
+ .metric:last-child { border-right: 0; }
99
+ .metric strong { display: block; font-family: var(--font-display); font-size: var(--text-2xl); line-height: var(--leading-tight); }
100
+ .metric span { color: var(--muted); font-size: var(--text-sm); }
101
+ .card-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); padding: var(--space-5); }
102
+ .mini-card { min-height: 148px; padding: var(--space-5); border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--surface-warm); }
103
+ .mini-card p, .tile p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
104
+ .swatches { display: flex; gap: var(--space-2); margin-block-start: var(--space-4); }
105
+ .swatch { width: 32px; height: 32px; border-radius: var(--radius-sm); border: 1px solid var(--border); }
106
+ .swatch.accent { background: var(--accent); } .swatch.surface { background: var(--surface); } .swatch.warm { background: var(--surface-warm); } .swatch.fg { background: var(--fg); }
107
+ .field { display: grid; gap: var(--space-2); margin-block-start: var(--space-5); }
108
+ label { color: var(--fg-2); font-size: var(--text-sm); font-weight: 700; }
109
+ 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; }
110
+ input:focus { outline: none; box-shadow: var(--focus-ring); border-color: var(--accent); }
111
+ .lower { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
112
+ .tile { padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
113
+ @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; } }
114
+ </style>
115
+ </head>
116
+ <body>
117
+ <main class="page">
118
+ <section>
119
+ <div class="container hero">
120
+ <div class="stack">
121
+ <p class="eyebrow">Retro design system</p>
122
+ <h1>Retro computing dashboard</h1>
123
+ <p class="lead">Vintage color, chunky geometry, and nostalgic controls for playful products.</p>
124
+ <div class="actions" aria-label="Reference actions"><a class="btn btn-primary" href="#">Primary action</a><a class="btn btn-secondary" href="#">Secondary action</a></div>
125
+ </div>
126
+ <article class="panel" aria-label="Retro component preview">
127
+ <div class="panel-head"><div><p class="eyebrow">Live module</p><h3>Reference component</h3></div><span class="status">online</span></div>
128
+ <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>
129
+ <div class="card-row"><div class="mini-card"><h3>Palette</h3><p>retro interface with warm colors, chunky controls, and nostalgic product cards.</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><div class="mini-card"><h3>Control</h3><p>Focus, hover, and status states share the same system signal.</p><div class="field"><label for="retro-input">Reference input</label><input id="retro-input" value="Retro system token" /></div></div></div>
130
+ </article>
131
+ </div>
132
+ </section>
133
+ <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 system-specific focus rings and easing.</p></article></div></section>
134
+ </main>
135
+ </body>
136
+ </html>
@@ -0,0 +1,63 @@
1
+ /* design-systems/retro/tokens.css
2
+ * Structured token bindings for Retro.
3
+ * retro interface with warm colors, chunky controls, and nostalgic product cards.
4
+ */
5
+
6
+ :root {
7
+ --bg: #fff4cf;
8
+ --surface: #fffaf0;
9
+ --surface-warm: #ffdca8;
10
+ --fg: #2a1810;
11
+ --fg-2: #593625;
12
+ --muted: #8a6652;
13
+ --meta: #d24b1f;
14
+ --border: #d9aa7a;
15
+ --border-soft: #efd0ab;
16
+ --accent: #d24b1f;
17
+ --accent-on: #ffffff;
18
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
19
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
20
+ --success: #3d8f4f;
21
+ --warn: #f2a93b;
22
+ --danger: #b83a2f;
23
+ --font-display: "Courier New", ui-monospace, monospace;
24
+ --font-body: Inter, system-ui, sans-serif;
25
+ --font-mono: "Courier New", ui-monospace, monospace;
26
+ --text-xs: 12px;
27
+ --text-sm: 14px;
28
+ --text-base: 16px;
29
+ --text-lg: 18px;
30
+ --text-xl: 24px;
31
+ --text-2xl: 36px;
32
+ --text-3xl: 54px;
33
+ --text-4xl: 76px;
34
+ --leading-body: 1.52;
35
+ --leading-tight: 1.06;
36
+ --tracking-display: 0;
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: 96px;
46
+ --section-y-tablet: 68px;
47
+ --section-y-phone: 48px;
48
+ --radius-sm: 4px;
49
+ --radius-md: 8px;
50
+ --radius-lg: 12px;
51
+ --radius-pill: 9999px;
52
+ --elev-flat: none;
53
+ --elev-ring: 0 0 0 1px var(--border);
54
+ --elev-raised: 6px 6px 0 rgba(42, 24, 16, 0.26);
55
+ --focus-ring: 0 0 0 4px rgba(210, 75, 31, 0.28);
56
+ --motion-fast: 150ms;
57
+ --motion-base: 240ms;
58
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
59
+ --container-max: 1180px;
60
+ --container-gutter-desktop: 36px;
61
+ --container-gutter-tablet: 24px;
62
+ --container-gutter-phone: 16px;
63
+ }