@hex-core/themes 0.1.1 → 0.2.0

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 (577) hide show
  1. package/dist/chunk-2LXEWDOF.js +68 -0
  2. package/dist/chunk-2LXEWDOF.js.map +1 -0
  3. package/dist/chunk-2SIVAJHV.js +68 -0
  4. package/dist/chunk-2SIVAJHV.js.map +1 -0
  5. package/dist/chunk-2UVSQNAF.js +68 -0
  6. package/dist/chunk-2UVSQNAF.js.map +1 -0
  7. package/dist/chunk-2XBAWSN6.js +68 -0
  8. package/dist/chunk-2XBAWSN6.js.map +1 -0
  9. package/dist/chunk-3FR2JLIS.js +68 -0
  10. package/dist/chunk-3FR2JLIS.js.map +1 -0
  11. package/dist/chunk-4AQSFP5U.js +68 -0
  12. package/dist/chunk-4AQSFP5U.js.map +1 -0
  13. package/dist/chunk-4CRJPM5Q.js +68 -0
  14. package/dist/chunk-4CRJPM5Q.js.map +1 -0
  15. package/dist/chunk-4EAEPKGB.js +68 -0
  16. package/dist/chunk-4EAEPKGB.js.map +1 -0
  17. package/dist/chunk-4JPNRIHQ.js +68 -0
  18. package/dist/chunk-4JPNRIHQ.js.map +1 -0
  19. package/dist/chunk-4WCDNNON.js +68 -0
  20. package/dist/chunk-4WCDNNON.js.map +1 -0
  21. package/dist/chunk-4XQKUS33.js +68 -0
  22. package/dist/chunk-4XQKUS33.js.map +1 -0
  23. package/dist/chunk-5FW5RHIU.js +68 -0
  24. package/dist/chunk-5FW5RHIU.js.map +1 -0
  25. package/dist/chunk-64G56KOZ.js +68 -0
  26. package/dist/chunk-64G56KOZ.js.map +1 -0
  27. package/dist/chunk-6UDYRVS2.js +68 -0
  28. package/dist/chunk-6UDYRVS2.js.map +1 -0
  29. package/dist/chunk-75HM5DPO.js +68 -0
  30. package/dist/chunk-75HM5DPO.js.map +1 -0
  31. package/dist/chunk-7VETPCK7.js +68 -0
  32. package/dist/chunk-7VETPCK7.js.map +1 -0
  33. package/dist/chunk-BMH72AOR.js +68 -0
  34. package/dist/chunk-BMH72AOR.js.map +1 -0
  35. package/dist/chunk-BTDSHLZE.js +68 -0
  36. package/dist/chunk-BTDSHLZE.js.map +1 -0
  37. package/dist/chunk-BTKVLLPL.js +68 -0
  38. package/dist/chunk-BTKVLLPL.js.map +1 -0
  39. package/dist/chunk-CZDOW4UT.js +68 -0
  40. package/dist/chunk-CZDOW4UT.js.map +1 -0
  41. package/dist/chunk-DHT4VCQG.js +68 -0
  42. package/dist/chunk-DHT4VCQG.js.map +1 -0
  43. package/dist/chunk-DM6DAYEM.js +68 -0
  44. package/dist/chunk-DM6DAYEM.js.map +1 -0
  45. package/dist/chunk-DN2M4ZI5.js +68 -0
  46. package/dist/chunk-DN2M4ZI5.js.map +1 -0
  47. package/dist/chunk-DOUW4N6H.js +68 -0
  48. package/dist/chunk-DOUW4N6H.js.map +1 -0
  49. package/dist/chunk-DTZPLDZ5.js +68 -0
  50. package/dist/chunk-DTZPLDZ5.js.map +1 -0
  51. package/dist/chunk-E6MRSOPD.js +68 -0
  52. package/dist/chunk-E6MRSOPD.js.map +1 -0
  53. package/dist/chunk-FABPV7PL.js +68 -0
  54. package/dist/chunk-FABPV7PL.js.map +1 -0
  55. package/dist/chunk-FM67TP64.js +68 -0
  56. package/dist/chunk-FM67TP64.js.map +1 -0
  57. package/dist/chunk-GFABZZVH.js +68 -0
  58. package/dist/chunk-GFABZZVH.js.map +1 -0
  59. package/dist/chunk-HTLRH4MJ.js +68 -0
  60. package/dist/chunk-HTLRH4MJ.js.map +1 -0
  61. package/dist/chunk-IDBHZ2PV.js +68 -0
  62. package/dist/chunk-IDBHZ2PV.js.map +1 -0
  63. package/dist/chunk-J54YKOPC.js +68 -0
  64. package/dist/chunk-J54YKOPC.js.map +1 -0
  65. package/dist/chunk-JN5K3V7M.js +68 -0
  66. package/dist/chunk-JN5K3V7M.js.map +1 -0
  67. package/dist/chunk-JU4TDT2G.js +528 -0
  68. package/dist/chunk-JU4TDT2G.js.map +1 -0
  69. package/dist/chunk-JWBGRQJI.js +68 -0
  70. package/dist/chunk-JWBGRQJI.js.map +1 -0
  71. package/dist/chunk-KFVFORR5.js +68 -0
  72. package/dist/chunk-KFVFORR5.js.map +1 -0
  73. package/dist/chunk-LILQL4KG.js +68 -0
  74. package/dist/chunk-LILQL4KG.js.map +1 -0
  75. package/dist/chunk-M7JXKTNY.js +68 -0
  76. package/dist/chunk-M7JXKTNY.js.map +1 -0
  77. package/dist/chunk-NM567GJA.js +68 -0
  78. package/dist/chunk-NM567GJA.js.map +1 -0
  79. package/dist/chunk-NMWHITVJ.js +68 -0
  80. package/dist/chunk-NMWHITVJ.js.map +1 -0
  81. package/dist/chunk-NSWZ6DXW.js +68 -0
  82. package/dist/chunk-NSWZ6DXW.js.map +1 -0
  83. package/dist/chunk-NXSLVEML.js +68 -0
  84. package/dist/chunk-NXSLVEML.js.map +1 -0
  85. package/dist/chunk-NZX4NVB7.js +68 -0
  86. package/dist/chunk-NZX4NVB7.js.map +1 -0
  87. package/dist/chunk-OAB7GNRG.js +68 -0
  88. package/dist/chunk-OAB7GNRG.js.map +1 -0
  89. package/dist/chunk-P4I6HJZA.js +68 -0
  90. package/dist/chunk-P4I6HJZA.js.map +1 -0
  91. package/dist/chunk-PC3NQBOZ.js +68 -0
  92. package/dist/chunk-PC3NQBOZ.js.map +1 -0
  93. package/dist/chunk-PE3RNDVR.js +68 -0
  94. package/dist/chunk-PE3RNDVR.js.map +1 -0
  95. package/dist/chunk-Q2Q3577E.js +68 -0
  96. package/dist/chunk-Q2Q3577E.js.map +1 -0
  97. package/dist/chunk-QEMINSRG.js +68 -0
  98. package/dist/chunk-QEMINSRG.js.map +1 -0
  99. package/dist/chunk-RGBZ3ZXX.js +68 -0
  100. package/dist/chunk-RGBZ3ZXX.js.map +1 -0
  101. package/dist/chunk-RWSUTY67.js +68 -0
  102. package/dist/chunk-RWSUTY67.js.map +1 -0
  103. package/dist/chunk-SB3JKBJD.js +68 -0
  104. package/dist/chunk-SB3JKBJD.js.map +1 -0
  105. package/dist/chunk-TAHSZ55U.js +68 -0
  106. package/dist/chunk-TAHSZ55U.js.map +1 -0
  107. package/dist/chunk-TCR3NGBV.js +68 -0
  108. package/dist/chunk-TCR3NGBV.js.map +1 -0
  109. package/dist/chunk-TKPBFOEN.js +68 -0
  110. package/dist/chunk-TKPBFOEN.js.map +1 -0
  111. package/dist/chunk-TN6KDVAG.js +68 -0
  112. package/dist/chunk-TN6KDVAG.js.map +1 -0
  113. package/dist/chunk-UIMBGFLW.js +68 -0
  114. package/dist/chunk-UIMBGFLW.js.map +1 -0
  115. package/dist/chunk-UL4F5NTU.js +68 -0
  116. package/dist/chunk-UL4F5NTU.js.map +1 -0
  117. package/dist/chunk-UWDKL3IR.js +68 -0
  118. package/dist/chunk-UWDKL3IR.js.map +1 -0
  119. package/dist/chunk-VNYLNLIH.js +68 -0
  120. package/dist/chunk-VNYLNLIH.js.map +1 -0
  121. package/dist/chunk-W2VEHVDK.js +68 -0
  122. package/dist/chunk-W2VEHVDK.js.map +1 -0
  123. package/dist/chunk-WMYSBUH5.js +68 -0
  124. package/dist/chunk-WMYSBUH5.js.map +1 -0
  125. package/dist/chunk-WNTQIMRE.js +68 -0
  126. package/dist/chunk-WNTQIMRE.js.map +1 -0
  127. package/dist/chunk-WY72KJJW.js +68 -0
  128. package/dist/chunk-WY72KJJW.js.map +1 -0
  129. package/dist/chunk-WYTM3WHD.js +68 -0
  130. package/dist/chunk-WYTM3WHD.js.map +1 -0
  131. package/dist/chunk-XGQWOJRB.js +68 -0
  132. package/dist/chunk-XGQWOJRB.js.map +1 -0
  133. package/dist/chunk-YZKPRCKP.js +68 -0
  134. package/dist/chunk-YZKPRCKP.js.map +1 -0
  135. package/dist/chunk-ZEPFA7ZT.js +68 -0
  136. package/dist/chunk-ZEPFA7ZT.js.map +1 -0
  137. package/dist/chunk-ZIMELPXX.js +68 -0
  138. package/dist/chunk-ZIMELPXX.js.map +1 -0
  139. package/dist/chunk-ZMAIAAT6.js +68 -0
  140. package/dist/chunk-ZMAIAAT6.js.map +1 -0
  141. package/dist/chunk-ZOCDSEOF.js +68 -0
  142. package/dist/chunk-ZOCDSEOF.js.map +1 -0
  143. package/dist/chunk-ZSUTMUVB.js +68 -0
  144. package/dist/chunk-ZSUTMUVB.js.map +1 -0
  145. package/dist/index.d.ts +185 -23
  146. package/dist/index.js +359 -3
  147. package/dist/index.js.map +1 -1
  148. package/dist/presets/_briefs/airbnb.d.ts +3 -0
  149. package/dist/presets/_briefs/airbnb.js +551 -0
  150. package/dist/presets/_briefs/airbnb.js.map +1 -0
  151. package/dist/presets/_briefs/airtable.d.ts +3 -0
  152. package/dist/presets/_briefs/airtable.js +560 -0
  153. package/dist/presets/_briefs/airtable.js.map +1 -0
  154. package/dist/presets/_briefs/apple.d.ts +3 -0
  155. package/dist/presets/_briefs/apple.js +568 -0
  156. package/dist/presets/_briefs/apple.js.map +1 -0
  157. package/dist/presets/_briefs/binance.d.ts +3 -0
  158. package/dist/presets/_briefs/binance.js +640 -0
  159. package/dist/presets/_briefs/binance.js.map +1 -0
  160. package/dist/presets/_briefs/bmw-m.d.ts +3 -0
  161. package/dist/presets/_briefs/bmw-m.js +509 -0
  162. package/dist/presets/_briefs/bmw-m.js.map +1 -0
  163. package/dist/presets/_briefs/bmw.d.ts +3 -0
  164. package/dist/presets/_briefs/bmw.js +550 -0
  165. package/dist/presets/_briefs/bmw.js.map +1 -0
  166. package/dist/presets/_briefs/bugatti.d.ts +3 -0
  167. package/dist/presets/_briefs/bugatti.js +460 -0
  168. package/dist/presets/_briefs/bugatti.js.map +1 -0
  169. package/dist/presets/_briefs/cal.d.ts +3 -0
  170. package/dist/presets/_briefs/cal.js +548 -0
  171. package/dist/presets/_briefs/cal.js.map +1 -0
  172. package/dist/presets/_briefs/claude.d.ts +3 -0
  173. package/dist/presets/_briefs/claude.js +595 -0
  174. package/dist/presets/_briefs/claude.js.map +1 -0
  175. package/dist/presets/_briefs/clay.d.ts +3 -0
  176. package/dist/presets/_briefs/clay.js +547 -0
  177. package/dist/presets/_briefs/clay.js.map +1 -0
  178. package/dist/presets/_briefs/clickhouse.d.ts +3 -0
  179. package/dist/presets/_briefs/clickhouse.js +550 -0
  180. package/dist/presets/_briefs/clickhouse.js.map +1 -0
  181. package/dist/presets/_briefs/cohere.d.ts +3 -0
  182. package/dist/presets/_briefs/cohere.js +457 -0
  183. package/dist/presets/_briefs/cohere.js.map +1 -0
  184. package/dist/presets/_briefs/coinbase.d.ts +3 -0
  185. package/dist/presets/_briefs/coinbase.js +576 -0
  186. package/dist/presets/_briefs/coinbase.js.map +1 -0
  187. package/dist/presets/_briefs/composio.d.ts +3 -0
  188. package/dist/presets/_briefs/composio.js +512 -0
  189. package/dist/presets/_briefs/composio.js.map +1 -0
  190. package/dist/presets/_briefs/cursor.d.ts +3 -0
  191. package/dist/presets/_briefs/cursor.js +543 -0
  192. package/dist/presets/_briefs/cursor.js.map +1 -0
  193. package/dist/presets/_briefs/elevenlabs.d.ts +3 -0
  194. package/dist/presets/_briefs/elevenlabs.js +510 -0
  195. package/dist/presets/_briefs/elevenlabs.js.map +1 -0
  196. package/dist/presets/_briefs/expo.d.ts +3 -0
  197. package/dist/presets/_briefs/expo.js +532 -0
  198. package/dist/presets/_briefs/expo.js.map +1 -0
  199. package/dist/presets/_briefs/ferrari.d.ts +3 -0
  200. package/dist/presets/_briefs/ferrari.js +537 -0
  201. package/dist/presets/_briefs/ferrari.js.map +1 -0
  202. package/dist/presets/_briefs/figma.d.ts +3 -0
  203. package/dist/presets/_briefs/figma.js +226 -0
  204. package/dist/presets/_briefs/figma.js.map +1 -0
  205. package/dist/presets/_briefs/framer.d.ts +3 -0
  206. package/dist/presets/_briefs/framer.js +252 -0
  207. package/dist/presets/_briefs/framer.js.map +1 -0
  208. package/dist/presets/_briefs/hashicorp.d.ts +3 -0
  209. package/dist/presets/_briefs/hashicorp.js +284 -0
  210. package/dist/presets/_briefs/hashicorp.js.map +1 -0
  211. package/dist/presets/_briefs/ibm.d.ts +3 -0
  212. package/dist/presets/_briefs/ibm.js +338 -0
  213. package/dist/presets/_briefs/ibm.js.map +1 -0
  214. package/dist/presets/_briefs/intercom.d.ts +3 -0
  215. package/dist/presets/_briefs/intercom.js +152 -0
  216. package/dist/presets/_briefs/intercom.js.map +1 -0
  217. package/dist/presets/_briefs/kraken.d.ts +3 -0
  218. package/dist/presets/_briefs/kraken.js +131 -0
  219. package/dist/presets/_briefs/kraken.js.map +1 -0
  220. package/dist/presets/_briefs/lamborghini.d.ts +3 -0
  221. package/dist/presets/_briefs/lamborghini.js +294 -0
  222. package/dist/presets/_briefs/lamborghini.js.map +1 -0
  223. package/dist/presets/_briefs/linear.d.ts +3 -0
  224. package/dist/presets/_briefs/linear.js +373 -0
  225. package/dist/presets/_briefs/linear.js.map +1 -0
  226. package/dist/presets/_briefs/lovable.d.ts +3 -0
  227. package/dist/presets/_briefs/lovable.js +304 -0
  228. package/dist/presets/_briefs/lovable.js.map +1 -0
  229. package/dist/presets/_briefs/mastercard.d.ts +3 -0
  230. package/dist/presets/_briefs/mastercard.js +371 -0
  231. package/dist/presets/_briefs/mastercard.js.map +1 -0
  232. package/dist/presets/_briefs/meta.d.ts +3 -0
  233. package/dist/presets/_briefs/meta.js +372 -0
  234. package/dist/presets/_briefs/meta.js.map +1 -0
  235. package/dist/presets/_briefs/minimax.d.ts +3 -0
  236. package/dist/presets/_briefs/minimax.js +263 -0
  237. package/dist/presets/_briefs/minimax.js.map +1 -0
  238. package/dist/presets/_briefs/mintlify.d.ts +3 -0
  239. package/dist/presets/_briefs/mintlify.js +332 -0
  240. package/dist/presets/_briefs/mintlify.js.map +1 -0
  241. package/dist/presets/_briefs/miro.d.ts +3 -0
  242. package/dist/presets/_briefs/miro.js +114 -0
  243. package/dist/presets/_briefs/miro.js.map +1 -0
  244. package/dist/presets/_briefs/mistral.d.ts +3 -0
  245. package/dist/presets/_briefs/mistral.js +267 -0
  246. package/dist/presets/_briefs/mistral.js.map +1 -0
  247. package/dist/presets/_briefs/mongodb.d.ts +3 -0
  248. package/dist/presets/_briefs/mongodb.js +272 -0
  249. package/dist/presets/_briefs/mongodb.js.map +1 -0
  250. package/dist/presets/_briefs/nike.d.ts +3 -0
  251. package/dist/presets/_briefs/nike.js +369 -0
  252. package/dist/presets/_briefs/nike.js.map +1 -0
  253. package/dist/presets/_briefs/notion.d.ts +3 -0
  254. package/dist/presets/_briefs/notion.js +315 -0
  255. package/dist/presets/_briefs/notion.js.map +1 -0
  256. package/dist/presets/_briefs/nvidia.d.ts +3 -0
  257. package/dist/presets/_briefs/nvidia.js +299 -0
  258. package/dist/presets/_briefs/nvidia.js.map +1 -0
  259. package/dist/presets/_briefs/ollama.d.ts +3 -0
  260. package/dist/presets/_briefs/ollama.js +273 -0
  261. package/dist/presets/_briefs/ollama.js.map +1 -0
  262. package/dist/presets/_briefs/opencode.d.ts +3 -0
  263. package/dist/presets/_briefs/opencode.js +287 -0
  264. package/dist/presets/_briefs/opencode.js.map +1 -0
  265. package/dist/presets/_briefs/pinterest.d.ts +3 -0
  266. package/dist/presets/_briefs/pinterest.js +236 -0
  267. package/dist/presets/_briefs/pinterest.js.map +1 -0
  268. package/dist/presets/_briefs/playstation.d.ts +3 -0
  269. package/dist/presets/_briefs/playstation.js +370 -0
  270. package/dist/presets/_briefs/playstation.js.map +1 -0
  271. package/dist/presets/_briefs/posthog.d.ts +3 -0
  272. package/dist/presets/_briefs/posthog.js +262 -0
  273. package/dist/presets/_briefs/posthog.js.map +1 -0
  274. package/dist/presets/_briefs/raycast.d.ts +3 -0
  275. package/dist/presets/_briefs/raycast.js +274 -0
  276. package/dist/presets/_briefs/raycast.js.map +1 -0
  277. package/dist/presets/_briefs/renault.d.ts +3 -0
  278. package/dist/presets/_briefs/renault.js +317 -0
  279. package/dist/presets/_briefs/renault.js.map +1 -0
  280. package/dist/presets/_briefs/replicate.d.ts +3 -0
  281. package/dist/presets/_briefs/replicate.js +267 -0
  282. package/dist/presets/_briefs/replicate.js.map +1 -0
  283. package/dist/presets/_briefs/resend.d.ts +3 -0
  284. package/dist/presets/_briefs/resend.js +309 -0
  285. package/dist/presets/_briefs/resend.js.map +1 -0
  286. package/dist/presets/_briefs/revolut.d.ts +3 -0
  287. package/dist/presets/_briefs/revolut.js +191 -0
  288. package/dist/presets/_briefs/revolut.js.map +1 -0
  289. package/dist/presets/_briefs/runwayml.d.ts +3 -0
  290. package/dist/presets/_briefs/runwayml.js +250 -0
  291. package/dist/presets/_briefs/runwayml.js.map +1 -0
  292. package/dist/presets/_briefs/sanity.d.ts +3 -0
  293. package/dist/presets/_briefs/sanity.js +363 -0
  294. package/dist/presets/_briefs/sanity.js.map +1 -0
  295. package/dist/presets/_briefs/sentry.d.ts +3 -0
  296. package/dist/presets/_briefs/sentry.js +268 -0
  297. package/dist/presets/_briefs/sentry.js.map +1 -0
  298. package/dist/presets/_briefs/shopify.d.ts +3 -0
  299. package/dist/presets/_briefs/shopify.js +356 -0
  300. package/dist/presets/_briefs/shopify.js.map +1 -0
  301. package/dist/presets/_briefs/slack.d.ts +3 -0
  302. package/dist/presets/_briefs/slack.js +221 -0
  303. package/dist/presets/_briefs/slack.js.map +1 -0
  304. package/dist/presets/_briefs/spacex.d.ts +3 -0
  305. package/dist/presets/_briefs/spacex.js +200 -0
  306. package/dist/presets/_briefs/spacex.js.map +1 -0
  307. package/dist/presets/_briefs/spotify.d.ts +3 -0
  308. package/dist/presets/_briefs/spotify.js +252 -0
  309. package/dist/presets/_briefs/spotify.js.map +1 -0
  310. package/dist/presets/_briefs/starbucks.d.ts +3 -0
  311. package/dist/presets/_briefs/starbucks.js +586 -0
  312. package/dist/presets/_briefs/starbucks.js.map +1 -0
  313. package/dist/presets/_briefs/stripe.d.ts +3 -0
  314. package/dist/presets/_briefs/stripe.js +328 -0
  315. package/dist/presets/_briefs/stripe.js.map +1 -0
  316. package/dist/presets/_briefs/supabase.d.ts +3 -0
  317. package/dist/presets/_briefs/supabase.js +261 -0
  318. package/dist/presets/_briefs/supabase.js.map +1 -0
  319. package/dist/presets/_briefs/superhuman.d.ts +3 -0
  320. package/dist/presets/_briefs/superhuman.js +258 -0
  321. package/dist/presets/_briefs/superhuman.js.map +1 -0
  322. package/dist/presets/_briefs/tesla.d.ts +3 -0
  323. package/dist/presets/_briefs/tesla.js +292 -0
  324. package/dist/presets/_briefs/tesla.js.map +1 -0
  325. package/dist/presets/_briefs/theverge.d.ts +3 -0
  326. package/dist/presets/_briefs/theverge.js +345 -0
  327. package/dist/presets/_briefs/theverge.js.map +1 -0
  328. package/dist/presets/_briefs/together.d.ts +3 -0
  329. package/dist/presets/_briefs/together.js +269 -0
  330. package/dist/presets/_briefs/together.js.map +1 -0
  331. package/dist/presets/_briefs/uber.d.ts +3 -0
  332. package/dist/presets/_briefs/uber.js +301 -0
  333. package/dist/presets/_briefs/uber.js.map +1 -0
  334. package/dist/presets/_briefs/vercel.d.ts +3 -0
  335. package/dist/presets/_briefs/vercel.js +316 -0
  336. package/dist/presets/_briefs/vercel.js.map +1 -0
  337. package/dist/presets/_briefs/vodafone.d.ts +3 -0
  338. package/dist/presets/_briefs/vodafone.js +429 -0
  339. package/dist/presets/_briefs/vodafone.js.map +1 -0
  340. package/dist/presets/_briefs/voltagent.d.ts +3 -0
  341. package/dist/presets/_briefs/voltagent.js +329 -0
  342. package/dist/presets/_briefs/voltagent.js.map +1 -0
  343. package/dist/presets/_briefs/warp.d.ts +3 -0
  344. package/dist/presets/_briefs/warp.js +259 -0
  345. package/dist/presets/_briefs/warp.js.map +1 -0
  346. package/dist/presets/_briefs/webflow.d.ts +3 -0
  347. package/dist/presets/_briefs/webflow.js +98 -0
  348. package/dist/presets/_briefs/webflow.js.map +1 -0
  349. package/dist/presets/_briefs/wired.d.ts +3 -0
  350. package/dist/presets/_briefs/wired.js +284 -0
  351. package/dist/presets/_briefs/wired.js.map +1 -0
  352. package/dist/presets/_briefs/wise.d.ts +3 -0
  353. package/dist/presets/_briefs/wise.js +179 -0
  354. package/dist/presets/_briefs/wise.js.map +1 -0
  355. package/dist/presets/_briefs/x.d.ts +3 -0
  356. package/dist/presets/_briefs/x.js +263 -0
  357. package/dist/presets/_briefs/x.js.map +1 -0
  358. package/dist/presets/_briefs/zapier.d.ts +3 -0
  359. package/dist/presets/_briefs/zapier.js +334 -0
  360. package/dist/presets/_briefs/zapier.js.map +1 -0
  361. package/dist/presets/airbnb.d.ts +5 -0
  362. package/dist/presets/airbnb.js +7 -0
  363. package/dist/presets/airbnb.js.map +1 -0
  364. package/dist/presets/airtable.d.ts +5 -0
  365. package/dist/presets/airtable.js +7 -0
  366. package/dist/presets/airtable.js.map +1 -0
  367. package/dist/presets/apple.d.ts +5 -0
  368. package/dist/presets/apple.js +7 -0
  369. package/dist/presets/apple.js.map +1 -0
  370. package/dist/presets/binance.d.ts +5 -0
  371. package/dist/presets/binance.js +7 -0
  372. package/dist/presets/binance.js.map +1 -0
  373. package/dist/presets/bmw-m.d.ts +5 -0
  374. package/dist/presets/bmw-m.js +7 -0
  375. package/dist/presets/bmw-m.js.map +1 -0
  376. package/dist/presets/bmw.d.ts +5 -0
  377. package/dist/presets/bmw.js +7 -0
  378. package/dist/presets/bmw.js.map +1 -0
  379. package/dist/presets/bugatti.d.ts +5 -0
  380. package/dist/presets/bugatti.js +7 -0
  381. package/dist/presets/bugatti.js.map +1 -0
  382. package/dist/presets/cal.d.ts +5 -0
  383. package/dist/presets/cal.js +7 -0
  384. package/dist/presets/cal.js.map +1 -0
  385. package/dist/presets/claude.d.ts +5 -0
  386. package/dist/presets/claude.js +7 -0
  387. package/dist/presets/claude.js.map +1 -0
  388. package/dist/presets/clay.d.ts +5 -0
  389. package/dist/presets/clay.js +7 -0
  390. package/dist/presets/clay.js.map +1 -0
  391. package/dist/presets/clickhouse.d.ts +5 -0
  392. package/dist/presets/clickhouse.js +7 -0
  393. package/dist/presets/clickhouse.js.map +1 -0
  394. package/dist/presets/cohere.d.ts +5 -0
  395. package/dist/presets/cohere.js +7 -0
  396. package/dist/presets/cohere.js.map +1 -0
  397. package/dist/presets/coinbase.d.ts +5 -0
  398. package/dist/presets/coinbase.js +7 -0
  399. package/dist/presets/coinbase.js.map +1 -0
  400. package/dist/presets/composio.d.ts +5 -0
  401. package/dist/presets/composio.js +7 -0
  402. package/dist/presets/composio.js.map +1 -0
  403. package/dist/presets/cursor.d.ts +5 -0
  404. package/dist/presets/cursor.js +7 -0
  405. package/dist/presets/cursor.js.map +1 -0
  406. package/dist/presets/elevenlabs.d.ts +5 -0
  407. package/dist/presets/elevenlabs.js +7 -0
  408. package/dist/presets/elevenlabs.js.map +1 -0
  409. package/dist/presets/expo.d.ts +5 -0
  410. package/dist/presets/expo.js +7 -0
  411. package/dist/presets/expo.js.map +1 -0
  412. package/dist/presets/ferrari.d.ts +5 -0
  413. package/dist/presets/ferrari.js +7 -0
  414. package/dist/presets/ferrari.js.map +1 -0
  415. package/dist/presets/figma.d.ts +5 -0
  416. package/dist/presets/figma.js +7 -0
  417. package/dist/presets/figma.js.map +1 -0
  418. package/dist/presets/framer.d.ts +5 -0
  419. package/dist/presets/framer.js +7 -0
  420. package/dist/presets/framer.js.map +1 -0
  421. package/dist/presets/hashicorp.d.ts +5 -0
  422. package/dist/presets/hashicorp.js +7 -0
  423. package/dist/presets/hashicorp.js.map +1 -0
  424. package/dist/presets/ibm.d.ts +5 -0
  425. package/dist/presets/ibm.js +7 -0
  426. package/dist/presets/ibm.js.map +1 -0
  427. package/dist/presets/index.d.ts +94 -0
  428. package/dist/presets/index.js +297 -0
  429. package/dist/presets/index.js.map +1 -0
  430. package/dist/presets/intercom.d.ts +5 -0
  431. package/dist/presets/intercom.js +7 -0
  432. package/dist/presets/intercom.js.map +1 -0
  433. package/dist/presets/kraken.d.ts +5 -0
  434. package/dist/presets/kraken.js +7 -0
  435. package/dist/presets/kraken.js.map +1 -0
  436. package/dist/presets/lamborghini.d.ts +5 -0
  437. package/dist/presets/lamborghini.js +7 -0
  438. package/dist/presets/lamborghini.js.map +1 -0
  439. package/dist/presets/linear.d.ts +5 -0
  440. package/dist/presets/linear.js +7 -0
  441. package/dist/presets/linear.js.map +1 -0
  442. package/dist/presets/lovable.d.ts +5 -0
  443. package/dist/presets/lovable.js +7 -0
  444. package/dist/presets/lovable.js.map +1 -0
  445. package/dist/presets/mastercard.d.ts +5 -0
  446. package/dist/presets/mastercard.js +7 -0
  447. package/dist/presets/mastercard.js.map +1 -0
  448. package/dist/presets/meta.d.ts +5 -0
  449. package/dist/presets/meta.js +7 -0
  450. package/dist/presets/meta.js.map +1 -0
  451. package/dist/presets/minimax.d.ts +5 -0
  452. package/dist/presets/minimax.js +7 -0
  453. package/dist/presets/minimax.js.map +1 -0
  454. package/dist/presets/mintlify.d.ts +5 -0
  455. package/dist/presets/mintlify.js +7 -0
  456. package/dist/presets/mintlify.js.map +1 -0
  457. package/dist/presets/miro.d.ts +5 -0
  458. package/dist/presets/miro.js +7 -0
  459. package/dist/presets/miro.js.map +1 -0
  460. package/dist/presets/mistral.d.ts +5 -0
  461. package/dist/presets/mistral.js +7 -0
  462. package/dist/presets/mistral.js.map +1 -0
  463. package/dist/presets/mongodb.d.ts +5 -0
  464. package/dist/presets/mongodb.js +7 -0
  465. package/dist/presets/mongodb.js.map +1 -0
  466. package/dist/presets/nike.d.ts +5 -0
  467. package/dist/presets/nike.js +7 -0
  468. package/dist/presets/nike.js.map +1 -0
  469. package/dist/presets/notion.d.ts +5 -0
  470. package/dist/presets/notion.js +7 -0
  471. package/dist/presets/notion.js.map +1 -0
  472. package/dist/presets/nvidia.d.ts +5 -0
  473. package/dist/presets/nvidia.js +7 -0
  474. package/dist/presets/nvidia.js.map +1 -0
  475. package/dist/presets/ollama.d.ts +5 -0
  476. package/dist/presets/ollama.js +7 -0
  477. package/dist/presets/ollama.js.map +1 -0
  478. package/dist/presets/opencode.d.ts +5 -0
  479. package/dist/presets/opencode.js +7 -0
  480. package/dist/presets/opencode.js.map +1 -0
  481. package/dist/presets/pinterest.d.ts +5 -0
  482. package/dist/presets/pinterest.js +7 -0
  483. package/dist/presets/pinterest.js.map +1 -0
  484. package/dist/presets/playstation.d.ts +5 -0
  485. package/dist/presets/playstation.js +7 -0
  486. package/dist/presets/playstation.js.map +1 -0
  487. package/dist/presets/posthog.d.ts +5 -0
  488. package/dist/presets/posthog.js +7 -0
  489. package/dist/presets/posthog.js.map +1 -0
  490. package/dist/presets/raycast.d.ts +5 -0
  491. package/dist/presets/raycast.js +7 -0
  492. package/dist/presets/raycast.js.map +1 -0
  493. package/dist/presets/renault.d.ts +5 -0
  494. package/dist/presets/renault.js +7 -0
  495. package/dist/presets/renault.js.map +1 -0
  496. package/dist/presets/replicate.d.ts +5 -0
  497. package/dist/presets/replicate.js +7 -0
  498. package/dist/presets/replicate.js.map +1 -0
  499. package/dist/presets/resend.d.ts +5 -0
  500. package/dist/presets/resend.js +7 -0
  501. package/dist/presets/resend.js.map +1 -0
  502. package/dist/presets/revolut.d.ts +5 -0
  503. package/dist/presets/revolut.js +7 -0
  504. package/dist/presets/revolut.js.map +1 -0
  505. package/dist/presets/runwayml.d.ts +5 -0
  506. package/dist/presets/runwayml.js +7 -0
  507. package/dist/presets/runwayml.js.map +1 -0
  508. package/dist/presets/sanity.d.ts +5 -0
  509. package/dist/presets/sanity.js +7 -0
  510. package/dist/presets/sanity.js.map +1 -0
  511. package/dist/presets/sentry.d.ts +5 -0
  512. package/dist/presets/sentry.js +7 -0
  513. package/dist/presets/sentry.js.map +1 -0
  514. package/dist/presets/shopify.d.ts +5 -0
  515. package/dist/presets/shopify.js +7 -0
  516. package/dist/presets/shopify.js.map +1 -0
  517. package/dist/presets/slack.d.ts +5 -0
  518. package/dist/presets/slack.js +7 -0
  519. package/dist/presets/slack.js.map +1 -0
  520. package/dist/presets/spacex.d.ts +5 -0
  521. package/dist/presets/spacex.js +7 -0
  522. package/dist/presets/spacex.js.map +1 -0
  523. package/dist/presets/spotify.d.ts +5 -0
  524. package/dist/presets/spotify.js +7 -0
  525. package/dist/presets/spotify.js.map +1 -0
  526. package/dist/presets/starbucks.d.ts +5 -0
  527. package/dist/presets/starbucks.js +7 -0
  528. package/dist/presets/starbucks.js.map +1 -0
  529. package/dist/presets/stripe.d.ts +5 -0
  530. package/dist/presets/stripe.js +7 -0
  531. package/dist/presets/stripe.js.map +1 -0
  532. package/dist/presets/supabase.d.ts +5 -0
  533. package/dist/presets/supabase.js +7 -0
  534. package/dist/presets/supabase.js.map +1 -0
  535. package/dist/presets/superhuman.d.ts +5 -0
  536. package/dist/presets/superhuman.js +7 -0
  537. package/dist/presets/superhuman.js.map +1 -0
  538. package/dist/presets/tesla.d.ts +5 -0
  539. package/dist/presets/tesla.js +7 -0
  540. package/dist/presets/tesla.js.map +1 -0
  541. package/dist/presets/theverge.d.ts +5 -0
  542. package/dist/presets/theverge.js +7 -0
  543. package/dist/presets/theverge.js.map +1 -0
  544. package/dist/presets/together.d.ts +5 -0
  545. package/dist/presets/together.js +7 -0
  546. package/dist/presets/together.js.map +1 -0
  547. package/dist/presets/uber.d.ts +5 -0
  548. package/dist/presets/uber.js +7 -0
  549. package/dist/presets/uber.js.map +1 -0
  550. package/dist/presets/vercel.d.ts +5 -0
  551. package/dist/presets/vercel.js +7 -0
  552. package/dist/presets/vercel.js.map +1 -0
  553. package/dist/presets/vodafone.d.ts +5 -0
  554. package/dist/presets/vodafone.js +7 -0
  555. package/dist/presets/vodafone.js.map +1 -0
  556. package/dist/presets/voltagent.d.ts +5 -0
  557. package/dist/presets/voltagent.js +7 -0
  558. package/dist/presets/voltagent.js.map +1 -0
  559. package/dist/presets/warp.d.ts +5 -0
  560. package/dist/presets/warp.js +7 -0
  561. package/dist/presets/warp.js.map +1 -0
  562. package/dist/presets/webflow.d.ts +5 -0
  563. package/dist/presets/webflow.js +7 -0
  564. package/dist/presets/webflow.js.map +1 -0
  565. package/dist/presets/wired.d.ts +5 -0
  566. package/dist/presets/wired.js +7 -0
  567. package/dist/presets/wired.js.map +1 -0
  568. package/dist/presets/wise.d.ts +5 -0
  569. package/dist/presets/wise.js +7 -0
  570. package/dist/presets/wise.js.map +1 -0
  571. package/dist/presets/x.d.ts +5 -0
  572. package/dist/presets/x.js +7 -0
  573. package/dist/presets/x.js.map +1 -0
  574. package/dist/presets/zapier.d.ts +5 -0
  575. package/dist/presets/zapier.js +7 -0
  576. package/dist/presets/zapier.js.map +1 -0
  577. package/package.json +15 -3
