@aexol/spectral 0.9.270 → 0.9.271

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 (567) hide show
  1. package/dist/agent/index.d.ts +10 -1
  2. package/dist/agent/index.d.ts.map +1 -1
  3. package/dist/agent/index.js +26 -10
  4. package/dist/commands/serve.d.ts.map +1 -1
  5. package/dist/commands/serve.js +29 -5
  6. package/dist/commands/update.d.ts +2 -2
  7. package/dist/commands/update.js +3 -3
  8. package/dist/designer/index.d.ts +13 -18
  9. package/dist/designer/index.d.ts.map +1 -1
  10. package/dist/designer/index.js +128 -201
  11. package/dist/extensions/aexol-mcp.d.ts.map +1 -1
  12. package/dist/extensions/aexol-mcp.js +23 -0
  13. package/dist/memory/debug-log.d.ts.map +1 -1
  14. package/dist/memory/debug-log.js +20 -2
  15. package/dist/memory/tools/compact-context.d.ts +1 -1
  16. package/dist/memory/tools/compact-context.d.ts.map +1 -1
  17. package/dist/memory/tools/compact-context.js +4 -1
  18. package/dist/memory/tools/recall-observation.d.ts +3 -3
  19. package/dist/memory/tools/recall-observation.d.ts.map +1 -1
  20. package/dist/memory/tools/recall-observation.js +4 -1
  21. package/dist/memory/tools/receive-agent-observations.d.ts +3 -3
  22. package/dist/memory/tools/receive-agent-observations.d.ts.map +1 -1
  23. package/dist/memory/tools/receive-agent-observations.js +4 -1
  24. package/dist/memory/tools/share-project-observation.d.ts +3 -3
  25. package/dist/memory/tools/share-project-observation.d.ts.map +1 -1
  26. package/dist/memory/tools/share-project-observation.js +4 -1
  27. package/dist/memory/tools/write-project-observation.d.ts +3 -3
  28. package/dist/memory/tools/write-project-observation.d.ts.map +1 -1
  29. package/dist/memory/tools/write-project-observation.js +4 -1
  30. package/dist/relay/client.d.ts.map +1 -1
  31. package/dist/relay/client.js +5 -2
  32. package/dist/sdk/ai/env-api-keys.js +1 -1
  33. package/dist/sdk/coding-agent/core/extensions/loader.d.ts.map +1 -1
  34. package/dist/sdk/coding-agent/core/extensions/loader.js +31 -3
  35. package/dist/sdk/coding-agent/core/theme.js +1 -1
  36. package/dist/server/handlers/agent-settings.d.ts.map +1 -1
  37. package/dist/server/handlers/agent-settings.js +4 -1
  38. package/dist/server/handlers/settings-lock.d.ts.map +1 -1
  39. package/dist/server/handlers/settings-lock.js +4 -1
  40. package/dist/server/storage.d.ts.map +1 -1
  41. package/dist/server/storage.js +13 -1
  42. package/dist/utils/serve-state.d.ts +17 -0
  43. package/dist/utils/serve-state.d.ts.map +1 -1
  44. package/dist/utils/serve-state.js +73 -0
  45. package/package.json +1 -1
  46. package/dist/designer/data/skills/blog-post.d.ts +0 -3
  47. package/dist/designer/data/skills/blog-post.d.ts.map +0 -1
  48. package/dist/designer/data/skills/blog-post.js +0 -84
  49. package/dist/designer/data/skills/blog-post.ts +0 -87
  50. package/dist/designer/data/skills/critique.d.ts +0 -3
  51. package/dist/designer/data/skills/critique.d.ts.map +0 -1
  52. package/dist/designer/data/skills/critique.js +0 -109
  53. package/dist/designer/data/skills/critique.ts +0 -112
  54. package/dist/designer/data/skills/dashboard.d.ts +0 -3
  55. package/dist/designer/data/skills/dashboard.d.ts.map +0 -1
  56. package/dist/designer/data/skills/dashboard.js +0 -165
  57. package/dist/designer/data/skills/dashboard.ts +0 -168
  58. package/dist/designer/data/skills/design-brief.d.ts +0 -3
  59. package/dist/designer/data/skills/design-brief.d.ts.map +0 -1
  60. package/dist/designer/data/skills/design-brief.js +0 -141
  61. package/dist/designer/data/skills/design-brief.ts +0 -144
  62. package/dist/designer/data/skills/design-skill.d.ts +0 -10
  63. package/dist/designer/data/skills/design-skill.d.ts.map +0 -1
  64. package/dist/designer/data/skills/design-skill.js +0 -1
  65. package/dist/designer/data/skills/design-skill.ts +0 -9
  66. package/dist/designer/data/skills/docs-page.d.ts +0 -3
  67. package/dist/designer/data/skills/docs-page.d.ts.map +0 -1
  68. package/dist/designer/data/skills/docs-page.js +0 -68
  69. package/dist/designer/data/skills/docs-page.ts +0 -71
  70. package/dist/designer/data/skills/index.d.ts +0 -3
  71. package/dist/designer/data/skills/index.d.ts.map +0 -1
  72. package/dist/designer/data/skills/index.js +0 -28
  73. package/dist/designer/data/skills/index.ts +0 -30
  74. package/dist/designer/data/skills/magazine-poster.d.ts +0 -3
  75. package/dist/designer/data/skills/magazine-poster.d.ts.map +0 -1
  76. package/dist/designer/data/skills/magazine-poster.js +0 -70
  77. package/dist/designer/data/skills/magazine-poster.ts +0 -73
  78. package/dist/designer/data/skills/mobile-app.d.ts +0 -3
  79. package/dist/designer/data/skills/mobile-app.d.ts.map +0 -1
  80. package/dist/designer/data/skills/mobile-app.js +0 -229
  81. package/dist/designer/data/skills/mobile-app.ts +0 -232
  82. package/dist/designer/data/skills/motion-frames.d.ts +0 -3
  83. package/dist/designer/data/skills/motion-frames.d.ts.map +0 -1
  84. package/dist/designer/data/skills/motion-frames.js +0 -121
  85. package/dist/designer/data/skills/motion-frames.ts +0 -124
  86. package/dist/designer/data/skills/pricing-page.d.ts +0 -3
  87. package/dist/designer/data/skills/pricing-page.d.ts.map +0 -1
  88. package/dist/designer/data/skills/pricing-page.js +0 -76
  89. package/dist/designer/data/skills/pricing-page.ts +0 -79
  90. package/dist/designer/data/skills/saas-landing.d.ts +0 -3
  91. package/dist/designer/data/skills/saas-landing.d.ts.map +0 -1
  92. package/dist/designer/data/skills/saas-landing.js +0 -71
  93. package/dist/designer/data/skills/saas-landing.ts +0 -74
  94. package/dist/designer/data/skills/slide-deck.d.ts +0 -3
  95. package/dist/designer/data/skills/slide-deck.d.ts.map +0 -1
  96. package/dist/designer/data/skills/slide-deck.js +0 -213
  97. package/dist/designer/data/skills/slide-deck.ts +0 -216
  98. package/dist/designer/data/skills/social-carousel.d.ts +0 -3
  99. package/dist/designer/data/skills/social-carousel.d.ts.map +0 -1
  100. package/dist/designer/data/skills/social-carousel.js +0 -135
  101. package/dist/designer/data/skills/social-carousel.ts +0 -138
  102. package/dist/designer/data/skills/web-prototype.d.ts +0 -3
  103. package/dist/designer/data/skills/web-prototype.d.ts.map +0 -1
  104. package/dist/designer/data/skills/web-prototype.js +0 -159
  105. package/dist/designer/data/skills/web-prototype.ts +0 -162
  106. package/dist/designer/data/systems/agentic/DESIGN.md +0 -71
  107. package/dist/designer/data/systems/agentic/components.html +0 -154
  108. package/dist/designer/data/systems/agentic/tokens.css +0 -63
  109. package/dist/designer/data/systems/airbnb/DESIGN.md +0 -393
  110. package/dist/designer/data/systems/airbnb/components.html +0 -1373
  111. package/dist/designer/data/systems/airbnb/tokens.css +0 -261
  112. package/dist/designer/data/systems/airtable/DESIGN.md +0 -92
  113. package/dist/designer/data/systems/airtable/components.html +0 -489
  114. package/dist/designer/data/systems/airtable/tokens.css +0 -261
  115. package/dist/designer/data/systems/ant/DESIGN.md +0 -71
  116. package/dist/designer/data/systems/ant/components.html +0 -154
  117. package/dist/designer/data/systems/ant/tokens.css +0 -63
  118. package/dist/designer/data/systems/apple/DESIGN.md +0 -250
  119. package/dist/designer/data/systems/apple/components.html +0 -749
  120. package/dist/designer/data/systems/apple/tokens.css +0 -286
  121. package/dist/designer/data/systems/application/DESIGN.md +0 -71
  122. package/dist/designer/data/systems/application/components.html +0 -154
  123. package/dist/designer/data/systems/application/tokens.css +0 -63
  124. package/dist/designer/data/systems/arc/DESIGN.md +0 -152
  125. package/dist/designer/data/systems/arc/components.html +0 -432
  126. package/dist/designer/data/systems/arc/tokens.css +0 -137
  127. package/dist/designer/data/systems/artistic/DESIGN.md +0 -71
  128. package/dist/designer/data/systems/artistic/components.html +0 -136
  129. package/dist/designer/data/systems/artistic/tokens.css +0 -63
  130. package/dist/designer/data/systems/atelier-zero/DESIGN.md +0 -316
  131. package/dist/designer/data/systems/atelier-zero/components.html +0 -136
  132. package/dist/designer/data/systems/atelier-zero/tokens.css +0 -63
  133. package/dist/designer/data/systems/bento/DESIGN.md +0 -71
  134. package/dist/designer/data/systems/bento/components.html +0 -136
  135. package/dist/designer/data/systems/bento/tokens.css +0 -63
  136. package/dist/designer/data/systems/binance/DESIGN.md +0 -348
  137. package/dist/designer/data/systems/binance/components.html +0 -550
  138. package/dist/designer/data/systems/binance/tokens.css +0 -255
  139. package/dist/designer/data/systems/bmw/DESIGN.md +0 -183
  140. package/dist/designer/data/systems/bmw/components.html +0 -551
  141. package/dist/designer/data/systems/bmw/tokens.css +0 -179
  142. package/dist/designer/data/systems/bmw-m/DESIGN.md +0 -246
  143. package/dist/designer/data/systems/bmw-m/components.html +0 -342
  144. package/dist/designer/data/systems/bmw-m/tokens.css +0 -64
  145. package/dist/designer/data/systems/bold/DESIGN.md +0 -71
  146. package/dist/designer/data/systems/bold/components.html +0 -136
  147. package/dist/designer/data/systems/bold/tokens.css +0 -63
  148. package/dist/designer/data/systems/brutalism/DESIGN.md +0 -71
  149. package/dist/designer/data/systems/brutalism/components.html +0 -154
  150. package/dist/designer/data/systems/brutalism/tokens.css +0 -63
  151. package/dist/designer/data/systems/bugatti/DESIGN.md +0 -271
  152. package/dist/designer/data/systems/bugatti/components.html +0 -342
  153. package/dist/designer/data/systems/bugatti/tokens.css +0 -64
  154. package/dist/designer/data/systems/cafe/DESIGN.md +0 -71
  155. package/dist/designer/data/systems/cafe/components.html +0 -136
  156. package/dist/designer/data/systems/cafe/tokens.css +0 -63
  157. package/dist/designer/data/systems/cal/DESIGN.md +0 -262
  158. package/dist/designer/data/systems/cal/components.html +0 -376
  159. package/dist/designer/data/systems/cal/tokens.css +0 -265
  160. package/dist/designer/data/systems/canva/DESIGN.md +0 -157
  161. package/dist/designer/data/systems/canva/components.html +0 -461
  162. package/dist/designer/data/systems/canva/tokens.css +0 -147
  163. package/dist/designer/data/systems/cisco/DESIGN.md +0 -201
  164. package/dist/designer/data/systems/cisco/components.html +0 -342
  165. package/dist/designer/data/systems/cisco/tokens.css +0 -64
  166. package/dist/designer/data/systems/claude/DESIGN.md +0 -315
  167. package/dist/designer/data/systems/claude/components.html +0 -483
  168. package/dist/designer/data/systems/claude/tokens.css +0 -130
  169. package/dist/designer/data/systems/clay/DESIGN.md +0 -307
  170. package/dist/designer/data/systems/clay/components.html +0 -136
  171. package/dist/designer/data/systems/clay/tokens.css +0 -63
  172. package/dist/designer/data/systems/claymorphism/DESIGN.md +0 -71
  173. package/dist/designer/data/systems/claymorphism/components.html +0 -136
  174. package/dist/designer/data/systems/claymorphism/tokens.css +0 -63
  175. package/dist/designer/data/systems/clean/DESIGN.md +0 -71
  176. package/dist/designer/data/systems/clean/components.html +0 -136
  177. package/dist/designer/data/systems/clean/tokens.css +0 -63
  178. package/dist/designer/data/systems/clickhouse/DESIGN.md +0 -284
  179. package/dist/designer/data/systems/clickhouse/components.html +0 -506
  180. package/dist/designer/data/systems/clickhouse/tokens.css +0 -135
  181. package/dist/designer/data/systems/cohere/DESIGN.md +0 -269
  182. package/dist/designer/data/systems/cohere/components.html +0 -353
  183. package/dist/designer/data/systems/cohere/tokens.css +0 -126
  184. package/dist/designer/data/systems/coinbase/DESIGN.md +0 -132
  185. package/dist/designer/data/systems/coinbase/components.html +0 -501
  186. package/dist/designer/data/systems/coinbase/tokens.css +0 -257
  187. package/dist/designer/data/systems/colorful/DESIGN.md +0 -71
  188. package/dist/designer/data/systems/colorful/components.html +0 -136
  189. package/dist/designer/data/systems/colorful/tokens.css +0 -63
  190. package/dist/designer/data/systems/composio/DESIGN.md +0 -310
  191. package/dist/designer/data/systems/composio/components.html +0 -342
  192. package/dist/designer/data/systems/composio/tokens.css +0 -64
  193. package/dist/designer/data/systems/contemporary/DESIGN.md +0 -71
  194. package/dist/designer/data/systems/contemporary/components.html +0 -136
  195. package/dist/designer/data/systems/contemporary/tokens.css +0 -63
  196. package/dist/designer/data/systems/corporate/DESIGN.md +0 -71
  197. package/dist/designer/data/systems/corporate/components.html +0 -136
  198. package/dist/designer/data/systems/corporate/tokens.css +0 -63
  199. package/dist/designer/data/systems/cosmic/DESIGN.md +0 -71
  200. package/dist/designer/data/systems/cosmic/components.html +0 -136
  201. package/dist/designer/data/systems/cosmic/tokens.css +0 -63
  202. package/dist/designer/data/systems/creative/DESIGN.md +0 -71
  203. package/dist/designer/data/systems/creative/components.html +0 -136
  204. package/dist/designer/data/systems/creative/tokens.css +0 -63
  205. package/dist/designer/data/systems/cursor/DESIGN.md +0 -312
  206. package/dist/designer/data/systems/cursor/components.html +0 -654
  207. package/dist/designer/data/systems/cursor/tokens.css +0 -218
  208. package/dist/designer/data/systems/dashboard/DESIGN.md +0 -71
  209. package/dist/designer/data/systems/dashboard/components.html +0 -154
  210. package/dist/designer/data/systems/dashboard/tokens.css +0 -63
  211. package/dist/designer/data/systems/default/DESIGN.md +0 -62
  212. package/dist/designer/data/systems/default/components.html +0 -523
  213. package/dist/designer/data/systems/default/tokens.css +0 -200
  214. package/dist/designer/data/systems/discord/DESIGN.md +0 -162
  215. package/dist/designer/data/systems/discord/components.html +0 -359
  216. package/dist/designer/data/systems/discord/tokens.css +0 -125
  217. package/dist/designer/data/systems/dithered/DESIGN.md +0 -71
  218. package/dist/designer/data/systems/dithered/components.html +0 -136
  219. package/dist/designer/data/systems/dithered/tokens.css +0 -63
  220. package/dist/designer/data/systems/doodle/DESIGN.md +0 -71
  221. package/dist/designer/data/systems/doodle/components.html +0 -136
  222. package/dist/designer/data/systems/doodle/tokens.css +0 -63
  223. package/dist/designer/data/systems/dramatic/DESIGN.md +0 -71
  224. package/dist/designer/data/systems/dramatic/components.html +0 -136
  225. package/dist/designer/data/systems/dramatic/tokens.css +0 -63
  226. package/dist/designer/data/systems/duolingo/DESIGN.md +0 -154
  227. package/dist/designer/data/systems/duolingo/components.html +0 -532
  228. package/dist/designer/data/systems/duolingo/tokens.css +0 -130
  229. package/dist/designer/data/systems/editorial/DESIGN.md +0 -71
  230. package/dist/designer/data/systems/editorial/components.html +0 -154
  231. package/dist/designer/data/systems/editorial/tokens.css +0 -63
  232. package/dist/designer/data/systems/elegant/DESIGN.md +0 -71
  233. package/dist/designer/data/systems/elegant/components.html +0 -136
  234. package/dist/designer/data/systems/elegant/tokens.css +0 -63
  235. package/dist/designer/data/systems/elevenlabs/DESIGN.md +0 -268
  236. package/dist/designer/data/systems/elevenlabs/components.html +0 -342
  237. package/dist/designer/data/systems/elevenlabs/tokens.css +0 -127
  238. package/dist/designer/data/systems/energetic/DESIGN.md +0 -72
  239. package/dist/designer/data/systems/energetic/components.html +0 -136
  240. package/dist/designer/data/systems/energetic/tokens.css +0 -63
  241. package/dist/designer/data/systems/enterprise/DESIGN.md +0 -71
  242. package/dist/designer/data/systems/enterprise/components.html +0 -154
  243. package/dist/designer/data/systems/enterprise/tokens.css +0 -63
  244. package/dist/designer/data/systems/expo/DESIGN.md +0 -284
  245. package/dist/designer/data/systems/expo/components.html +0 -342
  246. package/dist/designer/data/systems/expo/tokens.css +0 -64
  247. package/dist/designer/data/systems/expressive/DESIGN.md +0 -71
  248. package/dist/designer/data/systems/expressive/components.html +0 -136
  249. package/dist/designer/data/systems/expressive/tokens.css +0 -63
  250. package/dist/designer/data/systems/fantasy/DESIGN.md +0 -71
  251. package/dist/designer/data/systems/fantasy/components.html +0 -136
  252. package/dist/designer/data/systems/fantasy/tokens.css +0 -63
  253. package/dist/designer/data/systems/ferrari/DESIGN.md +0 -317
  254. package/dist/designer/data/systems/ferrari/components.html +0 -342
  255. package/dist/designer/data/systems/ferrari/tokens.css +0 -64
  256. package/dist/designer/data/systems/figma/DESIGN.md +0 -223
  257. package/dist/designer/data/systems/figma/components.html +0 -344
  258. package/dist/designer/data/systems/figma/tokens.css +0 -126
  259. package/dist/designer/data/systems/flat/DESIGN.md +0 -71
  260. package/dist/designer/data/systems/flat/components.html +0 -136
  261. package/dist/designer/data/systems/flat/tokens.css +0 -63
  262. package/dist/designer/data/systems/framer/DESIGN.md +0 -249
  263. package/dist/designer/data/systems/framer/components.html +0 -438
  264. package/dist/designer/data/systems/framer/tokens.css +0 -238
  265. package/dist/designer/data/systems/friendly/DESIGN.md +0 -71
  266. package/dist/designer/data/systems/friendly/components.html +0 -136
  267. package/dist/designer/data/systems/friendly/tokens.css +0 -63
  268. package/dist/designer/data/systems/futuristic/DESIGN.md +0 -71
  269. package/dist/designer/data/systems/futuristic/components.html +0 -136
  270. package/dist/designer/data/systems/futuristic/tokens.css +0 -63
  271. package/dist/designer/data/systems/github/DESIGN.md +0 -155
  272. package/dist/designer/data/systems/github/components.html +0 -383
  273. package/dist/designer/data/systems/github/tokens.css +0 -125
  274. package/dist/designer/data/systems/glassmorphism/DESIGN.md +0 -71
  275. package/dist/designer/data/systems/glassmorphism/components.html +0 -154
  276. package/dist/designer/data/systems/glassmorphism/tokens.css +0 -63
  277. package/dist/designer/data/systems/gradient/DESIGN.md +0 -71
  278. package/dist/designer/data/systems/gradient/components.html +0 -154
  279. package/dist/designer/data/systems/gradient/tokens.css +0 -63
  280. package/dist/designer/data/systems/hashicorp/DESIGN.md +0 -281
  281. package/dist/designer/data/systems/hashicorp/components.html +0 -502
  282. package/dist/designer/data/systems/hashicorp/tokens.css +0 -272
  283. package/dist/designer/data/systems/hud/DESIGN.md +0 -173
  284. package/dist/designer/data/systems/hud/components.html +0 -136
  285. package/dist/designer/data/systems/hud/tokens.css +0 -63
  286. package/dist/designer/data/systems/huggingface/DESIGN.md +0 -149
  287. package/dist/designer/data/systems/huggingface/components.html +0 -346
  288. package/dist/designer/data/systems/huggingface/tokens.css +0 -125
  289. package/dist/designer/data/systems/ibm/DESIGN.md +0 -335
  290. package/dist/designer/data/systems/ibm/components.html +0 -342
  291. package/dist/designer/data/systems/ibm/tokens.css +0 -64
  292. package/dist/designer/data/systems/intercom/DESIGN.md +0 -149
  293. package/dist/designer/data/systems/intercom/components.html +0 -557
  294. package/dist/designer/data/systems/intercom/tokens.css +0 -150
  295. package/dist/designer/data/systems/kami/DESIGN.md +0 -410
  296. package/dist/designer/data/systems/kami/components.html +0 -601
  297. package/dist/designer/data/systems/kami/tokens.css +0 -272
  298. package/dist/designer/data/systems/kraken/DESIGN.md +0 -128
  299. package/dist/designer/data/systems/kraken/components.html +0 -342
  300. package/dist/designer/data/systems/kraken/tokens.css +0 -64
  301. package/dist/designer/data/systems/lamborghini/DESIGN.md +0 -291
  302. package/dist/designer/data/systems/lamborghini/components.html +0 -342
  303. package/dist/designer/data/systems/lamborghini/tokens.css +0 -64
  304. package/dist/designer/data/systems/levels/DESIGN.md +0 -71
  305. package/dist/designer/data/systems/levels/components.html +0 -154
  306. package/dist/designer/data/systems/levels/tokens.css +0 -63
  307. package/dist/designer/data/systems/linear-app/DESIGN.md +0 -370
  308. package/dist/designer/data/systems/linear-app/components.html +0 -370
  309. package/dist/designer/data/systems/linear-app/tokens.css +0 -130
  310. package/dist/designer/data/systems/lingo/DESIGN.md +0 -71
  311. package/dist/designer/data/systems/lingo/components.html +0 -154
  312. package/dist/designer/data/systems/lingo/tokens.css +0 -63
  313. package/dist/designer/data/systems/loom/DESIGN.md +0 -201
  314. package/dist/designer/data/systems/loom/components.html +0 -446
  315. package/dist/designer/data/systems/loom/tokens.css +0 -138
  316. package/dist/designer/data/systems/lovable/DESIGN.md +0 -301
  317. package/dist/designer/data/systems/lovable/components.html +0 -441
  318. package/dist/designer/data/systems/lovable/tokens.css +0 -258
  319. package/dist/designer/data/systems/luxury/DESIGN.md +0 -71
  320. package/dist/designer/data/systems/luxury/components.html +0 -154
  321. package/dist/designer/data/systems/luxury/tokens.css +0 -63
  322. package/dist/designer/data/systems/mastercard/DESIGN.md +0 -368
  323. package/dist/designer/data/systems/mastercard/components.html +0 -342
  324. package/dist/designer/data/systems/mastercard/tokens.css +0 -64
  325. package/dist/designer/data/systems/material/DESIGN.md +0 -71
  326. package/dist/designer/data/systems/material/components.html +0 -154
  327. package/dist/designer/data/systems/material/tokens.css +0 -63
  328. package/dist/designer/data/systems/meta/DESIGN.md +0 -369
  329. package/dist/designer/data/systems/meta/components.html +0 -398
  330. package/dist/designer/data/systems/meta/tokens.css +0 -263
  331. package/dist/designer/data/systems/minimal/DESIGN.md +0 -71
  332. package/dist/designer/data/systems/minimal/components.html +0 -154
  333. package/dist/designer/data/systems/minimal/tokens.css +0 -63
  334. package/dist/designer/data/systems/minimax/DESIGN.md +0 -260
  335. package/dist/designer/data/systems/minimax/components.html +0 -590
  336. package/dist/designer/data/systems/minimax/tokens.css +0 -148
  337. package/dist/designer/data/systems/mintlify/DESIGN.md +0 -329
  338. package/dist/designer/data/systems/mintlify/components.html +0 -737
  339. package/dist/designer/data/systems/mintlify/tokens.css +0 -256
  340. package/dist/designer/data/systems/miro/DESIGN.md +0 -111
  341. package/dist/designer/data/systems/miro/components.html +0 -342
  342. package/dist/designer/data/systems/miro/tokens.css +0 -64
  343. package/dist/designer/data/systems/mission-control/DESIGN.md +0 -474
  344. package/dist/designer/data/systems/mission-control/components.html +0 -136
  345. package/dist/designer/data/systems/mission-control/tokens.css +0 -63
  346. package/dist/designer/data/systems/mistral-ai/DESIGN.md +0 -264
  347. package/dist/designer/data/systems/mistral-ai/components.html +0 -338
  348. package/dist/designer/data/systems/mistral-ai/tokens.css +0 -125
  349. package/dist/designer/data/systems/modern/DESIGN.md +0 -71
  350. package/dist/designer/data/systems/modern/components.html +0 -154
  351. package/dist/designer/data/systems/modern/tokens.css +0 -63
  352. package/dist/designer/data/systems/mongodb/DESIGN.md +0 -269
  353. package/dist/designer/data/systems/mongodb/components.html +0 -462
  354. package/dist/designer/data/systems/mongodb/tokens.css +0 -176
  355. package/dist/designer/data/systems/mono/DESIGN.md +0 -71
  356. package/dist/designer/data/systems/mono/components.html +0 -136
  357. package/dist/designer/data/systems/mono/tokens.css +0 -63
  358. package/dist/designer/data/systems/neobrutalism/DESIGN.md +0 -71
  359. package/dist/designer/data/systems/neobrutalism/components.html +0 -136
  360. package/dist/designer/data/systems/neobrutalism/tokens.css +0 -63
  361. package/dist/designer/data/systems/neon/DESIGN.md +0 -71
  362. package/dist/designer/data/systems/neon/components.html +0 -136
  363. package/dist/designer/data/systems/neon/tokens.css +0 -63
  364. package/dist/designer/data/systems/neumorphism/DESIGN.md +0 -71
  365. package/dist/designer/data/systems/neumorphism/components.html +0 -136
  366. package/dist/designer/data/systems/neumorphism/tokens.css +0 -63
  367. package/dist/designer/data/systems/nike/DESIGN.md +0 -366
  368. package/dist/designer/data/systems/nike/components.html +0 -512
  369. package/dist/designer/data/systems/nike/tokens.css +0 -304
  370. package/dist/designer/data/systems/notion/DESIGN.md +0 -312
  371. package/dist/designer/data/systems/notion/components.html +0 -413
  372. package/dist/designer/data/systems/notion/tokens.css +0 -130
  373. package/dist/designer/data/systems/nvidia/DESIGN.md +0 -296
  374. package/dist/designer/data/systems/nvidia/components.html +0 -414
  375. package/dist/designer/data/systems/nvidia/tokens.css +0 -133
  376. package/dist/designer/data/systems/ollama/DESIGN.md +0 -270
  377. package/dist/designer/data/systems/ollama/components.html +0 -700
  378. package/dist/designer/data/systems/ollama/tokens.css +0 -242
  379. package/dist/designer/data/systems/openai/DESIGN.md +0 -140
  380. package/dist/designer/data/systems/openai/components.html +0 -382
  381. package/dist/designer/data/systems/openai/tokens.css +0 -133
  382. package/dist/designer/data/systems/opencode-ai/DESIGN.md +0 -284
  383. package/dist/designer/data/systems/opencode-ai/components.html +0 -389
  384. package/dist/designer/data/systems/opencode-ai/tokens.css +0 -126
  385. package/dist/designer/data/systems/pacman/DESIGN.md +0 -71
  386. package/dist/designer/data/systems/pacman/components.html +0 -342
  387. package/dist/designer/data/systems/pacman/tokens.css +0 -64
  388. package/dist/designer/data/systems/paper/DESIGN.md +0 -71
  389. package/dist/designer/data/systems/paper/components.html +0 -136
  390. package/dist/designer/data/systems/paper/tokens.css +0 -63
  391. package/dist/designer/data/systems/perplexity/DESIGN.md +0 -286
  392. package/dist/designer/data/systems/perplexity/components.html +0 -455
  393. package/dist/designer/data/systems/perplexity/tokens.css +0 -151
  394. package/dist/designer/data/systems/perspective/DESIGN.md +0 -71
  395. package/dist/designer/data/systems/perspective/components.html +0 -136
  396. package/dist/designer/data/systems/perspective/tokens.css +0 -63
  397. package/dist/designer/data/systems/pinterest/DESIGN.md +0 -233
  398. package/dist/designer/data/systems/pinterest/components.html +0 -865
  399. package/dist/designer/data/systems/pinterest/tokens.css +0 -262
  400. package/dist/designer/data/systems/playstation/DESIGN.md +0 -367
  401. package/dist/designer/data/systems/playstation/components.html +0 -414
  402. package/dist/designer/data/systems/playstation/tokens.css +0 -150
  403. package/dist/designer/data/systems/posthog/DESIGN.md +0 -259
  404. package/dist/designer/data/systems/posthog/components.html +0 -827
  405. package/dist/designer/data/systems/posthog/tokens.css +0 -272
  406. package/dist/designer/data/systems/premium/DESIGN.md +0 -71
  407. package/dist/designer/data/systems/premium/components.html +0 -154
  408. package/dist/designer/data/systems/premium/tokens.css +0 -63
  409. package/dist/designer/data/systems/professional/DESIGN.md +0 -71
  410. package/dist/designer/data/systems/professional/components.html +0 -136
  411. package/dist/designer/data/systems/professional/tokens.css +0 -63
  412. package/dist/designer/data/systems/publication/DESIGN.md +0 -71
  413. package/dist/designer/data/systems/publication/components.html +0 -154
  414. package/dist/designer/data/systems/publication/tokens.css +0 -63
  415. package/dist/designer/data/systems/raycast/DESIGN.md +0 -271
  416. package/dist/designer/data/systems/raycast/components.html +0 -507
  417. package/dist/designer/data/systems/raycast/tokens.css +0 -143
  418. package/dist/designer/data/systems/refined/DESIGN.md +0 -71
  419. package/dist/designer/data/systems/refined/components.html +0 -136
  420. package/dist/designer/data/systems/refined/tokens.css +0 -63
  421. package/dist/designer/data/systems/renault/DESIGN.md +0 -314
  422. package/dist/designer/data/systems/renault/components.html +0 -154
  423. package/dist/designer/data/systems/renault/tokens.css +0 -63
  424. package/dist/designer/data/systems/replicate/DESIGN.md +0 -264
  425. package/dist/designer/data/systems/replicate/components.html +0 -340
  426. package/dist/designer/data/systems/replicate/tokens.css +0 -125
  427. package/dist/designer/data/systems/resend/DESIGN.md +0 -306
  428. package/dist/designer/data/systems/resend/components.html +0 -839
  429. package/dist/designer/data/systems/resend/tokens.css +0 -353
  430. package/dist/designer/data/systems/retro/DESIGN.md +0 -71
  431. package/dist/designer/data/systems/retro/components.html +0 -136
  432. package/dist/designer/data/systems/retro/tokens.css +0 -63
  433. package/dist/designer/data/systems/revolut/DESIGN.md +0 -188
  434. package/dist/designer/data/systems/revolut/components.html +0 -342
  435. package/dist/designer/data/systems/revolut/tokens.css +0 -64
  436. package/dist/designer/data/systems/runwayml/DESIGN.md +0 -247
  437. package/dist/designer/data/systems/runwayml/components.html +0 -638
  438. package/dist/designer/data/systems/runwayml/tokens.css +0 -204
  439. package/dist/designer/data/systems/sanity/DESIGN.md +0 -360
  440. package/dist/designer/data/systems/sanity/components.html +0 -342
  441. package/dist/designer/data/systems/sanity/tokens.css +0 -64
  442. package/dist/designer/data/systems/sentry/DESIGN.md +0 -265
  443. package/dist/designer/data/systems/sentry/components.html +0 -387
  444. package/dist/designer/data/systems/sentry/tokens.css +0 -219
  445. package/dist/designer/data/systems/shadcn/DESIGN.md +0 -71
  446. package/dist/designer/data/systems/shadcn/components.html +0 -732
  447. package/dist/designer/data/systems/shadcn/tokens.css +0 -255
  448. package/dist/designer/data/systems/shopify/DESIGN.md +0 -353
  449. package/dist/designer/data/systems/shopify/components.html +0 -342
  450. package/dist/designer/data/systems/shopify/tokens.css +0 -141
  451. package/dist/designer/data/systems/simple/DESIGN.md +0 -71
  452. package/dist/designer/data/systems/simple/components.html +0 -136
  453. package/dist/designer/data/systems/simple/tokens.css +0 -63
  454. package/dist/designer/data/systems/skeumorphism/DESIGN.md +0 -71
  455. package/dist/designer/data/systems/skeumorphism/components.html +0 -136
  456. package/dist/designer/data/systems/skeumorphism/tokens.css +0 -63
  457. package/dist/designer/data/systems/slack/DESIGN.md +0 -363
  458. package/dist/designer/data/systems/slack/components.html +0 -387
  459. package/dist/designer/data/systems/slack/tokens.css +0 -127
  460. package/dist/designer/data/systems/sleek/DESIGN.md +0 -71
  461. package/dist/designer/data/systems/sleek/components.html +0 -136
  462. package/dist/designer/data/systems/sleek/tokens.css +0 -63
  463. package/dist/designer/data/systems/spacex/DESIGN.md +0 -197
  464. package/dist/designer/data/systems/spacex/components.html +0 -496
  465. package/dist/designer/data/systems/spacex/tokens.css +0 -154
  466. package/dist/designer/data/systems/spacious/DESIGN.md +0 -71
  467. package/dist/designer/data/systems/spacious/components.html +0 -136
  468. package/dist/designer/data/systems/spacious/tokens.css +0 -63
  469. package/dist/designer/data/systems/spotify/DESIGN.md +0 -249
  470. package/dist/designer/data/systems/spotify/components.html +0 -365
  471. package/dist/designer/data/systems/spotify/tokens.css +0 -127
  472. package/dist/designer/data/systems/starbucks/DESIGN.md +0 -583
  473. package/dist/designer/data/systems/starbucks/components.html +0 -493
  474. package/dist/designer/data/systems/starbucks/tokens.css +0 -182
  475. package/dist/designer/data/systems/storytelling/DESIGN.md +0 -71
  476. package/dist/designer/data/systems/storytelling/components.html +0 -136
  477. package/dist/designer/data/systems/storytelling/tokens.css +0 -63
  478. package/dist/designer/data/systems/stripe/DESIGN.md +0 -325
  479. package/dist/designer/data/systems/stripe/components.html +0 -1018
  480. package/dist/designer/data/systems/stripe/tokens.css +0 -295
  481. package/dist/designer/data/systems/supabase/DESIGN.md +0 -258
  482. package/dist/designer/data/systems/supabase/components.html +0 -741
  483. package/dist/designer/data/systems/supabase/tokens.css +0 -294
  484. package/dist/designer/data/systems/superhuman/DESIGN.md +0 -255
  485. package/dist/designer/data/systems/superhuman/components.html +0 -537
  486. package/dist/designer/data/systems/superhuman/tokens.css +0 -160
  487. package/dist/designer/data/systems/tesla/DESIGN.md +0 -289
  488. package/dist/designer/data/systems/tesla/components.html +0 -724
  489. package/dist/designer/data/systems/tesla/tokens.css +0 -285
  490. package/dist/designer/data/systems/tetris/DESIGN.md +0 -71
  491. package/dist/designer/data/systems/tetris/components.html +0 -342
  492. package/dist/designer/data/systems/tetris/tokens.css +0 -64
  493. package/dist/designer/data/systems/theverge/DESIGN.md +0 -342
  494. package/dist/designer/data/systems/theverge/components.html +0 -342
  495. package/dist/designer/data/systems/theverge/tokens.css +0 -64
  496. package/dist/designer/data/systems/together-ai/DESIGN.md +0 -266
  497. package/dist/designer/data/systems/together-ai/components.html +0 -422
  498. package/dist/designer/data/systems/together-ai/tokens.css +0 -127
  499. package/dist/designer/data/systems/totality-festival/DESIGN.md +0 -206
  500. package/dist/designer/data/systems/totality-festival/components.html +0 -136
  501. package/dist/designer/data/systems/totality-festival/tokens.css +0 -63
  502. package/dist/designer/data/systems/trading-terminal/DESIGN.md +0 -178
  503. package/dist/designer/data/systems/trading-terminal/components.html +0 -154
  504. package/dist/designer/data/systems/trading-terminal/tokens.css +0 -63
  505. package/dist/designer/data/systems/uber/DESIGN.md +0 -298
  506. package/dist/designer/data/systems/uber/components.html +0 -347
  507. package/dist/designer/data/systems/uber/tokens.css +0 -131
  508. package/dist/designer/data/systems/urdu/DESIGN.md +0 -1002
  509. package/dist/designer/data/systems/urdu/components.html +0 -136
  510. package/dist/designer/data/systems/urdu/tokens.css +0 -63
  511. package/dist/designer/data/systems/vercel/DESIGN.md +0 -313
  512. package/dist/designer/data/systems/vercel/components.html +0 -839
  513. package/dist/designer/data/systems/vercel/tokens.css +0 -270
  514. package/dist/designer/data/systems/vibrant/DESIGN.md +0 -71
  515. package/dist/designer/data/systems/vibrant/components.html +0 -136
  516. package/dist/designer/data/systems/vibrant/tokens.css +0 -63
  517. package/dist/designer/data/systems/vintage/DESIGN.md +0 -71
  518. package/dist/designer/data/systems/vintage/components.html +0 -136
  519. package/dist/designer/data/systems/vintage/tokens.css +0 -63
  520. package/dist/designer/data/systems/vodafone/DESIGN.md +0 -426
  521. package/dist/designer/data/systems/vodafone/components.html +0 -342
  522. package/dist/designer/data/systems/vodafone/tokens.css +0 -64
  523. package/dist/designer/data/systems/voltagent/DESIGN.md +0 -326
  524. package/dist/designer/data/systems/voltagent/components.html +0 -154
  525. package/dist/designer/data/systems/voltagent/tokens.css +0 -63
  526. package/dist/designer/data/systems/warm-editorial/DESIGN.md +0 -65
  527. package/dist/designer/data/systems/warm-editorial/components.html +0 -136
  528. package/dist/designer/data/systems/warm-editorial/tokens.css +0 -63
  529. package/dist/designer/data/systems/warp/DESIGN.md +0 -256
  530. package/dist/designer/data/systems/warp/components.html +0 -411
  531. package/dist/designer/data/systems/warp/tokens.css +0 -156
  532. package/dist/designer/data/systems/webex/DESIGN.md +0 -207
  533. package/dist/designer/data/systems/webex/components.html +0 -342
  534. package/dist/designer/data/systems/webex/tokens.css +0 -64
  535. package/dist/designer/data/systems/webflow/DESIGN.md +0 -95
  536. package/dist/designer/data/systems/webflow/components.html +0 -413
  537. package/dist/designer/data/systems/webflow/tokens.css +0 -191
  538. package/dist/designer/data/systems/wechat/DESIGN.md +0 -302
  539. package/dist/designer/data/systems/wechat/components.html +0 -507
  540. package/dist/designer/data/systems/wechat/tokens.css +0 -176
  541. package/dist/designer/data/systems/wired/DESIGN.md +0 -281
  542. package/dist/designer/data/systems/wired/components.html +0 -342
  543. package/dist/designer/data/systems/wired/tokens.css +0 -64
  544. package/dist/designer/data/systems/wise/DESIGN.md +0 -176
  545. package/dist/designer/data/systems/wise/components.html +0 -365
  546. package/dist/designer/data/systems/wise/tokens.css +0 -141
  547. package/dist/designer/data/systems/x-ai/DESIGN.md +0 -260
  548. package/dist/designer/data/systems/x-ai/components.html +0 -460
  549. package/dist/designer/data/systems/x-ai/tokens.css +0 -268
  550. package/dist/designer/data/systems/xiaohongshu/DESIGN.md +0 -402
  551. package/dist/designer/data/systems/xiaohongshu/components.html +0 -865
  552. package/dist/designer/data/systems/xiaohongshu/tokens.css +0 -193
  553. package/dist/designer/data/systems/zapier/DESIGN.md +0 -331
  554. package/dist/designer/data/systems/zapier/components.html +0 -342
  555. package/dist/designer/data/systems/zapier/tokens.css +0 -64
  556. package/dist/designer/guidelines.d.ts +0 -23
  557. package/dist/designer/guidelines.d.ts.map +0 -1
  558. package/dist/designer/guidelines.js +0 -176
  559. package/dist/designer/philosophies.d.ts +0 -33
  560. package/dist/designer/philosophies.d.ts.map +0 -1
  561. package/dist/designer/philosophies.js +0 -668
  562. package/dist/designer/skills.d.ts +0 -21
  563. package/dist/designer/skills.d.ts.map +0 -1
  564. package/dist/designer/skills.js +0 -34
  565. package/dist/designer/systems.d.ts +0 -36
  566. package/dist/designer/systems.d.ts.map +0 -1
  567. package/dist/designer/systems.js +0 -221
