@hex-core/themes 0.1.0 → 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 @@
1
+ {"version":3,"sources":["../../../src/presets/_briefs/ferrari.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const ferrariBrief = `---\nversion: alpha\nname: Ferrari\ndescription: A luxury-automotive brand whose marketing surfaces read as cinematic editorial. The base canvas is **near-black** (\\`#181818\\`) holding pure white display type; white-canvas bands appear only inside specific editorial contexts (preowned listings, pricing tables). The single brand voltage is **Rosso Corsa** (\\`#da291c\\`) — the iconic Ferrari racing red — used scarcely on primary CTAs, the Cavallino mark, and Formula 1 race-position highlights. Type runs **FerrariSans** at modest weights (display 500, body 400) — never bombastic. Spacing follows an explicit 8px token ladder (\\`xxxs\\` 4px through \\`super\\` 128px); generous editorial pacing throughout. The brand's strongest visual signature is the **full-bleed cinematic hero photograph** that fills the viewport top with car photography, model details, or trackside livery — followed by a tighter editorial body layout below.\n\ncolors:\n primary: \"#da291c\"\n primary-active: \"#b01e0a\"\n primary-hover: \"#9d2211\"\n ink: \"#ffffff\"\n body: \"#969696\"\n body-strong: \"#ffffff\"\n body-on-light: \"#181818\"\n muted: \"#666666\"\n muted-soft: \"#8f8f8f\"\n hairline: \"#303030\"\n hairline-on-light: \"#d2d2d2\"\n hairline-soft: \"#ebebeb\"\n canvas: \"#181818\"\n canvas-elevated: \"#303030\"\n canvas-light: \"#ffffff\"\n surface-card: \"#303030\"\n surface-soft-light: \"#f7f7f7\"\n surface-strong-light: \"#ebebeb\"\n on-primary: \"#ffffff\"\n on-dark: \"#ffffff\"\n on-light: \"#181818\"\n accent-yellow-hypersail: \"#fff200\"\n accent-yellow: \"#f6e500\"\n semantic-info: \"#4c98b9\"\n semantic-success: \"#03904a\"\n semantic-warning: \"#f13a2c\"\n\ntypography:\n display-mega:\n fontFamily: \"'FerrariSans', -apple-system, system-ui, sans-serif\"\n fontSize: 80px\n fontWeight: 500\n lineHeight: 1.05\n letterSpacing: -1.6px\n display-xl:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 56px\n fontWeight: 500\n lineHeight: 1.1\n letterSpacing: -1.12px\n display-lg:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 36px\n fontWeight: 500\n lineHeight: 1.2\n letterSpacing: -0.36px\n display-md:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 26px\n fontWeight: 500\n lineHeight: 1.5\n letterSpacing: 0.195px\n title-md:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 18px\n fontWeight: 700\n lineHeight: 1.2\n letterSpacing: 0\n title-sm:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 16px\n fontWeight: 500\n lineHeight: 1.4\n letterSpacing: 0.08px\n body-md:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 14px\n fontWeight: 400\n lineHeight: 1.5\n letterSpacing: 0\n body-sm:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 13px\n fontWeight: 400\n lineHeight: 1.5\n letterSpacing: 0\n caption:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 12px\n fontWeight: 400\n lineHeight: 1.4\n letterSpacing: 0\n caption-uppercase:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 11px\n fontWeight: 600\n lineHeight: 1.4\n letterSpacing: 1.1px\n textTransform: uppercase\n button:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 14px\n fontWeight: 700\n lineHeight: 1.0\n letterSpacing: 1.4px\n textTransform: uppercase\n nav-link:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 13px\n fontWeight: 600\n lineHeight: 1.4\n letterSpacing: 0.65px\n textTransform: uppercase\n number-display:\n fontFamily: \"'FerrariSans', sans-serif\"\n fontSize: 80px\n fontWeight: 700\n lineHeight: 1.0\n letterSpacing: -1.6px\n\nrounded:\n none: 0px\n xs: 2px\n sm: 4px\n md: 6px\n lg: 8px\n xl: 12px\n full: 9999px\n\nspacing:\n xxxs: 4px\n xxs: 8px\n xs: 16px\n sm: 24px\n md: 32px\n lg: 48px\n xl: 64px\n xxl: 96px\n super: 128px\n\ncomponents:\n top-nav-on-dark:\n backgroundColor: \"{colors.canvas}\"\n textColor: \"{colors.ink}\"\n typography: \"{typography.nav-link}\"\n height: 64px\n top-nav-on-light:\n backgroundColor: \"{colors.canvas-light}\"\n textColor: \"{colors.body-on-light}\"\n typography: \"{typography.nav-link}\"\n height: 64px\n button-primary:\n backgroundColor: \"{colors.primary}\"\n textColor: \"{colors.on-primary}\"\n typography: \"{typography.button}\"\n rounded: \"{rounded.none}\"\n padding: 14px 32px\n height: 48px\n button-primary-active:\n backgroundColor: \"{colors.primary-active}\"\n textColor: \"{colors.on-primary}\"\n rounded: \"{rounded.none}\"\n button-outline-on-dark:\n backgroundColor: transparent\n textColor: \"{colors.ink}\"\n typography: \"{typography.button}\"\n rounded: \"{rounded.none}\"\n padding: 13px 31px\n height: 48px\n button-outline-on-light:\n backgroundColor: transparent\n textColor: \"{colors.body-on-light}\"\n typography: \"{typography.button}\"\n rounded: \"{rounded.none}\"\n padding: 13px 31px\n height: 48px\n button-tertiary-text:\n backgroundColor: transparent\n textColor: \"{colors.ink}\"\n typography: \"{typography.button}\"\n hero-band-cinema:\n backgroundColor: \"{colors.canvas}\"\n textColor: \"{colors.ink}\"\n typography: \"{typography.display-mega}\"\n padding: 0\n hero-band-light:\n backgroundColor: \"{colors.canvas-light}\"\n textColor: \"{colors.body-on-light}\"\n typography: \"{typography.display-xl}\"\n padding: 96px\n feature-card-photo:\n backgroundColor: \"{colors.canvas}\"\n textColor: \"{colors.ink}\"\n typography: \"{typography.title-md}\"\n rounded: \"{rounded.none}\"\n padding: 0\n feature-card-light:\n backgroundColor: \"{colors.canvas-light}\"\n textColor: \"{colors.body-on-light}\"\n typography: \"{typography.title-md}\"\n rounded: \"{rounded.none}\"\n padding: 32px\n livery-band:\n backgroundColor: \"{colors.primary}\"\n textColor: \"{colors.ink}\"\n typography: \"{typography.display-lg}\"\n padding: 96px\n preowned-listing-card:\n backgroundColor: \"{colors.canvas-light}\"\n textColor: \"{colors.body-on-light}\"\n typography: \"{typography.body-md}\"\n rounded: \"{rounded.none}\"\n padding: 24px\n spec-cell:\n backgroundColor: transparent\n textColor: \"{colors.ink}\"\n typography: \"{typography.number-display}\"\n padding: 24px 0\n race-position-cell:\n backgroundColor: transparent\n textColor: \"{colors.primary}\"\n typography: \"{typography.number-display}\"\n race-calendar-row:\n backgroundColor: transparent\n textColor: \"{colors.ink}\"\n typography: \"{typography.body-md}\"\n padding: 16px 0\n driver-card:\n backgroundColor: \"{colors.canvas-elevated}\"\n textColor: \"{colors.ink}\"\n typography: \"{typography.title-md}\"\n rounded: \"{rounded.none}\"\n padding: 24px\n text-input-on-dark:\n backgroundColor: \"{colors.canvas}\"\n textColor: \"{colors.ink}\"\n typography: \"{typography.body-md}\"\n rounded: \"{rounded.sm}\"\n padding: 14px 16px\n height: 48px\n text-input-on-light:\n backgroundColor: \"{colors.canvas-light}\"\n textColor: \"{colors.body-on-light}\"\n typography: \"{typography.body-md}\"\n rounded: \"{rounded.sm}\"\n padding: 14px 16px\n height: 48px\n badge-pill:\n backgroundColor: \"{colors.canvas-elevated}\"\n textColor: \"{colors.ink}\"\n typography: \"{typography.caption-uppercase}\"\n rounded: \"{rounded.full}\"\n padding: 4px 12px\n cta-band-dark:\n backgroundColor: \"{colors.canvas}\"\n textColor: \"{colors.ink}\"\n typography: \"{typography.display-lg}\"\n padding: 96px\n newsletter-input-band:\n backgroundColor: \"{colors.canvas-elevated}\"\n textColor: \"{colors.ink}\"\n typography: \"{typography.body-md}\"\n rounded: \"{rounded.sm}\"\n padding: 32px\n footer-dark:\n backgroundColor: \"{colors.canvas}\"\n textColor: \"{colors.body}\"\n typography: \"{typography.body-sm}\"\n padding: 64px 48px\n footer-link:\n backgroundColor: transparent\n textColor: \"{colors.body}\"\n typography: \"{typography.body-sm}\"\n---\n\n## Overview\n\nFerrari's marketing site reads as cinematic editorial — closer to a luxury-magazine spread than a typical car-OEM site. The base canvas is **near-black** (\\`{colors.canvas}\\` — #181818) holding pure white display type; white-canvas bands appear only inside specific editorial contexts (preowned listings, pricing tables, dealer surfaces). The single brand voltage is **Rosso Corsa** (\\`{colors.primary}\\` — #da291c), the iconic Ferrari racing red, used scarcely on primary CTAs, the Cavallino mark, and Formula 1 race-position highlights.\n\nType runs **FerrariSans** as the single sans family at modest weights — display 500, body 400. CTA labels render in uppercase with generous tracking (1.1-1.4px). The brand never uses bold display copy.\n\nThe brand's strongest visual signature is the **full-bleed cinematic hero photograph** — top-of-page imagery shows car photography, model details, or trackside livery without any chrome competing with it. Headlines float over the bottom of the photo or sit in a tight band beneath. Spacing follows the explicit 8px token ladder: \\`xxxs\\` 4 / \\`xxs\\` 8 / \\`xs\\` 16 / \\`sm\\` 24 / \\`md\\` 32 / \\`lg\\` 48 / \\`xl\\` 64 / \\`xxl\\` 96 / \\`super\\` 128.\n\n**Key Characteristics:**\n- Single accent: \\`{colors.primary}\\` (Rosso Corsa #da291c) for primary CTAs, the Cavallino, F1 race-position highlights. Used scarcely.\n- Near-black canvas (#181818) — never pure black. White-canvas bands only inside editorial contexts.\n- Single sans family: FerrariSans across every text role.\n- Display weight stays at 500 — never bold.\n- CTA labels render uppercase with 1.4px tracking.\n- Sharp \\`{rounded.none}\\` (0px) corners on every CTA, card, and band — luxury-automotive precision.\n- Full-bleed cinematic hero photography is the page chrome.\n- Explicit 8px spacing token ladder with named scale (xxxs through super).\n- Hairlines + photographic depth — no drop shadow tiers.\n\n## Colors\n\n### Brand & Accent\n- **Rosso Corsa** (\\`{colors.primary}\\` — #da291c): The iconic Ferrari racing red. Primary CTA fill, Cavallino mark, F1 driver-position highlights. Used scarcely.\n- **Rosso Corsa Active** (\\`{colors.primary-active}\\` — #b01e0a): Press state.\n- **Rosso Corsa Hover-darker** (\\`{colors.primary-hover}\\` — #9d2211): Documented for completeness; per the no-hover policy this is not used in preview HTML.\n- **Hypersail Yellow** (\\`{colors.accent-yellow-hypersail}\\` — #fff200) + **Yellow** (\\`{colors.accent-yellow}\\` — #f6e500): Sub-brand accents reserved for the Hypersail sailing program and the global focus-ring color. Not part of the main automotive palette.\n\n### Surface\n- **Canvas** (\\`{colors.canvas}\\` — #181818): Near-black page floor — never pure black, slight warmth.\n- **Canvas Elevated** (\\`{colors.canvas-elevated}\\` — #303030): Cards and panels on dark canvas.\n- **Canvas Light** (\\`{colors.canvas-light}\\` — #ffffff): White editorial bands (preowned listings, pricing).\n- **Surface Card** (\\`{colors.surface-card}\\` — #303030): Same as canvas-elevated — driver cards, livery photo plates.\n- **Surface Soft Light** (\\`{colors.surface-soft-light}\\` — #f7f7f7): Light editorial alternating band.\n- **Surface Strong Light** (\\`{colors.surface-strong-light}\\` — #ebebeb): Light-canvas dividers, badges.\n\n### Hairlines\n- **Hairline** (\\`{colors.hairline}\\` — #303030): 1px divider on dark — same hex as \\`{colors.canvas-elevated}\\`.\n- **Hairline On Light** (\\`{colors.hairline-on-light}\\` — #d2d2d2): 1px divider on light bands.\n- **Hairline Soft** (\\`{colors.hairline-soft}\\` — #ebebeb): Lighter divider.\n\n### Text\n- **Ink** (\\`{colors.ink}\\` — #ffffff): Display, body emphasis on dark.\n- **Body** (\\`{colors.body}\\` — #969696): Default running-text on dark.\n- **Body Strong** (\\`{colors.body-strong}\\` — #ffffff): Same as ink.\n- **Body On Light** (\\`{colors.body-on-light}\\` — #181818): Default text on light bands.\n- **Muted** (\\`{colors.muted}\\` — #666666): Sub-titles, captions on dark.\n- **Muted Soft** (\\`{colors.muted-soft}\\` — #8f8f8f): Disabled link text.\n- **On Primary** (\\`{colors.on-primary}\\` — #ffffff): White text on Rosso Corsa.\n\n### Semantic\n- **Info** (\\`{colors.semantic-info}\\` — #4c98b9): Info badges, callout backgrounds.\n- **Success** (\\`{colors.semantic-success}\\` — #03904a): Confirmation.\n- **Warning** (\\`{colors.semantic-warning}\\` — #f13a2c): Validation warnings.\n\n## Typography\n\n### Font Family\n**FerrariSans** is the licensed single sans family across every text role. Fallback: \\`-apple-system, system-ui, sans-serif\\`. No display/body family split.\n\n### Hierarchy\n\n| Token | Size | Weight | Line Height | Letter Spacing | Use |\n|---|---|---|---|---|---|\n| \\`{typography.display-mega}\\` | 80px | 500 | 1.05 | -1.6px | Homepage hero h1 |\n| \\`{typography.display-xl}\\` | 56px | 500 | 1.1 | -1.12px | Subsidiary heroes |\n| \\`{typography.display-lg}\\` | 36px | 500 | 1.2 | -0.36px | Section heads, livery band |\n| \\`{typography.display-md}\\` | 26px | 500 | 1.5 | 0.195px | Sub-section heads |\n| \\`{typography.title-md}\\` | 18px | 700 | 1.2 | 0 | Component titles |\n| \\`{typography.title-sm}\\` | 16px | 500 | 1.4 | 0.08px | List labels |\n| \\`{typography.body-md}\\` | 14px | 400 | 1.5 | 0 | Default body |\n| \\`{typography.body-sm}\\` | 13px | 400 | 1.5 | 0 | Footer body |\n| \\`{typography.caption}\\` | 12px | 400 | 1.4 | 0 | Photo captions |\n| \\`{typography.caption-uppercase}\\` | 11px | 600 | 1.4 | 1.1px | Section labels, badges |\n| \\`{typography.button}\\` | 14px | 700 | 1.0 | 1.4px (uppercase) | CTA pill labels |\n| \\`{typography.nav-link}\\` | 13px | 600 | 1.4 | 0.65px (uppercase) | Top-nav menu items |\n| \\`{typography.number-display}\\` | 80px | 700 | 1.0 | -1.6px | Race position highlights, spec values |\n\n### Principles\n- **Display weight stays at 500.** Editorial confidence, not bombastic. The cinematic photography is doing the visual heavy-lifting — type doesn't need to compete.\n- **CTA labels are uppercase with 1.4px tracking.** Luxury-precision feel.\n- **Nav labels are uppercase with 0.65px tracking.** Consistent with CTA voice.\n- **Negative letter-spacing on display only.** -0.36px to -1.6px on display sizes; body stays at 0.\n\n### Note on Font Substitutes\nFerrariSans is licensed. Open-source substitute: **Inter** at weight 500 with letter-spacing -1%, or **Söhne** for closer humanist proportions.\n\n## Layout\n\n### Spacing System\n- **Base unit:** 4px.\n- **Tokens:** \\`{spacing.xxxs}\\` 4px · \\`{spacing.xxs}\\` 8px · \\`{spacing.xs}\\` 16px · \\`{spacing.sm}\\` 24px · \\`{spacing.md}\\` 32px · \\`{spacing.lg}\\` 48px · \\`{spacing.xl}\\` 64px · \\`{spacing.xxl}\\` 96px · \\`{spacing.super}\\` 128px.\n- **Section padding:** \\`{spacing.xxl}\\` (96px) for major bands; \\`{spacing.super}\\` (128px) reserved for hero band depth.\n\n### Grid & Container\n- Max content width: ~1280px on editorial bands. Hero photography goes full-bleed.\n- Editorial body: 12-column grid.\n- Feature card grids: 2-up at desktop for hero splits, 3-up for benefit grids, 4-up for preowned listing tiles.\n- Footer: 5-column at desktop.\n\n### Whitespace Philosophy\nGenerous editorial pacing. Cinematic hero photography occupies generous viewport real-estate; body sections sit in tighter editorial layouts beneath. The canvas-light editorial bands (preowned, pricing) carry tighter density than the dark cinema bands.\n\n## Elevation & Depth\n\nThe system uses **photographic depth + brightness-step** elevation. No drop shadows except a single soft-small \\`{shadow.small}\\` documented in extracted tokens.\n\n| Level | Treatment | Use |\n|---|---|---|\n| Flat (canvas) | \\`{colors.canvas}\\` (#181818) | Body bands, footer |\n| Card | \\`{colors.canvas-elevated}\\` (#303030) | Driver cards, livery plates |\n| Light band | \\`{colors.canvas-light}\\` (#ffffff) | Preowned listings, pricing |\n| Hairline border | 1px \\`{colors.hairline}\\` or \\`{colors.hairline-on-light}\\` | Card outlines, dividers |\n| Soft drop | \\`0 4px 8px rgba(0,0,0,0.1)\\` | Hovered cards (single shadow tier) |\n| Photographic | Full-bleed cinema imagery | Hero band, livery photographs |\n\n### Decorative Depth\n- **Full-bleed cinema photography** is the brand's primary depth treatment.\n- **Brand red gradient** (\\`linear-gradient(180deg, #a00c01, #da291c 64%)\\`): The Rosso Corsa gradient used inside accent bands and CTA hover states.\n- **Dark grey gradient** (\\`linear-gradient(180deg, #3c3c3c, #030303 64%)\\`): Atmospheric darken used at section transitions.\n\n## Shapes\n\n### Border Radius Scale\n\n| Token | Value | Use |\n|---|---|---|\n| \\`{rounded.none}\\` | 0px | Every CTA, card, band — dominant radius |\n| \\`{rounded.xs}\\` | 2px | Tight badges (rare) |\n| \\`{rounded.sm}\\` | 4px | Form inputs |\n| \\`{rounded.md}\\` | 6px | Compact cards (rare) |\n| \\`{rounded.lg}\\` | 8px | Mobile-only collapse cards |\n| \\`{rounded.xl}\\` | 12px | Modal/dialog corners (rare) |\n| \\`{rounded.full}\\` | 9999px | Avatar plates, badge pills |\n\nThe radius vocabulary is **sharp by default**. Sharp 0px corners are the brand button shape — never rounded pills. Pill geometry is reserved for badge labels only.\n\n## Components\n\n### Top Navigation\n\n**\\`top-nav-on-dark\\`** — Default top nav on dark hero pages. Background \\`{colors.canvas}\\`, text \\`{colors.ink}\\`, height 64px. Layout: Cavallino mark left, primary horizontal menu (Models / F1 / Lifestyle / Owners / Preowned), language picker + utilities right. Menu items render uppercase with 0.65px tracking.\n\n**\\`top-nav-on-light\\`** — White-canvas variant for editorial light bands.\n\n### Buttons\n\n**\\`button-primary\\`** — The signature Rosso Corsa CTA. Background \\`{colors.primary}\\`, text \\`{colors.on-primary}\\`, type \\`{typography.button}\\` (14px / 700 / 1.4px tracking, uppercase), padding 14px × 32px, height 48px, **rounded \\`{rounded.none}\\` (0px — sharp corners)**.\n\n**\\`button-primary-active\\`** — Press state. Background \\`{colors.primary-active}\\`.\n\n**\\`button-outline-on-dark\\`** — Transparent with 1px white border. Background transparent, text \\`{colors.ink}\\`, 1px white border, same sharp 0px corners.\n\n**\\`button-outline-on-light\\`** — Transparent with 1px ink border on light bands.\n\n**\\`button-tertiary-text\\`** — Inline text link, uppercase tracking.\n\n### Hero Bands\n\n**\\`hero-band-cinema\\`** — Full-bleed cinematic photograph. Background \\`{colors.canvas}\\` underneath, but the photo fills the viewport. Display headline floats over the bottom of the photo or sits in a tight band beneath, in \\`{typography.display-mega}\\` (80px / 500 / -1.6px). One primary CTA + one outline CTA. Zero padding — the photo fills edge-to-edge.\n\n**\\`hero-band-light\\`** — White-canvas variant for editorial bands. Background \\`{colors.canvas-light}\\`, text \\`{colors.body-on-light}\\`, padding 96px.\n\n### Cards\n\n**\\`feature-card-photo\\`** — Image-first card. Background \\`{colors.canvas}\\`, text \\`{colors.ink}\\`, rounded \\`{rounded.none}\\`. Image fills the top edge-to-edge; title + body sit beneath in tight typography.\n\n**\\`feature-card-light\\`** — White-canvas variant. Background \\`{colors.canvas-light}\\`, text \\`{colors.body-on-light}\\`, rounded \\`{rounded.none}\\`, padding 32px.\n\n**\\`driver-card\\`** — F1 driver portrait card. Background \\`{colors.canvas-elevated}\\`, text \\`{colors.ink}\\`, rounded \\`{rounded.none}\\`, padding 24px. Layout: driver portrait + name + race number + team badge.\n\n### Editorial Surfaces\n\n**\\`livery-band\\`** — A full-width Rosso Corsa accent band. Background \\`{colors.primary}\\`, text \\`{colors.ink}\\`, type \\`{typography.display-lg}\\`, 96px padding. Used as a standout livery callout between dark editorial bands.\n\n**\\`preowned-listing-card\\`** — Used in the preowned Ferrari listing grid. Background \\`{colors.canvas-light}\\`, text \\`{colors.body-on-light}\\`, rounded \\`{rounded.none}\\`, padding 24px. Layout: car photo top + model name + year/mileage + price.\n\n### Spec & Race Surfaces\n\n**\\`spec-cell\\`** — Technical spec callout. Transparent background, value in \\`{typography.number-display}\\` (80px / 700 / -1.6px white), label below in \\`{typography.caption-uppercase}\\`.\n\n**\\`race-position-cell\\`** — F1 driver finishing position. Same number-display geometry but text in \\`{colors.primary}\\` Rosso Corsa for the brand's racing identity.\n\n**\\`race-calendar-row\\`** — Hairline-divided row in the F1 race calendar. Layout: date column left, race name + circuit middle, results column right.\n\n### Forms & Tags\n\n**\\`text-input-on-dark\\`** — Background \\`{colors.canvas}\\`, text \\`{colors.ink}\\`, rounded \\`{rounded.sm}\\` (4px), padding 14px × 16px, height 48px, 1px \\`{colors.hairline}\\` border.\n\n**\\`text-input-on-light\\`** — White-canvas variant.\n\n**\\`badge-pill\\`** — Small uppercase pill. Background \\`{colors.canvas-elevated}\\`, text \\`{colors.ink}\\`, type \\`{typography.caption-uppercase}\\` (11px / 600 / 1.1px tracking, uppercase), rounded \\`{rounded.full}\\` (9999px), padding 4px × 12px. The only place pill geometry is used.\n\n### Newsletter / CTA / Footer\n\n**\\`newsletter-input-band\\`** — Newsletter signup band. Background \\`{colors.canvas-elevated}\\`, padding 32px, rounded \\`{rounded.sm}\\`. Holds an inline email input + primary CTA.\n\n**\\`cta-band-dark\\`** — Pre-footer band. Background \\`{colors.canvas}\\`, centered display headline in \\`{typography.display-lg}\\`, single Rosso Corsa CTA. 96px padding.\n\n**\\`footer-dark\\`** — Closing dark footer. Background \\`{colors.canvas}\\`, text \\`{colors.body}\\`. 5-column link list. 64×48px padding.\n\n**\\`footer-link\\`** — Background transparent, text \\`{colors.body}\\`, type \\`{typography.body-sm}\\`.\n\n## Do's and Don'ts\n\n### Do\n- Reserve \\`{colors.primary}\\` (Rosso Corsa) for primary CTAs, the Cavallino mark, and F1 race-position highlights.\n- Set every CTA at \\`{rounded.none}\\` (0px sharp corners) — the brand's signature precision.\n- Render CTA labels in uppercase with 1.4px tracking via \\`{typography.button}\\`.\n- Pair every hero with a full-bleed cinematic photograph — the photograph IS the depth.\n- Use the explicit 8px spacing ladder (\\`xxxs\\` through \\`super\\`) rather than ad-hoc px values.\n- Keep display weight at 500 — never bold.\n\n### Don't\n- Don't introduce a saturated brand color other than Rosso Corsa.\n- Don't use rounded or pill CTAs — sharp 0px corners are the brand button.\n- Don't bold display copy. The cinematic photography does the visual heavy-lifting.\n- Don't use Hypersail yellow outside the Hypersail sailing program context.\n- Don't use pure black canvas. The brand canvas is \\`{colors.canvas}\\` (#181818) — slightly warm.\n- Don't add drop shadow tiers. Photography + brightness-step elevation carry the depth.\n- Don't extract a CTA color from a third-party widget (cookie consent, OneTrust). The brand's CTA color is what appears on actual product CTAs, not on injected modals.\n\n## Responsive Behavior\n\n### Breakpoints\n\n| Name | Width | Key Changes |\n|---|---|---|\n| Mobile | < 640px | Hero photograph crops vertically; hero h1 80→32px; feature card grid 1-up; nav hamburger; preowned listing 1-up. |\n| Tablet | 640–1024px | Hero h1 56px; feature card grid 2-up; preowned listing 2-up. |\n| Desktop | 1024–1280px | Full hero h1 80px; feature card grid 3-up; preowned listing 4-up. |\n| Wide | > 1280px | Editorial body content caps at 1280px; hero photography continues full-bleed. |\n\n### Touch Targets\n- Primary CTA at 48px height — at WCAG AAA (44 × 44).\n- Nav items render uppercase with 0.65px tracking, padded for an effective 48px tap area.\n\n### Collapsing Strategy\n- Top nav switches to hamburger below 768px.\n- Hero photograph reframes per breakpoint via art direction — desktop carries wide cinematic; mobile crops tighter or shifts to vertical.\n- Feature card grid: 4-up → 3-up → 2-up → 1-up.\n- F1 driver cards: 2-up at desktop, 1-up at mobile.\n\n## Iteration Guide\n\n1. Focus on a single component at a time.\n2. CTAs default to \\`{rounded.none}\\` (0px sharp). Cards use \\`{rounded.none}\\` too. Pill is reserved for badges.\n3. Variants live as separate entries inside \\`components:\\`.\n4. Use \\`{token.refs}\\` everywhere — never inline hex.\n5. Hover state never documented.\n6. FerrariSans 500 for display, 400/700 for body. Uppercase + tracking on CTAs and nav.\n7. Rosso Corsa stays scarce — primary CTAs, Cavallino, race-position highlights only.\n8. Use the explicit 8px named spacing ladder.\n\n## Known Gaps\n\n- FerrariSans is a licensed typeface; Inter at weight 500 is the documented substitute.\n- Animation timings (hero parallax, livery band entrance, race position counter) out of scope.\n- In-product surfaces (preowned configurator, F1 telemetry overlays) only partially captured via marketing surfaces.\n- Form validation states beyond focus not visible on captured surfaces.\n- Hypersail yellow tokens are extracted but only appear in the Hypersail sailing program context — documented as scoped accents.\n`;\n"],"mappings":";AACO,IAAM,eAAe;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;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;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 figmaBrief = "# Design System Inspired by Figma\n\n## 1. Visual Theme & Atmosphere\n\nFigma's interface is the design tool that designed itself \u2014 a masterclass in typographic sophistication where a custom variable font (figmaSans) modulates between razor-thin (weight 320) and bold (weight 700) with stops at unusual intermediates (330, 340, 450, 480, 540) that most type systems never explore. This granular weight control gives every text element a precisely calibrated visual weight, creating hierarchy through micro-differences rather than the blunt instrument of \"regular vs bold.\"\n\nThe page presents a fascinating duality: the interface chrome is strictly black-and-white (literally only `#000000` and `#ffffff` detected as colors), while the hero section and product showcases explode with vibrant multi-color gradients \u2014 electric greens, bright yellows, deep purples, hot pinks. This separation means the design system itself is colorless, treating the product's colorful output as the hero content. Figma's marketing page is essentially a white gallery wall displaying colorful art.\n\nWhat makes Figma distinctive beyond the variable font is its circle-and-pill geometry. Buttons use 50px radius (pill) or 50% (perfect circle for icon buttons), creating an organic, tool-palette-like feel. The dashed-outline focus indicator (`dashed 2px`) is a deliberate design choice that echoes selection handles in the Figma editor itself \u2014 the website's UI language references the product's UI language.\n\n**Key Characteristics:**\n- Custom variable font (figmaSans) with unusual weight stops: 320, 330, 340, 450, 480, 540, 700\n- Strictly black-and-white interface chrome \u2014 color exists only in product content\n- figmaMono for uppercase technical labels with wide letter-spacing\n- Pill (50px) and circular (50%) button geometry\n- Dashed focus outlines echoing Figma's editor selection handles\n- Vibrant multi-color hero gradients (green, yellow, purple, pink)\n- OpenType `\"kern\"` feature enabled globally\n- Negative letter-spacing throughout \u2014 even body text at -0.14px to -0.26px\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Pure Black** (`#000000`): All text, all solid buttons, all borders. The sole \"color\" of the interface.\n- **Pure White** (`#ffffff`): All backgrounds, white buttons, text on dark surfaces. The other half of the binary.\n\n*Note: Figma's marketing site uses ONLY these two colors for its interface layer. All vibrant colors appear exclusively in product screenshots, hero gradients, and embedded content.*\n\n### Surface & Background\n- **Pure White** (`#ffffff`): Primary page background and card surfaces.\n- **Glass Black** (`rgba(0, 0, 0, 0.08)`): Subtle dark overlay for secondary circular buttons and glass effects.\n- **Glass White** (`rgba(255, 255, 255, 0.16)`): Frosted glass overlay for buttons on dark/colored surfaces.\n\n### Gradient System\n- **Hero Gradient**: A vibrant multi-stop gradient using electric green, bright yellow, deep purple, and hot pink. This gradient is the visual signature of the hero section \u2014 it represents the creative possibilities of the tool.\n- **Product Section Gradients**: Individual product areas (Design, Dev Mode, Prototyping) may use distinct color themes in their showcases.\n\n## 3. Typography Rules\n\n### Font Family\n- **Primary**: `figmaSans`, with fallbacks: `figmaSans Fallback, SF Pro Display, system-ui, helvetica`\n- **Monospace / Labels**: `figmaMono`, with fallbacks: `figmaMono Fallback, SF Mono, menlo`\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display / Hero | figmaSans | 86px (5.38rem) | 400 | 1.00 (tight) | -1.72px | Maximum impact, extreme tracking |\n| Section Heading | figmaSans | 64px (4rem) | 400 | 1.10 (tight) | -0.96px | Feature section titles |\n| Sub-heading | figmaSans | 26px (1.63rem) | 540 | 1.35 | -0.26px | Emphasized section text |\n| Sub-heading Light | figmaSans | 26px (1.63rem) | 340 | 1.35 | -0.26px | Light-weight section text |\n| Feature Title | figmaSans | 24px (1.5rem) | 700 | 1.45 | normal | Bold card headings |\n| Body Large | figmaSans | 20px (1.25rem) | 330\u2013450 | 1.30\u20131.40 | -0.1px to -0.14px | Descriptions, intros |\n| Body / Button | figmaSans | 16px (1rem) | 330\u2013400 | 1.40\u20131.45 | -0.14px to normal | Standard body, nav, buttons |\n| Body Light | figmaSans | 18px (1.13rem) | 320 | 1.45 | -0.26px to normal | Light-weight body text |\n| Mono Label | figmaMono | 18px (1.13rem) | 400 | 1.30 (tight) | 0.54px | Uppercase section labels |\n| Mono Small | figmaMono | 12px (0.75rem) | 400 | 1.00 (tight) | 0.6px | Uppercase tiny tags |\n\n### Principles\n- **Variable font precision**: figmaSans uses weights that most systems never touch \u2014 320, 330, 340, 450, 480, 540. This creates hierarchy through subtle weight differences rather than dramatic jumps. The difference between 330 and 340 is nearly imperceptible but structurally significant.\n- **Light as the base**: Most body text uses 320\u2013340 (lighter than typical 400 \"regular\"), creating an ethereal, airy reading experience that matches the design-tool aesthetic.\n- **Kern everywhere**: Every text element enables OpenType `\"kern\"` feature \u2014 kerning is not optional, it's structural.\n- **Negative tracking by default**: Even body text uses -0.1px to -0.26px letter-spacing, creating universally tight text. Display text compresses further to -0.96px and -1.72px.\n- **Mono for structure**: figmaMono in uppercase with positive letter-spacing (0.54px\u20130.6px) creates technical signpost labels.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Black Solid (Pill)**\n- Background: Pure Black (`#000000`)\n- Text: Pure White (`#ffffff`)\n- Radius: circle (50%) for icon buttons\n- Focus: dashed 2px outline\n- Maximum emphasis\n\n**White Pill**\n- Background: Pure White (`#ffffff`)\n- Text: Pure Black (`#000000`)\n- Padding: 8px 18px 10px (asymmetric vertical)\n- Radius: pill (50px)\n- Focus: dashed 2px outline\n- Standard CTA on dark/colored surfaces\n\n**Glass Dark**\n- Background: `rgba(0, 0, 0, 0.08)` (subtle dark overlay)\n- Text: Pure Black\n- Radius: circle (50%)\n- Focus: dashed 2px outline\n- Secondary action on light surfaces\n\n**Glass Light**\n- Background: `rgba(255, 255, 255, 0.16)` (frosted glass)\n- Text: Pure White\n- Radius: circle (50%)\n- Focus: dashed 2px outline\n- Secondary action on dark/colored surfaces\n\n### Cards & Containers\n- Background: Pure White\n- Border: none or minimal\n- Radius: 6px (small containers), 8px (images, cards, dialogs)\n- Shadow: subtle to medium elevation effects\n- Product screenshots as card content\n\n### Navigation\n- Clean horizontal nav on white\n- Logo: Figma wordmark in black\n- Product tabs: pill-shaped (50px) tab navigation\n- Links: black text, underline 1px decoration\n- CTA: Black pill button\n- Hover: text color via CSS variable\n\n### Distinctive Components\n\n**Product Tab Bar**\n- Horizontal pill-shaped tabs (50px radius)\n- Each tab represents a Figma product area (Design, Dev Mode, Prototyping, etc.)\n- Active tab highlighted\n\n**Hero Gradient Section**\n- Full-width vibrant multi-color gradient background\n- White text overlay with 86px display heading\n- Product screenshots floating within the gradient\n\n**Dashed Focus Indicators**\n- All interactive elements use `dashed 2px` outline on focus\n- References the selection handles in the Figma editor\n- A meta-design choice connecting website and product\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 1px, 2px, 4px, 4.5px, 8px, 10px, 12px, 16px, 18px, 24px, 32px, 40px, 46px, 48px, 50px\n\n### Grid & Container\n- Max container width: up to 1920px\n- Hero: full-width gradient with centered content\n- Product sections: alternating showcases\n- Footer: dark full-width section\n- Responsive from 559px to 1920px\n\n### Whitespace Philosophy\n- **Gallery-like pacing**: Generous spacing lets each product section breathe as its own exhibit.\n- **Color sections as visual breathing**: The gradient hero and product showcases provide chromatic relief between the monochrome interface sections.\n\n### Border Radius Scale\n- Minimal (2px): Small link elements\n- Subtle (6px): Small containers, dividers\n- Comfortable (8px): Cards, images, dialogs\n- Pill (50px): Tab buttons, CTAs\n- Circle (50%): Icon buttons, circular elements\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow | Page background, most text |\n| Surface (Level 1) | White card on gradient/dark section | Cards, product showcases |\n| Elevated (Level 2) | Subtle shadow | Floating cards, hover states |\n\n**Shadow Philosophy**: Figma uses shadows sparingly. The primary depth mechanisms are **background contrast** (white content on colorful/dark sections) and the inherent dimensionality of the product screenshots themselves.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use figmaSans with precise variable weights (320\u2013540) \u2014 the granular weight control IS the design\n- Keep the interface strictly black-and-white \u2014 color comes from product content only\n- Use pill (50px) and circular (50%) geometry for all interactive elements\n- Apply dashed 2px focus outlines \u2014 the signature accessibility pattern\n- Enable `\"kern\"` feature on all text\n- Use figmaMono in uppercase with positive letter-spacing for labels\n- Apply negative letter-spacing throughout (-0.1px to -1.72px)\n\n### Don't\n- Don't add interface colors \u2014 the monochrome palette is absolute\n- Don't use standard font weights (400, 500, 600, 700) \u2014 use the variable font's unique stops (320, 330, 340, 450, 480, 540)\n- Don't use sharp corners on buttons \u2014 pill and circular geometry only\n- Don't use solid focus outlines \u2014 dashed is the signature\n- Don't increase body font weight above 450 \u2014 the light-weight aesthetic is core\n- Don't use positive letter-spacing on body text \u2014 it's always negative\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Small Mobile | <560px | Compact layout, stacked |\n| Tablet | 560\u2013768px | Minor adjustments |\n| Small Desktop | 768\u2013960px | 2-column layouts |\n| Desktop | 960\u20131280px | Standard layout |\n| Large Desktop | 1280\u20131440px | Expanded |\n| Ultra-wide | 1440\u20131920px | Maximum width |\n\n### Collapsing Strategy\n- Hero text: 86px \u2192 64px \u2192 48px\n- Product tabs: horizontal scroll on mobile\n- Feature sections: stacked single column\n- Footer: multi-column \u2192 stacked\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Everything: \"Pure Black (#000000)\" and \"Pure White (#ffffff)\"\n- Glass Dark: \"rgba(0, 0, 0, 0.08)\"\n- Glass Light: \"rgba(255, 255, 255, 0.16)\"\n\n### Example Component Prompts\n- \"Create a hero on a vibrant multi-color gradient (green, yellow, purple, pink). Headline at 86px figmaSans weight 400, line-height 1.0, letter-spacing -1.72px. White text. White pill CTA button (50px radius, 8px 18px padding).\"\n- \"Design a product tab bar with pill-shaped buttons (50px radius). Active: Black bg, white text. Inactive: transparent, black text. figmaSans at 20px weight 480.\"\n- \"Build a section label: figmaMono 18px, uppercase, letter-spacing 0.54px, black text. Kern enabled.\"\n- \"Create body text at 20px figmaSans weight 330, line-height 1.40, letter-spacing -0.14px. Pure Black on white.\"\n\n### Iteration Guide\n1. Use variable font weight stops precisely: 320, 330, 340, 450, 480, 540, 700\n2. Interface is always black + white \u2014 never add colors to chrome\n3. Dashed focus outlines, not solid\n4. Letter-spacing is always negative on body, always positive on mono labels\n5. Pill (50px) for buttons/tabs, circle (50%) for icon buttons\n";
2
+
3
+ export { figmaBrief };
@@ -0,0 +1,226 @@
1
+ // src/presets/_briefs/figma.ts
2
+ var figmaBrief = `# Design System Inspired by Figma
3
+
4
+ ## 1. Visual Theme & Atmosphere
5
+
6
+ Figma's interface is the design tool that designed itself \u2014 a masterclass in typographic sophistication where a custom variable font (figmaSans) modulates between razor-thin (weight 320) and bold (weight 700) with stops at unusual intermediates (330, 340, 450, 480, 540) that most type systems never explore. This granular weight control gives every text element a precisely calibrated visual weight, creating hierarchy through micro-differences rather than the blunt instrument of "regular vs bold."
7
+
8
+ The page presents a fascinating duality: the interface chrome is strictly black-and-white (literally only \`#000000\` and \`#ffffff\` detected as colors), while the hero section and product showcases explode with vibrant multi-color gradients \u2014 electric greens, bright yellows, deep purples, hot pinks. This separation means the design system itself is colorless, treating the product's colorful output as the hero content. Figma's marketing page is essentially a white gallery wall displaying colorful art.
9
+
10
+ What makes Figma distinctive beyond the variable font is its circle-and-pill geometry. Buttons use 50px radius (pill) or 50% (perfect circle for icon buttons), creating an organic, tool-palette-like feel. The dashed-outline focus indicator (\`dashed 2px\`) is a deliberate design choice that echoes selection handles in the Figma editor itself \u2014 the website's UI language references the product's UI language.
11
+
12
+ **Key Characteristics:**
13
+ - Custom variable font (figmaSans) with unusual weight stops: 320, 330, 340, 450, 480, 540, 700
14
+ - Strictly black-and-white interface chrome \u2014 color exists only in product content
15
+ - figmaMono for uppercase technical labels with wide letter-spacing
16
+ - Pill (50px) and circular (50%) button geometry
17
+ - Dashed focus outlines echoing Figma's editor selection handles
18
+ - Vibrant multi-color hero gradients (green, yellow, purple, pink)
19
+ - OpenType \`"kern"\` feature enabled globally
20
+ - Negative letter-spacing throughout \u2014 even body text at -0.14px to -0.26px
21
+
22
+ ## 2. Color Palette & Roles
23
+
24
+ ### Primary
25
+ - **Pure Black** (\`#000000\`): All text, all solid buttons, all borders. The sole "color" of the interface.
26
+ - **Pure White** (\`#ffffff\`): All backgrounds, white buttons, text on dark surfaces. The other half of the binary.
27
+
28
+ *Note: Figma's marketing site uses ONLY these two colors for its interface layer. All vibrant colors appear exclusively in product screenshots, hero gradients, and embedded content.*
29
+
30
+ ### Surface & Background
31
+ - **Pure White** (\`#ffffff\`): Primary page background and card surfaces.
32
+ - **Glass Black** (\`rgba(0, 0, 0, 0.08)\`): Subtle dark overlay for secondary circular buttons and glass effects.
33
+ - **Glass White** (\`rgba(255, 255, 255, 0.16)\`): Frosted glass overlay for buttons on dark/colored surfaces.
34
+
35
+ ### Gradient System
36
+ - **Hero Gradient**: A vibrant multi-stop gradient using electric green, bright yellow, deep purple, and hot pink. This gradient is the visual signature of the hero section \u2014 it represents the creative possibilities of the tool.
37
+ - **Product Section Gradients**: Individual product areas (Design, Dev Mode, Prototyping) may use distinct color themes in their showcases.
38
+
39
+ ## 3. Typography Rules
40
+
41
+ ### Font Family
42
+ - **Primary**: \`figmaSans\`, with fallbacks: \`figmaSans Fallback, SF Pro Display, system-ui, helvetica\`
43
+ - **Monospace / Labels**: \`figmaMono\`, with fallbacks: \`figmaMono Fallback, SF Mono, menlo\`
44
+
45
+ ### Hierarchy
46
+
47
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
48
+ |------|------|------|--------|-------------|----------------|-------|
49
+ | Display / Hero | figmaSans | 86px (5.38rem) | 400 | 1.00 (tight) | -1.72px | Maximum impact, extreme tracking |
50
+ | Section Heading | figmaSans | 64px (4rem) | 400 | 1.10 (tight) | -0.96px | Feature section titles |
51
+ | Sub-heading | figmaSans | 26px (1.63rem) | 540 | 1.35 | -0.26px | Emphasized section text |
52
+ | Sub-heading Light | figmaSans | 26px (1.63rem) | 340 | 1.35 | -0.26px | Light-weight section text |
53
+ | Feature Title | figmaSans | 24px (1.5rem) | 700 | 1.45 | normal | Bold card headings |
54
+ | Body Large | figmaSans | 20px (1.25rem) | 330\u2013450 | 1.30\u20131.40 | -0.1px to -0.14px | Descriptions, intros |
55
+ | Body / Button | figmaSans | 16px (1rem) | 330\u2013400 | 1.40\u20131.45 | -0.14px to normal | Standard body, nav, buttons |
56
+ | Body Light | figmaSans | 18px (1.13rem) | 320 | 1.45 | -0.26px to normal | Light-weight body text |
57
+ | Mono Label | figmaMono | 18px (1.13rem) | 400 | 1.30 (tight) | 0.54px | Uppercase section labels |
58
+ | Mono Small | figmaMono | 12px (0.75rem) | 400 | 1.00 (tight) | 0.6px | Uppercase tiny tags |
59
+
60
+ ### Principles
61
+ - **Variable font precision**: figmaSans uses weights that most systems never touch \u2014 320, 330, 340, 450, 480, 540. This creates hierarchy through subtle weight differences rather than dramatic jumps. The difference between 330 and 340 is nearly imperceptible but structurally significant.
62
+ - **Light as the base**: Most body text uses 320\u2013340 (lighter than typical 400 "regular"), creating an ethereal, airy reading experience that matches the design-tool aesthetic.
63
+ - **Kern everywhere**: Every text element enables OpenType \`"kern"\` feature \u2014 kerning is not optional, it's structural.
64
+ - **Negative tracking by default**: Even body text uses -0.1px to -0.26px letter-spacing, creating universally tight text. Display text compresses further to -0.96px and -1.72px.
65
+ - **Mono for structure**: figmaMono in uppercase with positive letter-spacing (0.54px\u20130.6px) creates technical signpost labels.
66
+
67
+ ## 4. Component Stylings
68
+
69
+ ### Buttons
70
+
71
+ **Black Solid (Pill)**
72
+ - Background: Pure Black (\`#000000\`)
73
+ - Text: Pure White (\`#ffffff\`)
74
+ - Radius: circle (50%) for icon buttons
75
+ - Focus: dashed 2px outline
76
+ - Maximum emphasis
77
+
78
+ **White Pill**
79
+ - Background: Pure White (\`#ffffff\`)
80
+ - Text: Pure Black (\`#000000\`)
81
+ - Padding: 8px 18px 10px (asymmetric vertical)
82
+ - Radius: pill (50px)
83
+ - Focus: dashed 2px outline
84
+ - Standard CTA on dark/colored surfaces
85
+
86
+ **Glass Dark**
87
+ - Background: \`rgba(0, 0, 0, 0.08)\` (subtle dark overlay)
88
+ - Text: Pure Black
89
+ - Radius: circle (50%)
90
+ - Focus: dashed 2px outline
91
+ - Secondary action on light surfaces
92
+
93
+ **Glass Light**
94
+ - Background: \`rgba(255, 255, 255, 0.16)\` (frosted glass)
95
+ - Text: Pure White
96
+ - Radius: circle (50%)
97
+ - Focus: dashed 2px outline
98
+ - Secondary action on dark/colored surfaces
99
+
100
+ ### Cards & Containers
101
+ - Background: Pure White
102
+ - Border: none or minimal
103
+ - Radius: 6px (small containers), 8px (images, cards, dialogs)
104
+ - Shadow: subtle to medium elevation effects
105
+ - Product screenshots as card content
106
+
107
+ ### Navigation
108
+ - Clean horizontal nav on white
109
+ - Logo: Figma wordmark in black
110
+ - Product tabs: pill-shaped (50px) tab navigation
111
+ - Links: black text, underline 1px decoration
112
+ - CTA: Black pill button
113
+ - Hover: text color via CSS variable
114
+
115
+ ### Distinctive Components
116
+
117
+ **Product Tab Bar**
118
+ - Horizontal pill-shaped tabs (50px radius)
119
+ - Each tab represents a Figma product area (Design, Dev Mode, Prototyping, etc.)
120
+ - Active tab highlighted
121
+
122
+ **Hero Gradient Section**
123
+ - Full-width vibrant multi-color gradient background
124
+ - White text overlay with 86px display heading
125
+ - Product screenshots floating within the gradient
126
+
127
+ **Dashed Focus Indicators**
128
+ - All interactive elements use \`dashed 2px\` outline on focus
129
+ - References the selection handles in the Figma editor
130
+ - A meta-design choice connecting website and product
131
+
132
+ ## 5. Layout Principles
133
+
134
+ ### Spacing System
135
+ - Base unit: 8px
136
+ - Scale: 1px, 2px, 4px, 4.5px, 8px, 10px, 12px, 16px, 18px, 24px, 32px, 40px, 46px, 48px, 50px
137
+
138
+ ### Grid & Container
139
+ - Max container width: up to 1920px
140
+ - Hero: full-width gradient with centered content
141
+ - Product sections: alternating showcases
142
+ - Footer: dark full-width section
143
+ - Responsive from 559px to 1920px
144
+
145
+ ### Whitespace Philosophy
146
+ - **Gallery-like pacing**: Generous spacing lets each product section breathe as its own exhibit.
147
+ - **Color sections as visual breathing**: The gradient hero and product showcases provide chromatic relief between the monochrome interface sections.
148
+
149
+ ### Border Radius Scale
150
+ - Minimal (2px): Small link elements
151
+ - Subtle (6px): Small containers, dividers
152
+ - Comfortable (8px): Cards, images, dialogs
153
+ - Pill (50px): Tab buttons, CTAs
154
+ - Circle (50%): Icon buttons, circular elements
155
+
156
+ ## 6. Depth & Elevation
157
+
158
+ | Level | Treatment | Use |
159
+ |-------|-----------|-----|
160
+ | Flat (Level 0) | No shadow | Page background, most text |
161
+ | Surface (Level 1) | White card on gradient/dark section | Cards, product showcases |
162
+ | Elevated (Level 2) | Subtle shadow | Floating cards, hover states |
163
+
164
+ **Shadow Philosophy**: Figma uses shadows sparingly. The primary depth mechanisms are **background contrast** (white content on colorful/dark sections) and the inherent dimensionality of the product screenshots themselves.
165
+
166
+ ## 7. Do's and Don'ts
167
+
168
+ ### Do
169
+ - Use figmaSans with precise variable weights (320\u2013540) \u2014 the granular weight control IS the design
170
+ - Keep the interface strictly black-and-white \u2014 color comes from product content only
171
+ - Use pill (50px) and circular (50%) geometry for all interactive elements
172
+ - Apply dashed 2px focus outlines \u2014 the signature accessibility pattern
173
+ - Enable \`"kern"\` feature on all text
174
+ - Use figmaMono in uppercase with positive letter-spacing for labels
175
+ - Apply negative letter-spacing throughout (-0.1px to -1.72px)
176
+
177
+ ### Don't
178
+ - Don't add interface colors \u2014 the monochrome palette is absolute
179
+ - Don't use standard font weights (400, 500, 600, 700) \u2014 use the variable font's unique stops (320, 330, 340, 450, 480, 540)
180
+ - Don't use sharp corners on buttons \u2014 pill and circular geometry only
181
+ - Don't use solid focus outlines \u2014 dashed is the signature
182
+ - Don't increase body font weight above 450 \u2014 the light-weight aesthetic is core
183
+ - Don't use positive letter-spacing on body text \u2014 it's always negative
184
+
185
+ ## 8. Responsive Behavior
186
+
187
+ ### Breakpoints
188
+ | Name | Width | Key Changes |
189
+ |------|-------|-------------|
190
+ | Small Mobile | <560px | Compact layout, stacked |
191
+ | Tablet | 560\u2013768px | Minor adjustments |
192
+ | Small Desktop | 768\u2013960px | 2-column layouts |
193
+ | Desktop | 960\u20131280px | Standard layout |
194
+ | Large Desktop | 1280\u20131440px | Expanded |
195
+ | Ultra-wide | 1440\u20131920px | Maximum width |
196
+
197
+ ### Collapsing Strategy
198
+ - Hero text: 86px \u2192 64px \u2192 48px
199
+ - Product tabs: horizontal scroll on mobile
200
+ - Feature sections: stacked single column
201
+ - Footer: multi-column \u2192 stacked
202
+
203
+ ## 9. Agent Prompt Guide
204
+
205
+ ### Quick Color Reference
206
+ - Everything: "Pure Black (#000000)" and "Pure White (#ffffff)"
207
+ - Glass Dark: "rgba(0, 0, 0, 0.08)"
208
+ - Glass Light: "rgba(255, 255, 255, 0.16)"
209
+
210
+ ### Example Component Prompts
211
+ - "Create a hero on a vibrant multi-color gradient (green, yellow, purple, pink). Headline at 86px figmaSans weight 400, line-height 1.0, letter-spacing -1.72px. White text. White pill CTA button (50px radius, 8px 18px padding)."
212
+ - "Design a product tab bar with pill-shaped buttons (50px radius). Active: Black bg, white text. Inactive: transparent, black text. figmaSans at 20px weight 480."
213
+ - "Build a section label: figmaMono 18px, uppercase, letter-spacing 0.54px, black text. Kern enabled."
214
+ - "Create body text at 20px figmaSans weight 330, line-height 1.40, letter-spacing -0.14px. Pure Black on white."
215
+
216
+ ### Iteration Guide
217
+ 1. Use variable font weight stops precisely: 320, 330, 340, 450, 480, 540, 700
218
+ 2. Interface is always black + white \u2014 never add colors to chrome
219
+ 3. Dashed focus outlines, not solid
220
+ 4. Letter-spacing is always negative on body, always positive on mono labels
221
+ 5. Pill (50px) for buttons/tabs, circle (50%) for icon buttons
222
+ `;
223
+ export {
224
+ figmaBrief
225
+ };
226
+ //# sourceMappingURL=figma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/presets/_briefs/figma.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const figmaBrief = `# Design System Inspired by Figma\n\n## 1. Visual Theme & Atmosphere\n\nFigma's interface is the design tool that designed itself — a masterclass in typographic sophistication where a custom variable font (figmaSans) modulates between razor-thin (weight 320) and bold (weight 700) with stops at unusual intermediates (330, 340, 450, 480, 540) that most type systems never explore. This granular weight control gives every text element a precisely calibrated visual weight, creating hierarchy through micro-differences rather than the blunt instrument of \"regular vs bold.\"\n\nThe page presents a fascinating duality: the interface chrome is strictly black-and-white (literally only \\`#000000\\` and \\`#ffffff\\` detected as colors), while the hero section and product showcases explode with vibrant multi-color gradients — electric greens, bright yellows, deep purples, hot pinks. This separation means the design system itself is colorless, treating the product's colorful output as the hero content. Figma's marketing page is essentially a white gallery wall displaying colorful art.\n\nWhat makes Figma distinctive beyond the variable font is its circle-and-pill geometry. Buttons use 50px radius (pill) or 50% (perfect circle for icon buttons), creating an organic, tool-palette-like feel. The dashed-outline focus indicator (\\`dashed 2px\\`) is a deliberate design choice that echoes selection handles in the Figma editor itself — the website's UI language references the product's UI language.\n\n**Key Characteristics:**\n- Custom variable font (figmaSans) with unusual weight stops: 320, 330, 340, 450, 480, 540, 700\n- Strictly black-and-white interface chrome — color exists only in product content\n- figmaMono for uppercase technical labels with wide letter-spacing\n- Pill (50px) and circular (50%) button geometry\n- Dashed focus outlines echoing Figma's editor selection handles\n- Vibrant multi-color hero gradients (green, yellow, purple, pink)\n- OpenType \\`\"kern\"\\` feature enabled globally\n- Negative letter-spacing throughout — even body text at -0.14px to -0.26px\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Pure Black** (\\`#000000\\`): All text, all solid buttons, all borders. The sole \"color\" of the interface.\n- **Pure White** (\\`#ffffff\\`): All backgrounds, white buttons, text on dark surfaces. The other half of the binary.\n\n*Note: Figma's marketing site uses ONLY these two colors for its interface layer. All vibrant colors appear exclusively in product screenshots, hero gradients, and embedded content.*\n\n### Surface & Background\n- **Pure White** (\\`#ffffff\\`): Primary page background and card surfaces.\n- **Glass Black** (\\`rgba(0, 0, 0, 0.08)\\`): Subtle dark overlay for secondary circular buttons and glass effects.\n- **Glass White** (\\`rgba(255, 255, 255, 0.16)\\`): Frosted glass overlay for buttons on dark/colored surfaces.\n\n### Gradient System\n- **Hero Gradient**: A vibrant multi-stop gradient using electric green, bright yellow, deep purple, and hot pink. This gradient is the visual signature of the hero section — it represents the creative possibilities of the tool.\n- **Product Section Gradients**: Individual product areas (Design, Dev Mode, Prototyping) may use distinct color themes in their showcases.\n\n## 3. Typography Rules\n\n### Font Family\n- **Primary**: \\`figmaSans\\`, with fallbacks: \\`figmaSans Fallback, SF Pro Display, system-ui, helvetica\\`\n- **Monospace / Labels**: \\`figmaMono\\`, with fallbacks: \\`figmaMono Fallback, SF Mono, menlo\\`\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display / Hero | figmaSans | 86px (5.38rem) | 400 | 1.00 (tight) | -1.72px | Maximum impact, extreme tracking |\n| Section Heading | figmaSans | 64px (4rem) | 400 | 1.10 (tight) | -0.96px | Feature section titles |\n| Sub-heading | figmaSans | 26px (1.63rem) | 540 | 1.35 | -0.26px | Emphasized section text |\n| Sub-heading Light | figmaSans | 26px (1.63rem) | 340 | 1.35 | -0.26px | Light-weight section text |\n| Feature Title | figmaSans | 24px (1.5rem) | 700 | 1.45 | normal | Bold card headings |\n| Body Large | figmaSans | 20px (1.25rem) | 330–450 | 1.30–1.40 | -0.1px to -0.14px | Descriptions, intros |\n| Body / Button | figmaSans | 16px (1rem) | 330–400 | 1.40–1.45 | -0.14px to normal | Standard body, nav, buttons |\n| Body Light | figmaSans | 18px (1.13rem) | 320 | 1.45 | -0.26px to normal | Light-weight body text |\n| Mono Label | figmaMono | 18px (1.13rem) | 400 | 1.30 (tight) | 0.54px | Uppercase section labels |\n| Mono Small | figmaMono | 12px (0.75rem) | 400 | 1.00 (tight) | 0.6px | Uppercase tiny tags |\n\n### Principles\n- **Variable font precision**: figmaSans uses weights that most systems never touch — 320, 330, 340, 450, 480, 540. This creates hierarchy through subtle weight differences rather than dramatic jumps. The difference between 330 and 340 is nearly imperceptible but structurally significant.\n- **Light as the base**: Most body text uses 320–340 (lighter than typical 400 \"regular\"), creating an ethereal, airy reading experience that matches the design-tool aesthetic.\n- **Kern everywhere**: Every text element enables OpenType \\`\"kern\"\\` feature — kerning is not optional, it's structural.\n- **Negative tracking by default**: Even body text uses -0.1px to -0.26px letter-spacing, creating universally tight text. Display text compresses further to -0.96px and -1.72px.\n- **Mono for structure**: figmaMono in uppercase with positive letter-spacing (0.54px–0.6px) creates technical signpost labels.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Black Solid (Pill)**\n- Background: Pure Black (\\`#000000\\`)\n- Text: Pure White (\\`#ffffff\\`)\n- Radius: circle (50%) for icon buttons\n- Focus: dashed 2px outline\n- Maximum emphasis\n\n**White Pill**\n- Background: Pure White (\\`#ffffff\\`)\n- Text: Pure Black (\\`#000000\\`)\n- Padding: 8px 18px 10px (asymmetric vertical)\n- Radius: pill (50px)\n- Focus: dashed 2px outline\n- Standard CTA on dark/colored surfaces\n\n**Glass Dark**\n- Background: \\`rgba(0, 0, 0, 0.08)\\` (subtle dark overlay)\n- Text: Pure Black\n- Radius: circle (50%)\n- Focus: dashed 2px outline\n- Secondary action on light surfaces\n\n**Glass Light**\n- Background: \\`rgba(255, 255, 255, 0.16)\\` (frosted glass)\n- Text: Pure White\n- Radius: circle (50%)\n- Focus: dashed 2px outline\n- Secondary action on dark/colored surfaces\n\n### Cards & Containers\n- Background: Pure White\n- Border: none or minimal\n- Radius: 6px (small containers), 8px (images, cards, dialogs)\n- Shadow: subtle to medium elevation effects\n- Product screenshots as card content\n\n### Navigation\n- Clean horizontal nav on white\n- Logo: Figma wordmark in black\n- Product tabs: pill-shaped (50px) tab navigation\n- Links: black text, underline 1px decoration\n- CTA: Black pill button\n- Hover: text color via CSS variable\n\n### Distinctive Components\n\n**Product Tab Bar**\n- Horizontal pill-shaped tabs (50px radius)\n- Each tab represents a Figma product area (Design, Dev Mode, Prototyping, etc.)\n- Active tab highlighted\n\n**Hero Gradient Section**\n- Full-width vibrant multi-color gradient background\n- White text overlay with 86px display heading\n- Product screenshots floating within the gradient\n\n**Dashed Focus Indicators**\n- All interactive elements use \\`dashed 2px\\` outline on focus\n- References the selection handles in the Figma editor\n- A meta-design choice connecting website and product\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 1px, 2px, 4px, 4.5px, 8px, 10px, 12px, 16px, 18px, 24px, 32px, 40px, 46px, 48px, 50px\n\n### Grid & Container\n- Max container width: up to 1920px\n- Hero: full-width gradient with centered content\n- Product sections: alternating showcases\n- Footer: dark full-width section\n- Responsive from 559px to 1920px\n\n### Whitespace Philosophy\n- **Gallery-like pacing**: Generous spacing lets each product section breathe as its own exhibit.\n- **Color sections as visual breathing**: The gradient hero and product showcases provide chromatic relief between the monochrome interface sections.\n\n### Border Radius Scale\n- Minimal (2px): Small link elements\n- Subtle (6px): Small containers, dividers\n- Comfortable (8px): Cards, images, dialogs\n- Pill (50px): Tab buttons, CTAs\n- Circle (50%): Icon buttons, circular elements\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow | Page background, most text |\n| Surface (Level 1) | White card on gradient/dark section | Cards, product showcases |\n| Elevated (Level 2) | Subtle shadow | Floating cards, hover states |\n\n**Shadow Philosophy**: Figma uses shadows sparingly. The primary depth mechanisms are **background contrast** (white content on colorful/dark sections) and the inherent dimensionality of the product screenshots themselves.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use figmaSans with precise variable weights (320–540) — the granular weight control IS the design\n- Keep the interface strictly black-and-white — color comes from product content only\n- Use pill (50px) and circular (50%) geometry for all interactive elements\n- Apply dashed 2px focus outlines — the signature accessibility pattern\n- Enable \\`\"kern\"\\` feature on all text\n- Use figmaMono in uppercase with positive letter-spacing for labels\n- Apply negative letter-spacing throughout (-0.1px to -1.72px)\n\n### Don't\n- Don't add interface colors — the monochrome palette is absolute\n- Don't use standard font weights (400, 500, 600, 700) — use the variable font's unique stops (320, 330, 340, 450, 480, 540)\n- Don't use sharp corners on buttons — pill and circular geometry only\n- Don't use solid focus outlines — dashed is the signature\n- Don't increase body font weight above 450 — the light-weight aesthetic is core\n- Don't use positive letter-spacing on body text — it's always negative\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Small Mobile | <560px | Compact layout, stacked |\n| Tablet | 560–768px | Minor adjustments |\n| Small Desktop | 768–960px | 2-column layouts |\n| Desktop | 960–1280px | Standard layout |\n| Large Desktop | 1280–1440px | Expanded |\n| Ultra-wide | 1440–1920px | Maximum width |\n\n### Collapsing Strategy\n- Hero text: 86px → 64px → 48px\n- Product tabs: horizontal scroll on mobile\n- Feature sections: stacked single column\n- Footer: multi-column → stacked\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Everything: \"Pure Black (#000000)\" and \"Pure White (#ffffff)\"\n- Glass Dark: \"rgba(0, 0, 0, 0.08)\"\n- Glass Light: \"rgba(255, 255, 255, 0.16)\"\n\n### Example Component Prompts\n- \"Create a hero on a vibrant multi-color gradient (green, yellow, purple, pink). Headline at 86px figmaSans weight 400, line-height 1.0, letter-spacing -1.72px. White text. White pill CTA button (50px radius, 8px 18px padding).\"\n- \"Design a product tab bar with pill-shaped buttons (50px radius). Active: Black bg, white text. Inactive: transparent, black text. figmaSans at 20px weight 480.\"\n- \"Build a section label: figmaMono 18px, uppercase, letter-spacing 0.54px, black text. Kern enabled.\"\n- \"Create body text at 20px figmaSans weight 330, line-height 1.40, letter-spacing -0.14px. Pure Black on white.\"\n\n### Iteration Guide\n1. Use variable font weight stops precisely: 320, 330, 340, 450, 480, 540, 700\n2. Interface is always black + white — never add colors to chrome\n3. Dashed focus outlines, not solid\n4. Letter-spacing is always negative on body, always positive on mono labels\n5. Pill (50px) for buttons/tabs, circle (50%) for icon buttons\n`;\n"],"mappings":";AACO,IAAM,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 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 \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.\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 \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.\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 \u2014 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 \u2014 cold, electric, precise\n- Pill-shaped buttons (40px\u2013100px radius) \u2014 no sharp corners on interactive elements\n- Product screenshots as hero art \u2014 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 \u2014 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 \u2014 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` \u2014 custom geometric sans-serif, weight 500. Fallbacks: `GT Walsheim Framer Medium Placeholder`, system sans-serif\n- **Body/UI**: `Inter Variable` / `Inter` \u2014 variable sans-serif with extensive OpenType features. Fallbacks: `Inter Placeholder`, `-apple-system`, `system-ui`\n- **Accent**: `Mona Sans` \u2014 GitHub's open-source font, used for select elements at ultra-light weight (100)\n- **Monospace**: `Azeret Mono` \u2014 companion mono for code and technical labels\n- **Rounded**: `Open Runde` \u2014 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 \u2014 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) \u2014 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 \u2014 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 \u2014 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 \u2014 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\u201315px radius)\n- **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)\n- **Product Screenshots**: Full-width or padded within dark containers, 8px\u201312px 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\u201312px)\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 \u2014 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 \u2014 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\u2013120px between sections)\n- **Card padding**: 15px\u201330px internal padding\n- **Component gaps**: 8px\u201320px 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 \u2014 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\u20137px**: Small UI elements, image thumbnails \u2014 subtly softened\n- **8px**: Standard component radius \u2014 code blocks, buttons, interactive elements\n- **10px\u201312px**: Cards, product screenshots \u2014 comfortably rounded\n- **15px\u201320px**: Large containers, feature cards \u2014 generously rounded\n- **30px\u201340px**: Navigation pills, pagination \u2014 noticeably rounded\n- **100px**: Full pill shape \u2014 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 \u2014 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 \u2014 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 \u2014 a signature move that subtly brands every bordered element\n- **White edge highlights** (0.5px) on the top edge of elevated elements \u2014 simulating light hitting the top surface\n- **Deep ambient shadows** for true floating elements \u2014 `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 \u2014 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 \u2014 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) \u2014 never use squared or slightly-rounded buttons\n- Use Framer Blue (`#0099ff`) exclusively for interactive accents \u2014 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 \u2014 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 \u2014 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 \u2014 medium 500 only\n- Introduce additional accent colors beyond Framer Blue \u2014 this is a one-accent-color system\n- Use large border-radius on non-interactive elements (cards use 10px\u201315px, only buttons get 40px+)\n- Add decorative imagery, illustrations, or icons \u2014 the product IS the illustration\n- Use positive letter-spacing on headlines \u2014 everything is compressed, negative tracking\n- Create heavy drop shadows \u2014 depth is communicated through subtle rings and minimal ambients\n- Place light/white backgrounds behind content sections \u2014 the void is sacred\n- Use serif or display-weight fonts \u2014 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\u219240px), hamburger nav |\n| Tablet | 809px\u20131199px | 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 \u2014 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 \u2192 hamburger menu at mobile breakpoint\n- **Hero text**: 110px display \u2192 85px \u2192 62px \u2192 ~40px across breakpoints, maintaining extreme negative tracking proportionally\n- **Feature sections**: Side-by-side (text + screenshot) \u2192 stacked vertically on mobile\n- **Product screenshots**: Scale responsively within containers, maintaining aspect ratios\n- **Section spacing**: Reduces proportionally \u2014 120px desktop \u2192 60px mobile\n\n### Image Behavior\n- Product screenshots are responsive, scaling within their container boundaries\n- No art direction changes \u2014 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 \u2014 the dark canvas makes each element precious\n2. Always verify letter-spacing on GT Walsheim headings \u2014 the extreme negative tracking is non-negotiable\n3. Check that Framer Blue appears ONLY on interactive elements \u2014 never as decorative background or text color for non-links\n4. Ensure all buttons are pill-shaped \u2014 any squared corner immediately breaks the Framer aesthetic\n5. 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\n";
2
+
3
+ export { framerBrief };