oh-my-design-cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +145 -0
  3. package/README.ko.md +245 -0
  4. package/README.md +245 -0
  5. package/README.zh-TW.md +145 -0
  6. package/data/reference-tags.md +104 -0
  7. package/data/synonyms.json +79 -0
  8. package/data/vocabulary.json +516 -0
  9. package/dist/bin/oh-my-design.js +858 -0
  10. package/dist/bin/oh-my-design.js.map +1 -0
  11. package/dist/chunk-6YNSV3VY.js +35 -0
  12. package/dist/chunk-6YNSV3VY.js.map +1 -0
  13. package/dist/chunk-MHFYGZSO.js +337 -0
  14. package/dist/chunk-MHFYGZSO.js.map +1 -0
  15. package/dist/chunk-N2JG6N4Q.js +264 -0
  16. package/dist/chunk-N2JG6N4Q.js.map +1 -0
  17. package/dist/chunk-OOQQEUGX.js +46 -0
  18. package/dist/chunk-OOQQEUGX.js.map +1 -0
  19. package/dist/chunk-OR5DHENY.js +250 -0
  20. package/dist/chunk-OR5DHENY.js.map +1 -0
  21. package/dist/customizer-CM76752R.js +8 -0
  22. package/dist/customizer-CM76752R.js.map +1 -0
  23. package/dist/index.d.ts +559 -0
  24. package/dist/index.js +3113 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/init-STACB7E5.js +635 -0
  27. package/dist/init-STACB7E5.js.map +1 -0
  28. package/dist/install-skills-CM6VXFZJ.js +152 -0
  29. package/dist/install-skills-CM6VXFZJ.js.map +1 -0
  30. package/dist/learn-33LHKEJA.js +140 -0
  31. package/dist/learn-33LHKEJA.js.map +1 -0
  32. package/dist/reference-YMNAOXJQ.js +47 -0
  33. package/dist/reference-YMNAOXJQ.js.map +1 -0
  34. package/dist/reference-parser-TM3CJPNE.js +10 -0
  35. package/dist/reference-parser-TM3CJPNE.js.map +1 -0
  36. package/dist/remember-UAFA5B2O.js +78 -0
  37. package/dist/remember-UAFA5B2O.js.map +1 -0
  38. package/dist/sync-P7X4S2DK.js +404 -0
  39. package/dist/sync-P7X4S2DK.js.map +1 -0
  40. package/dist/templates/templates/design-md.hbs +44 -0
  41. package/dist/templates/templates/partials/agent-prompt-guide.hbs +28 -0
  42. package/dist/templates/templates/partials/color-palette.hbs +49 -0
  43. package/dist/templates/templates/partials/component-stylings.hbs +28 -0
  44. package/dist/templates/templates/partials/depth-elevation.hbs +31 -0
  45. package/dist/templates/templates/partials/dos-donts.hbs +13 -0
  46. package/dist/templates/templates/partials/layout.hbs +30 -0
  47. package/dist/templates/templates/partials/responsive.hbs +25 -0
  48. package/dist/templates/templates/partials/shadcn-tokens.hbs +64 -0
  49. package/dist/templates/templates/partials/typography.hbs +43 -0
  50. package/dist/templates/templates/partials/visual-theme.hbs +26 -0
  51. package/package.json +68 -0
  52. package/references/Claude-Design-Sys-Prompt.txt +421 -0
  53. package/references/airbnb/DESIGN.md +427 -0
  54. package/references/airbnb/README.md +23 -0
  55. package/references/airbnb/preview-dark.html +234 -0
  56. package/references/airbnb/preview.html +233 -0
  57. package/references/airtable/DESIGN.md +107 -0
  58. package/references/airtable/README.md +23 -0
  59. package/references/airtable/preview-dark.html +165 -0
  60. package/references/airtable/preview.html +164 -0
  61. package/references/apple/DESIGN.md +496 -0
  62. package/references/apple/README.md +24 -0
  63. package/references/apple/preview-dark.html +420 -0
  64. package/references/apple/preview.html +414 -0
  65. package/references/baemin/DESIGN.md +260 -0
  66. package/references/baemin/README.md +19 -0
  67. package/references/bmw/DESIGN.md +180 -0
  68. package/references/bmw/README.md +23 -0
  69. package/references/bmw/preview-dark.html +211 -0
  70. package/references/bmw/preview.html +210 -0
  71. package/references/cal/DESIGN.md +259 -0
  72. package/references/cal/README.md +23 -0
  73. package/references/cal/preview-dark.html +449 -0
  74. package/references/cal/preview.html +575 -0
  75. package/references/claude/DESIGN.md +455 -0
  76. package/references/claude/README.md +24 -0
  77. package/references/claude/preview-dark.html +803 -0
  78. package/references/claude/preview.html +826 -0
  79. package/references/clay/DESIGN.md +304 -0
  80. package/references/clay/README.md +23 -0
  81. package/references/clay/preview-dark.html +316 -0
  82. package/references/clay/preview.html +315 -0
  83. package/references/clickhouse/DESIGN.md +281 -0
  84. package/references/clickhouse/README.md +24 -0
  85. package/references/clickhouse/preview-dark.html +834 -0
  86. package/references/clickhouse/preview.html +786 -0
  87. package/references/cohere/DESIGN.md +266 -0
  88. package/references/cohere/README.md +24 -0
  89. package/references/cohere/preview-dark.html +803 -0
  90. package/references/cohere/preview.html +807 -0
  91. package/references/coinbase/DESIGN.md +129 -0
  92. package/references/coinbase/README.md +23 -0
  93. package/references/coinbase/preview-dark.html +164 -0
  94. package/references/coinbase/preview.html +163 -0
  95. package/references/composio/DESIGN.md +307 -0
  96. package/references/composio/README.md +24 -0
  97. package/references/composio/preview-dark.html +958 -0
  98. package/references/composio/preview.html +933 -0
  99. package/references/cursor/DESIGN.md +322 -0
  100. package/references/cursor/README.md +24 -0
  101. package/references/cursor/preview-dark.html +393 -0
  102. package/references/cursor/preview.html +383 -0
  103. package/references/dcard/DESIGN.md +302 -0
  104. package/references/dcard/README.md +12 -0
  105. package/references/dcard/_research/forum-1440px.png +0 -0
  106. package/references/dcard/_research.md +77 -0
  107. package/references/elevenlabs/DESIGN.md +265 -0
  108. package/references/elevenlabs/README.md +23 -0
  109. package/references/elevenlabs/preview-dark.html +252 -0
  110. package/references/elevenlabs/preview.html +251 -0
  111. package/references/expo/DESIGN.md +281 -0
  112. package/references/expo/README.md +24 -0
  113. package/references/expo/preview-dark.html +533 -0
  114. package/references/expo/preview.html +533 -0
  115. package/references/ferrari/DESIGN.md +314 -0
  116. package/references/ferrari/README.md +23 -0
  117. package/references/ferrari/preview-dark.html +1162 -0
  118. package/references/ferrari/preview.html +1122 -0
  119. package/references/figma/DESIGN.md +399 -0
  120. package/references/figma/README.md +24 -0
  121. package/references/figma/preview-dark.html +822 -0
  122. package/references/figma/preview.html +832 -0
  123. package/references/framer/DESIGN.md +246 -0
  124. package/references/framer/README.md +23 -0
  125. package/references/framer/preview-dark.html +902 -0
  126. package/references/framer/preview.html +883 -0
  127. package/references/freee/DESIGN.md +308 -0
  128. package/references/freee/README.md +12 -0
  129. package/references/freee/_research/vibes-storybook-1440px.png +0 -0
  130. package/references/freee/_research.md +77 -0
  131. package/references/hashicorp/DESIGN.md +278 -0
  132. package/references/hashicorp/README.md +24 -0
  133. package/references/hashicorp/preview-dark.html +1202 -0
  134. package/references/hashicorp/preview.html +1193 -0
  135. package/references/ibm/DESIGN.md +332 -0
  136. package/references/ibm/README.md +24 -0
  137. package/references/ibm/preview-dark.html +443 -0
  138. package/references/ibm/preview.html +428 -0
  139. package/references/intercom/DESIGN.md +146 -0
  140. package/references/intercom/README.md +23 -0
  141. package/references/intercom/preview-dark.html +185 -0
  142. package/references/intercom/preview.html +184 -0
  143. package/references/kakao/DESIGN.md +261 -0
  144. package/references/kakao/README.md +18 -0
  145. package/references/karrot/DESIGN.md +252 -0
  146. package/references/karrot/README.md +18 -0
  147. package/references/kraken/DESIGN.md +146 -0
  148. package/references/kraken/README.md +23 -0
  149. package/references/kraken/preview-dark.html +169 -0
  150. package/references/kraken/preview.html +168 -0
  151. package/references/lamborghini/DESIGN.md +288 -0
  152. package/references/lamborghini/README.md +23 -0
  153. package/references/lamborghini/preview-dark.html +303 -0
  154. package/references/lamborghini/preview.html +381 -0
  155. package/references/line/DESIGN.md +375 -0
  156. package/references/line/README.md +12 -0
  157. package/references/line/_research/home-1440px.png +0 -0
  158. package/references/line/_research.md +65 -0
  159. package/references/linear.app/DESIGN.md +526 -0
  160. package/references/linear.app/README.md +24 -0
  161. package/references/linear.app/preview-dark.html +383 -0
  162. package/references/linear.app/preview.html +373 -0
  163. package/references/lovable/DESIGN.md +298 -0
  164. package/references/lovable/README.md +24 -0
  165. package/references/lovable/preview-dark.html +349 -0
  166. package/references/lovable/preview.html +348 -0
  167. package/references/mercari/DESIGN.md +294 -0
  168. package/references/mercari/README.md +12 -0
  169. package/references/mercari/_research/home-1440px.png +0 -0
  170. package/references/mercari/_research.md +77 -0
  171. package/references/minimax/DESIGN.md +257 -0
  172. package/references/minimax/README.md +24 -0
  173. package/references/minimax/preview-dark.html +1262 -0
  174. package/references/minimax/preview.html +1248 -0
  175. package/references/mintlify/DESIGN.md +341 -0
  176. package/references/mintlify/README.md +24 -0
  177. package/references/mintlify/preview-dark.html +409 -0
  178. package/references/mintlify/preview.html +398 -0
  179. package/references/miro/DESIGN.md +108 -0
  180. package/references/miro/README.md +23 -0
  181. package/references/miro/preview-dark.html +174 -0
  182. package/references/miro/preview.html +173 -0
  183. package/references/mistral.ai/DESIGN.md +261 -0
  184. package/references/mistral.ai/README.md +24 -0
  185. package/references/mistral.ai/preview-dark.html +806 -0
  186. package/references/mistral.ai/preview.html +805 -0
  187. package/references/mongodb/DESIGN.md +266 -0
  188. package/references/mongodb/README.md +23 -0
  189. package/references/mongodb/preview-dark.html +260 -0
  190. package/references/mongodb/preview.html +259 -0
  191. package/references/notion/DESIGN.md +492 -0
  192. package/references/notion/README.md +24 -0
  193. package/references/notion/preview-dark.html +372 -0
  194. package/references/notion/preview.html +364 -0
  195. package/references/nvidia/DESIGN.md +308 -0
  196. package/references/nvidia/README.md +24 -0
  197. package/references/nvidia/preview-dark.html +374 -0
  198. package/references/nvidia/preview.html +366 -0
  199. package/references/ollama/DESIGN.md +267 -0
  200. package/references/ollama/README.md +24 -0
  201. package/references/ollama/preview-dark.html +678 -0
  202. package/references/ollama/preview.html +678 -0
  203. package/references/opencode.ai/DESIGN.md +295 -0
  204. package/references/opencode.ai/README.md +24 -0
  205. package/references/opencode.ai/preview-dark.html +366 -0
  206. package/references/opencode.ai/preview.html +357 -0
  207. package/references/pinkoi/DESIGN.md +309 -0
  208. package/references/pinkoi/README.md +12 -0
  209. package/references/pinkoi/_research/browse-1440px.png +0 -0
  210. package/references/pinkoi/_research.md +115 -0
  211. package/references/pinterest/DESIGN.md +230 -0
  212. package/references/pinterest/README.md +23 -0
  213. package/references/pinterest/preview-dark.html +233 -0
  214. package/references/pinterest/preview.html +232 -0
  215. package/references/posthog/DESIGN.md +256 -0
  216. package/references/posthog/README.md +23 -0
  217. package/references/posthog/preview-dark.html +699 -0
  218. package/references/posthog/preview.html +749 -0
  219. package/references/raycast/DESIGN.md +268 -0
  220. package/references/raycast/README.md +23 -0
  221. package/references/raycast/preview-dark.html +606 -0
  222. package/references/raycast/preview.html +688 -0
  223. package/references/renault/DESIGN.md +311 -0
  224. package/references/renault/README.md +23 -0
  225. package/references/renault/preview-dark.html +406 -0
  226. package/references/renault/preview.html +606 -0
  227. package/references/replicate/DESIGN.md +261 -0
  228. package/references/replicate/README.md +24 -0
  229. package/references/replicate/preview-dark.html +828 -0
  230. package/references/replicate/preview.html +831 -0
  231. package/references/resend/DESIGN.md +303 -0
  232. package/references/resend/README.md +23 -0
  233. package/references/resend/preview-dark.html +355 -0
  234. package/references/resend/preview.html +354 -0
  235. package/references/revolut/DESIGN.md +185 -0
  236. package/references/revolut/README.md +23 -0
  237. package/references/revolut/preview-dark.html +234 -0
  238. package/references/revolut/preview.html +233 -0
  239. package/references/runwayml/DESIGN.md +244 -0
  240. package/references/runwayml/README.md +24 -0
  241. package/references/runwayml/preview-dark.html +664 -0
  242. package/references/runwayml/preview.html +665 -0
  243. package/references/sanity/DESIGN.md +357 -0
  244. package/references/sanity/README.md +24 -0
  245. package/references/sanity/preview-dark.html +990 -0
  246. package/references/sanity/preview.html +1135 -0
  247. package/references/sentry/DESIGN.md +262 -0
  248. package/references/sentry/README.md +24 -0
  249. package/references/sentry/preview-dark.html +626 -0
  250. package/references/sentry/preview.html +951 -0
  251. package/references/spacex/DESIGN.md +205 -0
  252. package/references/spacex/README.md +23 -0
  253. package/references/spacex/preview-dark.html +221 -0
  254. package/references/spacex/preview.html +220 -0
  255. package/references/spotify/DESIGN.md +246 -0
  256. package/references/spotify/README.md +23 -0
  257. package/references/spotify/preview-dark.html +231 -0
  258. package/references/spotify/preview.html +230 -0
  259. package/references/stripe/DESIGN.md +473 -0
  260. package/references/stripe/README.md +24 -0
  261. package/references/stripe/preview-dark.html +428 -0
  262. package/references/stripe/preview.html +419 -0
  263. package/references/supabase/DESIGN.md +255 -0
  264. package/references/supabase/README.md +24 -0
  265. package/references/supabase/preview-dark.html +977 -0
  266. package/references/supabase/preview.html +955 -0
  267. package/references/superhuman/DESIGN.md +252 -0
  268. package/references/superhuman/README.md +23 -0
  269. package/references/superhuman/preview-dark.html +973 -0
  270. package/references/superhuman/preview.html +951 -0
  271. package/references/tesla/DESIGN.md +286 -0
  272. package/references/tesla/README.md +23 -0
  273. package/references/tesla/preview-dark.html +947 -0
  274. package/references/tesla/preview.html +925 -0
  275. package/references/together.ai/DESIGN.md +263 -0
  276. package/references/together.ai/README.md +24 -0
  277. package/references/together.ai/preview-dark.html +892 -0
  278. package/references/together.ai/preview.html +897 -0
  279. package/references/toss/DESIGN.md +387 -0
  280. package/references/toss/README.md +19 -0
  281. package/references/uber/DESIGN.md +295 -0
  282. package/references/uber/README.md +24 -0
  283. package/references/uber/preview-dark.html +1120 -0
  284. package/references/uber/preview.html +1119 -0
  285. package/references/vercel/DESIGN.md +456 -0
  286. package/references/vercel/README.md +24 -0
  287. package/references/vercel/preview-dark.html +368 -0
  288. package/references/vercel/preview.html +367 -0
  289. package/references/voltagent/DESIGN.md +323 -0
  290. package/references/voltagent/README.md +24 -0
  291. package/references/voltagent/preview-dark.html +487 -0
  292. package/references/voltagent/preview.html +766 -0
  293. package/references/warp/DESIGN.md +253 -0
  294. package/references/warp/README.md +23 -0
  295. package/references/warp/preview-dark.html +500 -0
  296. package/references/warp/preview.html +533 -0
  297. package/references/webflow/DESIGN.md +109 -0
  298. package/references/webflow/README.md +23 -0
  299. package/references/webflow/preview-dark.html +147 -0
  300. package/references/webflow/preview.html +146 -0
  301. package/references/wise/DESIGN.md +173 -0
  302. package/references/wise/README.md +23 -0
  303. package/references/wise/preview-dark.html +230 -0
  304. package/references/wise/preview.html +229 -0
  305. package/references/x.ai/DESIGN.md +267 -0
  306. package/references/x.ai/README.md +24 -0
  307. package/references/x.ai/preview-dark.html +356 -0
  308. package/references/x.ai/preview.html +407 -0
  309. package/references/zapier/DESIGN.md +328 -0
  310. package/references/zapier/README.md +24 -0
  311. package/references/zapier/preview-dark.html +380 -0
  312. package/references/zapier/preview.html +372 -0
  313. package/skills/omd-apply/SKILL.md +85 -0
  314. package/skills/omd-init/SKILL.md +167 -0
  315. package/skills/omd-learn/SKILL.md +81 -0
  316. package/skills/omd-remember/SKILL.md +44 -0
  317. package/skills/omd-sync/SKILL.md +38 -0