@@ -0,0 +1,252 @@
1
+ // src/presets/_briefs/framer.ts
2
+ var framerBrief = `# Design System Inspired by Framer
3
+
4
+ ## 1. Visual Theme & Atmosphere
5
+
6
+ Framer's website is a cinematic, tool-obsessed dark canvas that radiates the confidence of a design tool built by designers who worship craft. The entire experience is drenched in pure black \u2014 not a warm charcoal or a cozy dark gray, but an absolute void (\`#000000\`) that makes every element, every screenshot, every typographic flourish feel like it's floating in deep space. This is a website that treats its own product UI as the hero art, embedding full-fidelity screenshots and interactive demos directly into the narrative flow.
7
+
8
+ The typography is the signature move: GT Walsheim with aggressively tight letter-spacing (as extreme as -5.5px on 110px display text) creates headlines that feel compressed, kinetic, almost spring-loaded \u2014 like words under pressure that might expand at any moment. The transition to Inter for body text is seamless, with extensive OpenType feature usage (\`cv01\`, \`cv05\`, \`cv09\`, \`cv11\`, \`ss03\`, \`ss07\`) that gives even small text a refined, custom feel. Framer Blue (\`#0099ff\`) is deployed sparingly but decisively \u2014 as link color, border accents, and subtle ring shadows \u2014 creating a cold, electric throughline against the warm-less black.
9
+
10
+ The overall effect is a nightclub for web designers: dark, precise, seductive, and unapologetically product-forward. Every section exists to showcase what the tool can do, with the website itself serving as proof of concept.
11
+
12
+ **Key Characteristics:**
13
+ - Pure black (\`#000000\`) void canvas \u2014 absolute dark, not warm or gray-tinted
14
+ - GT Walsheim display font with extreme negative letter-spacing (-5.5px at 110px)
15
+ - Framer Blue (\`#0099ff\`) as the sole accent color \u2014 cold, electric, precise
16
+ - Pill-shaped buttons (40px\u2013100px radius) \u2014 no sharp corners on interactive elements
17
+ - Product screenshots as hero art \u2014 the tool IS the marketing
18
+ - Frosted glass button variants using \`rgba(255, 255, 255, 0.1)\` on dark surfaces
19
+ - Extensive OpenType feature usage across Inter for refined micro-typography
20
+
21
+ ## 2. Color Palette & Roles
22
+
23
+ ### Primary
24
+ - **Pure Black** (\`#000000\`): Primary background, the void canvas that defines Framer's dark-first identity
25
+ - **Pure White** (\`#ffffff\`): Primary text color on dark surfaces, button text on accent backgrounds
26
+ - **Framer Blue** (\`#0099ff\`): Primary accent color \u2014 links, borders, ring shadows, interactive highlights
27
+
28
+ ### Secondary & Accent
29
+ - **Muted Silver** (\`#a6a6a6\`): Secondary text, subdued labels, dimmed descriptions on dark surfaces
30
+ - **Near Black** (\`#090909\`): Elevated dark surface, shadow ring color for subtle depth separation
31
+
32
+ ### Surface & Background
33
+ - **Void Black** (\`#000000\`): Page background, primary canvas
34
+ - **Frosted White** (\`rgba(255, 255, 255, 0.1)\`): Translucent button backgrounds, glass-effect surfaces on dark
35
+ - **Subtle White** (\`rgba(255, 255, 255, 0.5)\`): Slightly more opaque frosted elements for hover states
36
+
37
+ ### Neutrals & Text
38
+ - **Pure White** (\`#ffffff\`): Heading text, high-emphasis body text
39
+ - **Muted Silver** (\`#a6a6a6\`): Body text, descriptions, secondary information
40
+ - **Ghost White** (\`rgba(255, 255, 255, 0.6)\`): Tertiary text, placeholders on dark surfaces
41
+
42
+ ### Semantic & Accent
43
+ - **Framer Blue** (\`#0099ff\`): Links, interactive borders, focus rings
44
+ - **Blue Glow** (\`rgba(0, 153, 255, 0.15)\`): Focus ring shadow, subtle blue halo around interactive elements
45
+ - **Default Link Blue** (\`#0000ee\`): Standard browser link color (used sparingly in content areas)
46
+
47
+ ### Gradient System
48
+ - No prominent gradient usage \u2014 Framer relies on pure flat black surfaces with occasional blue-tinted glows for depth
49
+ - Subtle radial glow effects behind product screenshots using Framer Blue at very low opacity
50
+
51
+ ## 3. Typography Rules
52
+
53
+ ### Font Family
54
+ - **Display**: \`GT Walsheim Framer Medium\` / \`GT Walsheim Medium\` \u2014 custom geometric sans-serif, weight 500. Fallbacks: \`GT Walsheim Framer Medium Placeholder\`, system sans-serif
55
+ - **Body/UI**: \`Inter Variable\` / \`Inter\` \u2014 variable sans-serif with extensive OpenType features. Fallbacks: \`Inter Placeholder\`, \`-apple-system\`, \`system-ui\`
56
+ - **Accent**: \`Mona Sans\` \u2014 GitHub's open-source font, used for select elements at ultra-light weight (100)
57
+ - **Monospace**: \`Azeret Mono\` \u2014 companion mono for code and technical labels
58
+ - **Rounded**: \`Open Runde\` \u2014 small rounded companion font for micro-labels
59
+
60
+ ### Hierarchy
61
+
62
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
63
+ |------|------|------|--------|-------------|----------------|-------|
64
+ | Display Hero | GT Walsheim Framer Medium | 110px | 500 | 0.85 | -5.5px | Extreme negative tracking, compressed impact |
65
+ | Section Display | GT Walsheim Medium | 85px | 500 | 0.95 | -4.25px | OpenType: ss02, tnum |
66
+ | Section Heading | GT Walsheim Medium | 62px | 500 | 1.00 | -3.1px | OpenType: ss02 |
67
+ | Feature Heading | GT Walsheim Medium | 32px | 500 | 1.13 | -1px | Tightest of the smaller headings |
68
+ | Accent Display | Mona Sans | 61.5px | 100 | 1.00 | -3.1px | Ultra-light weight, ethereal |
69
+ | Card Title | Inter Variable | 24px | 400 | 1.30 | -0.01px | OpenType: cv01, cv05, cv09, cv11, ss03, ss07 |
70
+ | Feature Title | Inter | 22px | 700 | 1.20 | -0.8px | OpenType: cv05 |
71
+ | Sub-heading | Inter | 20px | 600 | 1.20 | -0.8px | OpenType: cv01, cv09 |
72
+ | Body Large | Inter Variable | 18px | 400 | 1.30 | -0.01px | OpenType: cv01, cv05, cv09, cv11, ss03, ss07 |
73
+ | Body | Inter Variable | 15px | 400 | 1.30 | -0.01px | OpenType: cv11 |
74
+ | Nav/UI | Inter Variable | 15px | 400 | 1.00 | -0.15px | OpenType: cv06, cv11, dlig, ss03 |
75
+ | Body Readable | Inter Framer Regular | 14px | 400 | 1.60 | normal | Long-form body text |
76
+ | Caption | Inter Variable | 14px | 400 | 1.40 | normal | OpenType: cv01, cv06, cv09, cv11, ss03, ss07 |
77
+ | Label | Inter | 13px | 500 | 1.60 | normal | OpenType: cv06, cv11, ss03 |
78
+ | Small Caption | Inter Variable | 12px | 400 | 1.40 | normal | OpenType: cv01, cv06, cv09, cv11, ss03, ss07 |
79
+ | Micro Code | Azeret Mono | 10.4px | 400 | 1.60 | normal | OpenType: cv06, cv11, ss03 |
80
+ | Badge | Open Runde | 9px | 600 | 1.11 | normal | OpenType: cv01, cv09 |
81
+ | Micro Uppercase | Inter Variable | 7px | 400 | 1.00 | 0.21px | uppercase transform |
82
+
83
+ ### Principles
84
+ - **Compression as personality**: GT Walsheim's extreme negative letter-spacing (-5.5px at 110px) is the defining typographic gesture \u2014 headlines feel spring-loaded, urgent, almost breathless
85
+ - **OpenType maximalism**: Inter is deployed with 6+ OpenType features simultaneously (\`cv01\`, \`cv05\`, \`cv09\`, \`cv11\`, \`ss03\`, \`ss07\`), creating a subtly custom feel even at body sizes
86
+ - **Weight restraint on display**: All GT Walsheim usage is weight 500 (medium) \u2014 never bold, never regular. This creates a confident-but-not-aggressive display tone
87
+ - **Ultra-tight line heights**: Display text at 0.85 line-height means letters nearly overlap vertically \u2014 intentional density that rewards reading at arm's length
88
+
89
+ ## 4. Component Stylings
90
+
91
+ ### Buttons
92
+ - **Frosted Pill**: \`rgba(255, 255, 255, 0.1)\` background, black text (\`#000000\`), pill shape (40px radius). The glass-effect button that lives on dark surfaces \u2014 translucent, ambient, subtle
93
+ - **Solid White Pill**: \`rgb(255, 255, 255)\` background, black text (\`#000000\`), full pill shape (100px radius), padding \`10px 15px\`. The primary CTA \u2014 clean, high-contrast on dark, unmissable
94
+ - **Ghost**: No visible background, white text, relies on text styling alone. Hover reveals subtle frosted background
95
+ - **Transition**: Scale-based animations (matrix transform with 0.85 scale factor), opacity transitions for reveal effects
96
+
97
+ ### Cards & Containers
98
+ - **Dark Surface Card**: Black or near-black (\`#090909\`) background, \`rgba(0, 153, 255, 0.15) 0px 0px 0px 1px\` blue ring shadow border, rounded corners (10px\u201315px radius)
99
+ - **Elevated Card**: Multi-layer shadow \u2014 \`rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0.5px\` (subtle top highlight) + \`rgba(0, 0, 0, 0.25) 0px 10px 30px\` (deep ambient shadow)
100
+ - **Product Screenshots**: Full-width or padded within dark containers, 8px\u201312px border-radius for software UI previews
101
+ - **Hover**: Subtle glow increase on Framer Blue ring shadow, or brightness shift on frosted surfaces
102
+
103
+ ### Inputs & Forms
104
+ - Minimal form presence on the marketing site
105
+ - Input fields follow dark theme: dark background, subtle border, white text
106
+ - Focus state: Framer Blue (\`#0099ff\`) ring border, \`1px solid #0099ff\`
107
+ - Placeholder text in \`rgba(255, 255, 255, 0.4)\`
108
+
109
+ ### Navigation
110
+ - **Dark floating nav bar**: Black background with frosted glass effect, white text links
111
+ - **Nav links**: Inter at 15px, weight 400, white text with subtle hover opacity change
112
+ - **CTA button**: Pill-shaped, white or frosted, positioned at right end of nav
113
+ - **Mobile**: Collapses to hamburger menu, maintains dark theme
114
+ - **Sticky behavior**: Nav remains fixed at top on scroll
115
+
116
+ ### Image Treatment
117
+ - **Product screenshots as hero art**: Full-width embedded UI screenshots with rounded corners (8px\u201312px)
118
+ - **Dark-on-dark composition**: Screenshots placed on black backgrounds with subtle shadow for depth separation
119
+ - **16:9 and custom aspect ratios**: Product demos fill their containers
120
+ - **No decorative imagery**: All images are functional \u2014 showing the tool, the output, or the workflow
121
+
122
+ ### Trust & Social Proof
123
+ - Customer logos and testimonials in muted gray on dark surfaces
124
+ - Minimal ornamentation \u2014 the product screenshots serve as the trust signal
125
+
126
+ ## 5. Layout Principles
127
+
128
+ ### Spacing System
129
+ - **Base unit**: 8px
130
+ - **Scale**: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 15px, 20px, 30px, 35px
131
+ - **Section padding**: Large vertical spacing (80px\u2013120px between sections)
132
+ - **Card padding**: 15px\u201330px internal padding
133
+ - **Component gaps**: 8px\u201320px between related elements
134
+
135
+ ### Grid & Container
136
+ - **Max width**: ~1200px container, centered
137
+ - **Column patterns**: Full-width hero, 2-column feature sections, single-column product showcases
138
+ - **Asymmetric layouts**: Feature sections often pair text (40%) with screenshot (60%)
139
+
140
+ ### Whitespace Philosophy
141
+ - **Breathe through darkness**: Generous vertical spacing between sections \u2014 the black background means whitespace manifests as void, creating dramatic pauses between content blocks
142
+ - **Dense within, spacious between**: Individual components are tightly composed (tight line-heights, compressed text) but float in generous surrounding space
143
+ - **Product-first density**: Screenshot areas are allowed to be dense and information-rich, contrasting with the sparse marketing text
144
+
145
+ ### Border Radius Scale
146
+ - **1px**: Micro-elements, nearly squared precision edges
147
+ - **5px\u20137px**: Small UI elements, image thumbnails \u2014 subtly softened
148
+ - **8px**: Standard component radius \u2014 code blocks, buttons, interactive elements
149
+ - **10px\u201312px**: Cards, product screenshots \u2014 comfortably rounded
150
+ - **15px\u201320px**: Large containers, feature cards \u2014 generously rounded
151
+ - **30px\u201340px**: Navigation pills, pagination \u2014 noticeably rounded
152
+ - **100px**: Full pill shape \u2014 primary CTAs, tag elements
153
+
154
+ ## 6. Depth & Elevation
155
+
156
+ | Level | Treatment | Use |
157
+ |-------|-----------|-----|
158
+ | Level 0 (Flat) | No shadow, pure black surface | Page background, empty areas |
159
+ | Level 1 (Ring) | \`rgba(0, 153, 255, 0.15) 0px 0px 0px 1px\` | Card borders, interactive element outlines \u2014 Framer Blue glow ring |
160
+ | Level 2 (Contained) | \`rgb(9, 9, 9) 0px 0px 0px 2px\` | Near-black ring for subtle containment on dark surfaces |
161
+ | Level 3 (Floating) | \`rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0.5px, rgba(0, 0, 0, 0.25) 0px 10px 30px\` | Elevated cards, floating elements \u2014 subtle white top-edge highlight + deep ambient shadow |
162
+
163
+ ### Shadow Philosophy
164
+ Framer's elevation system is inverted from traditional light-theme designs. Instead of darker shadows on light backgrounds, Framer uses:
165
+ - **Blue-tinted ring shadows** at very low opacity (0.15) for containment \u2014 a signature move that subtly brands every bordered element
166
+ - **White edge highlights** (0.5px) on the top edge of elevated elements \u2014 simulating light hitting the top surface
167
+ - **Deep ambient shadows** for true floating elements \u2014 \`rgba(0, 0, 0, 0.25)\` at large spread (30px)
168
+
169
+ ### Decorative Depth
170
+ - **Blue glow auras**: Subtle Framer Blue (\`#0099ff\`) radial gradients behind key interactive areas
171
+ - **No background blur/glassmorphism**: Despite the frosted button effect, there's no heavy glass blur usage \u2014 the translucency is achieved through simple rgba opacity
172
+
173
+ ## 7. Do's and Don'ts
174
+
175
+ ### Do
176
+ - Use pure black (\`#000000\`) as the primary background \u2014 not dark gray, not charcoal
177
+ - Apply extreme negative letter-spacing on GT Walsheim display text (-3px to -5.5px)
178
+ - Keep all buttons pill-shaped (40px+ radius) \u2014 never use squared or slightly-rounded buttons
179
+ - Use Framer Blue (\`#0099ff\`) exclusively for interactive accents \u2014 links, borders, focus states
180
+ - Deploy \`rgba(255, 255, 255, 0.1)\` for frosted glass surfaces on dark backgrounds
181
+ - Maintain GT Walsheim at weight 500 only \u2014 the medium weight IS the brand
182
+ - Use extensive OpenType features on Inter text (cv01, cv05, cv09, cv11, ss03, ss07)
183
+ - Let product screenshots be the visual centerpiece \u2014 the tool markets itself
184
+ - Apply blue ring shadows (\`rgba(0, 153, 255, 0.15) 0px 0px 0px 1px\`) for card containment
185
+
186
+ ### Don't
187
+ - Use warm dark backgrounds (no \`#1a1a1a\`, \`#2d2d2d\`, or brownish blacks)
188
+ - Apply bold (700+) weight to GT Walsheim display text \u2014 medium 500 only
189
+ - Introduce additional accent colors beyond Framer Blue \u2014 this is a one-accent-color system
190
+ - Use large border-radius on non-interactive elements (cards use 10px\u201315px, only buttons get 40px+)
191
+ - Add decorative imagery, illustrations, or icons \u2014 the product IS the illustration
192
+ - Use positive letter-spacing on headlines \u2014 everything is compressed, negative tracking
193
+ - Create heavy drop shadows \u2014 depth is communicated through subtle rings and minimal ambients
194
+ - Place light/white backgrounds behind content sections \u2014 the void is sacred
195
+ - Use serif or display-weight fonts \u2014 the system is geometric sans-serif only
196
+
197
+ ## 8. Responsive Behavior
198
+
199
+ ### Breakpoints
200
+ | Name | Width | Key Changes |
201
+ |------|-------|-------------|
202
+ | Mobile | <809px | Single column, stacked feature sections, reduced hero text (62px\u219240px), hamburger nav |
203
+ | Tablet | 809px\u20131199px | 2-column features begin, nav links partially visible, screenshots scale down |
204
+ | Desktop | >1199px | Full layout, expanded nav with all links + CTA, 110px display hero, side-by-side features |
205
+
206
+ ### Touch Targets
207
+ - Pill buttons: minimum 40px height with 10px vertical padding \u2014 exceeds 44px WCAG minimum
208
+ - Nav links: 15px text with generous padding for touch accessibility
209
+ - Mobile CTA buttons: Full-width pills on mobile for easy thumb reach
210
+
211
+ ### Collapsing Strategy
212
+ - **Navigation**: Full horizontal nav \u2192 hamburger menu at mobile breakpoint
213
+ - **Hero text**: 110px display \u2192 85px \u2192 62px \u2192 ~40px across breakpoints, maintaining extreme negative tracking proportionally
214
+ - **Feature sections**: Side-by-side (text + screenshot) \u2192 stacked vertically on mobile
215
+ - **Product screenshots**: Scale responsively within containers, maintaining aspect ratios
216
+ - **Section spacing**: Reduces proportionally \u2014 120px desktop \u2192 60px mobile
217
+
218
+ ### Image Behavior
219
+ - Product screenshots are responsive, scaling within their container boundaries
220
+ - No art direction changes \u2014 same crops across breakpoints
221
+ - Dark background ensures screenshots maintain visual impact at any size
222
+ - Screenshots lazy-load as user scrolls into view
223
+
224
+ ## 9. Agent Prompt Guide
225
+
226
+ ### Quick Color Reference
227
+ - Primary Background: Void Black (\`#000000\`)
228
+ - Primary Text: Pure White (\`#ffffff\`)
229
+ - Accent/CTA: Framer Blue (\`#0099ff\`)
230
+ - Secondary Text: Muted Silver (\`#a6a6a6\`)
231
+ - Frosted Surface: Translucent White (\`rgba(255, 255, 255, 0.1)\`)
232
+ - Elevation Ring: Blue Glow (\`rgba(0, 153, 255, 0.15)\`)
233
+
234
+ ### Example Component Prompts
235
+ - "Create a hero section on pure black background with 110px GT Walsheim heading in white, letter-spacing -5.5px, line-height 0.85, and a pill-shaped white CTA button (100px radius) with black text"
236
+ - "Design a feature card on black background with a 1px Framer Blue ring shadow border (rgba(0,153,255,0.15)), 12px border-radius, white heading in Inter at 22px weight 700, and muted silver (a6a6a6) body text"
237
+ - "Build a navigation bar with black background, white Inter text links at 15px, and a frosted pill button (rgba(255,255,255,0.1) background, 40px radius) as the CTA"
238
+ - "Create a product showcase section with a full-width screenshot embedded on black, 10px border-radius, subtle multi-layer shadow (white 0.5px top highlight + rgba(0,0,0,0.25) 30px ambient)"
239
+ - "Design a pricing card using pure black surface, Framer Blue (#0099ff) accent for the selected plan border, white text hierarchy (24px Inter bold heading, 14px regular body), and a solid white pill CTA button"
240
+
241
+ ### Iteration Guide
242
+ When refining existing screens generated with this design system:
243
+ 1. Focus on ONE component at a time \u2014 the dark canvas makes each element precious
244
+ 2. Always verify letter-spacing on GT Walsheim headings \u2014 the extreme negative tracking is non-negotiable
245
+ 3. Check that Framer Blue appears ONLY on interactive elements \u2014 never as decorative background or text color for non-links
246
+ 4. Ensure all buttons are pill-shaped \u2014 any squared corner immediately breaks the Framer aesthetic
247
+ 5. Test frosted glass surfaces by checking they have exactly \`rgba(255, 255, 255, 0.1)\` \u2014 too opaque looks like a bug, too transparent disappears
248
+ `;
249
+ export {
250
+ framerBrief
251
+ };
252
+ //# sourceMappingURL=framer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/presets/_briefs/framer.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const framerBrief = `# Design System Inspired by Framer\n\n## 1. Visual Theme & Atmosphere\n\nFramer's website is a cinematic, tool-obsessed dark canvas that radiates the confidence of a design tool built by designers who worship craft. The entire experience is drenched in pure black — not a warm charcoal or a cozy dark gray, but an absolute void (\\`#000000\\`) that makes every element, every screenshot, every typographic flourish feel like it's floating in deep space. This is a website that treats its own product UI as the hero art, embedding full-fidelity screenshots and interactive demos directly into the narrative flow.\n\nThe typography is the signature move: GT Walsheim with aggressively tight letter-spacing (as extreme as -5.5px on 110px display text) creates headlines that feel compressed, kinetic, almost spring-loaded — like words under pressure that might expand at any moment. The transition to Inter for body text is seamless, with extensive OpenType feature usage (\\`cv01\\`, \\`cv05\\`, \\`cv09\\`, \\`cv11\\`, \\`ss03\\`, \\`ss07\\`) that gives even small text a refined, custom feel. Framer Blue (\\`#0099ff\\`) is deployed sparingly but decisively — as link color, border accents, and subtle ring shadows — creating a cold, electric throughline against the warm-less black.\n\nThe overall effect is a nightclub for web designers: dark, precise, seductive, and unapologetically product-forward. Every section exists to showcase what the tool can do, with the website itself serving as proof of concept.\n\n**Key Characteristics:**\n- Pure black (\\`#000000\\`) void canvas — absolute dark, not warm or gray-tinted\n- GT Walsheim display font with extreme negative letter-spacing (-5.5px at 110px)\n- Framer Blue (\\`#0099ff\\`) as the sole accent color — cold, electric, precise\n- Pill-shaped buttons (40px–100px radius) — no sharp corners on interactive elements\n- Product screenshots as hero art — the tool IS the marketing\n- Frosted glass button variants using \\`rgba(255, 255, 255, 0.1)\\` on dark surfaces\n- Extensive OpenType feature usage across Inter for refined micro-typography\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Pure Black** (\\`#000000\\`): Primary background, the void canvas that defines Framer's dark-first identity\n- **Pure White** (\\`#ffffff\\`): Primary text color on dark surfaces, button text on accent backgrounds\n- **Framer Blue** (\\`#0099ff\\`): Primary accent color — links, borders, ring shadows, interactive highlights\n\n### Secondary & Accent\n- **Muted Silver** (\\`#a6a6a6\\`): Secondary text, subdued labels, dimmed descriptions on dark surfaces\n- **Near Black** (\\`#090909\\`): Elevated dark surface, shadow ring color for subtle depth separation\n\n### Surface & Background\n- **Void Black** (\\`#000000\\`): Page background, primary canvas\n- **Frosted White** (\\`rgba(255, 255, 255, 0.1)\\`): Translucent button backgrounds, glass-effect surfaces on dark\n- **Subtle White** (\\`rgba(255, 255, 255, 0.5)\\`): Slightly more opaque frosted elements for hover states\n\n### Neutrals & Text\n- **Pure White** (\\`#ffffff\\`): Heading text, high-emphasis body text\n- **Muted Silver** (\\`#a6a6a6\\`): Body text, descriptions, secondary information\n- **Ghost White** (\\`rgba(255, 255, 255, 0.6)\\`): Tertiary text, placeholders on dark surfaces\n\n### Semantic & Accent\n- **Framer Blue** (\\`#0099ff\\`): Links, interactive borders, focus rings\n- **Blue Glow** (\\`rgba(0, 153, 255, 0.15)\\`): Focus ring shadow, subtle blue halo around interactive elements\n- **Default Link Blue** (\\`#0000ee\\`): Standard browser link color (used sparingly in content areas)\n\n### Gradient System\n- No prominent gradient usage — Framer relies on pure flat black surfaces with occasional blue-tinted glows for depth\n- Subtle radial glow effects behind product screenshots using Framer Blue at very low opacity\n\n## 3. Typography Rules\n\n### Font Family\n- **Display**: \\`GT Walsheim Framer Medium\\` / \\`GT Walsheim Medium\\` — custom geometric sans-serif, weight 500. Fallbacks: \\`GT Walsheim Framer Medium Placeholder\\`, system sans-serif\n- **Body/UI**: \\`Inter Variable\\` / \\`Inter\\` — variable sans-serif with extensive OpenType features. Fallbacks: \\`Inter Placeholder\\`, \\`-apple-system\\`, \\`system-ui\\`\n- **Accent**: \\`Mona Sans\\` — GitHub's open-source font, used for select elements at ultra-light weight (100)\n- **Monospace**: \\`Azeret Mono\\` — companion mono for code and technical labels\n- **Rounded**: \\`Open Runde\\` — small rounded companion font for micro-labels\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display Hero | GT Walsheim Framer Medium | 110px | 500 | 0.85 | -5.5px | Extreme negative tracking, compressed impact |\n| Section Display | GT Walsheim Medium | 85px | 500 | 0.95 | -4.25px | OpenType: ss02, tnum |\n| Section Heading | GT Walsheim Medium | 62px | 500 | 1.00 | -3.1px | OpenType: ss02 |\n| Feature Heading | GT Walsheim Medium | 32px | 500 | 1.13 | -1px | Tightest of the smaller headings |\n| Accent Display | Mona Sans | 61.5px | 100 | 1.00 | -3.1px | Ultra-light weight, ethereal |\n| Card Title | Inter Variable | 24px | 400 | 1.30 | -0.01px | OpenType: cv01, cv05, cv09, cv11, ss03, ss07 |\n| Feature Title | Inter | 22px | 700 | 1.20 | -0.8px | OpenType: cv05 |\n| Sub-heading | Inter | 20px | 600 | 1.20 | -0.8px | OpenType: cv01, cv09 |\n| Body Large | Inter Variable | 18px | 400 | 1.30 | -0.01px | OpenType: cv01, cv05, cv09, cv11, ss03, ss07 |\n| Body | Inter Variable | 15px | 400 | 1.30 | -0.01px | OpenType: cv11 |\n| Nav/UI | Inter Variable | 15px | 400 | 1.00 | -0.15px | OpenType: cv06, cv11, dlig, ss03 |\n| Body Readable | Inter Framer Regular | 14px | 400 | 1.60 | normal | Long-form body text |\n| Caption | Inter Variable | 14px | 400 | 1.40 | normal | OpenType: cv01, cv06, cv09, cv11, ss03, ss07 |\n| Label | Inter | 13px | 500 | 1.60 | normal | OpenType: cv06, cv11, ss03 |\n| Small Caption | Inter Variable | 12px | 400 | 1.40 | normal | OpenType: cv01, cv06, cv09, cv11, ss03, ss07 |\n| Micro Code | Azeret Mono | 10.4px | 400 | 1.60 | normal | OpenType: cv06, cv11, ss03 |\n| Badge | Open Runde | 9px | 600 | 1.11 | normal | OpenType: cv01, cv09 |\n| Micro Uppercase | Inter Variable | 7px | 400 | 1.00 | 0.21px | uppercase transform |\n\n### Principles\n- **Compression as personality**: GT Walsheim's extreme negative letter-spacing (-5.5px at 110px) is the defining typographic gesture — headlines feel spring-loaded, urgent, almost breathless\n- **OpenType maximalism**: Inter is deployed with 6+ OpenType features simultaneously (\\`cv01\\`, \\`cv05\\`, \\`cv09\\`, \\`cv11\\`, \\`ss03\\`, \\`ss07\\`), creating a subtly custom feel even at body sizes\n- **Weight restraint on display**: All GT Walsheim usage is weight 500 (medium) — never bold, never regular. This creates a confident-but-not-aggressive display tone\n- **Ultra-tight line heights**: Display text at 0.85 line-height means letters nearly overlap vertically — intentional density that rewards reading at arm's length\n\n## 4. Component Stylings\n\n### Buttons\n- **Frosted Pill**: \\`rgba(255, 255, 255, 0.1)\\` background, black text (\\`#000000\\`), pill shape (40px radius). The glass-effect button that lives on dark surfaces — translucent, ambient, subtle\n- **Solid White Pill**: \\`rgb(255, 255, 255)\\` background, black text (\\`#000000\\`), full pill shape (100px radius), padding \\`10px 15px\\`. The primary CTA — clean, high-contrast on dark, unmissable\n- **Ghost**: No visible background, white text, relies on text styling alone. Hover reveals subtle frosted background\n- **Transition**: Scale-based animations (matrix transform with 0.85 scale factor), opacity transitions for reveal effects\n\n### Cards & Containers\n- **Dark Surface Card**: Black or near-black (\\`#090909\\`) background, \\`rgba(0, 153, 255, 0.15) 0px 0px 0px 1px\\` blue ring shadow border, rounded corners (10px–15px radius)\n- **Elevated Card**: Multi-layer shadow — \\`rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0.5px\\` (subtle top highlight) + \\`rgba(0, 0, 0, 0.25) 0px 10px 30px\\` (deep ambient shadow)\n- **Product Screenshots**: Full-width or padded within dark containers, 8px–12px border-radius for software UI previews\n- **Hover**: Subtle glow increase on Framer Blue ring shadow, or brightness shift on frosted surfaces\n\n### Inputs & Forms\n- Minimal form presence on the marketing site\n- Input fields follow dark theme: dark background, subtle border, white text\n- Focus state: Framer Blue (\\`#0099ff\\`) ring border, \\`1px solid #0099ff\\`\n- Placeholder text in \\`rgba(255, 255, 255, 0.4)\\`\n\n### Navigation\n- **Dark floating nav bar**: Black background with frosted glass effect, white text links\n- **Nav links**: Inter at 15px, weight 400, white text with subtle hover opacity change\n- **CTA button**: Pill-shaped, white or frosted, positioned at right end of nav\n- **Mobile**: Collapses to hamburger menu, maintains dark theme\n- **Sticky behavior**: Nav remains fixed at top on scroll\n\n### Image Treatment\n- **Product screenshots as hero art**: Full-width embedded UI screenshots with rounded corners (8px–12px)\n- **Dark-on-dark composition**: Screenshots placed on black backgrounds with subtle shadow for depth separation\n- **16:9 and custom aspect ratios**: Product demos fill their containers\n- **No decorative imagery**: All images are functional — showing the tool, the output, or the workflow\n\n### Trust & Social Proof\n- Customer logos and testimonials in muted gray on dark surfaces\n- Minimal ornamentation — the product screenshots serve as the trust signal\n\n## 5. Layout Principles\n\n### Spacing System\n- **Base unit**: 8px\n- **Scale**: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 15px, 20px, 30px, 35px\n- **Section padding**: Large vertical spacing (80px–120px between sections)\n- **Card padding**: 15px–30px internal padding\n- **Component gaps**: 8px–20px between related elements\n\n### Grid & Container\n- **Max width**: ~1200px container, centered\n- **Column patterns**: Full-width hero, 2-column feature sections, single-column product showcases\n- **Asymmetric layouts**: Feature sections often pair text (40%) with screenshot (60%)\n\n### Whitespace Philosophy\n- **Breathe through darkness**: Generous vertical spacing between sections — the black background means whitespace manifests as void, creating dramatic pauses between content blocks\n- **Dense within, spacious between**: Individual components are tightly composed (tight line-heights, compressed text) but float in generous surrounding space\n- **Product-first density**: Screenshot areas are allowed to be dense and information-rich, contrasting with the sparse marketing text\n\n### Border Radius Scale\n- **1px**: Micro-elements, nearly squared precision edges\n- **5px–7px**: Small UI elements, image thumbnails — subtly softened\n- **8px**: Standard component radius — code blocks, buttons, interactive elements\n- **10px–12px**: Cards, product screenshots — comfortably rounded\n- **15px–20px**: Large containers, feature cards — generously rounded\n- **30px–40px**: Navigation pills, pagination — noticeably rounded\n- **100px**: Full pill shape — primary CTAs, tag elements\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Level 0 (Flat) | No shadow, pure black surface | Page background, empty areas |\n| Level 1 (Ring) | \\`rgba(0, 153, 255, 0.15) 0px 0px 0px 1px\\` | Card borders, interactive element outlines — Framer Blue glow ring |\n| Level 2 (Contained) | \\`rgb(9, 9, 9) 0px 0px 0px 2px\\` | Near-black ring for subtle containment on dark surfaces |\n| Level 3 (Floating) | \\`rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0.5px, rgba(0, 0, 0, 0.25) 0px 10px 30px\\` | Elevated cards, floating elements — subtle white top-edge highlight + deep ambient shadow |\n\n### Shadow Philosophy\nFramer's elevation system is inverted from traditional light-theme designs. Instead of darker shadows on light backgrounds, Framer uses:\n- **Blue-tinted ring shadows** at very low opacity (0.15) for containment — a signature move that subtly brands every bordered element\n- **White edge highlights** (0.5px) on the top edge of elevated elements — simulating light hitting the top surface\n- **Deep ambient shadows** for true floating elements — \\`rgba(0, 0, 0, 0.25)\\` at large spread (30px)\n\n### Decorative Depth\n- **Blue glow auras**: Subtle Framer Blue (\\`#0099ff\\`) radial gradients behind key interactive areas\n- **No background blur/glassmorphism**: Despite the frosted button effect, there's no heavy glass blur usage — the translucency is achieved through simple rgba opacity\n\n## 7. Do's and Don'ts\n\n### Do\n- Use pure black (\\`#000000\\`) as the primary background — not dark gray, not charcoal\n- Apply extreme negative letter-spacing on GT Walsheim display text (-3px to -5.5px)\n- Keep all buttons pill-shaped (40px+ radius) — never use squared or slightly-rounded buttons\n- Use Framer Blue (\\`#0099ff\\`) exclusively for interactive accents — links, borders, focus states\n- Deploy \\`rgba(255, 255, 255, 0.1)\\` for frosted glass surfaces on dark backgrounds\n- Maintain GT Walsheim at weight 500 only — the medium weight IS the brand\n- Use extensive OpenType features on Inter text (cv01, cv05, cv09, cv11, ss03, ss07)\n- Let product screenshots be the visual centerpiece — the tool markets itself\n- Apply blue ring shadows (\\`rgba(0, 153, 255, 0.15) 0px 0px 0px 1px\\`) for card containment\n\n### Don't\n- Use warm dark backgrounds (no \\`#1a1a1a\\`, \\`#2d2d2d\\`, or brownish blacks)\n- Apply bold (700+) weight to GT Walsheim display text — medium 500 only\n- Introduce additional accent colors beyond Framer Blue — this is a one-accent-color system\n- Use large border-radius on non-interactive elements (cards use 10px–15px, only buttons get 40px+)\n- Add decorative imagery, illustrations, or icons — the product IS the illustration\n- Use positive letter-spacing on headlines — everything is compressed, negative tracking\n- Create heavy drop shadows — depth is communicated through subtle rings and minimal ambients\n- Place light/white backgrounds behind content sections — the void is sacred\n- Use serif or display-weight fonts — the system is geometric sans-serif only\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <809px | Single column, stacked feature sections, reduced hero text (62px→40px), hamburger nav |\n| Tablet | 809px–1199px | 2-column features begin, nav links partially visible, screenshots scale down |\n| Desktop | >1199px | Full layout, expanded nav with all links + CTA, 110px display hero, side-by-side features |\n\n### Touch Targets\n- Pill buttons: minimum 40px height with 10px vertical padding — exceeds 44px WCAG minimum\n- Nav links: 15px text with generous padding for touch accessibility\n- Mobile CTA buttons: Full-width pills on mobile for easy thumb reach\n\n### Collapsing Strategy\n- **Navigation**: Full horizontal nav → hamburger menu at mobile breakpoint\n- **Hero text**: 110px display → 85px → 62px → ~40px across breakpoints, maintaining extreme negative tracking proportionally\n- **Feature sections**: Side-by-side (text + screenshot) → stacked vertically on mobile\n- **Product screenshots**: Scale responsively within containers, maintaining aspect ratios\n- **Section spacing**: Reduces proportionally — 120px desktop → 60px mobile\n\n### Image Behavior\n- Product screenshots are responsive, scaling within their container boundaries\n- No art direction changes — same crops across breakpoints\n- Dark background ensures screenshots maintain visual impact at any size\n- Screenshots lazy-load as user scrolls into view\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Primary Background: Void Black (\\`#000000\\`)\n- Primary Text: Pure White (\\`#ffffff\\`)\n- Accent/CTA: Framer Blue (\\`#0099ff\\`)\n- Secondary Text: Muted Silver (\\`#a6a6a6\\`)\n- Frosted Surface: Translucent White (\\`rgba(255, 255, 255, 0.1)\\`)\n- Elevation Ring: Blue Glow (\\`rgba(0, 153, 255, 0.15)\\`)\n\n### Example Component Prompts\n- \"Create a hero section on pure black background with 110px GT Walsheim heading in white, letter-spacing -5.5px, line-height 0.85, and a pill-shaped white CTA button (100px radius) with black text\"\n- \"Design a feature card on black background with a 1px Framer Blue ring shadow border (rgba(0,153,255,0.15)), 12px border-radius, white heading in Inter at 22px weight 700, and muted silver (a6a6a6) body text\"\n- \"Build a navigation bar with black background, white Inter text links at 15px, and a frosted pill button (rgba(255,255,255,0.1) background, 40px radius) as the CTA\"\n- \"Create a product showcase section with a full-width screenshot embedded on black, 10px border-radius, subtle multi-layer shadow (white 0.5px top highlight + rgba(0,0,0,0.25) 30px ambient)\"\n- \"Design a pricing card using pure black surface, Framer Blue (#0099ff) accent for the selected plan border, white text hierarchy (24px Inter bold heading, 14px regular body), and a solid white pill CTA button\"\n\n### Iteration Guide\nWhen refining existing screens generated with this design system:\n1. Focus on ONE component at a time — the dark canvas makes each element precious\n2. Always verify letter-spacing on GT Walsheim headings — the extreme negative tracking is non-negotiable\n3. Check that Framer Blue appears ONLY on interactive elements — never as decorative background or text color for non-links\n4. Ensure all buttons are pill-shaped — any squared corner immediately breaks the Framer aesthetic\n5. Test frosted glass surfaces by checking they have exactly \\`rgba(255, 255, 255, 0.1)\\` — too opaque looks like a bug, too transparent disappears\n`;\n"],"mappings":";AACO,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
@@ -0,0 +1,3 @@
1
+ declare const hashicorpBrief = "# Design System Inspired by HashiCorp\n\n## 1. Visual Theme & Atmosphere\n\nHashiCorp's website is enterprise infrastructure made tangible \u2014 a design system that must communicate the complexity of cloud infrastructure management while remaining approachable. The visual language splits between two modes: a clean white light-mode for informational sections and a dramatic dark-mode (`#15181e`, `#0d0e12`) for hero areas and product showcases, creating a day/night duality that mirrors the \"build in light, deploy in dark\" developer workflow.\n\nThe typography is anchored by a custom brand font (HashiCorp Sans, loaded as `__hashicorpSans_96f0ca`) that carries substantial weight \u2014 literally. Headings use 600\u2013700 weights with tight line-heights (1.17\u20131.19), creating dense, authoritative text blocks that communicate enterprise confidence. The hero headline at 82px weight 600 with OpenType `\"kern\"` enabled is not decorative \u2014 it's infrastructure-grade typography.\n\nWhat distinguishes HashiCorp is its multi-product color system. Each product in the portfolio has its own brand color \u2014 Terraform purple (`#7b42bc`), Vault yellow (`#ffcf25`), Waypoint teal (`#14c6cb`), Vagrant blue (`#1868f2`) \u2014 and these colors appear throughout as accent tokens via a CSS custom property system (`--mds-color-*`). This creates a design system within a design system: the parent brand is black-and-white with blue accents, while each child product injects its own chromatic identity.\n\nThe component system uses the `mds` (Markdown Design System) prefix, indicating a systematic, token-driven approach where colors, spacing, and states are all managed through CSS variables. Shadows are remarkably subtle \u2014 dual-layer micro-shadows using `rgba(97, 104, 117, 0.05)` that are nearly invisible but provide just enough depth to separate interactive surfaces from the background.\n\n**Key Characteristics:**\n- Dual-mode: clean white sections + dramatic dark (`#15181e`) hero/product areas\n- Custom HashiCorp Sans font with 600\u2013700 weights and `\"kern\"` feature\n- Multi-product color system via `--mds-color-*` CSS custom properties\n- Product brand colors: Terraform purple, Vault yellow, Waypoint teal, Vagrant blue\n- Uppercase letter-spaced captions (13px, weight 600, 1.3px letter-spacing)\n- Micro-shadows: dual-layer at 0.05 opacity \u2014 depth through whisper, not shout\n- Token-driven `mds` component system with semantic variable names\n- Tight border radius: 2px\u20138px, nothing pill-shaped or circular\n- System-ui fallback stack for secondary text\n\n## 2. Color Palette & Roles\n\n### Brand Primary\n- **Black** (`#000000`): Primary brand color, text on light surfaces, `--mds-color-hcp-brand`\n- **Dark Charcoal** (`#15181e`): Dark mode backgrounds, hero sections\n- **Near Black** (`#0d0e12`): Deepest dark mode surface, form inputs on dark\n\n### Neutral Scale\n- **Light Gray** (`#f1f2f3`): Light backgrounds, subtle surfaces\n- **Mid Gray** (`#d5d7db`): Borders, button text on dark\n- **Cool Gray** (`#b2b6bd`): Border accents (at 0.1\u20130.4 opacity)\n- **Dark Gray** (`#656a76`): Helper text, secondary labels, `--mds-form-helper-text-color`\n- **Charcoal** (`#3b3d45`): Secondary text on light, button borders\n- **Near White** (`#efeff1`): Primary text on dark surfaces\n\n### Product Brand Colors\n- **Terraform Purple** (`#7b42bc`): `--mds-color-terraform-button-background`\n- **Vault Yellow** (`#ffcf25`): `--mds-color-vault-button-background`\n- **Waypoint Teal** (`#14c6cb`): `--mds-color-waypoint-button-background-focus`\n- **Waypoint Teal Hover** (`#12b6bb`): `--mds-color-waypoint-button-background-hover`\n- **Vagrant Blue** (`#1868f2`): `--mds-color-vagrant-brand`\n- **Purple Accent** (`#911ced`): `--mds-color-palette-purple-300`\n- **Visited Purple** (`#a737ff`): `--mds-color-foreground-action-visited`\n\n### Semantic Colors\n- **Action Blue** (`#1060ff`): Primary action links on dark\n- **Link Blue** (`#2264d6`): Primary links on light\n- **Bright Blue** (`#2b89ff`): Active links, hover accent\n- **Amber** (`#bb5a00`): `--mds-color-palette-amber-200`, warning states\n- **Amber Light** (`#fbeabf`): `--mds-color-palette-amber-100`, warning backgrounds\n- **Vault Faint Yellow** (`#fff9cf`): `--mds-color-vault-radar-gradient-faint-stop`\n- **Orange** (`#a9722e`): `--mds-color-unified-core-orange-6`\n- **Red** (`#731e25`): `--mds-color-unified-core-red-7`, error states\n- **Navy** (`#101a59`): `--mds-color-unified-core-blue-7`\n\n### Shadows\n- **Micro Shadow** (`rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px`): Default card/button elevation\n- **Focus Outline**: `3px solid var(--mds-color-focus-action-external)` \u2014 systematic focus ring\n\n## 3. Typography Rules\n\n### Font Families\n- **Primary Brand**: `__hashicorpSans_96f0ca` (HashiCorp Sans), with fallback: `__hashicorpSans_Fallback_96f0ca`\n- **System UI**: `system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial`\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display Hero | HashiCorp Sans | 82px (5.13rem) | 600 | 1.17 (tight) | normal | `\"kern\"` enabled |\n| Section Heading | HashiCorp Sans | 52px (3.25rem) | 600 | 1.19 (tight) | normal | `\"kern\"` enabled |\n| Feature Heading | HashiCorp Sans | 42px (2.63rem) | 700 | 1.19 (tight) | -0.42px | Negative tracking |\n| Sub-heading | HashiCorp Sans | 34px (2.13rem) | 600\u2013700 | 1.18 (tight) | normal | Feature blocks |\n| Card Title | HashiCorp Sans | 26px (1.63rem) | 700 | 1.19 (tight) | normal | Card and panel headings |\n| Small Title | HashiCorp Sans | 19px (1.19rem) | 700 | 1.21 (tight) | normal | Compact headings |\n| Body Emphasis | HashiCorp Sans | 17px (1.06rem) | 600\u2013700 | 1.18\u20131.35 | normal | Bold body text |\n| Body Large | system-ui | 20px (1.25rem) | 400\u2013600 | 1.50 | normal | Hero descriptions |\n| Body | system-ui | 16px (1.00rem) | 400\u2013500 | 1.63\u20131.69 (relaxed) | normal | Standard body text |\n| Nav Link | system-ui | 15px (0.94rem) | 500 | 1.60 (relaxed) | normal | Navigation items |\n| Small Body | system-ui | 14px (0.88rem) | 400\u2013500 | 1.29\u20131.71 | normal | Secondary content |\n| Caption | system-ui | 13px (0.81rem) | 400\u2013500 | 1.23\u20131.69 | normal | Metadata, footer links |\n| Uppercase Label | HashiCorp Sans | 13px (0.81rem) | 600 | 1.69 (relaxed) | 1.3px | `text-transform: uppercase` |\n\n### Principles\n- **Brand/System split**: HashiCorp Sans for headings and brand-critical text; system-ui for body, navigation, and functional text. The brand font carries the weight, system-ui carries the words.\n- **Kern always on**: All HashiCorp Sans text enables OpenType `\"kern\"` \u2014 letterfitting is non-negotiable.\n- **Tight headings**: Every heading uses 1.17\u20131.21 line-height, creating dense, stacked text blocks that feel infrastructural \u2014 solid, load-bearing.\n- **Relaxed body**: Body text uses 1.50\u20131.69 line-height (notably generous), creating comfortable reading rhythm beneath the dense headings.\n- **Uppercase labels as wayfinding**: 13px uppercase with 1.3px letter-spacing serves as the systematic category/section marker \u2014 always HashiCorp Sans weight 600.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Primary Dark**\n- Background: `#15181e`\n- Text: `#d5d7db`\n- Padding: 9px 9px 9px 15px (asymmetric, more left padding)\n- Radius: 5px\n- Border: `1px solid rgba(178, 182, 189, 0.4)`\n- Shadow: `rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px`\n- Focus: `3px solid var(--mds-color-focus-action-external)`\n- Hover: uses `--mds-color-surface-interactive` token\n\n**Secondary White**\n- Background: `#ffffff`\n- Text: `#3b3d45`\n- Padding: 8px 12px\n- Radius: 4px\n- Hover: `--mds-color-surface-interactive` + low-shadow elevation\n- Focus: `3px solid transparent` outline\n- Clean, minimal appearance\n\n**Product-Colored Buttons**\n- Terraform: background `#7b42bc`\n- Vault: background `#ffcf25` (dark text)\n- Waypoint: background `#14c6cb`, hover `#12b6bb`\n- Each product button follows the same structural pattern but uses its brand color\n\n### Badges / Pills\n- Background: `#42225b` (deep purple)\n- Text: `#efeff1`\n- Padding: 3px 7px\n- Radius: 5px\n- Border: `1px solid rgb(180, 87, 255)`\n- Font: 16px\n\n### Inputs\n\n**Text Input (Dark Mode)**\n- Background: `#0d0e12`\n- Text: `#efeff1`\n- Border: `1px solid rgb(97, 104, 117)`\n- Padding: 11px\n- Radius: 5px\n- Focus: `3px solid var(--mds-color-focus-action-external)` outline\n\n**Checkbox**\n- Background: `#0d0e12`\n- Border: `1px solid rgb(97, 104, 117)`\n- Radius: 3px\n\n### Links\n- **Action Blue on Light**: `#2264d6`, hover \u2192 blue-600 variable, underline on hover\n- **Action Blue on Dark**: `#1060ff` or `#2b89ff`, underline on hover\n- **White on Dark**: `#ffffff`, transparent underline \u2192 visible underline on hover\n- **Neutral on Light**: `#3b3d45`, transparent underline \u2192 visible underline on hover\n- **Light on Dark**: `#efeff1`, similar hover pattern\n- All links use `var(--wpl-blue-600)` as hover color\n\n### Cards & Containers\n- Light mode: white background, micro-shadow elevation\n- Dark mode: `#15181e` or darker surfaces\n- Radius: 8px for cards and containers\n- Product showcase cards with gradient borders or accent lighting\n\n### Navigation\n- Clean horizontal nav with mega-menu dropdowns\n- HashiCorp logo left-aligned\n- system-ui 15px weight 500 for links\n- Product categories organized by lifecycle management group\n- \"Get started\" and \"Contact us\" CTAs in header\n- Dark mode variant for hero sections\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 2px, 3px, 4px, 6px, 7px, 8px, 9px, 11px, 12px, 16px, 20px, 24px, 32px, 40px, 48px\n\n### Grid & Container\n- Max content width: ~1150px (xl breakpoint)\n- Full-width dark hero sections with contained content\n- Card grids: 2\u20133 column layouts\n- Generous horizontal padding at desktop scale\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile Small | <375px | Tight single column |\n| Mobile | 375\u2013480px | Standard mobile |\n| Small Tablet | 480\u2013600px | Minor adjustments |\n| Tablet | 600\u2013768px | 2-column grids begin |\n| Small Desktop | 768\u2013992px | Full nav visible |\n| Desktop | 992\u20131120px | Standard layout |\n| Large Desktop | 1120\u20131440px | Max-width content |\n| Ultra-wide | >1440px | Centered, generous margins |\n\n### Whitespace Philosophy\n- **Enterprise breathing room**: Generous vertical spacing between sections (48px\u201380px+) communicates stability and seriousness.\n- **Dense headings, spacious body**: Tight line-height headings sit above relaxed body text, creating visual \"weight at the top\" of each section.\n- **Dark as canvas**: Dark hero sections use extra vertical padding to let 3D illustrations and gradients breathe.\n\n### Border Radius Scale\n- Minimal (2px): Links, small inline elements\n- Subtle (3px): Checkboxes, small inputs\n- Standard (4px): Secondary buttons\n- Comfortable (5px): Primary buttons, badges, inputs\n- Card (8px): Cards, containers, images\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow | Default surfaces, text blocks |\n| Whisper (Level 1) | `rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px` | Cards, buttons, interactive surfaces |\n| Focus (Level 2) | `3px solid var(--mds-color-focus-action-external)` outline | Focus rings \u2014 color-matched to context |\n\n**Shadow Philosophy**: HashiCorp uses arguably the subtlest shadow system in modern web design. The dual-layer shadows at 5% opacity are nearly invisible \u2014 they exist not to create visual depth but to signal interactivity. If you can see the shadow, it's too strong. This restraint communicates the enterprise value of stability \u2014 nothing floats, nothing is uncertain.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use HashiCorp Sans for headings and brand text, system-ui for body and UI text\n- Enable `\"kern\"` on all HashiCorp Sans text\n- Use product brand colors ONLY for their respective products (Terraform = purple, Vault = yellow, etc.)\n- Apply uppercase labels at 13px weight 600 with 1.3px letter-spacing for section markers\n- Keep shadows at the \"whisper\" level (0.05 opacity dual-layer)\n- Use the `--mds-color-*` token system for consistent color application\n- Maintain the tight-heading / relaxed-body rhythm (1.17\u20131.21 vs 1.50\u20131.69 line-heights)\n- Use `3px solid` focus outlines for accessibility\n\n### Don't\n- Don't use product brand colors outside their product context (no Terraform purple on Vault content)\n- Don't increase shadow opacity above 0.1 \u2014 the whisper level is intentional\n- Don't use pill-shaped buttons (>8px radius) \u2014 the sharp, minimal radius is structural\n- Don't skip the `\"kern\"` feature on headings \u2014 the font requires it\n- Don't use HashiCorp Sans for small body text \u2014 it's designed for 17px+ heading use\n- Don't mix product colors in the same component \u2014 each product has one color\n- Don't use pure black (`#000000`) for dark backgrounds \u2014 use `#15181e` or `#0d0e12`\n- Don't forget the asymmetric button padding \u2014 9px 9px 9px 15px is intentional\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <768px | Single column, hamburger nav, stacked CTAs |\n| Tablet | 768\u2013992px | 2-column grids, nav begins expanding |\n| Desktop | 992\u20131150px | Full layout, mega-menu nav |\n| Large | >1150px | Max-width centered, generous margins |\n\n### Collapsing Strategy\n- Hero: 82px \u2192 52px \u2192 42px heading sizes\n- Navigation: mega-menu \u2192 hamburger\n- Product cards: 3-column \u2192 2-column \u2192 stacked\n- Dark sections maintain full-width but compress padding\n- Buttons: inline \u2192 full-width stacked on mobile\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Light bg: `#ffffff`, `#f1f2f3`\n- Dark bg: `#15181e`, `#0d0e12`\n- Text light: `#000000`, `#3b3d45`\n- Text dark: `#efeff1`, `#d5d7db`\n- Links: `#2264d6` (light), `#1060ff` (dark), `#2b89ff` (active)\n- Helper text: `#656a76`\n- Borders: `rgba(178, 182, 189, 0.4)`, `rgb(97, 104, 117)`\n- Focus: `3px solid` product-appropriate color\n\n### Example Component Prompts\n- \"Create a hero on dark background (#15181e). Headline at 82px HashiCorp Sans weight 600, line-height 1.17, kern enabled, white text. Sub-text at 20px system-ui weight 400, line-height 1.50, #d5d7db text. Two buttons: primary dark (#15181e, 5px radius, 9px 15px padding) and secondary white (#ffffff, 4px radius, 8px 12px padding).\"\n- \"Design a product card: white background, 8px radius, dual-layer shadow at rgba(97,104,117,0.05). Title at 26px HashiCorp Sans weight 700, body at 16px system-ui weight 400 line-height 1.63.\"\n- \"Build an uppercase section label: 13px HashiCorp Sans weight 600, line-height 1.69, letter-spacing 1.3px, text-transform uppercase, #656a76 color.\"\n- \"Create a product-specific CTA button: Terraform \u2192 #7b42bc background, Vault \u2192 #ffcf25 with dark text, Waypoint \u2192 #14c6cb. All: 5px radius, 500 weight text, 16px system-ui.\"\n- \"Design a dark form: #0d0e12 input background, #efeff1 text, 1px solid rgb(97,104,117) border, 5px radius, 11px padding. Focus: 3px solid accent-color outline.\"\n\n### Iteration Guide\n1. Always start with the mode decision: light (white) for informational, dark (#15181e) for hero/product\n2. HashiCorp Sans for headings only (17px+), system-ui for everything else\n3. Shadows are at whisper level (0.05 opacity) \u2014 if visible, reduce\n4. Product colors are sacred \u2014 each product owns exactly one color\n5. Focus rings are always 3px solid, color-matched to product context\n6. Uppercase labels are the systematic wayfinding pattern \u2014 13px, 600, 1.3px tracking\n";
2
+
3
+ export { hashicorpBrief };
@@ -0,0 +1,284 @@
1
+ // src/presets/_briefs/hashicorp.ts
2
+ var hashicorpBrief = `# Design System Inspired by HashiCorp
3
+
4
+ ## 1. Visual Theme & Atmosphere
5
+
6
+ HashiCorp's website is enterprise infrastructure made tangible \u2014 a design system that must communicate the complexity of cloud infrastructure management while remaining approachable. The visual language splits between two modes: a clean white light-mode for informational sections and a dramatic dark-mode (\`#15181e\`, \`#0d0e12\`) for hero areas and product showcases, creating a day/night duality that mirrors the "build in light, deploy in dark" developer workflow.
7
+
8
+ The typography is anchored by a custom brand font (HashiCorp Sans, loaded as \`__hashicorpSans_96f0ca\`) that carries substantial weight \u2014 literally. Headings use 600\u2013700 weights with tight line-heights (1.17\u20131.19), creating dense, authoritative text blocks that communicate enterprise confidence. The hero headline at 82px weight 600 with OpenType \`"kern"\` enabled is not decorative \u2014 it's infrastructure-grade typography.
9
+
10
+ What distinguishes HashiCorp is its multi-product color system. Each product in the portfolio has its own brand color \u2014 Terraform purple (\`#7b42bc\`), Vault yellow (\`#ffcf25\`), Waypoint teal (\`#14c6cb\`), Vagrant blue (\`#1868f2\`) \u2014 and these colors appear throughout as accent tokens via a CSS custom property system (\`--mds-color-*\`). This creates a design system within a design system: the parent brand is black-and-white with blue accents, while each child product injects its own chromatic identity.
11
+
12
+ The component system uses the \`mds\` (Markdown Design System) prefix, indicating a systematic, token-driven approach where colors, spacing, and states are all managed through CSS variables. Shadows are remarkably subtle \u2014 dual-layer micro-shadows using \`rgba(97, 104, 117, 0.05)\` that are nearly invisible but provide just enough depth to separate interactive surfaces from the background.
13
+
14
+ **Key Characteristics:**
15
+ - Dual-mode: clean white sections + dramatic dark (\`#15181e\`) hero/product areas
16
+ - Custom HashiCorp Sans font with 600\u2013700 weights and \`"kern"\` feature
17
+ - Multi-product color system via \`--mds-color-*\` CSS custom properties
18
+ - Product brand colors: Terraform purple, Vault yellow, Waypoint teal, Vagrant blue
19
+ - Uppercase letter-spaced captions (13px, weight 600, 1.3px letter-spacing)
20
+ - Micro-shadows: dual-layer at 0.05 opacity \u2014 depth through whisper, not shout
21
+ - Token-driven \`mds\` component system with semantic variable names
22
+ - Tight border radius: 2px\u20138px, nothing pill-shaped or circular
23
+ - System-ui fallback stack for secondary text
24
+
25
+ ## 2. Color Palette & Roles
26
+
27
+ ### Brand Primary
28
+ - **Black** (\`#000000\`): Primary brand color, text on light surfaces, \`--mds-color-hcp-brand\`
29
+ - **Dark Charcoal** (\`#15181e\`): Dark mode backgrounds, hero sections
30
+ - **Near Black** (\`#0d0e12\`): Deepest dark mode surface, form inputs on dark
31
+
32
+ ### Neutral Scale
33
+ - **Light Gray** (\`#f1f2f3\`): Light backgrounds, subtle surfaces
34
+ - **Mid Gray** (\`#d5d7db\`): Borders, button text on dark
35
+ - **Cool Gray** (\`#b2b6bd\`): Border accents (at 0.1\u20130.4 opacity)
36
+ - **Dark Gray** (\`#656a76\`): Helper text, secondary labels, \`--mds-form-helper-text-color\`
37
+ - **Charcoal** (\`#3b3d45\`): Secondary text on light, button borders
38
+ - **Near White** (\`#efeff1\`): Primary text on dark surfaces
39
+
40
+ ### Product Brand Colors
41
+ - **Terraform Purple** (\`#7b42bc\`): \`--mds-color-terraform-button-background\`
42
+ - **Vault Yellow** (\`#ffcf25\`): \`--mds-color-vault-button-background\`
43
+ - **Waypoint Teal** (\`#14c6cb\`): \`--mds-color-waypoint-button-background-focus\`
44
+ - **Waypoint Teal Hover** (\`#12b6bb\`): \`--mds-color-waypoint-button-background-hover\`
45
+ - **Vagrant Blue** (\`#1868f2\`): \`--mds-color-vagrant-brand\`
46
+ - **Purple Accent** (\`#911ced\`): \`--mds-color-palette-purple-300\`
47
+ - **Visited Purple** (\`#a737ff\`): \`--mds-color-foreground-action-visited\`
48
+
49
+ ### Semantic Colors
50
+ - **Action Blue** (\`#1060ff\`): Primary action links on dark
51
+ - **Link Blue** (\`#2264d6\`): Primary links on light
52
+ - **Bright Blue** (\`#2b89ff\`): Active links, hover accent
53
+ - **Amber** (\`#bb5a00\`): \`--mds-color-palette-amber-200\`, warning states
54
+ - **Amber Light** (\`#fbeabf\`): \`--mds-color-palette-amber-100\`, warning backgrounds
55
+ - **Vault Faint Yellow** (\`#fff9cf\`): \`--mds-color-vault-radar-gradient-faint-stop\`
56
+ - **Orange** (\`#a9722e\`): \`--mds-color-unified-core-orange-6\`
57
+ - **Red** (\`#731e25\`): \`--mds-color-unified-core-red-7\`, error states
58
+ - **Navy** (\`#101a59\`): \`--mds-color-unified-core-blue-7\`
59
+
60
+ ### Shadows
61
+ - **Micro Shadow** (\`rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px\`): Default card/button elevation
62
+ - **Focus Outline**: \`3px solid var(--mds-color-focus-action-external)\` \u2014 systematic focus ring
63
+
64
+ ## 3. Typography Rules
65
+
66
+ ### Font Families
67
+ - **Primary Brand**: \`__hashicorpSans_96f0ca\` (HashiCorp Sans), with fallback: \`__hashicorpSans_Fallback_96f0ca\`
68
+ - **System UI**: \`system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial\`
69
+
70
+ ### Hierarchy
71
+
72
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
73
+ |------|------|------|--------|-------------|----------------|-------|
74
+ | Display Hero | HashiCorp Sans | 82px (5.13rem) | 600 | 1.17 (tight) | normal | \`"kern"\` enabled |
75
+ | Section Heading | HashiCorp Sans | 52px (3.25rem) | 600 | 1.19 (tight) | normal | \`"kern"\` enabled |
76
+ | Feature Heading | HashiCorp Sans | 42px (2.63rem) | 700 | 1.19 (tight) | -0.42px | Negative tracking |
77
+ | Sub-heading | HashiCorp Sans | 34px (2.13rem) | 600\u2013700 | 1.18 (tight) | normal | Feature blocks |
78
+ | Card Title | HashiCorp Sans | 26px (1.63rem) | 700 | 1.19 (tight) | normal | Card and panel headings |
79
+ | Small Title | HashiCorp Sans | 19px (1.19rem) | 700 | 1.21 (tight) | normal | Compact headings |
80
+ | Body Emphasis | HashiCorp Sans | 17px (1.06rem) | 600\u2013700 | 1.18\u20131.35 | normal | Bold body text |
81
+ | Body Large | system-ui | 20px (1.25rem) | 400\u2013600 | 1.50 | normal | Hero descriptions |
82
+ | Body | system-ui | 16px (1.00rem) | 400\u2013500 | 1.63\u20131.69 (relaxed) | normal | Standard body text |
83
+ | Nav Link | system-ui | 15px (0.94rem) | 500 | 1.60 (relaxed) | normal | Navigation items |
84
+ | Small Body | system-ui | 14px (0.88rem) | 400\u2013500 | 1.29\u20131.71 | normal | Secondary content |
85
+ | Caption | system-ui | 13px (0.81rem) | 400\u2013500 | 1.23\u20131.69 | normal | Metadata, footer links |
86
+ | Uppercase Label | HashiCorp Sans | 13px (0.81rem) | 600 | 1.69 (relaxed) | 1.3px | \`text-transform: uppercase\` |
87
+
88
+ ### Principles
89
+ - **Brand/System split**: HashiCorp Sans for headings and brand-critical text; system-ui for body, navigation, and functional text. The brand font carries the weight, system-ui carries the words.
90
+ - **Kern always on**: All HashiCorp Sans text enables OpenType \`"kern"\` \u2014 letterfitting is non-negotiable.
91
+ - **Tight headings**: Every heading uses 1.17\u20131.21 line-height, creating dense, stacked text blocks that feel infrastructural \u2014 solid, load-bearing.
92
+ - **Relaxed body**: Body text uses 1.50\u20131.69 line-height (notably generous), creating comfortable reading rhythm beneath the dense headings.
93
+ - **Uppercase labels as wayfinding**: 13px uppercase with 1.3px letter-spacing serves as the systematic category/section marker \u2014 always HashiCorp Sans weight 600.
94
+
95
+ ## 4. Component Stylings
96
+
97
+ ### Buttons
98
+
99
+ **Primary Dark**
100
+ - Background: \`#15181e\`
101
+ - Text: \`#d5d7db\`
102
+ - Padding: 9px 9px 9px 15px (asymmetric, more left padding)
103
+ - Radius: 5px
104
+ - Border: \`1px solid rgba(178, 182, 189, 0.4)\`
105
+ - Shadow: \`rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px\`
106
+ - Focus: \`3px solid var(--mds-color-focus-action-external)\`
107
+ - Hover: uses \`--mds-color-surface-interactive\` token
108
+
109
+ **Secondary White**
110
+ - Background: \`#ffffff\`
111
+ - Text: \`#3b3d45\`
112
+ - Padding: 8px 12px
113
+ - Radius: 4px
114
+ - Hover: \`--mds-color-surface-interactive\` + low-shadow elevation
115
+ - Focus: \`3px solid transparent\` outline
116
+ - Clean, minimal appearance
117
+
118
+ **Product-Colored Buttons**
119
+ - Terraform: background \`#7b42bc\`
120
+ - Vault: background \`#ffcf25\` (dark text)
121
+ - Waypoint: background \`#14c6cb\`, hover \`#12b6bb\`
122
+ - Each product button follows the same structural pattern but uses its brand color
123
+
124
+ ### Badges / Pills
125
+ - Background: \`#42225b\` (deep purple)
126
+ - Text: \`#efeff1\`
127
+ - Padding: 3px 7px
128
+ - Radius: 5px
129
+ - Border: \`1px solid rgb(180, 87, 255)\`
130
+ - Font: 16px
131
+
132
+ ### Inputs
133
+
134
+ **Text Input (Dark Mode)**
135
+ - Background: \`#0d0e12\`
136
+ - Text: \`#efeff1\`
137
+ - Border: \`1px solid rgb(97, 104, 117)\`
138
+ - Padding: 11px
139
+ - Radius: 5px
140
+ - Focus: \`3px solid var(--mds-color-focus-action-external)\` outline
141
+
142
+ **Checkbox**
143
+ - Background: \`#0d0e12\`
144
+ - Border: \`1px solid rgb(97, 104, 117)\`
145
+ - Radius: 3px
146
+
147
+ ### Links
148
+ - **Action Blue on Light**: \`#2264d6\`, hover \u2192 blue-600 variable, underline on hover
149
+ - **Action Blue on Dark**: \`#1060ff\` or \`#2b89ff\`, underline on hover
150
+ - **White on Dark**: \`#ffffff\`, transparent underline \u2192 visible underline on hover
151
+ - **Neutral on Light**: \`#3b3d45\`, transparent underline \u2192 visible underline on hover
152
+ - **Light on Dark**: \`#efeff1\`, similar hover pattern
153
+ - All links use \`var(--wpl-blue-600)\` as hover color
154
+
155
+ ### Cards & Containers
156
+ - Light mode: white background, micro-shadow elevation
157
+ - Dark mode: \`#15181e\` or darker surfaces
158
+ - Radius: 8px for cards and containers
159
+ - Product showcase cards with gradient borders or accent lighting
160
+
161
+ ### Navigation
162
+ - Clean horizontal nav with mega-menu dropdowns
163
+ - HashiCorp logo left-aligned
164
+ - system-ui 15px weight 500 for links
165
+ - Product categories organized by lifecycle management group
166
+ - "Get started" and "Contact us" CTAs in header
167
+ - Dark mode variant for hero sections
168
+
169
+ ## 5. Layout Principles
170
+
171
+ ### Spacing System
172
+ - Base unit: 8px
173
+ - Scale: 2px, 3px, 4px, 6px, 7px, 8px, 9px, 11px, 12px, 16px, 20px, 24px, 32px, 40px, 48px
174
+
175
+ ### Grid & Container
176
+ - Max content width: ~1150px (xl breakpoint)
177
+ - Full-width dark hero sections with contained content
178
+ - Card grids: 2\u20133 column layouts
179
+ - Generous horizontal padding at desktop scale
180
+
181
+ ### Breakpoints
182
+ | Name | Width | Key Changes |
183
+ |------|-------|-------------|
184
+ | Mobile Small | <375px | Tight single column |
185
+ | Mobile | 375\u2013480px | Standard mobile |
186
+ | Small Tablet | 480\u2013600px | Minor adjustments |
187
+ | Tablet | 600\u2013768px | 2-column grids begin |
188
+ | Small Desktop | 768\u2013992px | Full nav visible |
189
+ | Desktop | 992\u20131120px | Standard layout |
190
+ | Large Desktop | 1120\u20131440px | Max-width content |
191
+ | Ultra-wide | >1440px | Centered, generous margins |
192
+
193
+ ### Whitespace Philosophy
194
+ - **Enterprise breathing room**: Generous vertical spacing between sections (48px\u201380px+) communicates stability and seriousness.
195
+ - **Dense headings, spacious body**: Tight line-height headings sit above relaxed body text, creating visual "weight at the top" of each section.
196
+ - **Dark as canvas**: Dark hero sections use extra vertical padding to let 3D illustrations and gradients breathe.
197
+
198
+ ### Border Radius Scale
199
+ - Minimal (2px): Links, small inline elements
200
+ - Subtle (3px): Checkboxes, small inputs
201
+ - Standard (4px): Secondary buttons
202
+ - Comfortable (5px): Primary buttons, badges, inputs
203
+ - Card (8px): Cards, containers, images
204
+
205
+ ## 6. Depth & Elevation
206
+
207
+ | Level | Treatment | Use |
208
+ |-------|-----------|-----|
209
+ | Flat (Level 0) | No shadow | Default surfaces, text blocks |
210
+ | Whisper (Level 1) | \`rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px\` | Cards, buttons, interactive surfaces |
211
+ | Focus (Level 2) | \`3px solid var(--mds-color-focus-action-external)\` outline | Focus rings \u2014 color-matched to context |
212
+
213
+ **Shadow Philosophy**: HashiCorp uses arguably the subtlest shadow system in modern web design. The dual-layer shadows at 5% opacity are nearly invisible \u2014 they exist not to create visual depth but to signal interactivity. If you can see the shadow, it's too strong. This restraint communicates the enterprise value of stability \u2014 nothing floats, nothing is uncertain.
214
+
215
+ ## 7. Do's and Don'ts
216
+
217
+ ### Do
218
+ - Use HashiCorp Sans for headings and brand text, system-ui for body and UI text
219
+ - Enable \`"kern"\` on all HashiCorp Sans text
220
+ - Use product brand colors ONLY for their respective products (Terraform = purple, Vault = yellow, etc.)
221
+ - Apply uppercase labels at 13px weight 600 with 1.3px letter-spacing for section markers
222
+ - Keep shadows at the "whisper" level (0.05 opacity dual-layer)
223
+ - Use the \`--mds-color-*\` token system for consistent color application
224
+ - Maintain the tight-heading / relaxed-body rhythm (1.17\u20131.21 vs 1.50\u20131.69 line-heights)
225
+ - Use \`3px solid\` focus outlines for accessibility
226
+
227
+ ### Don't
228
+ - Don't use product brand colors outside their product context (no Terraform purple on Vault content)
229
+ - Don't increase shadow opacity above 0.1 \u2014 the whisper level is intentional
230
+ - Don't use pill-shaped buttons (>8px radius) \u2014 the sharp, minimal radius is structural
231
+ - Don't skip the \`"kern"\` feature on headings \u2014 the font requires it
232
+ - Don't use HashiCorp Sans for small body text \u2014 it's designed for 17px+ heading use
233
+ - Don't mix product colors in the same component \u2014 each product has one color
234
+ - Don't use pure black (\`#000000\`) for dark backgrounds \u2014 use \`#15181e\` or \`#0d0e12\`
235
+ - Don't forget the asymmetric button padding \u2014 9px 9px 9px 15px is intentional
236
+
237
+ ## 8. Responsive Behavior
238
+
239
+ ### Breakpoints
240
+ | Name | Width | Key Changes |
241
+ |------|-------|-------------|
242
+ | Mobile | <768px | Single column, hamburger nav, stacked CTAs |
243
+ | Tablet | 768\u2013992px | 2-column grids, nav begins expanding |
244
+ | Desktop | 992\u20131150px | Full layout, mega-menu nav |
245
+ | Large | >1150px | Max-width centered, generous margins |
246
+
247
+ ### Collapsing Strategy
248
+ - Hero: 82px \u2192 52px \u2192 42px heading sizes
249
+ - Navigation: mega-menu \u2192 hamburger
250
+ - Product cards: 3-column \u2192 2-column \u2192 stacked
251
+ - Dark sections maintain full-width but compress padding
252
+ - Buttons: inline \u2192 full-width stacked on mobile
253
+
254
+ ## 9. Agent Prompt Guide
255
+
256
+ ### Quick Color Reference
257
+ - Light bg: \`#ffffff\`, \`#f1f2f3\`
258
+ - Dark bg: \`#15181e\`, \`#0d0e12\`
259
+ - Text light: \`#000000\`, \`#3b3d45\`
260
+ - Text dark: \`#efeff1\`, \`#d5d7db\`
261
+ - Links: \`#2264d6\` (light), \`#1060ff\` (dark), \`#2b89ff\` (active)
262
+ - Helper text: \`#656a76\`
263
+ - Borders: \`rgba(178, 182, 189, 0.4)\`, \`rgb(97, 104, 117)\`
264
+ - Focus: \`3px solid\` product-appropriate color
265
+
266
+ ### Example Component Prompts
267
+ - "Create a hero on dark background (#15181e). Headline at 82px HashiCorp Sans weight 600, line-height 1.17, kern enabled, white text. Sub-text at 20px system-ui weight 400, line-height 1.50, #d5d7db text. Two buttons: primary dark (#15181e, 5px radius, 9px 15px padding) and secondary white (#ffffff, 4px radius, 8px 12px padding)."
268
+ - "Design a product card: white background, 8px radius, dual-layer shadow at rgba(97,104,117,0.05). Title at 26px HashiCorp Sans weight 700, body at 16px system-ui weight 400 line-height 1.63."
269
+ - "Build an uppercase section label: 13px HashiCorp Sans weight 600, line-height 1.69, letter-spacing 1.3px, text-transform uppercase, #656a76 color."
270
+ - "Create a product-specific CTA button: Terraform \u2192 #7b42bc background, Vault \u2192 #ffcf25 with dark text, Waypoint \u2192 #14c6cb. All: 5px radius, 500 weight text, 16px system-ui."
271
+ - "Design a dark form: #0d0e12 input background, #efeff1 text, 1px solid rgb(97,104,117) border, 5px radius, 11px padding. Focus: 3px solid accent-color outline."
272
+
273
+ ### Iteration Guide
274
+ 1. Always start with the mode decision: light (white) for informational, dark (#15181e) for hero/product
275
+ 2. HashiCorp Sans for headings only (17px+), system-ui for everything else
276
+ 3. Shadows are at whisper level (0.05 opacity) \u2014 if visible, reduce
277
+ 4. Product colors are sacred \u2014 each product owns exactly one color
278
+ 5. Focus rings are always 3px solid, color-matched to product context
279
+ 6. Uppercase labels are the systematic wayfinding pattern \u2014 13px, 600, 1.3px tracking
280
+ `;
281
+ export {
282
+ hashicorpBrief
283
+ };
284
+ //# sourceMappingURL=hashicorp.js.map