@aexol/spectral 0.9.270 → 0.9.271

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. package/dist/agent/index.d.ts +10 -1
  2. package/dist/agent/index.d.ts.map +1 -1
  3. package/dist/agent/index.js +26 -10
  4. package/dist/commands/serve.d.ts.map +1 -1
  5. package/dist/commands/serve.js +29 -5
  6. package/dist/commands/update.d.ts +2 -2
  7. package/dist/commands/update.js +3 -3
  8. package/dist/designer/index.d.ts +13 -18
  9. package/dist/designer/index.d.ts.map +1 -1
  10. package/dist/designer/index.js +128 -201
  11. package/dist/extensions/aexol-mcp.d.ts.map +1 -1
  12. package/dist/extensions/aexol-mcp.js +23 -0
  13. package/dist/memory/debug-log.d.ts.map +1 -1
  14. package/dist/memory/debug-log.js +20 -2
  15. package/dist/memory/tools/compact-context.d.ts +1 -1
  16. package/dist/memory/tools/compact-context.d.ts.map +1 -1
  17. package/dist/memory/tools/compact-context.js +4 -1
  18. package/dist/memory/tools/recall-observation.d.ts +3 -3
  19. package/dist/memory/tools/recall-observation.d.ts.map +1 -1
  20. package/dist/memory/tools/recall-observation.js +4 -1
  21. package/dist/memory/tools/receive-agent-observations.d.ts +3 -3
  22. package/dist/memory/tools/receive-agent-observations.d.ts.map +1 -1
  23. package/dist/memory/tools/receive-agent-observations.js +4 -1
  24. package/dist/memory/tools/share-project-observation.d.ts +3 -3
  25. package/dist/memory/tools/share-project-observation.d.ts.map +1 -1
  26. package/dist/memory/tools/share-project-observation.js +4 -1
  27. package/dist/memory/tools/write-project-observation.d.ts +3 -3
  28. package/dist/memory/tools/write-project-observation.d.ts.map +1 -1
  29. package/dist/memory/tools/write-project-observation.js +4 -1
  30. package/dist/relay/client.d.ts.map +1 -1
  31. package/dist/relay/client.js +5 -2
  32. package/dist/sdk/ai/env-api-keys.js +1 -1
  33. package/dist/sdk/coding-agent/core/extensions/loader.d.ts.map +1 -1
  34. package/dist/sdk/coding-agent/core/extensions/loader.js +31 -3
  35. package/dist/sdk/coding-agent/core/theme.js +1 -1
  36. package/dist/server/handlers/agent-settings.d.ts.map +1 -1
  37. package/dist/server/handlers/agent-settings.js +4 -1
  38. package/dist/server/handlers/settings-lock.d.ts.map +1 -1
  39. package/dist/server/handlers/settings-lock.js +4 -1
  40. package/dist/server/storage.d.ts.map +1 -1
  41. package/dist/server/storage.js +13 -1
  42. package/dist/utils/serve-state.d.ts +17 -0
  43. package/dist/utils/serve-state.d.ts.map +1 -1
  44. package/dist/utils/serve-state.js +73 -0
  45. package/package.json +1 -1
  46. package/dist/designer/data/skills/blog-post.d.ts +0 -3
  47. package/dist/designer/data/skills/blog-post.d.ts.map +0 -1
  48. package/dist/designer/data/skills/blog-post.js +0 -84
  49. package/dist/designer/data/skills/blog-post.ts +0 -87
  50. package/dist/designer/data/skills/critique.d.ts +0 -3
  51. package/dist/designer/data/skills/critique.d.ts.map +0 -1
  52. package/dist/designer/data/skills/critique.js +0 -109
  53. package/dist/designer/data/skills/critique.ts +0 -112
  54. package/dist/designer/data/skills/dashboard.d.ts +0 -3
  55. package/dist/designer/data/skills/dashboard.d.ts.map +0 -1
  56. package/dist/designer/data/skills/dashboard.js +0 -165
  57. package/dist/designer/data/skills/dashboard.ts +0 -168
  58. package/dist/designer/data/skills/design-brief.d.ts +0 -3
  59. package/dist/designer/data/skills/design-brief.d.ts.map +0 -1
  60. package/dist/designer/data/skills/design-brief.js +0 -141
  61. package/dist/designer/data/skills/design-brief.ts +0 -144
  62. package/dist/designer/data/skills/design-skill.d.ts +0 -10
  63. package/dist/designer/data/skills/design-skill.d.ts.map +0 -1
  64. package/dist/designer/data/skills/design-skill.js +0 -1
  65. package/dist/designer/data/skills/design-skill.ts +0 -9
  66. package/dist/designer/data/skills/docs-page.d.ts +0 -3
  67. package/dist/designer/data/skills/docs-page.d.ts.map +0 -1
  68. package/dist/designer/data/skills/docs-page.js +0 -68
  69. package/dist/designer/data/skills/docs-page.ts +0 -71
  70. package/dist/designer/data/skills/index.d.ts +0 -3
  71. package/dist/designer/data/skills/index.d.ts.map +0 -1
  72. package/dist/designer/data/skills/index.js +0 -28
  73. package/dist/designer/data/skills/index.ts +0 -30
  74. package/dist/designer/data/skills/magazine-poster.d.ts +0 -3
  75. package/dist/designer/data/skills/magazine-poster.d.ts.map +0 -1
  76. package/dist/designer/data/skills/magazine-poster.js +0 -70
  77. package/dist/designer/data/skills/magazine-poster.ts +0 -73
  78. package/dist/designer/data/skills/mobile-app.d.ts +0 -3
  79. package/dist/designer/data/skills/mobile-app.d.ts.map +0 -1
  80. package/dist/designer/data/skills/mobile-app.js +0 -229
  81. package/dist/designer/data/skills/mobile-app.ts +0 -232
  82. package/dist/designer/data/skills/motion-frames.d.ts +0 -3
  83. package/dist/designer/data/skills/motion-frames.d.ts.map +0 -1
  84. package/dist/designer/data/skills/motion-frames.js +0 -121
  85. package/dist/designer/data/skills/motion-frames.ts +0 -124
  86. package/dist/designer/data/skills/pricing-page.d.ts +0 -3
  87. package/dist/designer/data/skills/pricing-page.d.ts.map +0 -1
  88. package/dist/designer/data/skills/pricing-page.js +0 -76
  89. package/dist/designer/data/skills/pricing-page.ts +0 -79
  90. package/dist/designer/data/skills/saas-landing.d.ts +0 -3
  91. package/dist/designer/data/skills/saas-landing.d.ts.map +0 -1
  92. package/dist/designer/data/skills/saas-landing.js +0 -71
  93. package/dist/designer/data/skills/saas-landing.ts +0 -74
  94. package/dist/designer/data/skills/slide-deck.d.ts +0 -3
  95. package/dist/designer/data/skills/slide-deck.d.ts.map +0 -1
  96. package/dist/designer/data/skills/slide-deck.js +0 -213
  97. package/dist/designer/data/skills/slide-deck.ts +0 -216
  98. package/dist/designer/data/skills/social-carousel.d.ts +0 -3
  99. package/dist/designer/data/skills/social-carousel.d.ts.map +0 -1
  100. package/dist/designer/data/skills/social-carousel.js +0 -135
  101. package/dist/designer/data/skills/social-carousel.ts +0 -138
  102. package/dist/designer/data/skills/web-prototype.d.ts +0 -3
  103. package/dist/designer/data/skills/web-prototype.d.ts.map +0 -1
  104. package/dist/designer/data/skills/web-prototype.js +0 -159
  105. package/dist/designer/data/skills/web-prototype.ts +0 -162
  106. package/dist/designer/data/systems/agentic/DESIGN.md +0 -71
  107. package/dist/designer/data/systems/agentic/components.html +0 -154
  108. package/dist/designer/data/systems/agentic/tokens.css +0 -63
  109. package/dist/designer/data/systems/airbnb/DESIGN.md +0 -393
  110. package/dist/designer/data/systems/airbnb/components.html +0 -1373
  111. package/dist/designer/data/systems/airbnb/tokens.css +0 -261
  112. package/dist/designer/data/systems/airtable/DESIGN.md +0 -92
  113. package/dist/designer/data/systems/airtable/components.html +0 -489
  114. package/dist/designer/data/systems/airtable/tokens.css +0 -261
  115. package/dist/designer/data/systems/ant/DESIGN.md +0 -71
  116. package/dist/designer/data/systems/ant/components.html +0 -154
  117. package/dist/designer/data/systems/ant/tokens.css +0 -63
  118. package/dist/designer/data/systems/apple/DESIGN.md +0 -250
  119. package/dist/designer/data/systems/apple/components.html +0 -749
  120. package/dist/designer/data/systems/apple/tokens.css +0 -286
  121. package/dist/designer/data/systems/application/DESIGN.md +0 -71
  122. package/dist/designer/data/systems/application/components.html +0 -154
  123. package/dist/designer/data/systems/application/tokens.css +0 -63
  124. package/dist/designer/data/systems/arc/DESIGN.md +0 -152
  125. package/dist/designer/data/systems/arc/components.html +0 -432
  126. package/dist/designer/data/systems/arc/tokens.css +0 -137
  127. package/dist/designer/data/systems/artistic/DESIGN.md +0 -71
  128. package/dist/designer/data/systems/artistic/components.html +0 -136
  129. package/dist/designer/data/systems/artistic/tokens.css +0 -63
  130. package/dist/designer/data/systems/atelier-zero/DESIGN.md +0 -316
  131. package/dist/designer/data/systems/atelier-zero/components.html +0 -136
  132. package/dist/designer/data/systems/atelier-zero/tokens.css +0 -63
  133. package/dist/designer/data/systems/bento/DESIGN.md +0 -71
  134. package/dist/designer/data/systems/bento/components.html +0 -136
  135. package/dist/designer/data/systems/bento/tokens.css +0 -63
  136. package/dist/designer/data/systems/binance/DESIGN.md +0 -348
  137. package/dist/designer/data/systems/binance/components.html +0 -550
  138. package/dist/designer/data/systems/binance/tokens.css +0 -255
  139. package/dist/designer/data/systems/bmw/DESIGN.md +0 -183
  140. package/dist/designer/data/systems/bmw/components.html +0 -551
  141. package/dist/designer/data/systems/bmw/tokens.css +0 -179
  142. package/dist/designer/data/systems/bmw-m/DESIGN.md +0 -246
  143. package/dist/designer/data/systems/bmw-m/components.html +0 -342
  144. package/dist/designer/data/systems/bmw-m/tokens.css +0 -64
  145. package/dist/designer/data/systems/bold/DESIGN.md +0 -71
  146. package/dist/designer/data/systems/bold/components.html +0 -136
  147. package/dist/designer/data/systems/bold/tokens.css +0 -63
  148. package/dist/designer/data/systems/brutalism/DESIGN.md +0 -71
  149. package/dist/designer/data/systems/brutalism/components.html +0 -154
  150. package/dist/designer/data/systems/brutalism/tokens.css +0 -63
  151. package/dist/designer/data/systems/bugatti/DESIGN.md +0 -271
  152. package/dist/designer/data/systems/bugatti/components.html +0 -342
  153. package/dist/designer/data/systems/bugatti/tokens.css +0 -64
  154. package/dist/designer/data/systems/cafe/DESIGN.md +0 -71
  155. package/dist/designer/data/systems/cafe/components.html +0 -136
  156. package/dist/designer/data/systems/cafe/tokens.css +0 -63
  157. package/dist/designer/data/systems/cal/DESIGN.md +0 -262
  158. package/dist/designer/data/systems/cal/components.html +0 -376
  159. package/dist/designer/data/systems/cal/tokens.css +0 -265
  160. package/dist/designer/data/systems/canva/DESIGN.md +0 -157
  161. package/dist/designer/data/systems/canva/components.html +0 -461
  162. package/dist/designer/data/systems/canva/tokens.css +0 -147
  163. package/dist/designer/data/systems/cisco/DESIGN.md +0 -201
  164. package/dist/designer/data/systems/cisco/components.html +0 -342
  165. package/dist/designer/data/systems/cisco/tokens.css +0 -64
  166. package/dist/designer/data/systems/claude/DESIGN.md +0 -315
  167. package/dist/designer/data/systems/claude/components.html +0 -483
  168. package/dist/designer/data/systems/claude/tokens.css +0 -130
  169. package/dist/designer/data/systems/clay/DESIGN.md +0 -307
  170. package/dist/designer/data/systems/clay/components.html +0 -136
  171. package/dist/designer/data/systems/clay/tokens.css +0 -63
  172. package/dist/designer/data/systems/claymorphism/DESIGN.md +0 -71
  173. package/dist/designer/data/systems/claymorphism/components.html +0 -136
  174. package/dist/designer/data/systems/claymorphism/tokens.css +0 -63
  175. package/dist/designer/data/systems/clean/DESIGN.md +0 -71
  176. package/dist/designer/data/systems/clean/components.html +0 -136
  177. package/dist/designer/data/systems/clean/tokens.css +0 -63
  178. package/dist/designer/data/systems/clickhouse/DESIGN.md +0 -284
  179. package/dist/designer/data/systems/clickhouse/components.html +0 -506
  180. package/dist/designer/data/systems/clickhouse/tokens.css +0 -135
  181. package/dist/designer/data/systems/cohere/DESIGN.md +0 -269
  182. package/dist/designer/data/systems/cohere/components.html +0 -353
  183. package/dist/designer/data/systems/cohere/tokens.css +0 -126
  184. package/dist/designer/data/systems/coinbase/DESIGN.md +0 -132
  185. package/dist/designer/data/systems/coinbase/components.html +0 -501
  186. package/dist/designer/data/systems/coinbase/tokens.css +0 -257
  187. package/dist/designer/data/systems/colorful/DESIGN.md +0 -71
  188. package/dist/designer/data/systems/colorful/components.html +0 -136
  189. package/dist/designer/data/systems/colorful/tokens.css +0 -63
  190. package/dist/designer/data/systems/composio/DESIGN.md +0 -310
  191. package/dist/designer/data/systems/composio/components.html +0 -342
  192. package/dist/designer/data/systems/composio/tokens.css +0 -64
  193. package/dist/designer/data/systems/contemporary/DESIGN.md +0 -71
  194. package/dist/designer/data/systems/contemporary/components.html +0 -136
  195. package/dist/designer/data/systems/contemporary/tokens.css +0 -63
  196. package/dist/designer/data/systems/corporate/DESIGN.md +0 -71
  197. package/dist/designer/data/systems/corporate/components.html +0 -136
  198. package/dist/designer/data/systems/corporate/tokens.css +0 -63
  199. package/dist/designer/data/systems/cosmic/DESIGN.md +0 -71
  200. package/dist/designer/data/systems/cosmic/components.html +0 -136
  201. package/dist/designer/data/systems/cosmic/tokens.css +0 -63
  202. package/dist/designer/data/systems/creative/DESIGN.md +0 -71
  203. package/dist/designer/data/systems/creative/components.html +0 -136
  204. package/dist/designer/data/systems/creative/tokens.css +0 -63
  205. package/dist/designer/data/systems/cursor/DESIGN.md +0 -312
  206. package/dist/designer/data/systems/cursor/components.html +0 -654
  207. package/dist/designer/data/systems/cursor/tokens.css +0 -218
  208. package/dist/designer/data/systems/dashboard/DESIGN.md +0 -71
  209. package/dist/designer/data/systems/dashboard/components.html +0 -154
  210. package/dist/designer/data/systems/dashboard/tokens.css +0 -63
  211. package/dist/designer/data/systems/default/DESIGN.md +0 -62
  212. package/dist/designer/data/systems/default/components.html +0 -523
  213. package/dist/designer/data/systems/default/tokens.css +0 -200
  214. package/dist/designer/data/systems/discord/DESIGN.md +0 -162
  215. package/dist/designer/data/systems/discord/components.html +0 -359
  216. package/dist/designer/data/systems/discord/tokens.css +0 -125
  217. package/dist/designer/data/systems/dithered/DESIGN.md +0 -71
  218. package/dist/designer/data/systems/dithered/components.html +0 -136
  219. package/dist/designer/data/systems/dithered/tokens.css +0 -63
  220. package/dist/designer/data/systems/doodle/DESIGN.md +0 -71
  221. package/dist/designer/data/systems/doodle/components.html +0 -136
  222. package/dist/designer/data/systems/doodle/tokens.css +0 -63
  223. package/dist/designer/data/systems/dramatic/DESIGN.md +0 -71
  224. package/dist/designer/data/systems/dramatic/components.html +0 -136
  225. package/dist/designer/data/systems/dramatic/tokens.css +0 -63
  226. package/dist/designer/data/systems/duolingo/DESIGN.md +0 -154
  227. package/dist/designer/data/systems/duolingo/components.html +0 -532
  228. package/dist/designer/data/systems/duolingo/tokens.css +0 -130
  229. package/dist/designer/data/systems/editorial/DESIGN.md +0 -71
  230. package/dist/designer/data/systems/editorial/components.html +0 -154
  231. package/dist/designer/data/systems/editorial/tokens.css +0 -63
  232. package/dist/designer/data/systems/elegant/DESIGN.md +0 -71
  233. package/dist/designer/data/systems/elegant/components.html +0 -136
  234. package/dist/designer/data/systems/elegant/tokens.css +0 -63
  235. package/dist/designer/data/systems/elevenlabs/DESIGN.md +0 -268
  236. package/dist/designer/data/systems/elevenlabs/components.html +0 -342
  237. package/dist/designer/data/systems/elevenlabs/tokens.css +0 -127
  238. package/dist/designer/data/systems/energetic/DESIGN.md +0 -72
  239. package/dist/designer/data/systems/energetic/components.html +0 -136
  240. package/dist/designer/data/systems/energetic/tokens.css +0 -63
  241. package/dist/designer/data/systems/enterprise/DESIGN.md +0 -71
  242. package/dist/designer/data/systems/enterprise/components.html +0 -154
  243. package/dist/designer/data/systems/enterprise/tokens.css +0 -63
  244. package/dist/designer/data/systems/expo/DESIGN.md +0 -284
  245. package/dist/designer/data/systems/expo/components.html +0 -342
  246. package/dist/designer/data/systems/expo/tokens.css +0 -64
  247. package/dist/designer/data/systems/expressive/DESIGN.md +0 -71
  248. package/dist/designer/data/systems/expressive/components.html +0 -136
  249. package/dist/designer/data/systems/expressive/tokens.css +0 -63
  250. package/dist/designer/data/systems/fantasy/DESIGN.md +0 -71
  251. package/dist/designer/data/systems/fantasy/components.html +0 -136
  252. package/dist/designer/data/systems/fantasy/tokens.css +0 -63
  253. package/dist/designer/data/systems/ferrari/DESIGN.md +0 -317
  254. package/dist/designer/data/systems/ferrari/components.html +0 -342
  255. package/dist/designer/data/systems/ferrari/tokens.css +0 -64
  256. package/dist/designer/data/systems/figma/DESIGN.md +0 -223
  257. package/dist/designer/data/systems/figma/components.html +0 -344
  258. package/dist/designer/data/systems/figma/tokens.css +0 -126
  259. package/dist/designer/data/systems/flat/DESIGN.md +0 -71
  260. package/dist/designer/data/systems/flat/components.html +0 -136
  261. package/dist/designer/data/systems/flat/tokens.css +0 -63
  262. package/dist/designer/data/systems/framer/DESIGN.md +0 -249
  263. package/dist/designer/data/systems/framer/components.html +0 -438
  264. package/dist/designer/data/systems/framer/tokens.css +0 -238
  265. package/dist/designer/data/systems/friendly/DESIGN.md +0 -71
  266. package/dist/designer/data/systems/friendly/components.html +0 -136
  267. package/dist/designer/data/systems/friendly/tokens.css +0 -63
  268. package/dist/designer/data/systems/futuristic/DESIGN.md +0 -71
  269. package/dist/designer/data/systems/futuristic/components.html +0 -136
  270. package/dist/designer/data/systems/futuristic/tokens.css +0 -63
  271. package/dist/designer/data/systems/github/DESIGN.md +0 -155
  272. package/dist/designer/data/systems/github/components.html +0 -383
  273. package/dist/designer/data/systems/github/tokens.css +0 -125
  274. package/dist/designer/data/systems/glassmorphism/DESIGN.md +0 -71
  275. package/dist/designer/data/systems/glassmorphism/components.html +0 -154
  276. package/dist/designer/data/systems/glassmorphism/tokens.css +0 -63
  277. package/dist/designer/data/systems/gradient/DESIGN.md +0 -71
  278. package/dist/designer/data/systems/gradient/components.html +0 -154
  279. package/dist/designer/data/systems/gradient/tokens.css +0 -63
  280. package/dist/designer/data/systems/hashicorp/DESIGN.md +0 -281
  281. package/dist/designer/data/systems/hashicorp/components.html +0 -502
  282. package/dist/designer/data/systems/hashicorp/tokens.css +0 -272
  283. package/dist/designer/data/systems/hud/DESIGN.md +0 -173
  284. package/dist/designer/data/systems/hud/components.html +0 -136
  285. package/dist/designer/data/systems/hud/tokens.css +0 -63
  286. package/dist/designer/data/systems/huggingface/DESIGN.md +0 -149
  287. package/dist/designer/data/systems/huggingface/components.html +0 -346
  288. package/dist/designer/data/systems/huggingface/tokens.css +0 -125
  289. package/dist/designer/data/systems/ibm/DESIGN.md +0 -335
  290. package/dist/designer/data/systems/ibm/components.html +0 -342
  291. package/dist/designer/data/systems/ibm/tokens.css +0 -64
  292. package/dist/designer/data/systems/intercom/DESIGN.md +0 -149
  293. package/dist/designer/data/systems/intercom/components.html +0 -557
  294. package/dist/designer/data/systems/intercom/tokens.css +0 -150
  295. package/dist/designer/data/systems/kami/DESIGN.md +0 -410
  296. package/dist/designer/data/systems/kami/components.html +0 -601
  297. package/dist/designer/data/systems/kami/tokens.css +0 -272
  298. package/dist/designer/data/systems/kraken/DESIGN.md +0 -128
  299. package/dist/designer/data/systems/kraken/components.html +0 -342
  300. package/dist/designer/data/systems/kraken/tokens.css +0 -64
  301. package/dist/designer/data/systems/lamborghini/DESIGN.md +0 -291
  302. package/dist/designer/data/systems/lamborghini/components.html +0 -342
  303. package/dist/designer/data/systems/lamborghini/tokens.css +0 -64
  304. package/dist/designer/data/systems/levels/DESIGN.md +0 -71
  305. package/dist/designer/data/systems/levels/components.html +0 -154
  306. package/dist/designer/data/systems/levels/tokens.css +0 -63
  307. package/dist/designer/data/systems/linear-app/DESIGN.md +0 -370
  308. package/dist/designer/data/systems/linear-app/components.html +0 -370
  309. package/dist/designer/data/systems/linear-app/tokens.css +0 -130
  310. package/dist/designer/data/systems/lingo/DESIGN.md +0 -71
  311. package/dist/designer/data/systems/lingo/components.html +0 -154
  312. package/dist/designer/data/systems/lingo/tokens.css +0 -63
  313. package/dist/designer/data/systems/loom/DESIGN.md +0 -201
  314. package/dist/designer/data/systems/loom/components.html +0 -446
  315. package/dist/designer/data/systems/loom/tokens.css +0 -138
  316. package/dist/designer/data/systems/lovable/DESIGN.md +0 -301
  317. package/dist/designer/data/systems/lovable/components.html +0 -441
  318. package/dist/designer/data/systems/lovable/tokens.css +0 -258
  319. package/dist/designer/data/systems/luxury/DESIGN.md +0 -71
  320. package/dist/designer/data/systems/luxury/components.html +0 -154
  321. package/dist/designer/data/systems/luxury/tokens.css +0 -63
  322. package/dist/designer/data/systems/mastercard/DESIGN.md +0 -368
  323. package/dist/designer/data/systems/mastercard/components.html +0 -342
  324. package/dist/designer/data/systems/mastercard/tokens.css +0 -64
  325. package/dist/designer/data/systems/material/DESIGN.md +0 -71
  326. package/dist/designer/data/systems/material/components.html +0 -154
  327. package/dist/designer/data/systems/material/tokens.css +0 -63
  328. package/dist/designer/data/systems/meta/DESIGN.md +0 -369
  329. package/dist/designer/data/systems/meta/components.html +0 -398
  330. package/dist/designer/data/systems/meta/tokens.css +0 -263
  331. package/dist/designer/data/systems/minimal/DESIGN.md +0 -71
  332. package/dist/designer/data/systems/minimal/components.html +0 -154
  333. package/dist/designer/data/systems/minimal/tokens.css +0 -63
  334. package/dist/designer/data/systems/minimax/DESIGN.md +0 -260
  335. package/dist/designer/data/systems/minimax/components.html +0 -590
  336. package/dist/designer/data/systems/minimax/tokens.css +0 -148
  337. package/dist/designer/data/systems/mintlify/DESIGN.md +0 -329
  338. package/dist/designer/data/systems/mintlify/components.html +0 -737
  339. package/dist/designer/data/systems/mintlify/tokens.css +0 -256
  340. package/dist/designer/data/systems/miro/DESIGN.md +0 -111
  341. package/dist/designer/data/systems/miro/components.html +0 -342
  342. package/dist/designer/data/systems/miro/tokens.css +0 -64
  343. package/dist/designer/data/systems/mission-control/DESIGN.md +0 -474
  344. package/dist/designer/data/systems/mission-control/components.html +0 -136
  345. package/dist/designer/data/systems/mission-control/tokens.css +0 -63
  346. package/dist/designer/data/systems/mistral-ai/DESIGN.md +0 -264
  347. package/dist/designer/data/systems/mistral-ai/components.html +0 -338
  348. package/dist/designer/data/systems/mistral-ai/tokens.css +0 -125
  349. package/dist/designer/data/systems/modern/DESIGN.md +0 -71
  350. package/dist/designer/data/systems/modern/components.html +0 -154
  351. package/dist/designer/data/systems/modern/tokens.css +0 -63
  352. package/dist/designer/data/systems/mongodb/DESIGN.md +0 -269
  353. package/dist/designer/data/systems/mongodb/components.html +0 -462
  354. package/dist/designer/data/systems/mongodb/tokens.css +0 -176
  355. package/dist/designer/data/systems/mono/DESIGN.md +0 -71
  356. package/dist/designer/data/systems/mono/components.html +0 -136
  357. package/dist/designer/data/systems/mono/tokens.css +0 -63
  358. package/dist/designer/data/systems/neobrutalism/DESIGN.md +0 -71
  359. package/dist/designer/data/systems/neobrutalism/components.html +0 -136
  360. package/dist/designer/data/systems/neobrutalism/tokens.css +0 -63
  361. package/dist/designer/data/systems/neon/DESIGN.md +0 -71
  362. package/dist/designer/data/systems/neon/components.html +0 -136
  363. package/dist/designer/data/systems/neon/tokens.css +0 -63
  364. package/dist/designer/data/systems/neumorphism/DESIGN.md +0 -71
  365. package/dist/designer/data/systems/neumorphism/components.html +0 -136
  366. package/dist/designer/data/systems/neumorphism/tokens.css +0 -63
  367. package/dist/designer/data/systems/nike/DESIGN.md +0 -366
  368. package/dist/designer/data/systems/nike/components.html +0 -512
  369. package/dist/designer/data/systems/nike/tokens.css +0 -304
  370. package/dist/designer/data/systems/notion/DESIGN.md +0 -312
  371. package/dist/designer/data/systems/notion/components.html +0 -413
  372. package/dist/designer/data/systems/notion/tokens.css +0 -130
  373. package/dist/designer/data/systems/nvidia/DESIGN.md +0 -296
  374. package/dist/designer/data/systems/nvidia/components.html +0 -414
  375. package/dist/designer/data/systems/nvidia/tokens.css +0 -133
  376. package/dist/designer/data/systems/ollama/DESIGN.md +0 -270
  377. package/dist/designer/data/systems/ollama/components.html +0 -700
  378. package/dist/designer/data/systems/ollama/tokens.css +0 -242
  379. package/dist/designer/data/systems/openai/DESIGN.md +0 -140
  380. package/dist/designer/data/systems/openai/components.html +0 -382
  381. package/dist/designer/data/systems/openai/tokens.css +0 -133
  382. package/dist/designer/data/systems/opencode-ai/DESIGN.md +0 -284
  383. package/dist/designer/data/systems/opencode-ai/components.html +0 -389
  384. package/dist/designer/data/systems/opencode-ai/tokens.css +0 -126
  385. package/dist/designer/data/systems/pacman/DESIGN.md +0 -71
  386. package/dist/designer/data/systems/pacman/components.html +0 -342
  387. package/dist/designer/data/systems/pacman/tokens.css +0 -64
  388. package/dist/designer/data/systems/paper/DESIGN.md +0 -71
  389. package/dist/designer/data/systems/paper/components.html +0 -136
  390. package/dist/designer/data/systems/paper/tokens.css +0 -63
  391. package/dist/designer/data/systems/perplexity/DESIGN.md +0 -286
  392. package/dist/designer/data/systems/perplexity/components.html +0 -455
  393. package/dist/designer/data/systems/perplexity/tokens.css +0 -151
  394. package/dist/designer/data/systems/perspective/DESIGN.md +0 -71
  395. package/dist/designer/data/systems/perspective/components.html +0 -136
  396. package/dist/designer/data/systems/perspective/tokens.css +0 -63
  397. package/dist/designer/data/systems/pinterest/DESIGN.md +0 -233
  398. package/dist/designer/data/systems/pinterest/components.html +0 -865
  399. package/dist/designer/data/systems/pinterest/tokens.css +0 -262
  400. package/dist/designer/data/systems/playstation/DESIGN.md +0 -367
  401. package/dist/designer/data/systems/playstation/components.html +0 -414
  402. package/dist/designer/data/systems/playstation/tokens.css +0 -150
  403. package/dist/designer/data/systems/posthog/DESIGN.md +0 -259
  404. package/dist/designer/data/systems/posthog/components.html +0 -827
  405. package/dist/designer/data/systems/posthog/tokens.css +0 -272
  406. package/dist/designer/data/systems/premium/DESIGN.md +0 -71
  407. package/dist/designer/data/systems/premium/components.html +0 -154
  408. package/dist/designer/data/systems/premium/tokens.css +0 -63
  409. package/dist/designer/data/systems/professional/DESIGN.md +0 -71
  410. package/dist/designer/data/systems/professional/components.html +0 -136
  411. package/dist/designer/data/systems/professional/tokens.css +0 -63
  412. package/dist/designer/data/systems/publication/DESIGN.md +0 -71
  413. package/dist/designer/data/systems/publication/components.html +0 -154
  414. package/dist/designer/data/systems/publication/tokens.css +0 -63
  415. package/dist/designer/data/systems/raycast/DESIGN.md +0 -271
  416. package/dist/designer/data/systems/raycast/components.html +0 -507
  417. package/dist/designer/data/systems/raycast/tokens.css +0 -143
  418. package/dist/designer/data/systems/refined/DESIGN.md +0 -71
  419. package/dist/designer/data/systems/refined/components.html +0 -136
  420. package/dist/designer/data/systems/refined/tokens.css +0 -63
  421. package/dist/designer/data/systems/renault/DESIGN.md +0 -314
  422. package/dist/designer/data/systems/renault/components.html +0 -154
  423. package/dist/designer/data/systems/renault/tokens.css +0 -63
  424. package/dist/designer/data/systems/replicate/DESIGN.md +0 -264
  425. package/dist/designer/data/systems/replicate/components.html +0 -340
  426. package/dist/designer/data/systems/replicate/tokens.css +0 -125
  427. package/dist/designer/data/systems/resend/DESIGN.md +0 -306
  428. package/dist/designer/data/systems/resend/components.html +0 -839
  429. package/dist/designer/data/systems/resend/tokens.css +0 -353
  430. package/dist/designer/data/systems/retro/DESIGN.md +0 -71
  431. package/dist/designer/data/systems/retro/components.html +0 -136
  432. package/dist/designer/data/systems/retro/tokens.css +0 -63
  433. package/dist/designer/data/systems/revolut/DESIGN.md +0 -188
  434. package/dist/designer/data/systems/revolut/components.html +0 -342
  435. package/dist/designer/data/systems/revolut/tokens.css +0 -64
  436. package/dist/designer/data/systems/runwayml/DESIGN.md +0 -247
  437. package/dist/designer/data/systems/runwayml/components.html +0 -638
  438. package/dist/designer/data/systems/runwayml/tokens.css +0 -204
  439. package/dist/designer/data/systems/sanity/DESIGN.md +0 -360
  440. package/dist/designer/data/systems/sanity/components.html +0 -342
  441. package/dist/designer/data/systems/sanity/tokens.css +0 -64
  442. package/dist/designer/data/systems/sentry/DESIGN.md +0 -265
  443. package/dist/designer/data/systems/sentry/components.html +0 -387
  444. package/dist/designer/data/systems/sentry/tokens.css +0 -219
  445. package/dist/designer/data/systems/shadcn/DESIGN.md +0 -71
  446. package/dist/designer/data/systems/shadcn/components.html +0 -732
  447. package/dist/designer/data/systems/shadcn/tokens.css +0 -255
  448. package/dist/designer/data/systems/shopify/DESIGN.md +0 -353
  449. package/dist/designer/data/systems/shopify/components.html +0 -342
  450. package/dist/designer/data/systems/shopify/tokens.css +0 -141
  451. package/dist/designer/data/systems/simple/DESIGN.md +0 -71
  452. package/dist/designer/data/systems/simple/components.html +0 -136
  453. package/dist/designer/data/systems/simple/tokens.css +0 -63
  454. package/dist/designer/data/systems/skeumorphism/DESIGN.md +0 -71
  455. package/dist/designer/data/systems/skeumorphism/components.html +0 -136
  456. package/dist/designer/data/systems/skeumorphism/tokens.css +0 -63
  457. package/dist/designer/data/systems/slack/DESIGN.md +0 -363
  458. package/dist/designer/data/systems/slack/components.html +0 -387
  459. package/dist/designer/data/systems/slack/tokens.css +0 -127
  460. package/dist/designer/data/systems/sleek/DESIGN.md +0 -71
  461. package/dist/designer/data/systems/sleek/components.html +0 -136
  462. package/dist/designer/data/systems/sleek/tokens.css +0 -63
  463. package/dist/designer/data/systems/spacex/DESIGN.md +0 -197
  464. package/dist/designer/data/systems/spacex/components.html +0 -496
  465. package/dist/designer/data/systems/spacex/tokens.css +0 -154
  466. package/dist/designer/data/systems/spacious/DESIGN.md +0 -71
  467. package/dist/designer/data/systems/spacious/components.html +0 -136
  468. package/dist/designer/data/systems/spacious/tokens.css +0 -63
  469. package/dist/designer/data/systems/spotify/DESIGN.md +0 -249
  470. package/dist/designer/data/systems/spotify/components.html +0 -365
  471. package/dist/designer/data/systems/spotify/tokens.css +0 -127
  472. package/dist/designer/data/systems/starbucks/DESIGN.md +0 -583
  473. package/dist/designer/data/systems/starbucks/components.html +0 -493
  474. package/dist/designer/data/systems/starbucks/tokens.css +0 -182
  475. package/dist/designer/data/systems/storytelling/DESIGN.md +0 -71
  476. package/dist/designer/data/systems/storytelling/components.html +0 -136
  477. package/dist/designer/data/systems/storytelling/tokens.css +0 -63
  478. package/dist/designer/data/systems/stripe/DESIGN.md +0 -325
  479. package/dist/designer/data/systems/stripe/components.html +0 -1018
  480. package/dist/designer/data/systems/stripe/tokens.css +0 -295
  481. package/dist/designer/data/systems/supabase/DESIGN.md +0 -258
  482. package/dist/designer/data/systems/supabase/components.html +0 -741
  483. package/dist/designer/data/systems/supabase/tokens.css +0 -294
  484. package/dist/designer/data/systems/superhuman/DESIGN.md +0 -255
  485. package/dist/designer/data/systems/superhuman/components.html +0 -537
  486. package/dist/designer/data/systems/superhuman/tokens.css +0 -160
  487. package/dist/designer/data/systems/tesla/DESIGN.md +0 -289
  488. package/dist/designer/data/systems/tesla/components.html +0 -724
  489. package/dist/designer/data/systems/tesla/tokens.css +0 -285
  490. package/dist/designer/data/systems/tetris/DESIGN.md +0 -71
  491. package/dist/designer/data/systems/tetris/components.html +0 -342
  492. package/dist/designer/data/systems/tetris/tokens.css +0 -64
  493. package/dist/designer/data/systems/theverge/DESIGN.md +0 -342
  494. package/dist/designer/data/systems/theverge/components.html +0 -342
  495. package/dist/designer/data/systems/theverge/tokens.css +0 -64
  496. package/dist/designer/data/systems/together-ai/DESIGN.md +0 -266
  497. package/dist/designer/data/systems/together-ai/components.html +0 -422
  498. package/dist/designer/data/systems/together-ai/tokens.css +0 -127
  499. package/dist/designer/data/systems/totality-festival/DESIGN.md +0 -206
  500. package/dist/designer/data/systems/totality-festival/components.html +0 -136
  501. package/dist/designer/data/systems/totality-festival/tokens.css +0 -63
  502. package/dist/designer/data/systems/trading-terminal/DESIGN.md +0 -178
  503. package/dist/designer/data/systems/trading-terminal/components.html +0 -154
  504. package/dist/designer/data/systems/trading-terminal/tokens.css +0 -63
  505. package/dist/designer/data/systems/uber/DESIGN.md +0 -298
  506. package/dist/designer/data/systems/uber/components.html +0 -347
  507. package/dist/designer/data/systems/uber/tokens.css +0 -131
  508. package/dist/designer/data/systems/urdu/DESIGN.md +0 -1002
  509. package/dist/designer/data/systems/urdu/components.html +0 -136
  510. package/dist/designer/data/systems/urdu/tokens.css +0 -63
  511. package/dist/designer/data/systems/vercel/DESIGN.md +0 -313
  512. package/dist/designer/data/systems/vercel/components.html +0 -839
  513. package/dist/designer/data/systems/vercel/tokens.css +0 -270
  514. package/dist/designer/data/systems/vibrant/DESIGN.md +0 -71
  515. package/dist/designer/data/systems/vibrant/components.html +0 -136
  516. package/dist/designer/data/systems/vibrant/tokens.css +0 -63
  517. package/dist/designer/data/systems/vintage/DESIGN.md +0 -71
  518. package/dist/designer/data/systems/vintage/components.html +0 -136
  519. package/dist/designer/data/systems/vintage/tokens.css +0 -63
  520. package/dist/designer/data/systems/vodafone/DESIGN.md +0 -426
  521. package/dist/designer/data/systems/vodafone/components.html +0 -342
  522. package/dist/designer/data/systems/vodafone/tokens.css +0 -64
  523. package/dist/designer/data/systems/voltagent/DESIGN.md +0 -326
  524. package/dist/designer/data/systems/voltagent/components.html +0 -154
  525. package/dist/designer/data/systems/voltagent/tokens.css +0 -63
  526. package/dist/designer/data/systems/warm-editorial/DESIGN.md +0 -65
  527. package/dist/designer/data/systems/warm-editorial/components.html +0 -136
  528. package/dist/designer/data/systems/warm-editorial/tokens.css +0 -63
  529. package/dist/designer/data/systems/warp/DESIGN.md +0 -256
  530. package/dist/designer/data/systems/warp/components.html +0 -411
  531. package/dist/designer/data/systems/warp/tokens.css +0 -156
  532. package/dist/designer/data/systems/webex/DESIGN.md +0 -207
  533. package/dist/designer/data/systems/webex/components.html +0 -342
  534. package/dist/designer/data/systems/webex/tokens.css +0 -64
  535. package/dist/designer/data/systems/webflow/DESIGN.md +0 -95
  536. package/dist/designer/data/systems/webflow/components.html +0 -413
  537. package/dist/designer/data/systems/webflow/tokens.css +0 -191
  538. package/dist/designer/data/systems/wechat/DESIGN.md +0 -302
  539. package/dist/designer/data/systems/wechat/components.html +0 -507
  540. package/dist/designer/data/systems/wechat/tokens.css +0 -176
  541. package/dist/designer/data/systems/wired/DESIGN.md +0 -281
  542. package/dist/designer/data/systems/wired/components.html +0 -342
  543. package/dist/designer/data/systems/wired/tokens.css +0 -64
  544. package/dist/designer/data/systems/wise/DESIGN.md +0 -176
  545. package/dist/designer/data/systems/wise/components.html +0 -365
  546. package/dist/designer/data/systems/wise/tokens.css +0 -141
  547. package/dist/designer/data/systems/x-ai/DESIGN.md +0 -260
  548. package/dist/designer/data/systems/x-ai/components.html +0 -460
  549. package/dist/designer/data/systems/x-ai/tokens.css +0 -268
  550. package/dist/designer/data/systems/xiaohongshu/DESIGN.md +0 -402
  551. package/dist/designer/data/systems/xiaohongshu/components.html +0 -865
  552. package/dist/designer/data/systems/xiaohongshu/tokens.css +0 -193
  553. package/dist/designer/data/systems/zapier/DESIGN.md +0 -331
  554. package/dist/designer/data/systems/zapier/components.html +0 -342
  555. package/dist/designer/data/systems/zapier/tokens.css +0 -64
  556. package/dist/designer/guidelines.d.ts +0 -23
  557. package/dist/designer/guidelines.d.ts.map +0 -1
  558. package/dist/designer/guidelines.js +0 -176
  559. package/dist/designer/philosophies.d.ts +0 -33
  560. package/dist/designer/philosophies.d.ts.map +0 -1
  561. package/dist/designer/philosophies.js +0 -668
  562. package/dist/designer/skills.d.ts +0 -21
  563. package/dist/designer/skills.d.ts.map +0 -1
  564. package/dist/designer/skills.js +0 -34
  565. package/dist/designer/systems.d.ts +0 -36
  566. package/dist/designer/systems.d.ts.map +0 -1
  567. package/dist/designer/systems.js +0 -221
