@aexol/spectral 0.9.269 → 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 (573) 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/extensions/dataset-uploader/cleaner.js +1 -1
  14. package/dist/extensions/dataset-uploader/scrubber.d.ts +2 -0
  15. package/dist/extensions/dataset-uploader/scrubber.d.ts.map +1 -1
  16. package/dist/extensions/dataset-uploader/scrubber.js +30 -1
  17. package/dist/generated/zeus/index.d.ts +0 -4
  18. package/dist/generated/zeus/index.d.ts.map +1 -1
  19. package/dist/memory/debug-log.d.ts.map +1 -1
  20. package/dist/memory/debug-log.js +20 -2
  21. package/dist/memory/tools/compact-context.d.ts +1 -1
  22. package/dist/memory/tools/compact-context.d.ts.map +1 -1
  23. package/dist/memory/tools/compact-context.js +4 -1
  24. package/dist/memory/tools/recall-observation.d.ts +3 -3
  25. package/dist/memory/tools/recall-observation.d.ts.map +1 -1
  26. package/dist/memory/tools/recall-observation.js +4 -1
  27. package/dist/memory/tools/receive-agent-observations.d.ts +3 -3
  28. package/dist/memory/tools/receive-agent-observations.d.ts.map +1 -1
  29. package/dist/memory/tools/receive-agent-observations.js +4 -1
  30. package/dist/memory/tools/share-project-observation.d.ts +3 -3
  31. package/dist/memory/tools/share-project-observation.d.ts.map +1 -1
  32. package/dist/memory/tools/share-project-observation.js +4 -1
  33. package/dist/memory/tools/write-project-observation.d.ts +3 -3
  34. package/dist/memory/tools/write-project-observation.d.ts.map +1 -1
  35. package/dist/memory/tools/write-project-observation.js +4 -1
  36. package/dist/relay/client.d.ts.map +1 -1
  37. package/dist/relay/client.js +5 -2
  38. package/dist/sdk/ai/env-api-keys.js +1 -1
  39. package/dist/sdk/coding-agent/core/extensions/loader.d.ts.map +1 -1
  40. package/dist/sdk/coding-agent/core/extensions/loader.js +31 -3
  41. package/dist/sdk/coding-agent/core/theme.js +1 -1
  42. package/dist/server/handlers/agent-settings.d.ts.map +1 -1
  43. package/dist/server/handlers/agent-settings.js +4 -1
  44. package/dist/server/handlers/settings-lock.d.ts.map +1 -1
  45. package/dist/server/handlers/settings-lock.js +4 -1
  46. package/dist/server/storage.d.ts.map +1 -1
  47. package/dist/server/storage.js +13 -1
  48. package/dist/utils/serve-state.d.ts +17 -0
  49. package/dist/utils/serve-state.d.ts.map +1 -1
  50. package/dist/utils/serve-state.js +73 -0
  51. package/package.json +1 -1
  52. package/dist/designer/data/skills/blog-post.d.ts +0 -3
  53. package/dist/designer/data/skills/blog-post.d.ts.map +0 -1
  54. package/dist/designer/data/skills/blog-post.js +0 -84
  55. package/dist/designer/data/skills/blog-post.ts +0 -87
  56. package/dist/designer/data/skills/critique.d.ts +0 -3
  57. package/dist/designer/data/skills/critique.d.ts.map +0 -1
  58. package/dist/designer/data/skills/critique.js +0 -109
  59. package/dist/designer/data/skills/critique.ts +0 -112
  60. package/dist/designer/data/skills/dashboard.d.ts +0 -3
  61. package/dist/designer/data/skills/dashboard.d.ts.map +0 -1
  62. package/dist/designer/data/skills/dashboard.js +0 -165
  63. package/dist/designer/data/skills/dashboard.ts +0 -168
  64. package/dist/designer/data/skills/design-brief.d.ts +0 -3
  65. package/dist/designer/data/skills/design-brief.d.ts.map +0 -1
  66. package/dist/designer/data/skills/design-brief.js +0 -141
  67. package/dist/designer/data/skills/design-brief.ts +0 -144
  68. package/dist/designer/data/skills/design-skill.d.ts +0 -10
  69. package/dist/designer/data/skills/design-skill.d.ts.map +0 -1
  70. package/dist/designer/data/skills/design-skill.js +0 -1
  71. package/dist/designer/data/skills/design-skill.ts +0 -9
  72. package/dist/designer/data/skills/docs-page.d.ts +0 -3
  73. package/dist/designer/data/skills/docs-page.d.ts.map +0 -1
  74. package/dist/designer/data/skills/docs-page.js +0 -68
  75. package/dist/designer/data/skills/docs-page.ts +0 -71
  76. package/dist/designer/data/skills/index.d.ts +0 -3
  77. package/dist/designer/data/skills/index.d.ts.map +0 -1
  78. package/dist/designer/data/skills/index.js +0 -28
  79. package/dist/designer/data/skills/index.ts +0 -30
  80. package/dist/designer/data/skills/magazine-poster.d.ts +0 -3
  81. package/dist/designer/data/skills/magazine-poster.d.ts.map +0 -1
  82. package/dist/designer/data/skills/magazine-poster.js +0 -70
  83. package/dist/designer/data/skills/magazine-poster.ts +0 -73
  84. package/dist/designer/data/skills/mobile-app.d.ts +0 -3
  85. package/dist/designer/data/skills/mobile-app.d.ts.map +0 -1
  86. package/dist/designer/data/skills/mobile-app.js +0 -229
  87. package/dist/designer/data/skills/mobile-app.ts +0 -232
  88. package/dist/designer/data/skills/motion-frames.d.ts +0 -3
  89. package/dist/designer/data/skills/motion-frames.d.ts.map +0 -1
  90. package/dist/designer/data/skills/motion-frames.js +0 -121
  91. package/dist/designer/data/skills/motion-frames.ts +0 -124
  92. package/dist/designer/data/skills/pricing-page.d.ts +0 -3
  93. package/dist/designer/data/skills/pricing-page.d.ts.map +0 -1
  94. package/dist/designer/data/skills/pricing-page.js +0 -76
  95. package/dist/designer/data/skills/pricing-page.ts +0 -79
  96. package/dist/designer/data/skills/saas-landing.d.ts +0 -3
  97. package/dist/designer/data/skills/saas-landing.d.ts.map +0 -1
  98. package/dist/designer/data/skills/saas-landing.js +0 -71
  99. package/dist/designer/data/skills/saas-landing.ts +0 -74
  100. package/dist/designer/data/skills/slide-deck.d.ts +0 -3
  101. package/dist/designer/data/skills/slide-deck.d.ts.map +0 -1
  102. package/dist/designer/data/skills/slide-deck.js +0 -213
  103. package/dist/designer/data/skills/slide-deck.ts +0 -216
  104. package/dist/designer/data/skills/social-carousel.d.ts +0 -3
  105. package/dist/designer/data/skills/social-carousel.d.ts.map +0 -1
  106. package/dist/designer/data/skills/social-carousel.js +0 -135
  107. package/dist/designer/data/skills/social-carousel.ts +0 -138
  108. package/dist/designer/data/skills/web-prototype.d.ts +0 -3
  109. package/dist/designer/data/skills/web-prototype.d.ts.map +0 -1
  110. package/dist/designer/data/skills/web-prototype.js +0 -159
  111. package/dist/designer/data/skills/web-prototype.ts +0 -162
  112. package/dist/designer/data/systems/agentic/DESIGN.md +0 -71
  113. package/dist/designer/data/systems/agentic/components.html +0 -154
  114. package/dist/designer/data/systems/agentic/tokens.css +0 -63
  115. package/dist/designer/data/systems/airbnb/DESIGN.md +0 -393
  116. package/dist/designer/data/systems/airbnb/components.html +0 -1373
  117. package/dist/designer/data/systems/airbnb/tokens.css +0 -261
  118. package/dist/designer/data/systems/airtable/DESIGN.md +0 -92
  119. package/dist/designer/data/systems/airtable/components.html +0 -489
  120. package/dist/designer/data/systems/airtable/tokens.css +0 -261
  121. package/dist/designer/data/systems/ant/DESIGN.md +0 -71
  122. package/dist/designer/data/systems/ant/components.html +0 -154
  123. package/dist/designer/data/systems/ant/tokens.css +0 -63
  124. package/dist/designer/data/systems/apple/DESIGN.md +0 -250
  125. package/dist/designer/data/systems/apple/components.html +0 -749
  126. package/dist/designer/data/systems/apple/tokens.css +0 -286
  127. package/dist/designer/data/systems/application/DESIGN.md +0 -71
  128. package/dist/designer/data/systems/application/components.html +0 -154
  129. package/dist/designer/data/systems/application/tokens.css +0 -63
  130. package/dist/designer/data/systems/arc/DESIGN.md +0 -152
  131. package/dist/designer/data/systems/arc/components.html +0 -432
  132. package/dist/designer/data/systems/arc/tokens.css +0 -137
  133. package/dist/designer/data/systems/artistic/DESIGN.md +0 -71
  134. package/dist/designer/data/systems/artistic/components.html +0 -136
  135. package/dist/designer/data/systems/artistic/tokens.css +0 -63
  136. package/dist/designer/data/systems/atelier-zero/DESIGN.md +0 -316
  137. package/dist/designer/data/systems/atelier-zero/components.html +0 -136
  138. package/dist/designer/data/systems/atelier-zero/tokens.css +0 -63
  139. package/dist/designer/data/systems/bento/DESIGN.md +0 -71
  140. package/dist/designer/data/systems/bento/components.html +0 -136
  141. package/dist/designer/data/systems/bento/tokens.css +0 -63
  142. package/dist/designer/data/systems/binance/DESIGN.md +0 -348
  143. package/dist/designer/data/systems/binance/components.html +0 -550
  144. package/dist/designer/data/systems/binance/tokens.css +0 -255
  145. package/dist/designer/data/systems/bmw/DESIGN.md +0 -183
  146. package/dist/designer/data/systems/bmw/components.html +0 -551
  147. package/dist/designer/data/systems/bmw/tokens.css +0 -179
  148. package/dist/designer/data/systems/bmw-m/DESIGN.md +0 -246
  149. package/dist/designer/data/systems/bmw-m/components.html +0 -342
  150. package/dist/designer/data/systems/bmw-m/tokens.css +0 -64
  151. package/dist/designer/data/systems/bold/DESIGN.md +0 -71
  152. package/dist/designer/data/systems/bold/components.html +0 -136
  153. package/dist/designer/data/systems/bold/tokens.css +0 -63
  154. package/dist/designer/data/systems/brutalism/DESIGN.md +0 -71
  155. package/dist/designer/data/systems/brutalism/components.html +0 -154
  156. package/dist/designer/data/systems/brutalism/tokens.css +0 -63
  157. package/dist/designer/data/systems/bugatti/DESIGN.md +0 -271
  158. package/dist/designer/data/systems/bugatti/components.html +0 -342
  159. package/dist/designer/data/systems/bugatti/tokens.css +0 -64
  160. package/dist/designer/data/systems/cafe/DESIGN.md +0 -71
  161. package/dist/designer/data/systems/cafe/components.html +0 -136
  162. package/dist/designer/data/systems/cafe/tokens.css +0 -63
  163. package/dist/designer/data/systems/cal/DESIGN.md +0 -262
  164. package/dist/designer/data/systems/cal/components.html +0 -376
  165. package/dist/designer/data/systems/cal/tokens.css +0 -265
  166. package/dist/designer/data/systems/canva/DESIGN.md +0 -157
  167. package/dist/designer/data/systems/canva/components.html +0 -461
  168. package/dist/designer/data/systems/canva/tokens.css +0 -147
  169. package/dist/designer/data/systems/cisco/DESIGN.md +0 -201
  170. package/dist/designer/data/systems/cisco/components.html +0 -342
  171. package/dist/designer/data/systems/cisco/tokens.css +0 -64
  172. package/dist/designer/data/systems/claude/DESIGN.md +0 -315
  173. package/dist/designer/data/systems/claude/components.html +0 -483
  174. package/dist/designer/data/systems/claude/tokens.css +0 -130
  175. package/dist/designer/data/systems/clay/DESIGN.md +0 -307
  176. package/dist/designer/data/systems/clay/components.html +0 -136
  177. package/dist/designer/data/systems/clay/tokens.css +0 -63
  178. package/dist/designer/data/systems/claymorphism/DESIGN.md +0 -71
  179. package/dist/designer/data/systems/claymorphism/components.html +0 -136
  180. package/dist/designer/data/systems/claymorphism/tokens.css +0 -63
  181. package/dist/designer/data/systems/clean/DESIGN.md +0 -71
  182. package/dist/designer/data/systems/clean/components.html +0 -136
  183. package/dist/designer/data/systems/clean/tokens.css +0 -63
  184. package/dist/designer/data/systems/clickhouse/DESIGN.md +0 -284
  185. package/dist/designer/data/systems/clickhouse/components.html +0 -506
  186. package/dist/designer/data/systems/clickhouse/tokens.css +0 -135
  187. package/dist/designer/data/systems/cohere/DESIGN.md +0 -269
  188. package/dist/designer/data/systems/cohere/components.html +0 -353
  189. package/dist/designer/data/systems/cohere/tokens.css +0 -126
  190. package/dist/designer/data/systems/coinbase/DESIGN.md +0 -132
  191. package/dist/designer/data/systems/coinbase/components.html +0 -501
  192. package/dist/designer/data/systems/coinbase/tokens.css +0 -257
  193. package/dist/designer/data/systems/colorful/DESIGN.md +0 -71
  194. package/dist/designer/data/systems/colorful/components.html +0 -136
  195. package/dist/designer/data/systems/colorful/tokens.css +0 -63
  196. package/dist/designer/data/systems/composio/DESIGN.md +0 -310
  197. package/dist/designer/data/systems/composio/components.html +0 -342
  198. package/dist/designer/data/systems/composio/tokens.css +0 -64
  199. package/dist/designer/data/systems/contemporary/DESIGN.md +0 -71
  200. package/dist/designer/data/systems/contemporary/components.html +0 -136
  201. package/dist/designer/data/systems/contemporary/tokens.css +0 -63
  202. package/dist/designer/data/systems/corporate/DESIGN.md +0 -71
  203. package/dist/designer/data/systems/corporate/components.html +0 -136
  204. package/dist/designer/data/systems/corporate/tokens.css +0 -63
  205. package/dist/designer/data/systems/cosmic/DESIGN.md +0 -71
  206. package/dist/designer/data/systems/cosmic/components.html +0 -136
  207. package/dist/designer/data/systems/cosmic/tokens.css +0 -63
  208. package/dist/designer/data/systems/creative/DESIGN.md +0 -71
  209. package/dist/designer/data/systems/creative/components.html +0 -136
  210. package/dist/designer/data/systems/creative/tokens.css +0 -63
  211. package/dist/designer/data/systems/cursor/DESIGN.md +0 -312
  212. package/dist/designer/data/systems/cursor/components.html +0 -654
  213. package/dist/designer/data/systems/cursor/tokens.css +0 -218
  214. package/dist/designer/data/systems/dashboard/DESIGN.md +0 -71
  215. package/dist/designer/data/systems/dashboard/components.html +0 -154
  216. package/dist/designer/data/systems/dashboard/tokens.css +0 -63
  217. package/dist/designer/data/systems/default/DESIGN.md +0 -62
  218. package/dist/designer/data/systems/default/components.html +0 -523
  219. package/dist/designer/data/systems/default/tokens.css +0 -200
  220. package/dist/designer/data/systems/discord/DESIGN.md +0 -162
  221. package/dist/designer/data/systems/discord/components.html +0 -359
  222. package/dist/designer/data/systems/discord/tokens.css +0 -125
  223. package/dist/designer/data/systems/dithered/DESIGN.md +0 -71
  224. package/dist/designer/data/systems/dithered/components.html +0 -136
  225. package/dist/designer/data/systems/dithered/tokens.css +0 -63
  226. package/dist/designer/data/systems/doodle/DESIGN.md +0 -71
  227. package/dist/designer/data/systems/doodle/components.html +0 -136
  228. package/dist/designer/data/systems/doodle/tokens.css +0 -63
  229. package/dist/designer/data/systems/dramatic/DESIGN.md +0 -71
  230. package/dist/designer/data/systems/dramatic/components.html +0 -136
  231. package/dist/designer/data/systems/dramatic/tokens.css +0 -63
  232. package/dist/designer/data/systems/duolingo/DESIGN.md +0 -154
  233. package/dist/designer/data/systems/duolingo/components.html +0 -532
  234. package/dist/designer/data/systems/duolingo/tokens.css +0 -130
  235. package/dist/designer/data/systems/editorial/DESIGN.md +0 -71
  236. package/dist/designer/data/systems/editorial/components.html +0 -154
  237. package/dist/designer/data/systems/editorial/tokens.css +0 -63
  238. package/dist/designer/data/systems/elegant/DESIGN.md +0 -71
  239. package/dist/designer/data/systems/elegant/components.html +0 -136
  240. package/dist/designer/data/systems/elegant/tokens.css +0 -63
  241. package/dist/designer/data/systems/elevenlabs/DESIGN.md +0 -268
  242. package/dist/designer/data/systems/elevenlabs/components.html +0 -342
  243. package/dist/designer/data/systems/elevenlabs/tokens.css +0 -127
  244. package/dist/designer/data/systems/energetic/DESIGN.md +0 -72
  245. package/dist/designer/data/systems/energetic/components.html +0 -136
  246. package/dist/designer/data/systems/energetic/tokens.css +0 -63
  247. package/dist/designer/data/systems/enterprise/DESIGN.md +0 -71
  248. package/dist/designer/data/systems/enterprise/components.html +0 -154
  249. package/dist/designer/data/systems/enterprise/tokens.css +0 -63
  250. package/dist/designer/data/systems/expo/DESIGN.md +0 -284
  251. package/dist/designer/data/systems/expo/components.html +0 -342
  252. package/dist/designer/data/systems/expo/tokens.css +0 -64
  253. package/dist/designer/data/systems/expressive/DESIGN.md +0 -71
  254. package/dist/designer/data/systems/expressive/components.html +0 -136
  255. package/dist/designer/data/systems/expressive/tokens.css +0 -63
  256. package/dist/designer/data/systems/fantasy/DESIGN.md +0 -71
  257. package/dist/designer/data/systems/fantasy/components.html +0 -136
  258. package/dist/designer/data/systems/fantasy/tokens.css +0 -63
  259. package/dist/designer/data/systems/ferrari/DESIGN.md +0 -317
  260. package/dist/designer/data/systems/ferrari/components.html +0 -342
  261. package/dist/designer/data/systems/ferrari/tokens.css +0 -64
  262. package/dist/designer/data/systems/figma/DESIGN.md +0 -223
  263. package/dist/designer/data/systems/figma/components.html +0 -344
  264. package/dist/designer/data/systems/figma/tokens.css +0 -126
  265. package/dist/designer/data/systems/flat/DESIGN.md +0 -71
  266. package/dist/designer/data/systems/flat/components.html +0 -136
  267. package/dist/designer/data/systems/flat/tokens.css +0 -63
  268. package/dist/designer/data/systems/framer/DESIGN.md +0 -249
  269. package/dist/designer/data/systems/framer/components.html +0 -438
  270. package/dist/designer/data/systems/framer/tokens.css +0 -238
  271. package/dist/designer/data/systems/friendly/DESIGN.md +0 -71
  272. package/dist/designer/data/systems/friendly/components.html +0 -136
  273. package/dist/designer/data/systems/friendly/tokens.css +0 -63
  274. package/dist/designer/data/systems/futuristic/DESIGN.md +0 -71
  275. package/dist/designer/data/systems/futuristic/components.html +0 -136
  276. package/dist/designer/data/systems/futuristic/tokens.css +0 -63
  277. package/dist/designer/data/systems/github/DESIGN.md +0 -155
  278. package/dist/designer/data/systems/github/components.html +0 -383
  279. package/dist/designer/data/systems/github/tokens.css +0 -125
  280. package/dist/designer/data/systems/glassmorphism/DESIGN.md +0 -71
  281. package/dist/designer/data/systems/glassmorphism/components.html +0 -154
  282. package/dist/designer/data/systems/glassmorphism/tokens.css +0 -63
  283. package/dist/designer/data/systems/gradient/DESIGN.md +0 -71
  284. package/dist/designer/data/systems/gradient/components.html +0 -154
  285. package/dist/designer/data/systems/gradient/tokens.css +0 -63
  286. package/dist/designer/data/systems/hashicorp/DESIGN.md +0 -281
  287. package/dist/designer/data/systems/hashicorp/components.html +0 -502
  288. package/dist/designer/data/systems/hashicorp/tokens.css +0 -272
  289. package/dist/designer/data/systems/hud/DESIGN.md +0 -173
  290. package/dist/designer/data/systems/hud/components.html +0 -136
  291. package/dist/designer/data/systems/hud/tokens.css +0 -63
  292. package/dist/designer/data/systems/huggingface/DESIGN.md +0 -149
  293. package/dist/designer/data/systems/huggingface/components.html +0 -346
  294. package/dist/designer/data/systems/huggingface/tokens.css +0 -125
  295. package/dist/designer/data/systems/ibm/DESIGN.md +0 -335
  296. package/dist/designer/data/systems/ibm/components.html +0 -342
  297. package/dist/designer/data/systems/ibm/tokens.css +0 -64
  298. package/dist/designer/data/systems/intercom/DESIGN.md +0 -149
  299. package/dist/designer/data/systems/intercom/components.html +0 -557
  300. package/dist/designer/data/systems/intercom/tokens.css +0 -150
  301. package/dist/designer/data/systems/kami/DESIGN.md +0 -410
  302. package/dist/designer/data/systems/kami/components.html +0 -601
  303. package/dist/designer/data/systems/kami/tokens.css +0 -272
  304. package/dist/designer/data/systems/kraken/DESIGN.md +0 -128
  305. package/dist/designer/data/systems/kraken/components.html +0 -342
  306. package/dist/designer/data/systems/kraken/tokens.css +0 -64
  307. package/dist/designer/data/systems/lamborghini/DESIGN.md +0 -291
  308. package/dist/designer/data/systems/lamborghini/components.html +0 -342
  309. package/dist/designer/data/systems/lamborghini/tokens.css +0 -64
  310. package/dist/designer/data/systems/levels/DESIGN.md +0 -71
  311. package/dist/designer/data/systems/levels/components.html +0 -154
  312. package/dist/designer/data/systems/levels/tokens.css +0 -63
  313. package/dist/designer/data/systems/linear-app/DESIGN.md +0 -370
  314. package/dist/designer/data/systems/linear-app/components.html +0 -370
  315. package/dist/designer/data/systems/linear-app/tokens.css +0 -130
  316. package/dist/designer/data/systems/lingo/DESIGN.md +0 -71
  317. package/dist/designer/data/systems/lingo/components.html +0 -154
  318. package/dist/designer/data/systems/lingo/tokens.css +0 -63
  319. package/dist/designer/data/systems/loom/DESIGN.md +0 -201
  320. package/dist/designer/data/systems/loom/components.html +0 -446
  321. package/dist/designer/data/systems/loom/tokens.css +0 -138
  322. package/dist/designer/data/systems/lovable/DESIGN.md +0 -301
  323. package/dist/designer/data/systems/lovable/components.html +0 -441
  324. package/dist/designer/data/systems/lovable/tokens.css +0 -258
  325. package/dist/designer/data/systems/luxury/DESIGN.md +0 -71
  326. package/dist/designer/data/systems/luxury/components.html +0 -154
  327. package/dist/designer/data/systems/luxury/tokens.css +0 -63
  328. package/dist/designer/data/systems/mastercard/DESIGN.md +0 -368
  329. package/dist/designer/data/systems/mastercard/components.html +0 -342
  330. package/dist/designer/data/systems/mastercard/tokens.css +0 -64
  331. package/dist/designer/data/systems/material/DESIGN.md +0 -71
  332. package/dist/designer/data/systems/material/components.html +0 -154
  333. package/dist/designer/data/systems/material/tokens.css +0 -63
  334. package/dist/designer/data/systems/meta/DESIGN.md +0 -369
  335. package/dist/designer/data/systems/meta/components.html +0 -398
  336. package/dist/designer/data/systems/meta/tokens.css +0 -263
  337. package/dist/designer/data/systems/minimal/DESIGN.md +0 -71
  338. package/dist/designer/data/systems/minimal/components.html +0 -154
  339. package/dist/designer/data/systems/minimal/tokens.css +0 -63
  340. package/dist/designer/data/systems/minimax/DESIGN.md +0 -260
  341. package/dist/designer/data/systems/minimax/components.html +0 -590
  342. package/dist/designer/data/systems/minimax/tokens.css +0 -148
  343. package/dist/designer/data/systems/mintlify/DESIGN.md +0 -329
  344. package/dist/designer/data/systems/mintlify/components.html +0 -737
  345. package/dist/designer/data/systems/mintlify/tokens.css +0 -256
  346. package/dist/designer/data/systems/miro/DESIGN.md +0 -111
  347. package/dist/designer/data/systems/miro/components.html +0 -342
  348. package/dist/designer/data/systems/miro/tokens.css +0 -64
  349. package/dist/designer/data/systems/mission-control/DESIGN.md +0 -474
  350. package/dist/designer/data/systems/mission-control/components.html +0 -136
  351. package/dist/designer/data/systems/mission-control/tokens.css +0 -63
  352. package/dist/designer/data/systems/mistral-ai/DESIGN.md +0 -264
  353. package/dist/designer/data/systems/mistral-ai/components.html +0 -338
  354. package/dist/designer/data/systems/mistral-ai/tokens.css +0 -125
  355. package/dist/designer/data/systems/modern/DESIGN.md +0 -71
  356. package/dist/designer/data/systems/modern/components.html +0 -154
  357. package/dist/designer/data/systems/modern/tokens.css +0 -63
  358. package/dist/designer/data/systems/mongodb/DESIGN.md +0 -269
  359. package/dist/designer/data/systems/mongodb/components.html +0 -462
  360. package/dist/designer/data/systems/mongodb/tokens.css +0 -176
  361. package/dist/designer/data/systems/mono/DESIGN.md +0 -71
  362. package/dist/designer/data/systems/mono/components.html +0 -136
  363. package/dist/designer/data/systems/mono/tokens.css +0 -63
  364. package/dist/designer/data/systems/neobrutalism/DESIGN.md +0 -71
  365. package/dist/designer/data/systems/neobrutalism/components.html +0 -136
  366. package/dist/designer/data/systems/neobrutalism/tokens.css +0 -63
  367. package/dist/designer/data/systems/neon/DESIGN.md +0 -71
  368. package/dist/designer/data/systems/neon/components.html +0 -136
  369. package/dist/designer/data/systems/neon/tokens.css +0 -63
  370. package/dist/designer/data/systems/neumorphism/DESIGN.md +0 -71
  371. package/dist/designer/data/systems/neumorphism/components.html +0 -136
  372. package/dist/designer/data/systems/neumorphism/tokens.css +0 -63
  373. package/dist/designer/data/systems/nike/DESIGN.md +0 -366
  374. package/dist/designer/data/systems/nike/components.html +0 -512
  375. package/dist/designer/data/systems/nike/tokens.css +0 -304
  376. package/dist/designer/data/systems/notion/DESIGN.md +0 -312
  377. package/dist/designer/data/systems/notion/components.html +0 -413
  378. package/dist/designer/data/systems/notion/tokens.css +0 -130
  379. package/dist/designer/data/systems/nvidia/DESIGN.md +0 -296
  380. package/dist/designer/data/systems/nvidia/components.html +0 -414
  381. package/dist/designer/data/systems/nvidia/tokens.css +0 -133
  382. package/dist/designer/data/systems/ollama/DESIGN.md +0 -270
  383. package/dist/designer/data/systems/ollama/components.html +0 -700
  384. package/dist/designer/data/systems/ollama/tokens.css +0 -242
  385. package/dist/designer/data/systems/openai/DESIGN.md +0 -140
  386. package/dist/designer/data/systems/openai/components.html +0 -382
  387. package/dist/designer/data/systems/openai/tokens.css +0 -133
  388. package/dist/designer/data/systems/opencode-ai/DESIGN.md +0 -284
  389. package/dist/designer/data/systems/opencode-ai/components.html +0 -389
  390. package/dist/designer/data/systems/opencode-ai/tokens.css +0 -126
  391. package/dist/designer/data/systems/pacman/DESIGN.md +0 -71
  392. package/dist/designer/data/systems/pacman/components.html +0 -342
  393. package/dist/designer/data/systems/pacman/tokens.css +0 -64
  394. package/dist/designer/data/systems/paper/DESIGN.md +0 -71
  395. package/dist/designer/data/systems/paper/components.html +0 -136
  396. package/dist/designer/data/systems/paper/tokens.css +0 -63
  397. package/dist/designer/data/systems/perplexity/DESIGN.md +0 -286
  398. package/dist/designer/data/systems/perplexity/components.html +0 -455
  399. package/dist/designer/data/systems/perplexity/tokens.css +0 -151
  400. package/dist/designer/data/systems/perspective/DESIGN.md +0 -71
  401. package/dist/designer/data/systems/perspective/components.html +0 -136
  402. package/dist/designer/data/systems/perspective/tokens.css +0 -63
  403. package/dist/designer/data/systems/pinterest/DESIGN.md +0 -233
  404. package/dist/designer/data/systems/pinterest/components.html +0 -865
  405. package/dist/designer/data/systems/pinterest/tokens.css +0 -262
  406. package/dist/designer/data/systems/playstation/DESIGN.md +0 -367
  407. package/dist/designer/data/systems/playstation/components.html +0 -414
  408. package/dist/designer/data/systems/playstation/tokens.css +0 -150
  409. package/dist/designer/data/systems/posthog/DESIGN.md +0 -259
  410. package/dist/designer/data/systems/posthog/components.html +0 -827
  411. package/dist/designer/data/systems/posthog/tokens.css +0 -272
  412. package/dist/designer/data/systems/premium/DESIGN.md +0 -71
  413. package/dist/designer/data/systems/premium/components.html +0 -154
  414. package/dist/designer/data/systems/premium/tokens.css +0 -63
  415. package/dist/designer/data/systems/professional/DESIGN.md +0 -71
  416. package/dist/designer/data/systems/professional/components.html +0 -136
  417. package/dist/designer/data/systems/professional/tokens.css +0 -63
  418. package/dist/designer/data/systems/publication/DESIGN.md +0 -71
  419. package/dist/designer/data/systems/publication/components.html +0 -154
  420. package/dist/designer/data/systems/publication/tokens.css +0 -63
  421. package/dist/designer/data/systems/raycast/DESIGN.md +0 -271
  422. package/dist/designer/data/systems/raycast/components.html +0 -507
  423. package/dist/designer/data/systems/raycast/tokens.css +0 -143
  424. package/dist/designer/data/systems/refined/DESIGN.md +0 -71
  425. package/dist/designer/data/systems/refined/components.html +0 -136
  426. package/dist/designer/data/systems/refined/tokens.css +0 -63
  427. package/dist/designer/data/systems/renault/DESIGN.md +0 -314
  428. package/dist/designer/data/systems/renault/components.html +0 -154
  429. package/dist/designer/data/systems/renault/tokens.css +0 -63
  430. package/dist/designer/data/systems/replicate/DESIGN.md +0 -264
  431. package/dist/designer/data/systems/replicate/components.html +0 -340
  432. package/dist/designer/data/systems/replicate/tokens.css +0 -125
  433. package/dist/designer/data/systems/resend/DESIGN.md +0 -306
  434. package/dist/designer/data/systems/resend/components.html +0 -839
  435. package/dist/designer/data/systems/resend/tokens.css +0 -353
  436. package/dist/designer/data/systems/retro/DESIGN.md +0 -71
  437. package/dist/designer/data/systems/retro/components.html +0 -136
  438. package/dist/designer/data/systems/retro/tokens.css +0 -63
  439. package/dist/designer/data/systems/revolut/DESIGN.md +0 -188
  440. package/dist/designer/data/systems/revolut/components.html +0 -342
  441. package/dist/designer/data/systems/revolut/tokens.css +0 -64
  442. package/dist/designer/data/systems/runwayml/DESIGN.md +0 -247
  443. package/dist/designer/data/systems/runwayml/components.html +0 -638
  444. package/dist/designer/data/systems/runwayml/tokens.css +0 -204
  445. package/dist/designer/data/systems/sanity/DESIGN.md +0 -360
  446. package/dist/designer/data/systems/sanity/components.html +0 -342
  447. package/dist/designer/data/systems/sanity/tokens.css +0 -64
  448. package/dist/designer/data/systems/sentry/DESIGN.md +0 -265
  449. package/dist/designer/data/systems/sentry/components.html +0 -387
  450. package/dist/designer/data/systems/sentry/tokens.css +0 -219
  451. package/dist/designer/data/systems/shadcn/DESIGN.md +0 -71
  452. package/dist/designer/data/systems/shadcn/components.html +0 -732
  453. package/dist/designer/data/systems/shadcn/tokens.css +0 -255
  454. package/dist/designer/data/systems/shopify/DESIGN.md +0 -353
  455. package/dist/designer/data/systems/shopify/components.html +0 -342
  456. package/dist/designer/data/systems/shopify/tokens.css +0 -141
  457. package/dist/designer/data/systems/simple/DESIGN.md +0 -71
  458. package/dist/designer/data/systems/simple/components.html +0 -136
  459. package/dist/designer/data/systems/simple/tokens.css +0 -63
  460. package/dist/designer/data/systems/skeumorphism/DESIGN.md +0 -71
  461. package/dist/designer/data/systems/skeumorphism/components.html +0 -136
  462. package/dist/designer/data/systems/skeumorphism/tokens.css +0 -63
  463. package/dist/designer/data/systems/slack/DESIGN.md +0 -363
  464. package/dist/designer/data/systems/slack/components.html +0 -387
  465. package/dist/designer/data/systems/slack/tokens.css +0 -127
  466. package/dist/designer/data/systems/sleek/DESIGN.md +0 -71
  467. package/dist/designer/data/systems/sleek/components.html +0 -136
  468. package/dist/designer/data/systems/sleek/tokens.css +0 -63
  469. package/dist/designer/data/systems/spacex/DESIGN.md +0 -197
  470. package/dist/designer/data/systems/spacex/components.html +0 -496
  471. package/dist/designer/data/systems/spacex/tokens.css +0 -154
  472. package/dist/designer/data/systems/spacious/DESIGN.md +0 -71
  473. package/dist/designer/data/systems/spacious/components.html +0 -136
  474. package/dist/designer/data/systems/spacious/tokens.css +0 -63
  475. package/dist/designer/data/systems/spotify/DESIGN.md +0 -249
  476. package/dist/designer/data/systems/spotify/components.html +0 -365
  477. package/dist/designer/data/systems/spotify/tokens.css +0 -127
  478. package/dist/designer/data/systems/starbucks/DESIGN.md +0 -583
  479. package/dist/designer/data/systems/starbucks/components.html +0 -493
  480. package/dist/designer/data/systems/starbucks/tokens.css +0 -182
  481. package/dist/designer/data/systems/storytelling/DESIGN.md +0 -71
  482. package/dist/designer/data/systems/storytelling/components.html +0 -136
  483. package/dist/designer/data/systems/storytelling/tokens.css +0 -63
  484. package/dist/designer/data/systems/stripe/DESIGN.md +0 -325
  485. package/dist/designer/data/systems/stripe/components.html +0 -1018
  486. package/dist/designer/data/systems/stripe/tokens.css +0 -295
  487. package/dist/designer/data/systems/supabase/DESIGN.md +0 -258
  488. package/dist/designer/data/systems/supabase/components.html +0 -741
  489. package/dist/designer/data/systems/supabase/tokens.css +0 -294
  490. package/dist/designer/data/systems/superhuman/DESIGN.md +0 -255
  491. package/dist/designer/data/systems/superhuman/components.html +0 -537
  492. package/dist/designer/data/systems/superhuman/tokens.css +0 -160
  493. package/dist/designer/data/systems/tesla/DESIGN.md +0 -289
  494. package/dist/designer/data/systems/tesla/components.html +0 -724
  495. package/dist/designer/data/systems/tesla/tokens.css +0 -285
  496. package/dist/designer/data/systems/tetris/DESIGN.md +0 -71
  497. package/dist/designer/data/systems/tetris/components.html +0 -342
  498. package/dist/designer/data/systems/tetris/tokens.css +0 -64
  499. package/dist/designer/data/systems/theverge/DESIGN.md +0 -342
  500. package/dist/designer/data/systems/theverge/components.html +0 -342
  501. package/dist/designer/data/systems/theverge/tokens.css +0 -64
  502. package/dist/designer/data/systems/together-ai/DESIGN.md +0 -266
  503. package/dist/designer/data/systems/together-ai/components.html +0 -422
  504. package/dist/designer/data/systems/together-ai/tokens.css +0 -127
  505. package/dist/designer/data/systems/totality-festival/DESIGN.md +0 -206
  506. package/dist/designer/data/systems/totality-festival/components.html +0 -136
  507. package/dist/designer/data/systems/totality-festival/tokens.css +0 -63
  508. package/dist/designer/data/systems/trading-terminal/DESIGN.md +0 -178
  509. package/dist/designer/data/systems/trading-terminal/components.html +0 -154
  510. package/dist/designer/data/systems/trading-terminal/tokens.css +0 -63
  511. package/dist/designer/data/systems/uber/DESIGN.md +0 -298
  512. package/dist/designer/data/systems/uber/components.html +0 -347
  513. package/dist/designer/data/systems/uber/tokens.css +0 -131
  514. package/dist/designer/data/systems/urdu/DESIGN.md +0 -1002
  515. package/dist/designer/data/systems/urdu/components.html +0 -136
  516. package/dist/designer/data/systems/urdu/tokens.css +0 -63
  517. package/dist/designer/data/systems/vercel/DESIGN.md +0 -313
  518. package/dist/designer/data/systems/vercel/components.html +0 -839
  519. package/dist/designer/data/systems/vercel/tokens.css +0 -270
  520. package/dist/designer/data/systems/vibrant/DESIGN.md +0 -71
  521. package/dist/designer/data/systems/vibrant/components.html +0 -136
  522. package/dist/designer/data/systems/vibrant/tokens.css +0 -63
  523. package/dist/designer/data/systems/vintage/DESIGN.md +0 -71
  524. package/dist/designer/data/systems/vintage/components.html +0 -136
  525. package/dist/designer/data/systems/vintage/tokens.css +0 -63
  526. package/dist/designer/data/systems/vodafone/DESIGN.md +0 -426
  527. package/dist/designer/data/systems/vodafone/components.html +0 -342
  528. package/dist/designer/data/systems/vodafone/tokens.css +0 -64
  529. package/dist/designer/data/systems/voltagent/DESIGN.md +0 -326
  530. package/dist/designer/data/systems/voltagent/components.html +0 -154
  531. package/dist/designer/data/systems/voltagent/tokens.css +0 -63
  532. package/dist/designer/data/systems/warm-editorial/DESIGN.md +0 -65
  533. package/dist/designer/data/systems/warm-editorial/components.html +0 -136
  534. package/dist/designer/data/systems/warm-editorial/tokens.css +0 -63
  535. package/dist/designer/data/systems/warp/DESIGN.md +0 -256
  536. package/dist/designer/data/systems/warp/components.html +0 -411
  537. package/dist/designer/data/systems/warp/tokens.css +0 -156
  538. package/dist/designer/data/systems/webex/DESIGN.md +0 -207
  539. package/dist/designer/data/systems/webex/components.html +0 -342
  540. package/dist/designer/data/systems/webex/tokens.css +0 -64
  541. package/dist/designer/data/systems/webflow/DESIGN.md +0 -95
  542. package/dist/designer/data/systems/webflow/components.html +0 -413
  543. package/dist/designer/data/systems/webflow/tokens.css +0 -191
  544. package/dist/designer/data/systems/wechat/DESIGN.md +0 -302
  545. package/dist/designer/data/systems/wechat/components.html +0 -507
  546. package/dist/designer/data/systems/wechat/tokens.css +0 -176
  547. package/dist/designer/data/systems/wired/DESIGN.md +0 -281
  548. package/dist/designer/data/systems/wired/components.html +0 -342
  549. package/dist/designer/data/systems/wired/tokens.css +0 -64
  550. package/dist/designer/data/systems/wise/DESIGN.md +0 -176
  551. package/dist/designer/data/systems/wise/components.html +0 -365
  552. package/dist/designer/data/systems/wise/tokens.css +0 -141
  553. package/dist/designer/data/systems/x-ai/DESIGN.md +0 -260
  554. package/dist/designer/data/systems/x-ai/components.html +0 -460
  555. package/dist/designer/data/systems/x-ai/tokens.css +0 -268
  556. package/dist/designer/data/systems/xiaohongshu/DESIGN.md +0 -402
  557. package/dist/designer/data/systems/xiaohongshu/components.html +0 -865
  558. package/dist/designer/data/systems/xiaohongshu/tokens.css +0 -193
  559. package/dist/designer/data/systems/zapier/DESIGN.md +0 -331
  560. package/dist/designer/data/systems/zapier/components.html +0 -342
  561. package/dist/designer/data/systems/zapier/tokens.css +0 -64
  562. package/dist/designer/guidelines.d.ts +0 -23
  563. package/dist/designer/guidelines.d.ts.map +0 -1
  564. package/dist/designer/guidelines.js +0 -176
  565. package/dist/designer/philosophies.d.ts +0 -33
  566. package/dist/designer/philosophies.d.ts.map +0 -1
  567. package/dist/designer/philosophies.js +0 -668
  568. package/dist/designer/skills.d.ts +0 -21
  569. package/dist/designer/skills.d.ts.map +0 -1
  570. package/dist/designer/skills.js +0 -34
  571. package/dist/designer/systems.d.ts +0 -36
  572. package/dist/designer/systems.d.ts.map +0 -1
  573. package/dist/designer/systems.js +0 -221