@@ -0,0 +1,230 @@
1
+ # Design System Inspiration of Pinterest
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Pinterest's website is a warm, inspiration-driven canvas that treats visual discovery like a lifestyle magazine. The design operates on a soft, slightly warm white background with Pinterest Red (`#e60023`) as the singular, bold brand accent. Unlike the cool blues of most tech platforms, Pinterest's neutral scale has a distinctly warm undertone — grays lean toward olive/sand (`#91918c`, `#62625b`, `#e5e5e0`) rather than cool steel, creating a cozy, craft-like atmosphere that invites browsing.
6
+
7
+ The typography uses Pin Sans — a custom proprietary font with a broad fallback stack including Japanese fonts, reflecting Pinterest's global reach. At display scale (70px, weight 600), Pin Sans creates large, inviting headlines. At smaller sizes, the system is compact: buttons at 12px, captions at 12–14px. The CSS variable naming system (`--comp-*`, `--sema-*`, `--base-*`) reveals a sophisticated three-tier design token architecture: component-level, semantic-level, and base-level tokens.
8
+
9
+ What distinguishes Pinterest is its generous border-radius system (12px–40px, plus 50% for circles) and warm-tinted button backgrounds. The secondary button (`#e5e5e0`) has a distinctly warm, sand-like tone rather than cold gray. The primary red button uses 16px radius — rounded but not pill-shaped. Combined with warm badge backgrounds (`hsla(60,20%,98%,.5)` — a subtle yellow-warm wash) and photography-dominant layouts, the result is a design that feels handcrafted and personal, not corporate and sterile.
10
+
11
+ **Key Characteristics:**
12
+ - Warm white canvas with olive/sand-toned neutrals — cozy, not clinical
13
+ - Pinterest Red (`#e60023`) as singular bold accent — never subtle, always confident
14
+ - Pin Sans custom font with global fallback stack (including CJK)
15
+ - Three-tier token architecture: `--comp-*` / `--sema-*` / `--base-*`
16
+ - Warm secondary surfaces: sand gray (`#e5e5e0`), warm badge (`hsla(60,20%,98%,.5)`)
17
+ - Generous border-radius: 16px standard, up to 40px for large containers
18
+ - Photography-first content — pins/images are the primary visual element
19
+ - Dark near-purple text (`#211922`) — warm, with a hint of plum
20
+
21
+ ## 2. Color Palette & Roles
22
+
23
+ ### Primary Brand
24
+ - **Pinterest Red** (`#e60023`): Primary CTA, brand accent — bold, confident red
25
+ - **Green 700** (`#103c25`): `--base-color-green-700`, success/nature accent
26
+ - **Green 700 Hover** (`#0b2819`): `--base-color-hover-green-700`, pressed green
27
+
28
+ ### Text
29
+ - **Plum Black** (`#211922`): Primary text — warm near-black with plum undertone
30
+ - **Black** (`#000000`): Secondary text, button text
31
+ - **Olive Gray** (`#62625b`): Secondary descriptions, muted text
32
+ - **Warm Silver** (`#91918c`): `--comp-button-color-text-transparent-disabled`, disabled text, input borders
33
+ - **White** (`#ffffff`): Text on dark/colored surfaces
34
+
35
+ ### Interactive
36
+ - **Focus Blue** (`#435ee5`): `--comp-button-color-border-focus-outer-transparent`, focus rings
37
+ - **Performance Purple** (`#6845ab`): `--sema-color-hover-icon-performance-plus`, performance features
38
+ - **Recommendation Purple** (`#7e238b`): `--sema-color-hover-text-recommendation`, AI recommendation
39
+ - **Link Blue** (`#2b48d4`): Link text color
40
+ - **Facebook Blue** (`#0866ff`): `--facebook-background-color`, social login
41
+ - **Pressed Blue** (`#617bff`): `--base-color-pressed-blue-200`, pressed state
42
+
43
+ ### Surface & Border
44
+ - **Sand Gray** (`#e5e5e0`): Secondary button background — warm, craft-like
45
+ - **Warm Light** (`#e0e0d9`): Circular button backgrounds, badges
46
+ - **Warm Wash** (`hsla(60, 20%, 98%, 0.5)`): `--comp-badge-color-background-wash-light`, subtle warm badge bg
47
+ - **Fog** (`#f6f6f3`): Light surface (at 50% opacity)
48
+ - **Border Disabled** (`#c8c8c1`): `--sema-color-border-disabled`, disabled borders
49
+ - **Hover Gray** (`#bcbcb3`): `--base-color-hover-grayscale-150`, hover border
50
+ - **Dark Surface** (`#33332e`): Dark section backgrounds
51
+
52
+ ### Semantic
53
+ - **Error Red** (`#9e0a0a`): Checkbox/form error states
54
+
55
+ ## 3. Typography Rules
56
+
57
+ ### Font Family
58
+ - **Primary**: `Pin Sans`, fallbacks: `-apple-system, system-ui, Segoe UI, Roboto, Oxygen-Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, ヒラギノ角ゴ Pro W3, メイリオ, Meiryo, MS Pゴシック, Arial`
59
+
60
+ ### Hierarchy
61
+
62
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
63
+ |------|------|------|--------|-------------|----------------|-------|
64
+ | Display Hero | Pin Sans | 70px (4.38rem) | 600 | normal | normal | Maximum impact |
65
+ | Section Heading | Pin Sans | 28px (1.75rem) | 700 | normal | -1.2px | Negative tracking |
66
+ | Body | Pin Sans | 16px (1.00rem) | 400 | 1.40 | normal | Standard reading |
67
+ | Caption Bold | Pin Sans | 14px (0.88rem) | 700 | normal | normal | Strong metadata |
68
+ | Caption | Pin Sans | 12px (0.75rem) | 400–500 | 1.50 | normal | Small text, tags |
69
+ | Button | Pin Sans | 12px (0.75rem) | 400 | normal | normal | Button labels |
70
+
71
+ ### Principles
72
+ - **Compact type scale**: The range is 12px–70px with a dramatic jump — most functional text is 12–16px, creating a dense, app-like information hierarchy.
73
+ - **Warm weight distribution**: 600–700 for headings, 400–500 for body. No ultra-light weights — the type always feels substantial.
74
+ - **Negative tracking on headings**: -1.2px on 28px headings creates cozy, intimate section titles.
75
+ - **Single font family**: Pin Sans handles everything — no secondary display or monospace font detected.
76
+
77
+ ## 4. Component Stylings
78
+
79
+ ### Buttons
80
+
81
+ **Primary Red**
82
+ - Background: `#e60023` (Pinterest Red)
83
+ - Text: `#000000` (black — unusual choice for contrast on red)
84
+ - Padding: 6px 14px
85
+ - Radius: 16px (generously rounded, not pill)
86
+ - Border: `2px solid rgba(255, 255, 255, 0)` (transparent)
87
+ - Focus: semantic border + outline via CSS variables
88
+
89
+ **Secondary Sand**
90
+ - Background: `#e5e5e0` (warm sand gray)
91
+ - Text: `#000000`
92
+ - Padding: 6px 14px
93
+ - Radius: 16px
94
+ - Focus: same semantic border system
95
+
96
+ **Circular Action**
97
+ - Background: `#e0e0d9` (warm light)
98
+ - Text: `#211922` (plum black)
99
+ - Radius: 50% (circle)
100
+ - Use: Pin actions, navigation controls
101
+
102
+ **Ghost / Transparent**
103
+ - Background: transparent
104
+ - Text: `#000000`
105
+ - No border
106
+ - Use: Tertiary actions
107
+
108
+ ### Cards & Containers
109
+ - Photography-first pin cards with generous radius (12px–20px)
110
+ - No traditional box-shadow on most cards
111
+ - White or warm fog backgrounds
112
+ - 8px white thick border on some image containers
113
+
114
+ ### Inputs
115
+ - Email input: white background, `1px solid #91918c` border, 16px radius, 11px 15px padding
116
+ - Focus: semantic border + outline system via CSS variables
117
+
118
+ ### Navigation
119
+ - Clean header on white or warm background
120
+ - Pinterest logo + search bar centered
121
+ - Pin Sans 16px for nav links
122
+ - Pinterest Red accents for active states
123
+
124
+ ### Image Treatment
125
+ - Pin-style masonry grid (signature Pinterest layout)
126
+ - Rounded corners: 12px–20px on images
127
+ - Photography as primary content — every pin is an image
128
+ - Thick white borders (8px) on featured image containers
129
+
130
+ ## 5. Layout Principles
131
+
132
+ ### Spacing System
133
+ - Base unit: 8px
134
+ - Scale: 4px, 6px, 7px, 8px, 10px, 11px, 12px, 16px, 18px, 20px, 22px, 24px, 32px, 80px, 100px
135
+ - Large jumps: 32px → 80px → 100px for section spacing
136
+
137
+ ### Grid & Container
138
+ - Masonry grid for pin content (signature layout)
139
+ - Centered content sections with generous max-width
140
+ - Full-width dark footer
141
+ - Search bar as primary navigation element
142
+
143
+ ### Whitespace Philosophy
144
+ - **Inspiration density**: The masonry grid packs pins tightly — the content density IS the value proposition. Whitespace exists between sections, not within the grid.
145
+ - **Breathing above, density below**: Hero/feature sections get generous padding; the pin grid is compact and immersive.
146
+
147
+ ### Border Radius Scale
148
+ - Standard (12px): Small cards, links
149
+ - Button (16px): Buttons, inputs, medium cards
150
+ - Comfortable (20px): Feature cards
151
+ - Large (28px): Large containers
152
+ - Section (32px): Tab elements, large panels
153
+ - Hero (40px): Hero containers, large feature blocks
154
+ - Circle (50%): Action buttons, tab indicators
155
+
156
+ ## 6. Depth & Elevation
157
+
158
+ | Level | Treatment | Use |
159
+ |-------|-----------|-----|
160
+ | Flat (Level 0) | No shadow | Default — pins rely on content, not shadow |
161
+ | Subtle (Level 1) | Minimal shadow (from tokens) | Elevated overlays, dropdowns |
162
+ | Focus (Accessibility) | `--sema-color-border-focus-outer-default` ring | Focus states |
163
+
164
+ **Shadow Philosophy**: Pinterest uses minimal shadows. The masonry grid relies on content (photography) to create visual interest rather than elevation effects. Depth comes from the warmth of surface colors and the generous rounding of containers.
165
+
166
+ ## 7. Do's and Don'ts
167
+
168
+ ### Do
169
+ - Use warm neutrals (`#e5e5e0`, `#e0e0d9`, `#91918c`) — the warm olive/sand tone is the identity
170
+ - Apply Pinterest Red (`#e60023`) only for primary CTAs — it's bold and singular
171
+ - Use Pin Sans exclusively — one font for everything
172
+ - Apply generous border-radius: 16px for buttons/inputs, 20px+ for cards
173
+ - Keep the masonry grid dense — content density is the value
174
+ - Use warm badge backgrounds (`hsla(60,20%,98%,.5)`) for subtle warm washes
175
+ - Use `#211922` (plum black) for primary text — it's warmer than pure black
176
+
177
+ ### Don't
178
+ - Don't use cool gray neutrals — always warm/olive-toned
179
+ - Don't use pure black (`#000000`) as primary text — use plum black (`#211922`)
180
+ - Don't use pill-shaped buttons — 16px radius is rounded but not pill
181
+ - Don't add heavy shadows — Pinterest is flat by design, depth from content
182
+ - Don't use small border-radius (<12px) on cards — the generous rounding is core
183
+ - Don't introduce additional brand colors — red + warm neutrals is the complete palette
184
+ - Don't use thin font weights — Pin Sans at 400 minimum
185
+
186
+ ## 8. Responsive Behavior
187
+
188
+ ### Breakpoints
189
+ | Name | Width | Key Changes |
190
+ |------|-------|-------------|
191
+ | Mobile | <576px | Single column, compact layout |
192
+ | Mobile Large | 576–768px | 2-column pin grid |
193
+ | Tablet | 768–890px | Expanded grid |
194
+ | Desktop Small | 890–1312px | Standard masonry grid |
195
+ | Desktop | 1312–1440px | Full layout |
196
+ | Large Desktop | 1440–1680px | Expanded grid columns |
197
+ | Ultra-wide | >1680px | Maximum grid density |
198
+
199
+ ### Collapsing Strategy
200
+ - Pin grid: 5+ columns → 3 → 2 → 1
201
+ - Navigation: search bar + icons → simplified mobile nav
202
+ - Feature sections: side-by-side → stacked
203
+ - Hero: 70px → scales down proportionally
204
+ - Footer: dark multi-column → stacked
205
+
206
+ ## 9. Agent Prompt Guide
207
+
208
+ ### Quick Color Reference
209
+ - Brand: Pinterest Red (`#e60023`)
210
+ - Background: White (`#ffffff`)
211
+ - Text: Plum Black (`#211922`)
212
+ - Secondary text: Olive Gray (`#62625b`)
213
+ - Button surface: Sand Gray (`#e5e5e0`)
214
+ - Border: Warm Silver (`#91918c`)
215
+ - Focus: Focus Blue (`#435ee5`)
216
+
217
+ ### Example Component Prompts
218
+ - "Create a hero: white background. Headline at 70px Pin Sans weight 600, plum black (#211922). Red CTA button (#e60023, 16px radius, 6px 14px padding). Secondary sand button (#e5e5e0, 16px radius)."
219
+ - "Design a pin card: white background, 16px radius, no shadow. Photography fills top, 16px Pin Sans weight 400 description below in #62625b."
220
+ - "Build a circular action button: #e0e0d9 background, 50% radius, #211922 icon."
221
+ - "Create an input field: white background, 1px solid #91918c, 16px radius, 11px 15px padding. Focus: blue outline via semantic tokens."
222
+ - "Design the dark footer: #33332e background. Pinterest script logo in white. 12px Pin Sans links in #91918c."
223
+
224
+ ### Iteration Guide
225
+ 1. Warm neutrals everywhere — olive/sand grays, never cool steel
226
+ 2. Pinterest Red for CTAs only — bold and singular
227
+ 3. 16px radius on buttons/inputs, 20px+ on cards — generous but not pill
228
+ 4. Pin Sans is the only font — compact at 12px for UI, 70px for display
229
+ 5. Photography carries the design — the UI stays warm and minimal
230
+ 6. Plum black (#211922) for text — warmer than pure black
@@ -0,0 +1,23 @@
1
+ # Pinterest Inspired Design System
2
+
3
+ [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/pinterest/DESIGN.md) extracted from the public [Pinterest](https://pinterest.com/) website. This is not the official design system. Colors, fonts, and spacing may not be 100% accurate. But it's a good starting point for building something similar.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |------|-------------|
9
+ | `DESIGN.md` | Complete design system documentation (9 sections) |
10
+ | `preview.html` | Interactive design token catalog (light) |
11
+ | `preview-dark.html` | Interactive design token catalog (dark) |
12
+
13
+ Use [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/pinterest/DESIGN.md) to use as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the Pinterest design language.
14
+
15
+ ## Preview
16
+
17
+ A sample landing page built with DESIGN.md. It shows the actual colors, typography, buttons, cards, spacing, and elevation, all in one page.
18
+
19
+ ### Dark Mode
20
+ ![Pinterest Design System — Dark Mode](https://pub-2e4ecbcbc9b24e7b93f1a6ab5b2bc71f.r2.dev/designs/pinterest/preview-dark-screenshot.png)
21
+
22
+ ### Light Mode
23
+ ![Pinterest Design System — Light Mode](https://pub-2e4ecbcbc9b24e7b93f1a6ab5b2bc71f.r2.dev/designs/pinterest/preview-screenshot.png)
@@ -0,0 +1,233 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Design System Inspired by Pinterest</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
10
+ <style>
11
+ :root {
12
+ --white:#1a1916; --plum:#e8e5de; --red:#e60023; --olive:#a0a099; --warm-silver:#6a6a64;
13
+ --sand:#33332e; --warm-light:#e0e0d9; --fog:#252520; --dark:#33332e;
14
+ --focus-blue:#435ee5; --link-blue:#2b48d4;
15
+ --font:'Nunito Sans',-apple-system,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;
16
+ }
17
+ * { margin:0; padding:0; box-sizing:border-box; }
18
+ body { background:var(--white); color:var(--plum); font-family:var(--font); font-size:16px; font-weight:400; line-height:1.40; -webkit-font-smoothing:antialiased; }
19
+
20
+ .nav { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:12px 24px; background:var(--white); border-bottom:1px solid #33332e; }
21
+ .nav-brand { font-size:14px; font-weight:700; color:var(--plum); text-decoration:none; }
22
+ .nav-links { display:flex; gap:20px; list-style:none; }
23
+ .nav-links a { font-size:14px; font-weight:500; color:var(--olive); text-decoration:none; transition:color 0.15s; }
24
+ .nav-links a:hover { color:var(--plum); }
25
+ .nav-cta { display:inline-block; background:var(--red); color:var(--white); padding:8px 18px; border-radius:16px; font-size:14px; font-weight:700; text-decoration:none; }
26
+
27
+ .hero { padding:64px 24px; text-align:center; }
28
+ .hero h1 { font-size:56px; font-weight:600; line-height:1.10; margin-bottom:12px; }
29
+ .hero h1 span { color:var(--red); }
30
+ .hero p { font-size:16px; color:var(--olive); max-width:480px; margin:0 auto 24px; }
31
+ .hero-buttons { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
32
+ .btn-red { display:inline-block; background:var(--red); color:var(--white); padding:10px 24px; border-radius:16px; font-family:var(--font); font-size:14px; font-weight:700; text-decoration:none; border:none; cursor:pointer; }
33
+ .btn-sand { display:inline-block; background:var(--sand); color:var(--plum); padding:10px 24px; border-radius:16px; font-family:var(--font); font-size:14px; font-weight:600; text-decoration:none; border:none; cursor:pointer; }
34
+ .btn-circle { display:inline-flex; align-items:center; justify-content:center; background:var(--warm-light); color:var(--plum); width:40px; height:40px; border-radius:50%; font-size:16px; text-decoration:none; border:none; cursor:pointer; }
35
+
36
+ .section { padding:48px 24px; max-width:1100px; margin:0 auto; }
37
+ .section-label { font-size:12px; font-weight:700; color:var(--warm-silver); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:8px; }
38
+ .section-title { font-size:28px; font-weight:700; line-height:1.20; letter-spacing:-1.2px; margin-bottom:24px; }
39
+ .section-divider { border:none; border-top:1px solid var(--sand); margin:0; }
40
+
41
+ .color-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(145px,1fr)); gap:10px; margin-bottom:20px; }
42
+ .color-swatch { border-radius:16px; overflow:hidden; border:1px solid var(--sand); }
43
+ .color-swatch-block { height:64px; width:100%; }
44
+ .color-swatch-info { padding:10px; }
45
+ .color-swatch-name { font-size:12px; font-weight:700; margin-bottom:2px; }
46
+ .color-swatch-hex { font-size:10px; color:var(--warm-silver); font-family:monospace; }
47
+ .color-swatch-role { font-size:9px; color:var(--warm-silver); margin-top:2px; }
48
+ .color-group-label { font-size:12px; font-weight:700; color:var(--olive); margin:20px 0 8px; }
49
+
50
+ .type-sample { margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--fog); }
51
+ .type-sample:last-child { border-bottom:none; }
52
+ .type-meta { font-size:10px; color:var(--warm-silver); margin-top:4px; font-family:monospace; }
53
+
54
+ .button-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
55
+ .button-item { text-align:center; }
56
+ .button-label { font-size:10px; color:var(--warm-silver); margin-top:6px; }
57
+
58
+ .card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:12px; }
59
+ .card { background:var(--white); border:1px solid var(--sand); border-radius:20px; overflow:hidden; }
60
+ .card-img { height:140px; background:var(--fog); display:flex; align-items:center; justify-content:center; color:var(--warm-silver); font-size:12px; }
61
+ .card-body { padding:12px 16px; }
62
+ .card h3 { font-size:16px; font-weight:700; margin-bottom:4px; }
63
+ .card p { font-size:12px; color:var(--olive); }
64
+
65
+ .form-group { margin-bottom:16px; max-width:400px; }
66
+ .form-label { display:block; font-size:14px; font-weight:700; margin-bottom:4px; }
67
+ .form-input { width:100%; background:var(--white); color:var(--plum); border:1px solid var(--warm-silver); padding:11px 15px; border-radius:16px; font-family:var(--font); font-size:16px; outline:none; }
68
+ .form-input:focus { border-color:var(--focus-blue); box-shadow:0 0 0 2px rgba(67,94,229,0.3); }
69
+ .form-input--focus { border-color:var(--focus-blue); box-shadow:0 0 0 2px rgba(67,94,229,0.3); }
70
+ .form-input--error { border-color:#9e0a0a; box-shadow:0 0 0 2px rgba(158,10,10,0.2); }
71
+ .form-textarea { width:100%; min-height:80px; background:var(--white); color:var(--plum); border:1px solid var(--warm-silver); padding:11px 15px; border-radius:16px; font-family:var(--font); font-size:16px; resize:vertical; outline:none; }
72
+ .form-state-label { font-size:9px; color:var(--warm-silver); margin-top:4px; }
73
+
74
+ .spacing-row { display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
75
+ .spacing-item { text-align:center; }
76
+ .spacing-block { background:var(--red); border-radius:4px; margin-bottom:4px; height:24px; opacity:0.6; }
77
+ .spacing-value { font-size:9px; color:var(--warm-silver); font-family:monospace; }
78
+
79
+ .radius-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
80
+ .radius-item { text-align:center; }
81
+ .radius-box { width:52px; height:52px; background:var(--sand); margin-bottom:4px; }
82
+ .radius-label { font-size:9px; color:var(--warm-silver); font-family:monospace; }
83
+
84
+ .elevation-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:12px; }
85
+ .elevation-card { background:var(--white); border:1px solid var(--sand); border-radius:20px; padding:16px; text-align:center; }
86
+ .elevation-label { font-size:13px; font-weight:700; margin-bottom:4px; }
87
+ .elevation-desc { font-size:9px; color:var(--warm-silver); font-family:monospace; }
88
+
89
+ .footer { padding:32px; text-align:center; background:var(--dark); color:var(--warm-silver); font-size:12px; border-radius:40px 40px 0 0; }
90
+ .footer a { color:var(--white); text-decoration:underline; }
91
+
92
+ @media (max-width:768px) { .hero h1 { font-size:36px; } .nav-links { display:none; } .section { padding:32px 16px; } .card-grid { grid-template-columns:1fr 1fr; } }
93
+ </style>
94
+ </head>
95
+ <body>
96
+
97
+ <nav class="nav">
98
+ <span class="nav-brand">awesome-design-md</span>
99
+ <ul class="nav-links">
100
+ <li><a href="#colors">Colors</a></li>
101
+ <li><a href="#typography">Typography</a></li>
102
+ <li><a href="#buttons">Buttons</a></li>
103
+ <li><a href="#cards">Cards</a></li>
104
+ <li><a href="#forms">Forms</a></li>
105
+ </ul>
106
+ <a class="nav-cta" href="#">Sign up</a>
107
+ </nav>
108
+ <div style="position:fixed;top:16px;right:16px;z-index:200;background:#e60023;color:#ffffff;font-size:10px;font-weight:700;padding:4px 12px;border-radius:16px;">Dark Mode</div>
109
+
110
+ <section class="hero">
111
+ <h1>Design System<br>Inspired by <span>Pinterest</span></h1>
112
+ <p>A design token catalog generated from DESIGN.md. Every color, font, and component — visualized with warm craft.</p>
113
+ <div class="hero-buttons">
114
+ <a class="btn-red" href="#">Sign up</a>
115
+ <a class="btn-sand" href="#">Log in</a>
116
+ </div>
117
+ </section>
118
+
119
+ <hr class="section-divider">
120
+
121
+ <section class="section" id="colors">
122
+ <div class="section-label">01 / Colors</div><h2 class="section-title">Color Palette</h2>
123
+ <div class="color-group-label">Brand</div>
124
+ <div class="color-grid">
125
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#e60023"></div><div class="color-swatch-info"><div class="color-swatch-name">Pinterest Red</div><div class="color-swatch-hex">#e60023</div><div class="color-swatch-role">Primary CTA</div></div></div>
126
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#211922"></div><div class="color-swatch-info"><div class="color-swatch-name">Plum Black</div><div class="color-swatch-hex">#211922</div><div class="color-swatch-role">Primary text</div></div></div>
127
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#103c25"></div><div class="color-swatch-info"><div class="color-swatch-name">Green 700</div><div class="color-swatch-hex">#103c25</div><div class="color-swatch-role">Success</div></div></div>
128
+ </div>
129
+ <div class="color-group-label">Warm Neutrals</div>
130
+ <div class="color-grid">
131
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#62625b"></div><div class="color-swatch-info"><div class="color-swatch-name">Olive Gray</div><div class="color-swatch-hex">#62625b</div><div class="color-swatch-role">Secondary text</div></div></div>
132
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#91918c"></div><div class="color-swatch-info"><div class="color-swatch-name">Warm Silver</div><div class="color-swatch-hex">#91918c</div><div class="color-swatch-role">Borders, muted</div></div></div>
133
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#e5e5e0"></div><div class="color-swatch-info"><div class="color-swatch-name">Sand Gray</div><div class="color-swatch-hex">#e5e5e0</div><div class="color-swatch-role">Secondary button</div></div></div>
134
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#e0e0d9"></div><div class="color-swatch-info"><div class="color-swatch-name">Warm Light</div><div class="color-swatch-hex">#e0e0d9</div><div class="color-swatch-role">Circular buttons</div></div></div>
135
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#f6f6f3"></div><div class="color-swatch-info"><div class="color-swatch-name">Fog</div><div class="color-swatch-hex">#f6f6f3</div><div class="color-swatch-role">Light surface</div></div></div>
136
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#33332e"></div><div class="color-swatch-info"><div class="color-swatch-name">Dark</div><div class="color-swatch-hex">#33332e</div><div class="color-swatch-role">Footer</div></div></div>
137
+ </div>
138
+ <div class="color-group-label">Interactive</div>
139
+ <div class="color-grid">
140
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#435ee5"></div><div class="color-swatch-info"><div class="color-swatch-name">Focus Blue</div><div class="color-swatch-hex">#435ee5</div><div class="color-swatch-role">Focus ring</div></div></div>
141
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#2b48d4"></div><div class="color-swatch-info"><div class="color-swatch-name">Link Blue</div><div class="color-swatch-hex">#2b48d4</div><div class="color-swatch-role">Links</div></div></div>
142
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#6845ab"></div><div class="color-swatch-info"><div class="color-swatch-name">Purple</div><div class="color-swatch-hex">#6845ab</div><div class="color-swatch-role">Performance</div></div></div>
143
+ </div>
144
+ </section>
145
+
146
+ <hr class="section-divider">
147
+
148
+ <section class="section" id="typography">
149
+ <div class="section-label">02 / Typography</div><h2 class="section-title">Typography Scale</h2>
150
+ <div class="type-sample"><div style="font-size:56px; font-weight:600; line-height:1.10;">Display Hero</div><div class="type-meta">Display — 70px / 600 / Pin Sans</div></div>
151
+ <div class="type-sample"><div style="font-size:28px; font-weight:700; letter-spacing:-1.2px;">Section Heading</div><div class="type-meta">Section — 28px / 700 / -1.2px</div></div>
152
+ <div class="type-sample"><div style="font-size:16px; font-weight:400; line-height:1.40; color:var(--olive);">Body — Find ideas for weeknight dinner. With Pinterest, discover creative ideas that spark joy.</div><div class="type-meta">Body — 16px / 400 / 1.40 / Pin Sans</div></div>
153
+ <div class="type-sample"><div style="font-size:14px; font-weight:700;">Caption Bold — Trending now</div><div class="type-meta">Caption Bold — 14px / 700</div></div>
154
+ <div class="type-sample"><div style="font-size:12px; font-weight:500; color:var(--warm-silver);">Small — 1,234 pins</div><div class="type-meta">Small — 12px / 500</div></div>
155
+ </section>
156
+
157
+ <hr class="section-divider">
158
+
159
+ <section class="section" id="buttons">
160
+ <div class="section-label">03 / Buttons</div><h2 class="section-title">Button Variants</h2>
161
+ <div class="button-row">
162
+ <div class="button-item"><a class="btn-red" href="#">Sign up</a><div class="button-label">Primary Red</div></div>
163
+ <div class="button-item"><a class="btn-sand" href="#">Log in</a><div class="button-label">Secondary Sand</div></div>
164
+ <div class="button-item"><a class="btn-circle" href="#">&#x2764;</a><div class="button-label">Circular</div></div>
165
+ <div class="button-item"><span style="display:inline-block; background:transparent; color:var(--plum); padding:6px 14px; font-size:12px;">Ghost</span><div class="button-label">Transparent</div></div>
166
+ </div>
167
+ </section>
168
+
169
+ <hr class="section-divider">
170
+
171
+ <section class="section" id="cards">
172
+ <div class="section-label">04 / Cards</div><h2 class="section-title">Card Examples</h2>
173
+ <div class="card-grid">
174
+ <div class="card"><div class="card-img">Pin photo</div><div class="card-body"><h3>Weeknight Dinner</h3><p>Quick recipes for busy evenings</p></div></div>
175
+ <div class="card"><div class="card-img" style="background:var(--sand);">Pin photo</div><div class="card-body"><h3>Home Decor</h3><p>Inspiration for every room</p></div></div>
176
+ <div class="card"><div class="card-img" style="background:#eee;">Pin photo</div><div class="card-body"><h3>Travel Ideas</h3><p>Destinations worth exploring</p></div></div>
177
+ <div class="card"><div class="card-img" style="background:var(--warm-light);">Pin photo</div><div class="card-body"><h3>Fashion</h3><p>Outfit ideas for every season</p></div></div>
178
+ </div>
179
+ </section>
180
+
181
+ <hr class="section-divider">
182
+
183
+ <section class="section" id="forms">
184
+ <div class="section-label">05 / Forms</div><h2 class="section-title">Form Elements</h2>
185
+ <div class="form-group"><label class="form-label">Email</label><input class="form-input" type="email" placeholder="Email address"><div class="form-state-label">Default (warm silver border)</div></div>
186
+ <div class="form-group"><label class="form-label">Username</label><input class="form-input form-input--focus" type="text" value="pinner123"><div class="form-state-label">Focus (blue ring)</div></div>
187
+ <div class="form-group"><label class="form-label">Password</label><input class="form-input form-input--error" type="password" value="short"><div class="form-state-label">Error</div></div>
188
+ <div class="form-group"><label class="form-label">About you</label><textarea class="form-textarea" placeholder="Tell us about yourself..."></textarea></div>
189
+ </section>
190
+
191
+ <hr class="section-divider">
192
+
193
+ <section class="section">
194
+ <div class="section-label">06 / Spacing</div><h2 class="section-title">Spacing Scale</h2>
195
+ <div class="spacing-row">
196
+ <div class="spacing-item"><div class="spacing-block" style="width:4px"></div><div class="spacing-value">4</div></div>
197
+ <div class="spacing-item"><div class="spacing-block" style="width:8px"></div><div class="spacing-value">8</div></div>
198
+ <div class="spacing-item"><div class="spacing-block" style="width:12px"></div><div class="spacing-value">12</div></div>
199
+ <div class="spacing-item"><div class="spacing-block" style="width:16px"></div><div class="spacing-value">16</div></div>
200
+ <div class="spacing-item"><div class="spacing-block" style="width:24px"></div><div class="spacing-value">24</div></div>
201
+ <div class="spacing-item"><div class="spacing-block" style="width:32px"></div><div class="spacing-value">32</div></div>
202
+ </div>
203
+ </section>
204
+
205
+ <hr class="section-divider">
206
+
207
+ <section class="section">
208
+ <div class="section-label">07 / Radius</div><h2 class="section-title">Border Radius</h2>
209
+ <div class="radius-row">
210
+ <div class="radius-item"><div class="radius-box" style="border-radius:12px"></div><div class="radius-label">12px</div></div>
211
+ <div class="radius-item"><div class="radius-box" style="border-radius:16px"></div><div class="radius-label">16px</div></div>
212
+ <div class="radius-item"><div class="radius-box" style="border-radius:20px"></div><div class="radius-label">20px</div></div>
213
+ <div class="radius-item"><div class="radius-box" style="border-radius:28px"></div><div class="radius-label">28px</div></div>
214
+ <div class="radius-item"><div class="radius-box" style="border-radius:40px"></div><div class="radius-label">40px</div></div>
215
+ <div class="radius-item"><div class="radius-box" style="border-radius:50%; width:52px; height:52px;"></div><div class="radius-label">50%</div></div>
216
+ </div>
217
+ </section>
218
+
219
+ <hr class="section-divider">
220
+
221
+ <section class="section">
222
+ <div class="section-label">08 / Elevation</div><h2 class="section-title">Depth</h2>
223
+ <div class="elevation-grid">
224
+ <div class="elevation-card"><div class="elevation-label">Flat</div><div class="elevation-desc">No shadow — content driven</div></div>
225
+ <div class="elevation-card" style="box-shadow:0 0 0 2px var(--focus-blue);"><div class="elevation-label">Focus</div><div class="elevation-desc">Blue focus ring</div></div>
226
+ </div>
227
+ <p style="font-size:11px; color:var(--warm-silver); margin-top:12px;">Pinterest uses minimal shadows — depth comes from photography and warm surface colors.</p>
228
+ </section>
229
+
230
+ <footer class="footer">Maintained by <a href="https://github.com/VoltAgent/voltagent" target="_blank" rel="noopener noreferrer" style="text-decoration:none;"><img src="https://github.com/VoltAgent.png?size=32" alt="VoltAgent" width="14" height="14" style="border-radius:3px;vertical-align:-2px;margin-right:3px;">VoltAgent</a> team</footer>
231
+
232
+ </body>
233
+ </html>