oh-my-design-cli 1.6.6 → 1.7.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 (230) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +8 -8
  3. package/data/reference-fingerprints.json +1318 -10
  4. package/dist/bin/oh-my-design.js +1 -1
  5. package/dist/{install-skills-JNH66GOI.js → install-skills-YYHEC4CS.js} +5 -11
  6. package/dist/install-skills-YYHEC4CS.js.map +1 -0
  7. package/package.json +1 -1
  8. package/skills/claude-design/SKILL.md +7 -2
  9. package/web/references/11st/DESIGN.md +400 -0
  10. package/web/references/17live/DESIGN.md +43 -0
  11. package/web/references/29cm/DESIGN.md +41 -0
  12. package/web/references/91app/DESIGN.md +31 -0
  13. package/web/references/ably/DESIGN.md +54 -0
  14. package/web/references/airbnb/DESIGN.md +58 -0
  15. package/web/references/airtable/DESIGN.md +39 -0
  16. package/web/references/alipay/DESIGN.md +50 -0
  17. package/web/references/amazingtalker/DESIGN.md +434 -0
  18. package/web/references/appier/DESIGN.md +45 -0
  19. package/web/references/apple/DESIGN.md +47 -0
  20. package/web/references/baemin/DESIGN.md +142 -43
  21. package/web/references/banksalad/DESIGN.md +67 -0
  22. package/web/references/bilibili/DESIGN.md +45 -0
  23. package/web/references/bithumb/DESIGN.md +38 -0
  24. package/web/references/bmw/DESIGN.md +37 -0
  25. package/web/references/brandi/DESIGN.md +414 -0
  26. package/web/references/bunjang/DESIGN.md +47 -0
  27. package/web/references/cakeresume/DESIGN.md +29 -0
  28. package/web/references/cal/DESIGN.md +52 -0
  29. package/web/references/catchtable/DESIGN.md +79 -19
  30. package/web/references/cathay/DESIGN.md +432 -0
  31. package/web/references/channeltalk/DESIGN.md +48 -0
  32. package/web/references/class101/DESIGN.md +51 -0
  33. package/web/references/classting/DESIGN.md +41 -0
  34. package/web/references/classum/DESIGN.md +43 -0
  35. package/web/references/claude/DESIGN.md +157 -70
  36. package/web/references/clay/DESIGN.md +56 -0
  37. package/web/references/clickhouse/DESIGN.md +50 -0
  38. package/web/references/cloudflare/DESIGN.md +637 -0
  39. package/web/references/cohere/DESIGN.md +48 -0
  40. package/web/references/coinbase/DESIGN.md +139 -5
  41. package/web/references/coinone/DESIGN.md +39 -0
  42. package/web/references/composio/DESIGN.md +46 -0
  43. package/web/references/cookpad/DESIGN.md +37 -0
  44. package/web/references/coupang/DESIGN.md +57 -2
  45. package/web/references/cursor/DESIGN.md +44 -0
  46. package/web/references/dabang/DESIGN.md +57 -19
  47. package/web/references/dcard/DESIGN.md +57 -0
  48. package/web/references/dell/DESIGN.md +636 -0
  49. package/web/references/devsisters/DESIGN.md +29 -0
  50. package/web/references/discord/DESIGN.md +604 -0
  51. package/web/references/dji/DESIGN.md +39 -0
  52. package/web/references/drnow/DESIGN.md +52 -0
  53. package/web/references/duolingo/DESIGN.md +563 -0
  54. package/web/references/elevenlabs/DESIGN.md +39 -0
  55. package/web/references/expo/DESIGN.md +39 -0
  56. package/web/references/fastcampus/DESIGN.md +50 -0
  57. package/web/references/ferrari/DESIGN.md +47 -0
  58. package/web/references/figma/DESIGN.md +44 -0
  59. package/web/references/finda/DESIGN.md +413 -0
  60. package/web/references/flex/DESIGN.md +28 -0
  61. package/web/references/flo/DESIGN.md +43 -0
  62. package/web/references/framer/DESIGN.md +38 -0
  63. package/web/references/freee/DESIGN.md +48 -0
  64. package/web/references/fugle/DESIGN.md +41 -1
  65. package/web/references/gangnamunni/DESIGN.md +57 -1
  66. package/web/references/genie/DESIGN.md +415 -0
  67. package/web/references/github/DESIGN.md +727 -0
  68. package/web/references/gmarket/DESIGN.md +51 -0
  69. package/web/references/gogolook/DESIGN.md +25 -1
  70. package/web/references/gogoro/DESIGN.md +38 -0
  71. package/web/references/grip/DESIGN.md +39 -0
  72. package/web/references/hahow/DESIGN.md +26 -0
  73. package/web/references/hashicorp/DESIGN.md +42 -0
  74. package/web/references/hogangnono/DESIGN.md +41 -0
  75. package/web/references/hp/DESIGN.md +563 -0
  76. package/web/references/hyperconnect/DESIGN.md +393 -0
  77. package/web/references/hyundaicard/DESIGN.md +24 -0
  78. package/web/references/ibm/DESIGN.md +44 -0
  79. package/web/references/ichef/DESIGN.md +44 -0
  80. package/web/references/ikala/DESIGN.md +400 -0
  81. package/web/references/inflearn/DESIGN.md +38 -0
  82. package/web/references/intercom/DESIGN.md +38 -0
  83. package/web/references/jandi/DESIGN.md +382 -0
  84. package/web/references/jkopay/DESIGN.md +35 -1
  85. package/web/references/jobkorea/DESIGN.md +39 -0
  86. package/web/references/jumpit/DESIGN.md +37 -0
  87. package/web/references/kakao/DESIGN.md +64 -0
  88. package/web/references/kakaobank/DESIGN.md +55 -1
  89. package/web/references/kakaopay/DESIGN.md +59 -0
  90. package/web/references/kakaot/DESIGN.md +53 -0
  91. package/web/references/karrot/DESIGN.md +49 -0
  92. package/web/references/kbank/DESIGN.md +39 -0
  93. package/web/references/kdan/DESIGN.md +34 -1
  94. package/web/references/kintone/DESIGN.md +586 -0
  95. package/web/references/kkbox/DESIGN.md +22 -0
  96. package/web/references/kkday/DESIGN.md +47 -0
  97. package/web/references/kmong/DESIGN.md +427 -0
  98. package/web/references/krafton/DESIGN.md +37 -0
  99. package/web/references/kraken/DESIGN.md +44 -0
  100. package/web/references/krds/DESIGN.md +63 -0
  101. package/web/references/kream/DESIGN.md +32 -0
  102. package/web/references/kurly/DESIGN.md +38 -1
  103. package/web/references/laftel/DESIGN.md +40 -0
  104. package/web/references/lamborghini/DESIGN.md +54 -0
  105. package/web/references/layerx/DESIGN.md +615 -0
  106. package/web/references/lezhin/DESIGN.md +47 -0
  107. package/web/references/line/DESIGN.md +36 -0
  108. package/web/references/linear.app/DESIGN.md +182 -88
  109. package/web/references/loom/DESIGN.md +396 -0
  110. package/web/references/lovable/DESIGN.md +38 -0
  111. package/web/references/lunit/DESIGN.md +47 -19
  112. package/web/references/mastercard/DESIGN.md +587 -0
  113. package/web/references/meituan/DESIGN.md +42 -0
  114. package/web/references/melon/DESIGN.md +26 -0
  115. package/web/references/mercari/DESIGN.md +41 -0
  116. package/web/references/mercury/DESIGN.md +589 -0
  117. package/web/references/meta/DESIGN.md +615 -0
  118. package/web/references/millie/DESIGN.md +51 -0
  119. package/web/references/minimax/DESIGN.md +53 -0
  120. package/web/references/mintlify/DESIGN.md +45 -0
  121. package/web/references/miro/DESIGN.md +47 -0
  122. package/web/references/mistral.ai/DESIGN.md +37 -0
  123. package/web/references/momoshop/DESIGN.md +43 -0
  124. package/web/references/money-forward/DESIGN.md +42 -0
  125. package/web/references/mongodb/DESIGN.md +44 -0
  126. package/web/references/muji/DESIGN.md +605 -0
  127. package/web/references/musinsa/DESIGN.md +48 -0
  128. package/web/references/mustit/DESIGN.md +47 -1
  129. package/web/references/myrealtrip/DESIGN.md +49 -0
  130. package/web/references/naver/DESIGN.md +50 -1
  131. package/web/references/naverwebtoon/DESIGN.md +48 -0
  132. package/web/references/netflix/DESIGN.md +572 -0
  133. package/web/references/nexon/DESIGN.md +389 -0
  134. package/web/references/nhncloud/DESIGN.md +33 -0
  135. package/web/references/nike/DESIGN.md +588 -0
  136. package/web/references/note/DESIGN.md +28 -0
  137. package/web/references/notion/DESIGN.md +48 -0
  138. package/web/references/nvidia/DESIGN.md +50 -0
  139. package/web/references/ohouse/DESIGN.md +56 -0
  140. package/web/references/oliveyoung/DESIGN.md +47 -1
  141. package/web/references/ollama/DESIGN.md +40 -0
  142. package/web/references/openai/DESIGN.md +641 -0
  143. package/web/references/opencode.ai/DESIGN.md +37 -0
  144. package/web/references/payco/DESIGN.md +40 -0
  145. package/web/references/paypay/DESIGN.md +656 -0
  146. package/web/references/pchome/DESIGN.md +439 -0
  147. package/web/references/perplexity/DESIGN.md +546 -0
  148. package/web/references/piccollage/DESIGN.md +43 -0
  149. package/web/references/pinkoi/DESIGN.md +55 -0
  150. package/web/references/pinterest/DESIGN.md +44 -0
  151. package/web/references/pixiv/DESIGN.md +613 -0
  152. package/web/references/pixnet/DESIGN.md +430 -0
  153. package/web/references/posthog/DESIGN.md +50 -0
  154. package/web/references/publy/DESIGN.md +52 -0
  155. package/web/references/qanda/DESIGN.md +49 -1
  156. package/web/references/ragic/DESIGN.md +444 -0
  157. package/web/references/ramp/DESIGN.md +634 -0
  158. package/web/references/rayark/DESIGN.md +22 -0
  159. package/web/references/raycast/DESIGN.md +45 -0
  160. package/web/references/remember/DESIGN.md +44 -0
  161. package/web/references/renault/DESIGN.md +42 -0
  162. package/web/references/replicate/DESIGN.md +39 -0
  163. package/web/references/resend/DESIGN.md +44 -0
  164. package/web/references/retool/DESIGN.md +645 -0
  165. package/web/references/revolut/DESIGN.md +46 -0
  166. package/web/references/richart/DESIGN.md +465 -0
  167. package/web/references/ridi/DESIGN.md +47 -0
  168. package/web/references/riiid/DESIGN.md +32 -0
  169. package/web/references/robinhood/DESIGN.md +604 -0
  170. package/web/references/runwayml/DESIGN.md +45 -0
  171. package/web/references/sanity/DESIGN.md +50 -0
  172. package/web/references/sansan/DESIGN.md +631 -0
  173. package/web/references/sendbird/DESIGN.md +46 -0
  174. package/web/references/sentry/DESIGN.md +48 -0
  175. package/web/references/shinhancard/DESIGN.md +421 -0
  176. package/web/references/shopline/DESIGN.md +431 -0
  177. package/web/references/slack/DESIGN.md +635 -0
  178. package/web/references/smarthr/DESIGN.md +48 -0
  179. package/web/references/smartnews/DESIGN.md +29 -0
  180. package/web/references/socar/DESIGN.md +35 -0
  181. package/web/references/soomgo/DESIGN.md +326 -0
  182. package/web/references/spacex/DESIGN.md +27 -0
  183. package/web/references/spoon/DESIGN.md +46 -0
  184. package/web/references/spotify/DESIGN.md +49 -0
  185. package/web/references/starbucks/DESIGN.md +597 -0
  186. package/web/references/stripe/DESIGN.md +46 -0
  187. package/web/references/studio/DESIGN.md +602 -0
  188. package/web/references/supabase/DESIGN.md +41 -0
  189. package/web/references/superhuman/DESIGN.md +39 -0
  190. package/web/references/surveycake/DESIGN.md +442 -0
  191. package/web/references/tada/DESIGN.md +51 -0
  192. package/web/references/tesla/DESIGN.md +36 -0
  193. package/web/references/theverge/DESIGN.md +500 -0
  194. package/web/references/together.ai/DESIGN.md +33 -0
  195. package/web/references/toss/DESIGN.md +43 -0
  196. package/web/references/toss-securities/DESIGN.md +54 -19
  197. package/web/references/tossbank/DESIGN.md +57 -0
  198. package/web/references/trenbe/DESIGN.md +41 -0
  199. package/web/references/triple/DESIGN.md +47 -0
  200. package/web/references/tumblbug/DESIGN.md +48 -0
  201. package/web/references/tving/DESIGN.md +40 -0
  202. package/web/references/uber/DESIGN.md +36 -0
  203. package/web/references/ubie/DESIGN.md +615 -0
  204. package/web/references/uniqlo/DESIGN.md +575 -0
  205. package/web/references/upbit/DESIGN.md +42 -0
  206. package/web/references/upstage/DESIGN.md +38 -0
  207. package/web/references/velog/DESIGN.md +28 -0
  208. package/web/references/vercel/DESIGN.md +44 -0
  209. package/web/references/voicetube/DESIGN.md +39 -0
  210. package/web/references/voltagent/DESIGN.md +44 -0
  211. package/web/references/wadiz/DESIGN.md +71 -19
  212. package/web/references/wanted/DESIGN.md +46 -0
  213. package/web/references/warp/DESIGN.md +37 -0
  214. package/web/references/watcha/DESIGN.md +40 -0
  215. package/web/references/wavve/DESIGN.md +43 -1
  216. package/web/references/wconcept/DESIGN.md +45 -0
  217. package/web/references/webflow/DESIGN.md +49 -0
  218. package/web/references/wired/DESIGN.md +572 -0
  219. package/web/references/wise/DESIGN.md +41 -0
  220. package/web/references/x.ai/DESIGN.md +31 -0
  221. package/web/references/xiaohongshu/DESIGN.md +39 -0
  222. package/web/references/yanolja/DESIGN.md +45 -0
  223. package/web/references/yeogiotte/DESIGN.md +42 -1
  224. package/web/references/yogiyo/DESIGN.md +50 -0
  225. package/web/references/yourator/DESIGN.md +453 -0
  226. package/web/references/zapier/DESIGN.md +41 -0
  227. package/web/references/zigbang/DESIGN.md +33 -0
  228. package/web/references/zigzag/DESIGN.md +62 -0
  229. package/web/references/zozotown/DESIGN.md +578 -0
  230. package/dist/install-skills-JNH66GOI.js.map +0 -1
