@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,387 +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>Sentry — reference components</title>
7
- <meta
8
- name="description"
9
- content="Reference fixture for design-systems/sentry. Dark-mode-first developer tool
10
- aesthetic — deep purple-black canvas, Rubik UI, Monaco code, signature lime-green pop."
11
- />
12
-
13
- <style>
14
- :root {
15
- --bg: #1f1633;
16
- --surface: #150f23;
17
- --surface-warm: var(--surface);
18
-
19
- --fg: #ffffff;
20
- --fg-2: #e5e7eb;
21
- --muted: #9d96b3;
22
- --meta: var(--muted);
23
-
24
- --border: #362d59;
25
- --border-soft: var(--border);
26
-
27
- --accent: #6a5fc1;
28
- --accent-on: #ffffff;
29
- --accent-hover: color-mix(in oklab, var(--accent), black 8%);
30
- --accent-active: color-mix(in oklab, var(--accent), black 14%);
31
-
32
- --success: #16a34a;
33
- --warn: #eab308;
34
- --danger: #dc2626;
35
-
36
- --font-display: "Dammit Sans", "Rubik", -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
37
- --font-body: "Rubik", -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
38
- --font-mono: Monaco, Menlo, "Ubuntu Mono", ui-monospace, monospace;
39
-
40
- --text-xs: 12px;
41
- --text-sm: 14px;
42
- --text-base: 16px;
43
- --text-lg: 20px;
44
- --text-xl: 24px;
45
- --text-2xl: 30px;
46
- --text-3xl: 60px;
47
- --text-4xl: 88px;
48
-
49
- --leading-body: 1.5;
50
- --leading-tight: 1.2;
51
- --tracking-display: normal;
52
-
53
- --space-1: 4px;
54
- --space-2: 8px;
55
- --space-3: 12px;
56
- --space-4: 16px;
57
- --space-5: 20px;
58
- --space-6: 24px;
59
- --space-8: 32px;
60
- --space-12: 48px;
61
-
62
- --section-y-desktop: 80px;
63
- --section-y-tablet: 64px;
64
- --section-y-phone: 48px;
65
-
66
- --radius-sm: 6px;
67
- --radius-md: 8px;
68
- --radius-lg: 12px;
69
- --radius-pill: 9999px;
70
-
71
- --elev-flat: none;
72
- --elev-ring: 0 0 0 1px var(--border);
73
- --elev-raised: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
74
-
75
- --focus-ring: 0 0 0 2px var(--accent);
76
-
77
- --motion-fast: 150ms;
78
- --motion-base: 200ms;
79
- --ease-standard: cubic-bezier(0.2, 0, 0, 1);
80
-
81
- --container-max: 1152px;
82
- --container-gutter-desktop: 64px;
83
- --container-gutter-tablet: 32px;
84
- --container-gutter-phone: 24px;
85
- }
86
-
87
- /* ─── Reset ─────────────────────────────────────────────── */
88
- *, *::before, *::after { box-sizing: border-box; }
89
- html, body { margin: 0; padding: 0; }
90
- body {
91
- background: var(--bg);
92
- color: var(--fg);
93
- font-family: var(--font-body);
94
- font-size: var(--text-base);
95
- line-height: var(--leading-body);
96
- -webkit-font-smoothing: antialiased;
97
- }
98
-
99
- /* ─── Layout ─────────────────────────────────────────────── */
100
- .container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
101
- section { padding-block: var(--section-y-desktop); }
102
- section + section { border-top: 1px solid var(--border); }
103
- @media (max-width: 1023px) {
104
- .container { padding-inline: var(--container-gutter-tablet); }
105
- section { padding-block: var(--section-y-tablet); }
106
- }
107
- @media (max-width: 639px) {
108
- .container { padding-inline: var(--container-gutter-phone); }
109
- section { padding-block: var(--section-y-phone); }
110
- }
111
-
112
- /* ─── Typography — Rubik workhorse; Dammit Sans hero only ── */
113
- h1, h2, h3 {
114
- font-family: var(--font-body); /* Rubik for section + card headings */
115
- line-height: var(--leading-tight);
116
- margin: 0;
117
- color: var(--fg);
118
- }
119
- h1 {
120
- font-family: var(--font-display); /* Dammit Sans — hero only */
121
- font-size: var(--text-4xl);
122
- font-weight: 700;
123
- letter-spacing: var(--tracking-display);
124
- }
125
- h2 { font-size: var(--text-2xl); font-weight: 400; }
126
- h3 { font-size: var(--text-xl); font-weight: 500; }
127
- p { margin: 0; }
128
- .lead { font-size: var(--text-lg); color: var(--fg-2); line-height: var(--leading-body); }
129
- .body-muted { color: var(--muted); }
130
- .body-sm { font-size: var(--text-sm); }
131
- /* Uppercase eyebrow — Sentry's systematic "technical label" pattern */
132
- .eyebrow {
133
- font-size: var(--text-xs);
134
- color: var(--muted);
135
- text-transform: uppercase;
136
- letter-spacing: 0.2px;
137
- font-weight: 600;
138
- }
139
- /* Lime-green eyebrow — the signature pop accent. Per DESIGN.md §9:
140
- "Use once per section maximum." Raw hex is justified here because
141
- the lime is a brand-identity color not represented in the shared
142
- schema and DESIGN.md explicitly anchors its usage. */
143
- .eyebrow-pop {
144
- font-size: var(--text-xs);
145
- color: #c2ef4e;
146
- text-transform: uppercase;
147
- letter-spacing: 0.25px;
148
- font-weight: 600;
149
- }
150
- .stack-3 > * + * { margin-block-start: var(--space-3); }
151
- .stack-4 > * + * { margin-block-start: var(--space-4); }
152
- .stack-6 > * + * { margin-block-start: var(--space-6); }
153
-
154
- /* ─── Buttons — uppercase, letter-spaced, purple-tinted ──── */
155
- .btn {
156
- display: inline-flex;
157
- align-items: center;
158
- gap: var(--space-2);
159
- padding: 12px 16px;
160
- border-radius: var(--radius-md);
161
- font-family: var(--font-body);
162
- font-size: var(--text-sm);
163
- font-weight: 700;
164
- line-height: 1;
165
- cursor: pointer;
166
- border: none;
167
- text-transform: uppercase;
168
- letter-spacing: 0.2px;
169
- transition: background-color var(--motion-fast) var(--ease-standard),
170
- box-shadow var(--motion-fast) var(--ease-standard),
171
- color var(--motion-fast) var(--ease-standard);
172
- text-decoration: none;
173
- }
174
- .btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
175
- /* Primary white solid — DESIGN.md "White Solid": high-visibility CTA
176
- on dark backgrounds. Hover transitions to Sentry Purple. */
177
- .btn-primary {
178
- background: var(--fg);
179
- color: var(--bg);
180
- }
181
- .btn-primary:hover { background: var(--accent); color: var(--accent-on); }
182
- .btn-primary:active { background: var(--accent-active); }
183
- /* Secondary muted purple — DESIGN.md "Primary Muted Purple": tactile
184
- inset shadow, the workhorse button. */
185
- .btn-secondary {
186
- background: #79628c; /* Muted Purple — DESIGN.md §4 button bg */
187
- color: var(--fg);
188
- border: 1px solid #584674; /* DESIGN.md §4 button border */
189
- box-shadow: rgba(0, 0, 0, 0.1) 0 1px 3px 0 inset; /* tactile pressed */
190
- }
191
- .btn-secondary:hover {
192
- background: color-mix(in oklab, #79628c, white 6%);
193
- box-shadow: rgba(0, 0, 0, 0.18) 0 8px 24px;
194
- }
195
-
196
- /* ─── Inputs — light context on dark surfaces ─────────────── */
197
- .field { display: flex; flex-direction: column; gap: var(--space-2); }
198
- .field label { font-size: var(--text-sm); font-weight: 500; color: var(--fg); }
199
- .field input {
200
- padding: 8px 12px;
201
- border-radius: var(--radius-sm); /* 6px — DESIGN.md inputs */
202
- border: 1px solid #cfcfdb; /* DESIGN.md "Input Border" — light context */
203
- background: var(--fg); /* white input on dark surface */
204
- color: var(--bg);
205
- font-family: var(--font-body);
206
- font-size: var(--text-sm);
207
- outline: none;
208
- transition: border-color var(--motion-fast) var(--ease-standard),
209
- box-shadow var(--motion-fast) var(--ease-standard);
210
- }
211
- .field input:focus-visible {
212
- border-color: #cfcfdb;
213
- box-shadow: rgba(0, 0, 0, 0.15) 0 2px 10px inset; /* DESIGN.md §4 input focus */
214
- }
215
- .field input::placeholder { color: var(--muted); }
216
- .field-help { font-size: var(--text-xs); color: var(--muted); }
217
-
218
- /* ─── Cards — dark surfaces with elevated shadow ──────────── */
219
- .card {
220
- background: var(--surface);
221
- border: 1px solid var(--border);
222
- border-radius: var(--radius-lg);
223
- padding: var(--space-6);
224
- display: flex;
225
- flex-direction: column;
226
- gap: var(--space-3);
227
- box-shadow: var(--elev-raised);
228
- }
229
- .card h3 { color: var(--fg); }
230
- .card a { color: var(--accent); font-weight: 500; }
231
- .card a:hover { color: var(--fg); }
232
-
233
- /* ─── Badges ────────────────────────────────────────────── */
234
- .badge {
235
- display: inline-flex; align-items: center; gap: var(--space-2);
236
- padding: 3px var(--space-2);
237
- border-radius: var(--radius-pill);
238
- font-size: var(--text-xs); font-weight: 600; line-height: 1.6;
239
- text-transform: uppercase; letter-spacing: 0.2px;
240
- }
241
- .badge-success {
242
- color: var(--success);
243
- background: color-mix(in oklab, var(--success), transparent 82%);
244
- }
245
- .badge-muted {
246
- color: var(--muted);
247
- background: color-mix(in oklab, var(--muted), transparent 80%);
248
- }
249
- .badge-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
250
-
251
- /* ─── Links ─────────────────────────────────────────────── */
252
- a { color: var(--accent); text-decoration: none; }
253
- a:hover { text-decoration: underline; text-underline-offset: 3px; }
254
- kbd {
255
- font-family: var(--font-mono); font-size: var(--text-xs);
256
- padding: 2px 6px; border-radius: var(--radius-sm);
257
- border: 1px solid var(--border); background: var(--surface); color: var(--fg-2);
258
- }
259
- code {
260
- font-family: var(--font-mono);
261
- color: #dcdcaa; /* DESIGN.md "Code Yellow" — syntax tokens */
262
- font-size: 0.95em;
263
- }
264
-
265
- /* ─── Layout helpers ────────────────────────────────────── */
266
- .hero {
267
- /* Ambient purple glow — DESIGN.md §6 Level 4 signature treatment.
268
- Inlined per-component because it's hero-specific, not generic. */
269
- box-shadow: rgba(22, 15, 36, 0.9) 0 4px 4px 9px;
270
- }
271
- .hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-12); align-items: end; }
272
- @media (max-width: 1023px) { .hero-grid { grid-template-columns: 1fr; gap: var(--space-8); } }
273
- .hero-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-6); flex-wrap: wrap; }
274
- .hero-meta {
275
- display: flex; flex-direction: column; gap: var(--space-3);
276
- padding: var(--space-4);
277
- border: 1px solid var(--border);
278
- border-radius: var(--radius-md);
279
- background: var(--surface);
280
- }
281
- .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
282
- @media (max-width: 1023px) { .features-grid { grid-template-columns: 1fr 1fr; } }
283
- @media (max-width: 639px) { .features-grid { grid-template-columns: 1fr; } }
284
- .form-row { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-12); align-items: start; }
285
- @media (max-width: 1023px) { .form-row { grid-template-columns: 1fr; } }
286
- .form { display: flex; flex-direction: column; gap: var(--space-4); max-width: 420px; }
287
- .form-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-2); }
288
- .icon { width: 16px; height: 16px; flex-shrink: 0; }
289
- .row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
290
- </style>
291
- </head>
292
- <body>
293
- <main class="container">
294
- <section data-od-id="hero" class="hero">
295
- <div class="hero-grid">
296
- <div class="stack-4">
297
- <p class="eyebrow-pop">Reference fixture · sentry</p>
298
- <h1>Code breaks. Fix it faster.</h1>
299
- <p class="lead" style="max-width: 52ch">
300
- Application monitoring built for the late-night debugging session.
301
- Errors, traces, and replays threaded together so you ship without surprises.
302
- </p>
303
- <div class="hero-actions">
304
- <a href="./tokens.css" class="btn btn-primary">
305
- View tokens
306
- <svg class="icon" viewBox="0 0 24 24" fill="none"
307
- stroke="currentColor" stroke-width="1.75"
308
- stroke-linecap="round" stroke-linejoin="round"
309
- aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
310
- </a>
311
- <a href="./DESIGN.md" class="btn btn-secondary">Read the spec</a>
312
- </div>
313
- </div>
314
- <aside class="hero-meta" aria-label="System status">
315
- <div class="row-between">
316
- <span class="body-sm">API status</span>
317
- <span class="badge badge-success">
318
- <span class="badge-dot" aria-hidden="true"></span>
319
- Operational
320
- </span>
321
- </div>
322
- <p class="body-sm body-muted">Last reviewed <time datetime="2026-05-18">2026-05-18</time> · v1.0</p>
323
- <p class="body-sm body-muted">Press <kbd>⌘</kbd> <kbd>K</kbd> to jump to <code>traces</code>.</p>
324
- </aside>
325
- </div>
326
- </section>
327
-
328
- <section data-od-id="features">
329
- <div class="stack-3">
330
- <p class="eyebrow">What this fixture exercises</p>
331
- <h2 style="max-width: 24ch">Dark purple void, warm-tinted shadows, surgical accents.</h2>
332
- </div>
333
- <div class="features-grid" style="margin-block-start: var(--space-8)">
334
- <article class="card">
335
- <h3>Warm purple-black</h3>
336
- <p class="body-muted body-sm">
337
- --bg (#1f1633) → --surface (#150f23). Never pure black.
338
- The warmth is what separates Sentry from a generic terminal-dark UI.
339
- </p>
340
- <a href="./tokens.css" class="body-sm">Inspect tokens →</a>
341
- </article>
342
- <article class="card">
343
- <h3>Uppercase as system</h3>
344
- <p class="body-muted body-sm">
345
- Buttons, eyebrows, badges — all letter-spaced 0.2px uppercase. Rubik
346
- 500–700. A systematic "technical label" pattern throughout.
347
- </p>
348
- <a href="./DESIGN.md" class="body-sm">Read the rule →</a>
349
- </article>
350
- <article class="card">
351
- <h3>Tactile inset buttons</h3>
352
- <p class="body-muted body-sm">
353
- Muted purple (#79628c) with a subtle inset shadow — buttons feel
354
- pressed INTO the surface. Hover lifts with a warm purple cast.
355
- </p>
356
- <a href="./tokens.css" class="body-sm">Inspect shadows →</a>
357
- </article>
358
- </div>
359
- </section>
360
-
361
- <section data-od-id="form">
362
- <div class="form-row">
363
- <div class="stack-4">
364
- <p class="eyebrow">Form components</p>
365
- <h2>Inputs lit on the dark purple void.</h2>
366
- <p class="body-muted" style="max-width: 48ch">
367
- White input fields cut against the warm purple canvas — the same
368
- light-context pattern Sentry uses for sign-in and onboarding flows.
369
- Focus rings stay Sentry Purple (<code>#6a5fc1</code>).
370
- </p>
371
- </div>
372
- <form class="form" onsubmit="event.preventDefault();">
373
- <div class="field">
374
- <label for="email">Work email</label>
375
- <input id="email" type="email" placeholder="you@sentry.io" autocomplete="email" required />
376
- <p class="field-help">We'll wire up your first project. No spam, ever.</p>
377
- </div>
378
- <div class="form-actions">
379
- <button type="submit" class="btn btn-primary">Get started</button>
380
- <button type="button" class="btn btn-secondary">Talk to sales</button>
381
- </div>
382
- </form>
383
- </div>
384
- </section>
385
- </main>
386
- </body>
387
- </html>
@@ -1,219 +0,0 @@
1
- /* ─────────────────────────────────────────────────────────────────────────
2
- * design-systems/sentry/tokens.css
3
- *
4
- * Structured token bindings for "Design System Inspired by Sentry".
5
- * Dark-mode-first developer tool aesthetic: deep purple-black canvas
6
- * (#1f1633, #150f23) lit by warm purples (#6a5fc1, #79628c, #422082)
7
- * and punctuated by a signature lime-green pop (#c2ef4e).
8
- *
9
- * This file pre-compiles the values described in `DESIGN.md` into the
10
- * shared schema. Agents generating an artifact for Sentry should paste
11
- * the `:root` block verbatim into the first `<style>` of the artifact,
12
- * then reference everything via `var(--*)`.
13
- *
14
- * Brand-specific schema decisions (each one bends a schema convention
15
- * to match Sentry's "monitoring for developers" voice):
16
- *
17
- * 1. `--bg` is `#1f1633` — DESIGN.md §2 names this "the defining
18
- * color of the brand". Never `#000000` — the warm purple-black
19
- * is what separates Sentry from a generic terminal-dark UI
20
- * ("Warm purple tones replace the typical cool grays of
21
- * developer tools" — DESIGN.md §1). `--surface` recesses to
22
- * `#150f23` (the documented "deeper sections, footer" tier).
23
- * Cards visually lift via inset/ambient shadow and frosted
24
- * glass overlays, not via a lighter solid surface — Sentry's
25
- * depth language is light-on-dark, not paper-on-paper.
26
- *
27
- * 2. `--accent` is Sentry Purple `#6a5fc1` (the documented link /
28
- * hover / focus color from DESIGN.md §2 + §9), not the famous
29
- * lime green `#c2ef4e`. The schema's `--accent` slot is the
30
- * cross-brand interactive anchor — links, focus rings, hover
31
- * states — and DESIGN.md explicitly maps that role to Sentry
32
- * Purple. Lime green is the brand's "pop" highlight ("once per
33
- * section maximum" per DESIGN.md §9), which appears as a
34
- * single deliberate hex in components.html where the design
35
- * intent justifies it; it does not earn a shared schema slot.
36
- *
37
- * 3. `--focus-ring` is a sharp 2px solid ring at `var(--accent)`,
38
- * not the schema's 3px alpha glow. DESIGN.md §4 documents the
39
- * focus outline as `rgb(106, 95, 193) solid 0.125rem` — a
40
- * crisp engineered indicator. The atmospheric glow form would
41
- * blur into the warm purple bg and lose legibility against
42
- * `#1f1633`.
43
- *
44
- * 4. `--font-display` leads with "Dammit Sans" — Sentry's
45
- * irreverent display face used "ONLY for hero/display headings"
46
- * (DESIGN.md §7). Rubik sits second in the stack as the
47
- * workhorse fallback so any heading that loses Dammit Sans
48
- * degrades to Rubik (the brand's primary UI face), not to a
49
- * generic sans. `--font-body` is Rubik-first with the
50
- * DESIGN.md §3 fallback chain. `--font-mono` is Monaco-first
51
- * because Sentry's "developer-tool trinity" (DESIGN.md §1)
52
- * explicitly chose Monaco over the schema's SF Mono default.
53
- *
54
- * 5. Type scale tops at 88px (`--text-4xl`) with `--text-3xl` at
55
- * 60px. DESIGN.md §3 documents Display Hero at 88px Dammit
56
- * Sans weight 700 and Display Secondary at 60px — the brand's
57
- * voice ("Code breaks. Fix it faster.") reads BIG by px count,
58
- * not just by tracking compression. `--tracking-display` is
59
- * `normal` because DESIGN.md §3 explicitly specifies
60
- * "letter-spacing: normal" at hero scale; the typographic
61
- * drama lives in size and weight, not in negative tracking.
62
- *
63
- * 6. `--leading-tight` is `1.2` (the upper end of DESIGN.md §3's
64
- * documented "1.10–1.25" heading range). `--leading-body` is
65
- * `1.5` per the body row of the same hierarchy table.
66
- *
67
- * 7. Radius scale spans 6 → 8 → 12 → 9999 to honor DESIGN.md §5's
68
- * five-step ladder (6 inputs → 8 buttons/cards → 10–12
69
- * containers → 13 primary muted → 18 pill containers).
70
- * `--radius-sm` recesses to 6px (form input floor) instead of
71
- * the schema's 8px default; per-component 13px and 18px values
72
- * remain inline where DESIGN.md is explicit about a specific
73
- * shape.
74
- *
75
- * 8. `--elev-raised` reproduces DESIGN.md §6 Level 2
76
- * ("rgba(0, 0, 0, 0.1) 0px 10px 15px -3px" — the standard
77
- * card elevation). The signature ambient purple glow
78
- * (`rgba(22, 15, 36, 0.9) 0px 4px 4px 9px`) is hero-specific
79
- * and inlined per-component; encoding it into the shared
80
- * raised tier would over-shadow every card.
81
- *
82
- * 9. Section rhythm is 80/64/48 (desktop/tablet/phone),
83
- * matching DESIGN.md §5's "dark breathing room" floor of
84
- * 64–80px+ vertical padding between sections. Container caps
85
- * at 1152px — Sentry's documented XL breakpoint max-width.
86
- *
87
- * Source contracts:
88
- * - Standard token names: design-systems/_schema/tokens.schema.ts
89
- * - A2 fallback parity: design-systems/_schema/defaults.css
90
- * - Lint enforcement: apps/daemon/src/lint-artifact.ts
91
- * ─────────────────────────────────────────────────────────────────── */
92
-
93
- :root {
94
- /* ─── Surface ─────────────────────────────────────────────────────
95
- * Warm purple-black void: every background sits between #1f1633
96
- * (canvas) and #150f23 (deeper). Never pure black. */
97
- --bg: #1f1633; /* Deep Purple — the defining brand canvas */
98
- --surface: #150f23; /* Darker Purple — deeper sections, recessed wells */
99
- --surface-warm: var(--surface); /* alias — Sentry has no warm tier (palette is purple-cool) */
100
-
101
- /* ─── Foreground ──────────────────────────────────────────────────
102
- * Pure white primary with progressively dimmed purple-grays for
103
- * tertiary text. The mid-tier (#9d96b3) is purple-mauve so meta
104
- * text stays on-brand even when small. */
105
- --fg: #ffffff; /* Pure White — primary text on dark bg */
106
- --fg-2: #e5e7eb; /* Light Gray — secondary text, descriptions */
107
- --muted: #9d96b3; /* Purple-mauve — captions, tertiary text (warm-tinted, never neutral gray) */
108
- --meta: var(--muted); /* alias — no separate placeholder/disabled tier */
109
-
110
- /* ─── Border ──────────────────────────────────────────────────────
111
- * Border Purple anchors all structural lines — DESIGN.md §7
112
- * explicitly forbids neutral grays (#666, #999) for borders. */
113
- --border: #362d59; /* Border Purple — dividers, card edges */
114
- --border-soft: var(--border); /* alias — no softer separator tier documented */
115
-
116
- /* ─── Accent ──────────────────────────────────────────────────────
117
- * Sentry Purple — the brand's interactive anchor. Links, focus
118
- * rings, hover states. Lime green (#c2ef4e) is the once-per-screen
119
- * pop highlight and lives inline in components, not in the shared
120
- * accent slot. */
121
- --accent: #6a5fc1; /* Sentry Purple — links, hover, focus */
122
- --accent-on: #ffffff; /* white text on accent backgrounds */
123
- --accent-hover: color-mix(in oklab, var(--accent), black 8%);
124
- --accent-active: color-mix(in oklab, var(--accent), black 14%);
125
-
126
- /* ─── Semantic ────────────────────────────────────────────────────
127
- * Sentry's monitoring surface uses standard semantic colors —
128
- * status pills must remain unambiguous against the warm purple
129
- * palette and not collapse into the brand spectrum. */
130
- --success: #16a34a;
131
- --warn: #eab308;
132
- --danger: #dc2626;
133
-
134
- /* ─── Typography ──────────────────────────────────────────────────
135
- * The "developer-tool trinity" — Dammit Sans for irreverent
136
- * display, Rubik for everything functional, Monaco for code.
137
- * Dammit Sans is hero-only; Rubik covers 90% of the type system. */
138
- --font-display: "Dammit Sans", "Rubik", -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
139
- --font-body: "Rubik", -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
140
- --font-mono: Monaco, Menlo, "Ubuntu Mono", ui-monospace, monospace;
141
-
142
- /* Type scale — DESIGN.md §3 hierarchy. 88px display hero, 60px
143
- * display secondary, 30px section heading. Sentry reads BIG by
144
- * px count, not by tracking compression. */
145
- --text-xs: 12px; /* Small Caption */
146
- --text-sm: 14px; /* Button / Caption */
147
- --text-base: 16px; /* Body / Code */
148
- --text-lg: 20px; /* Feature Title */
149
- --text-xl: 24px; /* Card Title */
150
- --text-2xl: 30px; /* Section Heading */
151
- --text-3xl: 60px; /* Display Secondary */
152
- --text-4xl: 88px; /* Display Hero — billboard scale */
153
-
154
- /* Body 1.50, headings 1.20 (upper end of DESIGN.md's 1.10–1.25).
155
- * Display letter-spacing is `normal` — DESIGN.md §3 explicitly
156
- * specifies normal tracking at hero scale. */
157
- --leading-body: 1.5;
158
- --leading-tight: 1.2;
159
- --tracking-display: normal;
160
-
161
- /* ─── Spacing ─────────────────────────────────────────────────────
162
- * 8px base unit per DESIGN.md §5. Mid-tier values (5/12/40/etc.)
163
- * appear inline per-component where DESIGN.md is specific. */
164
- --space-1: 4px;
165
- --space-2: 8px;
166
- --space-3: 12px;
167
- --space-4: 16px;
168
- --space-5: 20px;
169
- --space-6: 24px;
170
- --space-8: 32px;
171
- --space-12: 48px;
172
-
173
- /* Section rhythm — DESIGN.md §5 "dark breathing room" of 64–80px+
174
- * between sections. The dark canvas IS the visual rest. */
175
- --section-y-desktop: 80px;
176
- --section-y-tablet: 64px;
177
- --section-y-phone: 48px;
178
-
179
- /* ─── Radius ──────────────────────────────────────────────────────
180
- * DESIGN.md §5 radius ladder: 6 (inputs) → 8 (buttons/cards) →
181
- * 12 (containers/glass) → 9999 (pills). The 13px primary-button
182
- * radius and 18px image-container radius stay inline per-component
183
- * since they're shape-specific, not structural. */
184
- --radius-sm: 6px; /* Minimal — form inputs */
185
- --radius-md: 8px; /* Standard — buttons, cards */
186
- --radius-lg: 12px; /* Comfortable — containers, glass panels */
187
- --radius-pill: 9999px; /* Full pill — badges, status chips */
188
-
189
- /* ─── Elevation ───────────────────────────────────────────────────
190
- * Level 2 card stack per DESIGN.md §6. The signature ambient
191
- * purple glow (Level 4) and inset button shadow (Level -1) are
192
- * inlined per-component — they're brand-signature treatments,
193
- * not generic card chrome. */
194
- --elev-flat: none;
195
- --elev-ring: 0 0 0 1px var(--border);
196
- --elev-raised: 0 10px 15px -3px rgba(0, 0, 0, 0.1); /* card float */
197
-
198
- /* ─── Focus ring ──────────────────────────────────────────────────
199
- * Sharp 2px solid ring at Sentry Purple — DESIGN.md §4 documents
200
- * `rgb(106, 95, 193) solid 0.125rem` as the focus outline. An
201
- * atmospheric alpha glow would dilute against the warm purple bg. */
202
- --focus-ring: 0 0 0 2px var(--accent);
203
-
204
- /* ─── Motion ──────────────────────────────────────────────────────
205
- * Standard durations — Sentry's drama lives in shadow and color,
206
- * not in choreographed motion. */
207
- --motion-fast: 150ms;
208
- --motion-base: 200ms;
209
- --ease-standard: cubic-bezier(0.2, 0, 0, 1);
210
-
211
- /* ─── Layout ──────────────────────────────────────────────────────
212
- * 1152px max content width — Sentry's documented XL breakpoint.
213
- * Gutters tighten on smaller breakpoints; DESIGN.md describes
214
- * "Responsive padding: 2rem (mobile) → 4rem (tablet+)". */
215
- --container-max: 1152px;
216
- --container-gutter-desktop: 64px;
217
- --container-gutter-tablet: 32px;
218
- --container-gutter-phone: 24px;
219
- }
@@ -1,71 +0,0 @@
1
- # Design System Inspired by Shadcn
2
-
3
- > Category: Modern & Minimal
4
- > Shadcn/ui-inspired design with minimal, clean components, monochrome palette, and utility-first patterns.
5
-
6
- ## 1. Visual Theme & Atmosphere
7
-
8
- Shadcn/ui-inspired design with minimal, clean components, monochrome palette, and utility-first patterns.
9
-
10
- - **Visual style:** minimal, clean
11
- - **Color stance:** primary, secondary
12
- - **Design intent:** Keep outputs recognizable to this style family while preserving usability and readability.
13
-
14
- ## 2. Color
15
-
16
- - **Primary:** `#000000` — Token from style foundations.
17
- - **Secondary:** `#111111` — Token from style foundations.
18
- - **Success:** `#16A34A` — Token from style foundations.
19
- - **Warning:** `#D97706` — Token from style foundations.
20
- - **Danger:** `#DC2626` — Token from style foundations.
21
- - **Surface:** `#FFFFFF` — Token from style foundations.
22
- - **Text:** `#111827` — Token from style foundations.
23
- - **Neutral:** `#FFFFFF` — Derived from the surface token for official format compatibility.
24
-
25
- - Favor Primary (#000000) for CTA emphasis.
26
- - Use Surface (#FFFFFF) for large backgrounds and cards.
27
- - Keep body copy on Text (#111827) for legibility.
28
-
29
- ## 3. Typography
30
-
31
- - **Scale:** 12/14/16/20/24/32
32
- - **Families:** primary=Geist, display=Geist, mono=Fira Code
33
- - **Weights:** 100, 200, 300, 400, 500, 600, 700, 800, 900
34
- - Headings should carry the style personality; body text should optimize scanability and contrast.
35
-
36
- ## 4. Spacing & Grid
37
-
38
- - **Spacing scale:** 4/8/12/16/24/32
39
- - Keep vertical rhythm consistent across sections and components.
40
- - Align columns and modules to a predictable grid; avoid ad-hoc offsets.
41
-
42
- ## 5. Layout & Composition
43
-
44
- - Prefer clear content blocks with consistent internal padding.
45
- - Keep hierarchy obvious: headline → support text → primary action.
46
- - Use whitespace to separate concerns before adding borders or shadows.
47
-
48
- ## 6. Components
49
-
50
- - Buttons: primary action uses `#000000`; secondary actions stay neutral.
51
- - Inputs: strong focus-visible states, clear labels, and predictable error messaging.
52
- - Cards/sections: use consistent radii, spacing, and elevation strategy across the page.
53
-
54
- ## 7. Motion & Interaction
55
-
56
- - Use subtle transitions that emphasize Primary (#000000) as the interaction signal.
57
- - Default to short, purposeful transitions (150–250ms) with stable easing.
58
- - Ensure hover, focus-visible, active, disabled, and loading states are explicit.
59
-
60
- ## 8. Voice & Brand
61
-
62
- - Tone should reflect the visual style: concise, confident, and product-specific.
63
- - Keep microcopy action-oriented and avoid generic filler language.
64
- - Preserve the style identity in headlines while keeping UI labels literal and clear.
65
-
66
- ## 9. Anti-patterns
67
-
68
- - Do not introduce off-palette colors when an existing token can solve the problem.
69
- - Do not flatten hierarchy by using the same type size/weight for all text.
70
- - Do not add decorative effects that reduce readability or accessibility.
71
- - Do not mix unrelated visual metaphors in the same interface.