@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,188 @@
1
+ # Design System Inspired by Revolut
2
+
3
+ > Category: Fintech & Crypto
4
+ > Digital banking. Sleek dark interface, gradient cards, fintech precision.
5
+
6
+ ## 1. Visual Theme & Atmosphere
7
+
8
+ Revolut's website is fintech confidence distilled into pixels — a design system that communicates "your money is in capable hands" through massive typography, generous whitespace, and a disciplined neutral palette. The visual language is built on Aeonik Pro, a geometric grotesque that creates billboard-scale headlines at 136px with weight 500 and aggressive negative tracking (-2.72px). This isn't subtle branding; it's fintech at stadium scale.
9
+
10
+ The color system is built on a comprehensive `--rui-*` (Revolut UI) token architecture with semantic naming for every state: danger (`#e23b4a`), warning (`#ec7e00`), teal (`#00a87e`), blue (`#494fdf`), deep-pink (`#e61e49`), and more. But the marketing surface itself is remarkably restrained — near-black (`#191c1f`) and pure white (`#ffffff`) dominate, with the colorful semantic tokens reserved for the product interface, not the marketing page.
11
+
12
+ What distinguishes Revolut is its pill-everything button system. Every button uses 9999px radius — primary dark (`#191c1f`), secondary light (`#f4f4f4`), outlined (`transparent + 2px solid`), and ghost on dark (`rgba(244,244,244,0.1) + 2px solid`). The padding is generous (14px 32px–34px), creating large, confident touch targets. Combined with Inter for body text at various weights and positive letter-spacing (0.16px–0.24px), the result is a design that feels both premium and accessible — banking for the modern era.
13
+
14
+ **Key Characteristics:**
15
+ - Aeonik Pro display at 136px weight 500 — billboard-scale fintech headlines
16
+ - Near-black (`#191c1f`) + white binary with comprehensive `--rui-*` semantic tokens
17
+ - Universal pill buttons (9999px radius) with generous padding (14px 32px)
18
+ - Inter for body text with positive letter-spacing (0.16px–0.24px)
19
+ - Rich semantic color system: blue, teal, pink, yellow, green, brown, danger, warning
20
+ - Zero shadows detected — depth through color contrast only
21
+ - Tight display line-heights (1.00) with relaxed body (1.50–1.56)
22
+
23
+ ## 2. Color Palette & Roles
24
+
25
+ ### Primary
26
+ - **Revolut Dark** (`#191c1f`): Primary dark surface, button background, near-black text
27
+ - **Pure White** (`#ffffff`): `--rui-color-action-label`, primary light surface
28
+ - **Light Surface** (`#f4f4f4`): Secondary button background, subtle surface
29
+
30
+ ### Brand / Interactive
31
+ - **Revolut Blue** (`#494fdf`): `--rui-color-blue`, primary brand blue
32
+ - **Action Blue** (`#4f55f1`): `--rui-color-action-photo-header-text`, header accent
33
+ - **Blue Text** (`#376cd5`): `--website-color-blue-text`, link blue
34
+
35
+ ### Semantic
36
+ - **Danger Red** (`#e23b4a`): `--rui-color-danger`, error/destructive
37
+ - **Deep Pink** (`#e61e49`): `--rui-color-deep-pink`, critical accent
38
+ - **Warning Orange** (`#ec7e00`): `--rui-color-warning`, warning states
39
+ - **Yellow** (`#b09000`): `--rui-color-yellow`, attention
40
+ - **Teal** (`#00a87e`): `--rui-color-teal`, success/positive
41
+ - **Light Green** (`#428619`): `--rui-color-light-green`, secondary success
42
+ - **Green Text** (`#006400`): `--website-color-green-text`, green text
43
+ - **Light Blue** (`#007bc2`): `--rui-color-light-blue`, informational
44
+ - **Brown** (`#936d62`): `--rui-color-brown`, warm neutral accent
45
+ - **Red Text** (`#8b0000`): `--website-color-red-text`, dark red text
46
+
47
+ ### Neutral Scale
48
+ - **Mid Slate** (`#505a63`): Secondary text
49
+ - **Cool Gray** (`#8d969e`): Muted text, tertiary
50
+ - **Gray Tone** (`#c9c9cd`): `--rui-color-grey-tone-20`, borders/dividers
51
+
52
+ ## 3. Typography Rules
53
+
54
+ ### Font Families
55
+ - **Display**: `Aeonik Pro` — geometric grotesque, no detected fallbacks
56
+ - **Body / UI**: `Inter` — standard system sans
57
+ - **Fallback**: `Arial` for specific button contexts
58
+
59
+ ### Hierarchy
60
+
61
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
62
+ |------|------|------|--------|-------------|----------------|-------|
63
+ | Display Mega | Aeonik Pro | 136px (8.50rem) | 500 | 1.00 (tight) | -2.72px | Stadium-scale hero |
64
+ | Display Hero | Aeonik Pro | 80px (5.00rem) | 500 | 1.00 (tight) | -0.8px | Primary hero |
65
+ | Section Heading | Aeonik Pro | 48px (3.00rem) | 500 | 1.21 (tight) | -0.48px | Feature sections |
66
+ | Sub-heading | Aeonik Pro | 40px (2.50rem) | 500 | 1.20 (tight) | -0.4px | Sub-sections |
67
+ | Card Title | Aeonik Pro | 32px (2.00rem) | 500 | 1.19 (tight) | -0.32px | Card headings |
68
+ | Feature Title | Aeonik Pro | 24px (1.50rem) | 400 | 1.33 | normal | Light headings |
69
+ | Nav / UI | Aeonik Pro | 20px (1.25rem) | 500 | 1.40 | normal | Navigation, buttons |
70
+ | Body Large | Inter | 18px (1.13rem) | 400 | 1.56 | -0.09px | Introductions |
71
+ | Body | Inter | 16px (1.00rem) | 400 | 1.50 | 0.24px | Standard reading |
72
+ | Body Semibold | Inter | 16px (1.00rem) | 600 | 1.50 | 0.16px | Emphasized body |
73
+ | Body Bold Link | Inter | 16px (1.00rem) | 700 | 1.50 | 0.24px | Bold links |
74
+
75
+ ### Principles
76
+ - **Weight 500 as display default**: Aeonik Pro uses medium (500) for ALL headings — no bold. This creates authority through size and tracking, not weight.
77
+ - **Billboard tracking**: -2.72px at 136px is extremely compressed — text designed to be read at a glance, like airport signage.
78
+ - **Positive tracking on body**: Inter uses +0.16px to +0.24px, creating airy, well-spaced reading text that contrasts with the compressed headings.
79
+
80
+ ## 4. Component Stylings
81
+
82
+ ### Buttons
83
+
84
+ **Primary Dark Pill**
85
+ - Background: `#191c1f`
86
+ - Text: `#ffffff`
87
+ - Padding: 14px 32px
88
+ - Radius: 9999px (full pill)
89
+ - Hover: opacity 0.85
90
+ - Focus: `0 0 0 0.125rem` ring
91
+
92
+ **Secondary Light Pill**
93
+ - Background: `#f4f4f4`
94
+ - Text: `#000000`
95
+ - Padding: 14px 34px
96
+ - Radius: 9999px
97
+ - Hover: opacity 0.85
98
+
99
+ **Outlined Pill**
100
+ - Background: transparent
101
+ - Text: `#191c1f`
102
+ - Border: `2px solid #191c1f`
103
+ - Padding: 14px 32px
104
+ - Radius: 9999px
105
+
106
+ **Ghost on Dark**
107
+ - Background: `rgba(244, 244, 244, 0.1)`
108
+ - Text: `#f4f4f4`
109
+ - Border: `2px solid #f4f4f4`
110
+ - Padding: 14px 32px
111
+ - Radius: 9999px
112
+
113
+ ### Cards & Containers
114
+ - Radius: 12px (small), 20px (cards)
115
+ - No shadows — flat surfaces with color contrast
116
+ - Dark and light section alternation
117
+
118
+ ### Navigation
119
+ - Aeonik Pro 20px weight 500
120
+ - Clean header, hamburger toggle at 12px radius
121
+ - Pill CTAs right-aligned
122
+
123
+ ## 5. Layout Principles
124
+
125
+ ### Spacing System
126
+ - Base unit: 8px
127
+ - Scale: 4px, 6px, 8px, 14px, 16px, 20px, 24px, 32px, 40px, 48px, 80px, 88px, 120px
128
+ - Large section spacing: 80px–120px
129
+
130
+ ### Border Radius Scale
131
+ - Standard (12px): Navigation, small buttons
132
+ - Card (20px): Feature cards
133
+ - Pill (9999px): All buttons
134
+
135
+ ## 6. Depth & Elevation
136
+
137
+ | Level | Treatment | Use |
138
+ |-------|-----------|-----|
139
+ | Flat (Level 0) | No shadow | Everything — Revolut uses zero shadows |
140
+ | Focus | `0 0 0 0.125rem` ring | Accessibility focus |
141
+
142
+ **Shadow Philosophy**: Revolut uses ZERO shadows. Depth comes entirely from the dark/light section contrast and the generous whitespace between elements.
143
+
144
+ ## 7. Do's and Don'ts
145
+
146
+ ### Do
147
+ - Use Aeonik Pro weight 500 for all display headings
148
+ - Apply 9999px radius to all buttons — pill shape is universal
149
+ - Use generous button padding (14px 32px)
150
+ - Keep the palette to near-black + white for marketing surfaces
151
+ - Apply positive letter-spacing on Inter body text
152
+
153
+ ### Don't
154
+ - Don't use shadows — Revolut is flat by design
155
+ - Don't use bold (700) for Aeonik Pro headings — 500 is the weight
156
+ - Don't use small buttons — the generous padding is intentional
157
+ - Don't apply semantic colors to marketing surfaces — they're for the product
158
+
159
+ ## 8. Responsive Behavior
160
+
161
+ ### Breakpoints
162
+ | Name | Width | Key Changes |
163
+ |------|-------|-------------|
164
+ | Mobile Small | <400px | Compact, single column |
165
+ | Mobile | 400–720px | Standard mobile |
166
+ | Tablet | 720–1024px | 2-column layouts |
167
+ | Desktop | 1024–1280px | Standard desktop |
168
+ | Large | 1280–1920px | Full layout |
169
+
170
+ ## 9. Agent Prompt Guide
171
+
172
+ ### Quick Color Reference
173
+ - Dark: Revolut Dark (`#191c1f`)
174
+ - Light: White (`#ffffff`)
175
+ - Surface: Light (`#f4f4f4`)
176
+ - Blue: Revolut Blue (`#494fdf`)
177
+ - Danger: Red (`#e23b4a`)
178
+ - Success: Teal (`#00a87e`)
179
+
180
+ ### Example Component Prompts
181
+ - "Create a hero: white background. Headline at 136px Aeonik Pro weight 500, line-height 1.00, letter-spacing -2.72px, #191c1f text. Dark pill CTA (#191c1f, 9999px, 14px 32px). Outlined pill secondary (transparent, 2px solid #191c1f)."
182
+ - "Build a pill button: #191c1f background, white text, 9999px radius, 14px 32px padding, 20px Aeonik Pro weight 500. Hover: opacity 0.85."
183
+
184
+ ### Iteration Guide
185
+ 1. Aeonik Pro 500 for headings — never bold
186
+ 2. All buttons are pills (9999px) with generous padding
187
+ 3. Zero shadows — flat is the Revolut identity
188
+ 4. Near-black + white for marketing, semantic colors for product
@@ -0,0 +1,342 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Revolut - reference components</title>
7
+ <meta
8
+ name="description"
9
+ content="Reference fixture for design-systems/revolut: premium consumer-finance surfaces with bright blue action and polished dashboard cards."
10
+ />
11
+ <style>
12
+ :root {
13
+ --bg: #f7f8fb;
14
+ --surface: #ffffff;
15
+ --surface-warm: #eef4ff;
16
+ --fg: #111827;
17
+ --fg-2: #334155;
18
+ --muted: #64748b;
19
+ --meta: #0666eb;
20
+ --border: #dbe3ef;
21
+ --border-soft: #edf2f7;
22
+ --accent: #0666eb;
23
+ --accent-on: #ffffff;
24
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
25
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
26
+ --success: #16a34a;
27
+ --warn: #f59e0b;
28
+ --danger: #ef4444;
29
+ --font-display: "Inter", system-ui, sans-serif;
30
+ --font-body: "Inter", system-ui, sans-serif;
31
+ --font-mono: "SF Mono", ui-monospace, Menlo, monospace;
32
+ --text-xs: 12px;
33
+ --text-sm: 14px;
34
+ --text-base: 16px;
35
+ --text-lg: 18px;
36
+ --text-xl: 24px;
37
+ --text-2xl: 36px;
38
+ --text-3xl: 54px;
39
+ --text-4xl: 76px;
40
+ --leading-body: 1.5;
41
+ --leading-tight: 1.02;
42
+ --tracking-display: -0.03em;
43
+ --space-1: 4px;
44
+ --space-2: 8px;
45
+ --space-3: 12px;
46
+ --space-4: 16px;
47
+ --space-5: 20px;
48
+ --space-6: 24px;
49
+ --space-8: 32px;
50
+ --space-12: 48px;
51
+ --section-y-desktop: 104px;
52
+ --section-y-tablet: 72px;
53
+ --section-y-phone: 52px;
54
+ --radius-sm: 12px;
55
+ --radius-md: 20px;
56
+ --radius-lg: 30px;
57
+ --radius-pill: 9999px;
58
+ --elev-flat: none;
59
+ --elev-ring: 0 0 0 1px var(--border);
60
+ --elev-raised: 0 24px 64px rgba(17, 24, 39, 0.12);
61
+ --focus-ring: 0 0 0 4px rgba(6, 102, 235, 0.22);
62
+ --motion-fast: 150ms;
63
+ --motion-base: 240ms;
64
+ --ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
65
+ --container-max: 1180px;
66
+ --container-gutter-desktop: 36px;
67
+ --container-gutter-tablet: 28px;
68
+ --container-gutter-phone: 18px;
69
+ }
70
+
71
+ *, *::before, *::after { box-sizing: border-box; }
72
+ html, body { margin: 0; padding: 0; }
73
+ body {
74
+ min-height: 100vh;
75
+ background: var(--bg);
76
+ color: var(--fg);
77
+ font-family: var(--font-body);
78
+ font-size: var(--text-base);
79
+ line-height: var(--leading-body);
80
+ -webkit-font-smoothing: antialiased;
81
+ }
82
+ .page {
83
+ min-height: 100vh;
84
+ background: radial-gradient(circle at 80% 8%, rgba(6, 102, 235, 0.20), transparent 36%), #f7f8fb;
85
+ }
86
+ .container {
87
+ max-width: var(--container-max);
88
+ margin-inline: auto;
89
+ padding-inline: var(--container-gutter-desktop);
90
+ }
91
+ section { padding-block: var(--section-y-desktop); }
92
+ @media (max-width: 1023px) {
93
+ .container { padding-inline: var(--container-gutter-tablet); }
94
+ section { padding-block: var(--section-y-tablet); }
95
+ }
96
+ @media (max-width: 639px) {
97
+ .container { padding-inline: var(--container-gutter-phone); }
98
+ section { padding-block: var(--section-y-phone); }
99
+ }
100
+ h1, h2, h3, p { margin: 0; }
101
+ h1, h2, h3 {
102
+ font-family: var(--font-display);
103
+ line-height: var(--leading-tight);
104
+ letter-spacing: var(--tracking-display);
105
+ }
106
+ h1 { max-width: 820px; font-size: var(--text-4xl); font-weight: 700; }
107
+ h2 { font-size: var(--text-3xl); font-weight: 650; }
108
+ h3 { font-size: var(--text-xl); font-weight: 650; }
109
+ .eyebrow {
110
+ color: var(--meta);
111
+ font-family: var(--font-mono);
112
+ font-size: var(--text-xs);
113
+ font-weight: 700;
114
+ letter-spacing: 0.12em;
115
+ text-transform: uppercase;
116
+ }
117
+ .lead {
118
+ max-width: 620px;
119
+ color: var(--fg-2);
120
+ font-size: var(--text-lg);
121
+ }
122
+ .hero {
123
+ display: grid;
124
+ grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
125
+ gap: var(--space-8);
126
+ align-items: center;
127
+ }
128
+ .stack > * + * { margin-block-start: var(--space-4); }
129
+ .actions {
130
+ display: flex;
131
+ flex-wrap: wrap;
132
+ gap: var(--space-3);
133
+ margin-block-start: var(--space-6);
134
+ }
135
+ .btn {
136
+ display: inline-flex;
137
+ align-items: center;
138
+ justify-content: center;
139
+ min-height: 44px;
140
+ padding: 0 var(--space-5);
141
+ border: 1px solid transparent;
142
+ border-radius: var(--radius-md);
143
+ font: 700 var(--text-sm) / 1 var(--font-body);
144
+ text-decoration: none;
145
+ cursor: pointer;
146
+ transition:
147
+ background-color var(--motion-fast) var(--ease-standard),
148
+ border-color var(--motion-fast) var(--ease-standard),
149
+ color var(--motion-fast) var(--ease-standard),
150
+ transform var(--motion-fast) var(--ease-standard),
151
+ box-shadow var(--motion-fast) var(--ease-standard);
152
+ }
153
+ .btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
154
+ .btn-primary { background: var(--accent); color: var(--accent-on); }
155
+ .btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
156
+ .btn-secondary { background: var(--surface); color: var(--fg); border-color: var(--border); box-shadow: var(--elev-ring); }
157
+ .btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
158
+ .panel {
159
+ background: color-mix(in oklab, var(--surface), transparent 4%);
160
+ border: 1px solid var(--border);
161
+ border-radius: var(--radius-lg);
162
+ box-shadow: var(--elev-raised);
163
+ overflow: hidden;
164
+ }
165
+ .panel-head {
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: space-between;
169
+ gap: var(--space-4);
170
+ padding: var(--space-5);
171
+ border-bottom: 1px solid var(--border-soft);
172
+ }
173
+ .status {
174
+ display: inline-flex;
175
+ align-items: center;
176
+ gap: var(--space-2);
177
+ color: var(--meta);
178
+ font: 700 var(--text-xs) / 1 var(--font-mono);
179
+ text-transform: uppercase;
180
+ letter-spacing: 0.08em;
181
+ }
182
+ .status::before {
183
+ width: 8px;
184
+ height: 8px;
185
+ border-radius: var(--radius-pill);
186
+ background: var(--success);
187
+ content: "";
188
+ }
189
+ .metric-grid {
190
+ display: grid;
191
+ grid-template-columns: repeat(3, minmax(0, 1fr));
192
+ border-bottom: 1px solid var(--border-soft);
193
+ }
194
+ .metric {
195
+ padding: var(--space-5);
196
+ border-right: 1px solid var(--border-soft);
197
+ }
198
+ .metric:last-child { border-right: 0; }
199
+ .metric strong {
200
+ display: block;
201
+ font-family: var(--font-display);
202
+ font-size: var(--text-2xl);
203
+ line-height: var(--leading-tight);
204
+ }
205
+ .metric span { color: var(--muted); font-size: var(--text-sm); }
206
+ .card-row {
207
+ display: grid;
208
+ grid-template-columns: 1fr 1fr;
209
+ gap: var(--space-4);
210
+ padding: var(--space-5);
211
+ }
212
+ .mini-card {
213
+ min-height: 148px;
214
+ padding: var(--space-5);
215
+ border: 1px solid var(--border-soft);
216
+ border-radius: var(--radius-md);
217
+ background: var(--surface-warm);
218
+ }
219
+ .mini-card p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
220
+ .swatches {
221
+ display: flex;
222
+ gap: var(--space-2);
223
+ margin-block-start: var(--space-4);
224
+ }
225
+ .swatch {
226
+ width: 32px;
227
+ height: 32px;
228
+ border-radius: var(--radius-sm);
229
+ border: 1px solid var(--border);
230
+ }
231
+ .swatch.accent { background: var(--accent); }
232
+ .swatch.surface { background: var(--surface); }
233
+ .swatch.warm { background: var(--surface-warm); }
234
+ .swatch.fg { background: var(--fg); }
235
+ .field {
236
+ display: grid;
237
+ gap: var(--space-2);
238
+ margin-block-start: var(--space-5);
239
+ }
240
+ label { color: var(--fg-2); font-size: var(--text-sm); font-weight: 700; }
241
+ input {
242
+ width: 100%;
243
+ min-height: 46px;
244
+ padding: 0 var(--space-4);
245
+ border: 1px solid var(--border);
246
+ border-radius: var(--radius-sm);
247
+ background: var(--surface);
248
+ color: var(--fg);
249
+ font: inherit;
250
+ }
251
+ input:focus { outline: none; box-shadow: var(--focus-ring); border-color: var(--accent); }
252
+ .lower {
253
+ display: grid;
254
+ grid-template-columns: repeat(3, minmax(0, 1fr));
255
+ gap: var(--space-4);
256
+ }
257
+ .tile {
258
+ padding: var(--space-5);
259
+ border: 1px solid var(--border);
260
+ border-radius: var(--radius-md);
261
+ background: var(--surface);
262
+ }
263
+ .tile p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
264
+ @media (max-width: 860px) {
265
+ .hero, .lower { grid-template-columns: 1fr; }
266
+ .metric-grid, .card-row { grid-template-columns: 1fr; }
267
+ .metric { border-right: 0; border-bottom: 1px solid var(--border-soft); }
268
+ .metric:last-child { border-bottom: 0; }
269
+ }
270
+ </style>
271
+ </head>
272
+ <body>
273
+ <main class="page">
274
+ <section>
275
+ <div class="container hero">
276
+ <div class="stack">
277
+ <p class="eyebrow">Revolut design system</p>
278
+ <h1>Money command center</h1>
279
+ <p class="lead">Modern finance cards, clean white space, and electric blue movement.</p>
280
+ <div class="actions" aria-label="Reference actions">
281
+ <a class="btn btn-primary" href="#">Primary finance pill CTA</a>
282
+ <a class="btn btn-secondary" href="#">Secondary action</a>
283
+ </div>
284
+ </div>
285
+ <article class="panel" aria-label="Revolut component preview">
286
+ <div class="panel-head">
287
+ <div>
288
+ <p class="eyebrow">Live module</p>
289
+ <h3>money account card</h3>
290
+ </div>
291
+ <span class="status">online</span>
292
+ </div>
293
+ <div class="metric-grid">
294
+ <div class="metric"><strong>98%</strong><span>Signal quality</span></div>
295
+ <div class="metric"><strong>24</strong><span>Active flows</span></div>
296
+ <div class="metric"><strong>3.2s</strong><span>Response time</span></div>
297
+ </div>
298
+ <div class="card-row">
299
+ <div class="mini-card">
300
+ <h3>Palette</h3>
301
+ <p>premium consumer-finance surfaces with bright blue action and polished dashboard cards.</p>
302
+ <div class="swatches" aria-label="Token swatches">
303
+ <span class="swatch accent"></span>
304
+ <span class="swatch surface"></span>
305
+ <span class="swatch warm"></span>
306
+ <span class="swatch fg"></span>
307
+ </div>
308
+ </div>
309
+ <div class="mini-card">
310
+ <h3>Control</h3>
311
+ <p>Focus, hover, and status states share the same brand signal.</p>
312
+ <div class="field">
313
+ <label for="revolut-input">Reference input</label>
314
+ <input id="revolut-input" value="Revolut system token" />
315
+ </div>
316
+ </div>
317
+ </div>
318
+ </article>
319
+ </div>
320
+ </section>
321
+ <section>
322
+ <div class="container lower">
323
+ <article class="tile">
324
+ <p class="eyebrow">Typography</p>
325
+ <h2>Display rhythm</h2>
326
+ <p>Headlines use the brand display stack with the declared scale and leading.</p>
327
+ </article>
328
+ <article class="tile">
329
+ <p class="eyebrow">Surface</p>
330
+ <h2>Layer system</h2>
331
+ <p>Cards, warm panels, borders, and raised states resolve through shared tokens.</p>
332
+ </article>
333
+ <article class="tile">
334
+ <p class="eyebrow">Interaction</p>
335
+ <h2>Motion states</h2>
336
+ <p>Buttons, inputs, and panels use brand-specific focus rings and easing.</p>
337
+ </article>
338
+ </div>
339
+ </section>
340
+ </main>
341
+ </body>
342
+ </html>
@@ -0,0 +1,64 @@
1
+ /* design-systems/revolut/tokens.css
2
+ *
3
+ * Structured token bindings for Revolut.
4
+ * premium consumer-finance surfaces with bright blue action and polished dashboard cards.
5
+ */
6
+
7
+ :root {
8
+ --bg: #f7f8fb;
9
+ --surface: #ffffff;
10
+ --surface-warm: #eef4ff;
11
+ --fg: #111827;
12
+ --fg-2: #334155;
13
+ --muted: #64748b;
14
+ --meta: #0666eb;
15
+ --border: #dbe3ef;
16
+ --border-soft: #edf2f7;
17
+ --accent: #0666eb;
18
+ --accent-on: #ffffff;
19
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
20
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
21
+ --success: #16a34a;
22
+ --warn: #f59e0b;
23
+ --danger: #ef4444;
24
+ --font-display: "Inter", system-ui, sans-serif;
25
+ --font-body: "Inter", system-ui, sans-serif;
26
+ --font-mono: "SF Mono", ui-monospace, Menlo, monospace;
27
+ --text-xs: 12px;
28
+ --text-sm: 14px;
29
+ --text-base: 16px;
30
+ --text-lg: 18px;
31
+ --text-xl: 24px;
32
+ --text-2xl: 36px;
33
+ --text-3xl: 54px;
34
+ --text-4xl: 76px;
35
+ --leading-body: 1.5;
36
+ --leading-tight: 1.02;
37
+ --tracking-display: -0.03em;
38
+ --space-1: 4px;
39
+ --space-2: 8px;
40
+ --space-3: 12px;
41
+ --space-4: 16px;
42
+ --space-5: 20px;
43
+ --space-6: 24px;
44
+ --space-8: 32px;
45
+ --space-12: 48px;
46
+ --section-y-desktop: 104px;
47
+ --section-y-tablet: 72px;
48
+ --section-y-phone: 52px;
49
+ --radius-sm: 12px;
50
+ --radius-md: 20px;
51
+ --radius-lg: 30px;
52
+ --radius-pill: 9999px;
53
+ --elev-flat: none;
54
+ --elev-ring: 0 0 0 1px var(--border);
55
+ --elev-raised: 0 24px 64px rgba(17, 24, 39, 0.12);
56
+ --focus-ring: 0 0 0 4px rgba(6, 102, 235, 0.22);
57
+ --motion-fast: 150ms;
58
+ --motion-base: 240ms;
59
+ --ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
60
+ --container-max: 1180px;
61
+ --container-gutter-desktop: 36px;
62
+ --container-gutter-tablet: 28px;
63
+ --container-gutter-phone: 18px;
64
+ }