@@ -0,0 +1,500 @@
1
+ ---
2
+ id: theverge
3
+ name: The Verge
4
+ country: US
5
+ category: marketing
6
+ homepage: "https://www.theverge.com"
7
+ primary_color: "#5200ff"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=theverge.com&sz=128"
11
+ verified: "2026-06-06"
12
+ added: "2026-06-06"
13
+ omd: "0.1"
14
+ tokens:
15
+ source: prose-derived
16
+ extracted: "2026-06-09"
17
+ colors:
18
+ primary: "#5200ff"
19
+ accent: "#3cffd0"
20
+ canvas: "#131313"
21
+ surface: "#2d2d2d"
22
+ image-frame: "#313131"
23
+ border-strong: "#c2c2c2"
24
+ text-muted: "#e9e9e9"
25
+ text-secondary: "#949494"
26
+ on-primary: "#ffffff"
27
+ link-hover: "#3860be"
28
+ focus: "#1eaedb"
29
+ typography:
30
+ family: { sans: "PolySans", mono: "PolySans Mono" }
31
+ display-mega: { size: 107, weight: 900, lineHeight: 0.95, tracking: -0.02, use: "Hero/feature splash headlines" }
32
+ display-lg: { size: 72, weight: 900, lineHeight: 1.0, tracking: -0.02, use: "Section/package headlines" }
33
+ display: { size: 60, weight: 900, lineHeight: 1.02, tracking: -0.01, use: "Story-tile headlines" }
34
+ headline: { size: 32, weight: 700, lineHeight: 1.1, tracking: -0.01, use: "Sub-feature, card titles" }
35
+ title: { size: 24, weight: 700, lineHeight: 1.2, use: "List headlines, module titles" }
36
+ subtitle: { size: 18, weight: 600, lineHeight: 1.35, use: "Deks, standfirst" }
37
+ body-lg: { size: 18, weight: 400, lineHeight: 1.55, use: "Article body lead" }
38
+ body: { size: 16, weight: 400, lineHeight: 1.6, use: "Standard article reading text" }
39
+ body-sm: { size: 14, weight: 400, lineHeight: 1.5, use: "Secondary text, captions" }
40
+ kicker: { size: 12, weight: 600, lineHeight: 1.2, tracking: 0.06, use: "UPPERCASE section tags, kickers" }
41
+ caption: { size: 12, weight: 400, lineHeight: 1.4, use: "Bylines, timestamps, credits" }
42
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 32 }
43
+ rounded: { sm: 3, md: 3, lg: 3, full: 9999 }
44
+ shadow:
45
+ none: "none"
46
+ components_harvested: true
47
+ components:
48
+ button-primary: { type: button, bg: "#5200ff", fg: "#ffffff", radius: 3, padding: "12px 20px", font: "14/600", use: "Primary CTA Subscribe, Read more" }
49
+ button-accent: { type: button, bg: "#3cffd0", fg: "#131313", radius: 3, padding: "12px 20px", font: "14/600", use: "High-energy secondary CTA on dark canvas" }
50
+ button-outline: { type: button, fg: "#ffffff", radius: 3, padding: "12px 20px", font: "14/600", use: "Secondary action on dark, 1px border #c2c2c2" }
51
+ badge-pill: { type: badge, fg: "#3cffd0", radius: 9999, padding: "4px 12px", font: "12/600", use: "Section tags, topic chips, UPPERCASE mono, 1px accent border" }
52
+ input-default: { type: input, bg: "#2d2d2d", fg: "#ffffff", radius: 3, padding: "12px 14px", font: "16/400", use: "Newsletter signup, search, comment box" }
53
+ input-error: { type: input, bg: "#2d2d2d", fg: "#ffffff", radius: 3, padding: "12px 14px", font: "16/400", use: "Validation error, 1px border #5200ff" }
54
+ card-tile: { type: card, bg: "#5200ff", fg: "#ffffff", radius: 3, padding: "20px", use: "Signature color-block story tile, Manuka 60/900 headline" }
55
+ card-standard: { type: card, bg: "#131313", fg: "#ffffff", radius: 3, padding: "16px", use: "StoryStream rows, list modules, mint kicker" }
56
+ card-inverted: { type: card, bg: "#ffffff", fg: "#131313", radius: 3, padding: "16px", use: "Sponsored / special sections on light" }
57
+ tab-nav: { type: tab, fg: "#ffffff", use: "Top nav section list on #131313", active: "underline or #5200ff marker" }
58
+ ---
59
+
60
+ # Design System Inspiration of The Verge
61
+
62
+ ## 1. Visual Theme & Atmosphere
63
+
64
+ The Verge is Vox Media's flagship technology publication, and its 2022 in-house redesign is one of the most aggressively opinionated editorial identities on the modern web. Where most tech-news sites default to a polite white canvas with a blue accent, The Verge does the opposite: it opens on an almost-black canvas (`#131313`) and weaponizes two clashing, hyper-saturated accents — an acid "jelly mint" (`#3cffd0`) and an electric "ultraviolet" purple (`#5200ff`) — that behave like hazard tape across the page. The effect is loud, confident, and unmistakably a media brand that wants to feel more like a zine or a feed than a corporate newspaper.
65
+
66
+ The redesign was a deliberate "back to bloggy basics" move: a chronological StoryStream rail replaces the algorithmic homepage, and editorial voice is foregrounded over SEO-optimized blandness. Visually this is expressed through enormous display type, full-bleed saturated color-block tiles, and a dense, kinetic layout that rewards scrolling. Nothing about it is calm — it is engineered to feel current, irreverent, and slightly chaotic in a curated way.
67
+
68
+ Typography carries the personality. Three working typefaces anchor the system: **Mānuka** (Klim Type Foundry) for massive display headlines, **PolySans** (Gradient) for body, labels, and UI, and **FK Roman** (Florian Karsten) reserved for rare editorial/print-excerpt moments. Headlines run absurdly large — 60px to 107px — and PolySans Mono shows up in UPPERCASE for timestamps, kickers, and tags, reinforcing the "unfinished interface between present and future" concept the logo was built around.
69
+
70
+ **Key Characteristics:**
71
+ - Almost-black canvas (`#131313`) — no light mode on the homepage; dark-first by design
72
+ - Dual hazard accents: jelly mint (`#3cffd0`) + ultraviolet (`#5200ff`), used as collision, not harmony
73
+ - Mānuka display headlines at 60–107px, 900 weight — type as the primary brand asset
74
+ - PolySans for everything functional; PolySans Mono UPPERCASE for kickers/metadata
75
+ - Saturated full-bleed color-block tiles (mint, violet, yellow, pink, orange) for story cards
76
+ - Sharp geometry — small 2–4px radii on most UI, occasional large pill radii
77
+ - Editorial, irreverent, feed-like — designed to feel like a zine, not a newspaper
78
+
79
+ ## 2. Color Palette & Roles
80
+
81
+ ### Primary
82
+ - **Verge Ultraviolet** (`#5200ff`): The signature electric purple. Primary brand accent — logo lockups, link emphasis, color-block tiles, key CTAs. The single most "Verge" color.
83
+ - **Jelly Mint** (`#3cffd0`): The acid co-accent. Highlights, hover states, tags, decorative rails, and tiles. Paired with ultraviolet to create the signature high-tension collision.
84
+ - **Canvas Black** (`#131313`): Primary page background. Almost-black, slightly warm — never pure `#000000`.
85
+ - **Pure White** (`#ffffff`): Primary text on the dark canvas, and the fill color for inverted/light tiles.
86
+
87
+ ### Tile / Block Colors
88
+ Story tiles use saturated full-bleed color blocks. The core set:
89
+ - **Mint** `#3cffd0`
90
+ - **Violet** `#5200ff`
91
+ - **White** `#ffffff` (inverted tiles — black text on white)
92
+ - Extended editorial set seen across coverage: **yellow**, **pink**, **orange** (used per-section/per-package, high-saturation)
93
+
94
+ ### Surface & Neutral Scale
95
+ - **Surface Slate** (`#2d2d2d`): Elevated surfaces, secondary panels on the dark canvas.
96
+ - **Image Frame** (`#313131`): Border/frame color around media thumbnails.
97
+ - **Border Strong** (`#c2c2c2`): High-contrast dividers, outlined buttons, form borders.
98
+ - **Text Muted** (`#e9e9e9`): Near-white softened text for dense passages.
99
+ - **Text Secondary** (`#949494`): Captions, metadata, bylines, timestamps.
100
+ - **Text Inverted** (`#131313`): Text on white/mint/light tiles.
101
+
102
+ ### Interactive / Semantic
103
+ - **Link Hover** (`#3860be`): Hover state for inline text links.
104
+ - **Focus Cyan** (`#1eaedb`): Focus-ring / interactive cyan accent for accessibility outlines.
105
+
106
+ ### Role Summary
107
+ - Background: `#131313` (canvas), `#2d2d2d` (surface)
108
+ - Primary text: `#ffffff`; secondary `#949494`; muted `#e9e9e9`
109
+ - Brand accents: `#5200ff` (ultraviolet), `#3cffd0` (mint)
110
+ - Link hover: `#3860be`; focus: `#1eaedb`
111
+ - Borders: `#c2c2c2` (strong), `#313131` (image frame)
112
+
113
+ ## 3. Typography Rules
114
+
115
+ ### Font Family
116
+ - **Display**: `"Manuka", "Mānuka", "PolySans", Helvetica, Arial, sans-serif` — Klim Type Foundry, used at 900 weight for headlines.
117
+ - **Body / UI**: `"PolySans", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif` — Gradient, the functional workhorse.
118
+ - **Mono**: `"PolySans Mono", ui-monospace, "SF Mono", Menlo, monospace` — UPPERCASE kickers, timestamps, tags.
119
+ - **Editorial Serif**: `"FK Roman Standard", Georgia, "Times New Roman", serif` — rare pull-quotes / print excerpts only.
120
+
121
+ ### Hierarchy
122
+
123
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
124
+ |------|------|------|--------|-------------|----------------|-------|
125
+ | Display Mega | Mānuka | 107px | 900 | 0.95 | -0.02em | Hero/feature splash headlines |
126
+ | Display Large | Mānuka | 72px | 900 | 1.0 | -0.02em | Section/package headlines |
127
+ | Display | Mānuka | 60px | 900 | 1.02 | -0.01em | Story-tile headlines |
128
+ | Headline | PolySans | 32px | 700 | 1.1 | -0.01em | Sub-feature, card titles |
129
+ | Title | PolySans | 24px | 700 | 1.2 | normal | List headlines, module titles |
130
+ | Subtitle | PolySans | 18px | 600 | 1.35 | normal | Deks, standfirst |
131
+ | Body Large | PolySans | 18px | 400 | 1.55 | normal | Article body lead |
132
+ | Body | PolySans | 16px | 400 | 1.6 | normal | Standard article reading text |
133
+ | Body Small | PolySans | 14px | 400 | 1.5 | normal | Secondary text, captions |
134
+ | Label / Kicker | PolySans Mono | 12px | 600 | 1.2 | 0.06em | UPPERCASE section tags, kickers |
135
+ | Caption / Meta | PolySans | 12px | 400 | 1.4 | normal | Bylines, timestamps, credits |
136
+
137
+ ### Principles
138
+ - **Type is the brand.** Mānuka display at 60–107px is the loudest element on any page; it is allowed to dominate.
139
+ - **Mono = metadata.** PolySans Mono appears only in UPPERCASE for kickers, tags, timestamps, and labels — never for reading text.
140
+ - **Negative tracking on display.** Big Mānuka headlines tighten letter-spacing (-0.01 to -0.02em); body PolySans stays neutral.
141
+ - **Serif is a guest.** FK Roman is reserved for occasional pull-quotes and print-evoking moments — never general body.
142
+ - **No timid sizes.** Headlines jump scale dramatically; there is little middle ground between 18px deks and 60px+ display.
143
+
144
+ ## 4. Component Stylings
145
+
146
+ ### Buttons
147
+
148
+ **Primary (Ultraviolet)**
149
+ - Background: `#5200ff`
150
+ - Text: `#ffffff`
151
+ - Border: none
152
+ - Radius: 3px
153
+ - Padding: 12px 20px
154
+ - Font: 14px / 600 / PolySans
155
+ - Hover: brightness +6% / subtle mint outline
156
+ - Use: Primary CTA — "Subscribe", "Read more", newsletter signup
157
+
158
+ **Accent (Mint)**
159
+ - Background: `#3cffd0`
160
+ - Text: `#131313`
161
+ - Border: none
162
+ - Radius: 3px
163
+ - Padding: 12px 20px
164
+ - Font: 14px / 600 / PolySans
165
+ - Use: High-energy secondary CTA on dark canvas; tags and pills
166
+
167
+ **Outline (on dark)**
168
+ - Background: transparent
169
+ - Text: `#ffffff`
170
+ - Border: 1px solid `#c2c2c2`
171
+ - Radius: 3px
172
+ - Padding: 12px 20px
173
+ - Font: 14px / 600 / PolySans
174
+ - Hover: border `#3cffd0`, text `#3cffd0`
175
+ - Use: Secondary action, "Comments", "Share"
176
+
177
+ **Pill / Tag (Mono)**
178
+ - Background: transparent or `#2d2d2d`
179
+ - Text: `#3cffd0` or `#ffffff`
180
+ - Border: 1px solid `#3cffd0`
181
+ - Radius: 20px
182
+ - Padding: 4px 12px
183
+ - Font: 12px / 600 / PolySans Mono, UPPERCASE, +0.06em
184
+ - Use: Section tags, topic chips, StoryStream labels
185
+
186
+ ### Inputs
187
+
188
+ **Default (dark)**
189
+ - Background: `#2d2d2d`
190
+ - Text: `#ffffff`
191
+ - Border: 1px solid `#313131`
192
+ - Radius: 3px
193
+ - Padding: 12px 14px
194
+ - Font: 16px / 400 / PolySans
195
+ - Placeholder: `#949494`
196
+ - Focus: border `#1eaedb`, 2px focus ring `#1eaedb`
197
+ - Use: Newsletter signup, search, comment box
198
+
199
+ **Error**
200
+ - Background: `#2d2d2d`
201
+ - Text: `#ffffff`
202
+ - Border: 1px solid `#5200ff`
203
+ - Radius: 3px
204
+ - Padding: 12px 14px
205
+ - Font: 16px / 400 / PolySans
206
+ - Use: Validation error — paired with mono caption below
207
+
208
+ ### Cards / Story Tiles
209
+
210
+ **Color-Block Tile (signature)**
211
+ - Background: full-bleed saturated color (`#5200ff`, `#3cffd0`, `#ffffff`, yellow, pink, orange)
212
+ - Text: `#ffffff` on dark tiles / `#131313` on mint & white tiles
213
+ - Border: none
214
+ - Radius: 3px (often 0 for full-bleed packages)
215
+ - Padding: 20–24px
216
+ - Headline: Mānuka 60px / 900
217
+ - Use: Hero packages, featured stories — the defining Verge surface
218
+
219
+ **Standard Story Card (dark)**
220
+ - Background: `#131313` or `#2d2d2d`
221
+ - Text: `#ffffff`
222
+ - Border: none; 1px `#313131` frame on the thumbnail
223
+ - Radius: 3px
224
+ - Padding: 16px
225
+ - Kicker: PolySans Mono 12px UPPERCASE `#3cffd0`
226
+ - Use: StoryStream rows, list modules
227
+
228
+ **Inverted Card (light)**
229
+ - Background: `#ffffff`
230
+ - Text: `#131313`
231
+ - Border: none
232
+ - Radius: 3px
233
+ - Padding: 16–20px
234
+ - Use: Sponsored / special sections breaking from the dark canvas
235
+
236
+ ### StoryStream Rail
237
+ - Vertical timeline rail down the left of the feed
238
+ - Rail line: `#313131`; node dots: `#3cffd0`
239
+ - Timestamp labels: PolySans Mono 12px UPPERCASE `#949494`
240
+ - Use: The chronological "bloggy basics" backbone of the homepage
241
+
242
+ ### Tags / Badges
243
+ - Background: transparent or tile color
244
+ - Text: `#3cffd0` (default) or contextual tile color
245
+ - Border: 1px solid current accent
246
+ - Radius: 20px (pill)
247
+ - Padding: 4px 12px
248
+ - Font: 12px / 600 / PolySans Mono UPPERCASE
249
+ - Use: Section labels (`TECH`, `SCIENCE`, `REVIEWS`), topic chips
250
+
251
+ ### Navigation
252
+ - Background: `#131313` (sticky)
253
+ - Logo: ultraviolet/mint lockup, sharp geometric mark
254
+ - Link text: PolySans 14px / 600, `#ffffff`; hover `#3cffd0`
255
+ - Active section: underline or `#5200ff` marker
256
+ - Use: Top nav bar — dark, dense, mono-flavored section list
257
+
258
+ ### Links (inline body)
259
+ - Default: `#ffffff` with `#3cffd0` underline, or ultraviolet on light surfaces
260
+ - Hover: `#3860be`
261
+ - Use: In-article links — underline persistent, color shift on hover
262
+
263
+
264
+ **Tier 1 sources:** https://www.theverge.com (live production site, verified via live DOM getComputedStyle).
265
+
266
+ ## 5. Layout Principles
267
+
268
+ ### Spacing System
269
+ - Base unit: 8px
270
+ - Common values: 4px, 8px, 12px, 16px, 20px, 24px, 32px, 48px, 64px
271
+ - Full-bleed packages ignore content padding and run edge-to-edge
272
+ - Dense feed rhythm — tighter vertical gaps than typical editorial sites
273
+
274
+ ### Grid & Container
275
+ - Wide max-width (~1200–1400px) with a prominent left StoryStream rail
276
+ - Asymmetric, modular grid — color blocks of varying spans, not a uniform column grid
277
+ - Mobile collapses to a single stacked feed with the rail flattened
278
+ - Full-bleed hero packages break the container deliberately
279
+
280
+ ### Whitespace Philosophy
281
+ - **Density over calm.** The feed is intentionally packed and kinetic — it should feel alive.
282
+ - **Color blocks ARE the whitespace.** Negative space is often filled with saturated color rather than empty canvas.
283
+ - **Headlines claim space.** Mānuka display is given room to be enormous even in dense layouts.
284
+
285
+ ### Border Radius Scale
286
+ - Sharp (2–3px): Default — buttons, cards, inputs, tiles
287
+ - Comfortable (4px): Slightly softened panels
288
+ - Pill (20px): Tags, mono chips
289
+ - Large (24–40px): Occasional rounded media / feature pills
290
+ - Round (50%): Avatars, node dots
291
+
292
+ ## 6. Depth & Elevation
293
+
294
+ The Verge is largely **flat** — depth comes from color contrast and saturation collisions, not shadow. On a `#131313` canvas, a `#5200ff` block reads as "elevated" purely through hue, the way fluorescent ink pops on newsprint.
295
+
296
+ | Level | Treatment | Use |
297
+ |-------|-----------|-----|
298
+ | Flat (Level 0) | No shadow; color-block contrast only | Tiles, feed rows, canvas |
299
+ | Surface (Level 1) | `#2d2d2d` fill on `#131313` | Secondary panels, inputs |
300
+ | Frame (Level 2) | 1px `#313131` border | Media thumbnails, cards |
301
+ | Floating (Level 3) | `0 4px 16px rgba(0,0,0,0.5)` | Dropdowns, sticky nav on scroll |
302
+ | Modal (Level 4) | `0 8px 32px rgba(0,0,0,0.6)` + `#131313` scrim 0.7 | Overlays, lightbox media |
303
+
304
+ **Shadow Philosophy**: Shadows are deep and pure-black-tinted (the canvas is already dark), used sparingly and only for true overlays. The brand's "elevation" language is chromatic — a mint or ultraviolet block is the loudest thing on screen without any shadow at all.
305
+
306
+ ## 7. Do's and Don'ts
307
+
308
+ ### Do
309
+ - Use `#131313` as the canvas — almost-black, never pure `#000000`
310
+ - Pair ultraviolet (`#5200ff`) and mint (`#3cffd0`) as a deliberate high-tension collision
311
+ - Set headlines in Mānuka 900 at 60px+ — let type dominate
312
+ - Use PolySans Mono UPPERCASE for kickers, tags, and timestamps
313
+ - Use full-bleed saturated color blocks for featured story tiles
314
+ - Keep most radii sharp (2–3px); reserve pills (20px) for mono tags
315
+ - Use mint as the hover/active accent on dark surfaces
316
+
317
+ ### Don't
318
+ - Don't default to a white/light homepage — The Verge is dark-first
319
+ - Don't use timid, mid-saturation colors — accents are hazard-bright or nothing
320
+ - Don't set body text in Mānuka — display only; reading text is PolySans
321
+ - Don't use PolySans Mono for paragraphs — it's metadata/labels only
322
+ - Don't over-round UI — heavy radii undercut the sharp, "unfinished interface" feel
323
+ - Don't rely on shadows for hierarchy — use color-block contrast
324
+ - Don't mute the brand into corporate politeness — the energy IS the identity
325
+
326
+ ## 8. Responsive Behavior
327
+
328
+ ### Breakpoints
329
+ | Name | Width | Key Changes |
330
+ |------|-------|-------------|
331
+ | Mobile | <600px | Single stacked feed; rail flattened to inline timestamps; display type scales to 36–48px |
332
+ | Tablet | 600–1024px | 2-column tile grid; rail visible; headlines 48–72px |
333
+ | Desktop | >1024px | Full modular grid + left StoryStream rail; display up to 107px |
334
+ | Wide | >1400px | Max container; larger color-block spans |
335
+
336
+ ### Touch Targets
337
+ - Buttons / pills: minimum 40px tall
338
+ - Nav links: 44px tap height on mobile
339
+ - Tag chips: 32px minimum with 12px h-padding
340
+
341
+ ### Collapsing Strategy
342
+ - StoryStream rail collapses into inline mono timestamps on mobile
343
+ - Multi-span color blocks stack to full-width single column
344
+ - Mānuka display clamps down (`clamp()`-style) so 107px never overflows narrow screens
345
+ - Sticky nav condenses to logo + hamburger
346
+
347
+ ### Image Behavior
348
+ - Thumbnails framed with 1px `#313131`
349
+ - Full-bleed package imagery runs edge-to-edge, ignoring container padding
350
+ - Aspect ratios preserved; lazy-loaded in the feed
351
+
352
+ ## 9. Agent Prompt Guide
353
+
354
+ ### Quick Color Reference
355
+ - Canvas background: `#131313`
356
+ - Surface: `#2d2d2d`
357
+ - Primary accent (purple): `#5200ff`
358
+ - Secondary accent (mint): `#3cffd0`
359
+ - Primary text: `#ffffff`
360
+ - Secondary text: `#949494`
361
+ - Muted text: `#e9e9e9`
362
+ - Inverted text (on light tiles): `#131313`
363
+ - Link hover: `#3860be`
364
+ - Focus ring: `#1eaedb`
365
+ - Strong border: `#c2c2c2`
366
+ - Image frame: `#313131`
367
+
368
+ ### Example Component Prompts
369
+ - "Create a Verge story tile: full-bleed `#5200ff` background, no radius, 24px padding. Kicker in PolySans Mono 12px UPPERCASE `#3cffd0`, +0.06em tracking. Headline in Mānuka 60px weight 900 white, line-height 1.0, -0.01em. Byline 12px PolySans `#e9e9e9`."
370
+ - "Build a primary CTA: `#5200ff` bg, white text, 14px weight 600 PolySans, 12px 20px padding, 3px radius. Hover: mint `#3cffd0` 1px outline."
371
+ - "Design a StoryStream row: `#131313` bg, left rail line `#313131` with a `#3cffd0` node dot, mono timestamp 12px `#949494` UPPERCASE, headline PolySans 24px weight 700 white, 16px padding, 1px `#313131` frame on the thumbnail."
372
+ - "Create a section tag chip: transparent bg, 1px `#3cffd0` border, 20px radius, 4px 12px padding, text `#3cffd0` PolySans Mono 12px UPPERCASE."
373
+ - "Build a newsletter input on dark: `#2d2d2d` bg, 1px `#313131` border, 3px radius, white text 16px PolySans, placeholder `#949494`. Focus: `#1eaedb` 2px ring."
374
+
375
+ ### Iteration Guide
376
+ 1. Always start on the dark canvas `#131313` — never white-first
377
+ 2. Primary purple is `#5200ff`; mint `#3cffd0` is its required co-accent
378
+ 3. Display headlines: Mānuka 900, 60px+, tight tracking
379
+ 4. Metadata/kickers/tags: PolySans Mono, UPPERCASE, mint
380
+ 5. Keep radii sharp (2–3px); pills only for mono tags (20px)
381
+ 6. Use saturated color blocks for emphasis instead of shadows
382
+ 7. Body reading text: PolySans 16px / 400, line-height 1.6
383
+
384
+ ---
385
+
386
+ ## 10. Voice & Tone
387
+
388
+ The Verge writes like a sharp, plugged-in friend who knows the tech industry intimately and isn't afraid to be funny, skeptical, or blunt about it. Headlines are punchy, often playful or provocative, and frequently break the fourth wall. The voice is conversational, opinionated, and irreverent — closer to a group chat than a press release — while staying rigorous and well-sourced underneath. It assumes a smart, terminally-online reader who gets the references.
389
+
390
+ | Context | Tone |
391
+ |---|---|
392
+ | Headlines | Punchy, witty, sometimes provocative. Active voice. May be a complete sentence or a wry fragment. |
393
+ | Kickers / tags | Terse, UPPERCASE, categorical (`TECH`, `EXCLUSIVE`, `REVIEW`). |
394
+ | Body | Conversational but reported — opinion grounded in facts and sources. |
395
+ | CTAs | Direct, low-friction (`Read more`, `Subscribe`, `Sign up`). |
396
+ | Reviews | Verdict-forward, scored, unafraid to pan a product. |
397
+ | Newsletter / promo | Friendly, a little self-aware, never corporate-salesy. |
398
+
399
+ **Avoid**: PR-speak, breathless hype without skepticism, both-sides hedging that dodges a verdict, and stiff AP-wire neutrality. The Verge has a point of view and states it.
400
+
401
+ ## 11. Brand Narrative
402
+
403
+ The Verge launched in 2011 under Vox Media as a technology, science, and culture publication, quickly becoming a defining voice in consumer-tech journalism. Its 2022 redesign — developed entirely in-house by Vox Media's design team — was a statement against the homogenized, SEO-flattened, algorithm-fed web. The team described going "back to bloggy basics": a chronological StoryStream homepage that surfaces the staff's actual reading and linking, reasserting editorial judgment over machine ranking.
404
+
405
+ The visual identity was built around the idea of "an unfinished interface between the present and the future" — hence the sharp logo, the hazard-tape collision of ultraviolet and mint, and the aggressively current dark aesthetic. The redesign was widely covered (Nieman Lab, TypeRoom, Brand New, Fonts In Use) as a rare case of a major publication making its design louder and more opinionated rather than safer.
406
+
407
+ What The Verge refuses: the calm white-canvas neutrality of legacy news sites, the personality-free uniformity of algorithmic feeds, and the muted "trustworthy" palettes of corporate media. It bets that a strong, even abrasive, identity builds more loyalty than inoffensive blandness — that a tech audience wants a publication with taste and a point of view, rendered in type loud enough to match.
408
+
409
+ ## 12. Principles
410
+
411
+ 1. **Dark-first, always.** The canvas is `#131313`. Light is the exception (sponsored/inverted tiles), never the default. The brand lives in the dark.
412
+ 2. **Collision over harmony.** Ultraviolet and mint are meant to clash like hazard tape. The tension is the point; don't soften it into a tasteful gradient.
413
+ 3. **Type is the loudest voice.** Mānuka display at 60–107px dominates intentionally. If a headline isn't commanding the page, it's too small.
414
+ 4. **Metadata speaks in mono.** Kickers, tags, and timestamps wear PolySans Mono UPPERCASE — a consistent signal that says "this is the interface talking."
415
+ 5. **Color is structure.** Saturated blocks organize the page and create hierarchy; shadows are nearly absent. Contrast does the work.
416
+ 6. **Editorial judgment over algorithm.** The StoryStream rail is chronological and human-curated by design — the layout itself argues for taste over ranking.
417
+ 7. **Sharp, not soft.** Small radii and hard edges reinforce the "unfinished future interface" concept. Over-rounding is off-brand.
418
+ 8. **Loud, but legible.** Energy never sacrifices readability — body stays PolySans 16px at comfortable line-height on high-contrast surfaces.
419
+
420
+ ## 13. Personas
421
+
422
+ *Personas below are fictional archetypes informed by The Verge's publicly described tech-media audience, not individual people.*
423
+
424
+ **Marcus, 29, Brooklyn.** Product designer at a startup, perpetually online. Reads The Verge multiple times a day on mobile during commutes and breaks. He's there for the take as much as the news — he wants the witty headline and the verdict, not a neutral wire summary. Loves the chronological feed because it feels like following smart people's bookmarks. Notices and appreciates the typography; the redesign is part of why he trusts the brand's taste.
425
+
426
+ **Priya, 41, Austin.** Engineering manager who follows hardware reviews and AI coverage closely before making purchase and team-tooling decisions. Reads on desktop, scans the StoryStream for what's moving, and clicks through to full reviews for the scored verdict. Values that The Verge will actually pan a bad product. The bold visual identity reads to her as confidence, not gimmick.
427
+
428
+ **Devon, 23, Chicago.** CS student and gadget enthusiast. Came for the YouTube and TikTok content, stayed for the site. Treats The Verge like a feed — fast scrolling, color-block tiles catching his eye, tapping kicker tags to dive into a topic. The mint-and-purple aesthetic feels native to how he already consumes media; a polite gray news site would feel old to him.
429
+
430
+ ## 14. States
431
+
432
+ | State | Treatment |
433
+ |---|---|
434
+ | **Empty (feed/search)** | Single line of `#949494` PolySans body explaining the absence, plus a mint `#3cffd0` text link to browse all sections. No illustration. |
435
+ | **Loading (first paint)** | Skeleton blocks at `#2d2d2d` on the `#131313` canvas, matching tile dimensions. Subtle shimmer. Headlines render last. |
436
+ | **Loading (more stories)** | Mint `#3cffd0` spinner or "Loading…" in PolySans Mono UPPERCASE at the foot of the StoryStream. Content stays in place. |
437
+ | **Error (inline field)** | 1px `#5200ff` border on the input, error text below in PolySans Mono UPPERCASE 12px `#5200ff`. One actionable line. |
438
+ | **Error (page)** | Centered Mānuka headline (e.g., "404 — Lost in the future"), `#949494` subtext, mint link back home. On-brand and a little playful. |
439
+ | **Hover (link)** | Inline link shifts to `#3860be`; underline persists. On dark UI, interactive elements shift toward mint `#3cffd0`. |
440
+ | **Hover (tile)** | Color block brightens slightly / gains a mint outline; headline underline appears. |
441
+ | **Focus (a11y)** | 2px `#1eaedb` focus ring on all interactive elements. Always visible — never suppressed. |
442
+ | **Active (nav section)** | Section label gains `#5200ff` underline marker; mono tag fills mint. |
443
+ | **Disabled** | Element drops to ~40% opacity; border stays `#313131` so geometry is stable. |
444
+ | **Success (newsletter signup)** | Inline confirmation in mint `#3cffd0`, PolySans 14px, with a brief check mark. No modal for routine confirmations. |
445
+
446
+ ## 15. Motion & Easing
447
+
448
+ **Durations** (named):
449
+
450
+ | Token | Value | Use |
451
+ |---|---|---|
452
+ | `motion-instant` | 0ms | Reduced-motion fallback, instant state flips |
453
+ | `motion-fast` | 150ms | Hover, focus, link color shifts, tag fills |
454
+ | `motion-standard` | 250ms | The default — tile hovers, dropdowns, nav reveals |
455
+ | `motion-slow` | 400ms | Emphasized — package transitions, hero reveals |
456
+ | `motion-feed` | 300ms | StoryStream item entrance as new stories load in |
457
+
458
+ **Easings:**
459
+
460
+ | Token | Curve | Use |
461
+ |---|---|---|
462
+ | `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Things appearing — feed items, dropdowns, overlays |
463
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals, pops |
464
+ | `ease-standard` | `cubic-bezier(0.4, 0.0, 0.2, 1)` | Two-way — tile hover lifts, tab content |
465
+ | `ease-snap` | `cubic-bezier(0.2, 0.8, 0.2, 1)` | Snappy, slightly punchy hover/active — matches the brand's energetic feel |
466
+
467
+ **Signature motions.**
468
+
469
+ 1. **Feed entrance.** As new StoryStream items load, they fade-and-rise from `y+12px` over `motion-feed / ease-enter`, with the mint node dot scaling in. Reinforces the live, chronological feel.
470
+ 2. **Tile hover.** Color-block tiles brighten and gain a 1px mint outline over `motion-fast / ease-snap`; the headline underline draws left-to-right. Snappy, not floaty.
471
+ 3. **Accent collision.** Hover/active states on dark UI transition white → mint (`#3cffd0`) over `motion-fast`. The color shift is the primary feedback, not movement.
472
+ 4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all tokens collapse to `motion-instant`; entrances become simple opacity changes, no translate. Fully usable, just static.
473
+
474
+ <!--
475
+ OmD v0.1 Sources — The Verge
476
+
477
+ Token-level claims (sections 1–9) grounded in:
478
+ - The Verge Design System token reference (shadcn.io/design/theverge): canvas #131313,
479
+ surface #2d2d2d, jelly mint #3cffd0, ultraviolet #5200ff, text #ffffff/#949494/#e9e9e9,
480
+ link hover #3860be, focus #1eaedb, border #c2c2c2, image frame #313131, base radius 3px,
481
+ Mānuka 900 display 60–107px, PolySans body, PolySans Mono UPPERCASE, FK Roman editorial.
482
+ - Fonts In Use (fontsinuse.com/uses/48536) — confirms Mānuka (Klim), PolySans (Gradient),
483
+ FK Roman (Florian Karsten) as the 2022 redesign typefaces.
484
+ - WebSearch (June 2026): TypeRoom, Nieman Lab, Brand New (UnderConsideration) — confirm
485
+ in-house Vox Media redesign, "back to bloggy basics," StoryStream, dark hazard-tape
486
+ palette, "unfinished interface between present and future" logo concept.
487
+
488
+ Note: brandpalettes.com "Verge" entry (#4CC2F1) refers to the Verge CRYPTOCURRENCY,
489
+ NOT The Verge media brand — excluded as a false match.
490
+
491
+ Direct WebFetch of theverge.com was blocked in this environment; live-DOM token
492
+ verification was not possible. Tokens above rely on the design-system reference and
493
+ corroborating redesign coverage.
494
+
495
+ Philosophy layer (sections 10–15): voice/tone and narrative are editorial readings of
496
+ The Verge's publicly documented 2022 redesign and editorial positioning. Personas (§13)
497
+ are fictional archetypes informed by the publication's described tech-media audience.
498
+ Motion tokens are conventions consistent with the brand's energetic, feed-first aesthetic,
499
+ not published Verge values.
500
+ -->
@@ -16,6 +16,39 @@ ds:
16
16
  type: brand
17
17
  description: Together AI's logo, color, and typography brand guidelines.
18
18
  og_image: "https://cdn.prod.website-files.com/69654e88dce9154b5f1206dd/69a49f8243e74bf4b805d130_og-brand.jpg"
19
+ tokens:
20
+ source: prose-derived
21
+ extracted: "2026-06-09"
22
+ colors:
23
+ primary: "#0f6fff"
24
+ magenta: "#ef2cc1"
25
+ orange: "#fc4c02"
26
+ dark-blue: "#010120"
27
+ lavender: "#bdbbff"
28
+ canvas: "#ffffff"
29
+ foreground: "#000000"
30
+ on-dark: "#ffffff"
31
+ typography:
32
+ family: { sans: "The Future", mono: "PP Neue Montreal Mono" }
33
+ display: { size: 64, weight: 500, lineHeight: 1.05, tracking: -1.92, use: "Hero, dense blocks" }
34
+ section: { size: 40, weight: 500, lineHeight: 1.20, tracking: -0.8, use: "Feature section titles" }
35
+ subheading: { size: 28, weight: 500, lineHeight: 1.15, tracking: -0.42, use: "Card headings" }
36
+ feature-title: { size: 22, weight: 500, lineHeight: 1.15, tracking: -0.22, use: "Small feature headings" }
37
+ body-lg: { size: 18, weight: 400, lineHeight: 1.30, tracking: -0.18, use: "Descriptions, sections" }
38
+ body: { size: 16, weight: 400, lineHeight: 1.28, tracking: -0.16, use: "Standard body, nav, buttons" }
39
+ caption: { size: 14, weight: 400, lineHeight: 1.40, use: "Metadata, descriptions" }
40
+ mono-label: { size: 16, weight: 500, lineHeight: 1.00, tracking: 0.08, use: "Uppercase section labels" }
41
+ mono-small: { size: 11, weight: 500, lineHeight: 1.00, tracking: 0.055, use: "Small uppercase tags" }
42
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48 }
43
+ rounded: { sm: 4, md: 8, lg: 8, full: 9999 }
44
+ shadow:
45
+ subtle: "rgba(1,1,32,0.1) 0px 4px 10px"
46
+ components_harvested: true
47
+ components:
48
+ button-dark: { type: button, bg: "#010120", fg: "#ffffff", radius: 4, use: "Primary CTA on light surfaces" }
49
+ button-outline: { type: button, fg: "#000000", radius: 4, use: "Secondary actions on light surfaces" }
50
+ card: { type: card, bg: "#ffffff", radius: 8, use: "Container with dark-blue-tinted subtle shadow, stats numbers" }
51
+ badge: { type: badge, fg: "#000000", radius: 4, padding: "2px 8px", font: "16/500", use: "Compact uppercase mono tag" }
19
52
  ---