@@ -1,262 +0,0 @@
1
- /* ─────────────────────────────────────────────────────────────────────────
2
- * design-systems/pinterest/tokens.css
3
- *
4
- * Structured token bindings for "Design System Inspired by Pinterest".
5
- * Warm visual-discovery canvas: olive/sand neutrals, signature Pinterest
6
- * Red (#e60023) as the singular bold accent, Pin Sans across the entire
7
- * type hierarchy, generous 12–28px radii, and minimal shadow because
8
- * the photography is the elevation.
9
- *
10
- * This file pre-compiles the values described in `DESIGN.md` into the
11
- * schema shared with every OD design system. Agents should paste the
12
- * `:root { … }` block verbatim into the first `<style>` of an artifact,
13
- * then resolve every value via `var(--*)` from that point on.
14
- *
15
- * Key brand decisions encoded here:
16
- *
17
- * #Bind 1 — --bg is Canvas White (#ffffff) per DESIGN.md §9. The
18
- * warm-white reading the brand gives off comes from its
19
- * olive/sand neutrals (#e5e5e0, #e0e0d9, #91918c), never
20
- * from tinting the page background itself. --surface is
21
- * Fog (#f6f6f3) — the warm light tier used for cards,
22
- * search bars, and elevated containers; one subtle step
23
- * warmer than the page so masonry pin cards earn a
24
- * recognizable shape even without a border.
25
- *
26
- * #Bind 2 — --surface-warm is Sand Gray (#e5e5e0), Pinterest's
27
- * warmest published surface — the secondary button
28
- * background, the saved-pin chip background, the warm
29
- * shelf behind clustered metadata (DESIGN.md §2 Surface).
30
- *
31
- * #Bind 3 — --fg is Plum Black (#211922), NOT pure black. DESIGN.md
32
- * §7 explicitly forbids #000000 as primary text because
33
- * Pinterest's near-black carries a plum/warm undertone
34
- * that holds together with the olive neutrals. --fg-2
35
- * binds to #000000 — the brand reserves pure black for
36
- * button labels and high-emphasis secondary text only.
37
- *
38
- * #Bind 4 — --accent-on is #000000, not white. Pinterest's primary
39
- * red button (#e60023) carries black text — DESIGN.md §4
40
- * calls this out as "an unusual choice for contrast on
41
- * red". White-on-red would over-saturate the canvas and
42
- * read as alarm; black-on-red reads as confident, lifestyle-
43
- * magazine punch. Honor the brand value over schema default.
44
- *
45
- * #Bind 5 — Radius scale follows the brand's signature generous
46
- * soft-circle geometry. 12px (--radius-sm) is the brand's
47
- * "Standard" radius for small chips and links; 16px
48
- * (--radius-md) is the workhorse — every button, every
49
- * input, every secondary card; 28px (--radius-lg) is the
50
- * "Large" container radius for tab elements and hero
51
- * panels. The brand also publishes a 20px "Comfortable"
52
- * and a 40px "Hero" tier but those collapse into the
53
- * shared md/lg slots without losing identity (§5).
54
- *
55
- * #Bind 6 — --focus-ring uses Focus Blue (#435ee5) at 30% opacity,
56
- * NOT the schema's accent-tinted default. DESIGN.md §2
57
- * binds focus to a dedicated blue (--comp-button-color-
58
- * border-focus-outer-transparent: #435ee5) so the ring
59
- * survives both the warm-red CTA fill and the warm-sand
60
- * secondary surface — a red-tinted ring would disappear
61
- * into Pinterest Red.
62
- *
63
- * #Bind 7 — --leading-body is 1.40 (DESIGN.md §3 Body) — tighter
64
- * than the schema default 1.5 because Pinterest's
65
- * information-dense pin grid pairs short body strings
66
- * with image-first layouts; longer leading would shred
67
- * the rhythm of pin metadata under photographs.
68
- *
69
- * #Bind 8 — --elev-raised is a plum-tinted whisper rather than a
70
- * cool gray drop. DESIGN.md §6 commits to "minimal shadows
71
- * — Pinterest is flat by design, depth from content".
72
- * When a shadow is necessary (sticky panels, overlays),
73
- * the tint matches the warm plum --fg so the elevation
74
- * reads as part of the warm system instead of a cold
75
- * halo.
76
- *
77
- * Brand-specific extensions: none in this revision. The Performance
78
- * Purple (#6845ab) and Recommendation Purple (#7e238b) product-tier
79
- * accents from DESIGN.md §2 stay inline at the tier-specific
80
- * components that need them; promoting them to schema slots would
81
- * encourage non-tier surfaces to reach for them.
82
- * ─────────────────────────────────────────────────────────────────── */
83
-
84
- :root {
85
- /* ─── Surface (3 levels) ────────────────────────────────────────
86
- * Canvas White is the page; Fog (#f6f6f3) is the warm light card
87
- * tier; Sand Gray (#e5e5e0) is the warm secondary surface (the
88
- * brand's named "secondary button" background). The neutrals lean
89
- * olive/sand, never cool steel — that warmth is the identity. */
90
- --bg: #ffffff;
91
- --surface: #f6f6f3;
92
- --surface-warm: #e5e5e0;
93
-
94
- /* ─── Foreground ramp (4 levels) ────────────────────────────────
95
- * Plum Black (#211922) carries every heading and primary body
96
- * string — a warm near-black with a plum undertone. Pure black
97
- * (#000000) is reserved for the secondary tier (button labels,
98
- * high-contrast captions). Olive Gray (#62625b) is the muted
99
- * description tone; Warm Silver (#91918c) is the disabled /
100
- * metadata tone — also the brand's input-border color. */
101
- --fg: #211922;
102
- --fg-2: #000000;
103
- --muted: #62625b;
104
- --meta: #91918c;
105
-
106
- /* ─── Border (2 levels) ─────────────────────────────────────────
107
- * Pinterest is flat-by-design; borders appear sparingly. The
108
- * default --border is the published "Border Disabled" tone
109
- * (#c8c8c1) — soft, warm, doesn't compete with the photography.
110
- * --border-soft is Warm Light (#e0e0d9), an even softer hairline
111
- * for inner row separators. */
112
- --border: #c8c8c1;
113
- --border-soft: #e0e0d9;
114
-
115
- /* ─── Accent ────────────────────────────────────────────────────
116
- * Pinterest Red — the only brand accent, used for primary CTAs
117
- * and the highest-signal brand moments. Cap at two visible uses
118
- * per screen; when a third red element appears, neutralize one.
119
- * Note that --accent-on is #000000 (not white): the brand's
120
- * primary red button carries black text per DESIGN.md §4. */
121
- --accent: #e60023;
122
- --accent-on: #000000;
123
- --accent-hover: color-mix(in oklab, var(--accent), black 8%);
124
- --accent-active: color-mix(in oklab, var(--accent), black 14%);
125
-
126
- /* ─── Semantic ──────────────────────────────────────────────────
127
- * Error Red is the published Pinterest error value (DESIGN.md §2,
128
- * #9e0a0a). Success and warn are not specified by the brand;
129
- * they bind to desaturated warm values that survive the olive/
130
- * sand canvas without competing with Pinterest Red. Keep total
131
- * semantic-color pixels under five percent of any page. */
132
- --success: #103c25; /* Green 700 — the brand's published green */
133
- --warn: #c47700; /* burnt amber — warm-aligned, never tailwind yellow */
134
- --danger: #9e0a0a; /* Error Red — DESIGN.md §2 */
135
-
136
- /* ─── Typography — fonts ────────────────────────────────────────
137
- * Pin Sans is the proprietary face that carries everything from
138
- * 12px caption to 70px hero — no secondary display family, no
139
- * monospace need beyond kbd. The fallback chain mirrors the
140
- * brand's global stack including Japanese fallbacks
141
- * (ヒラギノ角ゴ / メイリオ / MS Pゴシック) reflecting
142
- * Pinterest's CJK reach. Display and body share the same stack
143
- * — visual identity comes from the family itself. */
144
- --font-display:
145
- "Pin Sans", -apple-system, system-ui, "Segoe UI", Roboto, "Oxygen-Sans",
146
- "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", Ubuntu, Cantarell,
147
- "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica,
148
- "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "MS Pゴシック", Arial,
149
- sans-serif;
150
- --font-body:
151
- "Pin Sans", -apple-system, system-ui, "Segoe UI", Roboto, "Oxygen-Sans",
152
- "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", Ubuntu, Cantarell,
153
- "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica,
154
- "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "MS Pゴシック", Arial,
155
- sans-serif;
156
- --font-mono:
157
- ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco,
158
- Consolas, monospace;
159
-
160
- /* ─── Typography — type scale (px) ──────────────────────────────
161
- * Derived from DESIGN.md §3 Hierarchy. The system clusters
162
- * tightly between 12 and 16px for app-like density, jumps to
163
- * 28px for the published Section Heading, and explodes to 70px
164
- * for the Display Hero — the dramatic gap is the brand's voice.
165
- * The intermediate lg/xl/3xl tiers fill in the curve so generic
166
- * components have somewhere to land. */
167
- --text-xs: 12px; /* Caption — small tags, footer disclaimer */
168
- --text-sm: 14px; /* Caption Bold — metadata, button labels */
169
- --text-base: 16px; /* Body — standard reading, nav links */
170
- --text-lg: 18px; /* H3 / featured body */
171
- --text-xl: 22px; /* H2 / subsection title */
172
- --text-2xl: 28px; /* Section Heading — DESIGN.md §3 */
173
- --text-3xl: 44px; /* H1 — hero subtitles, large numerals */
174
- --text-4xl: 70px; /* Display Hero — DESIGN.md §3 */
175
-
176
- /* ─── Typography — leading & tracking ───────────────────────────
177
- * Body leads at 1.40 per DESIGN.md §3 — tighter than the schema
178
- * default 1.5 because Pinterest's pin metadata is short and
179
- * sits under photography. Display headings carry negative
180
- * tracking (DESIGN.md "-1.2px at 28px" → -0.02em scales evenly
181
- * across the display sizes); body and caption hold at zero. */
182
- --leading-body: 1.4;
183
- --leading-tight: 1.15;
184
- --tracking-display: -0.02em;
185
-
186
- /* ─── Spacing — base scale ──────────────────────────────────────
187
- * 8px base unit per DESIGN.md §5. The brand publishes off-grid
188
- * sub-pixel values (5.5, 7, 10, 11, 22) for fine icon alignment;
189
- * the shared scale stays on the standard 4px grid — off-grid
190
- * spacing belongs inline at the component level. */
191
- --space-1: 4px;
192
- --space-2: 8px;
193
- --space-3: 12px;
194
- --space-4: 16px;
195
- --space-5: 20px;
196
- --space-6: 24px;
197
- --space-8: 32px;
198
- --space-12: 48px;
199
-
200
- /* ─── Section rhythm ────────────────────────────────────────────
201
- * DESIGN.md §5 commits to "Large jumps: 32px → 80px → 100px for
202
- * section spacing". 80px is the desktop default — generous
203
- * breathing room between content blocks; the pin grid itself
204
- * stays dense within the block. 32px is the phone floor. */
205
- --section-y-desktop: 80px;
206
- --section-y-tablet: 48px;
207
- --section-y-phone: 32px;
208
-
209
- /* ─── Radius ────────────────────────────────────────────────────
210
- * The brand's signature soft-circle geometry. 16px is the
211
- * workhorse (every button, every input — DESIGN.md §4) and
212
- * lands on --radius-md. 12px (--radius-sm) is the brand's
213
- * "Standard" small-card radius; 28px (--radius-lg) is the brand
214
- * "Large" container radius for tab elements and hero panels.
215
- * --radius-pill (9999px) carries circular action buttons and
216
- * avatars (DESIGN.md §5 "Circle: 50%"). */
217
- --radius-sm: 12px;
218
- --radius-md: 16px;
219
- --radius-lg: 28px;
220
- --radius-pill: 9999px;
221
-
222
- /* ─── Elevation ─────────────────────────────────────────────────
223
- * Pinterest is flat-by-design — most surfaces sit on the canvas
224
- * with no shadow at all (DESIGN.md §6). When elevation is
225
- * necessary (overlays, sticky panels), the shadow is a plum-
226
- * tinted whisper rather than a cool gray drop — the warmth of
227
- * the system carries through into the elevation. */
228
- --elev-flat: none;
229
- --elev-ring: 0 0 0 1px var(--border);
230
- --elev-raised: 0 4px 16px rgba(33, 25, 34, 0.06);
231
-
232
- /* ─── Focus ring ────────────────────────────────────────────────
233
- * Focus Blue (#435ee5) at 30% opacity — the brand's published
234
- * focus color (DESIGN.md §2 --comp-button-color-border-focus-
235
- * outer-transparent). A blue ring survives both the warm-red
236
- * primary CTA fill and the warm-sand secondary surface; an
237
- * accent-tinted ring would vanish into Pinterest Red. */
238
- --focus-ring: 0 0 0 3px color-mix(in oklab, #435ee5, transparent 70%);
239
-
240
- /* ─── Motion ────────────────────────────────────────────────────
241
- * DESIGN.md did not specify transition timings (static
242
- * extraction scope). We bind defaults consistent with the
243
- * brand's friendly tactile feel: 150ms for micro-states, 200ms
244
- * for general state changes. Standard easing — short,
245
- * purposeful, no overshoot. */
246
- --motion-fast: 150ms;
247
- --motion-base: 200ms;
248
- --ease-standard: cubic-bezier(0.2, 0, 0, 1);
249
-
250
- /* ─── Layout ────────────────────────────────────────────────────
251
- * 1280px container — the standard magazine-y content width for
252
- * hero, feature, and form sections. The masonry pin grid itself
253
- * breathes wider on ultra-wide screens via its own column rules,
254
- * but the shared container stays at 1280 because that is the
255
- * geometry agents will most often generate (lifestyle landing
256
- * pages, signup flows, marketing sections). Gutters tighten
257
- * progressively per DESIGN.md §8 small-mobile clause. */
258
- --container-max: 1280px;
259
- --container-gutter-desktop: 32px;
260
- --container-gutter-tablet: 24px;
261
- --container-gutter-phone: 16px;
262
- }
@@ -1,367 +0,0 @@
1
- # Design System Inspired by PlayStation
2
-
3
- > Category: Media & Consumer
4
- > Gaming console retail. Three-surface channel layout, quiet-authority display type, cyan hover-scale.
5
-
6
- ## 1. Visual Theme & Atmosphere
7
-
8
- PlayStation.com carries itself like the marketing wing of a premium consumer-electronics brand that happens to sell entertainment. The page is organized as a **vertical channel of alternating surfaces**: a near-black masthead and hero, a sequence of paper-white editorial panels in the middle, and a deep cobalt-blue footer that anchors the entire experience. Between those surface modes the site leans hard on photography and 3D product renders — the PS5 console, game cover art, DualSense controllers — letting the hardware do the emotional work while the chrome stays restrained.
9
-
10
- The signature typographic move is **SST Light (weight 300) at large sizes**. Sony's custom SST family is used from 22px up to 54px in weight 300, giving display headlines a whispered, elegant quality that feels closer to a luxury watch ad than a game store. That "quiet authority" is the exact opposite of The Verge's Manuka shout or Wired's newsstand density — PlayStation wants the type to recede and the product to lead. Body and UI lean on weights 500–700, but the *display* voice is consistently thin and calm.
11
-
12
- The one place restraint breaks is **interaction**. Every primary button has the same hover move: fill swaps to an electric cyan `#1eaedb`, a 2px white border appears, a 2px PlayStation-blue outer ring blooms behind it, and the entire button **scales up 1.2×**. That combination of color pop, border, ring, and lift-scale is a signature move unique to Sony among major brands — a miniature "power-on" animation that the site repeats hundreds of times across a single page.
13
-
14
- **Key Characteristics:**
15
- - Three-surface channel layout: near-black hero, paper-white content, cobalt-blue footer — alternating, never blending
16
- - SST weight 300 at 22–54px for display — "quiet authority" headlines that let product photography lead
17
- - PlayStation Blue `#0070cc` as the brand anchor; cyan `#1eaedb` reserved exclusively for hover/focus states
18
- - Every interactive element scales 1.2× on hover — a signature "power-on" lift unique to PlayStation
19
- - Pill buttons at full 999px radius; card art in rounded 12–24px rectangles
20
- - Commerce-orange `#d53b00` used exclusively for PlayStation Store / buy-state CTAs
21
- - Wide breakpoint coverage up to 2120px — the site scales all the way to 4K-TV browsing contexts
22
-
23
- ## 2. Color Palette & Roles
24
-
25
- ### Primary (Brand Anchor)
26
- - **PlayStation Blue** (`#0070cc`): The brand's anchor color. Used on the primary footer, inline links, primary button fills on dark surfaces, and every "official" marker. Treat this as immovable — it is the color the brand is most associated with in consumer memory.
27
- - **Console Black** (`#000000`): Pure black for the masthead, hero backdrops, and product presentation zones. PlayStation uses black to frame hardware the way a museum uses black to frame a sculpture.
28
-
29
- ### Secondary & Accent
30
- - **PlayStation Cyan** (`#1eaedb`): The interaction color. Applied ONLY to hover, focus, and active states of buttons and links. Never appears as a default background or a text color at rest. Pair with a 2px `#ffffff` border and a 2px `#0070cc` outer ring on hover for the full signature treatment.
31
- - **Link Hover Blue** (`#1883fd`): The brighter variant used on inline text-link hovers. Distinct from Cyan — this is the link color, Cyan is the button color.
32
- - **Dark Link Blue** (`#0068bd`): The link color at rest on light surfaces — a slightly more saturated cousin of the brand blue.
33
-
34
- ### Surface & Background
35
- - **Paper White** (`#ffffff`): Primary content canvas for editorial panels between the masthead and footer.
36
- - **Ice Mist** (`#f5f7fa`): The atmospheric end-stop of the light section-gradient. Used subtly behind certain panels to lift them off pure white.
37
- - **Divider Tint** (`#f3f3f3`): The quiet horizontal-rule color between content rows.
38
- - **Masthead Black** (`#000000`): Top nav and hero canvas — reserved for product-forward zones.
39
- - **Shadow Black** (`#121314`): The starting anchor of the dark section-gradient when a panel needs atmospheric depth.
40
- - **Filter Mist** (`rgba(245, 247, 250, 0.3)`): Translucent background used behind sticky filter bars — the only "glassmorphism" moment on the site.
41
-
42
- ### Neutrals & Text
43
- - **Display Ink** (`#000000`): Primary display headlines on white surfaces.
44
- - **Deep Charcoal** (`#1f1f1f`): Body headlines and link color at rest — slightly softer than pure black to reduce visual ring on large blocks.
45
- - **Body Gray** (`#6b6b6b`): Secondary body text and metadata.
46
- - **Mute Gray** (`#cccccc`): Tertiary labels, disabled states.
47
- - **Placeholder Ink** (`rgba(0, 0, 0, 0.6)`): Form placeholder text — 60% black, not a separate gray value.
48
- - **Inverse White** (`#ffffff`): Primary text on dark and blue surfaces.
49
- - **Dark-Link Blue** (`#53b1ff`): The link color at rest on dark/black surfaces — a lighter airborne variant of PlayStation Blue for legibility on black.
50
-
51
- ### Semantic & Commerce
52
- - **Commerce Orange** (`#d53b00`): Reserved for PlayStation Store buy-state CTAs, price callouts, and "on sale" badges. The only warm color on the site — use sparingly and never outside a commerce context.
53
- - **Commerce Orange Active** (`#aa2f00`): The pressed/active state of commerce buttons.
54
- - **Warning Red** (`#c81b3a`): Form errors and destructive-action warnings.
55
- - **Shadow Wash 80** (`rgba(0, 0, 0, 0.8)`): The dramatic scrim used behind hero text on product photography.
56
- - **Shadow Wash 16** (`rgba(0, 0, 0, 0.16)`): Low-weight elevation ring on cards.
57
- - **Shadow Wash 08** (`rgba(0, 0, 0, 0.08)`): Featherweight card elevation — barely visible but separates white panels from white background.
58
- - **Shadow Wash 06** (`rgba(0, 0, 0, 0.06)`): The lightest shadow in the system.
59
-
60
- ### Gradient System
61
- PlayStation uses **two section gradients** and nothing else:
62
- - **Light Section Gradient**: from `#ffffff` → `#f5f7fa` — an almost-imperceptible wash that quietly lifts a panel off the canvas.
63
- - **Dark Section Gradient**: from `#121314` → `#000000` — a short vertical wash that gives hero panels a subtle vignette without introducing any hue shift.
64
-
65
- Both gradients are used **only as section backgrounds**, never inside components. There are no gradient buttons, no gradient text, no glowing halos. The brand is blue — not blue-to-purple, not blue-to-cyan.
66
-
67
- ## 3. Typography Rules
68
-
69
- ### Font Family
70
- - **SST** / **Playstation SST** (Sony, proprietary) — fallback: `Arial`, `Helvetica`. Sony's custom global typeface, designed by Toshi Omagari and Akira Kobayashi. Covers weights 300 / 500 / 600 / 700 across the homepage. The weight **300 at 22–54px** is PlayStation's typographic signature.
71
- - **SST (condensed / alternate)** — fallback: `helvetica`, `arial`. A compressed variant used in a handful of UI modules where width matters.
72
- - **Arial** — utility fallback for the rare button variant that renders in system sans.
73
-
74
- ### Hierarchy
75
-
76
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
77
- |---|---|---|---|---|---|---|
78
- | Hero Display (XL) | SST | 54px / 3.38rem | 300 | 1.25 | -0.1px | The biggest SST moment on the page — quiet-weight luxury headline |
79
- | Hero Display (L) | SST | 44px / 2.75rem | 300 | 1.25 | 0.1px | Secondary hero headlines |
80
- | Large Display | SST | 35px / 2.20rem | 300 | 1.25 | — | Feature panel headlines |
81
- | Mid Display | SST | 28px / 1.75rem | 300 | 1.25 | 0.1px | Section headings |
82
- | Compact Display | SST | 22px / 1.38rem | 300 | 1.25 | 0.1px | Module titles — still in light weight 300 |
83
- | Playstation SST Sub | Playstation SST | 22.5px / 1.41rem | 400 | 1.30 | — | Promotional sub-heading |
84
- | UI Heading Small | SST | 18px / 1.13rem | 600 | 1.00 | — | Tight UI headings |
85
- | Button / CTA | SST | 18px / 1.13rem | 500 | 1.25 | 0.4px | Primary button label |
86
- | Button / Emphasized | SST | 18px / 1.13rem | 700 | 1.25 | 0.45px | Higher-emphasis CTAs (buy, subscribe) |
87
- | Button Serif | SST | 18px / 1.13rem | 600 | 1.50 | — | Secondary button label |
88
- | Body Relaxed | SST | 18px / 1.13rem | 400 | 1.50 | 0.1px | Standard reading body |
89
- | Link Body | SST | 18px / 1.13rem | 400 | 1.50 | — | Inline link text |
90
- | Compact Button | SST | 14px / 0.88rem | 700 | 1.25 | 0.324px | Mini CTAs in cards |
91
- | Utility Caption | SST | 14px / 0.88rem | 500 | 1.50 | — | Captions, tag labels |
92
- | Caption Body | SST | 14px / 0.88rem | 400 | 1.50 | — | Standard metadata |
93
- | Playstation Caption Bold | Playstation SST | 14px / 0.88rem | 700 | 1.40 | — | Emphasized caption |
94
- | Playstation Caption Mid | Playstation SST | 14px / 0.88rem | 600 | 1.40 | — | Semi-bold caption |
95
- | Playstation Button | Playstation SST | 14.4px / 0.90rem | 700 | 1.00 | 0.144px | UI button with tight leading |
96
- | Playstation Tab | Playstation SST | 14px / 0.88rem | 400 | 1.10 | 0.14px | Tab/pill label |
97
- | Playstation Compact Caption | Playstation SST | 12.8px / 0.80rem | 400 | 1.10 | — | Smallest UI caption |
98
- | Micro Caption | SST | 12px / 0.75rem | 500 | 1.50 | — | Footer microcopy, legal text |
99
- | Compact Caption Bold | SST | 12.06px / 0.75rem | 700 | 1.50 | — | Emphasized micro text |
100
-
101
- ### Principles
102
- - **Weight 300 at large sizes is the voice.** PlayStation is the only major console brand that uses a light-weight display for its hero headlines. Resist the urge to "upgrade" display type to 500 or 700 — the quietness is the personality.
103
- - **Weight jumps at the UI layer.** Below 18px the system shifts to 500–700 for legibility. The weight gradient from 300 (display) → 400 (body) → 500 (captions) → 700 (buttons) is the hierarchy.
104
- - **Letter-spacing is barely-there.** Most values are 0.1–0.45px, either positive or slightly negative. The `-0.1px` on the 54px hero tightens the display type just enough to read as "designed" without becoming a typographic statement.
105
- - **Two SST casings.** "SST" and "Playstation SST" are functionally the same family with slightly different metric sets (Playstation SST is tighter at small sizes). Treat them as interchangeable for purposes outside Sony's internal licensing.
106
- - **No all-caps.** Unlike The Verge or Wired, PlayStation rarely uses UPPERCASE labels. Kickers and tags stay in title case or sentence case — another "quiet authority" move.
107
- - **No serif anywhere.** The entire system is sans. There is no print-voice counterpoint.
108
-
109
- ## 4. Component Stylings
110
-
111
- ### Buttons
112
-
113
- **Primary — PlayStation Blue Pill**
114
- - Background: `#0070cc` (PlayStation Blue)
115
- - Text: `#ffffff`, SST 18px / 500 / 0.4px tracking
116
- - Border: none at rest
117
- - Border radius: `999px` — full pill
118
- - Padding: ~`12px 24px` (variable based on size class)
119
- - Outline: `rgb(255, 255, 255) none 0px` at rest
120
- - **Hover (signature move)**:
121
- - Background fills to `#1eaedb` (PlayStation Cyan)
122
- - Text stays `#ffffff`
123
- - 2px `#ffffff` border appears
124
- - 2px `#0070cc` outer ring shadow blooms (`0 0 0 2px #0070cc`)
125
- - `transform: scale(1.2)` — the button actually grows 20%
126
- - Active: `opacity: 0.6` — a quick dim to signal press
127
- - Focus: Same as hover, but the ring turns into `rgb(0, 114, 206) 0px 0px 0px 2px` focus shadow
128
- - Transition: ~180ms ease on background, transform, and shadow
129
-
130
- **Secondary — White Outline on Dark**
131
- - Background: `#ffffff`
132
- - Text: `#0172ce` (PlayStation Blue variant)
133
- - Border: `2px outset #000000` — a genuine `outset` border, which is extremely rare in modern CSS
134
- - Radius: varies (often `999px` or `36px`)
135
- - Padding: `16px 20px`
136
- - Hover: same signature cyan fill + scale(1.2) + ring treatment
137
- - Focus: same ring treatment
138
-
139
- **Commerce Orange**
140
- - Background: `#d53b00` (Commerce Orange)
141
- - Text: `#ffffff`, SST 18px / 700 / 0.45px tracking
142
- - Border radius: `999px` — pill
143
- - Used only on PS Store / Buy / Subscribe Plus CTAs
144
- - Active: background darkens to `#aa2f00`
145
- - Hover: follows the cyan-invert rule like all other buttons (NOT an orange-specific hover)
146
-
147
- **Transparent Ghost**
148
- - Background: transparent
149
- - Text: `#1f1f1f` (Deep Charcoal)
150
- - Border: `1px solid #dedede`
151
- - Padding: `0 10px` (tight, nav-optimized)
152
- - Hover: cyan fill, white text, 2px white border, scale(1.2)
153
- - Active: text shifts to `#0072ce`, opacity 0.6
154
-
155
- **Icon Circle**
156
- - Background: `rgba(0, 0, 0, 0.2)` on photography; `#ffffff` on light surfaces
157
- - Border radius: `100%` — perfect circle
158
- - Used for carousel prev/next arrows and share buttons
159
- - Hover: lightens to `var(--color-role-backgrounds-primary-link-hover)` (roughly `#e5e5e5` on light)
160
-
161
- **Mini CTA (In-card)**
162
- - SST 14px / 700 / 0.324px tracking
163
- - Padding ~8px 16px
164
- - Radius: `999px`
165
- - Used inside game cards for "Buy Now" / "Add to Cart" mini CTAs
166
-
167
- ### Cards & Containers
168
-
169
- **Hero Card (Game Feature)**
170
- - Background: photography/render — usually black-anchored
171
- - Border radius: `24px` or `19px` for feature cards
172
- - Padding: 32–48px interior
173
- - Shadow: `rgba(0, 0, 0, 0.8) 0px 5px 9px 0px` — a dramatic drop-shadow only used when a card overlaps the hero photography
174
- - Hover: subtle scale transform, cyan outline appears on primary CTA
175
-
176
- **Game Cover Tile**
177
- - Background: game cover art, unpadded
178
- - Border radius: `12px` or `13px` (images) / `19px` (card frame)
179
- - Shadow: `rgba(0, 0, 0, 0.08) 0px 5px 9px 0px` — feather-weight elevation
180
- - Hover: the card's primary CTA lights up cyan, the card itself may scale 1.02×
181
- - Transition: 200ms ease on transform
182
-
183
- **Content Panel (White)**
184
- - Background: `#ffffff` or the light section gradient `#ffffff → #f5f7fa`
185
- - Border: typically none; separated from neighbors by spacing and subtle shadows
186
- - Radius: `12px`–`24px` depending on panel hierarchy
187
- - Shadow: `rgba(0, 0, 0, 0.06) 0px 5px 9px 0px` — the lightest in the system
188
-
189
- **Dark Card on Dark**
190
- - Background: `rgba(0, 0, 0, 0.2)` over photography
191
- - Border radius: `6px` (compact) or `24px` (feature)
192
- - Used for "press kit" or "stat block" inlays over hero video
193
-
194
- ### Inputs & Forms
195
- - **Default**: `#ffffff` background, `1px solid #cccccc` border, `3px` border radius (tighter than the rest of the system — inputs are the one place where PlayStation gets genuinely compact), SST 16px text in `#1f1f1f`, placeholder `rgba(0, 0, 0, 0.6)`.
196
- - **Focus**: 2px `#0070cc` focus ring via `box-shadow: 0 0 0 2px #0070cc`. No border-color change — the ring does the work.
197
- - **Error**: border and text shift to `#c81b3a` (Warning Red), inline error text below in the same red.
198
- - **Transition**: ~180ms ease on border and shadow.
199
-
200
- ### Navigation
201
-
202
- - **Top nav**: black (`#000000`) full-bleed strip with the PlayStation logo (white) left-aligned, category links centered in SST 14–16px / 500, and a small "Sign In" CTA right-aligned.
203
- - **Hover on nav link**: color transitions from `#ffffff` to `#1883fd` (Link Hover Blue), no underline.
204
- - **Active section**: marked by a subtle 2px underline in `#0070cc`.
205
- - **Mobile**: nav collapses to a hamburger drawer. Inside the drawer, links stack vertically with 16px gaps and 20px horizontal padding.
206
- - **Sticky behavior**: the nav stays pinned at the top on scroll; when it enters a light-surface zone it **does not invert** — it stays black-backed throughout.
207
-
208
- ### Image Treatment
209
-
210
- - **Aspect ratios**: 16:9 hero video/photography, 1:1 console renders, 3:4 game cover art, 4:3 lifestyle imagery.
211
- - **Corners**: rounded to `12px`, `13px`, or `24px` depending on card context. Game covers get `6–12px`, hero images get `24px`.
212
- - **Full-bleed**: only in the masthead hero and footer promotional banners. Everything else sits inside a padded content column.
213
- - **Shadow**: dramatic `rgba(0, 0, 0, 0.8) 0 5px 9px 0` drop on heroes, feather `rgba(0, 0, 0, 0.06) 0 5px 9px 0` on grid tiles.
214
- - **Hover**: image stays static, the card frame and primary CTA respond.
215
- - **Lazy loading**: `loading="lazy"` on everything below the fold, `eager` on the masthead hero.
216
-
217
- ### Game Store Pill (Distinctive)
218
- - Background: `#ffffff`
219
- - Text: `#000000`, SST 14px / 500
220
- - Padding: `14px 18px`
221
- - Radius: `9999px` — full pill
222
- - A neutral pill tag that sits next to game covers to label platform ("PS5", "PS4", "PSVR2"). White-on-dark contrast.
223
-
224
- ## 5. Layout Principles
225
-
226
- ### Spacing System
227
- - **Base unit**: 8px.
228
- - **Scale**: 1, 2, 3, 4.5, 5, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21px.
229
- - **Section padding**: 48–96px vertical between major panels. Hero-to-content transitions use the larger end.
230
- - **Card padding**: 20–32px interior. Feature hero cards can expand to 48px.
231
- - **Inline spacing**: 8–12px between headline and deck, 12–16px between deck and CTA.
232
- - **Micro-scale**: The 1/2/3/4.5/5/9/10/12 values are used for pill padding, caption spacing, and border offsets — not for editorial rhythm.
233
-
234
- ### Grid & Container
235
- - **Max width**: ~1920px (dembrandt detected breakpoints up to 2120px). Container caps typically around `1280–1920px` depending on panel.
236
- - **Column patterns**: 12-column responsive grid that resolves into 3/4/6-column game tile rows depending on hierarchy. Hero zones often span 12 columns; featured tiles sit in 6+3+3 or 4+4+4 configurations.
237
- - **Outer padding**: 16px mobile → 48px tablet → 64–96px desktop.
238
- - **Gutters**: 16–24px between columns, tighter (8–12px) inside tile clusters.
239
-
240
- ### Whitespace Philosophy
241
- PlayStation treats whitespace like a luxury brand treats store lighting — as a premium signal. There is noticeably more vertical breathing room between modules than on any other major retail site, and the white editorial panels often hold only one headline + one image + one CTA at hero-scale padding. The effect is a "gallery pace" where each product gets its own room rather than competing in a grid of thumbnails.
242
-
243
- ### Border Radius Scale
244
- - **2px** — cookie banner buttons and small admin UI
245
- - **3px** — form inputs, tab panels (tighter than everything else — a deliberate "functional UI" cue)
246
- - **6px** — compact buttons and inline images
247
- - **12px** — standard game cover images and content images
248
- - **13px** — certain figure wrappers (a 1px offset from 12px for nesting)
249
- - **19px** — feature cards
250
- - **20px** — inline tag spans
251
- - **24px** — hero cards, primary feature frames
252
- - **36px** — full-pill nav and secondary button variants
253
- - **48px** — large feature buttons
254
- - **999px / 100%** — full pill primary buttons and circular icon buttons
255
-
256
- Eleven discrete radius values — one of the richest radius systems of any site in this catalog. The range exists because PlayStation deliberately uses different radii for different *hierarchies*: 3px for utility, 12px for media, 24px for features, 999px for CTAs.
257
-
258
- ## 6. Depth & Elevation
259
-
260
- | Level | Treatment | Use |
261
- |---|---|---|
262
- | 0 | No shadow | Default content on `#ffffff` |
263
- | 1 | `rgba(0, 0, 0, 0.06) 0 5px 9px 0` | Feather-light editorial panel lift |
264
- | 2 | `rgba(0, 0, 0, 0.08) 0 5px 9px 0` | Standard grid tile elevation |
265
- | 3 | `rgba(0, 0, 0, 0.16) 0 5px 9px 0` | Emphasized card (hover or active) |
266
- | 4 | `rgba(0, 0, 0, 0.8) 0 5px 9px 0` | Hero overlay shadow — dramatic drop used over photography |
267
- | 5 | `0 0 0 2px #0070cc` (focus ring) | Primary button focus state |
268
- | 6 | `0 0 0 2px #000000` (hover ring) | Secondary button hover ring |
269
- | 7 | Section gradient `#121314 → #000000` | Atmospheric depth on dark hero panels |
270
-
271
- PlayStation's depth philosophy is **layered but restrained**. The shadow scale runs from 0.06 to 0.16 for normal states, then jumps to 0.8 for hero drops — there is no 0.2, 0.3, 0.4 middle ground. The effect is that most of the page sits almost flat, but when a hero card needs to float over photography, it genuinely *floats*. Elevation is either whispered or shouted, never muttered.
272
-
273
- ### Decorative Depth
274
- - **Section gradients** (dark and light, both described above) — used only as section backgrounds
275
- - **Focus/hover rings** at 2px, always blue or cyan depending on state
276
- - **No glows, blurs, or atmospheric effects** beyond the two section gradients
277
- - **No gradient buttons or text** — the visual system is solid color blocks everywhere except section transitions
278
-
279
- ## 7. Do's and Don'ts
280
-
281
- ### Do
282
- - **Do** use PlayStation Blue (`#0070cc`) as the primary CTA fill and the footer anchor. It is the brand's anchor color.
283
- - **Do** use SST weight 300 for every display headline 22px and above. The quiet-weight headline is the voice.
284
- - **Do** apply the full hover signature to every primary button: cyan fill + 2px white border + 2px blue outer ring + `scale(1.2)`.
285
- - **Do** use full-pill radius (`999px`) on primary and commerce buttons.
286
- - **Do** reserve PlayStation Cyan (`#1eaedb`) exclusively for hover, focus, and active states — never as a resting background.
287
- - **Do** use Commerce Orange (`#d53b00`) only on PlayStation Store / purchase CTAs and price callouts.
288
- - **Do** alternate dark hero panels with white content panels and anchor with a deep blue footer — the three-surface channel layout is the page rhythm.
289
- - **Do** use dramatic `rgba(0, 0, 0, 0.8)` hero drop shadows when a card overlaps product photography.
290
- - **Do** keep the top nav black on every scroll position — it does not invert to white over light panels.
291
-
292
- ### Don't
293
- - **Don't** bold display headlines. Weight 300 at 22–54px is the PlayStation voice. Weight 700 display type reads as "another game retailer".
294
- - **Don't** use ALL-CAPS labels or kickers. PlayStation rarely uses uppercase — it is a quiet-authority brand, not a hazard-tape one.
295
- - **Don't** use gradient buttons, text, or backgrounds outside the two declared section gradients.
296
- - **Don't** introduce warm colors outside Commerce Orange. No red CTAs, no yellow highlights, no green success pills.
297
- - **Don't** use square corners on buttons or media. The system has eleven radii — pick one, but never `0`.
298
- - **Don't** skip the `scale(1.2)` hover move on primary buttons. The lift-scale is a brand interaction signature.
299
- - **Don't** use serif type. The system is 100% SST sans.
300
- - **Don't** let cyan `#1eaedb` appear as a text or background color at rest. It only exists in motion.
301
- - **Don't** design panels that fight for attention. PlayStation's whitespace rhythm gives each module its own "gallery room".
302
-
303
- ## 8. Responsive Behavior
304
-
305
- ### Breakpoints
306
-
307
- | Name | Width | Key Changes |
308
- |---|---|---|
309
- | Small Mobile | <400px | Single column, nav collapses to hamburger, SST hero scales to ~28px |
310
- | Mobile | 400–599px | Single column, tiles stack full-width, padding opens to 16px |
311
- | Large Mobile | 600–767px | Still single column but 2-column tile option in select modules |
312
- | Tablet Portrait | 768–1023px | 2-column game grid, nav still condensed |
313
- | Tablet Landscape | 1024–1279px | 3–4 column grid, full nav restored |
314
- | Desktop | 1280–1599px | Full editorial grid, max hero display scale (44–54px) |
315
- | Large Desktop | 1600–1919px | Container caps at 1600px, margins expand |
316
- | 4K / Big-Screen | ≥1920px | Container expands to 1920px max, hero content scales up to match TV viewing distance |
317
- | Ultra-Wide | ≥2120px | Extreme breakpoint — page stays anchored, outer margins absorb extra width |
318
-
319
- The dembrandt sweep detected 30 breakpoints between 320px and 2120px — an unusually wide responsive range. PlayStation tunes specifically for **big-screen contexts** (1920–2120px) because PS5 owners frequently browse the site on TVs via the console's browser or via cast-to-TV from a phone. Most retail sites stop tuning at 1440px; PlayStation keeps tuning through 4K.
320
-
321
- ### Touch Targets
322
- - Primary pill buttons are ~48–56px tall (SST 18px text + ~12–16px vertical padding) — comfortably WCAG AAA.
323
- - Nav links are smaller (~32–40px tall) at desktop; on mobile they pad out to 48px+ inside the drawer.
324
- - Icon circle buttons are 40–48px — touch-friendly.
325
-
326
- ### Collapsing Strategy
327
- - **Nav**: full nav → condensed → hamburger drawer as viewport narrows. Logo stays pinned left; CTA stays pinned right.
328
- - **Grid**: 6-col → 4-col → 3-col → 2-col → 1-col. Game tile cards reflow without cropping cover art.
329
- - **Spacing**: section padding tightens from 96px → 64px → 48px → 32px → 24px as viewport narrows.
330
- - **Type**: SST hero scales from 54px → 44px → 35px → 28px → 22px. The light weight 300 is preserved at every size.
331
- - **Hero photography**: art-direction swap — desktop uses wide 16:9 crops, mobile uses 4:3 or 1:1 crops with the product centered.
332
-
333
- ### Image Behavior
334
- - Responsive raster (`srcset` + `<picture>` with art-direction), aspect ratios preserved per breakpoint.
335
- - 4K-ready: the site serves high-density imagery at 1920px+ to avoid upscaling on TV browsing.
336
- - `loading="lazy"` on everything below the fold; hero is `eager` with a preload hint.
337
-
338
- ## 9. Agent Prompt Guide
339
-
340
- ### Quick Color Reference
341
- - **Primary CTA**: "PlayStation Blue (`#0070cc`)"
342
- - **Hover / Focus Accent**: "PlayStation Cyan (`#1eaedb`)"
343
- - **Background (White Surface)**: "Paper White (`#ffffff`)"
344
- - **Background (Dark Surface)**: "Console Black (`#000000`)"
345
- - **Heading Text on White**: "Display Ink (`#000000`)"
346
- - **Body Text on White**: "Deep Charcoal (`#1f1f1f`)"
347
- - **Body Text on Black**: "Inverse White (`#ffffff`)"
348
- - **Commerce / Buy Accent**: "Commerce Orange (`#d53b00`)"
349
- - **Footer Anchor**: "PlayStation Blue (`#0070cc`)"
350
-
351
- ### Example Component Prompts
352
- 1. *"Create a primary CTA button with a `#0070cc` PlayStation Blue fill, white text in SST 18px / 500 / 0.4px tracking, 999px border radius, 12px × 24px padding. On hover, the background transitions to `#1eaedb` PlayStation Cyan, a 2px `#ffffff` border appears, a 2px `#0070cc` outer ring blooms via box-shadow, and the entire button scales 1.2× — all in a 180ms ease transition."*
353
- 2. *"Design a hero panel on a `#000000` Console Black canvas with a 54px SST weight 300 headline in `#ffffff` with -0.1px letter-spacing and 1.25 line-height. Place a single primary CTA below with the standard PlayStation hover treatment. No ALL-CAPS labels anywhere."*
354
- 3. *"Build a game cover tile: 3:4 aspect ratio image with 12px border radius, feather-weight `rgba(0, 0, 0, 0.08) 0 5px 9px 0` drop shadow, a 14px SST 700 title below, a 12px SST 500 platform tag, and a mini 14px / 700 / 0.324px tracking primary CTA in PlayStation Blue."*
355
- 4. *"Create a commerce pill button for a PlayStation Store purchase: `#d53b00` Commerce Orange fill, `#ffffff` text in SST 18px / 700 / 0.45px tracking, 999px radius, 12px × 28px padding. Active state darkens to `#aa2f00`. Hover follows the standard cyan-invert with 1.2× scale."*
356
- 5. *"Design a white content panel between dark hero sections: `#ffffff` background with the subtle `#ffffff → #f5f7fa` light section gradient, 24px border radius, 48px interior padding, feather-weight `rgba(0, 0, 0, 0.06) 0 5px 9px 0` elevation, a 35px SST 300 headline, a 18px body paragraph, and a single primary CTA."*
357
-
358
- ### Iteration Guide
359
- When refining existing screens generated with this design system:
360
- 1. **Audit display weight.** Every headline 22px and above should be SST weight 300. If you see weight 500 or 700 at hero scale, you've lost the PlayStation voice.
361
- 2. **Audit the hover treatment.** Every primary button must scale 1.2× on hover with the cyan-fill + white-border + blue-ring combination. Miss any of those four and the interaction signature breaks.
362
- 3. **Audit corners.** Every container and button should land on 2, 3, 6, 12, 13, 19, 20, 24, 36, 48, or 999px / 100%. Square corners break the voice.
363
- 4. **Audit color sprawl.** Only PlayStation Blue (`#0070cc`), Cyan (`#1eaedb`), Commerce Orange (`#d53b00`), and the declared grays/blacks/whites should appear in chrome. If you see any other hue, correct it.
364
- 5. **Audit surface alternation.** The page should alternate dark hero → white content → dark hero → white content → blue footer. If two same-surface panels are adjacent, insert a transition.
365
- 6. **Audit casing.** Sentence case and title case only. No ALL-CAPS labels, buttons, or kickers. If you see uppercase, convert it.
366
- 7. **Audit shadow weight.** Shadow opacity should land on 0.06 / 0.08 / 0.16 / 0.8 — nothing in between. If you see 0.1, 0.2, 0.3, 0.5 drop shadows, correct to the nearest declared tier.
367
- 8. **Audit whitespace.** If two modules feel "competitive" (fighting for attention), add 48–96px of vertical breathing room. PlayStation's gallery-pace rhythm is non-negotiable.