@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,295 @@
1
+ /* ─────────────────────────────────────────────────────────────────────────
2
+ * design-systems/stripe/tokens.css
3
+ *
4
+ * Structured token bindings for "Inspired by Stripe" — fintech
5
+ * infrastructure dressed in deep navy, signature violet, and the
6
+ * blue-tinted multi-layer shadow that makes elevation feel branded.
7
+ *
8
+ * This file pre-compiles the values described in `DESIGN.md` into
9
+ * the schema shared with every OD design system. Agents generating a
10
+ * Stripe-flavored artifact should paste the `:root { … }` block
11
+ * verbatim into the first `<style>` of the artifact, then reference
12
+ * every value through `var(--name)` — never re-author the hex
13
+ * inline. The fixture in `components.html` is the round-trip proof
14
+ * that the token block alone is sufficient to render a recognisably
15
+ * Stripe page.
16
+ *
17
+ * Why this file exists:
18
+ * DESIGN.md gives humans context ("Stripe Purple #533afd — primary
19
+ * CTAs"), but agents have to translate prose names like
20
+ * "Stripe Purple" into the standard token names the lint enforces
21
+ * (`--accent`). This file pre-translates the brand once, so agents
22
+ * copy structure rather than invent it.
23
+ *
24
+ * Schema notes (Stripe binds the shared schema in seven brand-
25
+ * specific ways — see `#Stripe N` tags inline for each decision):
26
+ * #Stripe 1 — 3-tier surface stops short of a darker third tier;
27
+ * `--surface-warm` binds to the cool-pale #f6f9fc that
28
+ * Stripe uses behind nested panels (pricing rows, code
29
+ * previews) rather than to a warm parchment.
30
+ * #Stripe 2 — 3-tier foreground (navy heading / dark-slate label /
31
+ * slate body). No fourth metadata tier — `--meta`
32
+ * aliases `var(--muted)`.
33
+ * #Stripe 3 — One border tier. `--border-soft` aliases `--border`
34
+ * because DESIGN.md never describes a separate
35
+ * row-separator weight.
36
+ * #Stripe 4 — `--accent-hover` and `--accent-active` bind to the
37
+ * hand-picked Purple Hover (#4434d4) and Purple Deep
38
+ * (#2e2b8c) values from DESIGN.md, not the schema's
39
+ * black-mix formula. Stripe's saturation needs the
40
+ * exact shifts.
41
+ * #Stripe 5 — Type scale ceiling is 56px (`--text-4xl`), not 64px.
42
+ * DESIGN.md §3 puts the display hero at 56px / weight
43
+ * 300 with -1.4px tracking — Stripe's "whisper
44
+ * authority". Adding 64px would push past the brand's
45
+ * self-imposed ceiling.
46
+ * #Stripe 6 — `--elev-raised` carries Stripe's trademark
47
+ * multi-layer blue-tinted shadow
48
+ * (`rgba(50,50,93,0.25) … , rgba(0,0,0,0.1) …`). This
49
+ * is the single most brand-distinctive token in the
50
+ * file; rebinding it to a neutral drop shadow erases
51
+ * Stripe's atmosphere even when every color is right.
52
+ * #Stripe 7 — `--focus-ring` is a layered purple halo — a thin
53
+ * solid edge plus a translucent outer glow. Stripe's
54
+ * focus state is more visible than the schema default
55
+ * because keyboard navigation in payment flows is a
56
+ * first-class concern.
57
+ *
58
+ * Brand-specific extensions (Layer C):
59
+ * None. The dark brand section (`#1c1e54`) and ruby/magenta
60
+ * gradient accents from DESIGN.md are *decorative* — they exist
61
+ * only as one-off inline expressions in components.html, derived
62
+ * from `--accent` via `color-mix(...)`. They are not promoted to
63
+ * tokens because no cross-component rule needs to reference them
64
+ * by name; promoting them would force every other brand to declare
65
+ * matching slots.
66
+ * ─────────────────────────────────────────────────────────────────── */
67
+
68
+ :root {
69
+ /* ─── Surface (3 levels — #Stripe 1) ──────────────────────────────
70
+ * Stripe sits on pure white. The "warm" tier is a cool-pale
71
+ * blue-tinted #f6f9fc (DESIGN.md's neutral-pill border colour) —
72
+ * it reads as a separate elevation under nested panels (pricing
73
+ * rows, code previews, sticky nav blur) without introducing a
74
+ * warm cast that would clash with the navy / violet palette.
75
+ * Brands without a tertiary surface tier should alias
76
+ * `--surface-warm` to `var(--surface)`; Stripe binds a real value
77
+ * because its dense data panels need that quiet separation. */
78
+ --bg: #ffffff;
79
+ --surface: #ffffff;
80
+ --surface-warm: #f6f9fc; /* cool-pale blue — nested panels, sticky nav */
81
+
82
+ /* ─── Foreground ramp (3 tiers — #Stripe 2) ─────────────────────
83
+ * Deep Navy (`#061b31`) carries every heading — never pure
84
+ * black, never gray. DESIGN.md is explicit: "warmth matters".
85
+ * Dark Slate (`#273951`) is the form-label tier. Slate (`#64748d`)
86
+ * is the body / caption / placeholder colour.
87
+ *
88
+ * Stripe doesn't differentiate a fourth metadata tier, so
89
+ * `--meta` aliases `var(--muted)`. Brands like kami that need
90
+ * dates / timestamps / footnote text at a fourth shade may bind
91
+ * an independent value. */
92
+ --fg: #061b31; /* deep navy — headings, nav text, strong labels */
93
+ --fg-2: #273951; /* dark slate — form labels, sub-headings */
94
+ --muted: #64748d; /* slate — body, placeholders, captions */
95
+ --meta: var(--muted); /* alias — Stripe has no separate metadata tier */
96
+
97
+ /* ─── Border (1 tier — #Stripe 3) ───────────────────────────────
98
+ * One border weight for everything: card edges, dividers,
99
+ * containers. DESIGN.md's purple/magenta/dashed border variants
100
+ * are *decorative* (drop-zones, themed badges), not row
101
+ * separators — they live inline in components.html and do not
102
+ * earn a slot in the schema. `--border-soft` aliases. */
103
+ --border: #e5edf5;
104
+ --border-soft: var(--border); /* alias — Stripe has one border weight */
105
+
106
+ /* ─── Accent ──────────────────────────────────────────────────────
107
+ * Stripe Purple — primary CTAs, link text, interactive
108
+ * highlights, the focus ring. A saturated blue-violet that
109
+ * anchors the entire system. Hard cap of ≤2 visible uses per
110
+ * screen (lint `accent-overuse` P1 enforces). */
111
+ --accent: #533afd;
112
+ --accent-on: #ffffff; /* button label on purple — DESIGN.md §4 */
113
+
114
+ /* ─── Accent states (#Stripe 4) ─────────────────────────────────
115
+ * Hand-picked values from DESIGN.md §2, NOT a black-mix formula.
116
+ * Stripe Purple is saturated enough that the schema's
117
+ * `color-mix(in oklab, var(--accent), black 8%)` produces a
118
+ * muddy violet rather than the deliberate Purple Hover that
119
+ * Stripe.com ships. Use the brand's own values.
120
+ *
121
+ * Schema rule: every brand provides `--accent-hover` and
122
+ * `--accent-active`. The binding strategy (formula / identity /
123
+ * hand-picked) is brand-decided. */
124
+ --accent-hover: #4434d4; /* Purple Hover — DESIGN.md §2 */
125
+ --accent-active: #2e2b8c; /* Purple Deep — DESIGN.md §2 */
126
+
127
+ /* ─── Semantic ───────────────────────────────────────────────────
128
+ * Status colours pulled from DESIGN.md §2. Stripe's success is a
129
+ * deliberately vivid green (`#15be53`) because payment-success
130
+ * confirmations are the system's happy path — that pixel deserves
131
+ * the saturation. Warn is the muted lemon Stripe uses for
132
+ * highlight pills; danger is the ruby accent because rejected
133
+ * cards and disputed charges are the only "danger" surface
134
+ * Stripe.com renders, and they ship ruby — not the schema's
135
+ * neutral red — for the alert. */
136
+ --success: #15be53; /* DESIGN.md success green */
137
+ --warn: #9b6829; /* lemon — warning / highlight accent */
138
+ --danger: #ea2261; /* ruby — used for alerts, dispute states */
139
+
140
+ /* ─── Typography — fonts ─────────────────────────────────────────
141
+ * `sohne-var` is the defining element of Stripe's identity
142
+ * (DESIGN.md §1). It is a custom face and will not load for
143
+ * most readers; the fallback chain is the closest SF / system
144
+ * sans we can reach without licensing. Components must always
145
+ * set `font-feature-settings: "ss01"` on top of these stacks —
146
+ * the stylistic set is non-negotiable when sohne-var IS loaded.
147
+ *
148
+ * `--font-mono` is `SourceCodePro` per DESIGN.md §3 — the
149
+ * brand's monospace companion, used for code blocks at 12px /
150
+ * 500 with 2.00 line-height. */
151
+ --font-display:
152
+ "sohne-var", "Söhne", "Sohne",
153
+ "SF Pro Display", -apple-system, BlinkMacSystemFont,
154
+ system-ui, "Helvetica Neue", Arial, sans-serif;
155
+ --font-body:
156
+ "sohne-var", "Söhne", "Sohne",
157
+ "SF Pro Display", -apple-system, BlinkMacSystemFont,
158
+ system-ui, "Helvetica Neue", Arial, sans-serif;
159
+ --font-mono:
160
+ "SourceCodePro", "Source Code Pro",
161
+ ui-monospace, "SF Mono", "JetBrains Mono",
162
+ Menlo, Monaco, Consolas, monospace;
163
+
164
+ /* ─── Typography — type scale (#Stripe 5) ───────────────────────
165
+ * Direct mapping of DESIGN.md §3 hierarchy: 12 / 14 / 16 / 18 /
166
+ * 22 / 32 / 48 / 56. Stripe's display ceiling is 56px (weight
167
+ * 300, -1.4px tracking) — adding a 64px tier would push past
168
+ * the brand's self-imposed limit on hero loudness. The smaller
169
+ * 8px / 10px / 11px / 13px sizes from DESIGN.md's table are
170
+ * intentional micro sizes (chart axes, financial fine print) and
171
+ * are inlined where used rather than promoted to the shared
172
+ * scale. */
173
+ --text-xs: 12px; /* caption small, dense labels */
174
+ --text-sm: 14px; /* button small, navigation links */
175
+ --text-base: 16px; /* body baseline */
176
+ --text-lg: 18px; /* body large, feature lede */
177
+ --text-xl: 22px; /* sub-heading, card title */
178
+ --text-2xl: 32px; /* section heading */
179
+ --text-3xl: 48px; /* display large */
180
+ --text-4xl: 56px; /* display hero — ceiling */
181
+
182
+ /* ─── Typography — leading & tracking ───────────────────────────
183
+ * Reading rhythm is 1.40 — denser than the schema-default 1.5
184
+ * because Stripe's body type (sohne-var at weight 300) reads
185
+ * lighter than Inter / system sans, and slightly tighter
186
+ * leading prevents the page from feeling airy.
187
+ *
188
+ * `--leading-tight` is the headline rhythm — 1.10 matches
189
+ * DESIGN.md's section-heading line-height. The 1.03 / 1.15
190
+ * variations for individual display sizes are tuned in
191
+ * components.html overrides; this token is the default.
192
+ *
193
+ * `--tracking-display` is brand-defining: Stripe compresses
194
+ * display sizes with negative letter-spacing (-1.4px at 56px →
195
+ * -0.025em). The token uses -0.02em so the rule reads
196
+ * consistently across the display range (48px → -0.96px,
197
+ * 32px → -0.64px, all close to -0.02em). Components targeting
198
+ * the 56px hero may override locally for the exact -1.4px. */
199
+ --leading-body: 1.40;
200
+ --leading-tight: 1.10;
201
+ --tracking-display: -0.02em;
202
+
203
+ /* ─── Spacing ────────────────────────────────────────────────────
204
+ * 4px base unit. DESIGN.md §5 calls out a denser scale at the
205
+ * small end (every 2px from 4 → 12) for precision data displays;
206
+ * those fine-grained values are inlined inside specific
207
+ * financial-data components rather than promoted to tokens —
208
+ * the schema's 4/8/12/16/20/24/32/48 ladder covers the
209
+ * UI-chrome rhythm Stripe actually uses on hero / nav / card
210
+ * surfaces. */
211
+ --space-1: 4px;
212
+ --space-2: 8px;
213
+ --space-3: 12px;
214
+ --space-4: 16px;
215
+ --space-5: 20px;
216
+ --space-6: 24px;
217
+ --space-8: 32px;
218
+ --space-12: 48px;
219
+
220
+ /* ─── Section rhythm ─────────────────────────────────────────────
221
+ * Generous vertical breathing room desktop-side (96px) so the
222
+ * 56px hero has air above and below; tightens to 64px on
223
+ * tablet, 40px on phone per DESIGN.md §8 ("64px → 40px on
224
+ * mobile"). */
225
+ --section-y-desktop: 96px;
226
+ --section-y-tablet: 64px;
227
+ --section-y-phone: 40px;
228
+
229
+ /* ─── Radius ─────────────────────────────────────────────────────
230
+ * Conservative rounding, 4 → 6 → 8 (DESIGN.md §5). Buttons,
231
+ * inputs, and badges share the 4px small tier; nav containers
232
+ * and dropdown shells take 6px; featured cards and hero
233
+ * elements take 8px. No pill shapes on cards or buttons —
234
+ * DESIGN.md §7 Don't list. `--radius-pill` is kept as a schema
235
+ * slot (avatars only) but is never used on interactive
236
+ * surfaces. */
237
+ --radius-sm: 4px; /* buttons, inputs, badges, cards */
238
+ --radius-md: 6px; /* nav container, comfortable cards */
239
+ --radius-lg: 8px; /* featured cards, hero elements */
240
+ --radius-pill: 9999px; /* avatars only — never on buttons / cards */
241
+
242
+ /* ─── Elevation (3 levels — #Stripe 6) ──────────────────────────
243
+ * The single most brand-distinctive token in this file.
244
+ *
245
+ * Stripe's shadow philosophy is "chromatic depth": the primary
246
+ * shadow colour is a deep blue-gray (`rgba(50,50,93,0.25)`) that
247
+ * echoes the navy palette, paired with a pure-black secondary
248
+ * layer at a different offset for parallax. Negative spread
249
+ * values (-30px, -18px) keep the shadow vertical so cards don't
250
+ * fringe sideways.
251
+ *
252
+ * Rebinding `--elev-raised` to a neutral drop shadow strips
253
+ * Stripe's atmosphere even when every other colour is correct —
254
+ * the shadow IS part of the brand voice, not chrome around it.
255
+ * Brands forbidding chromatic shadows (kami) override; Stripe
256
+ * defines. */
257
+ --elev-flat: none;
258
+ --elev-ring: 0 0 0 1px var(--border);
259
+ --elev-raised:
260
+ rgba(50, 50, 93, 0.25) 0px 30px 45px -30px,
261
+ rgba(0, 0, 0, 0.10) 0px 18px 36px -18px;
262
+
263
+ /* ─── Focus ring (#Stripe 7) ────────────────────────────────────
264
+ * Layered purple halo — a 2px solid edge in `--accent` plus an
265
+ * outer translucent glow. DESIGN.md §6 specifies the solid 2px
266
+ * ring; we add the soft outer halo so keyboard focus is
267
+ * unambiguously visible against pale surfaces (payment flows
268
+ * are keyboard-heavy, the brand spec mandates clarity).
269
+ *
270
+ * Implemented as box-shadow stack so it layers outside the
271
+ * element without affecting layout. */
272
+ --focus-ring:
273
+ 0 0 0 2px var(--accent),
274
+ 0 0 0 5px color-mix(in oklab, var(--accent), transparent 75%);
275
+
276
+ /* ─── Motion ─────────────────────────────────────────────────────
277
+ * Two durations + one easing curve, per the anti-ai-slop
278
+ * "short, purposeful transitions (150–250ms) with stable
279
+ * easing" contract. Stripe's hover transitions colour and shadow
280
+ * but never transform — buttons do not nudge or scale on hover;
281
+ * cards lift via shadow intensity only. */
282
+ --motion-fast: 150ms;
283
+ --motion-base: 200ms;
284
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
285
+
286
+ /* ─── Layout ─────────────────────────────────────────────────────
287
+ * 1080px container ceiling per DESIGN.md §5. Per-breakpoint
288
+ * gutter compresses 32 → 24 → 16 — generous on desktop because
289
+ * the white canvas wants air; tight on phone because every
290
+ * pixel is content. */
291
+ --container-max: 1080px;
292
+ --container-gutter-desktop: 32px;
293
+ --container-gutter-tablet: 24px;
294
+ --container-gutter-phone: 16px;
295
+ }
@@ -0,0 +1,258 @@
1
+ # Design System Inspired by Supabase
2
+
3
+ > Category: Backend & Data
4
+ > Open-source Firebase alternative. Dark emerald theme, code-first.
5
+
6
+ ## 1. Visual Theme & Atmosphere
7
+
8
+ Supabase's website is a dark-mode-native developer platform that channels the aesthetic of a premium code editor — deep black backgrounds (`#0f0f0f`, `#171717`) with emerald green accents (`#3ecf8e`, `#00c573`) that reference the brand's open-source, PostgreSQL-green identity. The design system feels like it was born in a terminal window and evolved into a sophisticated marketing surface without losing its developer soul.
9
+
10
+ The typography is built on "Circular" — a geometric sans-serif with rounded terminals that softens the technical edge. At 72px with a 1.00 line-height, the hero text is compressed to its absolute minimum vertical space, creating dense, impactful statements that waste nothing. The monospace companion (Source Code Pro) appears sparingly for uppercase technical labels with 1.2px letter-spacing, creating the "developer console" markers that connect the marketing site to the product experience.
11
+
12
+ What makes Supabase distinctive is its sophisticated HSL-based color token system. Rather than flat hex values, Supabase uses HSL with alpha channels for nearly every color (`--colors-crimson4`, `--colors-purple5`, `--colors-slateA12`), enabling a nuanced layering system where colors interact through transparency. This creates depth through translucency — borders at `rgba(46, 46, 46)`, surfaces at `rgba(41, 41, 41, 0.84)`, and accents at partial opacity all blend with the dark background to create a rich, dimensional palette from minimal color ingredients.
13
+
14
+ The green accent (`#3ecf8e`) appears selectively — in the Supabase logo, in link colors (`#00c573`), and in border highlights (`rgba(62, 207, 142, 0.3)`) — always as a signal of "this is Supabase" rather than as a decorative element. Pill-shaped buttons (9999px radius) for primary CTAs contrast with standard 6px radius for secondary elements, creating a clear visual hierarchy of importance.
15
+
16
+ **Key Characteristics:**
17
+ - Dark-mode-native: near-black backgrounds (`#0f0f0f`, `#171717`) — never pure black
18
+ - Emerald green brand accent (`#3ecf8e`, `#00c573`) used sparingly as identity marker
19
+ - Circular font — geometric sans-serif with rounded terminals
20
+ - Source Code Pro for uppercase technical labels (1.2px letter-spacing)
21
+ - HSL-based color token system with alpha channels for translucent layering
22
+ - Pill buttons (9999px) for primary CTAs, 6px radius for secondary
23
+ - Neutral gray scale from `#171717` through `#898989` to `#fafafa`
24
+ - Border system using dark grays (`#2e2e2e`, `#363636`, `#393939`)
25
+ - Minimal shadows — depth through border contrast and transparency
26
+ - Radix color primitives (crimson, purple, violet, indigo, yellow, tomato, orange, slate)
27
+
28
+ ## 2. Color Palette & Roles
29
+
30
+ ### Brand
31
+ - **Supabase Green** (`#3ecf8e`): Primary brand color, logo, accent borders
32
+ - **Green Link** (`#00c573`): Interactive green for links and actions
33
+ - **Green Border** (`rgba(62, 207, 142, 0.3)`): Subtle green border accent
34
+
35
+ ### Neutral Scale (Dark Mode)
36
+ - **Near Black** (`#0f0f0f`): Primary button background, deepest surface
37
+ - **Dark** (`#171717`): Page background, primary canvas
38
+ - **Dark Border** (`#242424`): Horizontal rule, section dividers
39
+ - **Border Dark** (`#2e2e2e`): Card borders, tab borders
40
+ - **Mid Border** (`#363636`): Button borders, dividers
41
+ - **Border Light** (`#393939`): Secondary borders
42
+ - **Charcoal** (`#434343`): Tertiary borders, dark accents
43
+ - **Dark Gray** (`#4d4d4d`): Heavy secondary text
44
+ - **Mid Gray** (`#898989`): Muted text, link color
45
+ - **Light Gray** (`#b4b4b4`): Secondary link text
46
+ - **Near White** (`#efefef`): Light border, subtle surface
47
+ - **Off White** (`#fafafa`): Primary text, button text
48
+
49
+ ### Radix Color Tokens (HSL-based)
50
+ - **Slate Scale**: `--colors-slate5` through `--colors-slateA12` — neutral progression
51
+ - **Purple**: `--colors-purple4`, `--colors-purple5`, `--colors-purpleA7` — accent spectrum
52
+ - **Violet**: `--colors-violet10` (`hsl(251, 63.2%, 63.2%)`) — vibrant accent
53
+ - **Crimson**: `--colors-crimson4`, `--colors-crimsonA9` — warm accent / alert
54
+ - **Indigo**: `--colors-indigoA2` — subtle blue wash
55
+ - **Yellow**: `--colors-yellowA7` — attention/warning
56
+ - **Tomato**: `--colors-tomatoA4` — error accent
57
+ - **Orange**: `--colors-orange6` — warm accent
58
+
59
+ ### Surface & Overlay
60
+ - **Glass Dark** (`rgba(41, 41, 41, 0.84)`): Translucent dark overlay
61
+ - **Slate Alpha** (`hsla(210, 87.8%, 16.1%, 0.031)`): Ultra-subtle blue wash
62
+ - **Fixed Scale Alpha** (`hsla(200, 90.3%, 93.4%, 0.109)`): Light frost overlay
63
+
64
+ ### Shadows
65
+ - Supabase uses **almost no shadows** in its dark theme. Depth is created through border contrast and surface color differences rather than box-shadows. Focus states use `rgba(0, 0, 0, 0.1) 0px 4px 12px` — minimal, functional.
66
+
67
+ ## 3. Typography Rules
68
+
69
+ ### Font Families
70
+ - **Primary**: `Circular`, with fallbacks: `custom-font, Helvetica Neue, Helvetica, Arial`
71
+ - **Monospace**: `Source Code Pro`, with fallbacks: `Office Code Pro, Menlo`
72
+
73
+ ### Hierarchy
74
+
75
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
76
+ |------|------|------|--------|-------------|----------------|-------|
77
+ | Display Hero | Circular | 72px (4.50rem) | 400 | 1.00 (tight) | normal | Maximum density, zero waste |
78
+ | Section Heading | Circular | 36px (2.25rem) | 400 | 1.25 (tight) | normal | Feature section titles |
79
+ | Card Title | Circular | 24px (1.50rem) | 400 | 1.33 | -0.16px | Slight negative tracking |
80
+ | Sub-heading | Circular | 18px (1.13rem) | 400 | 1.56 | normal | Secondary headings |
81
+ | Body | Circular | 16px (1.00rem) | 400 | 1.50 | normal | Standard body text |
82
+ | Nav Link | Circular | 14px (0.88rem) | 500 | 1.00–1.43 | normal | Navigation items |
83
+ | Button | Circular | 14px (0.88rem) | 500 | 1.14 (tight) | normal | Button labels |
84
+ | Caption | Circular | 14px (0.88rem) | 400–500 | 1.43 | normal | Metadata, tags |
85
+ | Small | Circular | 12px (0.75rem) | 400 | 1.33 | normal | Fine print, footer links |
86
+ | Code Label | Source Code Pro | 12px (0.75rem) | 400 | 1.33 | 1.2px | `text-transform: uppercase` |
87
+
88
+ ### Principles
89
+ - **Weight restraint**: Nearly all text uses weight 400 (regular/book). Weight 500 appears only for navigation links and button labels. There is no bold (700) in the detected system — hierarchy is created through size, not weight.
90
+ - **1.00 hero line-height**: The hero text is compressed to absolute zero leading. This is the defining typographic gesture — text that feels like a terminal command: dense, efficient, no wasted vertical space.
91
+ - **Negative tracking on cards**: Card titles use -0.16px letter-spacing, a subtle tightening that differentiates them from body text without being obvious.
92
+ - **Monospace as ritual**: Source Code Pro in uppercase with 1.2px letter-spacing is the "developer console" voice — used sparingly for technical labels that connect to the product experience.
93
+ - **Geometric personality**: Circular's rounded terminals create warmth in what could otherwise be a cold, technical interface. The font is the humanizing element.
94
+
95
+ ## 4. Component Stylings
96
+
97
+ ### Buttons
98
+
99
+ **Primary Pill (Dark)**
100
+ - Background: `#0f0f0f`
101
+ - Text: `#fafafa`
102
+ - Padding: 8px 32px
103
+ - Radius: 9999px (full pill)
104
+ - Border: `1px solid #fafafa` (white border on dark)
105
+ - Focus shadow: `rgba(0, 0, 0, 0.1) 0px 4px 12px`
106
+ - Use: Primary CTA ("Start your project")
107
+
108
+ **Secondary Pill (Dark, Muted)**
109
+ - Background: `#0f0f0f`
110
+ - Text: `#fafafa`
111
+ - Padding: 8px 32px
112
+ - Radius: 9999px
113
+ - Border: `1px solid #2e2e2e` (dark border)
114
+ - Opacity: 0.8
115
+ - Use: Secondary CTA alongside primary
116
+
117
+ **Ghost Button**
118
+ - Background: transparent
119
+ - Text: `#fafafa`
120
+ - Padding: 8px
121
+ - Radius: 6px
122
+ - Border: `1px solid transparent`
123
+ - Use: Tertiary actions, icon buttons
124
+
125
+ ### Cards & Containers
126
+ - Background: dark surfaces (`#171717` or slightly lighter)
127
+ - Border: `1px solid #2e2e2e` or `#363636`
128
+ - Radius: 8px–16px
129
+ - No visible shadows — borders define edges
130
+ - Internal padding: 16px–24px
131
+
132
+ ### Tabs
133
+ - Border: `1px solid #2e2e2e`
134
+ - Radius: 9999px (pill tabs)
135
+ - Active: green accent or lighter surface
136
+ - Inactive: dark, muted
137
+
138
+ ### Links
139
+ - **Green**: `#00c573` — Supabase-branded links
140
+ - **Primary Light**: `#fafafa` — standard links on dark
141
+ - **Secondary**: `#b4b4b4` — muted links
142
+ - **Muted**: `#898989` — tertiary links, footer
143
+
144
+ ### Navigation
145
+ - Dark background matching page (`#171717`)
146
+ - Supabase logo with green icon
147
+ - Circular 14px weight 500 for nav links
148
+ - Clean horizontal layout with product dropdown
149
+ - Green "Start your project" CTA pill button
150
+ - Sticky header behavior
151
+
152
+ ## 5. Layout Principles
153
+
154
+ ### Spacing System
155
+ - Base unit: 8px
156
+ - Scale: 1px, 4px, 6px, 8px, 12px, 16px, 20px, 24px, 32px, 40px, 48px, 90px, 96px, 128px
157
+ - Notable large jumps: 48px → 90px → 96px → 128px for major section spacing
158
+
159
+ ### Grid & Container
160
+ - Centered content with generous max-width
161
+ - Full-width dark sections with constrained inner content
162
+ - Feature grids: icon-based grids with consistent card sizes
163
+ - Logo grids for "Trusted by" sections
164
+ - Footer: multi-column on dark background
165
+
166
+ ### Breakpoints
167
+ | Name | Width | Key Changes |
168
+ |------|-------|-------------|
169
+ | Mobile | <600px | Single column, stacked layout |
170
+ | Desktop | >600px | Multi-column grids, expanded layout |
171
+
172
+ *Note: Supabase uses a notably minimal breakpoint system — primarily a single 600px breakpoint, suggesting a mobile-first approach with progressive enhancement.*
173
+
174
+ ### Whitespace Philosophy
175
+ - **Dramatic section spacing**: 90px–128px between major sections creates a cinematic pacing — each section is its own scene in the dark void.
176
+ - **Dense content blocks**: Within sections, spacing is tight (16px–24px), creating concentrated information clusters.
177
+ - **Border-defined space**: Instead of whitespace + shadows for separation, Supabase uses thin borders on dark backgrounds — separation through line, not gap.
178
+
179
+ ### Border Radius Scale
180
+ - Standard (6px): Ghost buttons, small elements
181
+ - Comfortable (8px): Cards, containers
182
+ - Medium (11px–12px): Mid-size panels
183
+ - Large (16px): Feature cards, major containers
184
+ - Pill (9999px): Primary buttons, tab indicators
185
+
186
+ ## 6. Depth & Elevation
187
+
188
+ | Level | Treatment | Use |
189
+ |-------|-----------|-----|
190
+ | Flat (Level 0) | No shadow, border `#2e2e2e` | Default state, most surfaces |
191
+ | Subtle Border (Level 1) | Border `#363636` or `#393939` | Interactive elements, hover |
192
+ | Focus (Level 2) | `rgba(0, 0, 0, 0.1) 0px 4px 12px` | Focus states only |
193
+ | Green Accent (Level 3) | Border `rgba(62, 207, 142, 0.3)` | Brand-highlighted elements |
194
+
195
+ **Shadow Philosophy**: Supabase deliberately avoids shadows. In a dark-mode-native design, shadows are nearly invisible and serve no purpose. Instead, depth is communicated through a sophisticated border hierarchy — from `#242424` (barely visible) through `#2e2e2e` (standard) to `#393939` (prominent). The green accent border (`rgba(62, 207, 142, 0.3)`) at 30% opacity is the "elevated" state — the brand color itself becomes the depth signal.
196
+
197
+ ## 7. Do's and Don'ts
198
+
199
+ ### Do
200
+ - Use near-black backgrounds (`#0f0f0f`, `#171717`) — depth comes from the gray border hierarchy
201
+ - Apply Supabase green (`#3ecf8e`, `#00c573`) sparingly — it's an identity marker, not a decoration
202
+ - Use Circular at weight 400 for nearly everything — 500 only for buttons and nav
203
+ - Set hero text to 1.00 line-height — the zero-leading is the typographic signature
204
+ - Create depth through border color differences (`#242424` → `#2e2e2e` → `#363636`)
205
+ - Use pill shape (9999px) exclusively for primary CTAs and tabs
206
+ - Employ HSL-based colors with alpha for translucent layering effects
207
+ - Use Source Code Pro uppercase labels for developer-context markers
208
+
209
+ ### Don't
210
+ - Don't add box-shadows — they're invisible on dark backgrounds and break the border-defined depth system
211
+ - Don't use bold (700) text weight — the system uses 400 and 500 only
212
+ - Don't apply green to backgrounds or large surfaces — it's for borders, links, and small accents
213
+ - Don't use warm colors (crimson, orange) as primary design elements — they exist as semantic tokens for states
214
+ - Don't increase hero line-height above 1.00 — the density is intentional
215
+ - Don't use large border radius (16px+) on buttons — pills (9999px) or standard (6px), nothing in between
216
+ - Don't lighten the background above `#171717` for primary surfaces — the darkness is structural
217
+ - Don't forget the translucent borders — `rgba` border colors are the layering mechanism
218
+
219
+ ## 8. Responsive Behavior
220
+
221
+ ### Breakpoints
222
+ | Name | Width | Key Changes |
223
+ |------|-------|-------------|
224
+ | Mobile | <600px | Single column, stacked features, condensed nav |
225
+ | Desktop | >600px | Multi-column grids, full nav, expanded sections |
226
+
227
+ ### Collapsing Strategy
228
+ - Hero: 72px → scales down proportionally
229
+ - Feature grids: multi-column → single column stacked
230
+ - Logo row: horizontal → wrapped grid
231
+ - Navigation: full → hamburger
232
+ - Section spacing: 90–128px → 48–64px
233
+ - Buttons: inline → full-width stacked
234
+
235
+ ## 9. Agent Prompt Guide
236
+
237
+ ### Quick Color Reference
238
+ - Background: `#0f0f0f` (button), `#171717` (page)
239
+ - Text: `#fafafa` (primary), `#b4b4b4` (secondary), `#898989` (muted)
240
+ - Brand green: `#3ecf8e` (brand), `#00c573` (links)
241
+ - Borders: `#242424` (subtle), `#2e2e2e` (standard), `#363636` (prominent)
242
+ - Green border: `rgba(62, 207, 142, 0.3)` (accent)
243
+
244
+ ### Example Component Prompts
245
+ - "Create a hero section on #171717 background. Headline at 72px Circular weight 400, line-height 1.00, #fafafa text. Sub-text at 16px Circular weight 400, line-height 1.50, #b4b4b4. Pill CTA button (#0f0f0f bg, #fafafa text, 9999px radius, 8px 32px padding, 1px solid #fafafa border)."
246
+ - "Design a feature card: #171717 background, 1px solid #2e2e2e border, 16px radius. Title at 24px Circular weight 400, letter-spacing -0.16px. Body at 14px weight 400, #898989 text."
247
+ - "Build navigation bar: #171717 background. Circular 14px weight 500 for links, #fafafa text. Supabase logo with green icon left-aligned. Green pill CTA 'Start your project' right-aligned."
248
+ - "Create a technical label: Source Code Pro 12px, uppercase, letter-spacing 1.2px, #898989 text."
249
+ - "Design a framework logo grid: 6-column layout on dark, grayscale logos at 60% opacity, 1px solid #2e2e2e border between sections."
250
+
251
+ ### Iteration Guide
252
+ 1. Start with #171717 background — everything is dark-mode-native
253
+ 2. Green is the brand identity marker — use it for links, logo, and accent borders only
254
+ 3. Depth comes from borders (#242424 → #2e2e2e → #363636), not shadows
255
+ 4. Weight 400 is the default for everything — 500 only for interactive elements
256
+ 5. Hero line-height of 1.00 is the signature typographic move
257
+ 6. Pill (9999px) for primary actions, 6px for secondary, 8-16px for cards
258
+ 7. HSL with alpha channels creates the sophisticated translucent layering