@hex-core/themes 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (577) hide show
  1. package/dist/chunk-2LXEWDOF.js +68 -0
  2. package/dist/chunk-2LXEWDOF.js.map +1 -0
  3. package/dist/chunk-2SIVAJHV.js +68 -0
  4. package/dist/chunk-2SIVAJHV.js.map +1 -0
  5. package/dist/chunk-2UVSQNAF.js +68 -0
  6. package/dist/chunk-2UVSQNAF.js.map +1 -0
  7. package/dist/chunk-2XBAWSN6.js +68 -0
  8. package/dist/chunk-2XBAWSN6.js.map +1 -0
  9. package/dist/chunk-3FR2JLIS.js +68 -0
  10. package/dist/chunk-3FR2JLIS.js.map +1 -0
  11. package/dist/chunk-4AQSFP5U.js +68 -0
  12. package/dist/chunk-4AQSFP5U.js.map +1 -0
  13. package/dist/chunk-4CRJPM5Q.js +68 -0
  14. package/dist/chunk-4CRJPM5Q.js.map +1 -0
  15. package/dist/chunk-4EAEPKGB.js +68 -0
  16. package/dist/chunk-4EAEPKGB.js.map +1 -0
  17. package/dist/chunk-4JPNRIHQ.js +68 -0
  18. package/dist/chunk-4JPNRIHQ.js.map +1 -0
  19. package/dist/chunk-4WCDNNON.js +68 -0
  20. package/dist/chunk-4WCDNNON.js.map +1 -0
  21. package/dist/chunk-4XQKUS33.js +68 -0
  22. package/dist/chunk-4XQKUS33.js.map +1 -0
  23. package/dist/chunk-5FW5RHIU.js +68 -0
  24. package/dist/chunk-5FW5RHIU.js.map +1 -0
  25. package/dist/chunk-64G56KOZ.js +68 -0
  26. package/dist/chunk-64G56KOZ.js.map +1 -0
  27. package/dist/chunk-6UDYRVS2.js +68 -0
  28. package/dist/chunk-6UDYRVS2.js.map +1 -0
  29. package/dist/chunk-75HM5DPO.js +68 -0
  30. package/dist/chunk-75HM5DPO.js.map +1 -0
  31. package/dist/chunk-7VETPCK7.js +68 -0
  32. package/dist/chunk-7VETPCK7.js.map +1 -0
  33. package/dist/chunk-BMH72AOR.js +68 -0
  34. package/dist/chunk-BMH72AOR.js.map +1 -0
  35. package/dist/chunk-BTDSHLZE.js +68 -0
  36. package/dist/chunk-BTDSHLZE.js.map +1 -0
  37. package/dist/chunk-BTKVLLPL.js +68 -0
  38. package/dist/chunk-BTKVLLPL.js.map +1 -0
  39. package/dist/chunk-CZDOW4UT.js +68 -0
  40. package/dist/chunk-CZDOW4UT.js.map +1 -0
  41. package/dist/chunk-DHT4VCQG.js +68 -0
  42. package/dist/chunk-DHT4VCQG.js.map +1 -0
  43. package/dist/chunk-DM6DAYEM.js +68 -0
  44. package/dist/chunk-DM6DAYEM.js.map +1 -0
  45. package/dist/chunk-DN2M4ZI5.js +68 -0
  46. package/dist/chunk-DN2M4ZI5.js.map +1 -0
  47. package/dist/chunk-DOUW4N6H.js +68 -0
  48. package/dist/chunk-DOUW4N6H.js.map +1 -0
  49. package/dist/chunk-DTZPLDZ5.js +68 -0
  50. package/dist/chunk-DTZPLDZ5.js.map +1 -0
  51. package/dist/chunk-E6MRSOPD.js +68 -0
  52. package/dist/chunk-E6MRSOPD.js.map +1 -0
  53. package/dist/chunk-FABPV7PL.js +68 -0
  54. package/dist/chunk-FABPV7PL.js.map +1 -0
  55. package/dist/chunk-FM67TP64.js +68 -0
  56. package/dist/chunk-FM67TP64.js.map +1 -0
  57. package/dist/chunk-GFABZZVH.js +68 -0
  58. package/dist/chunk-GFABZZVH.js.map +1 -0
  59. package/dist/chunk-HTLRH4MJ.js +68 -0
  60. package/dist/chunk-HTLRH4MJ.js.map +1 -0
  61. package/dist/chunk-IDBHZ2PV.js +68 -0
  62. package/dist/chunk-IDBHZ2PV.js.map +1 -0
  63. package/dist/chunk-J54YKOPC.js +68 -0
  64. package/dist/chunk-J54YKOPC.js.map +1 -0
  65. package/dist/chunk-JN5K3V7M.js +68 -0
  66. package/dist/chunk-JN5K3V7M.js.map +1 -0
  67. package/dist/chunk-JU4TDT2G.js +528 -0
  68. package/dist/chunk-JU4TDT2G.js.map +1 -0
  69. package/dist/chunk-JWBGRQJI.js +68 -0
  70. package/dist/chunk-JWBGRQJI.js.map +1 -0
  71. package/dist/chunk-KFVFORR5.js +68 -0
  72. package/dist/chunk-KFVFORR5.js.map +1 -0
  73. package/dist/chunk-LILQL4KG.js +68 -0
  74. package/dist/chunk-LILQL4KG.js.map +1 -0
  75. package/dist/chunk-M7JXKTNY.js +68 -0
  76. package/dist/chunk-M7JXKTNY.js.map +1 -0
  77. package/dist/chunk-NM567GJA.js +68 -0
  78. package/dist/chunk-NM567GJA.js.map +1 -0
  79. package/dist/chunk-NMWHITVJ.js +68 -0
  80. package/dist/chunk-NMWHITVJ.js.map +1 -0
  81. package/dist/chunk-NSWZ6DXW.js +68 -0
  82. package/dist/chunk-NSWZ6DXW.js.map +1 -0
  83. package/dist/chunk-NXSLVEML.js +68 -0
  84. package/dist/chunk-NXSLVEML.js.map +1 -0
  85. package/dist/chunk-NZX4NVB7.js +68 -0
  86. package/dist/chunk-NZX4NVB7.js.map +1 -0
  87. package/dist/chunk-OAB7GNRG.js +68 -0
  88. package/dist/chunk-OAB7GNRG.js.map +1 -0
  89. package/dist/chunk-P4I6HJZA.js +68 -0
  90. package/dist/chunk-P4I6HJZA.js.map +1 -0
  91. package/dist/chunk-PC3NQBOZ.js +68 -0
  92. package/dist/chunk-PC3NQBOZ.js.map +1 -0
  93. package/dist/chunk-PE3RNDVR.js +68 -0
  94. package/dist/chunk-PE3RNDVR.js.map +1 -0
  95. package/dist/chunk-Q2Q3577E.js +68 -0
  96. package/dist/chunk-Q2Q3577E.js.map +1 -0
  97. package/dist/chunk-QEMINSRG.js +68 -0
  98. package/dist/chunk-QEMINSRG.js.map +1 -0
  99. package/dist/chunk-RGBZ3ZXX.js +68 -0
  100. package/dist/chunk-RGBZ3ZXX.js.map +1 -0
  101. package/dist/chunk-RWSUTY67.js +68 -0
  102. package/dist/chunk-RWSUTY67.js.map +1 -0
  103. package/dist/chunk-SB3JKBJD.js +68 -0
  104. package/dist/chunk-SB3JKBJD.js.map +1 -0
  105. package/dist/chunk-TAHSZ55U.js +68 -0
  106. package/dist/chunk-TAHSZ55U.js.map +1 -0
  107. package/dist/chunk-TCR3NGBV.js +68 -0
  108. package/dist/chunk-TCR3NGBV.js.map +1 -0
  109. package/dist/chunk-TKPBFOEN.js +68 -0
  110. package/dist/chunk-TKPBFOEN.js.map +1 -0
  111. package/dist/chunk-TN6KDVAG.js +68 -0
  112. package/dist/chunk-TN6KDVAG.js.map +1 -0
  113. package/dist/chunk-UIMBGFLW.js +68 -0
  114. package/dist/chunk-UIMBGFLW.js.map +1 -0
  115. package/dist/chunk-UL4F5NTU.js +68 -0
  116. package/dist/chunk-UL4F5NTU.js.map +1 -0
  117. package/dist/chunk-UWDKL3IR.js +68 -0
  118. package/dist/chunk-UWDKL3IR.js.map +1 -0
  119. package/dist/chunk-VNYLNLIH.js +68 -0
  120. package/dist/chunk-VNYLNLIH.js.map +1 -0
  121. package/dist/chunk-W2VEHVDK.js +68 -0
  122. package/dist/chunk-W2VEHVDK.js.map +1 -0
  123. package/dist/chunk-WMYSBUH5.js +68 -0
  124. package/dist/chunk-WMYSBUH5.js.map +1 -0
  125. package/dist/chunk-WNTQIMRE.js +68 -0
  126. package/dist/chunk-WNTQIMRE.js.map +1 -0
  127. package/dist/chunk-WY72KJJW.js +68 -0
  128. package/dist/chunk-WY72KJJW.js.map +1 -0
  129. package/dist/chunk-WYTM3WHD.js +68 -0
  130. package/dist/chunk-WYTM3WHD.js.map +1 -0
  131. package/dist/chunk-XGQWOJRB.js +68 -0
  132. package/dist/chunk-XGQWOJRB.js.map +1 -0
  133. package/dist/chunk-YZKPRCKP.js +68 -0
  134. package/dist/chunk-YZKPRCKP.js.map +1 -0
  135. package/dist/chunk-ZEPFA7ZT.js +68 -0
  136. package/dist/chunk-ZEPFA7ZT.js.map +1 -0
  137. package/dist/chunk-ZIMELPXX.js +68 -0
  138. package/dist/chunk-ZIMELPXX.js.map +1 -0
  139. package/dist/chunk-ZMAIAAT6.js +68 -0
  140. package/dist/chunk-ZMAIAAT6.js.map +1 -0
  141. package/dist/chunk-ZOCDSEOF.js +68 -0
  142. package/dist/chunk-ZOCDSEOF.js.map +1 -0
  143. package/dist/chunk-ZSUTMUVB.js +68 -0
  144. package/dist/chunk-ZSUTMUVB.js.map +1 -0
  145. package/dist/index.d.ts +185 -23
  146. package/dist/index.js +359 -3
  147. package/dist/index.js.map +1 -1
  148. package/dist/presets/_briefs/airbnb.d.ts +3 -0
  149. package/dist/presets/_briefs/airbnb.js +551 -0
  150. package/dist/presets/_briefs/airbnb.js.map +1 -0
  151. package/dist/presets/_briefs/airtable.d.ts +3 -0
  152. package/dist/presets/_briefs/airtable.js +560 -0
  153. package/dist/presets/_briefs/airtable.js.map +1 -0
  154. package/dist/presets/_briefs/apple.d.ts +3 -0
  155. package/dist/presets/_briefs/apple.js +568 -0
  156. package/dist/presets/_briefs/apple.js.map +1 -0
  157. package/dist/presets/_briefs/binance.d.ts +3 -0
  158. package/dist/presets/_briefs/binance.js +640 -0
  159. package/dist/presets/_briefs/binance.js.map +1 -0
  160. package/dist/presets/_briefs/bmw-m.d.ts +3 -0
  161. package/dist/presets/_briefs/bmw-m.js +509 -0
  162. package/dist/presets/_briefs/bmw-m.js.map +1 -0
  163. package/dist/presets/_briefs/bmw.d.ts +3 -0
  164. package/dist/presets/_briefs/bmw.js +550 -0
  165. package/dist/presets/_briefs/bmw.js.map +1 -0
  166. package/dist/presets/_briefs/bugatti.d.ts +3 -0
  167. package/dist/presets/_briefs/bugatti.js +460 -0
  168. package/dist/presets/_briefs/bugatti.js.map +1 -0
  169. package/dist/presets/_briefs/cal.d.ts +3 -0
  170. package/dist/presets/_briefs/cal.js +548 -0
  171. package/dist/presets/_briefs/cal.js.map +1 -0
  172. package/dist/presets/_briefs/claude.d.ts +3 -0
  173. package/dist/presets/_briefs/claude.js +595 -0
  174. package/dist/presets/_briefs/claude.js.map +1 -0
  175. package/dist/presets/_briefs/clay.d.ts +3 -0
  176. package/dist/presets/_briefs/clay.js +547 -0
  177. package/dist/presets/_briefs/clay.js.map +1 -0
  178. package/dist/presets/_briefs/clickhouse.d.ts +3 -0
  179. package/dist/presets/_briefs/clickhouse.js +550 -0
  180. package/dist/presets/_briefs/clickhouse.js.map +1 -0
  181. package/dist/presets/_briefs/cohere.d.ts +3 -0
  182. package/dist/presets/_briefs/cohere.js +457 -0
  183. package/dist/presets/_briefs/cohere.js.map +1 -0
  184. package/dist/presets/_briefs/coinbase.d.ts +3 -0
  185. package/dist/presets/_briefs/coinbase.js +576 -0
  186. package/dist/presets/_briefs/coinbase.js.map +1 -0
  187. package/dist/presets/_briefs/composio.d.ts +3 -0
  188. package/dist/presets/_briefs/composio.js +512 -0
  189. package/dist/presets/_briefs/composio.js.map +1 -0
  190. package/dist/presets/_briefs/cursor.d.ts +3 -0
  191. package/dist/presets/_briefs/cursor.js +543 -0
  192. package/dist/presets/_briefs/cursor.js.map +1 -0
  193. package/dist/presets/_briefs/elevenlabs.d.ts +3 -0
  194. package/dist/presets/_briefs/elevenlabs.js +510 -0
  195. package/dist/presets/_briefs/elevenlabs.js.map +1 -0
  196. package/dist/presets/_briefs/expo.d.ts +3 -0
  197. package/dist/presets/_briefs/expo.js +532 -0
  198. package/dist/presets/_briefs/expo.js.map +1 -0
  199. package/dist/presets/_briefs/ferrari.d.ts +3 -0
  200. package/dist/presets/_briefs/ferrari.js +537 -0
  201. package/dist/presets/_briefs/ferrari.js.map +1 -0
  202. package/dist/presets/_briefs/figma.d.ts +3 -0
  203. package/dist/presets/_briefs/figma.js +226 -0
  204. package/dist/presets/_briefs/figma.js.map +1 -0
  205. package/dist/presets/_briefs/framer.d.ts +3 -0
  206. package/dist/presets/_briefs/framer.js +252 -0
  207. package/dist/presets/_briefs/framer.js.map +1 -0
  208. package/dist/presets/_briefs/hashicorp.d.ts +3 -0
  209. package/dist/presets/_briefs/hashicorp.js +284 -0
  210. package/dist/presets/_briefs/hashicorp.js.map +1 -0
  211. package/dist/presets/_briefs/ibm.d.ts +3 -0
  212. package/dist/presets/_briefs/ibm.js +338 -0
  213. package/dist/presets/_briefs/ibm.js.map +1 -0
  214. package/dist/presets/_briefs/intercom.d.ts +3 -0
  215. package/dist/presets/_briefs/intercom.js +152 -0
  216. package/dist/presets/_briefs/intercom.js.map +1 -0
  217. package/dist/presets/_briefs/kraken.d.ts +3 -0
  218. package/dist/presets/_briefs/kraken.js +131 -0
  219. package/dist/presets/_briefs/kraken.js.map +1 -0
  220. package/dist/presets/_briefs/lamborghini.d.ts +3 -0
  221. package/dist/presets/_briefs/lamborghini.js +294 -0
  222. package/dist/presets/_briefs/lamborghini.js.map +1 -0
  223. package/dist/presets/_briefs/linear.d.ts +3 -0
  224. package/dist/presets/_briefs/linear.js +373 -0
  225. package/dist/presets/_briefs/linear.js.map +1 -0
  226. package/dist/presets/_briefs/lovable.d.ts +3 -0
  227. package/dist/presets/_briefs/lovable.js +304 -0
  228. package/dist/presets/_briefs/lovable.js.map +1 -0
  229. package/dist/presets/_briefs/mastercard.d.ts +3 -0
  230. package/dist/presets/_briefs/mastercard.js +371 -0
  231. package/dist/presets/_briefs/mastercard.js.map +1 -0
  232. package/dist/presets/_briefs/meta.d.ts +3 -0
  233. package/dist/presets/_briefs/meta.js +372 -0
  234. package/dist/presets/_briefs/meta.js.map +1 -0
  235. package/dist/presets/_briefs/minimax.d.ts +3 -0
  236. package/dist/presets/_briefs/minimax.js +263 -0
  237. package/dist/presets/_briefs/minimax.js.map +1 -0
  238. package/dist/presets/_briefs/mintlify.d.ts +3 -0
  239. package/dist/presets/_briefs/mintlify.js +332 -0
  240. package/dist/presets/_briefs/mintlify.js.map +1 -0
  241. package/dist/presets/_briefs/miro.d.ts +3 -0
  242. package/dist/presets/_briefs/miro.js +114 -0
  243. package/dist/presets/_briefs/miro.js.map +1 -0
  244. package/dist/presets/_briefs/mistral.d.ts +3 -0
  245. package/dist/presets/_briefs/mistral.js +267 -0
  246. package/dist/presets/_briefs/mistral.js.map +1 -0
  247. package/dist/presets/_briefs/mongodb.d.ts +3 -0
  248. package/dist/presets/_briefs/mongodb.js +272 -0
  249. package/dist/presets/_briefs/mongodb.js.map +1 -0
  250. package/dist/presets/_briefs/nike.d.ts +3 -0
  251. package/dist/presets/_briefs/nike.js +369 -0
  252. package/dist/presets/_briefs/nike.js.map +1 -0
  253. package/dist/presets/_briefs/notion.d.ts +3 -0
  254. package/dist/presets/_briefs/notion.js +315 -0
  255. package/dist/presets/_briefs/notion.js.map +1 -0
  256. package/dist/presets/_briefs/nvidia.d.ts +3 -0
  257. package/dist/presets/_briefs/nvidia.js +299 -0
  258. package/dist/presets/_briefs/nvidia.js.map +1 -0
  259. package/dist/presets/_briefs/ollama.d.ts +3 -0
  260. package/dist/presets/_briefs/ollama.js +273 -0
  261. package/dist/presets/_briefs/ollama.js.map +1 -0
  262. package/dist/presets/_briefs/opencode.d.ts +3 -0
  263. package/dist/presets/_briefs/opencode.js +287 -0
  264. package/dist/presets/_briefs/opencode.js.map +1 -0
  265. package/dist/presets/_briefs/pinterest.d.ts +3 -0
  266. package/dist/presets/_briefs/pinterest.js +236 -0
  267. package/dist/presets/_briefs/pinterest.js.map +1 -0
  268. package/dist/presets/_briefs/playstation.d.ts +3 -0
  269. package/dist/presets/_briefs/playstation.js +370 -0
  270. package/dist/presets/_briefs/playstation.js.map +1 -0
  271. package/dist/presets/_briefs/posthog.d.ts +3 -0
  272. package/dist/presets/_briefs/posthog.js +262 -0
  273. package/dist/presets/_briefs/posthog.js.map +1 -0
  274. package/dist/presets/_briefs/raycast.d.ts +3 -0
  275. package/dist/presets/_briefs/raycast.js +274 -0
  276. package/dist/presets/_briefs/raycast.js.map +1 -0
  277. package/dist/presets/_briefs/renault.d.ts +3 -0
  278. package/dist/presets/_briefs/renault.js +317 -0
  279. package/dist/presets/_briefs/renault.js.map +1 -0
  280. package/dist/presets/_briefs/replicate.d.ts +3 -0
  281. package/dist/presets/_briefs/replicate.js +267 -0
  282. package/dist/presets/_briefs/replicate.js.map +1 -0
  283. package/dist/presets/_briefs/resend.d.ts +3 -0
  284. package/dist/presets/_briefs/resend.js +309 -0
  285. package/dist/presets/_briefs/resend.js.map +1 -0
  286. package/dist/presets/_briefs/revolut.d.ts +3 -0
  287. package/dist/presets/_briefs/revolut.js +191 -0
  288. package/dist/presets/_briefs/revolut.js.map +1 -0
  289. package/dist/presets/_briefs/runwayml.d.ts +3 -0
  290. package/dist/presets/_briefs/runwayml.js +250 -0
  291. package/dist/presets/_briefs/runwayml.js.map +1 -0
  292. package/dist/presets/_briefs/sanity.d.ts +3 -0
  293. package/dist/presets/_briefs/sanity.js +363 -0
  294. package/dist/presets/_briefs/sanity.js.map +1 -0
  295. package/dist/presets/_briefs/sentry.d.ts +3 -0
  296. package/dist/presets/_briefs/sentry.js +268 -0
  297. package/dist/presets/_briefs/sentry.js.map +1 -0
  298. package/dist/presets/_briefs/shopify.d.ts +3 -0
  299. package/dist/presets/_briefs/shopify.js +356 -0
  300. package/dist/presets/_briefs/shopify.js.map +1 -0
  301. package/dist/presets/_briefs/slack.d.ts +3 -0
  302. package/dist/presets/_briefs/slack.js +221 -0
  303. package/dist/presets/_briefs/slack.js.map +1 -0
  304. package/dist/presets/_briefs/spacex.d.ts +3 -0
  305. package/dist/presets/_briefs/spacex.js +200 -0
  306. package/dist/presets/_briefs/spacex.js.map +1 -0
  307. package/dist/presets/_briefs/spotify.d.ts +3 -0
  308. package/dist/presets/_briefs/spotify.js +252 -0
  309. package/dist/presets/_briefs/spotify.js.map +1 -0
  310. package/dist/presets/_briefs/starbucks.d.ts +3 -0
  311. package/dist/presets/_briefs/starbucks.js +586 -0
  312. package/dist/presets/_briefs/starbucks.js.map +1 -0
  313. package/dist/presets/_briefs/stripe.d.ts +3 -0
  314. package/dist/presets/_briefs/stripe.js +328 -0
  315. package/dist/presets/_briefs/stripe.js.map +1 -0
  316. package/dist/presets/_briefs/supabase.d.ts +3 -0
  317. package/dist/presets/_briefs/supabase.js +261 -0
  318. package/dist/presets/_briefs/supabase.js.map +1 -0
  319. package/dist/presets/_briefs/superhuman.d.ts +3 -0
  320. package/dist/presets/_briefs/superhuman.js +258 -0
  321. package/dist/presets/_briefs/superhuman.js.map +1 -0
  322. package/dist/presets/_briefs/tesla.d.ts +3 -0
  323. package/dist/presets/_briefs/tesla.js +292 -0
  324. package/dist/presets/_briefs/tesla.js.map +1 -0
  325. package/dist/presets/_briefs/theverge.d.ts +3 -0
  326. package/dist/presets/_briefs/theverge.js +345 -0
  327. package/dist/presets/_briefs/theverge.js.map +1 -0
  328. package/dist/presets/_briefs/together.d.ts +3 -0
  329. package/dist/presets/_briefs/together.js +269 -0
  330. package/dist/presets/_briefs/together.js.map +1 -0
  331. package/dist/presets/_briefs/uber.d.ts +3 -0
  332. package/dist/presets/_briefs/uber.js +301 -0
  333. package/dist/presets/_briefs/uber.js.map +1 -0
  334. package/dist/presets/_briefs/vercel.d.ts +3 -0
  335. package/dist/presets/_briefs/vercel.js +316 -0
  336. package/dist/presets/_briefs/vercel.js.map +1 -0
  337. package/dist/presets/_briefs/vodafone.d.ts +3 -0
  338. package/dist/presets/_briefs/vodafone.js +429 -0
  339. package/dist/presets/_briefs/vodafone.js.map +1 -0
  340. package/dist/presets/_briefs/voltagent.d.ts +3 -0
  341. package/dist/presets/_briefs/voltagent.js +329 -0
  342. package/dist/presets/_briefs/voltagent.js.map +1 -0
  343. package/dist/presets/_briefs/warp.d.ts +3 -0
  344. package/dist/presets/_briefs/warp.js +259 -0
  345. package/dist/presets/_briefs/warp.js.map +1 -0
  346. package/dist/presets/_briefs/webflow.d.ts +3 -0
  347. package/dist/presets/_briefs/webflow.js +98 -0
  348. package/dist/presets/_briefs/webflow.js.map +1 -0
  349. package/dist/presets/_briefs/wired.d.ts +3 -0
  350. package/dist/presets/_briefs/wired.js +284 -0
  351. package/dist/presets/_briefs/wired.js.map +1 -0
  352. package/dist/presets/_briefs/wise.d.ts +3 -0
  353. package/dist/presets/_briefs/wise.js +179 -0
  354. package/dist/presets/_briefs/wise.js.map +1 -0
  355. package/dist/presets/_briefs/x.d.ts +3 -0
  356. package/dist/presets/_briefs/x.js +263 -0
  357. package/dist/presets/_briefs/x.js.map +1 -0
  358. package/dist/presets/_briefs/zapier.d.ts +3 -0
  359. package/dist/presets/_briefs/zapier.js +334 -0
  360. package/dist/presets/_briefs/zapier.js.map +1 -0
  361. package/dist/presets/airbnb.d.ts +5 -0
  362. package/dist/presets/airbnb.js +7 -0
  363. package/dist/presets/airbnb.js.map +1 -0
  364. package/dist/presets/airtable.d.ts +5 -0
  365. package/dist/presets/airtable.js +7 -0
  366. package/dist/presets/airtable.js.map +1 -0
  367. package/dist/presets/apple.d.ts +5 -0
  368. package/dist/presets/apple.js +7 -0
  369. package/dist/presets/apple.js.map +1 -0
  370. package/dist/presets/binance.d.ts +5 -0
  371. package/dist/presets/binance.js +7 -0
  372. package/dist/presets/binance.js.map +1 -0
  373. package/dist/presets/bmw-m.d.ts +5 -0
  374. package/dist/presets/bmw-m.js +7 -0
  375. package/dist/presets/bmw-m.js.map +1 -0
  376. package/dist/presets/bmw.d.ts +5 -0
  377. package/dist/presets/bmw.js +7 -0
  378. package/dist/presets/bmw.js.map +1 -0
  379. package/dist/presets/bugatti.d.ts +5 -0
  380. package/dist/presets/bugatti.js +7 -0
  381. package/dist/presets/bugatti.js.map +1 -0
  382. package/dist/presets/cal.d.ts +5 -0
  383. package/dist/presets/cal.js +7 -0
  384. package/dist/presets/cal.js.map +1 -0
  385. package/dist/presets/claude.d.ts +5 -0
  386. package/dist/presets/claude.js +7 -0
  387. package/dist/presets/claude.js.map +1 -0
  388. package/dist/presets/clay.d.ts +5 -0
  389. package/dist/presets/clay.js +7 -0
  390. package/dist/presets/clay.js.map +1 -0
  391. package/dist/presets/clickhouse.d.ts +5 -0
  392. package/dist/presets/clickhouse.js +7 -0
  393. package/dist/presets/clickhouse.js.map +1 -0
  394. package/dist/presets/cohere.d.ts +5 -0
  395. package/dist/presets/cohere.js +7 -0
  396. package/dist/presets/cohere.js.map +1 -0
  397. package/dist/presets/coinbase.d.ts +5 -0
  398. package/dist/presets/coinbase.js +7 -0
  399. package/dist/presets/coinbase.js.map +1 -0
  400. package/dist/presets/composio.d.ts +5 -0
  401. package/dist/presets/composio.js +7 -0
  402. package/dist/presets/composio.js.map +1 -0
  403. package/dist/presets/cursor.d.ts +5 -0
  404. package/dist/presets/cursor.js +7 -0
  405. package/dist/presets/cursor.js.map +1 -0
  406. package/dist/presets/elevenlabs.d.ts +5 -0
  407. package/dist/presets/elevenlabs.js +7 -0
  408. package/dist/presets/elevenlabs.js.map +1 -0
  409. package/dist/presets/expo.d.ts +5 -0
  410. package/dist/presets/expo.js +7 -0
  411. package/dist/presets/expo.js.map +1 -0
  412. package/dist/presets/ferrari.d.ts +5 -0
  413. package/dist/presets/ferrari.js +7 -0
  414. package/dist/presets/ferrari.js.map +1 -0
  415. package/dist/presets/figma.d.ts +5 -0
  416. package/dist/presets/figma.js +7 -0
  417. package/dist/presets/figma.js.map +1 -0
  418. package/dist/presets/framer.d.ts +5 -0
  419. package/dist/presets/framer.js +7 -0
  420. package/dist/presets/framer.js.map +1 -0
  421. package/dist/presets/hashicorp.d.ts +5 -0
  422. package/dist/presets/hashicorp.js +7 -0
  423. package/dist/presets/hashicorp.js.map +1 -0
  424. package/dist/presets/ibm.d.ts +5 -0
  425. package/dist/presets/ibm.js +7 -0
  426. package/dist/presets/ibm.js.map +1 -0
  427. package/dist/presets/index.d.ts +94 -0
  428. package/dist/presets/index.js +297 -0
  429. package/dist/presets/index.js.map +1 -0
  430. package/dist/presets/intercom.d.ts +5 -0
  431. package/dist/presets/intercom.js +7 -0
  432. package/dist/presets/intercom.js.map +1 -0
  433. package/dist/presets/kraken.d.ts +5 -0
  434. package/dist/presets/kraken.js +7 -0
  435. package/dist/presets/kraken.js.map +1 -0
  436. package/dist/presets/lamborghini.d.ts +5 -0
  437. package/dist/presets/lamborghini.js +7 -0
  438. package/dist/presets/lamborghini.js.map +1 -0
  439. package/dist/presets/linear.d.ts +5 -0
  440. package/dist/presets/linear.js +7 -0
  441. package/dist/presets/linear.js.map +1 -0
  442. package/dist/presets/lovable.d.ts +5 -0
  443. package/dist/presets/lovable.js +7 -0
  444. package/dist/presets/lovable.js.map +1 -0
  445. package/dist/presets/mastercard.d.ts +5 -0
  446. package/dist/presets/mastercard.js +7 -0
  447. package/dist/presets/mastercard.js.map +1 -0
  448. package/dist/presets/meta.d.ts +5 -0
  449. package/dist/presets/meta.js +7 -0
  450. package/dist/presets/meta.js.map +1 -0
  451. package/dist/presets/minimax.d.ts +5 -0
  452. package/dist/presets/minimax.js +7 -0
  453. package/dist/presets/minimax.js.map +1 -0
  454. package/dist/presets/mintlify.d.ts +5 -0
  455. package/dist/presets/mintlify.js +7 -0
  456. package/dist/presets/mintlify.js.map +1 -0
  457. package/dist/presets/miro.d.ts +5 -0
  458. package/dist/presets/miro.js +7 -0
  459. package/dist/presets/miro.js.map +1 -0
  460. package/dist/presets/mistral.d.ts +5 -0
  461. package/dist/presets/mistral.js +7 -0
  462. package/dist/presets/mistral.js.map +1 -0
  463. package/dist/presets/mongodb.d.ts +5 -0
  464. package/dist/presets/mongodb.js +7 -0
  465. package/dist/presets/mongodb.js.map +1 -0
  466. package/dist/presets/nike.d.ts +5 -0
  467. package/dist/presets/nike.js +7 -0
  468. package/dist/presets/nike.js.map +1 -0
  469. package/dist/presets/notion.d.ts +5 -0
  470. package/dist/presets/notion.js +7 -0
  471. package/dist/presets/notion.js.map +1 -0
  472. package/dist/presets/nvidia.d.ts +5 -0
  473. package/dist/presets/nvidia.js +7 -0
  474. package/dist/presets/nvidia.js.map +1 -0
  475. package/dist/presets/ollama.d.ts +5 -0
  476. package/dist/presets/ollama.js +7 -0
  477. package/dist/presets/ollama.js.map +1 -0
  478. package/dist/presets/opencode.d.ts +5 -0
  479. package/dist/presets/opencode.js +7 -0
  480. package/dist/presets/opencode.js.map +1 -0
  481. package/dist/presets/pinterest.d.ts +5 -0
  482. package/dist/presets/pinterest.js +7 -0
  483. package/dist/presets/pinterest.js.map +1 -0
  484. package/dist/presets/playstation.d.ts +5 -0
  485. package/dist/presets/playstation.js +7 -0
  486. package/dist/presets/playstation.js.map +1 -0
  487. package/dist/presets/posthog.d.ts +5 -0
  488. package/dist/presets/posthog.js +7 -0
  489. package/dist/presets/posthog.js.map +1 -0
  490. package/dist/presets/raycast.d.ts +5 -0
  491. package/dist/presets/raycast.js +7 -0
  492. package/dist/presets/raycast.js.map +1 -0
  493. package/dist/presets/renault.d.ts +5 -0
  494. package/dist/presets/renault.js +7 -0
  495. package/dist/presets/renault.js.map +1 -0
  496. package/dist/presets/replicate.d.ts +5 -0
  497. package/dist/presets/replicate.js +7 -0
  498. package/dist/presets/replicate.js.map +1 -0
  499. package/dist/presets/resend.d.ts +5 -0
  500. package/dist/presets/resend.js +7 -0
  501. package/dist/presets/resend.js.map +1 -0
  502. package/dist/presets/revolut.d.ts +5 -0
  503. package/dist/presets/revolut.js +7 -0
  504. package/dist/presets/revolut.js.map +1 -0
  505. package/dist/presets/runwayml.d.ts +5 -0
  506. package/dist/presets/runwayml.js +7 -0
  507. package/dist/presets/runwayml.js.map +1 -0
  508. package/dist/presets/sanity.d.ts +5 -0
  509. package/dist/presets/sanity.js +7 -0
  510. package/dist/presets/sanity.js.map +1 -0
  511. package/dist/presets/sentry.d.ts +5 -0
  512. package/dist/presets/sentry.js +7 -0
  513. package/dist/presets/sentry.js.map +1 -0
  514. package/dist/presets/shopify.d.ts +5 -0
  515. package/dist/presets/shopify.js +7 -0
  516. package/dist/presets/shopify.js.map +1 -0
  517. package/dist/presets/slack.d.ts +5 -0
  518. package/dist/presets/slack.js +7 -0
  519. package/dist/presets/slack.js.map +1 -0
  520. package/dist/presets/spacex.d.ts +5 -0
  521. package/dist/presets/spacex.js +7 -0
  522. package/dist/presets/spacex.js.map +1 -0
  523. package/dist/presets/spotify.d.ts +5 -0
  524. package/dist/presets/spotify.js +7 -0
  525. package/dist/presets/spotify.js.map +1 -0
  526. package/dist/presets/starbucks.d.ts +5 -0
  527. package/dist/presets/starbucks.js +7 -0
  528. package/dist/presets/starbucks.js.map +1 -0
  529. package/dist/presets/stripe.d.ts +5 -0
  530. package/dist/presets/stripe.js +7 -0
  531. package/dist/presets/stripe.js.map +1 -0
  532. package/dist/presets/supabase.d.ts +5 -0
  533. package/dist/presets/supabase.js +7 -0
  534. package/dist/presets/supabase.js.map +1 -0
  535. package/dist/presets/superhuman.d.ts +5 -0
  536. package/dist/presets/superhuman.js +7 -0
  537. package/dist/presets/superhuman.js.map +1 -0
  538. package/dist/presets/tesla.d.ts +5 -0
  539. package/dist/presets/tesla.js +7 -0
  540. package/dist/presets/tesla.js.map +1 -0
  541. package/dist/presets/theverge.d.ts +5 -0
  542. package/dist/presets/theverge.js +7 -0
  543. package/dist/presets/theverge.js.map +1 -0
  544. package/dist/presets/together.d.ts +5 -0
  545. package/dist/presets/together.js +7 -0
  546. package/dist/presets/together.js.map +1 -0
  547. package/dist/presets/uber.d.ts +5 -0
  548. package/dist/presets/uber.js +7 -0
  549. package/dist/presets/uber.js.map +1 -0
  550. package/dist/presets/vercel.d.ts +5 -0
  551. package/dist/presets/vercel.js +7 -0
  552. package/dist/presets/vercel.js.map +1 -0
  553. package/dist/presets/vodafone.d.ts +5 -0
  554. package/dist/presets/vodafone.js +7 -0
  555. package/dist/presets/vodafone.js.map +1 -0
  556. package/dist/presets/voltagent.d.ts +5 -0
  557. package/dist/presets/voltagent.js +7 -0
  558. package/dist/presets/voltagent.js.map +1 -0
  559. package/dist/presets/warp.d.ts +5 -0
  560. package/dist/presets/warp.js +7 -0
  561. package/dist/presets/warp.js.map +1 -0
  562. package/dist/presets/webflow.d.ts +5 -0
  563. package/dist/presets/webflow.js +7 -0
  564. package/dist/presets/webflow.js.map +1 -0
  565. package/dist/presets/wired.d.ts +5 -0
  566. package/dist/presets/wired.js +7 -0
  567. package/dist/presets/wired.js.map +1 -0
  568. package/dist/presets/wise.d.ts +5 -0
  569. package/dist/presets/wise.js +7 -0
  570. package/dist/presets/wise.js.map +1 -0
  571. package/dist/presets/x.d.ts +5 -0
  572. package/dist/presets/x.js +7 -0
  573. package/dist/presets/x.js.map +1 -0
  574. package/dist/presets/zapier.d.ts +5 -0
  575. package/dist/presets/zapier.js +7 -0
  576. package/dist/presets/zapier.js.map +1 -0
  577. package/package.json +15 -3
