designmd-forge 1.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 (907) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/__tests__/designStore.test.js +41 -0
  4. package/dist/__tests__/linter.test.js +23 -0
  5. package/dist/__tests__/sectionParser.test.js +60 -0
  6. package/dist/__tests__/server.test.js +129 -0
  7. package/dist/constants.js +12 -0
  8. package/dist/data/authoring-guide.md +113 -0
  9. package/dist/data/designs/airbnb.md +545 -0
  10. package/dist/data/designs/airtable.md +554 -0
  11. package/dist/data/designs/apple.md +562 -0
  12. package/dist/data/designs/binance.md +634 -0
  13. package/dist/data/designs/bmw-m.md +503 -0
  14. package/dist/data/designs/bmw.md +544 -0
  15. package/dist/data/designs/bugatti.md +454 -0
  16. package/dist/data/designs/cal.md +542 -0
  17. package/dist/data/designs/card-heavy.md +250 -0
  18. package/dist/data/designs/claude.md +589 -0
  19. package/dist/data/designs/clay.md +541 -0
  20. package/dist/data/designs/clickhouse.md +544 -0
  21. package/dist/data/designs/cohere.md +451 -0
  22. package/dist/data/designs/coinbase.md +570 -0
  23. package/dist/data/designs/composio.md +506 -0
  24. package/dist/data/designs/content-first.md +236 -0
  25. package/dist/data/designs/cursor.md +537 -0
  26. package/dist/data/designs/data-dashboard.md +300 -0
  27. package/dist/data/designs/dell-1996.md +632 -0
  28. package/dist/data/designs/elevenlabs.md +504 -0
  29. package/dist/data/designs/enterprise-neutral.md +252 -0
  30. package/dist/data/designs/expo.md +526 -0
  31. package/dist/data/designs/ferrari.md +531 -0
  32. package/dist/data/designs/figma.md +578 -0
  33. package/dist/data/designs/framer.md +544 -0
  34. package/dist/data/designs/hashicorp.md +575 -0
  35. package/dist/data/designs/hp.md +670 -0
  36. package/dist/data/designs/ibm.md +550 -0
  37. package/dist/data/designs/intercom.md +546 -0
  38. package/dist/data/designs/ios-acorns-android.md +430 -0
  39. package/dist/data/designs/ios-acorns-expo.md +381 -0
  40. package/dist/data/designs/ios-acorns-swiftui.md +378 -0
  41. package/dist/data/designs/ios-acorns.md +384 -0
  42. package/dist/data/designs/ios-airbnb-android.md +658 -0
  43. package/dist/data/designs/ios-airbnb-expo.md +457 -0
  44. package/dist/data/designs/ios-airbnb-swiftui.md +464 -0
  45. package/dist/data/designs/ios-airbnb.md +410 -0
  46. package/dist/data/designs/ios-alltrails-android.md +451 -0
  47. package/dist/data/designs/ios-alltrails-expo.md +400 -0
  48. package/dist/data/designs/ios-alltrails-swiftui.md +343 -0
  49. package/dist/data/designs/ios-alltrails.md +344 -0
  50. package/dist/data/designs/ios-amazon-android.md +686 -0
  51. package/dist/data/designs/ios-amazon-expo.md +433 -0
  52. package/dist/data/designs/ios-amazon-music-android.md +416 -0
  53. package/dist/data/designs/ios-amazon-music-expo.md +368 -0
  54. package/dist/data/designs/ios-amazon-music-swiftui.md +436 -0
  55. package/dist/data/designs/ios-amazon-music.md +389 -0
  56. package/dist/data/designs/ios-amazon-swiftui.md +460 -0
  57. package/dist/data/designs/ios-amazon.md +440 -0
  58. package/dist/data/designs/ios-apple-fitness-android.md +462 -0
  59. package/dist/data/designs/ios-apple-fitness-expo.md +373 -0
  60. package/dist/data/designs/ios-apple-fitness-swiftui.md +373 -0
  61. package/dist/data/designs/ios-apple-fitness.md +399 -0
  62. package/dist/data/designs/ios-apple-maps-android.md +646 -0
  63. package/dist/data/designs/ios-apple-maps-expo.md +557 -0
  64. package/dist/data/designs/ios-apple-maps-swiftui.md +588 -0
  65. package/dist/data/designs/ios-apple-maps.md +447 -0
  66. package/dist/data/designs/ios-apple-music-android.md +737 -0
  67. package/dist/data/designs/ios-apple-music-expo.md +596 -0
  68. package/dist/data/designs/ios-apple-music-swiftui.md +578 -0
  69. package/dist/data/designs/ios-apple-music.md +494 -0
  70. package/dist/data/designs/ios-apple-notes-android.md +675 -0
  71. package/dist/data/designs/ios-apple-notes-expo.md +468 -0
  72. package/dist/data/designs/ios-apple-notes-swiftui.md +489 -0
  73. package/dist/data/designs/ios-apple-notes.md +413 -0
  74. package/dist/data/designs/ios-apple-tv-android.md +405 -0
  75. package/dist/data/designs/ios-apple-tv-expo.md +341 -0
  76. package/dist/data/designs/ios-apple-tv-swiftui.md +348 -0
  77. package/dist/data/designs/ios-apple-tv.md +390 -0
  78. package/dist/data/designs/ios-apple-wallet-android.md +617 -0
  79. package/dist/data/designs/ios-apple-wallet-expo.md +487 -0
  80. package/dist/data/designs/ios-apple-wallet-swiftui.md +425 -0
  81. package/dist/data/designs/ios-apple-wallet.md +360 -0
  82. package/dist/data/designs/ios-asana-android.md +435 -0
  83. package/dist/data/designs/ios-asana-expo.md +411 -0
  84. package/dist/data/designs/ios-asana-swiftui.md +416 -0
  85. package/dist/data/designs/ios-asana.md +433 -0
  86. package/dist/data/designs/ios-audible-android.md +450 -0
  87. package/dist/data/designs/ios-audible-expo.md +328 -0
  88. package/dist/data/designs/ios-audible-swiftui.md +418 -0
  89. package/dist/data/designs/ios-audible.md +364 -0
  90. package/dist/data/designs/ios-bandcamp-android.md +471 -0
  91. package/dist/data/designs/ios-bandcamp-expo.md +378 -0
  92. package/dist/data/designs/ios-bandcamp-swiftui.md +374 -0
  93. package/dist/data/designs/ios-bandcamp.md +372 -0
  94. package/dist/data/designs/ios-bear-android.md +496 -0
  95. package/dist/data/designs/ios-bear-expo.md +449 -0
  96. package/dist/data/designs/ios-bear-swiftui.md +479 -0
  97. package/dist/data/designs/ios-bear.md +412 -0
  98. package/dist/data/designs/ios-bereal-android.md +392 -0
  99. package/dist/data/designs/ios-bereal-expo.md +299 -0
  100. package/dist/data/designs/ios-bereal-swiftui.md +319 -0
  101. package/dist/data/designs/ios-bereal.md +336 -0
  102. package/dist/data/designs/ios-binance-android.md +481 -0
  103. package/dist/data/designs/ios-binance-expo.md +404 -0
  104. package/dist/data/designs/ios-binance-swiftui.md +418 -0
  105. package/dist/data/designs/ios-binance.md +410 -0
  106. package/dist/data/designs/ios-bluesky-android.md +442 -0
  107. package/dist/data/designs/ios-bluesky-expo.md +362 -0
  108. package/dist/data/designs/ios-bluesky-swiftui.md +328 -0
  109. package/dist/data/designs/ios-bluesky.md +338 -0
  110. package/dist/data/designs/ios-booking-android.md +471 -0
  111. package/dist/data/designs/ios-booking-expo.md +364 -0
  112. package/dist/data/designs/ios-booking-swiftui.md +377 -0
  113. package/dist/data/designs/ios-booking.md +346 -0
  114. package/dist/data/designs/ios-bumble-android.md +756 -0
  115. package/dist/data/designs/ios-bumble-expo.md +629 -0
  116. package/dist/data/designs/ios-bumble-swiftui.md +546 -0
  117. package/dist/data/designs/ios-bumble.md +424 -0
  118. package/dist/data/designs/ios-cal-ai-android.md +664 -0
  119. package/dist/data/designs/ios-cal-ai-expo.md +415 -0
  120. package/dist/data/designs/ios-cal-ai-swiftui.md +486 -0
  121. package/dist/data/designs/ios-cal-ai.md +387 -0
  122. package/dist/data/designs/ios-calm-android.md +431 -0
  123. package/dist/data/designs/ios-calm-expo.md +384 -0
  124. package/dist/data/designs/ios-calm-swiftui.md +327 -0
  125. package/dist/data/designs/ios-calm.md +356 -0
  126. package/dist/data/designs/ios-canva-android.md +469 -0
  127. package/dist/data/designs/ios-canva-expo.md +374 -0
  128. package/dist/data/designs/ios-canva-swiftui.md +422 -0
  129. package/dist/data/designs/ios-canva.md +395 -0
  130. package/dist/data/designs/ios-cash-app-android.md +601 -0
  131. package/dist/data/designs/ios-cash-app-expo.md +453 -0
  132. package/dist/data/designs/ios-cash-app-swiftui.md +463 -0
  133. package/dist/data/designs/ios-cash-app.md +365 -0
  134. package/dist/data/designs/ios-character-ai-android.md +489 -0
  135. package/dist/data/designs/ios-character-ai-expo.md +420 -0
  136. package/dist/data/designs/ios-character-ai-swiftui.md +417 -0
  137. package/dist/data/designs/ios-character-ai.md +392 -0
  138. package/dist/data/designs/ios-charles-schwab-android.md +454 -0
  139. package/dist/data/designs/ios-charles-schwab-expo.md +388 -0
  140. package/dist/data/designs/ios-charles-schwab-swiftui.md +394 -0
  141. package/dist/data/designs/ios-charles-schwab.md +380 -0
  142. package/dist/data/designs/ios-chatgpt-android.md +753 -0
  143. package/dist/data/designs/ios-chatgpt-expo.md +644 -0
  144. package/dist/data/designs/ios-chatgpt-swiftui.md +653 -0
  145. package/dist/data/designs/ios-chatgpt.md +466 -0
  146. package/dist/data/designs/ios-chime-android.md +438 -0
  147. package/dist/data/designs/ios-chime-expo.md +419 -0
  148. package/dist/data/designs/ios-chime-swiftui.md +383 -0
  149. package/dist/data/designs/ios-chime.md +389 -0
  150. package/dist/data/designs/ios-chipotle-android.md +397 -0
  151. package/dist/data/designs/ios-chipotle-expo.md +301 -0
  152. package/dist/data/designs/ios-chipotle-swiftui.md +345 -0
  153. package/dist/data/designs/ios-chipotle.md +340 -0
  154. package/dist/data/designs/ios-citymapper-android.md +466 -0
  155. package/dist/data/designs/ios-citymapper-expo.md +420 -0
  156. package/dist/data/designs/ios-citymapper-swiftui.md +424 -0
  157. package/dist/data/designs/ios-citymapper.md +394 -0
  158. package/dist/data/designs/ios-claude-android.md +625 -0
  159. package/dist/data/designs/ios-claude-expo.md +671 -0
  160. package/dist/data/designs/ios-claude-swiftui.md +649 -0
  161. package/dist/data/designs/ios-claude.md +447 -0
  162. package/dist/data/designs/ios-clickup-android.md +484 -0
  163. package/dist/data/designs/ios-clickup-expo.md +423 -0
  164. package/dist/data/designs/ios-clickup-swiftui.md +416 -0
  165. package/dist/data/designs/ios-clickup.md +431 -0
  166. package/dist/data/designs/ios-clubhouse-android.md +524 -0
  167. package/dist/data/designs/ios-clubhouse-expo.md +425 -0
  168. package/dist/data/designs/ios-clubhouse-swiftui.md +447 -0
  169. package/dist/data/designs/ios-clubhouse.md +406 -0
  170. package/dist/data/designs/ios-coffee-meets-bagel-android.md +461 -0
  171. package/dist/data/designs/ios-coffee-meets-bagel-expo.md +372 -0
  172. package/dist/data/designs/ios-coffee-meets-bagel-swiftui.md +368 -0
  173. package/dist/data/designs/ios-coffee-meets-bagel.md +376 -0
  174. package/dist/data/designs/ios-coinbase-android.md +611 -0
  175. package/dist/data/designs/ios-coinbase-expo.md +500 -0
  176. package/dist/data/designs/ios-coinbase-swiftui.md +490 -0
  177. package/dist/data/designs/ios-coinbase.md +409 -0
  178. package/dist/data/designs/ios-copilot-android.md +625 -0
  179. package/dist/data/designs/ios-copilot-expo.md +423 -0
  180. package/dist/data/designs/ios-copilot-swiftui.md +471 -0
  181. package/dist/data/designs/ios-copilot.md +367 -0
  182. package/dist/data/designs/ios-craft-android.md +459 -0
  183. package/dist/data/designs/ios-craft-expo.md +417 -0
  184. package/dist/data/designs/ios-craft-swiftui.md +449 -0
  185. package/dist/data/designs/ios-craft.md +449 -0
  186. package/dist/data/designs/ios-crunchyroll-android.md +432 -0
  187. package/dist/data/designs/ios-crunchyroll-expo.md +388 -0
  188. package/dist/data/designs/ios-crunchyroll-swiftui.md +417 -0
  189. package/dist/data/designs/ios-crunchyroll.md +388 -0
  190. package/dist/data/designs/ios-crypto-com-android.md +461 -0
  191. package/dist/data/designs/ios-crypto-com-expo.md +404 -0
  192. package/dist/data/designs/ios-crypto-com-swiftui.md +419 -0
  193. package/dist/data/designs/ios-crypto-com.md +410 -0
  194. package/dist/data/designs/ios-deepseek-android.md +471 -0
  195. package/dist/data/designs/ios-deepseek-expo.md +391 -0
  196. package/dist/data/designs/ios-deepseek-swiftui.md +354 -0
  197. package/dist/data/designs/ios-deepseek.md +393 -0
  198. package/dist/data/designs/ios-deezer-android.md +475 -0
  199. package/dist/data/designs/ios-deezer-expo.md +400 -0
  200. package/dist/data/designs/ios-deezer-swiftui.md +430 -0
  201. package/dist/data/designs/ios-deezer.md +388 -0
  202. package/dist/data/designs/ios-deliveroo-android.md +493 -0
  203. package/dist/data/designs/ios-deliveroo-expo.md +424 -0
  204. package/dist/data/designs/ios-deliveroo-swiftui.md +398 -0
  205. package/dist/data/designs/ios-deliveroo.md +420 -0
  206. package/dist/data/designs/ios-delta-android.md +439 -0
  207. package/dist/data/designs/ios-delta-expo.md +381 -0
  208. package/dist/data/designs/ios-delta-swiftui.md +400 -0
  209. package/dist/data/designs/ios-delta.md +397 -0
  210. package/dist/data/designs/ios-discord-android.md +611 -0
  211. package/dist/data/designs/ios-discord-expo.md +618 -0
  212. package/dist/data/designs/ios-discord-swiftui.md +630 -0
  213. package/dist/data/designs/ios-discord.md +451 -0
  214. package/dist/data/designs/ios-disney-plus-android.md +464 -0
  215. package/dist/data/designs/ios-disney-plus-expo.md +358 -0
  216. package/dist/data/designs/ios-disney-plus-swiftui.md +412 -0
  217. package/dist/data/designs/ios-disney-plus.md +355 -0
  218. package/dist/data/designs/ios-dominos-android.md +417 -0
  219. package/dist/data/designs/ios-dominos-expo.md +316 -0
  220. package/dist/data/designs/ios-dominos-swiftui.md +340 -0
  221. package/dist/data/designs/ios-dominos.md +347 -0
  222. package/dist/data/designs/ios-doordash-android.md +527 -0
  223. package/dist/data/designs/ios-doordash-expo.md +323 -0
  224. package/dist/data/designs/ios-doordash-swiftui.md +301 -0
  225. package/dist/data/designs/ios-doordash.md +393 -0
  226. package/dist/data/designs/ios-dropbox-android.md +522 -0
  227. package/dist/data/designs/ios-dropbox-expo.md +393 -0
  228. package/dist/data/designs/ios-dropbox-swiftui.md +400 -0
  229. package/dist/data/designs/ios-dropbox.md +374 -0
  230. package/dist/data/designs/ios-duolingo-android.md +641 -0
  231. package/dist/data/designs/ios-duolingo-expo.md +597 -0
  232. package/dist/data/designs/ios-duolingo-swiftui.md +539 -0
  233. package/dist/data/designs/ios-duolingo.md +409 -0
  234. package/dist/data/designs/ios-ebay-android.md +436 -0
  235. package/dist/data/designs/ios-ebay-expo.md +344 -0
  236. package/dist/data/designs/ios-ebay-swiftui.md +308 -0
  237. package/dist/data/designs/ios-ebay.md +355 -0
  238. package/dist/data/designs/ios-espn-android.md +468 -0
  239. package/dist/data/designs/ios-espn-expo.md +387 -0
  240. package/dist/data/designs/ios-espn-swiftui.md +410 -0
  241. package/dist/data/designs/ios-espn.md +384 -0
  242. package/dist/data/designs/ios-etsy-android.md +439 -0
  243. package/dist/data/designs/ios-etsy-expo.md +351 -0
  244. package/dist/data/designs/ios-etsy-swiftui.md +296 -0
  245. package/dist/data/designs/ios-etsy.md +355 -0
  246. package/dist/data/designs/ios-evernote-android.md +419 -0
  247. package/dist/data/designs/ios-evernote-expo.md +379 -0
  248. package/dist/data/designs/ios-evernote-swiftui.md +380 -0
  249. package/dist/data/designs/ios-evernote.md +416 -0
  250. package/dist/data/designs/ios-expedia-android.md +451 -0
  251. package/dist/data/designs/ios-expedia-expo.md +433 -0
  252. package/dist/data/designs/ios-expedia-swiftui.md +399 -0
  253. package/dist/data/designs/ios-expedia.md +431 -0
  254. package/dist/data/designs/ios-facebook-android.md +628 -0
  255. package/dist/data/designs/ios-facebook-expo.md +471 -0
  256. package/dist/data/designs/ios-facebook-swiftui.md +459 -0
  257. package/dist/data/designs/ios-facebook.md +452 -0
  258. package/dist/data/designs/ios-feeld-android.md +431 -0
  259. package/dist/data/designs/ios-feeld-expo.md +379 -0
  260. package/dist/data/designs/ios-feeld-swiftui.md +401 -0
  261. package/dist/data/designs/ios-feeld.md +378 -0
  262. package/dist/data/designs/ios-fidelity-android.md +426 -0
  263. package/dist/data/designs/ios-fidelity-expo.md +396 -0
  264. package/dist/data/designs/ios-fidelity-swiftui.md +398 -0
  265. package/dist/data/designs/ios-fidelity.md +387 -0
  266. package/dist/data/designs/ios-figma-android.md +578 -0
  267. package/dist/data/designs/ios-figma-expo.md +504 -0
  268. package/dist/data/designs/ios-figma-swiftui.md +542 -0
  269. package/dist/data/designs/ios-figma.md +404 -0
  270. package/dist/data/designs/ios-fitbit-android.md +439 -0
  271. package/dist/data/designs/ios-fitbit-expo.md +389 -0
  272. package/dist/data/designs/ios-fitbit-swiftui.md +380 -0
  273. package/dist/data/designs/ios-fitbit.md +396 -0
  274. package/dist/data/designs/ios-flickr-android.md +506 -0
  275. package/dist/data/designs/ios-flickr-expo.md +434 -0
  276. package/dist/data/designs/ios-flickr-swiftui.md +421 -0
  277. package/dist/data/designs/ios-flickr.md +394 -0
  278. package/dist/data/designs/ios-flighty-android.md +418 -0
  279. package/dist/data/designs/ios-flighty-expo.md +353 -0
  280. package/dist/data/designs/ios-flighty-swiftui.md +337 -0
  281. package/dist/data/designs/ios-flighty.md +357 -0
  282. package/dist/data/designs/ios-flo-android.md +447 -0
  283. package/dist/data/designs/ios-flo-expo.md +363 -0
  284. package/dist/data/designs/ios-flo-swiftui.md +355 -0
  285. package/dist/data/designs/ios-flo.md +351 -0
  286. package/dist/data/designs/ios-garmin-connect-android.md +531 -0
  287. package/dist/data/designs/ios-garmin-connect-expo.md +429 -0
  288. package/dist/data/designs/ios-garmin-connect-swiftui.md +459 -0
  289. package/dist/data/designs/ios-garmin-connect.md +419 -0
  290. package/dist/data/designs/ios-gas-android.md +438 -0
  291. package/dist/data/designs/ios-gas-expo.md +350 -0
  292. package/dist/data/designs/ios-gas-swiftui.md +329 -0
  293. package/dist/data/designs/ios-gas.md +387 -0
  294. package/dist/data/designs/ios-gemini-android.md +568 -0
  295. package/dist/data/designs/ios-gemini-expo.md +416 -0
  296. package/dist/data/designs/ios-gemini-swiftui.md +424 -0
  297. package/dist/data/designs/ios-gemini.md +351 -0
  298. package/dist/data/designs/ios-github-android.md +507 -0
  299. package/dist/data/designs/ios-github-expo.md +486 -0
  300. package/dist/data/designs/ios-github-swiftui.md +459 -0
  301. package/dist/data/designs/ios-github.md +394 -0
  302. package/dist/data/designs/ios-gmail-android.md +548 -0
  303. package/dist/data/designs/ios-gmail-expo.md +457 -0
  304. package/dist/data/designs/ios-gmail-swiftui.md +470 -0
  305. package/dist/data/designs/ios-gmail.md +441 -0
  306. package/dist/data/designs/ios-goodreads-android.md +436 -0
  307. package/dist/data/designs/ios-goodreads-expo.md +407 -0
  308. package/dist/data/designs/ios-goodreads-swiftui.md +378 -0
  309. package/dist/data/designs/ios-goodreads.md +385 -0
  310. package/dist/data/designs/ios-google-calendar-android.md +565 -0
  311. package/dist/data/designs/ios-google-calendar-expo.md +616 -0
  312. package/dist/data/designs/ios-google-calendar-swiftui.md +585 -0
  313. package/dist/data/designs/ios-google-calendar.md +431 -0
  314. package/dist/data/designs/ios-google-maps-android.md +614 -0
  315. package/dist/data/designs/ios-google-maps-expo.md +515 -0
  316. package/dist/data/designs/ios-google-maps-swiftui.md +484 -0
  317. package/dist/data/designs/ios-google-maps.md +451 -0
  318. package/dist/data/designs/ios-grammarly-android.md +449 -0
  319. package/dist/data/designs/ios-grammarly-expo.md +383 -0
  320. package/dist/data/designs/ios-grammarly-swiftui.md +381 -0
  321. package/dist/data/designs/ios-grammarly.md +392 -0
  322. package/dist/data/designs/ios-grindr-android.md +494 -0
  323. package/dist/data/designs/ios-grindr-expo.md +358 -0
  324. package/dist/data/designs/ios-grindr-swiftui.md +357 -0
  325. package/dist/data/designs/ios-grindr.md +356 -0
  326. package/dist/data/designs/ios-grok-android.md +471 -0
  327. package/dist/data/designs/ios-grok-expo.md +388 -0
  328. package/dist/data/designs/ios-grok-swiftui.md +397 -0
  329. package/dist/data/designs/ios-grok.md +357 -0
  330. package/dist/data/designs/ios-groupme-android.md +551 -0
  331. package/dist/data/designs/ios-groupme-expo.md +442 -0
  332. package/dist/data/designs/ios-groupme-swiftui.md +439 -0
  333. package/dist/data/designs/ios-groupme.md +424 -0
  334. package/dist/data/designs/ios-grubhub-android.md +506 -0
  335. package/dist/data/designs/ios-grubhub-expo.md +428 -0
  336. package/dist/data/designs/ios-grubhub-swiftui.md +408 -0
  337. package/dist/data/designs/ios-grubhub.md +427 -0
  338. package/dist/data/designs/ios-happn-android.md +464 -0
  339. package/dist/data/designs/ios-happn-expo.md +411 -0
  340. package/dist/data/designs/ios-happn-swiftui.md +401 -0
  341. package/dist/data/designs/ios-happn.md +400 -0
  342. package/dist/data/designs/ios-headspace-android.md +688 -0
  343. package/dist/data/designs/ios-headspace-expo.md +574 -0
  344. package/dist/data/designs/ios-headspace-swiftui.md +498 -0
  345. package/dist/data/designs/ios-headspace.md +430 -0
  346. package/dist/data/designs/ios-hevy-android.md +473 -0
  347. package/dist/data/designs/ios-hevy-expo.md +405 -0
  348. package/dist/data/designs/ios-hevy-swiftui.md +367 -0
  349. package/dist/data/designs/ios-hevy.md +410 -0
  350. package/dist/data/designs/ios-hinge-android.md +743 -0
  351. package/dist/data/designs/ios-hinge-expo.md +580 -0
  352. package/dist/data/designs/ios-hinge-swiftui.md +512 -0
  353. package/dist/data/designs/ios-hinge.md +405 -0
  354. package/dist/data/designs/ios-hopper-android.md +440 -0
  355. package/dist/data/designs/ios-hopper-expo.md +353 -0
  356. package/dist/data/designs/ios-hopper-swiftui.md +340 -0
  357. package/dist/data/designs/ios-hopper.md +354 -0
  358. package/dist/data/designs/ios-hulu-android.md +435 -0
  359. package/dist/data/designs/ios-hulu-expo.md +331 -0
  360. package/dist/data/designs/ios-hulu-swiftui.md +374 -0
  361. package/dist/data/designs/ios-hulu.md +353 -0
  362. package/dist/data/designs/ios-iheartradio-android.md +481 -0
  363. package/dist/data/designs/ios-iheartradio-expo.md +417 -0
  364. package/dist/data/designs/ios-iheartradio-swiftui.md +423 -0
  365. package/dist/data/designs/ios-iheartradio.md +381 -0
  366. package/dist/data/designs/ios-imessage-android.md +426 -0
  367. package/dist/data/designs/ios-imessage-expo.md +384 -0
  368. package/dist/data/designs/ios-imessage-swiftui.md +378 -0
  369. package/dist/data/designs/ios-imessage.md +394 -0
  370. package/dist/data/designs/ios-instacart-android.md +471 -0
  371. package/dist/data/designs/ios-instacart-expo.md +349 -0
  372. package/dist/data/designs/ios-instacart-swiftui.md +378 -0
  373. package/dist/data/designs/ios-instacart.md +360 -0
  374. package/dist/data/designs/ios-instagram-android.md +646 -0
  375. package/dist/data/designs/ios-instagram-expo.md +310 -0
  376. package/dist/data/designs/ios-instagram-swiftui.md +333 -0
  377. package/dist/data/designs/ios-instagram.md +376 -0
  378. package/dist/data/designs/ios-jira-android.md +432 -0
  379. package/dist/data/designs/ios-jira-expo.md +375 -0
  380. package/dist/data/designs/ios-jira-swiftui.md +433 -0
  381. package/dist/data/designs/ios-jira.md +424 -0
  382. package/dist/data/designs/ios-kakaotalk-android.md +491 -0
  383. package/dist/data/designs/ios-kakaotalk-expo.md +418 -0
  384. package/dist/data/designs/ios-kakaotalk-swiftui.md +406 -0
  385. package/dist/data/designs/ios-kakaotalk.md +414 -0
  386. package/dist/data/designs/ios-kayak-android.md +466 -0
  387. package/dist/data/designs/ios-kayak-expo.md +407 -0
  388. package/dist/data/designs/ios-kayak-swiftui.md +426 -0
  389. package/dist/data/designs/ios-kayak.md +392 -0
  390. package/dist/data/designs/ios-kick-android.md +487 -0
  391. package/dist/data/designs/ios-kick-expo.md +434 -0
  392. package/dist/data/designs/ios-kick-swiftui.md +429 -0
  393. package/dist/data/designs/ios-kick.md +389 -0
  394. package/dist/data/designs/ios-kik-android.md +433 -0
  395. package/dist/data/designs/ios-kik-expo.md +363 -0
  396. package/dist/data/designs/ios-kik-swiftui.md +363 -0
  397. package/dist/data/designs/ios-kik.md +392 -0
  398. package/dist/data/designs/ios-kindle-android.md +439 -0
  399. package/dist/data/designs/ios-kindle-expo.md +356 -0
  400. package/dist/data/designs/ios-kindle-swiftui.md +372 -0
  401. package/dist/data/designs/ios-kindle.md +369 -0
  402. package/dist/data/designs/ios-klarna-android.md +420 -0
  403. package/dist/data/designs/ios-klarna-expo.md +349 -0
  404. package/dist/data/designs/ios-klarna-swiftui.md +360 -0
  405. package/dist/data/designs/ios-klarna.md +356 -0
  406. package/dist/data/designs/ios-lemon8-android.md +492 -0
  407. package/dist/data/designs/ios-lemon8-expo.md +413 -0
  408. package/dist/data/designs/ios-lemon8-swiftui.md +428 -0
  409. package/dist/data/designs/ios-lemon8.md +378 -0
  410. package/dist/data/designs/ios-life360-android.md +474 -0
  411. package/dist/data/designs/ios-life360-expo.md +375 -0
  412. package/dist/data/designs/ios-life360-swiftui.md +390 -0
  413. package/dist/data/designs/ios-life360.md +402 -0
  414. package/dist/data/designs/ios-line-android.md +517 -0
  415. package/dist/data/designs/ios-line-expo.md +402 -0
  416. package/dist/data/designs/ios-line-swiftui.md +361 -0
  417. package/dist/data/designs/ios-line.md +362 -0
  418. package/dist/data/designs/ios-linear-android.md +457 -0
  419. package/dist/data/designs/ios-linear-expo.md +367 -0
  420. package/dist/data/designs/ios-linear-swiftui.md +401 -0
  421. package/dist/data/designs/ios-linear.md +368 -0
  422. package/dist/data/designs/ios-linkedin-android.md +620 -0
  423. package/dist/data/designs/ios-linkedin-expo.md +469 -0
  424. package/dist/data/designs/ios-linkedin-swiftui.md +472 -0
  425. package/dist/data/designs/ios-linkedin.md +444 -0
  426. package/dist/data/designs/ios-locket-android.md +500 -0
  427. package/dist/data/designs/ios-locket-expo.md +375 -0
  428. package/dist/data/designs/ios-locket-swiftui.md +375 -0
  429. package/dist/data/designs/ios-locket.md +381 -0
  430. package/dist/data/designs/ios-lyft-android.md +406 -0
  431. package/dist/data/designs/ios-lyft-expo.md +333 -0
  432. package/dist/data/designs/ios-lyft-swiftui.md +315 -0
  433. package/dist/data/designs/ios-lyft.md +337 -0
  434. package/dist/data/designs/ios-marriott-bonvoy-android.md +488 -0
  435. package/dist/data/designs/ios-marriott-bonvoy-expo.md +412 -0
  436. package/dist/data/designs/ios-marriott-bonvoy-swiftui.md +461 -0
  437. package/dist/data/designs/ios-marriott-bonvoy.md +379 -0
  438. package/dist/data/designs/ios-mastodon-android.md +476 -0
  439. package/dist/data/designs/ios-mastodon-expo.md +379 -0
  440. package/dist/data/designs/ios-mastodon-swiftui.md +349 -0
  441. package/dist/data/designs/ios-mastodon.md +337 -0
  442. package/dist/data/designs/ios-match-android.md +496 -0
  443. package/dist/data/designs/ios-match-expo.md +393 -0
  444. package/dist/data/designs/ios-match-swiftui.md +450 -0
  445. package/dist/data/designs/ios-match.md +382 -0
  446. package/dist/data/designs/ios-max-android.md +454 -0
  447. package/dist/data/designs/ios-max-expo.md +342 -0
  448. package/dist/data/designs/ios-max-swiftui.md +332 -0
  449. package/dist/data/designs/ios-max.md +352 -0
  450. package/dist/data/designs/ios-mcdonalds-android.md +497 -0
  451. package/dist/data/designs/ios-mcdonalds-expo.md +382 -0
  452. package/dist/data/designs/ios-mcdonalds-swiftui.md +394 -0
  453. package/dist/data/designs/ios-mcdonalds.md +410 -0
  454. package/dist/data/designs/ios-messenger-android.md +523 -0
  455. package/dist/data/designs/ios-messenger-expo.md +379 -0
  456. package/dist/data/designs/ios-messenger-swiftui.md +369 -0
  457. package/dist/data/designs/ios-messenger.md +361 -0
  458. package/dist/data/designs/ios-microsoft-teams-android.md +446 -0
  459. package/dist/data/designs/ios-microsoft-teams-expo.md +362 -0
  460. package/dist/data/designs/ios-microsoft-teams-swiftui.md +384 -0
  461. package/dist/data/designs/ios-microsoft-teams.md +359 -0
  462. package/dist/data/designs/ios-midjourney-android.md +503 -0
  463. package/dist/data/designs/ios-midjourney-expo.md +406 -0
  464. package/dist/data/designs/ios-midjourney-swiftui.md +376 -0
  465. package/dist/data/designs/ios-midjourney.md +407 -0
  466. package/dist/data/designs/ios-miro-android.md +475 -0
  467. package/dist/data/designs/ios-miro-expo.md +421 -0
  468. package/dist/data/designs/ios-miro-swiftui.md +407 -0
  469. package/dist/data/designs/ios-miro.md +424 -0
  470. package/dist/data/designs/ios-monday-android.md +426 -0
  471. package/dist/data/designs/ios-monday-expo.md +382 -0
  472. package/dist/data/designs/ios-monday-swiftui.md +386 -0
  473. package/dist/data/designs/ios-monday.md +415 -0
  474. package/dist/data/designs/ios-monzo-android.md +423 -0
  475. package/dist/data/designs/ios-monzo-expo.md +391 -0
  476. package/dist/data/designs/ios-monzo-swiftui.md +371 -0
  477. package/dist/data/designs/ios-monzo.md +382 -0
  478. package/dist/data/designs/ios-myfitnesspal-android.md +631 -0
  479. package/dist/data/designs/ios-myfitnesspal-expo.md +489 -0
  480. package/dist/data/designs/ios-myfitnesspal-swiftui.md +500 -0
  481. package/dist/data/designs/ios-myfitnesspal.md +408 -0
  482. package/dist/data/designs/ios-netflix-android.md +570 -0
  483. package/dist/data/designs/ios-netflix-expo.md +528 -0
  484. package/dist/data/designs/ios-netflix-swiftui.md +543 -0
  485. package/dist/data/designs/ios-netflix.md +476 -0
  486. package/dist/data/designs/ios-nextdoor-android.md +399 -0
  487. package/dist/data/designs/ios-nextdoor-expo.md +317 -0
  488. package/dist/data/designs/ios-nextdoor-swiftui.md +343 -0
  489. package/dist/data/designs/ios-nextdoor.md +332 -0
  490. package/dist/data/designs/ios-nike-run-club-android.md +598 -0
  491. package/dist/data/designs/ios-nike-run-club-expo.md +459 -0
  492. package/dist/data/designs/ios-nike-run-club-swiftui.md +474 -0
  493. package/dist/data/designs/ios-nike-run-club.md +400 -0
  494. package/dist/data/designs/ios-noom-android.md +455 -0
  495. package/dist/data/designs/ios-noom-expo.md +362 -0
  496. package/dist/data/designs/ios-noom-swiftui.md +369 -0
  497. package/dist/data/designs/ios-noom.md +404 -0
  498. package/dist/data/designs/ios-notion-android.md +575 -0
  499. package/dist/data/designs/ios-notion-expo.md +543 -0
  500. package/dist/data/designs/ios-notion-swiftui.md +562 -0
  501. package/dist/data/designs/ios-notion.md +506 -0
  502. package/dist/data/designs/ios-nubank-android.md +447 -0
  503. package/dist/data/designs/ios-nubank-expo.md +391 -0
  504. package/dist/data/designs/ios-nubank-swiftui.md +391 -0
  505. package/dist/data/designs/ios-nubank.md +388 -0
  506. package/dist/data/designs/ios-obsidian-android.md +456 -0
  507. package/dist/data/designs/ios-obsidian-expo.md +401 -0
  508. package/dist/data/designs/ios-obsidian-swiftui.md +412 -0
  509. package/dist/data/designs/ios-obsidian.md +363 -0
  510. package/dist/data/designs/ios-okcupid-android.md +496 -0
  511. package/dist/data/designs/ios-okcupid-expo.md +378 -0
  512. package/dist/data/designs/ios-okcupid-swiftui.md +343 -0
  513. package/dist/data/designs/ios-okcupid.md +364 -0
  514. package/dist/data/designs/ios-opentable-android.md +426 -0
  515. package/dist/data/designs/ios-opentable-expo.md +350 -0
  516. package/dist/data/designs/ios-opentable-swiftui.md +328 -0
  517. package/dist/data/designs/ios-opentable.md +411 -0
  518. package/dist/data/designs/ios-oura-android.md +426 -0
  519. package/dist/data/designs/ios-oura-expo.md +353 -0
  520. package/dist/data/designs/ios-oura-swiftui.md +327 -0
  521. package/dist/data/designs/ios-oura.md +356 -0
  522. package/dist/data/designs/ios-overcast-android.md +508 -0
  523. package/dist/data/designs/ios-overcast-expo.md +420 -0
  524. package/dist/data/designs/ios-overcast-swiftui.md +427 -0
  525. package/dist/data/designs/ios-overcast.md +414 -0
  526. package/dist/data/designs/ios-pandora-android.md +477 -0
  527. package/dist/data/designs/ios-pandora-expo.md +406 -0
  528. package/dist/data/designs/ios-pandora-swiftui.md +413 -0
  529. package/dist/data/designs/ios-pandora.md +366 -0
  530. package/dist/data/designs/ios-panera-android.md +414 -0
  531. package/dist/data/designs/ios-panera-expo.md +352 -0
  532. package/dist/data/designs/ios-panera-swiftui.md +369 -0
  533. package/dist/data/designs/ios-panera.md +412 -0
  534. package/dist/data/designs/ios-paramount-plus-android.md +415 -0
  535. package/dist/data/designs/ios-paramount-plus-expo.md +363 -0
  536. package/dist/data/designs/ios-paramount-plus-swiftui.md +372 -0
  537. package/dist/data/designs/ios-paramount-plus.md +400 -0
  538. package/dist/data/designs/ios-paypal-android.md +535 -0
  539. package/dist/data/designs/ios-paypal-expo.md +429 -0
  540. package/dist/data/designs/ios-paypal-swiftui.md +466 -0
  541. package/dist/data/designs/ios-paypal.md +393 -0
  542. package/dist/data/designs/ios-peacock-android.md +453 -0
  543. package/dist/data/designs/ios-peacock-expo.md +393 -0
  544. package/dist/data/designs/ios-peacock-swiftui.md +420 -0
  545. package/dist/data/designs/ios-peacock.md +411 -0
  546. package/dist/data/designs/ios-peloton-android.md +470 -0
  547. package/dist/data/designs/ios-peloton-expo.md +401 -0
  548. package/dist/data/designs/ios-peloton-swiftui.md +409 -0
  549. package/dist/data/designs/ios-peloton.md +415 -0
  550. package/dist/data/designs/ios-perplexity-android.md +553 -0
  551. package/dist/data/designs/ios-perplexity-expo.md +703 -0
  552. package/dist/data/designs/ios-perplexity-swiftui.md +602 -0
  553. package/dist/data/designs/ios-perplexity.md +453 -0
  554. package/dist/data/designs/ios-pinterest-android.md +551 -0
  555. package/dist/data/designs/ios-pinterest-expo.md +466 -0
  556. package/dist/data/designs/ios-pinterest-swiftui.md +464 -0
  557. package/dist/data/designs/ios-pinterest.md +427 -0
  558. package/dist/data/designs/ios-plenty-of-fish-android.md +462 -0
  559. package/dist/data/designs/ios-plenty-of-fish-expo.md +380 -0
  560. package/dist/data/designs/ios-plenty-of-fish-swiftui.md +429 -0
  561. package/dist/data/designs/ios-plenty-of-fish.md +387 -0
  562. package/dist/data/designs/ios-plex-android.md +403 -0
  563. package/dist/data/designs/ios-plex-expo.md +333 -0
  564. package/dist/data/designs/ios-plex-swiftui.md +349 -0
  565. package/dist/data/designs/ios-plex.md +379 -0
  566. package/dist/data/designs/ios-pluto-tv-android.md +413 -0
  567. package/dist/data/designs/ios-pluto-tv-expo.md +379 -0
  568. package/dist/data/designs/ios-pluto-tv-swiftui.md +411 -0
  569. package/dist/data/designs/ios-pluto-tv.md +362 -0
  570. package/dist/data/designs/ios-pocket-casts-android.md +492 -0
  571. package/dist/data/designs/ios-pocket-casts-expo.md +430 -0
  572. package/dist/data/designs/ios-pocket-casts-swiftui.md +479 -0
  573. package/dist/data/designs/ios-pocket-casts.md +427 -0
  574. package/dist/data/designs/ios-postman-android.md +472 -0
  575. package/dist/data/designs/ios-postman-expo.md +372 -0
  576. package/dist/data/designs/ios-postman-swiftui.md +377 -0
  577. package/dist/data/designs/ios-postman.md +405 -0
  578. package/dist/data/designs/ios-prime-video-android.md +447 -0
  579. package/dist/data/designs/ios-prime-video-expo.md +365 -0
  580. package/dist/data/designs/ios-prime-video-swiftui.md +333 -0
  581. package/dist/data/designs/ios-prime-video.md +351 -0
  582. package/dist/data/designs/ios-quora-android.md +513 -0
  583. package/dist/data/designs/ios-quora-expo.md +362 -0
  584. package/dist/data/designs/ios-quora-swiftui.md +375 -0
  585. package/dist/data/designs/ios-quora.md +359 -0
  586. package/dist/data/designs/ios-raya-android.md +401 -0
  587. package/dist/data/designs/ios-raya-expo.md +366 -0
  588. package/dist/data/designs/ios-raya-swiftui.md +393 -0
  589. package/dist/data/designs/ios-raya.md +366 -0
  590. package/dist/data/designs/ios-reddit-android.md +605 -0
  591. package/dist/data/designs/ios-reddit-expo.md +553 -0
  592. package/dist/data/designs/ios-reddit-swiftui.md +514 -0
  593. package/dist/data/designs/ios-reddit.md +460 -0
  594. package/dist/data/designs/ios-resy-android.md +430 -0
  595. package/dist/data/designs/ios-resy-expo.md +344 -0
  596. package/dist/data/designs/ios-resy-swiftui.md +330 -0
  597. package/dist/data/designs/ios-resy.md +412 -0
  598. package/dist/data/designs/ios-revolut-android.md +433 -0
  599. package/dist/data/designs/ios-revolut-expo.md +379 -0
  600. package/dist/data/designs/ios-revolut-swiftui.md +372 -0
  601. package/dist/data/designs/ios-revolut.md +353 -0
  602. package/dist/data/designs/ios-robinhood-android.md +587 -0
  603. package/dist/data/designs/ios-robinhood-expo.md +416 -0
  604. package/dist/data/designs/ios-robinhood-swiftui.md +431 -0
  605. package/dist/data/designs/ios-robinhood.md +380 -0
  606. package/dist/data/designs/ios-runna-android.md +485 -0
  607. package/dist/data/designs/ios-runna-expo.md +388 -0
  608. package/dist/data/designs/ios-runna-swiftui.md +413 -0
  609. package/dist/data/designs/ios-runna.md +390 -0
  610. package/dist/data/designs/ios-shazam-android.md +436 -0
  611. package/dist/data/designs/ios-shazam-expo.md +348 -0
  612. package/dist/data/designs/ios-shazam-swiftui.md +394 -0
  613. package/dist/data/designs/ios-shazam.md +338 -0
  614. package/dist/data/designs/ios-signal-android.md +462 -0
  615. package/dist/data/designs/ios-signal-expo.md +361 -0
  616. package/dist/data/designs/ios-signal-swiftui.md +350 -0
  617. package/dist/data/designs/ios-signal.md +357 -0
  618. package/dist/data/designs/ios-skype-android.md +398 -0
  619. package/dist/data/designs/ios-skype-expo.md +368 -0
  620. package/dist/data/designs/ios-skype-swiftui.md +369 -0
  621. package/dist/data/designs/ios-skype.md +406 -0
  622. package/dist/data/designs/ios-skyscanner-android.md +451 -0
  623. package/dist/data/designs/ios-skyscanner-expo.md +423 -0
  624. package/dist/data/designs/ios-skyscanner-swiftui.md +419 -0
  625. package/dist/data/designs/ios-skyscanner.md +421 -0
  626. package/dist/data/designs/ios-slack-android.md +695 -0
  627. package/dist/data/designs/ios-slack-expo.md +601 -0
  628. package/dist/data/designs/ios-slack-swiftui.md +594 -0
  629. package/dist/data/designs/ios-slack.md +474 -0
  630. package/dist/data/designs/ios-sleep-cycle-android.md +436 -0
  631. package/dist/data/designs/ios-sleep-cycle-expo.md +380 -0
  632. package/dist/data/designs/ios-sleep-cycle-swiftui.md +409 -0
  633. package/dist/data/designs/ios-sleep-cycle.md +386 -0
  634. package/dist/data/designs/ios-snapchat-android.md +671 -0
  635. package/dist/data/designs/ios-snapchat-expo.md +528 -0
  636. package/dist/data/designs/ios-snapchat-swiftui.md +557 -0
  637. package/dist/data/designs/ios-snapchat.md +478 -0
  638. package/dist/data/designs/ios-sofi-android.md +446 -0
  639. package/dist/data/designs/ios-sofi-expo.md +387 -0
  640. package/dist/data/designs/ios-sofi-swiftui.md +379 -0
  641. package/dist/data/designs/ios-sofi.md +385 -0
  642. package/dist/data/designs/ios-soundcloud-android.md +488 -0
  643. package/dist/data/designs/ios-soundcloud-expo.md +364 -0
  644. package/dist/data/designs/ios-soundcloud-swiftui.md +399 -0
  645. package/dist/data/designs/ios-soundcloud.md +359 -0
  646. package/dist/data/designs/ios-southwest-android.md +446 -0
  647. package/dist/data/designs/ios-southwest-expo.md +389 -0
  648. package/dist/data/designs/ios-southwest-swiftui.md +405 -0
  649. package/dist/data/designs/ios-southwest.md +405 -0
  650. package/dist/data/designs/ios-spotify-android.md +427 -0
  651. package/dist/data/designs/ios-spotify-expo.md +321 -0
  652. package/dist/data/designs/ios-spotify-swiftui.md +312 -0
  653. package/dist/data/designs/ios-spotify.md +366 -0
  654. package/dist/data/designs/ios-starbucks-android.md +622 -0
  655. package/dist/data/designs/ios-starbucks-expo.md +497 -0
  656. package/dist/data/designs/ios-starbucks-swiftui.md +500 -0
  657. package/dist/data/designs/ios-starbucks.md +440 -0
  658. package/dist/data/designs/ios-strava-android.md +656 -0
  659. package/dist/data/designs/ios-strava-expo.md +501 -0
  660. package/dist/data/designs/ios-strava-swiftui.md +465 -0
  661. package/dist/data/designs/ios-strava.md +433 -0
  662. package/dist/data/designs/ios-strong-android.md +479 -0
  663. package/dist/data/designs/ios-strong-expo.md +396 -0
  664. package/dist/data/designs/ios-strong-swiftui.md +363 -0
  665. package/dist/data/designs/ios-strong.md +415 -0
  666. package/dist/data/designs/ios-substack-android.md +440 -0
  667. package/dist/data/designs/ios-substack-expo.md +395 -0
  668. package/dist/data/designs/ios-substack-swiftui.md +371 -0
  669. package/dist/data/designs/ios-substack.md +372 -0
  670. package/dist/data/designs/ios-swiggy-android.md +549 -0
  671. package/dist/data/designs/ios-swiggy-expo.md +443 -0
  672. package/dist/data/designs/ios-swiggy-swiftui.md +471 -0
  673. package/dist/data/designs/ios-swiggy.md +432 -0
  674. package/dist/data/designs/ios-taco-bell-android.md +529 -0
  675. package/dist/data/designs/ios-taco-bell-expo.md +407 -0
  676. package/dist/data/designs/ios-taco-bell-swiftui.md +419 -0
  677. package/dist/data/designs/ios-taco-bell.md +430 -0
  678. package/dist/data/designs/ios-telegram-android.md +676 -0
  679. package/dist/data/designs/ios-telegram-expo.md +594 -0
  680. package/dist/data/designs/ios-telegram-swiftui.md +518 -0
  681. package/dist/data/designs/ios-telegram.md +458 -0
  682. package/dist/data/designs/ios-the-league-android.md +454 -0
  683. package/dist/data/designs/ios-the-league-expo.md +391 -0
  684. package/dist/data/designs/ios-the-league-swiftui.md +409 -0
  685. package/dist/data/designs/ios-the-league.md +368 -0
  686. package/dist/data/designs/ios-things-3-android.md +421 -0
  687. package/dist/data/designs/ios-things-3-expo.md +351 -0
  688. package/dist/data/designs/ios-things-3-swiftui.md +359 -0
  689. package/dist/data/designs/ios-things-3.md +339 -0
  690. package/dist/data/designs/ios-threads-android.md +588 -0
  691. package/dist/data/designs/ios-threads-expo.md +468 -0
  692. package/dist/data/designs/ios-threads-swiftui.md +452 -0
  693. package/dist/data/designs/ios-threads.md +424 -0
  694. package/dist/data/designs/ios-threema-android.md +496 -0
  695. package/dist/data/designs/ios-threema-expo.md +415 -0
  696. package/dist/data/designs/ios-threema-swiftui.md +446 -0
  697. package/dist/data/designs/ios-threema.md +397 -0
  698. package/dist/data/designs/ios-tidal-android.md +398 -0
  699. package/dist/data/designs/ios-tidal-expo.md +323 -0
  700. package/dist/data/designs/ios-tidal-swiftui.md +340 -0
  701. package/dist/data/designs/ios-tidal.md +351 -0
  702. package/dist/data/designs/ios-tiktok-android.md +654 -0
  703. package/dist/data/designs/ios-tiktok-expo.md +578 -0
  704. package/dist/data/designs/ios-tiktok-swiftui.md +595 -0
  705. package/dist/data/designs/ios-tiktok.md +387 -0
  706. package/dist/data/designs/ios-tinder-android.md +681 -0
  707. package/dist/data/designs/ios-tinder-expo.md +512 -0
  708. package/dist/data/designs/ios-tinder-swiftui.md +497 -0
  709. package/dist/data/designs/ios-tinder.md +415 -0
  710. package/dist/data/designs/ios-todoist-android.md +711 -0
  711. package/dist/data/designs/ios-todoist-expo.md +607 -0
  712. package/dist/data/designs/ios-todoist-swiftui.md +573 -0
  713. package/dist/data/designs/ios-todoist.md +418 -0
  714. package/dist/data/designs/ios-trello-android.md +412 -0
  715. package/dist/data/designs/ios-trello-expo.md +332 -0
  716. package/dist/data/designs/ios-trello-swiftui.md +359 -0
  717. package/dist/data/designs/ios-trello.md +344 -0
  718. package/dist/data/designs/ios-tripadvisor-android.md +450 -0
  719. package/dist/data/designs/ios-tripadvisor-expo.md +322 -0
  720. package/dist/data/designs/ios-tripadvisor-swiftui.md +326 -0
  721. package/dist/data/designs/ios-tripadvisor.md +356 -0
  722. package/dist/data/designs/ios-tubi-android.md +453 -0
  723. package/dist/data/designs/ios-tubi-expo.md +419 -0
  724. package/dist/data/designs/ios-tubi-swiftui.md +463 -0
  725. package/dist/data/designs/ios-tubi.md +383 -0
  726. package/dist/data/designs/ios-tumblr-android.md +462 -0
  727. package/dist/data/designs/ios-tumblr-expo.md +374 -0
  728. package/dist/data/designs/ios-tumblr-swiftui.md +380 -0
  729. package/dist/data/designs/ios-tumblr.md +337 -0
  730. package/dist/data/designs/ios-turo-android.md +500 -0
  731. package/dist/data/designs/ios-turo-expo.md +454 -0
  732. package/dist/data/designs/ios-turo-swiftui.md +447 -0
  733. package/dist/data/designs/ios-turo.md +392 -0
  734. package/dist/data/designs/ios-twitch-android.md +412 -0
  735. package/dist/data/designs/ios-twitch-expo.md +342 -0
  736. package/dist/data/designs/ios-twitch-swiftui.md +328 -0
  737. package/dist/data/designs/ios-twitch.md +354 -0
  738. package/dist/data/designs/ios-uber-android.md +637 -0
  739. package/dist/data/designs/ios-uber-eats-android.md +502 -0
  740. package/dist/data/designs/ios-uber-eats-expo.md +407 -0
  741. package/dist/data/designs/ios-uber-eats-swiftui.md +393 -0
  742. package/dist/data/designs/ios-uber-eats.md +353 -0
  743. package/dist/data/designs/ios-uber-expo.md +512 -0
  744. package/dist/data/designs/ios-uber-swiftui.md +483 -0
  745. package/dist/data/designs/ios-uber.md +395 -0
  746. package/dist/data/designs/ios-united-airlines-android.md +494 -0
  747. package/dist/data/designs/ios-united-airlines-expo.md +408 -0
  748. package/dist/data/designs/ios-united-airlines-swiftui.md +453 -0
  749. package/dist/data/designs/ios-united-airlines.md +388 -0
  750. package/dist/data/designs/ios-venmo-android.md +654 -0
  751. package/dist/data/designs/ios-venmo-expo.md +458 -0
  752. package/dist/data/designs/ios-venmo-swiftui.md +469 -0
  753. package/dist/data/designs/ios-venmo.md +436 -0
  754. package/dist/data/designs/ios-vercel-android.md +454 -0
  755. package/dist/data/designs/ios-vercel-expo.md +387 -0
  756. package/dist/data/designs/ios-vercel-swiftui.md +374 -0
  757. package/dist/data/designs/ios-vercel.md +399 -0
  758. package/dist/data/designs/ios-vero-android.md +498 -0
  759. package/dist/data/designs/ios-vero-expo.md +376 -0
  760. package/dist/data/designs/ios-vero-swiftui.md +374 -0
  761. package/dist/data/designs/ios-vero.md +394 -0
  762. package/dist/data/designs/ios-viber-android.md +377 -0
  763. package/dist/data/designs/ios-viber-expo.md +375 -0
  764. package/dist/data/designs/ios-viber-swiftui.md +378 -0
  765. package/dist/data/designs/ios-viber.md +403 -0
  766. package/dist/data/designs/ios-vimeo-android.md +465 -0
  767. package/dist/data/designs/ios-vimeo-expo.md +347 -0
  768. package/dist/data/designs/ios-vimeo-swiftui.md +383 -0
  769. package/dist/data/designs/ios-vimeo.md +403 -0
  770. package/dist/data/designs/ios-vrbo-android.md +488 -0
  771. package/dist/data/designs/ios-vrbo-expo.md +395 -0
  772. package/dist/data/designs/ios-vrbo-swiftui.md +421 -0
  773. package/dist/data/designs/ios-vrbo.md +383 -0
  774. package/dist/data/designs/ios-vsco-android.md +490 -0
  775. package/dist/data/designs/ios-vsco-expo.md +413 -0
  776. package/dist/data/designs/ios-vsco-swiftui.md +449 -0
  777. package/dist/data/designs/ios-vsco.md +412 -0
  778. package/dist/data/designs/ios-walmart-android.md +479 -0
  779. package/dist/data/designs/ios-walmart-expo.md +370 -0
  780. package/dist/data/designs/ios-walmart-swiftui.md +387 -0
  781. package/dist/data/designs/ios-walmart.md +366 -0
  782. package/dist/data/designs/ios-waze-android.md +695 -0
  783. package/dist/data/designs/ios-waze-expo.md +587 -0
  784. package/dist/data/designs/ios-waze-swiftui.md +601 -0
  785. package/dist/data/designs/ios-waze.md +453 -0
  786. package/dist/data/designs/ios-webull-android.md +429 -0
  787. package/dist/data/designs/ios-webull-expo.md +384 -0
  788. package/dist/data/designs/ios-webull-swiftui.md +406 -0
  789. package/dist/data/designs/ios-webull.md +375 -0
  790. package/dist/data/designs/ios-wechat-android.md +545 -0
  791. package/dist/data/designs/ios-wechat-expo.md +398 -0
  792. package/dist/data/designs/ios-wechat-swiftui.md +394 -0
  793. package/dist/data/designs/ios-wechat.md +363 -0
  794. package/dist/data/designs/ios-whatsapp-android.md +568 -0
  795. package/dist/data/designs/ios-whatsapp-expo.md +502 -0
  796. package/dist/data/designs/ios-whatsapp-swiftui.md +483 -0
  797. package/dist/data/designs/ios-whatsapp.md +425 -0
  798. package/dist/data/designs/ios-whoop-android.md +635 -0
  799. package/dist/data/designs/ios-whoop-expo.md +562 -0
  800. package/dist/data/designs/ios-whoop-swiftui.md +553 -0
  801. package/dist/data/designs/ios-whoop.md +419 -0
  802. package/dist/data/designs/ios-wise-android.md +428 -0
  803. package/dist/data/designs/ios-wise-expo.md +357 -0
  804. package/dist/data/designs/ios-wise-swiftui.md +356 -0
  805. package/dist/data/designs/ios-wise.md +361 -0
  806. package/dist/data/designs/ios-x-twitter-android.md +618 -0
  807. package/dist/data/designs/ios-x-twitter-expo.md +442 -0
  808. package/dist/data/designs/ios-x-twitter-swiftui.md +429 -0
  809. package/dist/data/designs/ios-x-twitter.md +432 -0
  810. package/dist/data/designs/ios-yelp-android.md +455 -0
  811. package/dist/data/designs/ios-yelp-expo.md +397 -0
  812. package/dist/data/designs/ios-yelp-swiftui.md +369 -0
  813. package/dist/data/designs/ios-yelp.md +398 -0
  814. package/dist/data/designs/ios-youtube-android.md +668 -0
  815. package/dist/data/designs/ios-youtube-expo.md +435 -0
  816. package/dist/data/designs/ios-youtube-music-android.md +450 -0
  817. package/dist/data/designs/ios-youtube-music-expo.md +404 -0
  818. package/dist/data/designs/ios-youtube-music-swiftui.md +434 -0
  819. package/dist/data/designs/ios-youtube-music.md +381 -0
  820. package/dist/data/designs/ios-youtube-swiftui.md +496 -0
  821. package/dist/data/designs/ios-youtube.md +466 -0
  822. package/dist/data/designs/ios-zalo-android.md +510 -0
  823. package/dist/data/designs/ios-zalo-expo.md +389 -0
  824. package/dist/data/designs/ios-zalo-swiftui.md +431 -0
  825. package/dist/data/designs/ios-zalo.md +388 -0
  826. package/dist/data/designs/ios-zomato-android.md +527 -0
  827. package/dist/data/designs/ios-zomato-expo.md +437 -0
  828. package/dist/data/designs/ios-zomato-swiftui.md +433 -0
  829. package/dist/data/designs/ios-zomato.md +439 -0
  830. package/dist/data/designs/ios-zoom-android.md +423 -0
  831. package/dist/data/designs/ios-zoom-expo.md +355 -0
  832. package/dist/data/designs/ios-zoom-swiftui.md +379 -0
  833. package/dist/data/designs/ios-zoom.md +357 -0
  834. package/dist/data/designs/ios-zwift-android.md +402 -0
  835. package/dist/data/designs/ios-zwift-expo.md +402 -0
  836. package/dist/data/designs/ios-zwift-swiftui.md +378 -0
  837. package/dist/data/designs/ios-zwift.md +411 -0
  838. package/dist/data/designs/kraken.md +125 -0
  839. package/dist/data/designs/lamborghini.md +288 -0
  840. package/dist/data/designs/linear.app.md +548 -0
  841. package/dist/data/designs/lovable.md +298 -0
  842. package/dist/data/designs/mastercard.md +365 -0
  843. package/dist/data/designs/material-clean.md +289 -0
  844. package/dist/data/designs/meta.md +683 -0
  845. package/dist/data/designs/midnight-pro.md +256 -0
  846. package/dist/data/designs/minimal-brutalist.md +245 -0
  847. package/dist/data/designs/minimax.md +746 -0
  848. package/dist/data/designs/mintlify.md +852 -0
  849. package/dist/data/designs/miro.md +825 -0
  850. package/dist/data/designs/mistral.ai.md +773 -0
  851. package/dist/data/designs/mongodb.md +767 -0
  852. package/dist/data/designs/nike.md +575 -0
  853. package/dist/data/designs/nintendo-2001.md +649 -0
  854. package/dist/data/designs/notion.md +821 -0
  855. package/dist/data/designs/nova-mobile-design-md.md +235 -0
  856. package/dist/data/designs/nvidia.md +640 -0
  857. package/dist/data/designs/ollama.md +539 -0
  858. package/dist/data/designs/opencode.ai.md +521 -0
  859. package/dist/data/designs/pinterest.md +597 -0
  860. package/dist/data/designs/playful-color.md +253 -0
  861. package/dist/data/designs/playstation.md +661 -0
  862. package/dist/data/designs/posthog.md +690 -0
  863. package/dist/data/designs/raycast.md +669 -0
  864. package/dist/data/designs/renault.md +589 -0
  865. package/dist/data/designs/replicate.md +616 -0
  866. package/dist/data/designs/resend.md +585 -0
  867. package/dist/data/designs/revolut.md +636 -0
  868. package/dist/data/designs/runwayml.md +244 -0
  869. package/dist/data/designs/sanity.md +357 -0
  870. package/dist/data/designs/sentry.md +551 -0
  871. package/dist/data/designs/shopify.md +516 -0
  872. package/dist/data/designs/slack.md +482 -0
  873. package/dist/data/designs/soft-glass.md +258 -0
  874. package/dist/data/designs/spacex.md +363 -0
  875. package/dist/data/designs/spotify.md +246 -0
  876. package/dist/data/designs/starbucks.md +580 -0
  877. package/dist/data/designs/stripe.md +487 -0
  878. package/dist/data/designs/supabase.md +462 -0
  879. package/dist/data/designs/superhuman.md +448 -0
  880. package/dist/data/designs/tesla.md +286 -0
  881. package/dist/data/designs/theverge.md +339 -0
  882. package/dist/data/designs/together.ai.md +633 -0
  883. package/dist/data/designs/uber.md +636 -0
  884. package/dist/data/designs/vercel.md +736 -0
  885. package/dist/data/designs/vodafone.md +538 -0
  886. package/dist/data/designs/voltagent.md +521 -0
  887. package/dist/data/designs/warp.md +526 -0
  888. package/dist/data/designs/webflow.md +588 -0
  889. package/dist/data/designs/wired.md +497 -0
  890. package/dist/data/designs/wise.md +544 -0
  891. package/dist/data/designs/x.ai.md +465 -0
  892. package/dist/data/designs/zapier.md +537 -0
  893. package/dist/data/index.json +2600 -0
  894. package/dist/httpServer.js +83 -0
  895. package/dist/index.js +13 -0
  896. package/dist/server.js +32 -0
  897. package/dist/services/designStore.js +59 -0
  898. package/dist/services/linter.js +87 -0
  899. package/dist/services/sectionParser.js +154 -0
  900. package/dist/tools/authoring.js +131 -0
  901. package/dist/tools/browse.js +232 -0
  902. package/dist/tools/diff.js +88 -0
  903. package/dist/tools/getDesign.js +216 -0
  904. package/dist/tools/guardrails.js +87 -0
  905. package/dist/tools/lint.js +104 -0
  906. package/dist/types.js +1 -0
  907. package/package.json +65 -0
