@aexol/spectral 0.9.269 → 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 (573) 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/extensions/dataset-uploader/cleaner.js +1 -1
  14. package/dist/extensions/dataset-uploader/scrubber.d.ts +2 -0
  15. package/dist/extensions/dataset-uploader/scrubber.d.ts.map +1 -1
  16. package/dist/extensions/dataset-uploader/scrubber.js +30 -1
  17. package/dist/generated/zeus/index.d.ts +0 -4
  18. package/dist/generated/zeus/index.d.ts.map +1 -1
  19. package/dist/memory/debug-log.d.ts.map +1 -1
  20. package/dist/memory/debug-log.js +20 -2
  21. package/dist/memory/tools/compact-context.d.ts +1 -1
  22. package/dist/memory/tools/compact-context.d.ts.map +1 -1
  23. package/dist/memory/tools/compact-context.js +4 -1
  24. package/dist/memory/tools/recall-observation.d.ts +3 -3
  25. package/dist/memory/tools/recall-observation.d.ts.map +1 -1
  26. package/dist/memory/tools/recall-observation.js +4 -1
  27. package/dist/memory/tools/receive-agent-observations.d.ts +3 -3
  28. package/dist/memory/tools/receive-agent-observations.d.ts.map +1 -1
  29. package/dist/memory/tools/receive-agent-observations.js +4 -1
  30. package/dist/memory/tools/share-project-observation.d.ts +3 -3
  31. package/dist/memory/tools/share-project-observation.d.ts.map +1 -1
  32. package/dist/memory/tools/share-project-observation.js +4 -1
  33. package/dist/memory/tools/write-project-observation.d.ts +3 -3
  34. package/dist/memory/tools/write-project-observation.d.ts.map +1 -1
  35. package/dist/memory/tools/write-project-observation.js +4 -1
  36. package/dist/relay/client.d.ts.map +1 -1
  37. package/dist/relay/client.js +5 -2
  38. package/dist/sdk/ai/env-api-keys.js +1 -1
  39. package/dist/sdk/coding-agent/core/extensions/loader.d.ts.map +1 -1
  40. package/dist/sdk/coding-agent/core/extensions/loader.js +31 -3
  41. package/dist/sdk/coding-agent/core/theme.js +1 -1
  42. package/dist/server/handlers/agent-settings.d.ts.map +1 -1
  43. package/dist/server/handlers/agent-settings.js +4 -1
  44. package/dist/server/handlers/settings-lock.d.ts.map +1 -1
  45. package/dist/server/handlers/settings-lock.js +4 -1
  46. package/dist/server/storage.d.ts.map +1 -1
  47. package/dist/server/storage.js +13 -1
  48. package/dist/utils/serve-state.d.ts +17 -0
  49. package/dist/utils/serve-state.d.ts.map +1 -1
  50. package/dist/utils/serve-state.js +73 -0
  51. package/package.json +1 -1
  52. package/dist/designer/data/skills/blog-post.d.ts +0 -3
  53. package/dist/designer/data/skills/blog-post.d.ts.map +0 -1
  54. package/dist/designer/data/skills/blog-post.js +0 -84
  55. package/dist/designer/data/skills/blog-post.ts +0 -87
  56. package/dist/designer/data/skills/critique.d.ts +0 -3
  57. package/dist/designer/data/skills/critique.d.ts.map +0 -1
  58. package/dist/designer/data/skills/critique.js +0 -109
  59. package/dist/designer/data/skills/critique.ts +0 -112
  60. package/dist/designer/data/skills/dashboard.d.ts +0 -3
  61. package/dist/designer/data/skills/dashboard.d.ts.map +0 -1
  62. package/dist/designer/data/skills/dashboard.js +0 -165
  63. package/dist/designer/data/skills/dashboard.ts +0 -168
  64. package/dist/designer/data/skills/design-brief.d.ts +0 -3
  65. package/dist/designer/data/skills/design-brief.d.ts.map +0 -1
  66. package/dist/designer/data/skills/design-brief.js +0 -141
  67. package/dist/designer/data/skills/design-brief.ts +0 -144
  68. package/dist/designer/data/skills/design-skill.d.ts +0 -10
  69. package/dist/designer/data/skills/design-skill.d.ts.map +0 -1
  70. package/dist/designer/data/skills/design-skill.js +0 -1
  71. package/dist/designer/data/skills/design-skill.ts +0 -9
  72. package/dist/designer/data/skills/docs-page.d.ts +0 -3
  73. package/dist/designer/data/skills/docs-page.d.ts.map +0 -1
  74. package/dist/designer/data/skills/docs-page.js +0 -68
  75. package/dist/designer/data/skills/docs-page.ts +0 -71
  76. package/dist/designer/data/skills/index.d.ts +0 -3
  77. package/dist/designer/data/skills/index.d.ts.map +0 -1
  78. package/dist/designer/data/skills/index.js +0 -28
  79. package/dist/designer/data/skills/index.ts +0 -30
  80. package/dist/designer/data/skills/magazine-poster.d.ts +0 -3
  81. package/dist/designer/data/skills/magazine-poster.d.ts.map +0 -1
  82. package/dist/designer/data/skills/magazine-poster.js +0 -70
  83. package/dist/designer/data/skills/magazine-poster.ts +0 -73
  84. package/dist/designer/data/skills/mobile-app.d.ts +0 -3
  85. package/dist/designer/data/skills/mobile-app.d.ts.map +0 -1
  86. package/dist/designer/data/skills/mobile-app.js +0 -229
  87. package/dist/designer/data/skills/mobile-app.ts +0 -232
  88. package/dist/designer/data/skills/motion-frames.d.ts +0 -3
  89. package/dist/designer/data/skills/motion-frames.d.ts.map +0 -1
  90. package/dist/designer/data/skills/motion-frames.js +0 -121
  91. package/dist/designer/data/skills/motion-frames.ts +0 -124
  92. package/dist/designer/data/skills/pricing-page.d.ts +0 -3
  93. package/dist/designer/data/skills/pricing-page.d.ts.map +0 -1
  94. package/dist/designer/data/skills/pricing-page.js +0 -76
  95. package/dist/designer/data/skills/pricing-page.ts +0 -79
  96. package/dist/designer/data/skills/saas-landing.d.ts +0 -3
  97. package/dist/designer/data/skills/saas-landing.d.ts.map +0 -1
  98. package/dist/designer/data/skills/saas-landing.js +0 -71
  99. package/dist/designer/data/skills/saas-landing.ts +0 -74
  100. package/dist/designer/data/skills/slide-deck.d.ts +0 -3
  101. package/dist/designer/data/skills/slide-deck.d.ts.map +0 -1
  102. package/dist/designer/data/skills/slide-deck.js +0 -213
  103. package/dist/designer/data/skills/slide-deck.ts +0 -216
  104. package/dist/designer/data/skills/social-carousel.d.ts +0 -3
  105. package/dist/designer/data/skills/social-carousel.d.ts.map +0 -1
  106. package/dist/designer/data/skills/social-carousel.js +0 -135
  107. package/dist/designer/data/skills/social-carousel.ts +0 -138
  108. package/dist/designer/data/skills/web-prototype.d.ts +0 -3
  109. package/dist/designer/data/skills/web-prototype.d.ts.map +0 -1
  110. package/dist/designer/data/skills/web-prototype.js +0 -159
  111. package/dist/designer/data/skills/web-prototype.ts +0 -162
  112. package/dist/designer/data/systems/agentic/DESIGN.md +0 -71
  113. package/dist/designer/data/systems/agentic/components.html +0 -154
  114. package/dist/designer/data/systems/agentic/tokens.css +0 -63
  115. package/dist/designer/data/systems/airbnb/DESIGN.md +0 -393
  116. package/dist/designer/data/systems/airbnb/components.html +0 -1373
  117. package/dist/designer/data/systems/airbnb/tokens.css +0 -261
  118. package/dist/designer/data/systems/airtable/DESIGN.md +0 -92
  119. package/dist/designer/data/systems/airtable/components.html +0 -489
  120. package/dist/designer/data/systems/airtable/tokens.css +0 -261
  121. package/dist/designer/data/systems/ant/DESIGN.md +0 -71
  122. package/dist/designer/data/systems/ant/components.html +0 -154
  123. package/dist/designer/data/systems/ant/tokens.css +0 -63
  124. package/dist/designer/data/systems/apple/DESIGN.md +0 -250
  125. package/dist/designer/data/systems/apple/components.html +0 -749
  126. package/dist/designer/data/systems/apple/tokens.css +0 -286
  127. package/dist/designer/data/systems/application/DESIGN.md +0 -71
  128. package/dist/designer/data/systems/application/components.html +0 -154
  129. package/dist/designer/data/systems/application/tokens.css +0 -63
  130. package/dist/designer/data/systems/arc/DESIGN.md +0 -152
  131. package/dist/designer/data/systems/arc/components.html +0 -432
  132. package/dist/designer/data/systems/arc/tokens.css +0 -137
  133. package/dist/designer/data/systems/artistic/DESIGN.md +0 -71
  134. package/dist/designer/data/systems/artistic/components.html +0 -136
  135. package/dist/designer/data/systems/artistic/tokens.css +0 -63
  136. package/dist/designer/data/systems/atelier-zero/DESIGN.md +0 -316
  137. package/dist/designer/data/systems/atelier-zero/components.html +0 -136
  138. package/dist/designer/data/systems/atelier-zero/tokens.css +0 -63
  139. package/dist/designer/data/systems/bento/DESIGN.md +0 -71
  140. package/dist/designer/data/systems/bento/components.html +0 -136
  141. package/dist/designer/data/systems/bento/tokens.css +0 -63
  142. package/dist/designer/data/systems/binance/DESIGN.md +0 -348
  143. package/dist/designer/data/systems/binance/components.html +0 -550
  144. package/dist/designer/data/systems/binance/tokens.css +0 -255
  145. package/dist/designer/data/systems/bmw/DESIGN.md +0 -183
  146. package/dist/designer/data/systems/bmw/components.html +0 -551
  147. package/dist/designer/data/systems/bmw/tokens.css +0 -179
  148. package/dist/designer/data/systems/bmw-m/DESIGN.md +0 -246
  149. package/dist/designer/data/systems/bmw-m/components.html +0 -342
  150. package/dist/designer/data/systems/bmw-m/tokens.css +0 -64
  151. package/dist/designer/data/systems/bold/DESIGN.md +0 -71
  152. package/dist/designer/data/systems/bold/components.html +0 -136
  153. package/dist/designer/data/systems/bold/tokens.css +0 -63
  154. package/dist/designer/data/systems/brutalism/DESIGN.md +0 -71
  155. package/dist/designer/data/systems/brutalism/components.html +0 -154
  156. package/dist/designer/data/systems/brutalism/tokens.css +0 -63
  157. package/dist/designer/data/systems/bugatti/DESIGN.md +0 -271
  158. package/dist/designer/data/systems/bugatti/components.html +0 -342
  159. package/dist/designer/data/systems/bugatti/tokens.css +0 -64
  160. package/dist/designer/data/systems/cafe/DESIGN.md +0 -71
  161. package/dist/designer/data/systems/cafe/components.html +0 -136
  162. package/dist/designer/data/systems/cafe/tokens.css +0 -63
  163. package/dist/designer/data/systems/cal/DESIGN.md +0 -262
  164. package/dist/designer/data/systems/cal/components.html +0 -376
  165. package/dist/designer/data/systems/cal/tokens.css +0 -265
  166. package/dist/designer/data/systems/canva/DESIGN.md +0 -157
  167. package/dist/designer/data/systems/canva/components.html +0 -461
  168. package/dist/designer/data/systems/canva/tokens.css +0 -147
  169. package/dist/designer/data/systems/cisco/DESIGN.md +0 -201
  170. package/dist/designer/data/systems/cisco/components.html +0 -342
  171. package/dist/designer/data/systems/cisco/tokens.css +0 -64
  172. package/dist/designer/data/systems/claude/DESIGN.md +0 -315
  173. package/dist/designer/data/systems/claude/components.html +0 -483
  174. package/dist/designer/data/systems/claude/tokens.css +0 -130
  175. package/dist/designer/data/systems/clay/DESIGN.md +0 -307
  176. package/dist/designer/data/systems/clay/components.html +0 -136
  177. package/dist/designer/data/systems/clay/tokens.css +0 -63
  178. package/dist/designer/data/systems/claymorphism/DESIGN.md +0 -71
  179. package/dist/designer/data/systems/claymorphism/components.html +0 -136
  180. package/dist/designer/data/systems/claymorphism/tokens.css +0 -63
  181. package/dist/designer/data/systems/clean/DESIGN.md +0 -71
  182. package/dist/designer/data/systems/clean/components.html +0 -136
  183. package/dist/designer/data/systems/clean/tokens.css +0 -63
  184. package/dist/designer/data/systems/clickhouse/DESIGN.md +0 -284
  185. package/dist/designer/data/systems/clickhouse/components.html +0 -506
  186. package/dist/designer/data/systems/clickhouse/tokens.css +0 -135
  187. package/dist/designer/data/systems/cohere/DESIGN.md +0 -269
  188. package/dist/designer/data/systems/cohere/components.html +0 -353
  189. package/dist/designer/data/systems/cohere/tokens.css +0 -126
  190. package/dist/designer/data/systems/coinbase/DESIGN.md +0 -132
  191. package/dist/designer/data/systems/coinbase/components.html +0 -501
  192. package/dist/designer/data/systems/coinbase/tokens.css +0 -257
  193. package/dist/designer/data/systems/colorful/DESIGN.md +0 -71
  194. package/dist/designer/data/systems/colorful/components.html +0 -136
  195. package/dist/designer/data/systems/colorful/tokens.css +0 -63
  196. package/dist/designer/data/systems/composio/DESIGN.md +0 -310
  197. package/dist/designer/data/systems/composio/components.html +0 -342
  198. package/dist/designer/data/systems/composio/tokens.css +0 -64
  199. package/dist/designer/data/systems/contemporary/DESIGN.md +0 -71
  200. package/dist/designer/data/systems/contemporary/components.html +0 -136
  201. package/dist/designer/data/systems/contemporary/tokens.css +0 -63
  202. package/dist/designer/data/systems/corporate/DESIGN.md +0 -71
  203. package/dist/designer/data/systems/corporate/components.html +0 -136
  204. package/dist/designer/data/systems/corporate/tokens.css +0 -63
  205. package/dist/designer/data/systems/cosmic/DESIGN.md +0 -71
  206. package/dist/designer/data/systems/cosmic/components.html +0 -136
  207. package/dist/designer/data/systems/cosmic/tokens.css +0 -63
  208. package/dist/designer/data/systems/creative/DESIGN.md +0 -71
  209. package/dist/designer/data/systems/creative/components.html +0 -136
  210. package/dist/designer/data/systems/creative/tokens.css +0 -63
  211. package/dist/designer/data/systems/cursor/DESIGN.md +0 -312
  212. package/dist/designer/data/systems/cursor/components.html +0 -654
  213. package/dist/designer/data/systems/cursor/tokens.css +0 -218
  214. package/dist/designer/data/systems/dashboard/DESIGN.md +0 -71
  215. package/dist/designer/data/systems/dashboard/components.html +0 -154
  216. package/dist/designer/data/systems/dashboard/tokens.css +0 -63
  217. package/dist/designer/data/systems/default/DESIGN.md +0 -62
  218. package/dist/designer/data/systems/default/components.html +0 -523
  219. package/dist/designer/data/systems/default/tokens.css +0 -200
  220. package/dist/designer/data/systems/discord/DESIGN.md +0 -162
  221. package/dist/designer/data/systems/discord/components.html +0 -359
  222. package/dist/designer/data/systems/discord/tokens.css +0 -125
  223. package/dist/designer/data/systems/dithered/DESIGN.md +0 -71
  224. package/dist/designer/data/systems/dithered/components.html +0 -136
  225. package/dist/designer/data/systems/dithered/tokens.css +0 -63
  226. package/dist/designer/data/systems/doodle/DESIGN.md +0 -71
  227. package/dist/designer/data/systems/doodle/components.html +0 -136
  228. package/dist/designer/data/systems/doodle/tokens.css +0 -63
  229. package/dist/designer/data/systems/dramatic/DESIGN.md +0 -71
  230. package/dist/designer/data/systems/dramatic/components.html +0 -136
  231. package/dist/designer/data/systems/dramatic/tokens.css +0 -63
  232. package/dist/designer/data/systems/duolingo/DESIGN.md +0 -154
  233. package/dist/designer/data/systems/duolingo/components.html +0 -532
  234. package/dist/designer/data/systems/duolingo/tokens.css +0 -130
  235. package/dist/designer/data/systems/editorial/DESIGN.md +0 -71
  236. package/dist/designer/data/systems/editorial/components.html +0 -154
  237. package/dist/designer/data/systems/editorial/tokens.css +0 -63
  238. package/dist/designer/data/systems/elegant/DESIGN.md +0 -71
  239. package/dist/designer/data/systems/elegant/components.html +0 -136
  240. package/dist/designer/data/systems/elegant/tokens.css +0 -63
  241. package/dist/designer/data/systems/elevenlabs/DESIGN.md +0 -268
  242. package/dist/designer/data/systems/elevenlabs/components.html +0 -342
  243. package/dist/designer/data/systems/elevenlabs/tokens.css +0 -127
  244. package/dist/designer/data/systems/energetic/DESIGN.md +0 -72
  245. package/dist/designer/data/systems/energetic/components.html +0 -136
  246. package/dist/designer/data/systems/energetic/tokens.css +0 -63
  247. package/dist/designer/data/systems/enterprise/DESIGN.md +0 -71
  248. package/dist/designer/data/systems/enterprise/components.html +0 -154
  249. package/dist/designer/data/systems/enterprise/tokens.css +0 -63
  250. package/dist/designer/data/systems/expo/DESIGN.md +0 -284
  251. package/dist/designer/data/systems/expo/components.html +0 -342
  252. package/dist/designer/data/systems/expo/tokens.css +0 -64
  253. package/dist/designer/data/systems/expressive/DESIGN.md +0 -71
  254. package/dist/designer/data/systems/expressive/components.html +0 -136
  255. package/dist/designer/data/systems/expressive/tokens.css +0 -63
  256. package/dist/designer/data/systems/fantasy/DESIGN.md +0 -71
  257. package/dist/designer/data/systems/fantasy/components.html +0 -136
  258. package/dist/designer/data/systems/fantasy/tokens.css +0 -63
  259. package/dist/designer/data/systems/ferrari/DESIGN.md +0 -317
  260. package/dist/designer/data/systems/ferrari/components.html +0 -342
  261. package/dist/designer/data/systems/ferrari/tokens.css +0 -64
  262. package/dist/designer/data/systems/figma/DESIGN.md +0 -223
  263. package/dist/designer/data/systems/figma/components.html +0 -344
  264. package/dist/designer/data/systems/figma/tokens.css +0 -126
  265. package/dist/designer/data/systems/flat/DESIGN.md +0 -71
  266. package/dist/designer/data/systems/flat/components.html +0 -136
  267. package/dist/designer/data/systems/flat/tokens.css +0 -63
  268. package/dist/designer/data/systems/framer/DESIGN.md +0 -249
  269. package/dist/designer/data/systems/framer/components.html +0 -438
  270. package/dist/designer/data/systems/framer/tokens.css +0 -238
  271. package/dist/designer/data/systems/friendly/DESIGN.md +0 -71
  272. package/dist/designer/data/systems/friendly/components.html +0 -136
  273. package/dist/designer/data/systems/friendly/tokens.css +0 -63
  274. package/dist/designer/data/systems/futuristic/DESIGN.md +0 -71
  275. package/dist/designer/data/systems/futuristic/components.html +0 -136
  276. package/dist/designer/data/systems/futuristic/tokens.css +0 -63
  277. package/dist/designer/data/systems/github/DESIGN.md +0 -155
  278. package/dist/designer/data/systems/github/components.html +0 -383
  279. package/dist/designer/data/systems/github/tokens.css +0 -125
  280. package/dist/designer/data/systems/glassmorphism/DESIGN.md +0 -71
  281. package/dist/designer/data/systems/glassmorphism/components.html +0 -154
  282. package/dist/designer/data/systems/glassmorphism/tokens.css +0 -63
  283. package/dist/designer/data/systems/gradient/DESIGN.md +0 -71
  284. package/dist/designer/data/systems/gradient/components.html +0 -154
  285. package/dist/designer/data/systems/gradient/tokens.css +0 -63
  286. package/dist/designer/data/systems/hashicorp/DESIGN.md +0 -281
  287. package/dist/designer/data/systems/hashicorp/components.html +0 -502
  288. package/dist/designer/data/systems/hashicorp/tokens.css +0 -272
  289. package/dist/designer/data/systems/hud/DESIGN.md +0 -173
  290. package/dist/designer/data/systems/hud/components.html +0 -136
  291. package/dist/designer/data/systems/hud/tokens.css +0 -63
  292. package/dist/designer/data/systems/huggingface/DESIGN.md +0 -149
  293. package/dist/designer/data/systems/huggingface/components.html +0 -346
  294. package/dist/designer/data/systems/huggingface/tokens.css +0 -125
  295. package/dist/designer/data/systems/ibm/DESIGN.md +0 -335
  296. package/dist/designer/data/systems/ibm/components.html +0 -342
  297. package/dist/designer/data/systems/ibm/tokens.css +0 -64
  298. package/dist/designer/data/systems/intercom/DESIGN.md +0 -149
  299. package/dist/designer/data/systems/intercom/components.html +0 -557
  300. package/dist/designer/data/systems/intercom/tokens.css +0 -150
  301. package/dist/designer/data/systems/kami/DESIGN.md +0 -410
  302. package/dist/designer/data/systems/kami/components.html +0 -601
  303. package/dist/designer/data/systems/kami/tokens.css +0 -272
  304. package/dist/designer/data/systems/kraken/DESIGN.md +0 -128
  305. package/dist/designer/data/systems/kraken/components.html +0 -342
  306. package/dist/designer/data/systems/kraken/tokens.css +0 -64
  307. package/dist/designer/data/systems/lamborghini/DESIGN.md +0 -291
  308. package/dist/designer/data/systems/lamborghini/components.html +0 -342
  309. package/dist/designer/data/systems/lamborghini/tokens.css +0 -64
  310. package/dist/designer/data/systems/levels/DESIGN.md +0 -71
  311. package/dist/designer/data/systems/levels/components.html +0 -154
  312. package/dist/designer/data/systems/levels/tokens.css +0 -63
  313. package/dist/designer/data/systems/linear-app/DESIGN.md +0 -370
  314. package/dist/designer/data/systems/linear-app/components.html +0 -370
  315. package/dist/designer/data/systems/linear-app/tokens.css +0 -130
  316. package/dist/designer/data/systems/lingo/DESIGN.md +0 -71
  317. package/dist/designer/data/systems/lingo/components.html +0 -154
  318. package/dist/designer/data/systems/lingo/tokens.css +0 -63
  319. package/dist/designer/data/systems/loom/DESIGN.md +0 -201
  320. package/dist/designer/data/systems/loom/components.html +0 -446
  321. package/dist/designer/data/systems/loom/tokens.css +0 -138
  322. package/dist/designer/data/systems/lovable/DESIGN.md +0 -301
  323. package/dist/designer/data/systems/lovable/components.html +0 -441
  324. package/dist/designer/data/systems/lovable/tokens.css +0 -258
  325. package/dist/designer/data/systems/luxury/DESIGN.md +0 -71
  326. package/dist/designer/data/systems/luxury/components.html +0 -154
  327. package/dist/designer/data/systems/luxury/tokens.css +0 -63
  328. package/dist/designer/data/systems/mastercard/DESIGN.md +0 -368
  329. package/dist/designer/data/systems/mastercard/components.html +0 -342
  330. package/dist/designer/data/systems/mastercard/tokens.css +0 -64
  331. package/dist/designer/data/systems/material/DESIGN.md +0 -71
  332. package/dist/designer/data/systems/material/components.html +0 -154
  333. package/dist/designer/data/systems/material/tokens.css +0 -63
  334. package/dist/designer/data/systems/meta/DESIGN.md +0 -369
  335. package/dist/designer/data/systems/meta/components.html +0 -398
  336. package/dist/designer/data/systems/meta/tokens.css +0 -263
  337. package/dist/designer/data/systems/minimal/DESIGN.md +0 -71
  338. package/dist/designer/data/systems/minimal/components.html +0 -154
  339. package/dist/designer/data/systems/minimal/tokens.css +0 -63
  340. package/dist/designer/data/systems/minimax/DESIGN.md +0 -260
  341. package/dist/designer/data/systems/minimax/components.html +0 -590
  342. package/dist/designer/data/systems/minimax/tokens.css +0 -148
  343. package/dist/designer/data/systems/mintlify/DESIGN.md +0 -329
  344. package/dist/designer/data/systems/mintlify/components.html +0 -737
  345. package/dist/designer/data/systems/mintlify/tokens.css +0 -256
  346. package/dist/designer/data/systems/miro/DESIGN.md +0 -111
  347. package/dist/designer/data/systems/miro/components.html +0 -342
  348. package/dist/designer/data/systems/miro/tokens.css +0 -64
  349. package/dist/designer/data/systems/mission-control/DESIGN.md +0 -474
  350. package/dist/designer/data/systems/mission-control/components.html +0 -136
  351. package/dist/designer/data/systems/mission-control/tokens.css +0 -63
  352. package/dist/designer/data/systems/mistral-ai/DESIGN.md +0 -264
  353. package/dist/designer/data/systems/mistral-ai/components.html +0 -338
  354. package/dist/designer/data/systems/mistral-ai/tokens.css +0 -125
  355. package/dist/designer/data/systems/modern/DESIGN.md +0 -71
  356. package/dist/designer/data/systems/modern/components.html +0 -154
  357. package/dist/designer/data/systems/modern/tokens.css +0 -63
  358. package/dist/designer/data/systems/mongodb/DESIGN.md +0 -269
  359. package/dist/designer/data/systems/mongodb/components.html +0 -462
  360. package/dist/designer/data/systems/mongodb/tokens.css +0 -176
  361. package/dist/designer/data/systems/mono/DESIGN.md +0 -71
  362. package/dist/designer/data/systems/mono/components.html +0 -136
  363. package/dist/designer/data/systems/mono/tokens.css +0 -63
  364. package/dist/designer/data/systems/neobrutalism/DESIGN.md +0 -71
  365. package/dist/designer/data/systems/neobrutalism/components.html +0 -136
  366. package/dist/designer/data/systems/neobrutalism/tokens.css +0 -63
  367. package/dist/designer/data/systems/neon/DESIGN.md +0 -71
  368. package/dist/designer/data/systems/neon/components.html +0 -136
  369. package/dist/designer/data/systems/neon/tokens.css +0 -63
  370. package/dist/designer/data/systems/neumorphism/DESIGN.md +0 -71
  371. package/dist/designer/data/systems/neumorphism/components.html +0 -136
  372. package/dist/designer/data/systems/neumorphism/tokens.css +0 -63
  373. package/dist/designer/data/systems/nike/DESIGN.md +0 -366
  374. package/dist/designer/data/systems/nike/components.html +0 -512
  375. package/dist/designer/data/systems/nike/tokens.css +0 -304
  376. package/dist/designer/data/systems/notion/DESIGN.md +0 -312
  377. package/dist/designer/data/systems/notion/components.html +0 -413
  378. package/dist/designer/data/systems/notion/tokens.css +0 -130
  379. package/dist/designer/data/systems/nvidia/DESIGN.md +0 -296
  380. package/dist/designer/data/systems/nvidia/components.html +0 -414
  381. package/dist/designer/data/systems/nvidia/tokens.css +0 -133
  382. package/dist/designer/data/systems/ollama/DESIGN.md +0 -270
  383. package/dist/designer/data/systems/ollama/components.html +0 -700
  384. package/dist/designer/data/systems/ollama/tokens.css +0 -242
  385. package/dist/designer/data/systems/openai/DESIGN.md +0 -140
  386. package/dist/designer/data/systems/openai/components.html +0 -382
  387. package/dist/designer/data/systems/openai/tokens.css +0 -133
  388. package/dist/designer/data/systems/opencode-ai/DESIGN.md +0 -284
  389. package/dist/designer/data/systems/opencode-ai/components.html +0 -389
  390. package/dist/designer/data/systems/opencode-ai/tokens.css +0 -126
  391. package/dist/designer/data/systems/pacman/DESIGN.md +0 -71
  392. package/dist/designer/data/systems/pacman/components.html +0 -342
  393. package/dist/designer/data/systems/pacman/tokens.css +0 -64
  394. package/dist/designer/data/systems/paper/DESIGN.md +0 -71
  395. package/dist/designer/data/systems/paper/components.html +0 -136
  396. package/dist/designer/data/systems/paper/tokens.css +0 -63
  397. package/dist/designer/data/systems/perplexity/DESIGN.md +0 -286
  398. package/dist/designer/data/systems/perplexity/components.html +0 -455
  399. package/dist/designer/data/systems/perplexity/tokens.css +0 -151
  400. package/dist/designer/data/systems/perspective/DESIGN.md +0 -71
  401. package/dist/designer/data/systems/perspective/components.html +0 -136
  402. package/dist/designer/data/systems/perspective/tokens.css +0 -63
  403. package/dist/designer/data/systems/pinterest/DESIGN.md +0 -233
  404. package/dist/designer/data/systems/pinterest/components.html +0 -865
  405. package/dist/designer/data/systems/pinterest/tokens.css +0 -262
  406. package/dist/designer/data/systems/playstation/DESIGN.md +0 -367
  407. package/dist/designer/data/systems/playstation/components.html +0 -414
  408. package/dist/designer/data/systems/playstation/tokens.css +0 -150
  409. package/dist/designer/data/systems/posthog/DESIGN.md +0 -259
  410. package/dist/designer/data/systems/posthog/components.html +0 -827
  411. package/dist/designer/data/systems/posthog/tokens.css +0 -272
  412. package/dist/designer/data/systems/premium/DESIGN.md +0 -71
  413. package/dist/designer/data/systems/premium/components.html +0 -154
  414. package/dist/designer/data/systems/premium/tokens.css +0 -63
  415. package/dist/designer/data/systems/professional/DESIGN.md +0 -71
  416. package/dist/designer/data/systems/professional/components.html +0 -136
  417. package/dist/designer/data/systems/professional/tokens.css +0 -63
  418. package/dist/designer/data/systems/publication/DESIGN.md +0 -71
  419. package/dist/designer/data/systems/publication/components.html +0 -154
  420. package/dist/designer/data/systems/publication/tokens.css +0 -63
  421. package/dist/designer/data/systems/raycast/DESIGN.md +0 -271
  422. package/dist/designer/data/systems/raycast/components.html +0 -507
  423. package/dist/designer/data/systems/raycast/tokens.css +0 -143
  424. package/dist/designer/data/systems/refined/DESIGN.md +0 -71
  425. package/dist/designer/data/systems/refined/components.html +0 -136
  426. package/dist/designer/data/systems/refined/tokens.css +0 -63
  427. package/dist/designer/data/systems/renault/DESIGN.md +0 -314
  428. package/dist/designer/data/systems/renault/components.html +0 -154
  429. package/dist/designer/data/systems/renault/tokens.css +0 -63
  430. package/dist/designer/data/systems/replicate/DESIGN.md +0 -264
  431. package/dist/designer/data/systems/replicate/components.html +0 -340
  432. package/dist/designer/data/systems/replicate/tokens.css +0 -125
  433. package/dist/designer/data/systems/resend/DESIGN.md +0 -306
  434. package/dist/designer/data/systems/resend/components.html +0 -839
  435. package/dist/designer/data/systems/resend/tokens.css +0 -353
  436. package/dist/designer/data/systems/retro/DESIGN.md +0 -71
  437. package/dist/designer/data/systems/retro/components.html +0 -136
  438. package/dist/designer/data/systems/retro/tokens.css +0 -63
  439. package/dist/designer/data/systems/revolut/DESIGN.md +0 -188
  440. package/dist/designer/data/systems/revolut/components.html +0 -342
  441. package/dist/designer/data/systems/revolut/tokens.css +0 -64
  442. package/dist/designer/data/systems/runwayml/DESIGN.md +0 -247
  443. package/dist/designer/data/systems/runwayml/components.html +0 -638
  444. package/dist/designer/data/systems/runwayml/tokens.css +0 -204
  445. package/dist/designer/data/systems/sanity/DESIGN.md +0 -360
  446. package/dist/designer/data/systems/sanity/components.html +0 -342
  447. package/dist/designer/data/systems/sanity/tokens.css +0 -64
  448. package/dist/designer/data/systems/sentry/DESIGN.md +0 -265
  449. package/dist/designer/data/systems/sentry/components.html +0 -387
  450. package/dist/designer/data/systems/sentry/tokens.css +0 -219
  451. package/dist/designer/data/systems/shadcn/DESIGN.md +0 -71
  452. package/dist/designer/data/systems/shadcn/components.html +0 -732
  453. package/dist/designer/data/systems/shadcn/tokens.css +0 -255
  454. package/dist/designer/data/systems/shopify/DESIGN.md +0 -353
  455. package/dist/designer/data/systems/shopify/components.html +0 -342
  456. package/dist/designer/data/systems/shopify/tokens.css +0 -141
  457. package/dist/designer/data/systems/simple/DESIGN.md +0 -71
  458. package/dist/designer/data/systems/simple/components.html +0 -136
  459. package/dist/designer/data/systems/simple/tokens.css +0 -63
  460. package/dist/designer/data/systems/skeumorphism/DESIGN.md +0 -71
  461. package/dist/designer/data/systems/skeumorphism/components.html +0 -136
  462. package/dist/designer/data/systems/skeumorphism/tokens.css +0 -63
  463. package/dist/designer/data/systems/slack/DESIGN.md +0 -363
  464. package/dist/designer/data/systems/slack/components.html +0 -387
  465. package/dist/designer/data/systems/slack/tokens.css +0 -127
  466. package/dist/designer/data/systems/sleek/DESIGN.md +0 -71
  467. package/dist/designer/data/systems/sleek/components.html +0 -136
  468. package/dist/designer/data/systems/sleek/tokens.css +0 -63
  469. package/dist/designer/data/systems/spacex/DESIGN.md +0 -197
  470. package/dist/designer/data/systems/spacex/components.html +0 -496
  471. package/dist/designer/data/systems/spacex/tokens.css +0 -154
  472. package/dist/designer/data/systems/spacious/DESIGN.md +0 -71
  473. package/dist/designer/data/systems/spacious/components.html +0 -136
  474. package/dist/designer/data/systems/spacious/tokens.css +0 -63
  475. package/dist/designer/data/systems/spotify/DESIGN.md +0 -249
  476. package/dist/designer/data/systems/spotify/components.html +0 -365
  477. package/dist/designer/data/systems/spotify/tokens.css +0 -127
  478. package/dist/designer/data/systems/starbucks/DESIGN.md +0 -583
  479. package/dist/designer/data/systems/starbucks/components.html +0 -493
  480. package/dist/designer/data/systems/starbucks/tokens.css +0 -182
  481. package/dist/designer/data/systems/storytelling/DESIGN.md +0 -71
  482. package/dist/designer/data/systems/storytelling/components.html +0 -136
  483. package/dist/designer/data/systems/storytelling/tokens.css +0 -63
  484. package/dist/designer/data/systems/stripe/DESIGN.md +0 -325
  485. package/dist/designer/data/systems/stripe/components.html +0 -1018
  486. package/dist/designer/data/systems/stripe/tokens.css +0 -295
  487. package/dist/designer/data/systems/supabase/DESIGN.md +0 -258
  488. package/dist/designer/data/systems/supabase/components.html +0 -741
  489. package/dist/designer/data/systems/supabase/tokens.css +0 -294
  490. package/dist/designer/data/systems/superhuman/DESIGN.md +0 -255
  491. package/dist/designer/data/systems/superhuman/components.html +0 -537
  492. package/dist/designer/data/systems/superhuman/tokens.css +0 -160
  493. package/dist/designer/data/systems/tesla/DESIGN.md +0 -289
  494. package/dist/designer/data/systems/tesla/components.html +0 -724
  495. package/dist/designer/data/systems/tesla/tokens.css +0 -285
  496. package/dist/designer/data/systems/tetris/DESIGN.md +0 -71
  497. package/dist/designer/data/systems/tetris/components.html +0 -342
  498. package/dist/designer/data/systems/tetris/tokens.css +0 -64
  499. package/dist/designer/data/systems/theverge/DESIGN.md +0 -342
  500. package/dist/designer/data/systems/theverge/components.html +0 -342
  501. package/dist/designer/data/systems/theverge/tokens.css +0 -64
  502. package/dist/designer/data/systems/together-ai/DESIGN.md +0 -266
  503. package/dist/designer/data/systems/together-ai/components.html +0 -422
  504. package/dist/designer/data/systems/together-ai/tokens.css +0 -127
  505. package/dist/designer/data/systems/totality-festival/DESIGN.md +0 -206
  506. package/dist/designer/data/systems/totality-festival/components.html +0 -136
  507. package/dist/designer/data/systems/totality-festival/tokens.css +0 -63
  508. package/dist/designer/data/systems/trading-terminal/DESIGN.md +0 -178
  509. package/dist/designer/data/systems/trading-terminal/components.html +0 -154
  510. package/dist/designer/data/systems/trading-terminal/tokens.css +0 -63
  511. package/dist/designer/data/systems/uber/DESIGN.md +0 -298
  512. package/dist/designer/data/systems/uber/components.html +0 -347
  513. package/dist/designer/data/systems/uber/tokens.css +0 -131
  514. package/dist/designer/data/systems/urdu/DESIGN.md +0 -1002
  515. package/dist/designer/data/systems/urdu/components.html +0 -136
  516. package/dist/designer/data/systems/urdu/tokens.css +0 -63
  517. package/dist/designer/data/systems/vercel/DESIGN.md +0 -313
  518. package/dist/designer/data/systems/vercel/components.html +0 -839
  519. package/dist/designer/data/systems/vercel/tokens.css +0 -270
  520. package/dist/designer/data/systems/vibrant/DESIGN.md +0 -71
  521. package/dist/designer/data/systems/vibrant/components.html +0 -136
  522. package/dist/designer/data/systems/vibrant/tokens.css +0 -63
  523. package/dist/designer/data/systems/vintage/DESIGN.md +0 -71
  524. package/dist/designer/data/systems/vintage/components.html +0 -136
  525. package/dist/designer/data/systems/vintage/tokens.css +0 -63
  526. package/dist/designer/data/systems/vodafone/DESIGN.md +0 -426
  527. package/dist/designer/data/systems/vodafone/components.html +0 -342
  528. package/dist/designer/data/systems/vodafone/tokens.css +0 -64
  529. package/dist/designer/data/systems/voltagent/DESIGN.md +0 -326
  530. package/dist/designer/data/systems/voltagent/components.html +0 -154
  531. package/dist/designer/data/systems/voltagent/tokens.css +0 -63
  532. package/dist/designer/data/systems/warm-editorial/DESIGN.md +0 -65
  533. package/dist/designer/data/systems/warm-editorial/components.html +0 -136
  534. package/dist/designer/data/systems/warm-editorial/tokens.css +0 -63
  535. package/dist/designer/data/systems/warp/DESIGN.md +0 -256
  536. package/dist/designer/data/systems/warp/components.html +0 -411
  537. package/dist/designer/data/systems/warp/tokens.css +0 -156
  538. package/dist/designer/data/systems/webex/DESIGN.md +0 -207
  539. package/dist/designer/data/systems/webex/components.html +0 -342
  540. package/dist/designer/data/systems/webex/tokens.css +0 -64
  541. package/dist/designer/data/systems/webflow/DESIGN.md +0 -95
  542. package/dist/designer/data/systems/webflow/components.html +0 -413
  543. package/dist/designer/data/systems/webflow/tokens.css +0 -191
  544. package/dist/designer/data/systems/wechat/DESIGN.md +0 -302
  545. package/dist/designer/data/systems/wechat/components.html +0 -507
  546. package/dist/designer/data/systems/wechat/tokens.css +0 -176
  547. package/dist/designer/data/systems/wired/DESIGN.md +0 -281
  548. package/dist/designer/data/systems/wired/components.html +0 -342
  549. package/dist/designer/data/systems/wired/tokens.css +0 -64
  550. package/dist/designer/data/systems/wise/DESIGN.md +0 -176
  551. package/dist/designer/data/systems/wise/components.html +0 -365
  552. package/dist/designer/data/systems/wise/tokens.css +0 -141
  553. package/dist/designer/data/systems/x-ai/DESIGN.md +0 -260
  554. package/dist/designer/data/systems/x-ai/components.html +0 -460
  555. package/dist/designer/data/systems/x-ai/tokens.css +0 -268
  556. package/dist/designer/data/systems/xiaohongshu/DESIGN.md +0 -402
  557. package/dist/designer/data/systems/xiaohongshu/components.html +0 -865
  558. package/dist/designer/data/systems/xiaohongshu/tokens.css +0 -193
  559. package/dist/designer/data/systems/zapier/DESIGN.md +0 -331
  560. package/dist/designer/data/systems/zapier/components.html +0 -342
  561. package/dist/designer/data/systems/zapier/tokens.css +0 -64
  562. package/dist/designer/guidelines.d.ts +0 -23
  563. package/dist/designer/guidelines.d.ts.map +0 -1
  564. package/dist/designer/guidelines.js +0 -176
  565. package/dist/designer/philosophies.d.ts +0 -33
  566. package/dist/designer/philosophies.d.ts.map +0 -1
  567. package/dist/designer/philosophies.js +0 -668
  568. package/dist/designer/skills.d.ts +0 -21
  569. package/dist/designer/skills.d.ts.map +0 -1
  570. package/dist/designer/skills.js +0 -34
  571. package/dist/designer/systems.d.ts +0 -36
  572. package/dist/designer/systems.d.ts.map +0 -1
  573. 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>