@@ -0,0 +1,586 @@
1
+ // src/presets/_briefs/starbucks.ts
2
+ var starbucksBrief = `# Design System Inspired by Starbucks
3
+
4
+ ## 1. Visual Theme & Atmosphere
5
+
6
+ Starbucks' design system is a **warm, confident retail flagship** wearing the green of their storefront apron across every surface. The canvas alternates between a neutral-warm cream (\`#f2f0eb\`) and a ceramic off-white (\`#edebe9\`) \u2014 colors that reference actual store materials: the paper napkins, the caf\xE9 walls, the wood finishes \u2014 while the signature **Starbucks Green** (\`#006241\`) anchors the brand moment on hero bands, CTAs, and the Rewards experience. The greens come in four calibrated shades (Starbucks, Accent, House, Uplift) each mapped to a specific surface role, and gold (\`#cba258\`) appears only around Rewards-status ceremony \u2014 not as a general accent.
7
+
8
+ Typography carries most of the brand voice. The proprietary **SoDoSans** typeface (custom to Starbucks) sits across nearly every surface with a tight \`-0.16px\` letter-spacing \u2014 it reads confident and friendly rather than fashion-magazine severe. What's unusual: the Rewards page switches to a warm serif (\`"Lander Tall", "Iowan Old Style", Georgia\`) for specific headline moments, subtly echoing the nostalgic feel of a coffeehouse chalkboard. And the Careers pages use a handwritten script (\`"Kalam", "Comic Sans MS", cursive\`) for personal cup-name touches. Three typefaces, three contexts \u2014 the system is disciplined about when each appears.
9
+
10
+ The surfaces breathe through rounded geometry. Every button is a 50px full-pill. Cards take a 12px rounded-rectangle. The "Frap" floating CTA \u2014 a 56px circular order button in Green Accent (\`#00754A\`) \u2014 is the product's signature depth move: it floats bottom-right with a layered shadow stack (\`0 0 6px rgba(0,0,0,0.24)\` base + \`0 8px 12px rgba(0,0,0,0.14)\` ambient) and compresses via \`scale(0.95)\` on press. Elevations are otherwise restrained \u2014 card shadows stay at a whispered \`0.14/0.24\` alpha, global nav gets a quiet three-layer shadow stack. The whole system feels like clean caf\xE9 signage: legible, warm, and never shouting.
11
+
12
+ **Key Characteristics:**
13
+ - Four-tier green brand system (Starbucks / Accent / House / Uplift) each mapped to a distinct surface role \u2014 not a single "brand green"
14
+ - Gold reserved for Rewards-status moments only; never a general-purpose accent
15
+ - Warm-neutral canvas (\`#f2f0eb\` / \`#edebe9\`) instead of cold white \u2014 references caf\xE9 materials
16
+ - Custom proprietary typeface (SoDoSans) with tight \`-0.16px\` letter-spacing as the universal voice
17
+ - Context-specific type switches: serif (Lander Tall) for Rewards, script (Kalam) for Careers cup-names
18
+ - Full-pill buttons (\`50px\` radius) universal, \`scale(0.95)\` active press the signature micro-interaction
19
+ - Floating "Frap" circular CTA (\`56px\`, Green Accent fill, layered shadow stack) \u2014 the product's signature elevation element
20
+ - Gift-card surfaces designed as **photographed physical product** \u2014 every card is a distinct illustrated photograph rather than a generated graphic
21
+ - 12px card radius + whisper-soft shadows keep content cards flat-plus-hint-of-lift
22
+ - Rem-based spacing scale anchored at 1.6rem (~16px) = \`--space-3\`, stepping to 6.4rem (~64px)
23
+
24
+ **Color-block page rhythm:** Cream hero \u2192 White content sections \u2192 Dark-green (\`#1E3932\`) feature band with white text \u2192 Cream utility zone \u2192 Dark-green (\`#1E3932\`) footer with gold / white text \u2014 an espresso-dark bookend around the bright body.
25
+
26
+ ## 2. Color Palette & Roles
27
+
28
+ **Source pages analyzed:** homepage, rewards, gift cards, product detail (Pink Energy Drink), product nutrition (Cold Brew).
29
+
30
+ ### Primary
31
+
32
+ - **Starbucks Green** (\`#006241\`): The historic brand green. Used on h1 headings, primary section headers on the Rewards page, and as the main brand signal wherever a single dominant color is needed.
33
+ - **Green Accent** (\`#00754A\`): A slightly brighter, more luminous green. The primary filled-CTA color ("Explore our afternoon menu", "See the spring menu") and the fill of the floating Frap circular button.
34
+ - **House Green** (\`#1E3932\`): The deep near-black brand green. Footer surface, feature-band backgrounds, reward-status dark surfaces, and the headline "Free coffee is just the beginning" hero band on Rewards.
35
+ - **Green Uplift** (\`#2b5148\`): A secondary mid-dark green used sparingly on decorative accents and dark-gradient moments.
36
+ - **Green Light** (\`#d4e9e2\`): A pale mint wash used for form-valid-state tints and light green utility surfaces.
37
+
38
+ ### Secondary & Accent
39
+
40
+ - **Gold** (\`#cba258\`): Reserved almost exclusively for Rewards-status ceremony \u2014 Gold-tier callouts, partnership badges (SkyMiles, Bonvoy), and premium-feeling accents. Never a general-purpose brand color.
41
+ - **Gold Light** (\`#dfc49d\`): Softer gold for background washes on gold-tier sections.
42
+ - **Gold Lightest** (\`#faf6ee\`): Cream-gold page-surface wash used under partnership sections on the Rewards page \u2014 ties the gold accent back into the warm neutral system.
43
+
44
+ ### Surface & Background
45
+
46
+ - **White** (\`#ffffff\`): Primary card and modal surface. Also card fill on gift-card tiles.
47
+ - **Neutral Cool** (\`#f9f9f9\`): Subtle cool-gray surface used on dropdown menus ("Account" dropdown), form-card wraps, and quiet utility containers.
48
+ - **Neutral Warm** (\`#f2f0eb\`): The warm cream **primary page canvas** for Rewards utility zones and hero bands.
49
+ - **Ceramic** (\`#edebe9\`): A slightly warmer/darker cream for zone separators, soft page-section washes, and Rewards partnership band.
50
+ - **Black** (\`#000000\`): Deep ink reserved for the dark top-of-page CTA strip ("Join now") and high-contrast top-nav sign-in buttons.
51
+
52
+ ### Neutrals & Text
53
+
54
+ - **Text Black** (\`rgba(0, 0, 0, 0.87)\`): Primary heading and body text color on light surfaces. Not pure black \u2014 an 87%-opacity black that reads warmer.
55
+ - **Text Black Soft** (\`rgba(0, 0, 0, 0.58)\`): Secondary/metadata text on light surfaces.
56
+ - **Text White** (\`rgba(255, 255, 255, 1)\`): Primary heading/body text on dark green surfaces.
57
+ - **Text White Soft** (\`rgba(255, 255, 255, 0.70)\`): Secondary text on dark-green surfaces \u2014 footer link descriptions, caption text.
58
+ - **Rewards Green** (\`#33433d\`): A dedicated muted slate-green used only on Rewards-page text blocks \u2014 a slightly "dustier" reading color than Text Black that signals "reward surface" without using full Starbucks Green.
59
+
60
+ ### Semantic & Accent
61
+
62
+ - **Red** (\`#c82014\`): Error and destructive state (form invalid, destructive actions).
63
+ - **Yellow** (\`#fbbc05\`): Warning state, legacy brand touch.
64
+ - **Green Light** (\`#d4e9e2\` at 33% opacity = \`hsl(160 32% 87% / 33%)\`): Form valid-field tint background.
65
+ - **Red Tint** (\`hsl(4 82% 43% / 5%)\`): Invalid-field tint on forms.
66
+
67
+ ### Black / White Alpha Ladders
68
+
69
+ Two parallel translucent scales for overlay and secondary-text use:
70
+ - \`rgba(0,0,0,0.06)\` through \`rgba(0,0,0,0.90)\` in 10% steps \u2014 for dark overlays on light surfaces
71
+ - \`rgba(255,255,255,0.10)\` through \`rgba(255,255,255,0.90)\` in 10% steps \u2014 for light overlays on dark surfaces
72
+
73
+ ### Gradient System
74
+
75
+ No structural gradient tokens observed. Surface hierarchy is solid-color-block throughout \u2014 the system relies on its five-tier cream/green surface palette rather than gradients.
76
+
77
+ ## 3. Typography Rules
78
+
79
+ ### Font Family
80
+
81
+ - **Primary:** \`SoDoSans, "Helvetica Neue", Helvetica, Arial, sans-serif\` \u2014 Starbucks' proprietary corporate typeface, used across nearly every surface
82
+ - **Loading Fallback:** \`"Helvetica Neue", Helvetica, Arial, sans-serif\` \u2014 what users see before SoDoSans loads
83
+ - **Rewards Serif:** \`"Lander Tall", "Iowan Old Style", Georgia, serif\` \u2014 used on specific Rewards-page headline moments for a warm editorial feel
84
+ - **Careers Script:** \`"Kalam", "Comic Sans MS", cursive\` \u2014 used exclusively for Careers-page "cup name" decorative touches, referencing the hand-written names on Starbucks cups
85
+
86
+ No OpenType stylistic sets explicitly activated at \`:root\`.
87
+
88
+ ### Hierarchy
89
+
90
+ | Role | Size | Weight | Line Height | Letter Spacing | Notes |
91
+ |------|------|--------|-------------|----------------|-------|
92
+ | Display (text-10) | 5.0rem / 80px | 400\u2013600 | 1.2 | -0.16px | Largest Rewards/hero display |
93
+ | Jumbo (text-9) | 3.6rem / 58px | 400\u2013600 | 1.2 | -0.16px | Secondary hero headings |
94
+ | Hero Large (text-8) | 2.8rem / 45px | 400\u2013600 | 1.2\u20131.5 | -0.16px | Landing section headlines |
95
+ | H1 | 24px | 600 | 36px | -0.16px | Starbucks-Green primary heading |
96
+ | H2 | 24px | 400 | 36px | -0.16px | Regular-weight section title in Text Black |
97
+ | Body Large | 19px | 400\u2013600 | 33.25px (~1.75) | -0.16px | Hero intro copy, feature-band body |
98
+ | Body (text-3) | 1.6rem / 16px | 400 | 1.5 (24px) | -0.01em | Default body copy |
99
+ | Small (text-2) | 1.4rem / ~14px | 400\u2013600 | 1.5 | -0.01em | Button label, metadata, form labels |
100
+ | Micro (text-1) | 1.3rem / ~13px | 400 | 1.5 | -0.01em | Active float-label state, caption micro-copy |
101
+ | Button Label | 14\u201316px | 400\u2013600 | 1.2 | -0.01em | All pill-button labels |
102
+
103
+ **Letter-spacing tokens:**
104
+ - \`letterSpacingNormal\`: \`-0.01em\` (default \u2014 tight, characteristic)
105
+ - \`letterSpacingLoose\`: \`0.1em\` (emphasized caps)
106
+ - \`letterSpacingLooser\`: \`0.15em\` (uppercase-style labels, extreme emphasis)
107
+
108
+ **Line-height tokens:**
109
+ - \`lineHeightNormal\`: \`1.5\` (body)
110
+ - \`lineHeightCompact\`: \`1.2\` (display/buttons)
111
+
112
+ ### Principles
113
+
114
+ - **Tight negative tracking (\`-0.01em\`)** is applied almost universally \u2014 the entire product reads slightly compressed, which gives SoDoSans its confident presence without feeling squeezed.
115
+ - **Weight shifts carry hierarchy, not size shifts.** H1 and H2 share the same 24px/36px size; only weight (600 vs 400) and color (Starbucks-Green vs Text Black) separate them.
116
+ - **Size tokens use rem, anchored to \`1rem = 10px\`** on this site (via a \`font-size: 62.5%\` root trick). So \`1.6rem\` = 16px, \`2.4rem\` = 24px, etc. The scale is semantic (textSize-1 through textSize-10), not arbitrary pixel values.
117
+ - **Context-specific typeface swaps** \u2014 serif on Rewards, script on Careers \u2014 are deliberate and localized. Never mix them with the primary sans within the same surface.
118
+ - **Body text never goes pure black** \u2014 it sits at \`rgba(0,0,0,0.87)\` to match the warm-neutral canvas temperature.
119
+
120
+ ### Note on Font Substitutes
121
+
122
+ SoDoSans is proprietary to Starbucks (licensed from House Industries, not publicly available). Reasonable open-source substitutes:
123
+ - **Inter** (Google Fonts) \u2014 similar humanist geometric proportions, wide weight range
124
+ - **Manrope** \u2014 slightly rounder, similar confident feel
125
+ - **Nunito Sans** \u2014 warmer, good for a "caf\xE9" brand substitute
126
+
127
+ If substituting, verify the tight \`-0.01em\` / \`-0.16px\` tracking still reads well; some open-source fonts need \`-0.005em\` instead.
128
+
129
+ Lander Tall (the Rewards serif) is custom \u2014 open-source substitutes: **Iowan Old Style** (already in fallback), **Lora**, or **Source Serif Pro**. Kalam (Careers script) is available on Google Fonts directly.
130
+
131
+ ## 4. Component Stylings
132
+
133
+ ### Buttons
134
+
135
+ **1. Primary Filled \u2014 "Explore our afternoon menu / Sign up for free"**
136
+ - Background: \`#00754A\` (Green Accent)
137
+ - Text: \`#ffffff\`
138
+ - Border: \`1px solid #00754A\`
139
+ - Radius: \`50px\` (full pill)
140
+ - Padding: \`7px 16px\`
141
+ - Font: SoDoSans, 16px, weight 600, letter-spacing \`-0.01em\`
142
+ - Active state: \`transform: scale(0.95)\` via \`--buttonActiveScale\`
143
+ - Transition: \`all 0.2s ease\`
144
+
145
+ **2. Primary Outlined \u2014 "Give them a try / Start an order"**
146
+ - Background: transparent
147
+ - Text: \`#00754A\` (Green Accent)
148
+ - Border: \`1px solid #00754A\`
149
+ - Same radius/padding/active/transition as Primary Filled
150
+
151
+ **3. Black Filled \u2014 "Join now"**
152
+ - Background: \`#000000\`
153
+ - Text: \`#ffffff\`
154
+ - Border: \`1px solid #000000\`
155
+ - Radius: \`50px\`, Padding: \`7px 16px\`
156
+ - Font: 14px, weight 600
157
+ - Used on the top-of-page join strip and similar conversion moments
158
+
159
+ **4. Dark Outlined \u2014 "Sign in"**
160
+ - Background: transparent
161
+ - Text: \`rgba(0, 0, 0, 0.87)\` (Text Black)
162
+ - Border: \`1px solid rgba(0, 0, 0, 0.87)\`
163
+ - Radius: \`50px\`, Padding: \`7px 16px\`
164
+ - Font: 14px, weight 600
165
+
166
+ **5. Green-on-Green Inverted \u2014 "See the spring menu"**
167
+ - Background: \`#ffffff\`
168
+ - Text: \`#00754A\`
169
+ - Border: \`1px solid #ffffff\`
170
+ - Used when the surface behind the button is the dark green House Green band \u2014 white button with green text instead of a filled green pill on green bg
171
+
172
+ **6. Outlined on Dark \u2014 "Learn more / Order now"**
173
+ - Background: transparent
174
+ - Text: \`#ffffff\`
175
+ - Border: \`1px solid #ffffff\`
176
+ - Used on dark-green feature bands for secondary action paired with a white filled CTA
177
+
178
+ **7. Consent Agree (dark-green variant)**
179
+ - Background: \`rgb(0, 130, 72)\` (a specific variant green used in the cookie-consent module)
180
+ - Text: \`#ffffff\`
181
+ - No border, \`50px\` radius, \`7px 16px\` padding, 14px / weight 400
182
+ - Slightly brighter than Green Accent \u2014 reserved for the consent-banner Agree action
183
+
184
+ **8. Frap \u2014 Floating Circular Order Button**
185
+ - Background: \`#00754A\` (Green Accent)
186
+ - Icon: \`#ffffff\`
187
+ - Size: \`5.6rem / 56px\` (standard), \`4rem / 40px\` (mini variant)
188
+ - Radius: \`50%\` (full circle)
189
+ - Fixed bottom-right, \`-0.8rem\` touch offset for extra tap comfort
190
+ - Shadow stack: base \`0 0 6px rgba(0,0,0,0.24)\` + ambient \`0 8px 12px rgba(0,0,0,0.14)\`
191
+ - Active state: ambient shadow fades to \`0 8px 12px rgba(0,0,0,0)\`
192
+ - This is the product's signature elevation element \u2014 it floats over every scrolled surface
193
+
194
+ **9. Full-width Feedback Tab \u2014 "Provide feedback"**
195
+ - Background: \`#00754A\`
196
+ - Text: \`#ffffff\`
197
+ - Radius: \`12px 12px 0px 0px\` (top-rounded only)
198
+ - Padding: \`8px 16px\`
199
+ - Font: 14px, weight 400
200
+ - Positioned fixed bottom-right-inside, attached to the viewport edge
201
+
202
+ ### Cards & Containers
203
+
204
+ **Content Card (default)**
205
+ - Background: \`#ffffff\` (\`--cardBackgroundColor\`)
206
+ - Radius: \`12px\` (\`--cardBorderRadius\`)
207
+ - Shadow: \`0px 0px .5px 0px rgba(0,0,0,0.14), 0px 1px 1px 0px rgba(0,0,0,0.24)\` (\`--cardBoxShadow\`)
208
+ - Used for: feature cards, menu-item tiles, reward-status panels
209
+
210
+ **Gift Card Tile**
211
+ - Background: illustrated photography fills the card (no solid bg)
212
+ - Radius: similar to cards (\`~12px\`, slightly tighter on corners)
213
+ - Shadow: lighter than default card \u2014 these are treated like physical cards laid on the canvas
214
+ - Labeled by category above the card grid (Spring, Thank You, Birthday, Celebration, Mother's Day, Appreciation, Encouragement, Milestones, Anytime)
215
+
216
+ **Rewards Status Cards (Rewards page signature)**
217
+ - Three-column grid: Bronze / Gold / Silver-ish \u2014 each a dark-green (\`#1E3932\`) panel with:
218
+ - Colored gradient/color header ring
219
+ - Numbered "Level" badge
220
+ - Status title in large SoDoSans weight 600
221
+ - Stars / benefits list in white/translucent-white text
222
+ - Bottom "As you earn more stars\u2026" progression caption
223
+
224
+ **Partnership Card (Rewards)**
225
+ - Background: \`#faf6ee\` (Gold Lightest) warm-cream surface
226
+ - Content: partner logos ("SkyMiles", "Bonvoy") centered, with descriptive text below
227
+ - Radius and shadow follow default card spec
228
+
229
+ **Dropdown Menu (Account dropdown, top-nav)**
230
+ - Background: \`#f9f9f9\` (Neutral Cool)
231
+ - Menu items at \`24px / weight 400\` in Text Black
232
+ - No border \u2014 just background surface shift against white nav
233
+
234
+ **Modal**
235
+ - Padding: \`2.4rem\` (\`--modalPadding\`)
236
+ - Top padding: \`8.8rem\` (\`--modalTopPadding\`) \u2014 leaves room for close button / header
237
+ - Combined vertical padding: \`11.2rem\`
238
+ - Radius inherits from card spec (\`12px\`)
239
+
240
+ ### Inputs & Forms
241
+
242
+ **Floating Label Input**
243
+ - Label floats above the input border when focused/filled
244
+ - Desktop label font size: \`1.9rem\` default, animates to \`1.4rem\` when active
245
+ - Mobile label font size: \`1.6rem\` default, animates to \`1.3rem\` active
246
+ - Label horizontal offset: \`12px\` from left
247
+ - Active label translate: up to \`-12px\` with \`-50%\` Y translation
248
+ - Field padding: \`12px\`
249
+ - Form horizontal padding: \`1.6rem\`
250
+ - Validation: valid-field gets \`rgba(green-light, 0.33)\` tint; invalid-field gets \`rgba(red, 0.05)\` tint
251
+ - Transition: \`0.3s option-label-marker-expansion cubic-bezier(0.32, 2.32, 0.61, 0.27)\` on checked-input
252
+
253
+ **Option Icon (checkbox/radio)**
254
+ - Padding: \`3px\` inner
255
+ - Uses the checked-input cubic-bezier animation above (a slightly "springy" 2.32 overshoot curve)
256
+
257
+ ### Navigation
258
+
259
+ **Global Nav (top bar)**
260
+ - Fixed position with progressive heights: \`64px\` xs \u2192 \`72px\` mobile \u2192 \`83px\` tablet \u2192 \`99px\` desktop
261
+ - Shadow stack: \`0 1px 3px rgba(0,0,0,0.1), 0 2px 2px rgba(0,0,0,0.06), 0 0 2px rgba(0,0,0,0.07)\` \u2014 three-layer soft lift
262
+ - Left: Starbucks wordmark logo, offsetting by \`99px\` (md) / \`131px\` (lg) from left edge
263
+ - Primary links inline in SoDoSans weight 400\u2013600: Menu \xB7 Rewards \xB7 Gift Cards
264
+ - Right: Find a store link + Sign in (outlined) + Join now (black filled)
265
+
266
+ **Sub-nav (second bar, e.g., Rewards internal)**
267
+ - Height: \`53px\` (global subnav) / \`48px\` (internal subnav)
268
+ - Typically horizontal tab group beneath the global nav
269
+
270
+ **Mobile Nav**
271
+ - Collapses to a hamburger drawer below tablet breakpoint
272
+ - Frap floating button persists at bottom-right regardless of nav state
273
+
274
+ ### Image Treatment
275
+
276
+ - **Hero photography**: Product photos (beverages in clear glass with colored backgrounds \u2014 coral, sage, warm amber) occupy ~40vw of a split-hero layout; text occupies the other 60vw (\`--headerCrateProportion: 40vw\` / \`--contentCrateProportion: 60vw\`)
277
+ - **Gift card illustrations**: Each card is a distinct illustrated photograph (painted-feel, hand-drawn-looking, warm color palette). Never generic generated graphics.
278
+ - **Rewards ceremony imagery**: Photographs of Starbucks Rewards App screens held in-hand, angled compositions \u2014 product-in-context photography.
279
+ - **Menu thumbnails**: Square or 4:3 product photography with clean white/cream backdrops, slight soft drop-shadow around the glass.
280
+ - **Image fade-in**: \`opacity 0.3s ease-in\` transition on image load (\`--imageFadeTransition\`).
281
+
282
+ ### Feature Band (dark-green hero strip)
283
+
284
+ Full-width \`#1E3932\` (House Green) band with:
285
+ - Left: white headline + subhead + CTA row
286
+ - Right: product photography or illustration
287
+ - Split ratio ~40/60 or 50/50 depending on section
288
+ - White text throughout with \`rgba(255,255,255,0.70)\` for secondary copy
289
+ - CTAs follow Green-on-Green Inverted (white filled) + Outlined on Dark (white outline) pairing
290
+
291
+ ### Expander / Accordion
292
+
293
+ - Duration: \`300ms\` (\`--expanderDuration\`)
294
+ - Timing curve: \`cubic-bezier(0.25, 0.46, 0.45, 0.94)\` \u2014 a measured ease-out
295
+ - Used for FAQ sections on Rewards and gift page
296
+
297
+ ### Cookie Consent Module
298
+
299
+ Dark-green modal card at top of page with "Agree" (green-filled) and "Manage preferences" (outlined) buttons. Appears on first visit; dismissible.
300
+
301
+ ### Product Detail Components (PDP signature cluster)
302
+
303
+ A repeating component cluster used on menu product pages (e.g., \`/menu/product/40498/iced\` for a drink detail, \`/menu/product/.../nutrition\` for nutrition facts). These extend the component inventory without changing tokens.
304
+
305
+ **Size Options Selector**
306
+ - Horizontal row of 4 cup-icon buttons (Tall / Grande / Venti / Trenta)
307
+ - Each item: cup silhouette icon on top, size name below (16/700 in Starbucks-Green), fluid-ounce caption (13/400 in Text Black Soft)
308
+ - Active state: a green circular ring outline (\`2px solid #00754A\`) around the selected cup icon
309
+ - Inactive: no ring, same typography
310
+ - Full-width row, equal spacing
311
+ - Radius of container: \`12px\` or flat; individual icons are \`50%\` circular
312
+ - Padding: \`16px 24px\` internal
313
+
314
+ **Add-in / Milk Select (outlined rectangle)**
315
+ - Background: \`#ffffff\`
316
+ - Border: \`1px solid #d6dbde\` (Input Border)
317
+ - Radius: \`4px\`
318
+ - Full-width in its column
319
+ - Floating label above top border: "Add-ins" / "Milk" / "Add-ins" \u2014 13/700 in Text Black, uppercase, \`0.325px\` letter-spacing
320
+ - Value displayed centered (e.g., "Ice", "Coconut", "Strawberry Fruit Inclusions scoop"): 16/400 Text Black
321
+ - Chevron-down icon right side in Text Black Soft
322
+ - Focus: border shifts to Green Accent (\`#00754A\`)
323
+
324
+ **Numeric Stepper**
325
+ - Embedded inside an Add-in row when a quantity is required (e.g., Strawberry Fruit Inclusions scoop)
326
+ - \`\u2212\` minus button + count number + \`+\` plus button, all inline right of the label
327
+ - Buttons: circular \`32\xD732px\` with \`1px solid #d6dbde\` border, neutral gray icon
328
+ - Count number: 16/700 Text Black centered
329
+
330
+ **Customize Button**
331
+ - Background: \`#ffffff\`
332
+ - Text: \`#00754A\` (Green Accent)
333
+ - Border: \`1.5px solid #00754A\`
334
+ - Radius: \`50px\` (full pill)
335
+ - Padding: \`14px 40px\` (generously larger than default pills \u2014 this is a secondary primary action)
336
+ - Label: "Customize" with a gold sparkle \u2728 icon inset left
337
+ - Used for: entering the drink-customization flow after size/milk selection
338
+
339
+ **Add to Order Button (PDP)**
340
+ - Background: \`#00754A\` (Green Accent)
341
+ - Text: \`#ffffff\`
342
+ - Radius: \`50px\`
343
+ - Padding: \`14px 32px\`
344
+ - Pinned top-right of product card and/or aligned right within the store-availability band
345
+ - Same scale(0.95) active behavior as other primary CTAs
346
+
347
+ **Rewards Cost Pill \u2014 "200\u2605 item"**
348
+ - Background: transparent
349
+ - Border: \`1px solid #cba258\` (Gold)
350
+ - Text: \`#cba258\` (Gold)
351
+ - Radius: \`50px\` (full pill)
352
+ - Padding: \`4px 12px\`
353
+ - Content: "200\u2605 item" where \`\u2605\` is a small filled star glyph \u2014 indicates the Rewards Stars required to redeem this item
354
+ - Font: Proxima Nova 13/700 with \`0.5px\` letter-spacing
355
+ - Used only on products that are Rewards-redeemable
356
+
357
+ **Product Description Band**
358
+ - Full-width dark-green band (\`#1E3932\` House Green)
359
+ - Contains top-to-bottom:
360
+ 1. Rewards Cost Pill (gold) if applicable
361
+ 2. Product description body copy in white (16/400/1.5)
362
+ 3. Nutritional summary inline ("140 calories, 25g sugar, 2.5g fat") with info-icon tooltip \u2014 14/700 white
363
+ 4. "Full nutrition & ingredients list" outlined-white-on-green pill button
364
+ - Padding: \`32px\` vertical
365
+ - Appears beneath the primary product header band
366
+
367
+ **Ingredients / Nutrition Table**
368
+ - Two-column layout on the Nutrition page
369
+ - Left column: "Ingredients" header + list or "Not available for this item" placeholder text block with an explanatory paragraph in Text Black Soft 14/400
370
+ - Right column: "Nutrition" header + label/value rows
371
+ - Each row: nutrient label (Proxima Nova 14/400) on the left, value (e.g., "140 calories", "25g", "205 mg**") on the right, separated by a \`1px solid #e7e7e7\` hairline below
372
+ - Footnote for caffeine/asterisk markers in 13/400 Text Black Soft at the bottom
373
+ - Reusable pattern for nutrition facts regulation-compliant tables
374
+
375
+ **Store Availability Selector**
376
+ - Appears on dark-green feature band above the size-options row
377
+ - Full-width rounded rectangle with transparent-white interior
378
+ - Text: "For item availability, choose a store" in white, 14/400
379
+ - Right side: chevron-down affordance + shopping-bag SVG icon in white outline
380
+ - Radius: \`4px\`
381
+ - Height: ~48px
382
+
383
+ **PDP Breadcrumb**
384
+ - "Menu / Refreshers / Pink Energy Drink" trail above the product title
385
+ - Separator: \`/\` slash character in Text Black Soft
386
+ - Current page is unlinked, prior pages are underlined green-accent links
387
+ - Font: 14/400 Proxima Nova
388
+ - Appears on all PDP pages
389
+
390
+ **Back Chevron Link (PDP nutrition / detail sub-pages)**
391
+ - "\u2190 Back" text link above section headings on the nutrition page
392
+ - Text in Green Accent (\`#00754A\`) 14/700 Proxima Nova
393
+ - Left chevron \`<\` in the same green
394
+ - Alternative to full breadcrumb on deep sub-pages
395
+
396
+ ## 5. Layout Principles
397
+
398
+ ### Spacing System
399
+
400
+ Rem-based semantic scale (anchored \`1rem = 10px\`):
401
+
402
+ | Token | Rem | Pixels | Typical Use |
403
+ |-------|-----|--------|-------------|
404
+ | \`--space-1\` | \`0.4rem\` | 4px | Tightest inline padding |
405
+ | \`--space-2\` | \`0.8rem\` | 8px | Small gap, button vertical padding |
406
+ | \`--space-3\` | \`1.6rem\` | 16px | Default \u2014 card padding, outer gutter xs |
407
+ | \`--space-4\` | \`2.4rem\` | 24px | Section inner spacing, outer gutter md |
408
+ | \`--space-5\` | \`3.2rem\` | 32px | Major between-section spacing |
409
+ | \`--space-6\` | \`4rem\` | 40px | Large gaps, outer gutter lg, header crate |
410
+ | \`--space-7\` | \`4.8rem\` | 48px | Section-to-section spacing |
411
+ | \`--space-8\` | \`5.6rem\` | 56px | Very large breathing \u2014 Frap height |
412
+ | \`--space-9\` | \`6.4rem\` | 64px | Widest section padding |
413
+
414
+ **Gutter tokens:**
415
+ - \`--outerGutter: 1.6rem\` (16px, default / mobile)
416
+ - \`--outerGutterMedium: 2.4rem\` (24px, tablet)
417
+ - \`--outerGutterLarge: 4.0rem\` (40px, desktop)
418
+
419
+ **Universal rhythm constant:** \`1.6rem\` (16px) appears across every page as the default outer gutter, card padding baseline, and text size 3 body \u2014 the system's most frequent spacing unit.
420
+
421
+ ### Grid & Container
422
+
423
+ - Column width scale: \`--columnWidthSmall: 343px\` / \`Medium: 500px\` / \`Large: 720px\` / \`XLarge: 1440px\`
424
+ - Gift-card grid uses a 3-5-up responsive grid of \`~343px\` tiles
425
+ - Rewards status section: 3-up dark-green panels at \`lg+\` breakpoints
426
+ - Hero: asymmetric split 40% (image) / 60% (content) via \`--headerCrateProportion\` / \`--contentCrateProportion\`
427
+
428
+ ### Whitespace Philosophy
429
+
430
+ Whitespace carries the feeling of "plenty of space in the caf\xE9." Section padding leans generous (40\u201364px). Content blocks are separated by whitespace rather than dividers. The cream canvas (\`#f2f0eb\`) is itself a visual breath between white cards and green feature bands.
431
+
432
+ ### Border Radius Scale
433
+
434
+ | Value | Use |
435
+ |-------|-----|
436
+ | \`12px\` | Cards, modals, menu-item tiles (\`--cardBorderRadius\`) |
437
+ | \`12px 12px 0 0\` | Full-width feedback tab (top-rounded only) |
438
+ | \`50px\` | All buttons \u2014 full-pill radius (\`--buttonBorderRadius\`) |
439
+ | \`50%\` | Circular icons, Frap floating button, avatar thumbnails |
440
+ | Specialty | \`3.3333%/5.298%\` elliptical for Starbucks-Visa-Card mockups (\`--svcRoundedCorners\`) |
441
+
442
+ ## 6. Depth & Elevation
443
+
444
+ | Level | Treatment | Use |
445
+ |-------|-----------|-----|
446
+ | Card | \`0 0 0.5px rgba(0,0,0,0.14), 0 1px 1px rgba(0,0,0,0.24)\` | Default content cards \u2014 a whisper-soft dual-shadow |
447
+ | Global Nav | \`0 1px 3px rgba(0,0,0,0.1), 0 2px 2px rgba(0,0,0,0.06), 0 0 2px rgba(0,0,0,0.07)\` | Triple-layer soft lift on the fixed top bar |
448
+ | Frap Base | \`0 0 6px rgba(0,0,0,0.24)\` | Base halo around the floating circular CTA |
449
+ | Frap Ambient | \`0 8px 12px rgba(0,0,0,0.14)\` | Stacked directional ambient \u2014 floats the Frap forward |
450
+ | Gift Card | Light drop shadow around illustrated photograph | Physical-card feel for gift tiles |
451
+ | Starbucks Card (SVC) | \`drop-shadow(0 4px 1px rgba(0,0,0,0.11)) drop-shadow(0 0 2px rgba(0,0,0,0.24))\` | Stacked SVG drop shadows for Starbucks Card visuals |
452
+
453
+ **Shadow philosophy:** Whisper-soft, layered over solid \u2014 the system never reaches for a single heavy drop shadow. Instead, it stacks 2\u20133 low-alpha shadows with different offsets to simulate real-world ambient + direct lighting. The Frap button is the most elevated element on any page.
454
+
455
+ ### Decorative Depth
456
+
457
+ - **No gradient system** \u2014 surfaces are solid color-block
458
+ - **Color-block banding** carries perceived depth (dark-green bands read as "recessed feature zones" between cream/white body sections)
459
+ - **SVG filter shadows** on Starbucks-Card visuals add a slight 3D physicality without a box-shadow
460
+
461
+ ## 7. Do's and Don'ts
462
+
463
+ ### Do
464
+ - Use Neutral Warm (\`#f2f0eb\`) or Ceramic (\`#edebe9\`) as page canvas instead of pure white \u2014 the warm cream is the signature
465
+ - Map the green tiers to their intended surface role \u2014 Starbucks Green for headings, Green Accent for CTAs, House Green for deep bands, Uplift for decorative
466
+ - Keep tracking tight at \`-0.01em\` / \`-0.16px\` on SoDoSans across the whole system
467
+ - Use 50px full-pill radius on every button without exception
468
+ - Apply \`transform: scale(0.95)\` as the universal button active state
469
+ - Reserve Gold for Rewards-status ceremony moments only
470
+ - Use SoDoSans for nearly everything; switch to Lander Tall serif only for Rewards editorial headlines; reserve Kalam script for Careers "cup name" moments
471
+ - Layer 2\u20133 low-alpha shadows instead of one heavier drop shadow for elevation
472
+ - Use the Frap circular CTA as the persistent floating order entry on every shopping surface
473
+ - Let the cream canvas breathe between content cards \u2014 use whitespace, not dividers
474
+
475
+ ### Don't
476
+ - Don't use pure white as the page canvas \u2014 the warm cream temperature is load-bearing
477
+ - Don't pick "one brand green" \u2014 the four-green system is intentional; using only \`#006241\` everywhere flattens the brand
478
+ - Don't use Gold as a general-purpose accent \u2014 it's a Rewards signal only
479
+ - Don't square the corners on buttons \u2014 the 50px pill is universal
480
+ - Don't introduce gradient fills \u2014 the system is color-block throughout
481
+ - Don't weight-contrast h1 and h2 by size \u2014 the hierarchy comes from weight + color (600 Starbucks-Green vs 400 Text Black)
482
+ - Don't use pure black for body text \u2014 \`rgba(0,0,0,0.87)\` matches the warm canvas
483
+ - Don't skip the \`scale(0.95)\` active feedback on buttons \u2014 it's a signature micro-interaction
484
+ - Don't stack single heavy shadows; always layer 2\u20133 low-alpha ones
485
+ - Don't introduce serifs or scripts into the main shopping flow \u2014 they belong to Rewards and Careers contexts respectively
486
+
487
+ ## 8. Responsive Behavior
488
+
489
+ ### Breakpoints
490
+
491
+ Inferred from component width tokens and progressive nav heights:
492
+
493
+ | Name | Width | Key Changes |
494
+ |------|-------|-------------|
495
+ | xs | < 480px | Global nav 64px; hamburger menu; single-column layouts; pill buttons full-width |
496
+ | Mobile | 480\u2013767px | Global nav 72px; gift-card grid 2-up; card padding tightens |
497
+ | Tablet | 768\u20131023px | Global nav 83px; gift-card grid 3-up; hero split begins to appear |
498
+ | Desktop | 1024\u20131439px | Global nav 99px; gift-card grid 4-up; full asymmetric hero 40/60 |
499
+ | XLarge | 1440px+ | Content caps at \`--columnWidthXLarge\`; gift-card grid 5-up; extra cream margin |
500
+
501
+ ### Touch Targets
502
+
503
+ - Pill buttons at \`7px 16px\` padding measure ~32px tall \u2014 below 44px WCAG AAA minimum for touch-only surfaces. On mobile, button padding may be visually expanded to meet the minimum.
504
+ - Frap floating circular button at \`56px\` is well above minimum.
505
+ - Frap uses \`--frapTouchOffset: calc(-1 * .8rem)\` to extend tap area 8px beyond visual edge.
506
+ - Form float-label inputs grow their label font size on mobile (1.6rem base vs 1.9rem desktop) \u2014 easier to tap and read at arm's-length.
507
+
508
+ ### Collapsing Strategy
509
+
510
+ - **Global nav height scales progressively**: 64 \u2192 72 \u2192 83 \u2192 99px across breakpoints, not a single value
511
+ - **Hero split collapses**: 40/60 asymmetric split \u2192 stacked (image top, content below) at mobile
512
+ - **Gift-card grid**: 5-up \u2192 4-up \u2192 3-up \u2192 2-up \u2192 1-up across breakpoints with adjusted card widths
513
+ - **Feature bands**: Stay full-width but text + imagery stack vertically on mobile
514
+ - **Outer gutter scales**: 16px \u2192 24px \u2192 40px as viewport grows
515
+ - **Rewards 3-column status panels**: Stack to single column on mobile
516
+
517
+ ### Image Behavior
518
+
519
+ - Hero product photography crops tighter vertically on mobile; content becomes the visual anchor
520
+ - Gift-card illustrations preserve aspect ratio; card grid reflows
521
+ - \`opacity 0.3s ease-in\` fade-in transition on image load (prevents jarring pop-in)
522
+ - Rewards app-in-hand photography scales proportionally; never stretches
523
+
524
+ ## 9. Agent Prompt Guide
525
+
526
+ ### Quick Color Reference
527
+
528
+ - Primary CTA: "Green Accent (\`#00754A\`)"
529
+ - Primary CTA text: "White (\`#ffffff\`)"
530
+ - Brand heading: "Starbucks Green (\`#006241\`)"
531
+ - Feature band / footer: "House Green (\`#1E3932\`)"
532
+ - Page canvas: "Neutral Warm (\`#f2f0eb\`)"
533
+ - Card canvas: "White (\`#ffffff\`)"
534
+ - Heading text on light: "Text Black (\`rgba(0,0,0,0.87)\`)"
535
+ - Body text on light: "Text Black Soft (\`rgba(0,0,0,0.58)\`)"
536
+ - Body text on dark-green: "Text White Soft (\`rgba(255,255,255,0.70)\`)"
537
+ - Rewards accent: "Gold (\`#cba258\`)"
538
+ - Rewards text: "Rewards Green (\`#33433d\`)"
539
+ - Destructive: "Red (\`#c82014\`)"
540
+
541
+ ### Example Component Prompts
542
+
543
+ 1. "Create a primary Starbucks CTA pill button with Green Accent (\`#00754A\`) background, white text 'Explore our afternoon menu', SoDoSans font at 16px weight 600 with \`-0.01em\` letter-spacing, \`50px\` border-radius (full pill), \`7px 16px\` padding. Apply \`transform: scale(0.95)\` as the active state with a \`0.2s ease\` transition."
544
+
545
+ 2. "Design a content card with White (\`#ffffff\`) background at \`12px\` border-radius, layered shadow \`0 0 0.5px rgba(0,0,0,0.14), 0 1px 1px rgba(0,0,0,0.24)\`. Pad contents \`16\u201324px\` (\`--space-3\` to \`--space-4\`). Place on a Neutral Warm (\`#f2f0eb\`) page canvas with \`16px\` gap to siblings."
546
+
547
+ 3. "Build the Frap floating circular order button \u2014 \`56px\` diameter, Green Accent (\`#00754A\`) fill, white shopping-bag icon centered. Layered shadow: \`0 0 6px rgba(0,0,0,0.24)\` + \`0 8px 12px rgba(0,0,0,0.14)\`. Fixed position bottom-right with \`-0.8rem\` touch offset. Active state collapses the ambient shadow to \`0 8px 12px rgba(0,0,0,0)\` with \`scale(0.95)\`."
548
+
549
+ 4. "Build a dark-green feature band \u2014 full-width section with House Green (\`#1E3932\`) background. Left column: white SoDoSans h2 at 24px weight 600, followed by a Text White Soft (\`rgba(255,255,255,0.70)\`) body paragraph and a CTA row with two buttons (White-filled with Green Accent text for primary, Outlined-on-Dark white border for secondary). Right column: product photography. Split ratio 40/60, stacked vertically below \`768px\`."
550
+
551
+ 5. "Create a Rewards status card \u2014 House Green (\`#1E3932\`) panel with \`12px\` border-radius, colored gradient top stripe (Bronze/Silver/Gold tier). Title in SoDoSans 24px weight 600 in white. Benefits list as white bullets with \`rgba(255,255,255,0.70)\` secondary captions. Bottom progression text in Text White Soft. Stack 3 panels in a grid at \`lg+\`, single column on mobile."
552
+
553
+ 6. "Design a gift-card tile \u2014 card radius matches \`12px\`, fills with an illustrated photograph (hand-drawn watercolor-painted feel) as the entire surface. Subtle drop shadow makes it feel like a physical card on the cream canvas. Group under a category label ('Spring', 'Thank You', 'Birthday') in SoDoSans 24px weight 400 above the grid."
554
+
555
+ 7. "Create a Starbucks product-detail header \u2014 House Green (\`#1E3932\`) band with breadcrumb 'Menu / Refreshers / Pink Energy Drink' in 14/400 white above the product title in SoDoSans 32/700 uppercase white. Product photograph centered below title. Below photo: a 4-up size selector row \u2014 each cup-icon button shows a vertical cup silhouette, size name ('Tall' / 'Grande' / 'Venti' / 'Trenta') in 16/700 white, and fluid-ounce in 13/400 Text White Soft. Selected size wraps the cup icon in a \`2px solid #00754A\` circular ring."
556
+
557
+ 8. "Build a Starbucks customize flow \u2014 under the size selector, 3 stacked outlined-rectangle input rows (white bg, \`1px solid #d6dbde\` border, \`4px\` radius). Each has a floating label ('Add-ins', 'Milk', 'Add-ins') above the top border in 13/700 Text Black uppercase. Value centered (e.g., 'Ice', 'Coconut'). Right side: chevron-down in Text Black Soft. For the scoop row, embed a numeric stepper (\`\u2212\` \`1\` \`+\` with circular \`32px\` outlined buttons). Below all three fields: outlined green 'Customize' pill with gold sparkle icon, \`50px\` radius, \`14px 40px\` padding. Pair with a Green Accent filled 'Add to Order' pill in the same row."
558
+
559
+ 9. "Design a Starbucks product description band \u2014 full-width House Green (\`#1E3932\`) below product header. Top: a gold-outlined '200\u2605 item' Rewards Cost Pill (\`50px\` radius, \`4px 12px\` padding, gold \`#cba258\` border and text). Below: product description in white 16/400/1.5. Nutritional inline summary in white 14/700 ('140 calories, 25g sugar, 2.5g fat') with info-icon tooltip. Outlined-white-on-green pill button 'Full nutrition &amp; ingredients list'. 32px vertical padding."
560
+
561
+ 10. "Create a Starbucks nutrition facts table \u2014 two-column layout inside a White card. Left column: 'Ingredients' header (24/400 Text Black), followed by ingredient list or 'Not available for this item' placeholder paragraph in 14/400 Text Black Soft. Right column: 'Nutrition' header, then label/value rows (nutrient name left, value right) separated by \`1px solid #e7e7e7\` hairlines. Typography: labels in 14/400 Text Black, values in 14/700 Text Black right-aligned. Footnote asterisk markers in 13/400 Text Black Soft at the bottom."
562
+
563
+ ### Iteration Guide
564
+
565
+ When refining existing screens generated with this design system:
566
+ 1. Focus on ONE component at a time
567
+ 2. Reference specific color names and hex codes from this document
568
+ 3. Use natural language descriptions ("warm cream canvas," "four-tier green system") alongside exact values
569
+ 4. Preserve the 50px pill + \`scale(0.95)\` active state universally
570
+ 5. Check that greens are mapped to their correct role (Green Accent for CTA, Starbucks Green for heading, House Green for band)
571
+ 6. Don't introduce gradients \u2014 the system is color-block
572
+ 7. Keep SoDoSans tracking at \`-0.01em\` / \`-0.16px\` across the board
573
+
574
+ ### Known Gaps
575
+
576
+ - SoDoSans is a proprietary typeface not available on Google Fonts \u2014 when implementing publicly, use Inter or Manrope as a substitute and document the swap
577
+ - Lander Tall (Rewards serif) is also custom \u2014 substitute with Iowan Old Style, Lora, or Source Serif Pro
578
+ - Specific per-component animation timings beyond the few documented (\`--duration: 0.4s\`, \`--iconTransition: all ease-out 0.2s\`, \`--expanderDuration: 300ms\`) are not captured for every interactive surface
579
+ - Form error-state full styling (red border weight, icon placement) visible on the tint token but not exhaustively extracted
580
+ - Careers-page specific components (cup-name card, search radio grid) are referenced in token names but not covered by this extraction
581
+ - Starbucks Visa Card / Starbucks-Card (SVC) detailed mockup specs are hinted at by \`--svcRoundedCorners\` and \`--svcShadowFilter\` tokens but not fully documented
582
+ `;
583
+ export {
584
+ starbucksBrief
585
+ };
586
+ //# sourceMappingURL=starbucks.js.map