@@ -0,0 +1,430 @@
1
+ # Design System Inspiration of Headspace (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Headspace is a hand-drawn morning — warm, slow, and humanly imperfect. Where Nike Run Club is a stadium and Strava is a stopwatch, Headspace is a pottery studio. The canvas is butter-cream (`#FFF7E7`) — never pure white, never gray — and the palette behaves like a sunset gradient: a marigold orange (`#FF6B35`), a butter yellow (`#FFD25C`), a moss sage (`#7E9F4B`), and a deep dusk-eggplant (`#2E1A47`) for surface contrast. Every screen looks like a children's book illustration of a meditation: spheres breathe, characters smile, gradients soften everything. Headspace is the most distinctive UI in the entire wellness category because it commits fully to its illustration style rather than relying on photography.
6
+
7
+ The animated meditation circles are the brand's signature visual — a sphere that breathes (scale 1.0 → 1.04 → 1.0 over 8 seconds, in time with the inhale/exhale guidance), tinted in a warm gradient (Marigold → Butter), pulsing as the meditation session progresses. On the Today screen, an "Aurora gradient" wash (Marigold → Butter → Coral) blankets the top third — it's the visual equivalent of waking up. The illustration set features round-headed characters in soft pastel hoodies, doing things like sitting cross-legged on hilltops, holding mugs, walking dogs. They appear on every empty state, every milestone reveal, every meditation completion screen — never as marketing pop-ups, always as gentle companions to the moment.
8
+
9
+ Typography is Apercu (a soft, slightly humanist sans by Colophon Foundry) at five weights. Apercu's lowercase 'a' has a curl that makes it feel like it was drawn rather than constructed — the perfect match for the illustration style. Headspace uses generous line-height (1.5 on body), title-case (not all-caps, ever), and a warm Ink Brown (`#2E1A47`) for text — never true black. The hierarchy is calming: 28pt for screen titles, 22pt for meditation titles, 18pt for body, 13pt for metadata. Numbers are not the star here — minutes meditated, streak count, all rendered tabular but never screaming.
10
+
11
+ The most signature screen is the in-meditation Play screen: butter-cream canvas, a breathing sphere in the center filling 60% of the screen, soft guidance text above it ("Take a deep breath in..."), and a thin progress arc at the very top. Below the sphere, a play/pause control. Nothing else. It's the meditative app pretending it isn't an app at all.
12
+
13
+ **Key Characteristics:**
14
+ - Butter-cream canvas (`#FFF7E7`) — warm, off-white, never pure
15
+ - Marigold Orange (`#FF6B35`) primary accent — Today CTA, primary buttons, meditation sphere gradient stop
16
+ - Butter Yellow (`#FFD25C`) secondary accent — selected pills, breath-cycle pacing chip
17
+ - Moss Sage (`#7E9F4B`) tertiary accent — Sleep tab, meditation streak chips
18
+ - Dusk Eggplant (`#2E1A47`) — primary text and the rare dark surface (sleep mode)
19
+ - Aurora gradient — Marigold → Butter → Coral wash on Today screen and meditation hero cards
20
+ - Breathing meditation sphere — gradient circle 60% of screen, scales 1.0 → 1.04 → 1.0 over 8s during inhale/exhale
21
+ - Illustration-heavy — round-headed characters in pastel hoodies on every empty state and milestone reveal
22
+ - Apercu typography at 5 weights with generous 1.5 line-height — feels like a journal
23
+ - Bottom tab bar: Today / Meditate / Sleep / Move / Profile — Marigold active, Sage on Sleep tab
24
+ - Card corners at 24pt — soft, comfortable, never aggressive
25
+ - Soft shadows (`rgba(46,26,71,0.08)`) tinted with the eggplant ink so they feel warm, not gray
26
+ - Audio scrubber is a soft sage track with a butter ball — never tech-blue
27
+
28
+ ## 2. Color Palette & Roles
29
+
30
+ ### Primary
31
+ - **Marigold Orange** (`#FF6B35`): Today CTA, primary buttons, "Continue" / "Start", meditation sphere gradient stop.
32
+ - **Marigold Pressed** (`#E55A2B`): Active/pressed state on Marigold CTAs.
33
+ - **Marigold Light** (`#FFB89E`): Background tints, illustration accents, Today-screen sky gradient stop.
34
+
35
+ ### Aurora Gradient (signature wash)
36
+ A 3-stop linear gradient used on the Today hero and many full-bleed meditation cards.
37
+ - **Aurora Stop 1** (`#FFB89E`): Top (peachy dawn)
38
+ - **Aurora Stop 2** (`#FFD25C`): Middle (butter sun)
39
+ - **Aurora Stop 3** (`#FF6B35`): Bottom (marigold morning)
40
+
41
+ ### Secondary (Mood Accents)
42
+ - **Butter Yellow** (`#FFD25C`): Selected pills, breath-cycle indicator, "feel happier" mood tag.
43
+ - **Sage Moss** (`#7E9F4B`): Sleep tab tint, meditation streak chips, ground accents in illustrations.
44
+ - **Sage Light** (`#B4C68F`): Backgrounds on Sleep cards, soft sage tint.
45
+ - **Coral Flush** (`#F4877E`): "Feel calm" mood tag, illustration cheeks.
46
+ - **Sky Lavender** (`#B7B0DC`): "Mindful Moment" tag, evening meditation accent.
47
+
48
+ ### Sleep / Evening Mode (Dark)
49
+ Headspace's Sleep mode shifts the entire canvas to a deep dusk palette — gentle, warm, sleepy.
50
+ - **Dusk Canvas** (`#1A1430`): Primary Sleep / dark-mode canvas (warm purple-blue).
51
+ - **Dusk Surface 1** (`#2A2046`): Card backgrounds.
52
+ - **Dusk Surface 2** (`#3A2F5C`): Pressed states.
53
+ - **Dusk Divider** (`#3F3460`): Hairlines.
54
+
55
+ ### Canvas, Surfaces & Dividers (Light / Default Mode)
56
+ - **Butter Cream** (`#FFF7E7`): Primary canvas everywhere except Sleep.
57
+ - **Off Cream** (`#FBF1DA`): Card backgrounds, search-field fill, settings rows.
58
+ - **Warm Gray** (`#E8DFC9`): Dividers, chip outlines.
59
+ - **Surface Light** (`#FFFFFF`): Used very sparingly — only inside text-input dialogs.
60
+
61
+ ### Text
62
+ - **Ink Brown** (`#2E1A47`): Primary text — screen titles, meditation titles, body. The Dusk Eggplant doubles as the text color; it's warm and never harsh.
63
+ - **Ink Brown Soft** (`#594675`): Secondary text — metadata, "Hosted by Andy Puddicombe", session subtitles.
64
+ - **Ink Brown Mute** (`#8E7DA5`): Tertiary — placeholders, captions.
65
+ - **Inverted Cream** (`#FFF7E7`): Text on Sleep mode surfaces.
66
+
67
+ ### Semantic
68
+ - **Success Sage** (`#7E9F4B`): Streak maintained, session completed.
69
+ - **Warning Amber** (`#FF9F4A`): Subscription expiring.
70
+ - **Error Coral** (`#E04646`): Failed sync, payment failed — never a hard red, just a muted coral.
71
+
72
+ ### Streak & Milestone Colors
73
+ - **Streak Marigold** (`#FF6B35`): Active streak ring.
74
+ - **Milestone Gold** (`#E5B85C`): "30 days mindful" — a warm gold, not a metallic yellow.
75
+ - **Achievement Coral** (`#F4877E`): Special edition badges.
76
+
77
+ ## 3. Typography Rules
78
+
79
+ ### Font Family
80
+ - **Primary**: `Apercu` (Colophon Foundry, 2010) — Headspace's house face since their 2017 rebrand
81
+ - **Weights available**: Light (300), Regular (400), Medium (500), Bold (700), Black (900)
82
+ - **Fallback stack**: `'Apercu', 'Apercu Pro', 'Avenir Next', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Arial, sans-serif`
83
+ - **Web/marketing Google Fonts substitute**: `Nunito` (soft humanist sans, similar curl on the 'a'); also `Manrope` works as a slightly cooler stand-in
84
+ - **Body fallback**: SF Pro Text is acceptable for the iOS app where Apercu isn't licensed
85
+
86
+ ### Hierarchy
87
+
88
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
89
+ |------|------|------|--------|-------------|----------------|-------|
90
+ | Today Greeting Hero | Apercu | 32pt | 700 (Bold) | 1.2 | -0.3pt | "Good morning, Sam" — first thing on Today |
91
+ | Screen Title | Apercu | 28pt | 700 | 1.2 | -0.3pt | "Meditate", "Sleep", "Move" |
92
+ | Meditation Title | Apercu | 22pt | 700 | 1.3 | -0.2pt | "Stress Release" on a session card |
93
+ | Section Header | Apercu | 18pt | 700 | 1.3 | -0.1pt | "Featured this week", "Quick meditations" |
94
+ | Card Title | Apercu | 17pt | 600 (Medium) | 1.3 | -0.1pt | Smaller card titles, list items |
95
+ | Body | Apercu | 16pt | 400 (Regular) | 1.5 | 0pt | Description copy, journal entries — generous line-height |
96
+ | Body Bold | Apercu | 16pt | 600 | 1.5 | 0pt | Inline emphasis |
97
+ | Meditation Guidance | Apercu | 22pt | 400 | 1.4 | 0pt | "Take a deep breath in..." on the play screen — large, breathing |
98
+ | Metadata | Apercu | 13pt | 400 | 1.3 | 0pt | "Andy Puddicombe · 10 min", "20:32 remaining" |
99
+ | Tag Pill | Apercu | 13pt | 600 | 1.0 | 0.2pt | "Calm", "Stress", "Sleep" — title-case |
100
+ | Button (Primary) | Apercu | 17pt | 600 | 1.0 | 0pt | "Start", "Continue", "Save" — title-case |
101
+ | Tab Label | Apercu | 11pt | 500 | 1.0 | 0.1pt | Bottom tab labels |
102
+ | Time Display | Apercu | 56pt | 700 | 1.0 | -0.5pt | "10:00" countdown on play screen |
103
+ | Streak Number | Apercu | 22pt | 700 | 1.0 | 0pt | "12" days in a row — tabular |
104
+ | Caption | Apercu | 11pt | 400 | 1.3 | 0pt | Footnotes, "tap to learn more" |
105
+
106
+ ### Principles
107
+ - **Title case, never all caps**: Apercu is a gentle face — UPPERCASE on Apercu reads as shouty and breaks the meditative tone
108
+ - **Weights concentrated at 400 / 600 / 700**: Regular for body, Medium for card titles and buttons, Bold for screen titles and section headers; Light and Black appear only on the rare illustration overlay
109
+ - **Generous line-height (1.5 on body, 1.4 on guidance)** — text feels paced, like breath
110
+ - **Ink Brown over true black**: body text is `#2E1A47` (the Dusk Eggplant) — warm purple-brown, never harsh black
111
+ - **No letter-spacing tricks**: title case at 0 tracking is the default; very tight tracking (-0.3pt) is reserved for the 32pt greeting hero
112
+ - **`monospacedDigit()` on the countdown timer** — minutes:seconds need to align as the timer ticks
113
+ - **Dynamic Type respected on body, titles, and guidance**; FIXED on tag pills, tab labels, streak numbers (small, layout-sensitive)
114
+
115
+ ## 4. Component Stylings
116
+
117
+ ### Breathing Meditation Sphere (the hero component)
118
+
119
+ **Design**
120
+ - A circle in the center of the play screen
121
+ - Diameter: 60% of screen width (≈234pt on iPhone 15)
122
+ - Fill: radial gradient — `#FFB89E` 0% (highlight, top-left) → `#FF6B35` 70% → `#E55A2B` 100% (darkest, bottom-right)
123
+ - Border: 1pt `rgba(46,26,71,0.08)` very soft to give the sphere a planet-like edge
124
+
125
+ **Breath Animation**
126
+ - Continuous loop while in a breathing exercise
127
+ - Inhale: 4-second scale from 1.0 → 1.04 with `.easeInOut`
128
+ - Hold: 2-second hold at 1.04 with no animation
129
+ - Exhale: 4-second scale from 1.04 → 0.96 with `.easeInOut`
130
+ - Hold: 2-second hold at 0.96
131
+ - The total breath cycle is 12 seconds; the sphere is the visual metronome
132
+
133
+ **Particle Halo (optional, during sleep meditations)**
134
+ - 12 small `#FFD25C` butter-yellow dots orbiting the sphere at 200pt radius, 360° in 60 seconds, each at 30° spacing
135
+ - Each particle is 6pt with 50% opacity and slow fade in/out
136
+
137
+ ### Today Hero (the Aurora gradient screen)
138
+
139
+ **Layout**
140
+ - Top third of the Today screen: full-bleed Aurora gradient (`#FFB89E` → `#FFD25C` → `#FF6B35`)
141
+ - Greeting: "Good morning, Sam" in Apercu 32pt Bold Ink Brown, top-left with 24pt inset and 16pt below safe area
142
+ - Subtitle: "Today's vibe: Mindful Moment" in Apercu 16pt Medium Ink Brown @ 80%, below greeting
143
+ - Featured meditation hero card: full-width minus 24pt margins, 200pt tall, 24pt corner radius, with the breathing sphere on the left and "Start your day with peace" copy on the right
144
+ - "Start" pill CTA: Marigold background, white text, full-width inside the card
145
+
146
+ **Below the Aurora wash**: butter-cream canvas resumes, with section "Quick meditations" horizontal scroll cards.
147
+
148
+ ### Meditation Session Card
149
+
150
+ **Format**
151
+ - Width: full content width minus 24pt margins (or 280pt fixed in horizontal scroll)
152
+ - Height: 200pt
153
+ - Background: full-bleed illustration (a character meditating on a hilltop, sitting cross-legged, walking the dog) with `rgba(46,26,71,0.0 → 0.6)` gradient overlay bottom-up
154
+ - Corner radius: 24pt
155
+ - Bottom-aligned content:
156
+ - Tag pill: "Stress" / "Sleep" / "Focus" in 13pt Semibold white on a `rgba(255,255,255,0.25)` glass background, full-pill 500pt
157
+ - Title: "Stress Release" in Apercu 22pt Bold white
158
+ - Subtitle: "Andy Puddicombe · 10 min" in Apercu 13pt Regular white @ 85%
159
+
160
+ **Shadow**: `rgba(46,26,71,0.08) 0 4px 16px` — warm, soft, tinted with the ink color
161
+
162
+ ### Quick Action Tile (Today screen Quick Meditations row)
163
+
164
+ **Format**
165
+ - Width: 140pt fixed, in horizontal scroll
166
+ - Height: 180pt
167
+ - Background: solid soft color from the palette — Butter Yellow / Sage Light / Coral Flush / Sky Lavender / Marigold Light
168
+ - Corner radius: 20pt
169
+ - Content stack: 64pt illustration character at the top (centered), title "3-min Reset" in Apercu 17pt Medium Ink Brown, subtitle "Quick calm" in Apercu 13pt Regular Ink Brown @ 70%
170
+ - 16pt content inset all around
171
+ - Tap: scale 0.98, haptic `.impactOccurred(.soft)`
172
+
173
+ ### Player Controls (in-meditation play screen)
174
+
175
+ **Layout**
176
+ - Bottom of screen, below the breathing sphere
177
+ - Horizontal row: skip-back 15s / play-pause (large) / skip-forward 15s — centered
178
+ - Play/Pause: 72pt × 72pt circular, Marigold `#FF6B35` background, white `play.fill` / `pause.fill` 28pt glyph centered
179
+ - Skip buttons: 48pt × 48pt circular, Off-Cream `#FBF1DA` background, Ink Brown `gobackward.15` / `goforward.15` 22pt glyph centered
180
+
181
+ **Below the controls**: a thin progress arc on the very top of the screen rendering the elapsed/total minutes. Sage `#7E9F4B` filled, Warm Gray `#E8DFC9` track, 2pt stroke, rounded caps.
182
+
183
+ ### Buttons
184
+
185
+ **Primary Pill CTA ("Start", "Continue", "Save")**
186
+ - Background: `#FF6B35` Marigold
187
+ - Text: `#FFFFFF`, Apercu 17pt Medium (NOT Bold — Headspace stays gentle)
188
+ - Padding: 14pt vertical, 28pt horizontal
189
+ - Corner radius: 28pt (full pill on a 56pt button)
190
+ - Height: 56pt
191
+ - Pressed: background `#E55A2B`, scale 0.98
192
+ - Shadow: `rgba(255,107,53,0.25) 0 6px 16px` — a soft warm glow
193
+ - Haptic: `.impactOccurred(.soft)` — Headspace's haptics are always soft, never heavy
194
+
195
+ **Secondary Outline Button**
196
+ - Background: transparent
197
+ - Border: 1.5pt `#2E1A47` Ink Brown
198
+ - Text: `#2E1A47`, Apercu 17pt Medium
199
+ - Corner radius: 28pt full pill
200
+ - Padding: 12pt vertical, 26pt horizontal
201
+
202
+ **Soft Tag Pill (selected mood / category)**
203
+ - Background: `#FFD25C` Butter Yellow when selected; `#FBF1DA` when unselected
204
+ - Text: `#2E1A47` Apercu 13pt Semibold title-case
205
+ - Padding: 6pt vertical, 14pt horizontal
206
+ - Corner radius: 500pt full pill
207
+ - Selected has a subtle 1pt darker inner glow
208
+
209
+ **Text Link**
210
+ - "See all", "Tap to continue" — Apercu 13pt Semibold `#FF6B35` Marigold, no underline
211
+ - 44pt hit target
212
+
213
+ ### Navigation
214
+
215
+ **Bottom Tab Bar**
216
+ - Height: 56pt + safe area
217
+ - Background: `#FFF7E7` Butter Cream with 0.5pt `#E8DFC9` top hairline; on Sleep mode, switches to `#1A1430` Dusk
218
+ - Tabs (5): Today / Meditate / Sleep / Move / Profile
219
+ - Icon: 24pt SF Symbol — outlined inactive, filled active
220
+ - Active color: Marigold `#FF6B35` on Today/Meditate/Move/Profile; Sage `#7E9F4B` on Sleep (the only tab with its own tint)
221
+ - Inactive: Ink Brown Mute `#8E7DA5`
222
+ - Labels: Apercu 11pt Medium, mixed case
223
+ - Tap haptic: `.selectionChanged()`
224
+
225
+ **Top App Bar**
226
+ - Height: 56pt + safe area
227
+ - Background: matches the screen — butter cream or sleep dusk
228
+ - Title: Apercu 28pt Bold Ink Brown, left-aligned with 24pt inset
229
+ - Right: profile avatar (28pt circle) + optional settings glyph at 22pt Ink Brown
230
+
231
+ ### Input Fields
232
+
233
+ **Search Field (Library search)**
234
+ - Background: `#FBF1DA` Off Cream
235
+ - Border: 0
236
+ - Corner radius: 20pt
237
+ - Height: 44pt
238
+ - Leading: 16pt `magnifyingglass` Ink Brown Soft
239
+ - Text: Apercu 16pt Regular Ink Brown
240
+ - Placeholder: Ink Brown Mute
241
+
242
+ **Journal Text Area**
243
+ - Background: `#FFF7E7` Butter Cream (matches canvas)
244
+ - Border: 1pt `#E8DFC9` Warm Gray, dashed (gives the journal entry a hand-drawn quality)
245
+ - Corner radius: 20pt
246
+ - Padding: 16pt all around
247
+ - Text: Apercu 16pt Regular Ink Brown, 1.5 line height
248
+
249
+ ### Distinctive Components
250
+
251
+ **Streak Ring (Profile)**
252
+ - 120pt circular ring with Marigold `#FF6B35` fill animating from 0 to (currentStreak / 30 days) progress
253
+ - Track: `#FBF1DA` Off Cream, 8pt stroke
254
+ - Fill: Marigold, 8pt stroke, rounded caps, animates clockwise from 12 o'clock
255
+ - Inside the ring: streak number in Apercu 56pt Bold tabular Ink Brown + "days" in Apercu 13pt Regular Ink Brown Soft, stacked center
256
+
257
+ **Illustration Companion**
258
+ - A round-headed character in a pastel hoodie — sitting cross-legged, walking, holding a mug
259
+ - Appears on every empty state, every milestone reveal, and the bottom-right corner of the Today hero (subtle, like a thumbnail)
260
+ - Sizes: 80pt for inline contextual companions, 240pt for hero milestone reveals, 64pt for quick-action tile thumbnails
261
+ - Style: thick rounded line work, pastel fills, no shading — pure illustration style, never photorealistic
262
+
263
+ **Mood Tag Row (Today screen, "How are you feeling?")**
264
+ - Horizontal row of 5 selectable mood pills with emoji characters and labels: Happy / Calm / Sad / Anxious / Excited
265
+ - Each pill is 80pt wide × 88pt tall, vertically stacked icon + label
266
+ - Unselected: `#FBF1DA` background
267
+ - Selected: `#FFD25C` Butter Yellow background with the mood emoji enlarged
268
+ - Tap haptic: `.selectionChanged()`
269
+
270
+ **Sleep Story Card (Sleep tab)**
271
+ - Full-width minus 24pt margins, 240pt tall
272
+ - Background: nighttime illustration (a forest at twilight, an ocean under stars, a cabin in snow)
273
+ - Overlay: `rgba(26,20,48,0.4)` Dusk Canvas tint
274
+ - Title: "The Falling Snow" in Apercu 22pt Bold inverted cream
275
+ - Narrator: "Read by Cillian Murphy" in Apercu 13pt Regular inverted cream @ 80%
276
+ - Duration: "45 min" in Apercu 11pt Regular inverted cream @ 70%
277
+ - Corner radius: 24pt
278
+
279
+ ## 5. Layout Principles
280
+
281
+ ### Spacing System
282
+ - Base unit: 4pt
283
+ - Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80
284
+ - Standard horizontal margin: 24pt on most screens — generous, gives content room to breathe
285
+ - Section vertical gap: 32pt between major sections; 48pt above hero CTAs on play screens
286
+
287
+ ### Grid & Container
288
+ - Content width: full minus 24pt margins (wider than other apps because Headspace prefers air)
289
+ - Meditation cards: full-width on Today and Library; 280pt fixed in horizontal scroll Quick Meditations rows
290
+ - Mood tags: 5-column equal-width row
291
+ - Library category grid: 2-col stacked grid with 16pt gap
292
+
293
+ ### Whitespace Philosophy
294
+ - **Generous breathing room everywhere**: 24pt margins, 1.5 line-height, 32pt section gaps — the visual equivalent of slow inhalation
295
+ - **No tight stacking**: cards never abut; always 16pt vertical gap between cards
296
+ - **Hero illustration breathes**: the breathing sphere on the play screen has 80pt of clearance above and below — it must feel uncrowded
297
+
298
+ ### Border Radius Scale
299
+ - Standard (12pt): tag pills (small), small chips
300
+ - Medium (16pt): journal text area, settings panels
301
+ - Soft (20pt): search field, quick-action tile
302
+ - Comfortable (24pt): meditation cards, sleep cards, modal sheets — Headspace's signature radius
303
+ - Pill (500pt): action buttons, tag pills, selected mood pills
304
+ - Circle (50%): avatars, play/pause button, breathing sphere
305
+
306
+ ## 6. Depth & Elevation
307
+
308
+ | Level | Treatment | Use |
309
+ |-------|-----------|-----|
310
+ | Flat (Level 0) | No shadow | List rows, journal entries, body canvas |
311
+ | Card (Level 1) | `rgba(46,26,71,0.06) 0 2px 8px` | Quick-action tiles, secondary cards |
312
+ | Floating (Level 2) | `rgba(46,26,71,0.08) 0 4px 16px` | Meditation cards, sleep story cards |
313
+ | Pop (Level 3) | `rgba(255,107,53,0.25) 0 6px 16px` Marigold-tinted | Primary CTA buttons — a warm glow, not a neutral shadow |
314
+ | Sheet (Level 4) | `rgba(46,26,71,0.12) 0 -8px 32px` | Modal sheets, "Add to favorites" bottom sheet |
315
+
316
+ **Shadow Philosophy**: Headspace shadows are always warm — tinted with the Ink Brown (`#2E1A47`) instead of true black, so they read as soft and friendly. Primary CTAs use a Marigold-tinted shadow (a sunrise glow). Shadows are never aggressive — `0.06` to `0.12` opacity max.
317
+
318
+ ### Motion
319
+ - **Breathing sphere**: continuous 12s cycle — 4s inhale (1.0 → 1.04), 2s hold, 4s exhale (1.04 → 0.96), 2s hold; pure `.easeInOut`, no spring
320
+ - **Primary CTA tap**: scale 0.98 + `.impactOccurred(.soft)` haptic + warm glow shadow brightens momentarily
321
+ - **Mood tag select**: scale 1.0 → 1.1 → 1.0 over 300ms spring (damping 0.7) + Butter Yellow background fill
322
+ - **Streak ring animate**: 1.2s ease-out fill from 0 to currentProgress on first view + soft success haptic
323
+ - **Card tap**: scale 0.99 (very subtle), 200ms ease, transition to detail
324
+ - **Tab switch**: `.selectionChanged()` haptic + 200ms cross-fade between icons (outlined → filled)
325
+ - **Meditation completion**: illustration companion fades in at 0.5x → 1.0x spring + soft success haptic + "You did it" copy in Apercu 28pt Bold
326
+ - **Sleep mode transition**: canvas color cross-fades from Butter Cream `#FFF7E7` to Dusk `#1A1430` over 600ms when entering the Sleep tab — visceral, like dusk falling
327
+
328
+ ## 7. Do's and Don'ts
329
+
330
+ ### Do
331
+ - Use Butter Cream `#FFF7E7` for the canvas — never pure white, never cool gray
332
+ - Use Marigold `#FF6B35` as the primary action color — Start, Continue, Save
333
+ - Apply the Aurora gradient (Marigold → Butter → Coral) on Today hero and meditation full-bleed cards
334
+ - Render the breathing sphere as a radial gradient (`#FFB89E` highlight → `#FF6B35` mid → `#E55A2B` shadow) with continuous breath animation
335
+ - Use Apercu (or Nunito as fallback) — soft humanist sans, never grotesque
336
+ - Use title case on every label — never UPPERCASE; UPPERCASE feels shouty
337
+ - Use Ink Brown `#2E1A47` for body text — warm purple-brown, never harsh black
338
+ - Use illustration companions on every empty state and milestone reveal — characters are the brand
339
+ - Use generous spacing — 24pt margins, 1.5 body line-height — pace it like breath
340
+ - Use 24pt corner radius on meditation cards — Headspace's signature soft corner
341
+ - Use warm Ink-tinted shadows (`rgba(46,26,71,0.08)`) — never true-black shadows
342
+ - Use Marigold-tinted glow under primary CTAs — a sunrise, not a drop shadow
343
+ - Use `.impactOccurred(.soft)` haptics — Headspace's haptic vocabulary is always soft
344
+ - Tint the Sleep tab Sage `#7E9F4B` — the only tab with its own color; Sleep is its own world
345
+
346
+ ### Don't
347
+ - Don't use pure white as the canvas — Headspace is warm-cream by brand
348
+ - Don't use harsh black `#000000` for text — Ink Brown `#2E1A47` is the value
349
+ - Don't use UPPERCASE on Apercu — title case only, never all-caps
350
+ - Don't replace illustration companions with photography — Headspace is fully illustrated
351
+ - Don't use cool blues or grotesque sans-serif typography — the brand is warm and humanist
352
+ - Don't use heavy haptics — Headspace's haptic vocabulary is all soft and selection
353
+ - Don't use a true-black drop shadow — shadows are tinted with Ink Brown for warmth
354
+ - Don't animate the breathing sphere with a spring — pure ease-in-out is correct (springs feel digital)
355
+ - Don't render the meditation sphere flat — the radial gradient is what makes it feel like a sun
356
+ - Don't pack content tight — Headspace breathes; 24pt margins minimum
357
+ - Don't use Marigold as the Sleep mode primary — Sage is the Sleep accent
358
+ - Don't dim the canvas to dark gray on Sleep mode — Dusk `#1A1430` is the value (warm purple-blue)
359
+
360
+ ## 8. Responsive Behavior
361
+
362
+ ### Device Sizes
363
+ | Device | Width | Key Changes |
364
+ |--------|-------|-------------|
365
+ | iPhone SE (3rd gen) | 375pt | Breathing sphere shrinks to 200pt; greeting at 28pt |
366
+ | iPhone 13/14/15 | 390pt | Standard 234pt sphere, 32pt greeting |
367
+ | iPhone 15/16 Pro | 393pt | Dynamic Island respected — top app bar sits below it |
368
+ | iPhone 15/16 Pro Max | 430pt | Larger 260pt sphere, 36pt greeting |
369
+ | Apple Watch (companion) | 184-220pt | Breathing sphere only, no other UI |
370
+ | iPad | 768pt+ | Library uses 3-col grid, meditation play screen centers the sphere in a 480pt frame |
371
+
372
+ ### Dynamic Type
373
+ - Greeting, screen titles, body, guidance copy: full scale
374
+ - Meditation timer countdown (56pt): scales up to xLarge then clamps
375
+ - Tab labels, tag pills, streak number, mood tag labels: FIXED (layout-sensitive)
376
+
377
+ ### Orientation
378
+ - Portrait-locked everywhere — Headspace is a single-hand, single-orientation app
379
+ - Sleep stories may allow landscape if user holds phone sideways while lying down (rare)
380
+
381
+ ### Touch Targets
382
+ - Mood tag pill: 80pt × 88pt visual, full hit area
383
+ - Play/Pause button: 72pt visual, 80pt hit area
384
+ - Tab icons: 24pt visual, 56pt row hit area
385
+ - Tag pill: 44pt height visible, full row hit
386
+
387
+ ### Safe Area Handling
388
+ - Top: safe area honored — greeting starts at safe-area top + 16pt
389
+ - Bottom: tab bar respects home indicator; play screen controls have 32pt clearance above home indicator
390
+ - Sides: 24pt content inset
391
+
392
+ ## 9. Agent Prompt Guide
393
+
394
+ ### Quick Color Reference
395
+ - Canvas: `#FFF7E7` (Butter Cream)
396
+ - Off Cream Surface: `#FBF1DA`
397
+ - Warm Gray Divider: `#E8DFC9`
398
+ - Marigold (primary): `#FF6B35`
399
+ - Marigold Pressed: `#E55A2B`
400
+ - Marigold Light: `#FFB89E`
401
+ - Butter Yellow: `#FFD25C`
402
+ - Sage Moss: `#7E9F4B`
403
+ - Sage Light: `#B4C68F`
404
+ - Coral Flush: `#F4877E`
405
+ - Sky Lavender: `#B7B0DC`
406
+ - Ink Brown (text): `#2E1A47`
407
+ - Ink Brown Soft: `#594675`
408
+ - Ink Brown Mute: `#8E7DA5`
409
+ - Dusk Canvas (sleep): `#1A1430`
410
+ - Dusk Surface 1: `#2A2046`
411
+ - Aurora gradient: `#FFB89E` → `#FFD25C` → `#FF6B35`
412
+
413
+ ### Example Component Prompts
414
+ - "Build the Headspace breathing sphere: 234pt diameter circle at the center of the play screen on a Butter Cream `#FFF7E7` canvas. Fill is a radial gradient from `#FFB89E` 0% (top-left highlight) to `#FF6B35` 70% to `#E55A2B` 100% (bottom-right shadow). 1pt outline at `rgba(46,26,71,0.08)` for a soft edge. Apply a continuous breath animation: 4s inhale scaling 1.0 → 1.04 with `.easeInOut`, 2s hold, 4s exhale scaling 1.04 → 0.96, 2s hold — total 12s cycle, looping. Above the sphere: 'Take a deep breath in...' in Apercu 22pt Regular Ink Brown `#2E1A47`. Below the sphere: countdown timer '10:00' in Apercu 56pt Bold tabular Ink Brown."
415
+ - "Render the Today hero: top third of the screen full-bleed with a 3-stop linear gradient — `#FFB89E` 0%, `#FFD25C` 50%, `#FF6B35` 100% (the Aurora wash). Greeting 'Good morning, Sam' in Apercu 32pt Bold `#2E1A47` Ink Brown at top-left with 24pt inset and 16pt below safe area. Subtitle 'Today's vibe: Mindful Moment' in Apercu 16pt Medium Ink Brown @ 80%. Below the wash on butter-cream canvas: a featured meditation card (full-width minus 24pt margins, 200pt tall, 24pt corner radius) with the breathing sphere illustration on the left and 'Start your day with peace' copy + Marigold 'Start' pill CTA on the right."
416
+ - "Build the Headspace primary CTA: a 56pt-tall Marigold `#FF6B35` pill (corner radius 28pt full pill), full-width minus 24pt margins. Label 'Start' in Apercu 17pt Medium (NOT Bold — Headspace stays gentle) white centered. Shadow `rgba(255,107,53,0.25) 0 6px 16px` — a warm sunrise glow. On tap: scale 0.98 + haptic `.impactOccurred(.soft)`. Pressed state turns the background `#E55A2B`."
417
+ - "Design the streak ring on the Profile screen: 120pt circular ring, Off Cream `#FBF1DA` track at 8pt stroke, Marigold `#FF6B35` fill at 8pt stroke with rounded caps. Fill represents the user's current streak as a fraction of 30 days, animating clockwise from -90° on first view over 1.2s with `.easeOut`. Inside the ring: streak number '12' in Apercu 56pt Bold tabular `#2E1A47`, then 'days' below it in Apercu 13pt Regular `#594675` Ink Brown Soft. Soft success haptic on reveal."
418
+ - "Render a meditation session card: full-width minus 24pt margins, 200pt tall, 24pt corner radius. Background is a full-bleed illustration of a round-headed character meditating cross-legged on a hill, in soft pastel colors. Apply a `linear-gradient(transparent → rgba(46,26,71,0.6))` overlay bottom-up. Bottom-aligned content: a 'Stress' tag pill in Apercu 13pt Semibold white on `rgba(255,255,255,0.25)` glass background (full pill 500pt corner). Below the pill: 'Stress Release' title in Apercu 22pt Bold white. Below the title: 'Andy Puddicombe · 10 min' in Apercu 13pt Regular white @ 85%. Shadow `rgba(46,26,71,0.08) 0 4px 16px` — warm and soft."
419
+
420
+ ### Iteration Guide
421
+ 1. Canvas is `#FFF7E7` Butter Cream — warm, off-white, never pure
422
+ 2. Marigold `#FF6B35` is the primary action color — Today CTA, Start, Continue
423
+ 3. Aurora gradient (`#FFB89E` → `#FFD25C` → `#FF6B35`) is the brand wash — Today hero, meditation hero cards
424
+ 4. Body text is Ink Brown `#2E1A47` — warm purple-brown, never harsh black
425
+ 5. The breathing sphere is the hero — radial gradient circle with continuous 12s breath animation
426
+ 6. Apercu typography (Nunito Google fallback) at weights 400/500/600/700 — title case only, never UPPERCASE
427
+ 7. Generous spacing: 24pt margins, 1.5 line-height, 32pt section gaps — pace it like breath
428
+ 8. 24pt corner radius on meditation cards — Headspace's signature soft corner
429
+ 9. Soft warm shadows tinted with Ink Brown (`rgba(46,26,71,0.08)`) — never true-black shadows
430
+ 10. Soft haptics everywhere — `.impactOccurred(.soft)` and `.selectionChanged()`, never heavy