@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,284 +0,0 @@
1
- # Design System Inspired by OpenCode
2
-
3
- > Category: AI & LLM
4
- > AI coding platform. Developer-centric dark theme.
5
-
6
- ## 1. Visual Theme & Atmosphere
7
-
8
- OpenCode's website embodies a terminal-native, monospace-first aesthetic that reflects its identity as an open source AI coding agent. The entire visual system is built on a stark dark-on-light contrast using a near-black background (`#201d1d`) with warm off-white text (`#fdfcfc`). This isn't a generic dark theme -- it's a warm, slightly reddish-brown dark that feels like a sophisticated terminal emulator rather than a cold IDE. The warm undertone in both the darks and lights (notice the subtle red channel in `#201d1d` -- rgb(32, 29, 29)) creates a cohesive, lived-in quality.
9
-
10
- Berkeley Mono is the sole typeface, establishing an unapologetic monospace identity. Every element -- headings, body text, buttons, navigation -- shares this single font family, creating a unified "everything is code" philosophy. The heading at 38px bold with 1.50 line-height is generous and readable, while body text at 16px with weight 500 provides a slightly heavier-than-normal reading weight that enhances legibility on screen. The monospace grid naturally enforces alignment and rhythm across the layout.
11
-
12
- The color system is deliberately minimal. The primary palette consists of just three functional tones: the warm near-black (`#201d1d`), a medium warm gray (`#9a9898`), and a bright off-white (`#fdfcfc`). Semantic colors borrow from the Apple HIG palette -- blue accent (`#007aff`), red danger (`#ff3b30`), green success (`#30d158`), orange warning (`#ff9f0a`) -- giving the interface familiar, trustworthy signal colors without adding brand complexity. Borders use a subtle warm transparency (`rgba(15, 0, 0, 0.12)`) that ties into the warm undertone of the entire system.
13
-
14
- **Key Characteristics:**
15
- - Berkeley Mono as the sole typeface -- monospace everywhere, no sans-serif or serif voices
16
- - Warm near-black primary (`#201d1d`) with reddish-brown undertone, not pure black
17
- - Off-white text (`#fdfcfc`) with warm tint, not pure white
18
- - Minimal 4px border radius throughout -- sharp, utilitarian corners
19
- - 8px base spacing system scaling up to 96px
20
- - Apple HIG-inspired semantic colors (blue, red, green, orange)
21
- - Transparent warm borders using `rgba(15, 0, 0, 0.12)`
22
- - Email input with generous 20px padding and 6px radius -- the most generous component radius
23
- - Single button variant: dark background, light text, tight vertical padding (4px 20px)
24
- - Underlined links as default link style, reinforcing the text-centric identity
25
-
26
- ## 2. Color Palette & Roles
27
-
28
- ### Primary
29
- - **OpenCode Dark** (`#201d1d`): Primary background, button fills, link text. A warm near-black with subtle reddish-brown warmth -- rgb(32, 29, 29).
30
- - **OpenCode Light** (`#fdfcfc`): Primary text on dark surfaces, button text. A barely-warm off-white that avoids clinical pure white.
31
- - **Mid Gray** (`#9a9898`): Secondary text, muted links. A neutral warm gray that bridges dark and light.
32
-
33
- ### Secondary
34
- - **Dark Surface** (`#302c2c`): Slightly lighter than primary dark, used for elevated surfaces and subtle differentiation.
35
- - **Border Gray** (`#646262`): Stronger borders, outline rings on interactive elements.
36
- - **Light Surface** (`#f1eeee`): Light mode surface, subtle background variation.
37
-
38
- ### Accent
39
- - **Accent Blue** (`#007aff`): Primary accent, links, interactive highlights. Apple system blue.
40
- - **Accent Blue Hover** (`#0056b3`): Darker blue for hover states.
41
- - **Accent Blue Active** (`#004085`): Deepest blue for pressed/active states.
42
-
43
- ### Semantic
44
- - **Danger Red** (`#ff3b30`): Error states, destructive actions. Apple system red.
45
- - **Danger Hover** (`#d70015`): Darker red for hover on danger elements.
46
- - **Danger Active** (`#a50011`): Deepest red for pressed danger states.
47
- - **Success Green** (`#30d158`): Success states, positive feedback. Apple system green.
48
- - **Warning Orange** (`#ff9f0a`): Warning states, caution signals. Apple system orange.
49
- - **Warning Hover** (`#cc7f08`): Darker orange for hover on warning elements.
50
- - **Warning Active** (`#995f06`): Deepest orange for pressed warning states.
51
-
52
- ### Text Scale
53
- - **Text Muted** (`#6e6e73`): Muted labels, disabled text, placeholder content.
54
- - **Text Secondary** (`#424245`): Secondary text on light backgrounds, captions.
55
-
56
- ### Border
57
- - **Border Warm** (`rgba(15, 0, 0, 0.12)`): Primary border color, warm transparent black with red tint.
58
- - **Border Tab** (`#9a9898`): Tab underline border, 2px solid bottom.
59
- - **Border Outline** (`#646262`): 1px solid outline border for containers.
60
-
61
- ## 3. Typography Rules
62
-
63
- ### Font Family
64
- - **Universal**: `Berkeley Mono`, with fallbacks: `IBM Plex Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace`
65
-
66
- ### Hierarchy
67
-
68
- | Role | Size | Weight | Line Height | Notes |
69
- |------|------|--------|-------------|-------|
70
- | Heading 1 | 38px (2.38rem) | 700 | 1.50 | Hero headlines, page titles |
71
- | Heading 2 | 16px (1.00rem) | 700 | 1.50 | Section titles, bold emphasis |
72
- | Body | 16px (1.00rem) | 400 | 1.50 | Standard body text, paragraphs |
73
- | Body Medium | 16px (1.00rem) | 500 | 1.50 | Links, button text, nav items |
74
- | Body Tight | 16px (1.00rem) | 500 | 1.00 (tight) | Compact labels, tab items |
75
- | Caption | 14px (0.88rem) | 400 | 2.00 (relaxed) | Footnotes, metadata, small labels |
76
-
77
- ### Principles
78
- - **One font, one voice**: Berkeley Mono is used exclusively. There is no typographic variation between display, body, and code -- everything speaks in the same monospace register. Hierarchy is achieved through size and weight alone.
79
- - **Weight as hierarchy**: 700 for headings, 500 for interactive/medium emphasis, 400 for body text. Three weight levels create the entire hierarchy.
80
- - **Generous line-height**: 1.50 as the standard line-height gives text room to breathe within the monospace grid. The relaxed 2.00 line-height on captions creates clear visual separation.
81
- - **Tight for interaction**: Interactive elements (tabs, compact labels) use 1.00 line-height for dense, clickable targets.
82
-
83
- ## 4. Component Stylings
84
-
85
- ### Buttons
86
-
87
- **Primary (Dark Fill)**
88
- - Background: `#201d1d` (OpenCode Dark)
89
- - Text: `#fdfcfc` (OpenCode Light)
90
- - Padding: 4px 20px
91
- - Radius: 4px
92
- - Font: 16px Berkeley Mono, weight 500, line-height 2.00 (relaxed)
93
- - Outline: `rgb(253, 252, 252) none 0px`
94
- - Use: Primary CTAs, main actions
95
-
96
- ### Inputs
97
-
98
- **Email Input**
99
- - Background: `#f8f7f7` (light neutral)
100
- - Text: `#201d1d`
101
- - Border: `1px solid rgba(15, 0, 0, 0.12)`
102
- - Padding: 20px
103
- - Radius: 6px
104
- - Font: Berkeley Mono, standard size
105
- - Use: Form fields, email capture
106
-
107
- ### Links
108
-
109
- **Default Link**
110
- - Color: `#201d1d`
111
- - Decoration: underline 1px
112
- - Font-weight: 500
113
- - Use: Primary text links in body content
114
-
115
- **Light Link**
116
- - Color: `#fdfcfc`
117
- - Decoration: none
118
- - Use: Links on dark backgrounds, navigation
119
-
120
- **Muted Link**
121
- - Color: `#9a9898`
122
- - Decoration: none
123
- - Use: Footer links, secondary navigation
124
-
125
- ### Tabs
126
-
127
- **Tab Navigation**
128
- - Border-bottom: `2px solid #9a9898` (active tab indicator)
129
- - Font: 16px, weight 500, line-height 1.00
130
- - Use: Section switching, content filtering
131
-
132
- ### Navigation
133
- - Clean horizontal layout with Berkeley Mono throughout
134
- - Brand logotype left-aligned in monospace
135
- - Links at 16px weight 500 with underline decoration
136
- - Dark background matching page background
137
- - No backdrop blur or transparency -- solid surfaces only
138
-
139
- ### Image Treatment
140
- - Terminal/code screenshots as hero imagery
141
- - Dark terminal aesthetic with monospace type
142
- - Minimal borders, content speaks for itself
143
-
144
- ### Distinctive Components
145
-
146
- **Terminal Hero**
147
- - Full-width dark terminal window as hero element
148
- - ASCII art / stylized logo within terminal frame
149
- - Monospace command examples with syntax highlighting
150
- - Reinforces the CLI-first identity of the product
151
-
152
- **Feature List**
153
- - Bulleted feature items with Berkeley Mono text
154
- - Weight 500 for feature names, 400 for descriptions
155
- - Tight vertical spacing between items
156
- - No cards or borders -- pure text layout
157
-
158
- **Email Capture**
159
- - Light background input (`#f8f7f7`) contrasting dark page
160
- - Generous 20px padding for comfortable typing
161
- - 6px radius -- the roundest element in the system
162
- - Newsletter/waitlist pattern
163
-
164
- ## 5. Layout Principles
165
-
166
- ### Spacing System
167
- - Base unit: 8px
168
- - Fine scale: 1px, 2px, 4px (sub-8px for borders and micro-adjustments)
169
- - Standard scale: 8px, 12px, 16px, 20px, 24px
170
- - Extended scale: 32px, 40px, 48px, 64px, 80px, 96px
171
- - The system follows a clean 4/8px grid with consistent doubling
172
-
173
- ### Grid & Container
174
- - Max content width: approximately 800-900px (narrow, reading-optimized)
175
- - Single-column layout as the primary pattern
176
- - Centered content with generous horizontal margins
177
- - Hero section: full-width dark terminal element
178
- - Feature sections: single-column text blocks
179
- - Footer: multi-column link grid
180
-
181
- ### Whitespace Philosophy
182
- - **Monospace rhythm**: The fixed-width nature of Berkeley Mono creates a natural vertical grid. Line-heights of 1.50 and 2.00 maintain consistent rhythm.
183
- - **Narrow and focused**: Content is constrained to a narrow column, creating generous side margins that focus attention on the text.
184
- - **Sections through spacing**: No decorative dividers. Sections are separated by generous vertical spacing (48-96px) rather than borders or background changes.
185
-
186
- ### Border Radius Scale
187
- - Micro (4px): Default for all elements -- buttons, containers, badges
188
- - Input (6px): Form inputs get slightly more roundness
189
- - The entire system uses just two radius values, reinforcing the utilitarian aesthetic
190
-
191
- ## 6. Depth & Elevation
192
-
193
- | Level | Treatment | Use |
194
- |-------|-----------|-----|
195
- | Flat (Level 0) | No shadow, no border | Default state for most elements |
196
- | Border Subtle (Level 1) | `1px solid rgba(15, 0, 0, 0.12)` | Section dividers, input borders, horizontal rules |
197
- | Border Tab (Level 2) | `2px solid #9a9898` bottom only | Active tab indicator |
198
- | Border Outline (Level 3) | `1px solid #646262` | Container outlines, elevated elements |
199
-
200
- **Shadow Philosophy**: OpenCode's depth system is intentionally flat. There are no box-shadows in the extracted tokens -- zero shadow values were detected. Depth is communicated exclusively through border treatments and background color shifts. This flatness is consistent with the terminal aesthetic: terminals don't have shadows, and neither does OpenCode. The three border levels (transparent warm, tab indicator, solid outline) create sufficient visual hierarchy without any elevation illusion.
201
-
202
- ### Decorative Depth
203
- - Background color shifts between `#201d1d` and `#302c2c` create subtle surface differentiation
204
- - Transparent borders at 12% opacity provide barely-visible structure
205
- - The warm reddish tint in border colors (`rgba(15, 0, 0, 0.12)`) ties borders to the overall warm dark palette
206
- - No gradients, no blurs, no ambient effects -- pure flat terminal aesthetic
207
-
208
- ## 7. Interaction & Motion
209
-
210
- ### Hover States
211
- - Links: color shift from default to accent blue (`#007aff`) or underline style change
212
- - Buttons: subtle background lightening or border emphasis
213
- - Accent blue provides a three-stage hover sequence: `#007aff` → `#0056b3` → `#004085` (default → hover → active)
214
- - Danger red: `#ff3b30` → `#d70015` → `#a50011`
215
- - Warning orange: `#ff9f0a` → `#cc7f08` → `#995f06`
216
-
217
- ### Focus States
218
- - Border-based focus: increased border opacity or solid border color
219
- - No shadow-based focus rings -- consistent with the flat, no-shadow aesthetic
220
- - Keyboard focus likely uses outline or border color shift to accent blue
221
-
222
- ### Transitions
223
- - Minimal transitions expected -- terminal-inspired interfaces favor instant state changes
224
- - Color transitions: 100-150ms for subtle state feedback
225
- - No scale, rotate, or complex transform animations
226
-
227
- ## 8. Responsive Behavior
228
-
229
- ### Breakpoints
230
- | Name | Width | Key Changes |
231
- |------|-------|-------------|
232
- | Mobile | <640px | Single column, reduced padding, heading scales down |
233
- | Tablet | 640-1024px | Content width expands, slight padding increase |
234
- | Desktop | >1024px | Full content width (~800-900px centered), maximum whitespace |
235
-
236
- ### Touch Targets
237
- - Buttons with 4px 20px padding provide adequate horizontal touch area
238
- - Input fields with 20px padding ensure comfortable mobile typing
239
- - Tab items at 16px with tight line-height may need mobile adaptation
240
-
241
- ### Collapsing Strategy
242
- - Hero heading: 38px → 28px → 24px on smaller screens
243
- - Navigation: horizontal links → hamburger/drawer on mobile
244
- - Feature lists: maintain single-column, reduce horizontal padding
245
- - Terminal hero: maintain full-width, reduce internal padding
246
- - Footer columns: multi-column → stacked single column
247
- - Section spacing: 96px → 64px → 48px on mobile
248
-
249
- ### Image Behavior
250
- - Terminal screenshots maintain aspect ratio and border treatment
251
- - Full-width elements scale proportionally
252
- - Monospace type maintains readability at all sizes due to fixed-width nature
253
-
254
- ## 9. Agent Prompt Guide
255
-
256
- ### Quick Color Reference
257
- - Page background: `#201d1d` (warm near-black)
258
- - Primary text: `#fdfcfc` (warm off-white)
259
- - Secondary text: `#9a9898` (warm gray)
260
- - Muted text: `#6e6e73`
261
- - Accent: `#007aff` (blue)
262
- - Danger: `#ff3b30` (red)
263
- - Success: `#30d158` (green)
264
- - Warning: `#ff9f0a` (orange)
265
- - Button bg: `#201d1d`, button text: `#fdfcfc`
266
- - Border: `rgba(15, 0, 0, 0.12)` (warm transparent)
267
- - Input bg: `#f8f7f7`, input border: `rgba(15, 0, 0, 0.12)`
268
-
269
- ### Example Component Prompts
270
- - "Create a hero section on `#201d1d` warm dark background. Headline at 38px Berkeley Mono weight 700, line-height 1.50, color `#fdfcfc`. Subtitle at 16px weight 400, color `#9a9898`. Primary CTA button (`#201d1d` bg with `1px solid #646262` border, 4px radius, 4px 20px padding, `#fdfcfc` text at weight 500)."
271
- - "Design a feature list: single-column on `#201d1d` background. Feature name at 16px Berkeley Mono weight 700, color `#fdfcfc`. Description at 16px weight 400, color `#9a9898`. No cards, no borders -- pure text with 16px vertical gap between items."
272
- - "Build an email capture form: `#f8f7f7` background input, `1px solid rgba(15, 0, 0, 0.12)` border, 6px radius, 20px padding. Adjacent dark button (`#201d1d` bg, `#fdfcfc` text, 4px radius, 4px 20px padding). Berkeley Mono throughout."
273
- - "Create navigation: sticky `#201d1d` background. 16px Berkeley Mono weight 500 for links, `#fdfcfc` text. Brand name left-aligned in monospace. Links with underline decoration. No blur, no transparency -- solid dark surface."
274
- - "Design a footer: `#201d1d` background, multi-column link grid. Links at 16px Berkeley Mono weight 400, color `#9a9898`. Section headers at weight 700. Border-top `1px solid rgba(15, 0, 0, 0.12)` separator."
275
-
276
- ### Iteration Guide
277
- 1. Berkeley Mono is the only font -- never introduce a second typeface. Size and weight create all hierarchy.
278
- 2. Keep surfaces flat: no shadows, no gradients, no blur effects. Use borders and background shifts only.
279
- 3. The warm undertone matters: use `#201d1d` not `#000000`, use `#fdfcfc` not `#ffffff`. The reddish warmth is subtle but essential.
280
- 4. Border radius is 4px everywhere except inputs (6px). Never use rounded pills or large radii.
281
- 5. Semantic colors follow Apple HIG: `#007aff` blue, `#ff3b30` red, `#30d158` green, `#ff9f0a` orange. Each has hover and active darkened variants.
282
- 6. Three-stage interaction: default → hover (darkened) → active (deeply darkened) for all semantic colors.
283
- 7. Borders use `rgba(15, 0, 0, 0.12)` -- a warm transparent dark, not neutral gray. This ties borders to the warm palette.
284
- 8. Spacing follows an 8px grid: 8, 16, 24, 32, 40, 48, 64, 80, 96px. Use 4px for fine adjustments only.
@@ -1,389 +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>OpenCode AI — reference components</title>
7
- <meta
8
- name="description"
9
- content="Reference fixture for design-systems/opencode-ai. Terminal-native dark:
10
- warm near-black canvas, Berkeley Mono sole typeface, flat depth (no shadows),
11
- Apple HIG semantic colors, 880px narrow reading column."
12
- />
13
-
14
- <style>
15
- :root {
16
- --bg: #201d1d;
17
- --surface: #302c2c;
18
- --surface-warm: var(--surface);
19
-
20
- --fg: #fdfcfc;
21
- --fg-2: #c8c6c4;
22
- --muted: #9a9898;
23
- --meta: #6e6e73;
24
-
25
- --border: #464343;
26
- --border-soft: #302c2c;
27
-
28
- --accent: #007aff;
29
- --accent-on: #ffffff;
30
- --accent-hover: #0056b3;
31
- --accent-active: #004085;
32
-
33
- --success: #30d158;
34
- --warn: #ff9f0a;
35
- --danger: #ff3b30;
36
-
37
- /* Berkeley Mono is the ONLY font — no typographic variation */
38
- --font-display: "Berkeley Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
39
- --font-body: "Berkeley Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
40
- --font-mono: "Berkeley Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
41
-
42
- --text-xs: 12px;
43
- --text-sm: 14px;
44
- --text-base: 16px;
45
- --text-lg: 18px;
46
- --text-xl: 22px;
47
- --text-2xl: 28px;
48
- --text-3xl: 38px;
49
- --text-4xl: 48px;
50
-
51
- --leading-body: 1.5;
52
- --leading-tight: 1.0;
53
- --tracking-display: 0em;
54
-
55
- --space-1: 4px;
56
- --space-2: 8px;
57
- --space-3: 12px;
58
- --space-4: 16px;
59
- --space-5: 20px;
60
- --space-6: 24px;
61
- --space-8: 32px;
62
- --space-12: 48px;
63
-
64
- --section-y-desktop: 80px;
65
- --section-y-tablet: 64px;
66
- --section-y-phone: 48px;
67
-
68
- --radius-sm: 4px;
69
- --radius-md: 6px;
70
- --radius-lg: 8px;
71
- --radius-pill: 9999px;
72
-
73
- --elev-flat: none;
74
- --elev-ring: 0 0 0 1px var(--border);
75
- --elev-raised: 0 0 0 2px var(--border);
76
-
77
- --focus-ring: 0 0 0 2px var(--accent);
78
-
79
- --motion-fast: 100ms;
80
- --motion-base: 150ms;
81
- --ease-standard: cubic-bezier(0.2, 0, 0, 1);
82
-
83
- --container-max: 880px; /* Narrow reading column — "everything is code" */
84
- --container-gutter-desktop: 24px;
85
- --container-gutter-tablet: 20px;
86
- --container-gutter-phone: 16px;
87
- }
88
-
89
- /* ─── Reset ─────────────────────────────────────────────── */
90
- *, *::before, *::after { box-sizing: border-box; }
91
- html, body { margin: 0; padding: 0; }
92
- body {
93
- background: var(--bg);
94
- color: var(--fg);
95
- font-family: var(--font-body);
96
- font-size: var(--text-base);
97
- line-height: var(--leading-body);
98
- -webkit-font-smoothing: antialiased;
99
- }
100
-
101
- /* ─── Layout — narrow reading column ─────────────────────── */
102
- .container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
103
- section { padding-block: var(--section-y-desktop); }
104
- section + section { border-top: 1px solid var(--border); }
105
- @media (max-width: 1023px) {
106
- .container { padding-inline: var(--container-gutter-tablet); }
107
- section { padding-block: var(--section-y-tablet); }
108
- }
109
- @media (max-width: 639px) {
110
- .container { padding-inline: var(--container-gutter-phone); }
111
- section { padding-block: var(--section-y-phone); }
112
- }
113
-
114
- /* ─── Typography — Berkeley Mono only ───────────────────── */
115
- h1, h2, h3 {
116
- font-family: var(--font-display); /* Same typeface as body — no switching */
117
- font-weight: 700; /* Bold headings — size + weight only */
118
- line-height: 1.2;
119
- margin: 0;
120
- letter-spacing: 0; /* Monospace needs no tracking adjust */
121
- }
122
- h1 { font-size: var(--text-3xl); } /* 38px — Heading 1 */
123
- h2 { font-size: var(--text-2xl); } /* 28px */
124
- h3 { font-size: var(--text-xl); } /* 22px */
125
- p { margin: 0; font-weight: 400; }
126
- .lead { font-size: var(--text-lg); color: var(--fg-2); line-height: var(--leading-body); }
127
- .body-muted { color: var(--muted); }
128
- .body-sm { font-size: var(--text-sm); }
129
- /* Section labels — same font, smaller, muted */
130
- .eyebrow {
131
- font-family: var(--font-mono);
132
- font-size: var(--text-xs);
133
- font-weight: 500;
134
- color: var(--muted);
135
- letter-spacing: 0;
136
- }
137
- /* Inline code — same mono font, just tinted */
138
- code {
139
- font-family: var(--font-mono);
140
- font-size: 0.9em;
141
- color: var(--success); /* Apple green for inline code */
142
- background: rgba(48, 209, 88, 0.08);
143
- padding: 1px 5px;
144
- border-radius: var(--radius-sm);
145
- }
146
- .stack-3 > * + * { margin-block-start: var(--space-3); }
147
- .stack-4 > * + * { margin-block-start: var(--space-4); }
148
- .stack-6 > * + * { margin-block-start: var(--space-6); }
149
-
150
- /* ─── Buttons — flat, Apple-blue primary ────────────────── */
151
- .btn {
152
- display: inline-flex;
153
- align-items: center;
154
- gap: var(--space-2);
155
- padding: 8px 16px;
156
- border-radius: var(--radius-sm); /* 4px — utilitarian */
157
- font-family: var(--font-body); /* Berkeley Mono */
158
- font-size: var(--text-sm);
159
- font-weight: 500;
160
- line-height: 1;
161
- cursor: pointer;
162
- border: 1px solid transparent;
163
- transition: background-color var(--motion-fast) var(--ease-standard),
164
- border-color var(--motion-fast) var(--ease-standard);
165
- text-decoration: none;
166
- }
167
- .btn:active { transform: translateY(1px); }
168
- .btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
169
- /* Primary: Apple system blue */
170
- .btn-primary {
171
- background: var(--accent);
172
- color: var(--accent-on);
173
- border-color: var(--accent);
174
- }
175
- .btn-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
176
- .btn-primary:active { background: var(--accent-active); }
177
- /* Secondary: flat outlined on dark surface */
178
- .btn-secondary {
179
- background: transparent;
180
- color: var(--fg-2);
181
- border-color: var(--border);
182
- }
183
- .btn-secondary:hover { background: var(--surface); color: var(--fg); }
184
-
185
- /* ─── Inputs — flat, no shadows ────────────────────────── */
186
- .field { display: flex; flex-direction: column; gap: var(--space-2); }
187
- .field label {
188
- font-family: var(--font-mono);
189
- font-size: var(--text-xs);
190
- font-weight: 500;
191
- color: var(--muted);
192
- }
193
- .field input {
194
- padding: 8px 12px;
195
- border-radius: var(--radius-md); /* 6px — slightly more approachable */
196
- border: 1px solid var(--border);
197
- background: var(--surface);
198
- color: var(--fg);
199
- font-family: var(--font-mono); /* Berkeley Mono in inputs */
200
- font-size: var(--text-sm);
201
- outline: none;
202
- transition: border-color var(--motion-fast) var(--ease-standard),
203
- box-shadow var(--motion-fast) var(--ease-standard);
204
- }
205
- .field input:focus-visible {
206
- border-color: var(--accent);
207
- box-shadow: var(--focus-ring); /* Apple blue ring — no shadow */
208
- }
209
- .field input::placeholder { color: var(--meta); }
210
- .field-help { font-size: var(--text-xs); color: var(--meta); }
211
-
212
- /* ─── Cards — flat via border, not shadow ───────────────── */
213
- .card {
214
- background: var(--surface);
215
- border: 1px solid var(--border); /* Ring creates depth — NO shadow */
216
- border-radius: var(--radius-md);
217
- padding: 16px 20px;
218
- display: flex;
219
- flex-direction: column;
220
- gap: var(--space-3);
221
- }
222
-
223
- /* ─── Badges — Apple HIG semantic palette ───────────────── */
224
- .badge {
225
- display: inline-flex; align-items: center; gap: var(--space-2);
226
- padding: 2px 8px;
227
- border-radius: var(--radius-sm);
228
- font-family: var(--font-mono);
229
- font-size: var(--text-xs); font-weight: 500; line-height: 1.2;
230
- }
231
- .badge-success { color: var(--success); background: rgba(48, 209, 88, 0.12); }
232
- .badge-danger { color: var(--danger); background: rgba(255, 59, 48, 0.12); }
233
- .badge-warn { color: var(--warn); background: rgba(255, 159, 10, 0.12); }
234
- .badge-accent { color: var(--accent); background: rgba(0, 122, 255, 0.12); }
235
- .badge-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
236
-
237
- /* ─── Links, kbd ────────────────────────────────────────── */
238
- a { color: var(--accent); text-decoration: none; }
239
- a:hover { text-decoration: underline; }
240
- kbd {
241
- font-family: var(--font-mono);
242
- font-size: var(--text-xs);
243
- padding: 2px 6px;
244
- border-radius: var(--radius-sm);
245
- border: 1px solid var(--border);
246
- background: var(--surface);
247
- color: var(--muted);
248
- }
249
-
250
- /* ─── Terminal prompt prefix ────────────────────────────── */
251
- .prompt {
252
- font-family: var(--font-mono);
253
- font-size: var(--text-sm);
254
- color: var(--success);
255
- display: flex; align-items: baseline; gap: var(--space-2);
256
- }
257
- .prompt::before {
258
- content: "$";
259
- color: var(--muted);
260
- flex-shrink: 0;
261
- }
262
-
263
- /* ─── Layout helpers ────────────────────────────────────── */
264
- .hero-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-6); flex-wrap: wrap; }
265
- .features-stack > * + * { margin-block-start: var(--space-5); }
266
- .form { display: flex; flex-direction: column; gap: var(--space-4); }
267
- .form-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-2); }
268
- .row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
269
- .icon { width: 16px; height: 16px; flex-shrink: 0; }
270
- </style>
271
- </head>
272
- <body>
273
- <main class="container">
274
- <section data-od-id="hero">
275
- <div class="stack-4">
276
- <p class="eyebrow">reference-fixture · opencode-ai</p>
277
- <h1>The terminal has a design system.</h1>
278
- <p class="lead" style="max-width: 60ch">
279
- Warm near-black canvas (<code>#201d1d</code>). Berkeley Mono is the
280
- only typeface — "everything is code." Flat depth: no shadows, only
281
- border rings and background shifts. Apple HIG colors.
282
- </p>
283
- <div class="hero-actions">
284
- <a href="./tokens.css" class="btn btn-primary">
285
- View tokens
286
- <svg class="icon" viewBox="0 0 24 24" fill="none"
287
- stroke="currentColor" stroke-width="1.75"
288
- stroke-linecap="round" stroke-linejoin="round"
289
- aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
290
- </a>
291
- <a href="./DESIGN.md" class="btn btn-secondary">Read DESIGN.md</a>
292
- </div>
293
- </div>
294
- </section>
295
-
296
- <section data-od-id="status">
297
- <div class="stack-4">
298
- <p class="eyebrow">apple-hig-semantic-colors</p>
299
- <h2>Familiar signals on dark canvas.</h2>
300
- <p class="body-muted" style="max-width: 56ch">
301
- <code>#30d158</code> success · <code>#ff9f0a</code> warn ·
302
- <code>#ff3b30</code> danger · <code>#007aff</code> accent.
303
- Monospace badges. No rounded pills.
304
- </p>
305
- <div style="display: flex; gap: var(--space-3); flex-wrap: wrap; margin-block-start: var(--space-4);">
306
- <span class="badge badge-success"><span class="badge-dot" aria-hidden="true"></span>passing</span>
307
- <span class="badge badge-warn"><span class="badge-dot" aria-hidden="true"></span>stale</span>
308
- <span class="badge badge-danger"><span class="badge-dot" aria-hidden="true"></span>failed</span>
309
- <span class="badge badge-accent"><span class="badge-dot" aria-hidden="true"></span>running</span>
310
- </div>
311
- </div>
312
- </section>
313
-
314
- <section data-od-id="features">
315
- <div class="stack-3">
316
- <p class="eyebrow">what-this-fixture-exercises</p>
317
- <h2>Flat depth. Border rings. No blur.</h2>
318
- </div>
319
- <div class="features-stack" style="margin-block-start: var(--space-8)">
320
- <article class="card">
321
- <div class="row-between">
322
- <h3>Berkeley Mono — every tier</h3>
323
- <span class="badge badge-accent">A1-identity</span>
324
- </div>
325
- <p class="body-muted body-sm">
326
- --font-display, --font-body, and --font-mono all resolve to the same
327
- font stack. Hierarchy is created by size and weight (400 / 500 / 700)
328
- alone. No switching between faces.
329
- </p>
330
- <p class="prompt" aria-label="Inspect tokens">cat tokens.css | grep font</p>
331
- </article>
332
- <article class="card">
333
- <div class="row-between">
334
- <h3>Flat elevation system</h3>
335
- <span class="badge badge-accent">A1-structure</span>
336
- </div>
337
- <p class="body-muted body-sm">
338
- --elev-flat: none · --elev-ring: 0 0 0 1px var(--border) ·
339
- --elev-raised: 0 0 0 2px var(--border). All three use ring outlines.
340
- Zero blur, zero spread. Depth via bg-shift: <code>#201d1d</code> → <code>#302c2c</code>.
341
- </p>
342
- <a href="./tokens.css" class="body-sm">Inspect elevation →</a>
343
- </article>
344
- <article class="card">
345
- <div class="row-between">
346
- <h3>880px narrow column</h3>
347
- <span class="badge badge-accent">A1-structure</span>
348
- </div>
349
- <p class="body-muted body-sm">
350
- --container-max: 880px. Single-column, text-centric layout.
351
- "The whole page is a terminal session" — no multi-column marketing grids.
352
- Generous 80px section spacing.
353
- </p>
354
- <div style="display: flex; gap: var(--space-2); margin-block-start: var(--space-1);">
355
- Press <kbd>⌘</kbd> <kbd>K</kbd> to jump
356
- </div>
357
- </article>
358
- </div>
359
- </section>
360
-
361
- <section data-od-id="form">
362
- <div class="stack-4">
363
- <p class="eyebrow">form-components</p>
364
- <h2>Config-file inputs.</h2>
365
- <p class="body-muted" style="max-width: 56ch">
366
- Labels are small monospace — they look like config keys.
367
- Inputs use 6px radius (the roundest element in the system),
368
- warm borders, and a 2px Apple blue focus ring.
369
- </p>
370
- </div>
371
- <form class="form" style="margin-block-start: var(--space-8);" onsubmit="event.preventDefault();">
372
- <div class="field">
373
- <label for="anthropic-key">ANTHROPIC_API_KEY</label>
374
- <input id="anthropic-key" type="text" placeholder="sk-ant-api03-..." autocomplete="off" />
375
- <p class="field-help">Set in environment or paste here to persist in keychain.</p>
376
- </div>
377
- <div class="field">
378
- <label for="model-id">DEFAULT_MODEL</label>
379
- <input id="model-id" type="text" placeholder="claude-opus-4" />
380
- </div>
381
- <div class="form-actions">
382
- <button type="submit" class="btn btn-primary">Save config</button>
383
- <button type="button" class="btn btn-secondary">Reset</button>
384
- </div>
385
- </form>
386
- </section>
387
- </main>
388
- </body>
389
- </html>