@@ -1,335 +0,0 @@
1
- # Design System Inspired by IBM
2
-
3
- > Category: Media & Consumer
4
- > Enterprise technology. Carbon design system, structured blue palette.
5
-
6
- ## 1. Visual Theme & Atmosphere
7
-
8
- IBM's website is the digital embodiment of enterprise authority built on the Carbon Design System — a design language so methodically structured it reads like an engineering specification rendered as a webpage. The page operates on a stark duality: a bright white (`#ffffff`) canvas with near-black (`#161616`) text, punctuated by a single, unwavering accent — IBM Blue 60 (`#0f62fe`). This isn't playful tech-startup minimalism; it's corporate precision distilled into pixels. Every element exists within Carbon's rigid 2x grid, every color maps to a semantic token, every spacing value snaps to the 8px base unit.
9
-
10
- The IBM Plex type family is the system's backbone. IBM Plex Sans at light weight (300) for display headlines creates an unexpectedly airy, almost delicate quality at large sizes — a deliberate counterpoint to IBM's corporate gravity. At body sizes, regular weight (400) with 0.16px letter-spacing on 14px captions introduces the meticulous micro-tracking that makes Carbon text feel engineered rather than designed. IBM Plex Mono serves code, data, and technical labels, completing the family trinity alongside the rarely-surfaced IBM Plex Serif.
11
-
12
- What defines IBM's visual identity beyond monochrome-plus-blue is the reliance on Carbon's component token system. Every interactive state maps to a CSS custom property prefixed with `--cds-` (Carbon Design System). Buttons don't have hardcoded colors; they reference `--cds-button-primary`, `--cds-button-primary-hover`, `--cds-button-primary-active`. This tokenized architecture means the entire visual layer is a thin skin over a deeply systematic foundation — the design equivalent of a well-typed API.
13
-
14
- **Key Characteristics:**
15
- - IBM Plex Sans at weight 300 (Light) for display — corporate gravitas through typographic restraint
16
- - IBM Plex Mono for code and technical content with consistent 0.16px letter-spacing at small sizes
17
- - Single accent color: IBM Blue 60 (`#0f62fe`) — every interactive element, every CTA, every link
18
- - Carbon token system (`--cds-*`) driving all semantic colors, enabling theme-switching at the variable level
19
- - 8px spacing grid with strict adherence — no arbitrary values, everything aligns
20
- - Flat, borderless cards on `#f4f4f4` Gray 10 surface — depth through background-color layering, not shadows
21
- - Bottom-border inputs (not boxed) — the signature Carbon form pattern
22
- - 0px border-radius on primary buttons — unapologetically rectangular, no softening
23
-
24
- ## 2. Color Palette & Roles
25
-
26
- ### Primary
27
- - **IBM Blue 60** (`#0f62fe`): The singular interactive color. Primary buttons, links, focus states, active indicators. This is the only chromatic hue in the core UI palette.
28
- - **White** (`#ffffff`): Page background, card surfaces, button text on blue, `--cds-background`.
29
- - **Gray 100** (`#161616`): Primary text, headings, dark surface backgrounds, nav bar, footer. `--cds-text-primary`.
30
-
31
- ### Neutral Scale (Gray Family)
32
- - **Gray 100** (`#161616`): Primary text, headings, dark UI chrome, footer background.
33
- - **Gray 90** (`#262626`): Secondary dark surfaces, hover states on dark backgrounds.
34
- - **Gray 80** (`#393939`): Tertiary dark, active states.
35
- - **Gray 70** (`#525252`): Secondary text, helper text, descriptions. `--cds-text-secondary`.
36
- - **Gray 60** (`#6f6f6f`): Placeholder text, disabled text.
37
- - **Gray 50** (`#8d8d8d`): Disabled icons, muted labels.
38
- - **Gray 30** (`#c6c6c6`): Borders, divider lines, input bottom-borders. `--cds-border-subtle`.
39
- - **Gray 20** (`#e0e0e0`): Subtle borders, card outlines.
40
- - **Gray 10** (`#f4f4f4`): Secondary surface background, card fills, alternating rows. `--cds-layer-01`.
41
- - **Gray 10 Hover** (`#e8e8e8`): Hover state for Gray 10 surfaces.
42
-
43
- ### Interactive
44
- - **Blue 60** (`#0f62fe`): Primary interactive — buttons, links, focus. `--cds-link-primary`, `--cds-button-primary`.
45
- - **Blue 70** (`#0043ce`): Link hover state. `--cds-link-primary-hover`.
46
- - **Blue 80** (`#002d9c`): Active/pressed state for blue elements.
47
- - **Blue 10** (`#edf5ff`): Blue tint surface, selected row background.
48
- - **Focus Blue** (`#0f62fe`): `--cds-focus` — 2px inset border on focused elements.
49
- - **Focus Inset** (`#ffffff`): `--cds-focus-inset` — white inner ring for focus on dark backgrounds.
50
-
51
- ### Support & Status
52
- - **Red 60** (`#da1e28`): Error, danger. `--cds-support-error`.
53
- - **Green 50** (`#24a148`): Success. `--cds-support-success`.
54
- - **Yellow 30** (`#f1c21b`): Warning. `--cds-support-warning`.
55
- - **Blue 60** (`#0f62fe`): Informational. `--cds-support-info`.
56
-
57
- ### Dark Theme (Gray 100 Theme)
58
- - **Background**: Gray 100 (`#161616`). `--cds-background`.
59
- - **Layer 01**: Gray 90 (`#262626`). Card and container surfaces.
60
- - **Layer 02**: Gray 80 (`#393939`). Elevated surfaces.
61
- - **Text Primary**: Gray 10 (`#f4f4f4`). `--cds-text-primary`.
62
- - **Text Secondary**: Gray 30 (`#c6c6c6`). `--cds-text-secondary`.
63
- - **Border Subtle**: Gray 80 (`#393939`). `--cds-border-subtle`.
64
- - **Interactive**: Blue 40 (`#78a9ff`). Links and interactive elements shift lighter for contrast.
65
-
66
- ## 3. Typography Rules
67
-
68
- ### Font Family
69
- - **Primary**: `IBM Plex Sans`, with fallbacks: `Helvetica Neue, Arial, sans-serif`
70
- - **Monospace**: `IBM Plex Mono`, with fallbacks: `Menlo, Courier, monospace`
71
- - **Serif** (limited use): `IBM Plex Serif`, for editorial/expressive contexts
72
- - **Icon Font**: `ibm_icons` — proprietary icon glyphs at 20px
73
-
74
- ### Hierarchy
75
-
76
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
77
- |------|------|------|--------|-------------|----------------|-------|
78
- | Display 01 | IBM Plex Sans | 60px (3.75rem) | 300 (Light) | 1.17 (70px) | 0 | Maximum impact, light weight for elegance |
79
- | Display 02 | IBM Plex Sans | 48px (3.00rem) | 300 (Light) | 1.17 (56px) | 0 | Secondary hero, responsive fallback |
80
- | Heading 01 | IBM Plex Sans | 42px (2.63rem) | 300 (Light) | 1.19 (50px) | 0 | Expressive heading |
81
- | Heading 02 | IBM Plex Sans | 32px (2.00rem) | 400 (Regular) | 1.25 (40px) | 0 | Section headings |
82
- | Heading 03 | IBM Plex Sans | 24px (1.50rem) | 400 (Regular) | 1.33 (32px) | 0 | Sub-section titles |
83
- | Heading 04 | IBM Plex Sans | 20px (1.25rem) | 600 (Semibold) | 1.40 (28px) | 0 | Card titles, feature headers |
84
- | Heading 05 | IBM Plex Sans | 20px (1.25rem) | 400 (Regular) | 1.40 (28px) | 0 | Lighter card headings |
85
- | Body Long 01 | IBM Plex Sans | 16px (1.00rem) | 400 (Regular) | 1.50 (24px) | 0 | Standard reading text |
86
- | Body Long 02 | IBM Plex Sans | 16px (1.00rem) | 600 (Semibold) | 1.50 (24px) | 0 | Emphasized body, labels |
87
- | Body Short 01 | IBM Plex Sans | 14px (0.88rem) | 400 (Regular) | 1.29 (18px) | 0.16px | Compact body, captions |
88
- | Body Short 02 | IBM Plex Sans | 14px (0.88rem) | 600 (Semibold) | 1.29 (18px) | 0.16px | Bold captions, nav items |
89
- | Caption 01 | IBM Plex Sans | 12px (0.75rem) | 400 (Regular) | 1.33 (16px) | 0.32px | Metadata, timestamps |
90
- | Code 01 | IBM Plex Mono | 14px (0.88rem) | 400 (Regular) | 1.43 (20px) | 0.16px | Inline code, terminal |
91
- | Code 02 | IBM Plex Mono | 16px (1.00rem) | 400 (Regular) | 1.50 (24px) | 0 | Code blocks |
92
- | Mono Display | IBM Plex Mono | 42px (2.63rem) | 400 (Regular) | 1.19 (50px) | 0 | Hero mono decorative |
93
-
94
- ### Principles
95
- - **Light weight at display sizes**: Carbon's expressive type set uses weight 300 (Light) at 42px+. This creates a distinctive tension — the content speaks with corporate authority while the letterforms whisper with typographic lightness.
96
- - **Micro-tracking at small sizes**: 0.16px letter-spacing at 14px and 0.32px at 12px. These seemingly negligible values are Carbon's secret weapon for readability at compact sizes — they open up the tight IBM Plex letterforms just enough.
97
- - **Three functional weights**: 300 (display/expressive), 400 (body/reading), 600 (emphasis/UI labels). Weight 700 is intentionally absent from the production type scale.
98
- - **Productive vs. Expressive**: Productive sets use tighter line-heights (1.29) for dense UI. Expressive sets breathe more (1.40-1.50) for marketing and editorial content.
99
-
100
- ## 4. Component Stylings
101
-
102
- ### Buttons
103
-
104
- **Primary Button (Blue)**
105
- - Background: `#0f62fe` (Blue 60) → `--cds-button-primary`
106
- - Text: `#ffffff` (White)
107
- - Padding: 14px 63px 14px 15px (asymmetric — room for trailing icon)
108
- - Border: 1px solid transparent
109
- - Border-radius: 0px (sharp rectangle — the Carbon signature)
110
- - Height: 48px (default), 40px (compact), 64px (expressive)
111
- - Hover: `#0353e9` (Blue 60 Hover) → `--cds-button-primary-hover`
112
- - Active: `#002d9c` (Blue 80) → `--cds-button-primary-active`
113
- - Focus: `2px solid #0f62fe` inset + `1px solid #ffffff` inner
114
-
115
- **Secondary Button (Gray)**
116
- - Background: `#393939` (Gray 80)
117
- - Text: `#ffffff`
118
- - Hover: `#4c4c4c` (Gray 70)
119
- - Active: `#6f6f6f` (Gray 60)
120
- - Same padding/radius as primary
121
-
122
- **Tertiary Button (Ghost Blue)**
123
- - Background: transparent
124
- - Text: `#0f62fe` (Blue 60)
125
- - Border: 1px solid `#0f62fe`
126
- - Hover: `#0353e9` text + Blue 10 background tint
127
- - Border-radius: 0px
128
-
129
- **Ghost Button**
130
- - Background: transparent
131
- - Text: `#0f62fe` (Blue 60)
132
- - Padding: 14px 16px
133
- - Border: none
134
- - Hover: `#e8e8e8` background tint
135
-
136
- **Danger Button**
137
- - Background: `#da1e28` (Red 60)
138
- - Text: `#ffffff`
139
- - Hover: `#b81921` (Red 70)
140
-
141
- ### Cards & Containers
142
- - Background: `#ffffff` on white theme, `#f4f4f4` (Gray 10) for elevated cards
143
- - Border: none (flat design — no border or shadow on most cards)
144
- - Border-radius: 0px (matching the rectangular button aesthetic)
145
- - Hover: background shifts to `#e8e8e8` (Gray 10 Hover) for clickable cards
146
- - Content padding: 16px
147
- - Separation: background-color layering (white → gray 10 → white) rather than shadows
148
-
149
- ### Inputs & Forms
150
- - Background: `#f4f4f4` (Gray 10) — `--cds-field`
151
- - Text: `#161616` (Gray 100)
152
- - Padding: 0px 16px (horizontal only)
153
- - Height: 40px (default), 48px (large)
154
- - Border: none on sides/top — `2px solid transparent` bottom
155
- - Bottom-border active: `2px solid #161616` (Gray 100)
156
- - Focus: `2px solid #0f62fe` (Blue 60) bottom-border — `--cds-focus`
157
- - Error: `2px solid #da1e28` (Red 60) bottom-border
158
- - Label: 12px IBM Plex Sans, 0.32px letter-spacing, Gray 70
159
- - Helper text: 12px, Gray 60
160
- - Placeholder: Gray 60 (`#6f6f6f`)
161
- - Border-radius: 0px (top) — inputs are sharp-cornered
162
-
163
- ### Navigation
164
- - Background: `#161616` (Gray 100) — full-width dark masthead
165
- - Height: 48px
166
- - Logo: IBM 8-bar logo, white on dark, left-aligned
167
- - Links: 14px IBM Plex Sans, weight 400, `#c6c6c6` (Gray 30) default
168
- - Link hover: `#ffffff` text
169
- - Active link: `#ffffff` with bottom-border indicator
170
- - Platform switcher: left-aligned horizontal tabs
171
- - Search: icon-triggered slide-out search field
172
- - Mobile: hamburger with left-sliding panel
173
-
174
- ### Links
175
- - Default: `#0f62fe` (Blue 60) with no underline
176
- - Hover: `#0043ce` (Blue 70) with underline
177
- - Visited: remains Blue 60 (no visited state change)
178
- - Inline links: underlined by default in body copy
179
-
180
- ### Distinctive Components
181
-
182
- **Content Block (Hero/Feature)**
183
- - Full-width alternating white/gray-10 background bands
184
- - Headline left-aligned with 60px or 48px display type
185
- - CTA as blue primary button with arrow icon
186
- - Image/illustration right-aligned or below on mobile
187
-
188
- **Tile (Clickable Card)**
189
- - Background: `#f4f4f4` or `#ffffff`
190
- - Full-width bottom-border or background-shift hover
191
- - Arrow icon bottom-right on hover
192
- - No shadow — flatness is the identity
193
-
194
- **Tag / Label**
195
- - Background: contextual color at 10% opacity (e.g., Blue 10, Red 10)
196
- - Text: corresponding 60-grade color
197
- - Padding: 4px 8px
198
- - Border-radius: 24px (pill — exception to the 0px rule)
199
- - Font: 12px weight 400
200
-
201
- **Notification Banner**
202
- - Full-width bar, typically Blue 60 or Gray 100 background
203
- - White text, 14px
204
- - Close/dismiss icon right-aligned
205
-
206
- ## 5. Layout Principles
207
-
208
- ### Spacing System
209
- - Base unit: 8px (Carbon 2x grid)
210
- - Component spacing scale: 2px, 4px, 8px, 12px, 16px, 24px, 32px, 40px, 48px
211
- - Layout spacing scale: 16px, 24px, 32px, 48px, 64px, 80px, 96px, 160px
212
- - Mini unit: 8px (smallest usable spacing)
213
- - Padding within components: typically 16px
214
- - Gap between cards/tiles: 1px (hairline) or 16px (standard)
215
-
216
- ### Grid & Container
217
- - 16-column grid (Carbon's 2x grid system)
218
- - Max content width: 1584px (max breakpoint)
219
- - Column gutters: 32px (16px on mobile)
220
- - Margin: 16px (mobile), 32px (tablet+)
221
- - Content typically spans 8-12 columns for readable line lengths
222
- - Full-bleed sections alternate with contained content
223
-
224
- ### Whitespace Philosophy
225
- - **Functional density**: Carbon favors productive density over expansive whitespace. Sections are tightly packed compared to consumer design systems — this reflects IBM's enterprise DNA.
226
- - **Background-color zoning**: Instead of massive padding between sections, IBM uses alternating background colors (white → gray 10 → white) to create visual separation with minimal vertical space.
227
- - **Consistent 48px rhythm**: Major section transitions use 48px vertical spacing. Hero sections may use 80px–96px.
228
-
229
- ### Border Radius Scale
230
- - **0px**: Primary buttons, inputs, tiles, cards — the dominant treatment. Carbon is fundamentally rectangular.
231
- - **2px**: Occasionally on small interactive elements (tags)
232
- - **24px**: Tags/labels (pill shape — the sole rounded exception)
233
- - **50%**: Avatar circles, icon containers
234
-
235
- ## 6. Depth & Elevation
236
-
237
- | Level | Treatment | Use |
238
- |-------|-----------|-----|
239
- | Flat (Level 0) | No shadow, `#ffffff` background | Default page surface |
240
- | Layer 01 | No shadow, `#f4f4f4` background | Cards, tiles, alternating sections |
241
- | Layer 02 | No shadow, `#e0e0e0` background | Elevated panels within Layer 01 |
242
- | Raised | `0 2px 6px rgba(0,0,0,0.3)` | Dropdowns, tooltips, overflow menus |
243
- | Overlay | `0 2px 6px rgba(0,0,0,0.3)` + dark scrim | Modal dialogs, side panels |
244
- | Focus | `2px solid #0f62fe` inset + `1px solid #ffffff` | Keyboard focus ring |
245
- | Bottom-border | `2px solid #161616` on bottom edge | Active input, active tab indicator |
246
-
247
- **Shadow Philosophy**: Carbon is deliberately shadow-averse. IBM achieves depth primarily through background-color layering — stacking surfaces of progressively darker grays rather than adding box-shadows. This creates a flat, print-inspired aesthetic where hierarchy is communicated through color value, not simulated light. Shadows are reserved exclusively for floating elements (dropdowns, tooltips, modals) where the element genuinely overlaps content. This restraint gives the rare shadow meaningful impact — when something floats in Carbon, it matters.
248
-
249
- ## 7. Do's and Don'ts
250
-
251
- ### Do
252
- - Use IBM Plex Sans at weight 300 for display sizes (42px+) — the lightness is intentional
253
- - Apply 0.16px letter-spacing on 14px body text and 0.32px on 12px captions
254
- - Use 0px border-radius on buttons, inputs, cards, and tiles — rectangles are the system
255
- - Reference `--cds-*` token names when implementing (e.g., `--cds-button-primary`, `--cds-text-primary`)
256
- - Use background-color layering (white → gray 10 → gray 20) for depth instead of shadows
257
- - Use bottom-border (not box) for input field indicators
258
- - Maintain the 48px default button height and asymmetric padding for icon accommodation
259
- - Apply Blue 60 (`#0f62fe`) as the sole accent — one blue to rule them all
260
-
261
- ### Don't
262
- - Don't round button corners — 0px radius is the Carbon identity
263
- - Don't use shadows on cards or tiles — flatness is the point
264
- - Don't introduce additional accent colors — IBM's system is monochromatic + blue
265
- - Don't use weight 700 (Bold) — the scale stops at 600 (Semibold)
266
- - Don't add letter-spacing to display-size text — tracking is only for 14px and below
267
- - Don't box inputs with full borders — Carbon inputs use bottom-border only
268
- - Don't use gradient backgrounds — IBM's surfaces are flat, solid colors
269
- - Don't deviate from the 8px spacing grid — every value should be divisible by 8 (with 2px and 4px for micro-adjustments)
270
-
271
- ## 8. Responsive Behavior
272
-
273
- ### Breakpoints
274
- | Name | Width | Key Changes |
275
- |------|-------|-------------|
276
- | Small (sm) | 320px | Single column, hamburger nav, 16px margins |
277
- | Medium (md) | 672px | 2-column grids begin, expanded content |
278
- | Large (lg) | 1056px | Full navigation visible, 3-4 column grids |
279
- | X-Large (xlg) | 1312px | Maximum content density, wide layouts |
280
- | Max | 1584px | Maximum content width, centered with margins |
281
-
282
- ### Touch Targets
283
- - Button height: 48px default, minimum 40px (compact)
284
- - Navigation links: 48px row height for touch
285
- - Input height: 40px default, 48px large
286
- - Icon buttons: 48px square touch target
287
- - Mobile menu items: full-width 48px rows
288
-
289
- ### Collapsing Strategy
290
- - Hero: 60px display → 42px → 32px heading as viewport narrows
291
- - Navigation: full horizontal masthead → hamburger with slide-out panel
292
- - Grid: 4-column → 2-column → single column
293
- - Tiles/cards: horizontal grid → vertical stack
294
- - Images: maintain aspect ratio, max-width 100%
295
- - Footer: multi-column link groups → stacked single column
296
- - Section padding: 48px → 32px → 16px
297
-
298
- ### Image Behavior
299
- - Responsive images with `max-width: 100%`
300
- - Product illustrations scale proportionally
301
- - Hero images may shift from side-by-side to stacked below
302
- - Data visualizations maintain aspect ratio with horizontal scroll on mobile
303
-
304
- ## 9. Agent Prompt Guide
305
-
306
- ### Quick Color Reference
307
- - Primary CTA: IBM Blue 60 (`#0f62fe`)
308
- - Background: White (`#ffffff`)
309
- - Heading text: Gray 100 (`#161616`)
310
- - Body text: Gray 100 (`#161616`)
311
- - Secondary text: Gray 70 (`#525252`)
312
- - Surface/Card: Gray 10 (`#f4f4f4`)
313
- - Border: Gray 30 (`#c6c6c6`)
314
- - Link: Blue 60 (`#0f62fe`)
315
- - Link hover: Blue 70 (`#0043ce`)
316
- - Focus ring: Blue 60 (`#0f62fe`)
317
- - Error: Red 60 (`#da1e28`)
318
- - Success: Green 50 (`#24a148`)
319
-
320
- ### Example Component Prompts
321
- - "Create a hero section on white background. Headline at 60px IBM Plex Sans weight 300, line-height 1.17, color #161616. Subtitle at 16px weight 400, line-height 1.50, color #525252, max-width 640px. Blue CTA button (#0f62fe background, #ffffff text, 0px border-radius, 48px height, 14px 63px 14px 15px padding)."
322
- - "Design a card tile: #f4f4f4 background, 0px border-radius, 16px padding. Title at 20px IBM Plex Sans weight 600, line-height 1.40, color #161616. Body at 14px weight 400, letter-spacing 0.16px, line-height 1.29, color #525252. Hover: background shifts to #e8e8e8."
323
- - "Build a form field: #f4f4f4 background, 0px border-radius, 40px height, 16px horizontal padding. Label above at 12px weight 400, letter-spacing 0.32px, color #525252. Bottom-border: 2px solid transparent default, 2px solid #0f62fe on focus. Placeholder: #6f6f6f."
324
- - "Create a dark navigation bar: #161616 background, 48px height. IBM logo white left-aligned. Links at 14px IBM Plex Sans weight 400, color #c6c6c6. Hover: #ffffff text. Active: #ffffff with 2px bottom border."
325
- - "Build a tag component: Blue 10 (#edf5ff) background, Blue 60 (#0f62fe) text, 4px 8px padding, 24px border-radius, 12px IBM Plex Sans weight 400."
326
-
327
- ### Iteration Guide
328
- 1. Always use 0px border-radius on buttons, inputs, and cards — this is non-negotiable in Carbon
329
- 2. Letter-spacing only at small sizes: 0.16px at 14px, 0.32px at 12px — never on display text
330
- 3. Three weights: 300 (display), 400 (body), 600 (emphasis) — no bold
331
- 4. Blue 60 is the only accent color — do not introduce secondary accent hues
332
- 5. Depth comes from background-color layering (white → #f4f4f4 → #e0e0e0), not shadows
333
- 6. Inputs have bottom-border only, never fully boxed
334
- 7. Use `--cds-` prefix for token naming to stay Carbon-compatible
335
- 8. 48px is the universal interactive element height
@@ -1,342 +0,0 @@
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>IBM - reference components</title>
7
- <meta
8
- name="description"
9
- content="Reference fixture for design-systems/ibm: white Carbon surfaces, square geometry, IBM Plex typography, and a single engineered blue signal."
10
- />
11
- <style>
12
- :root {
13
- --bg: #ffffff;
14
- --surface: #f4f4f4;
15
- --surface-warm: #edf5ff;
16
- --fg: #161616;
17
- --fg-2: #525252;
18
- --muted: #6f6f6f;
19
- --meta: #8d8d8d;
20
- --border: #c6c6c6;
21
- --border-soft: #e0e0e0;
22
- --accent: #0f62fe;
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: #24a148;
27
- --warn: #f1c21b;
28
- --danger: #da1e28;
29
- --font-display: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
30
- --font-body: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
31
- --font-mono: "IBM Plex Mono", "SF Mono", Menlo, monospace;
32
- --text-xs: 12px;
33
- --text-sm: 14px;
34
- --text-base: 16px;
35
- --text-lg: 18px;
36
- --text-xl: 20px;
37
- --text-2xl: 32px;
38
- --text-3xl: 42px;
39
- --text-4xl: 60px;
40
- --leading-body: 1.5;
41
- --leading-tight: 1.17;
42
- --tracking-display: 0;
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: 96px;
52
- --section-y-tablet: 72px;
53
- --section-y-phone: 48px;
54
- --radius-sm: 0px;
55
- --radius-md: 0px;
56
- --radius-lg: 0px;
57
- --radius-pill: 9999px;
58
- --elev-flat: none;
59
- --elev-ring: 0 0 0 1px var(--border);
60
- --elev-raised: 0 2px 6px rgba(0, 0, 0, 0.12);
61
- --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #0f62fe;
62
- --motion-fast: 110ms;
63
- --motion-base: 180ms;
64
- --ease-standard: cubic-bezier(0.2, 0, 0.38, 0.9);
65
- --container-max: 1312px;
66
- --container-gutter-desktop: 32px;
67
- --container-gutter-tablet: 24px;
68
- --container-gutter-phone: 16px;
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: linear-gradient(135deg, #ffffff 0%, #f4f4f4 52%, #edf5ff 100%);
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">IBM design system</p>
278
- <h1>Carbon command center</h1>
279
- <p class="lead">Enterprise products, data modules, and precise blue actions.</p>
280
- <div class="actions" aria-label="Reference actions">
281
- <a class="btn btn-primary" href="#">Primary rectangular Carbon action</a>
282
- <a class="btn btn-secondary" href="#">Secondary action</a>
283
- </div>
284
- </div>
285
- <article class="panel" aria-label="IBM component preview">
286
- <div class="panel-head">
287
- <div>
288
- <p class="eyebrow">Live module</p>
289
- <h3>grid-aligned module</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>white Carbon surfaces, square geometry, IBM Plex typography, and a single engineered blue signal.</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="ibm-input">Reference input</label>
314
- <input id="ibm-input" value="IBM 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>