@aexol/spectral 0.9.270 → 0.9.272

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