20
53
 
21
54
  # Design System Inspiration of Together AI
@@ -15,6 +15,49 @@ ds:
15
15
  url: "https://tossmini-docs.toss.im/tds-mobile/"
16
16
  type: system
17
17
  description: Toss's mobile design system — 40+ components, tokens, and hooks.
18
+ tokens:
19
+ source: reconciled
20
+ extracted: "2026-06-08"
21
+ note: "primary = live Toss Blue blue500 (#3182f6); brand = official Pantone 2175C (#0064ff)"
22
+ colors:
23
+ primary: "#3182f6"
24
+ primary-hover: "#2272eb"
25
+ brand: "#0064ff"
26
+ brand-gray: "#202632"
27
+ canvas: "#ffffff"
28
+ foreground: "#191f28"
29
+ grey-700: "#333d4b"
30
+ grey-600: "#4e5968"
31
+ muted: "#8b95a1"
32
+ surface: "#f2f4f6"
33
+ border: "#e5e8eb"
34
+ on-primary: "#ffffff"
35
+ error: "#f04452"
36
+ success: "#03b26c"
37
+ warning: "#fe9800"
38
+ typography:
39
+ family: { sans: "Toss Product Sans", emoji: "Tossface" }
40
+ display-hero: { size: 30, weight: 700, lineHeight: 1.33, use: "Splash screens, hero moments" }
41
+ display-lg: { size: 26, weight: 700, lineHeight: 1.38, use: "Section headers, key metrics" }
42
+ heading-lg: { size: 22, weight: 700, lineHeight: 1.36, use: "Feature titles, modal headers" }
43
+ heading: { size: 20, weight: 600, lineHeight: 1.40, use: "Card headings, sub-sections" }
44
+ subtitle: { size: 16, weight: 600, lineHeight: 1.50, use: "Navigation titles, list headers" }
45
+ body-lg: { size: 16, weight: 400, lineHeight: 1.50, use: "Descriptions, explanations" }
46
+ body: { size: 14, weight: 400, lineHeight: 1.57, use: "Standard reading text" }
47
+ body-sm: { size: 13, weight: 400, lineHeight: 1.54, use: "Secondary information" }
48
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48 }
49
+ rounded: { sm: 4, md: 8, lg: 16, full: 9999 }
50
+ shadow:
51
+ subtle: "0px 1px 3px rgba(0,0,0,0.06)"
52
+ standard: "0px 2px 8px rgba(0,0,0,0.08)"
53
+ elevated: "0px 4px 12px rgba(0,0,0,0.12)"
54
+ components_harvested: true
55
+ components:
56
+ button-fill-primary: { type: button, bg: "#3182f6", fg: "#ffffff", radius: 16, padding: "0 20px", font: "17/600", use: "Primary CTA on light surfaces, 56px tall" }
57
+ button-fill-dark: { type: button, bg: "#4e5968", fg: "#ffffff", radius: 16, padding: "0 20px", font: "17/600", use: "Strong action where blue too playful" }
58
+ button-fill-danger: { type: button, bg: "#f04452", fg: "#ffffff", radius: 16, padding: "0 20px", font: "17/600", use: "Destructive confirmation" }
59
+ input-box: { type: input, fg: "#333d4b", radius: 14, padding: "14px 16px", font: "17/400", use: "Standard form input, most-used variant" }
60
+ card: { type: card, bg: "#ffffff", radius: 16, use: "White surface with standard shadow" }
18
61
  ---
19
62
 
20
63
  # Design System Inspiration of Toss (토스)