@@ -1,393 +0,0 @@
1
- # Design System Inspired by Airbnb
2
-
3
- > Category: E-Commerce & Retail
4
- > Travel marketplace. Warm coral accent, photography-driven, rounded UI.
5
-
6
- ## 1. Visual Theme & Atmosphere
7
-
8
- Airbnb's 2026 design feels like a travel magazine that happens to be an app — pristine white canvases give way to full-bleed photography, and the interface itself disappears so the listings can breathe. The signature Rausch coral-pink (`#ff385c`) is used sparingly but unmistakably: search CTA, active tab indicator, primary action button, the occasional price or wishlist heart. Everything else is a disciplined grayscale, with `#222222` carrying almost every line of text.
9
-
10
- What makes the system unmistakably Airbnb is how much *faith* it places in content. Property photos are displayed at hero scale, 4:3 with edge-to-edge radius treatment. Category switching happens through a tri-tab picker (Homes / Experiences / Services) that uses 3D rendered illustrated icons (a pitched-roof house, a hot-air balloon, a service bell) — physical, tactile, almost toy-like — paired with crisp `Airbnb Cereal VF` labels. This is the rare consumer product where 3D renders and purely typographic UI coexist without tension.
11
-
12
- The newest surface is the **Experiences** product line — same chrome, but richer card density, more photography, and a center-anchored booking panel with sticky right-rail pricing. Listing detail pages (both rooms and experiences) follow a tight template: full-bleed hero image grid → overlapping rounded booking card (sticky on scroll) → amenities → reviews (Guest Favorite awards use a big centered `4.81` rating with a laurel-wreath lockup) → map → host profile → disclosures. The rhythm is consistent whether you're booking a room or a yacht tour.
13
-
14
- **Key Characteristics:**
15
- - Rausch coral-pink (`#ff385c`) as a single-accent brand color, used only for primary CTAs and the search button
16
- - Full-bleed photography at 4:3 / 16:9 with gentle corner rounding (14–20px) as the primary visual vocabulary
17
- - 3D rendered category icons paired with typographic tabs — the one place the system allows illustration
18
- - Circular `50%` icon buttons (back arrow, share, favorite, carousel arrows) scattered throughout
19
- - `Airbnb Cereal VF` carries every label, from 8px legal footnote to 28px section heading — a single-family system
20
- - Product-tier color coding: Airbnb Plus (magenta `#92174d`), Airbnb Luxe (deep purple `#460479`), Airbnb (Rausch coral)
21
- - Guest Favorite award lockup — centered giant rating number between two laurel wreaths, one of the most recognizable moments in the system
22
- - Sticky booking panel with a price → dates → guests stack, pinned to the right rail on desktop, transforming to a bottom-anchored "Reserve" bar on mobile
23
- - Sticky bottom mobile navigation (Explore / Wishlists / Log in) with an active-state Rausch tint
24
-
25
- ## 2. Color Palette & Roles
26
-
27
- ### Primary
28
- - **Rausch** (`#ff385c`): The brand's signature coral-pink. CSS variable `--palette-bg-primary-core`. Used for: primary "Reserve" button, search submit button, active tab underline, wishlist heart fill, pricing emphasis. The single highest-visibility color on every page.
29
-
30
- ### Secondary & Accent
31
- - **Deep Rausch** (`#e00b41`): A more saturated variant. CSS variable `--palette-bg-tertiary-core`. Used for pressed/active button states and gradient terminal stops.
32
- - **Plus Magenta** (`#92174d`): CSS variable `--palette-bg-primary-plus`. The brand color for the Airbnb Plus product tier — a higher-end curated-listing offering.
33
- - **Luxe Purple** (`#460479`): CSS variable `--palette-bg-primary-luxe`. The brand color for the Airbnb Luxe product tier — villa/estate-level rentals.
34
- - **Info Blue** (`#428bff`): CSS variable `--palette-text-legal`. Used for legal/informational links (terms, privacy, disclosures) — the only non-monochrome link color in the system.
35
-
36
- ### Surface & Background
37
- - **Canvas White** (`#ffffff`): The default page background. Every card, every container, every detail page starts here.
38
- - **Soft Cloud** (`#f7f7f7`): Subtle subsurface tint used on footer backgrounds, map-view wrappers, and "everything else" sections that want to step back from the primary white.
39
- - **Hairline Gray** (`#dddddd`): Ubiquitous 1px border color — separates cards, amenity rows, review panels, footer columns. The workhorse of the layout system.
40
-
41
- ### Neutrals & Text
42
- - **Ink Black** (`#222222`): CSS variable `--palette-text-primary`. The system's near-black. Every heading, every body paragraph, every nav label, every price. Used for ~90% of all text on a page.
43
- - **Charcoal** (`#3f3f3f`): CSS variable `--palette-text-focused`. Used in focused-state input text and one-step-down emphasis copy.
44
- - **Ash Gray** (`#6a6a6a`): CSS variable `--palette-bg-tertiary-hover`. Secondary labels, "Cottage rentals" subtitle-style copy under city names, muted footer links.
45
- - **Mute Gray** (`#929292`): CSS variable `--palette-text-link-disabled`. Disabled buttons and low-priority metadata.
46
- - **Stone Gray** (`#c1c1c1`): Tertiary dividers, icon strokes, placeholder avatars.
47
-
48
- ### Semantic & Accent
49
- - **Error Red** (`#c13515`): CSS variable `--palette-text-primary-error`. Form validation errors, destructive-action warnings.
50
- - **Deep Error** (`#b32505`): CSS variable `--palette-text-secondary-error-hover`. Pressed/active variants of error states.
51
- - **Translucent Black** (`rgba(0, 0, 0, 0.24)`): CSS variable `--palette-text-material-disabled`. Disabled material-style labels.
52
-
53
- ### Gradient System
54
- Airbnb's brand gradient appears sparingly, typically only on the wordmark and the search-button branded moment:
55
-
56
- ```
57
- linear-gradient(90deg, #ff385c 0%, #e00b41 50%, #92174d 100%)
58
- ```
59
-
60
- This coral → magenta sweep is the "branded moment" — never used as a full surface, only as a narrow pill fill or logo treatment.
61
-
62
- ## 3. Typography Rules
63
-
64
- ### Font Family
65
- - **Airbnb Cereal VF** (primary and only): The proprietary variable-weight sans-serif that carries the entire system. Fallbacks (in order): `Circular, -apple-system, system-ui, Roboto, Helvetica Neue, sans-serif`.
66
-
67
- Weights observed in the extracted tokens: 500, 600, 700. No 400-regular — the system's "body" weight is 500, which gives every block of text a subtle extra density that reads as confident and deliberate.
68
-
69
- OpenType features: `salt` (stylistic alternates) is used on the compact 11px and 14px 600-weight labels — likely for tighter numerals and special-character shaping. No ligature or fractional-numeral features observed.
70
-
71
- ### Hierarchy
72
-
73
- | Role | Size | Weight | Line Height | Letter Spacing | Notes |
74
- |------|------|--------|-------------|----------------|-------|
75
- | Section Heading | 28px / 1.75rem | 700 | 1.43 | 0 | "Inspiration for future getaways" — page-level headings |
76
- | Subsection Heading | 22px / 1.38rem | 500 | 1.18 | -0.44px | "What this place offers", "Meet the hosts" — content dividers |
77
- | Card Title | 21px / 1.31rem | 700 | 1.43 | 0 | Review panel headings, card lead titles |
78
- | Listing Title | 20px / 1.25rem | 600 | 1.20 | -0.18px | "Small Group Yacht Tour, Unlimited Wine & Fruits" — listing headlines on detail pages |
79
- | Subtitle Bold | 16px / 1.00rem | 600 | 1.25 | 0 | Host name, city name |
80
- | Body Medium | 16px / 1.00rem | 500 | 1.25 | 0 | Primary body copy on detail pages |
81
- | Button Large | 16px / 1.00rem | 500 | 1.25 | 0 | "Reserve", "Become a host" |
82
- | Button Default | 14px / 0.88rem | 500 | 1.29 | 0 | Standard button labels |
83
- | Link | 14px / 0.88rem | 500 | 1.43 | 0 | Nav links, footer links |
84
- | Caption Medium | 14px / 0.88rem | 500 | 1.29 | 0 | Metadata, subtitle lines ("Cottage rentals", "Villa rentals") |
85
- | Caption Bold | 14px / 0.88rem | 600 | 1.43 | 0 | `salt` feature enabled — numeric stats, small-text emphasis |
86
- | Caption Small | 13px / 0.81rem | 400 | 1.23 | 0 | Review dates, micro-metadata |
87
- | Micro Default | 12px / 0.75rem | 400 | 1.33 | 0 | Footer disclaimers, legal micro-copy |
88
- | Micro Bold | 12px / 0.75rem | 700 | 1.33 | 0 | "NEW" pill labels |
89
- | Badge Uppercase | 11px / 0.69rem | 600 | 1.18 | 0 | `salt` feature — compact category/status badges |
90
- | Superscript | 8px / 0.50rem | 700 | 1.25 | 0.32px | Uppercase — price footnotes, decimal tails |
91
-
92
- ### Principles
93
- - **One family, many weights.** Airbnb Cereal VF handles everything from 8px legal to 28px page headings — the visual identity comes from the family itself, not from typeface mixing.
94
- - **500 is the new 400.** The system's "regular" weight is 500, giving every paragraph a slightly more confident texture than the web default.
95
- - **Negative tracking on display type only.** Headings 20px+ compress tracking by -0.18 to -0.44px to feel chiseled; body sizes stay at 0 tracking for readability.
96
- - **Tight line-heights for headlines, generous for body.** Display type runs at 1.18–1.25 (tight); body and caption open up to 1.43 for long-form comfort.
97
- - **No all-caps except at 8px.** The only uppercase transform in the system is the 8px superscript — everywhere else, sentence case with subtle weight shifts does the work.
98
-
99
- ### Note on Font Substitutes
100
- Airbnb Cereal VF is proprietary. The closest open-source substitute is **Circular Std** (still commercial) or **Inter** (free, Google Fonts) with letter-spacing reduced by -0.01em at display sizes. For strict brand fidelity, the documented fallback chain (`Circular, -apple-system, system-ui`) renders acceptably on macOS/iOS where `system-ui` resolves to San Francisco, which has similar proportions.
101
-
102
- ## 4. Component Stylings
103
-
104
- ### Buttons
105
-
106
- **Primary CTA** ("Reserve", "Search", "Add dates")
107
- - Background: Rausch `#ff385c`
108
- - Text: Canvas White `#ffffff`, Airbnb Cereal 500, 16px
109
- - Padding: ~14px vertical, 24px horizontal
110
- - Radius: 8px (rectangular) or 50% (circular icon variant)
111
- - Border: none
112
- - Active/pressed: `transform: scale(0.92)` plus a 2px `#222222` focus ring at `0 0 0 2px`
113
-
114
- **Secondary Button** ("Become a host", outlined tertiary actions)
115
- - Background: `#ffffff`
116
- - Text: Ink Black `#222222`, Airbnb Cereal 500, 14–16px
117
- - Padding: 10px 16px
118
- - Radius: 20px (pill) or 8px (rectangular)
119
- - Border: 1px solid Hairline Gray `#dddddd`
120
-
121
- **Icon-Only Circular Button** (back arrow, share, favorite, carousel controls)
122
- - Background: `#f2f2f2` (slightly off-white) or white with 1px translucent black border
123
- - Icon: `#222222` outline stroke, 16–20px
124
- - Size: 32–44px diameter
125
- - Radius: 50%
126
- - Active/pressed: `transform: scale(0.92)`; subtle 4px white ring `0 0 0 4px rgb(255,255,255)` to separate from colorful photography backgrounds
127
-
128
- **Disabled Button**
129
- - Background: `#f2f2f2`
130
- - Text: Stone Gray `#c1c1c1`
131
- - Opacity: 0.5
132
-
133
- **Pill Tab Button** (category selector "Homes / Experiences / Services")
134
- - Background: transparent
135
- - Text: Ink Black `#222222`, Airbnb Cereal 500, 16px
136
- - Padding: 8px 14px
137
- - Active state: 2px Ink Black underline beneath the label
138
- - Paired with a 36–48px 3D-rendered illustrated icon above the label
139
-
140
- ### Cards & Containers
141
-
142
- **Listing Card** (homepage grid, search results)
143
- - Background: `#ffffff`
144
- - Radius: 14px on the image, text sits directly below on transparent background
145
- - Image: 4:3 aspect ratio, full-bleed, rounded with the same 14px radius
146
- - Padding: none on the outer container; 12px spacing between image and metadata rows
147
- - Shadow: none — separation comes from whitespace and the intrinsic radius of the photograph
148
- - Metadata pattern: City/region on line 1 (16px 600), distance/duration on line 2 (14px 500 Ash Gray), date range on line 3, price row with "per night" at the bottom
149
-
150
- **Detail Page Booking Panel** (sticky right rail on room/experience pages)
151
- - Background: `#ffffff`
152
- - Radius: 14–20px
153
- - Border: 1px solid Hairline Gray `#dddddd`
154
- - Shadow: `rgba(0, 0, 0, 0.02) 0 0 0 1px, rgba(0, 0, 0, 0.04) 0 2px 6px 0, rgba(0, 0, 0, 0.1) 0 4px 8px 0` — a stacked three-layer subtle elevation
155
- - Padding: 24px
156
- - Width: ~370px, pinned 120–140px below the viewport top
157
- - Content: price headline → date picker → guest dropdown → primary CTA → "You won't be charged yet" footnote
158
-
159
- **Amenity Grid Card** (on listing detail pages)
160
- - Background: `#ffffff`
161
- - Border: 1px solid Hairline Gray `#dddddd` at the row level (not per item)
162
- - Padding: 16px vertical per amenity row
163
- - Icon + label pattern: 24px outline icon on the left, 16px 500-weight label on the right
164
-
165
- **Review Card** (individual review on detail pages)
166
- - Background: `#ffffff`, no border
167
- - Padding: 0 (relies on grid gaps)
168
- - Content: 40px circular avatar + 16px 600-weight name + 14px 400 Ash Gray date on one row, then 14px 500 body paragraph below
169
-
170
- ### Inputs & Forms
171
-
172
- **Search Bar** (primary home page)
173
- - Background: `#ffffff`
174
- - Border: 1px solid Hairline Gray `#dddddd` wrapping all three segments (Where / When / Who)
175
- - Radius: 32px (full pill)
176
- - Shadow: `rgba(0, 0, 0, 0.04) 0 2px 6px 0` — subtle floating feel
177
- - Structure: three segments divided by thin vertical dividers, each segment has a 12px 500 label above a 14px 500 placeholder
178
- - Submit: Rausch circular icon button at the right edge, 48px diameter
179
-
180
- **Text Input** (generic forms)
181
- - Background: `#ffffff`
182
- - Border: 1px solid Hairline Gray `#dddddd`
183
- - Radius: 8px
184
- - Padding: 14px 16px
185
- - Focus: border switches to Ink Black, adds `0 0 0 2px` black outer ring
186
- - Error: border switches to `#c13515` (Error Red), helper text uses same color
187
-
188
- **Date Picker**
189
- - Calendar grid: 7-column layout, circular `50%` day cells 40–44px wide
190
- - Selected range: Ink Black `#222222` background with white numerals
191
- - Start/end anchors: larger filled circles; middle dates use Soft Cloud `#f7f7f7` tint
192
-
193
- ### Navigation
194
-
195
- **Top Nav (Desktop)**
196
- - Height: ~80px
197
- - Background: `#ffffff`
198
- - Left: Airbnb wordmark+logo lockup in Rausch (102×32px)
199
- - Center: tri-tab category picker (Homes / Experiences / Services) with 36–48px 3D icons stacked above 16px 500 labels; active tab has a 2px Ink Black underline
200
- - Right: "Become a host" text link, then 32px circular globe (language), then 36px hamburger avatar menu
201
- - Border-bottom: 1px solid Hairline Gray `#dddddd`
202
-
203
- **Top Nav (Mobile)**
204
- - Single-row search pill occupies full width: "Start your search" placeholder with a small magnifier icon
205
- - Below: tri-tab category picker persists (Homes / Experiences / Services) — illustrated icons shrink to ~28px
206
- - Bottom-fixed tab bar: Explore (active state Rausch) / Wishlists / Log in — 24px icons above 12px labels
207
-
208
- **Listing Detail Secondary Nav**
209
- - Sticky horizontal scroll of anchor links (Photos · Amenities · Reviews · Location · Host) appears on scroll past the hero image
210
- - Height: 56px
211
- - Border-bottom: 1px solid Hairline Gray
212
-
213
- ### Image Treatment
214
-
215
- - **Primary aspect ratios**: 4:3 for homepage listing grids, 16:9 for experience hero photography, 1:1 for avatars
216
- - **Radius**: 14px on listing-grid images, 20px on detail-page hero photo frames, `50%` on avatars
217
- - **Image grid on detail pages**: five-photo grid with a single large-left image (50% width) and four smaller photos in a 2×2 grid on the right, all sharing the 20px outer rounded container
218
- - **Lazy loading**: heavy use of `loading="lazy"` with blurred placeholder previews
219
- - **Carousel**: circular 32px arrow buttons overlay the image, centered vertically; dot indicators sit 12px above the bottom edge
220
-
221
- ### Signature Components
222
-
223
- **Guest Favorite Award Lockup** (featured prominently on high-rated listing detail pages)
224
- - Centered rating number rendered at 44–56px 700-weight
225
- - Two hand-drawn laurel-wreath SVG illustrations flanking left and right at ~48px tall
226
- - Below: "Guest Favorite" label at 12px 700 uppercase with `0.32px` tracking, and a short sub-label at 14px 500 Ash Gray
227
- - Full-width block, no container border — sits directly on white canvas
228
-
229
- **Tri-Tab Category Picker** (appears at the top of every browse surface)
230
- - Three tabs: Homes / Experiences / Services
231
- - Each tab: 3D-rendered illustrated icon (~48px tall) above 16px 500 label
232
- - Experiences and Services currently carry a small navy-blue "NEW" pill (12px 700 white text on dark blue) floating top-right of the icon
233
- - Active tab: 2px Ink Black underline beneath the label
234
-
235
- **Inspiration City Grid** (homepage "Inspiration for future getaways")
236
- - 6-column grid of destination links on desktop, 2-column on mobile
237
- - Each cell: 16px 600 city name on line 1, 14px 500 Ash Gray rental-type subtitle on line 2 ("Cottage rentals", "Villa rentals")
238
- - No images — text-only grid
239
- - Tabbed above by category (Popular / Arts & culture / Beach / Mountains / Outdoors / Things to do / Travel tips & inspiration / Airbnb-friendly apartments) — active tab has 2px underline and weight shift
240
-
241
- **Reserve Sticky Card** (listing detail pages)
242
- - Stays fixed 120px below viewport top on desktop as the user scrolls past the hero
243
- - Collapses to a full-width bottom bar on mobile with a "From $X / night" label and a Rausch "Reserve" pill
244
- - Always shows: price headline → date display → guest selector → Rausch CTA → "You won't be charged yet" disclaimer
245
-
246
- **Experience Host Card** (experience detail pages)
247
- - Full-width rounded container with a 3:2 cover photograph at top
248
- - Host avatar (circular, 56px) overlapping the bottom edge of the cover by 50%
249
- - Below overlap: host name at 16px 700, host tenure at 14px 500 Ash Gray, small Rausch "Message host" pill button
250
- - Used as the transition between reviews and the amenities/location block
251
-
252
- **"Things to know" Strip** (listing detail pages)
253
- - 3-column grid of rule/policy blocks (House rules, Safety & property, Cancellation policy)
254
- - Each column: icon at the top, 16px 600 heading, 14px 500 Ash Gray body, "Show more" link in Ink Black underline
255
- - Separator: 1px Hairline Gray top and bottom borders on the overall strip
256
-
257
- ## 5. Layout Principles
258
-
259
- ### Spacing System
260
- - **Base unit**: 8px
261
- - **Extracted scale**: 2, 3, 4, 5.5, 6, 8, 10, 11, 12, 15, 16, 18.5, 22, 24, 32px — fine-grained with a handful of off-grid values used for pixel-perfect icon alignment
262
- - **Section padding**: ~48–64px top/bottom on desktop, 24–32px on mobile
263
- - **Card internal padding**: 24px on booking panels and large cards, 16px on amenity rows, 12px on listing-card metadata
264
- - **Gutter between listing cards**: 24px desktop, 16px mobile
265
- - **Between stacked text rows**: 4–8px (very tight — reinforces the "dense information" feel of travel listings)
266
-
267
- ### Grid & Container
268
- - **Max content width**: 1760–1920px on ultra-wide (Airbnb lets the grid breathe farther than most sites); 1280px on most detail pages
269
- - **Homepage listing grid**: 6 columns at ≥1760px, 5 at ≥1440px, 4 at ≥1128px, 3 at ≥800px, 2 at ≥550px, 1 below
270
- - **Detail page**: 2-column asymmetric — main content ~58%, sticky booking panel ~36% on the right, ~6% gutter
271
- - **Footer**: 3-column Support / Hosting / Airbnb
272
-
273
- ### Whitespace Philosophy
274
- Airbnb is densely informative but never cramped. Whitespace is used to *group* — listing cards have 24px of gutter so each photograph reads as a distinct object, but the metadata under each card uses 4–8px gaps so the price/city/date feels like a single unit. The detail-page booking panel has 24px internal padding, but rows within (date picker, guest selector, CTA) are stacked at 12px — the boundary between the card and the page does more separation work than the content within.
275
-
276
- ### Border Radius Scale
277
- | Radius | Use |
278
- |--------|-----|
279
- | 4px | Inline anchor tags, tag chips |
280
- | 8px | Text buttons, dropdowns, small utility buttons |
281
- | 14px | Listing card photography, generic content containers, badges |
282
- | 20px | Primary rounded buttons (pill shape), large images, booking panel |
283
- | 32px | Search bar pill, extra-large containers |
284
- | 50% | All circular icon buttons, all avatars, wishlist hearts — the system's signature round geometry |
285
-
286
- ## 6. Depth & Elevation
287
-
288
- | Level | Treatment | Use |
289
- |-------|-----------|-----|
290
- | 0 | No shadow | Listing cards, body content, text-only sections |
291
- | 1 | `rgba(0, 0, 0, 0.08) 0 4px 12px` | Active/pressed icon buttons (e.g., back, share, favorite) — subtle lift to indicate interaction |
292
- | 2 | `rgba(0, 0, 0, 0.02) 0 0 0 1px, rgba(0, 0, 0, 0.04) 0 2px 6px 0, rgba(0, 0, 0, 0.1) 0 4px 8px 0` | Booking panel sticky card, modals, dropdown menus — the system's signature three-layer elevation |
293
- | Focus Ring | `0 0 0 2px #222222` | Active-state buttons, focused search input |
294
- | White Separator Ring | `rgb(255, 255, 255) 0 0 0 4px` | Circular buttons overlaid on photographs — a 4px white ring cleanly separates the button from colorful image backgrounds |
295
-
296
- Shadow philosophy: Airbnb uses **stacked layered shadows** rather than a single drop. The three-layer booking-panel shadow reads as one cohesive lift but is actually three separate shadows at different opacity/blur values — creating subtle anti-aliasing at the shadow's perimeter that feels premium without being heavy.
297
-
298
- ### Decorative Depth
299
- - **Photography as depth**: the system relies heavily on full-bleed photography to create visual depth; shadows and gradients are used sparingly so the photographs do the heavy lifting
300
- - **Laurel wreath lockup**: the Guest Favorite award uses two SVG laurel illustrations that give the otherwise-flat rating number a ceremonial, trophy-like presence
301
- - **3D rendered category icons**: Homes/Experiences/Services icons have their own soft internal lighting and subtle cast shadows baked into the artwork — the only place the brand allows "dimensional" illustration
302
-
303
- ## 7. Do's and Don'ts
304
-
305
- ### Do
306
- - Reserve Rausch `#ff385c` for primary actions and the active-tab indicator — never dilute it with decorative uses.
307
- - Let photography breathe — 4:3 crops with 14–20px rounded corners, no overlaid text, no gradient scrims.
308
- - Use Ink Black `#222222` for every text layer below Rausch — this is the system's near-black, never true `#000000`.
309
- - Pair the tri-tab category picker's 3D illustrated icons with flat typography — don't mix illustration styles within a single surface.
310
- - Stack three low-opacity shadows (~2%, 4%, 10%) to create the signature booking-panel elevation.
311
- - Use Hairline Gray `#dddddd` 1px borders for every card-to-card and row-to-row divider.
312
- - Treat the booking panel as sticky on desktop, collapsing to a bottom-anchored reserve bar on mobile.
313
- - Use 4–8px spacing within metadata groups and 24px between cards — information density is intentional.
314
-
315
- ### Don't
316
- - Don't introduce secondary accent colors outside the Rausch / Plus Magenta / Luxe Purple product-tier palette.
317
- - Don't place text inside photographs — captions always sit below the image, never overlaid.
318
- - Don't use all-caps labels except the single 8px superscript role.
319
- - Don't round icon buttons to anything other than 50% — circular is the system's signature geometry.
320
- - Don't add drop shadows to listing cards — they sit on white canvas with no elevation.
321
- - Don't use gradient backgrounds — the only gradient in the system is a narrow Rausch → magenta sweep on the wordmark.
322
- - Don't use the 400-regular font weight — Airbnb Cereal's body weight is 500.
323
- - Don't override Airbnb Cereal VF with a different display face — the system is intentionally single-family.
324
-
325
- ## 8. Responsive Behavior
326
-
327
- ### Breakpoints
328
-
329
- Airbnb declares ~60 breakpoints (design-time artifact from their component library), but the meaningful layout shifts happen at a much smaller set:
330
-
331
- | Name | Width | Key Changes |
332
- |------|-------|-------------|
333
- | Ultra-wide | ≥1760px | 6-column listing grid, 1760–1920px max content width |
334
- | Desktop XL | 1440–1759px | 5-column grid, full nav visible, sticky right-rail booking panel |
335
- | Desktop | 1128–1439px | 4-column grid, sticky booking panel persists |
336
- | Laptop | 1024–1127px | 3–4 column grid, category nav remains horizontal |
337
- | Tablet | 800–1023px | 3-column grid, global search may collapse to a single-row pill |
338
- | Small tablet | 550–799px | 2-column grid, booking panel drops to full-width inline block |
339
- | Mobile | 375–549px | 1-column stacked layout, bottom-fixed tab bar appears (Explore / Wishlists / Log in) |
340
- | Small mobile | <375px | Edge padding tightens to 16px; category-picker icons shrink to ~28px |
341
-
342
- ### Touch Targets
343
- All interactive elements meet or exceed 44×44px. The circular icon button family is specifically sized 32–44px with 8–12px extended hit-area padding. The Rausch primary Reserve button is ~48px tall. The tri-tab category picker's hit area is the full label-plus-icon rectangle (typically ~64×80px per tab).
344
-
345
- ### Collapsing Strategy
346
- - **Nav**: Top nav keeps Airbnb wordmark + tri-tab picker on tablet and above; on mobile the picker slides just below the search pill, and the globe/avatar controls move to a bottom-anchored tab bar.
347
- - **Search bar**: Three-segment pill (Where / When / Who) with a Rausch circular submit button on desktop; collapses to a single-row "Start your search" pill on mobile, tapping which opens a full-screen search sheet.
348
- - **Booking panel**: Sticky right-rail on ≥1128px; inline within the main content column between 800–1127px; bottom-fixed "Reserve" pill on <800px.
349
- - **Listing grid**: Reflows 6 → 5 → 4 → 3 → 2 → 1 columns across breakpoints.
350
- - **Detail-page image grid**: Five-image layout (1 large + 4 small) on desktop; becomes a swipeable full-bleed carousel on mobile with page-dot indicators.
351
- - **Footer**: 3-column layout collapses to stacked single-column at <800px.
352
-
353
- ### Image Behavior
354
- - `loading="lazy"` universal, with blurred `im_w=` URL-parameterized preview thumbs served first
355
- - Responsive images use Airbnb's `muscache.com` CDN with `im_w` query parameter for width-based delivery (`im_w=240`, `im_w=720`, `im_w=1200`, `im_w=2400`)
356
- - No art-direction crops — the same image is scaled up/down across breakpoints
357
- - Carousels auto-advance photo height to maintain a consistent 4:3 ratio regardless of source aspect
358
-
359
- ## 9. Agent Prompt Guide
360
-
361
- ### Quick Color Reference
362
- - Primary CTA: "Rausch (#ff385c)"
363
- - Page background: "Canvas White (#ffffff)"
364
- - Subsurface: "Soft Cloud (#f7f7f7)"
365
- - Heading / body text: "Ink Black (#222222)"
366
- - Secondary text: "Ash Gray (#6a6a6a)"
367
- - Border / divider: "Hairline Gray (#dddddd)"
368
- - Error: "Error Red (#c13515)"
369
- - Info link: "Info Blue (#428bff)"
370
- - Luxe tier accent: "Luxe Purple (#460479)"
371
- - Plus tier accent: "Plus Magenta (#92174d)"
372
-
373
- ### Example Component Prompts
374
- - "Create a primary Reserve button: Rausch (#ff385c) background, white Airbnb Cereal 500-weight label at 16px, 14px × 24px padding, 8px border-radius, no shadow. On active/pressed add `transform: scale(0.92)` with a 2px Ink Black focus ring (`0 0 0 2px #222222`)."
375
- - "Build a listing card with a 4:3 full-bleed photograph at 14px border-radius, no container shadow; below the image stack three text rows with 4px gaps: city name at 16px 600 Ink Black, rental type at 14px 500 Ash Gray (#6a6a6a), and price range in 16px 500 Ink Black with a 14px `per night` suffix."
376
- - "Design a sticky booking panel: white background, 14px border-radius, 1px Hairline Gray (#dddddd) border, 3-layer elevation shadow (`rgba(0,0,0,0.02) 0 0 0 1px, rgba(0,0,0,0.04) 0 2px 6px 0, rgba(0,0,0,0.1) 0 4px 8px 0`), 24px padding, 370px width, pinned 120px below viewport top on desktop. Contents: price headline, date picker, guest dropdown, Rausch primary CTA, and a 12px Ash Gray `You won't be charged yet` disclaimer."
377
- - "Create a tri-tab category picker: three equal-width tabs labeled Homes, Experiences, Services; each tab has a ~48px 3D-rendered illustrated icon (house, balloon, bell) above a 16px 500 Ink Black label; active tab gets a 2px Ink Black underline; add a small 12px 700 white `NEW` pill on a dark navy background to the top-right of the Experiences and Services icons."
378
- - "Render the Guest Favorite award lockup: a centered rating number at 52px 700-weight Ink Black, flanked left and right by hand-drawn SVG laurel wreaths at ~48px tall; below, a 12px 700 uppercase `GUEST FAVORITE` label with 0.32px tracking; sub-label at 14px 500 Ash Gray; full-width block sitting directly on white canvas with no container border."
379
-
380
- ### Iteration Guide
381
- When refining existing screens generated with this design system:
382
- 1. Focus on ONE component at a time.
383
- 2. Reference specific color names and hex codes from this document (e.g., "Ink Black #222222", not "dark gray").
384
- 3. Use natural language descriptions alongside measurements ("subtle three-layer elevation" rather than a long shadow string).
385
- 4. Describe the desired "feel" ("magazine-like, photography-first" vs "dense utility").
386
- 5. Always default to Airbnb Cereal VF 500-weight for body and 600–700 for emphasis — never 400.
387
- 6. Keep Rausch pink scarce — if more than one Rausch-colored element appears per viewport, consider whether one should be neutralized.
388
-
389
- ### Known Gaps
390
- - **Homepage listing grid cards**: the main property-card grid (the primary visual surface of airbnb.com) was not fully captured in the extracted homepage screenshots — content loaded only partially. Listing Card specs above are inferred from the Inspiration grid structure and Airbnb's broader conventions; confirm exact aspect ratios and metadata hierarchy against the live site before production use.
391
- - **Experiences category icons**: the 3D illustrated icons for Homes / Experiences / Services are served as raster assets; their exact source-file specifications (SVG vs PNG, rendered pixel dimensions) are not documented here.
392
- - **Animation and transition timings**: not captured — static extraction scope.
393
- - **Dark mode**: Airbnb does not ship a native dark mode in the extracted product surfaces; this document describes the single light-mode theme only.