getrelay 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 (145) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +40 -0
  3. package/bin/relay.js +362 -0
  4. package/design-md/airbnb/DESIGN.md +545 -0
  5. package/design-md/airbnb/README.md +5 -0
  6. package/design-md/airtable/DESIGN.md +554 -0
  7. package/design-md/airtable/README.md +5 -0
  8. package/design-md/apple/DESIGN.md +562 -0
  9. package/design-md/apple/README.md +5 -0
  10. package/design-md/binance/DESIGN.md +634 -0
  11. package/design-md/binance/README.md +5 -0
  12. package/design-md/bmw/DESIGN.md +544 -0
  13. package/design-md/bmw/README.md +5 -0
  14. package/design-md/bmw-m/DESIGN.md +503 -0
  15. package/design-md/bmw-m/README.md +5 -0
  16. package/design-md/bugatti/DESIGN.md +454 -0
  17. package/design-md/bugatti/README.md +5 -0
  18. package/design-md/cal/DESIGN.md +542 -0
  19. package/design-md/cal/README.md +5 -0
  20. package/design-md/claude/DESIGN.md +589 -0
  21. package/design-md/claude/README.md +5 -0
  22. package/design-md/clay/DESIGN.md +541 -0
  23. package/design-md/clay/README.md +5 -0
  24. package/design-md/clickhouse/DESIGN.md +544 -0
  25. package/design-md/clickhouse/README.md +5 -0
  26. package/design-md/cohere/DESIGN.md +451 -0
  27. package/design-md/cohere/README.md +5 -0
  28. package/design-md/coinbase/DESIGN.md +570 -0
  29. package/design-md/coinbase/README.md +5 -0
  30. package/design-md/composio/DESIGN.md +506 -0
  31. package/design-md/composio/README.md +5 -0
  32. package/design-md/cursor/DESIGN.md +537 -0
  33. package/design-md/cursor/README.md +5 -0
  34. package/design-md/elevenlabs/DESIGN.md +504 -0
  35. package/design-md/elevenlabs/README.md +5 -0
  36. package/design-md/expo/DESIGN.md +526 -0
  37. package/design-md/expo/README.md +5 -0
  38. package/design-md/ferrari/DESIGN.md +531 -0
  39. package/design-md/ferrari/README.md +5 -0
  40. package/design-md/figma/DESIGN.md +578 -0
  41. package/design-md/figma/README.md +5 -0
  42. package/design-md/framer/DESIGN.md +544 -0
  43. package/design-md/framer/README.md +5 -0
  44. package/design-md/hashicorp/DESIGN.md +575 -0
  45. package/design-md/hashicorp/README.md +5 -0
  46. package/design-md/ibm/DESIGN.md +550 -0
  47. package/design-md/ibm/README.md +5 -0
  48. package/design-md/intercom/DESIGN.md +546 -0
  49. package/design-md/intercom/README.md +5 -0
  50. package/design-md/kraken/DESIGN.md +125 -0
  51. package/design-md/kraken/README.md +5 -0
  52. package/design-md/lamborghini/DESIGN.md +288 -0
  53. package/design-md/lamborghini/README.md +5 -0
  54. package/design-md/linear.app/DESIGN.md +548 -0
  55. package/design-md/linear.app/README.md +5 -0
  56. package/design-md/lovable/DESIGN.md +298 -0
  57. package/design-md/lovable/README.md +5 -0
  58. package/design-md/mastercard/DESIGN.md +365 -0
  59. package/design-md/mastercard/README.md +5 -0
  60. package/design-md/meta/DESIGN.md +683 -0
  61. package/design-md/meta/README.md +5 -0
  62. package/design-md/minimax/DESIGN.md +746 -0
  63. package/design-md/minimax/README.md +5 -0
  64. package/design-md/mintlify/DESIGN.md +852 -0
  65. package/design-md/mintlify/README.md +5 -0
  66. package/design-md/miro/DESIGN.md +825 -0
  67. package/design-md/miro/README.md +5 -0
  68. package/design-md/mistral.ai/DESIGN.md +773 -0
  69. package/design-md/mistral.ai/README.md +5 -0
  70. package/design-md/mongodb/DESIGN.md +767 -0
  71. package/design-md/mongodb/README.md +5 -0
  72. package/design-md/nike/DESIGN.md +575 -0
  73. package/design-md/nike/README.md +5 -0
  74. package/design-md/notion/DESIGN.md +821 -0
  75. package/design-md/notion/README.md +5 -0
  76. package/design-md/nvidia/DESIGN.md +640 -0
  77. package/design-md/nvidia/README.md +5 -0
  78. package/design-md/ollama/DESIGN.md +539 -0
  79. package/design-md/ollama/README.md +5 -0
  80. package/design-md/opencode.ai/DESIGN.md +521 -0
  81. package/design-md/opencode.ai/README.md +5 -0
  82. package/design-md/pinterest/DESIGN.md +597 -0
  83. package/design-md/pinterest/README.md +5 -0
  84. package/design-md/playstation/DESIGN.md +661 -0
  85. package/design-md/playstation/README.md +5 -0
  86. package/design-md/posthog/DESIGN.md +690 -0
  87. package/design-md/posthog/README.md +5 -0
  88. package/design-md/raycast/DESIGN.md +669 -0
  89. package/design-md/raycast/README.md +5 -0
  90. package/design-md/renault/DESIGN.md +589 -0
  91. package/design-md/renault/README.md +5 -0
  92. package/design-md/replicate/DESIGN.md +616 -0
  93. package/design-md/replicate/README.md +5 -0
  94. package/design-md/resend/DESIGN.md +585 -0
  95. package/design-md/resend/README.md +5 -0
  96. package/design-md/revolut/DESIGN.md +636 -0
  97. package/design-md/revolut/README.md +5 -0
  98. package/design-md/runwayml/DESIGN.md +244 -0
  99. package/design-md/runwayml/README.md +5 -0
  100. package/design-md/sanity/DESIGN.md +357 -0
  101. package/design-md/sanity/README.md +5 -0
  102. package/design-md/sentry/DESIGN.md +551 -0
  103. package/design-md/sentry/README.md +5 -0
  104. package/design-md/shopify/DESIGN.md +516 -0
  105. package/design-md/shopify/README.md +5 -0
  106. package/design-md/slack/DESIGN.md +482 -0
  107. package/design-md/spacex/DESIGN.md +363 -0
  108. package/design-md/spacex/README.md +5 -0
  109. package/design-md/spotify/DESIGN.md +246 -0
  110. package/design-md/spotify/README.md +5 -0
  111. package/design-md/starbucks/DESIGN.md +580 -0
  112. package/design-md/starbucks/README.md +5 -0
  113. package/design-md/stripe/DESIGN.md +487 -0
  114. package/design-md/stripe/README.md +5 -0
  115. package/design-md/supabase/DESIGN.md +462 -0
  116. package/design-md/supabase/README.md +5 -0
  117. package/design-md/superhuman/DESIGN.md +448 -0
  118. package/design-md/superhuman/README.md +5 -0
  119. package/design-md/tesla/DESIGN.md +286 -0
  120. package/design-md/tesla/README.md +5 -0
  121. package/design-md/theverge/DESIGN.md +339 -0
  122. package/design-md/theverge/README.md +5 -0
  123. package/design-md/together.ai/DESIGN.md +633 -0
  124. package/design-md/together.ai/README.md +5 -0
  125. package/design-md/uber/DESIGN.md +636 -0
  126. package/design-md/uber/README.md +5 -0
  127. package/design-md/vercel/DESIGN.md +736 -0
  128. package/design-md/vercel/README.md +5 -0
  129. package/design-md/vodafone/DESIGN.md +538 -0
  130. package/design-md/vodafone/README.md +5 -0
  131. package/design-md/voltagent/DESIGN.md +521 -0
  132. package/design-md/voltagent/README.md +5 -0
  133. package/design-md/warp/DESIGN.md +526 -0
  134. package/design-md/warp/README.md +5 -0
  135. package/design-md/webflow/DESIGN.md +588 -0
  136. package/design-md/webflow/README.md +5 -0
  137. package/design-md/wired/DESIGN.md +497 -0
  138. package/design-md/wired/README.md +5 -0
  139. package/design-md/wise/DESIGN.md +544 -0
  140. package/design-md/wise/README.md +5 -0
  141. package/design-md/x.ai/DESIGN.md +465 -0
  142. package/design-md/x.ai/README.md +5 -0
  143. package/design-md/zapier/DESIGN.md +537 -0
  144. package/design-md/zapier/README.md +5 -0
  145. package/package.json +31 -0
@@ -0,0 +1,497 @@
1
+ ---
2
+ version: alpha
3
+ name: Wired Inspired
4
+ description: An inspired interpretation of Wired's design language — a flagship technology-magazine brand whose surface is a strict editorial duet of stark black wordmark on white canvas, anchored by a tall narrow custom display serif for hero headlines, a humanist serif body face for long-form reading, and a clean sans face for metadata; layout reads like a printed magazine ported to the web with very little marketing chrome.
5
+
6
+ colors:
7
+ primary: "#000000"
8
+ on-primary: "#ffffff"
9
+ ink: "#000000"
10
+ ink-soft: "#1a1a1a"
11
+ body: "#757575"
12
+ hairline: "#e0e0e0"
13
+ canvas: "#ffffff"
14
+ canvas-soft: "#f5f5f5"
15
+ link: "#057dbc"
16
+
17
+ typography:
18
+ display-hero:
19
+ fontFamily: WiredDisplay, "Times New Roman", Georgia, serif
20
+ fontSize: 64px
21
+ fontWeight: 400
22
+ lineHeight: 59.52px
23
+ letterSpacing: -0.5px
24
+ display-lg:
25
+ fontFamily: WiredDisplay, "Times New Roman", Georgia, serif
26
+ fontSize: 48px
27
+ fontWeight: 400
28
+ lineHeight: 50.4px
29
+ letterSpacing: -0.4px
30
+ display-md:
31
+ fontFamily: WiredDisplay, "Times New Roman", Georgia, serif
32
+ fontSize: 32px
33
+ fontWeight: 400
34
+ lineHeight: 35.2px
35
+ letterSpacing: -0.3px
36
+ display-sm:
37
+ fontFamily: WiredDisplay, "Times New Roman", Georgia, serif
38
+ fontSize: 26px
39
+ fontWeight: 400
40
+ lineHeight: 28.08px
41
+ display-xs:
42
+ fontFamily: Apercu, "Helvetica Neue", Helvetica, Arial, sans-serif
43
+ fontSize: 20px
44
+ fontWeight: 700
45
+ lineHeight: 24px
46
+ letterSpacing: -0.28px
47
+ body-serif-lg:
48
+ fontFamily: BreveText, Georgia, "Times New Roman", serif
49
+ fontSize: 19px
50
+ fontWeight: 400
51
+ lineHeight: 27.93px
52
+ letterSpacing: 0.108px
53
+ body-serif-md:
54
+ fontFamily: BreveText, Georgia, "Times New Roman", serif
55
+ fontSize: 16px
56
+ fontWeight: 400
57
+ lineHeight: 24px
58
+ letterSpacing: 0.09px
59
+ body-md:
60
+ fontFamily: Apercu, "Helvetica Neue", Helvetica, Arial, sans-serif
61
+ fontSize: 17px
62
+ fontWeight: 400
63
+ lineHeight: 20px
64
+ body-md-strong:
65
+ fontFamily: Apercu, "Helvetica Neue", Helvetica, Arial, sans-serif
66
+ fontSize: 17px
67
+ fontWeight: 700
68
+ lineHeight: 22px
69
+ letterSpacing: -0.144px
70
+ body-sm:
71
+ fontFamily: Apercu, "Helvetica Neue", Helvetica, Arial, sans-serif
72
+ fontSize: 14px
73
+ fontWeight: 400
74
+ lineHeight: 18px
75
+ letterSpacing: 0.4px
76
+ body-sm-strong:
77
+ fontFamily: Apercu, "Helvetica Neue", Helvetica, Arial, sans-serif
78
+ fontSize: 14px
79
+ fontWeight: 700
80
+ lineHeight: 18px
81
+ letterSpacing: 0.4px
82
+ byline:
83
+ fontFamily: BreveText, Georgia, "Times New Roman", serif
84
+ fontSize: 12.73px
85
+ fontWeight: 700
86
+ lineHeight: 28px
87
+ letterSpacing: 0.108px
88
+ caption:
89
+ fontFamily: Apercu, "Helvetica Neue", Helvetica, Arial, sans-serif
90
+ fontSize: 12px
91
+ fontWeight: 400
92
+ lineHeight: 16px
93
+ button-md:
94
+ fontFamily: Apercu, "Helvetica Neue", Helvetica, Arial, sans-serif
95
+ fontSize: 16px
96
+ fontWeight: 700
97
+ lineHeight: 20px
98
+ letterSpacing: 0.3px
99
+
100
+ rounded:
101
+ none: 0px
102
+ full: 9999px
103
+
104
+ spacing:
105
+ xxs: 2px
106
+ xs: 4px
107
+ sm: 8px
108
+ md: 12px
109
+ lg: 16px
110
+ xl: 20px
111
+ 2xl: 24px
112
+ 3xl: 32px
113
+ 4xl: 48px
114
+
115
+ components:
116
+ nav-bar:
117
+ backgroundColor: "{colors.canvas}"
118
+ textColor: "{colors.ink}"
119
+ typography: "{typography.body-sm-strong}"
120
+ padding: "{spacing.md} {spacing.xl}"
121
+ nav-link:
122
+ textColor: "{colors.ink}"
123
+ typography: "{typography.body-sm-strong}"
124
+ button-primary:
125
+ backgroundColor: "{colors.primary}"
126
+ textColor: "{colors.on-primary}"
127
+ typography: "{typography.button-md}"
128
+ rounded: "{rounded.none}"
129
+ padding: "{spacing.md} {spacing.xl}"
130
+ button-outline:
131
+ backgroundColor: "{colors.canvas}"
132
+ textColor: "{colors.ink}"
133
+ borderColor: "{colors.ink}"
134
+ typography: "{typography.button-md}"
135
+ rounded: "{rounded.none}"
136
+ padding: "{spacing.md} {spacing.xl}"
137
+ button-icon-circular:
138
+ backgroundColor: "{colors.canvas}"
139
+ textColor: "{colors.ink}"
140
+ rounded: "{rounded.full}"
141
+ padding: "{spacing.sm}"
142
+ text-input:
143
+ backgroundColor: "{colors.canvas}"
144
+ textColor: "{colors.ink}"
145
+ borderColor: "{colors.ink}"
146
+ typography: "{typography.body-md}"
147
+ rounded: "{rounded.none}"
148
+ padding: "{spacing.md} {spacing.lg}"
149
+ story-card-large:
150
+ backgroundColor: "{colors.canvas}"
151
+ textColor: "{colors.ink}"
152
+ typography: "{typography.display-md}"
153
+ padding: "{spacing.lg}"
154
+ story-card:
155
+ backgroundColor: "{colors.canvas}"
156
+ textColor: "{colors.ink}"
157
+ typography: "{typography.display-xs}"
158
+ padding: "{spacing.md}"
159
+ story-row:
160
+ backgroundColor: "{colors.canvas}"
161
+ textColor: "{colors.ink}"
162
+ borderColor: "{colors.hairline}"
163
+ typography: "{typography.body-md-strong}"
164
+ padding: "{spacing.lg} 0"
165
+ category-eyebrow:
166
+ textColor: "{colors.ink}"
167
+ typography: "{typography.body-sm-strong}"
168
+ byline-row:
169
+ backgroundColor: "{colors.canvas}"
170
+ textColor: "{colors.body}"
171
+ typography: "{typography.byline}"
172
+ hero-band:
173
+ backgroundColor: "{colors.canvas}"
174
+ textColor: "{colors.ink}"
175
+ typography: "{typography.display-hero}"
176
+ padding: "{spacing.4xl} {spacing.xl}"
177
+ masthead-band:
178
+ backgroundColor: "{colors.canvas}"
179
+ textColor: "{colors.ink}"
180
+ typography: "{typography.body-md-strong}"
181
+ padding: "{spacing.md} {spacing.xl}"
182
+ hairline-divider:
183
+ borderColor: "{colors.hairline}"
184
+ footer:
185
+ backgroundColor: "{colors.primary}"
186
+ textColor: "{colors.on-primary}"
187
+ typography: "{typography.body-sm}"
188
+ padding: "{spacing.4xl} {spacing.xl}"
189
+
190
+ # ─── Examples (illustrative) — auto-derived; resolve any TO_FILL markers below ───
191
+ ex-pricing-tier:
192
+ description: "Default Pricing tier card. Re-uses feature-card chrome with brand canvas-soft surface."
193
+ backgroundColor: "{colors.canvas-soft}"
194
+ textColor: "{colors.ink}"
195
+ borderColor: "{colors.hairline}"
196
+ rounded: "{rounded.none}"
197
+ padding: "{spacing.lg}"
198
+ ex-pricing-tier-featured:
199
+ description: "Featured/highlighted tier — polarity-flipped surface (dark fill + light text in light mode, light fill + dark text in dark mode)."
200
+ backgroundColor: "{colors.ink}"
201
+ textColor: "{colors.on-primary}"
202
+ rounded: "{rounded.none}"
203
+ padding: "{spacing.lg}"
204
+ ex-product-selector:
205
+ description: "What's Included summary card — re-purposed for SaaS / B2B verticals (NOT a literal product gallery)."
206
+ backgroundColor: "{colors.canvas-soft}"
207
+ rounded: "{rounded.none}"
208
+ padding: "{spacing.lg}"
209
+ ex-cart-drawer:
210
+ description: "Subscription summary — re-purposed for SaaS / B2B (line items per add-on, not literal cart)."
211
+ backgroundColor: "{colors.canvas}"
212
+ rounded: "{rounded.none}"
213
+ padding: "{spacing.lg}"
214
+ item-divider: "{colors.hairline}"
215
+ ex-app-shell-row:
216
+ description: "Sidebar nav row inside the App Shell example. Active state uses brand primary as the indicator."
217
+ backgroundColor: "{colors.canvas}"
218
+ activeIndicator: "{colors.primary}"
219
+ rounded: "{rounded.none}"
220
+ padding: "{spacing.md} {spacing.lg}"
221
+ ex-data-table-cell:
222
+ description: "Default data-table th + td chrome. Header uses mono-caps eyebrow typography; body uses body-sm."
223
+ headerBackground: "{colors.canvas-soft}"
224
+ headerTypography: "{typography.caption}"
225
+ bodyTypography: "{typography.body-sm}"
226
+ cellPadding: "{spacing.md} {spacing.lg}"
227
+ rowBorder: "{colors.hairline}"
228
+ ex-auth-form-card:
229
+ description: "Sign-in / sign-up card. Re-uses feature-card chrome with text-input primitives inside."
230
+ backgroundColor: "{colors.canvas-soft}"
231
+ rounded: "{rounded.none}"
232
+ padding: "{spacing.lg}"
233
+ ex-modal-card:
234
+ description: "Modal dialog surface — same chrome as feature-card with elevated shadow."
235
+ backgroundColor: "{colors.canvas}"
236
+ rounded: "{rounded.none}"
237
+ padding: "{spacing.lg}"
238
+ ex-empty-state-card:
239
+ description: "Empty-state illustration frame."
240
+ backgroundColor: "{colors.canvas-soft}"
241
+ rounded: "{rounded.none}"
242
+ padding: "{spacing.3xl}"
243
+ captionTypography: "{typography.body-md}"
244
+ ex-toast:
245
+ description: "Toast notification surface — feature-card shape + medium shadow."
246
+ backgroundColor: "{colors.canvas}"
247
+ rounded: "{rounded.none}"
248
+ padding: "{spacing.md} {spacing.lg}"
249
+ typography: "{typography.body-sm}"
250
+
251
+ ---
252
+
253
+
254
+ ## Overview
255
+
256
+ Wired is the flagship technology-magazine brand under Condé Nast — and the web surface refuses to dress itself as a SaaS marketing site. The page is unmistakably an editorial product: a white canvas, a strict black wordmark in the brand's proprietary `WiredDisplay` (a tall, narrow, high-contrast serif used at 64 px), and stacked story cards that read as a printed magazine grid ported to the screen. There is no atmospheric gradient, no decorative chrome, no chromatic accent — the brand's only colour beyond the black-and-white duet is the small `{colors.link}` (`#057dbc`) used for inline body links inside long-form articles.
257
+
258
+ Type carries the entire identity. Three families ladder the system: `WiredDisplay` (the proprietary high-contrast serif) for hero / section headlines; `BreveText` (a humanist serif) for long-form body and bylines; and `Apercu` (a humanist sans) for metadata, captions, eyebrow tags, and buttons. The pairing is editorial-grade: serifs for narrative, sans for navigation and structural labels.
259
+
260
+ Buttons are square. The brand uses `{rounded.none}` 0 px corners across the entire UI — newsletter sign-ups, login forms, "Read more" CTAs all render as sharp rectangles. The only circular shape is the `button-icon-circular` used for social-share affordances. There are no soft drop-shadows; the brand uses hairline borders for elevation when needed.
261
+
262
+ **Key Characteristics:**
263
+ - A strict black-and-white duet with no chromatic accent except the inline link blue `{colors.link}`. The brand reads as a printed magazine.
264
+ - Three-face typographic system — `WiredDisplay` serif for display, `BreveText` serif for body, `Apercu` sans for metadata and buttons.
265
+ - Square buttons (`{rounded.none}`) — the brand never softens corners on interactive elements.
266
+ - A magazine-style story grid: large feature card at top, two-up secondary, then a vertical stack of bylined story rows separated by `{colors.hairline}` 1 px dividers.
267
+ - The brand's only signature decorative move is the **masthead band** — a thin black strip with the wordmark centred, no other decoration.
268
+ - A near-black `{colors.ink}` (`#000000`) footer band, no graphics, just text columns and the wordmark repeating.
269
+
270
+ ## Colors
271
+
272
+ ### Brand & Accent
273
+ - **Ink Black** (`{colors.primary}` — `#000000`): The brand's only "accent." Used for wordmark, headlines, CTAs, footer fill. Pure black, never softened.
274
+
275
+ ### Surface
276
+ - **Canvas** (`{colors.canvas}` — `#ffffff`): The default page background.
277
+ - **Canvas Soft** (`{colors.canvas-soft}` — `#f5f5f5`): Rare tint used for the comment-section background and search-result row hover states (not in the main page rhythm).
278
+ - **Hairline** (`{colors.hairline}` — `#e0e0e0`): 1 px dividers between story rows. The brand's only "line."
279
+
280
+ ### Text
281
+ - **Ink** (`{colors.ink}` — `#000000`): Every headline, every body paragraph in BreveText.
282
+ - **Ink Soft** (`{colors.ink-soft}` — `#1a1a1a`): A near-black variant used for caption-strong / footer link emphasis.
283
+ - **Body** (`{colors.body}` — `#757575`): Secondary metadata — bylines, timestamps, supporting body lines.
284
+
285
+ ### Semantic
286
+ The brand operates with one inline link colour and no separate error / success / warning palette in its marketing surface. Validation cues on form pages use the ink black + body grey hierarchy.
287
+
288
+ - **Link** (`{colors.link}` — `#057dbc`): The inline body-link blue. Used only inside long-form article body copy, never on UI buttons or navigation.
289
+
290
+ ## Typography
291
+
292
+ ### Font Family
293
+ Three families ladder the system:
294
+ 1. **WiredDisplay** — the proprietary tall-narrow high-contrast serif used exclusively for display headlines (64 px hero, scaling down to 26 px sub-display). The brand's most-recognisable typographic signature.
295
+ 2. **BreveText** — the proprietary humanist serif used for long-form body, bylines, and editorial captions. Used at 16 – 19 px line-height 1.45 – 1.50 for comfortable reading density.
296
+ 3. **Apercu** — a humanist sans used for nav, button labels, category eyebrows, metadata, and captions. Weights 400 / 700.
297
+
298
+ Inter is loaded as a fourth fallback face for embedded utility surfaces (the comment section, account pages) but does not appear on the main marketing / article surface.
299
+
300
+ ### Hierarchy
301
+
302
+ | Token | Size | Weight | Line Height | Letter Spacing | Use |
303
+ |---|---|---|---|---|---|
304
+ | `{typography.display-hero}` | 64px | 400 | 59.5px | -0.5px | Cover-story headline. |
305
+ | `{typography.display-lg}` | 48px | 400 | 50.4px | -0.4px | Major section / feature headlines. |
306
+ | `{typography.display-md}` | 32px | 400 | 35.2px | -0.3px | Story-card large variant. |
307
+ | `{typography.display-sm}` | 26px | 400 | 28px | 0 | Sub-display headings inside long-form articles. |
308
+ | `{typography.display-xs}` | 20px | 700 | 24px | -0.28px | Sans (Apercu) display micro-headings for category callouts. |
309
+ | `{typography.body-serif-lg}` | 19px | 400 | 27.93px | 0.108px | Lead paragraph of an article (BreveText). |
310
+ | `{typography.body-serif-md}` | 16px | 400 | 24px | 0.09px | Default article body (BreveText). |
311
+ | `{typography.body-md}` | 17px | 400 | 20px | 0 | Sans body (Apercu) for nav / metadata. |
312
+ | `{typography.body-md-strong}` | 17px | 700 | 22px | -0.144px | Bold sans body. |
313
+ | `{typography.body-sm}` | 14px | 400 | 18px | 0.4px | Secondary sans body. |
314
+ | `{typography.body-sm-strong}` | 14px | 700 | 18px | 0.4px | Bold caption / nav-link. |
315
+ | `{typography.byline}` | 12.73px | 700 | 28px | 0.108px | Article byline (BreveText). |
316
+ | `{typography.caption}` | 12px | 400 | 16px | 0 | Fine print, image captions. |
317
+ | `{typography.button-md}` | 16px | 700 | 20px | 0.3px | Button label. |
318
+
319
+ ### Principles
320
+ - **Serif for narrative, sans for structure.** The serif faces never carry button labels or nav text; the sans face never carries article body.
321
+ - **Display weight 400** — the proprietary WiredDisplay reads as elegant by virtue of its thin-tall-narrow design at default weight, not via weight 700+.
322
+ - **Bylines use BreveText weight 700 with relaxed line-height 2.2.** The vertical breathing is part of the editorial signature.
323
+
324
+ ### Note on Font Substitutes
325
+ The three proprietary faces have no exact substitutes. Best open-source approximations:
326
+ - **WiredDisplay** — *Playfair Display* weight 400 at large display sizes captures the high-contrast didone feel, though wider than the brand's tall-narrow proportions.
327
+ - **BreveText** — *Lora* or *Source Serif Pro* at 16 – 19 px.
328
+ - **Apercu** — *Inter* or *Manrope* weights 400 / 700.
329
+
330
+ ## Layout
331
+
332
+ ### Spacing System
333
+ - **Base unit**: 4 px.
334
+ - **Tokens**: `{spacing.xxs}` 2 px · `{spacing.xs}` 4 px · `{spacing.sm}` 8 px · `{spacing.md}` 12 px · `{spacing.lg}` 16 px · `{spacing.xl}` 20 px · `{spacing.2xl}` 24 px · `{spacing.3xl}` 32 px · `{spacing.4xl}` 48 px.
335
+ - **Section padding**: hero / story grid use `{spacing.4xl}` 48 px top/bottom on desktop.
336
+ - **Story row padding**: `{spacing.lg}` 16 px vertical between bylined story rows.
337
+
338
+ ### Grid & Container
339
+ - Marketing content uses a wide container (~1400 px max).
340
+ - Cover-story grid: 1 large hero + 2-up secondary stories + vertical stack.
341
+ - Story-row stack: full-width single column with hairline dividers.
342
+
343
+ ### Responsive Strategy
344
+
345
+ #### Breakpoints
346
+
347
+ | Name | Width | Key Changes |
348
+ |---|---|---|
349
+ | Mobile | < 768px | Cover hero 64→40 px; all grids 1-up; hamburger nav. |
350
+ | Tablet | 768–1023px | 2-up secondary story grid. |
351
+ | Desktop | ≥ 1024px | Full magazine grid. |
352
+
353
+ #### Touch Targets
354
+ Button-primary renders ~44 px tall (12 vertical padding + 20 line). WCAG AAA at all widths.
355
+
356
+ #### Collapsing Strategy
357
+ - Nav: full link row + Subscribe CTA at desktop. Hamburger at mobile.
358
+ - Magazine grid: hero stays full-width; 2-up secondary drops to 1-up at mobile.
359
+ - Story rows: stay single-column at all viewports.
360
+
361
+ #### Image Behavior
362
+ - Cover images: full-bleed 16:9 hero / 4:3 secondary.
363
+ - Article body images: full-width inside the article column.
364
+ - Author avatars: small inline circular crops next to bylines.
365
+
366
+ ## Elevation & Depth
367
+
368
+ | Level | Treatment | Use |
369
+ |---|---|---|
370
+ | Level 0 — Flat | No shadow, no border. | Default — almost every surface lives at this level. |
371
+ | Level 1 — Hairline | 1 px solid `{colors.hairline}` border. | Story-row dividers, input borders. |
372
+ | Level 2 — Heavy Black Border | 2 px solid `{colors.ink}` border. | Subscribe CTA on certain campaign moments. |
373
+
374
+ The brand uses no drop-shadows. Surface contrast and hairline borders carry all visual hierarchy.
375
+
376
+ ## Shapes
377
+
378
+ ### Border Radius Scale
379
+
380
+ | Token | Value | Use |
381
+ |---|---|---|
382
+ | `{rounded.none}` | 0px | Every interactive shape — buttons, inputs, cards. The brand's signature square geometry. |
383
+ | `{rounded.full}` | 9999px | Circular icon containers only (social-share, account avatar). |
384
+
385
+ ### Photography Geometry
386
+ - Cover stories: 16:9 hero, edge-to-edge.
387
+ - Secondary story cards: 4:3 thumbnails.
388
+ - Article body images: native aspect, full column width.
389
+ - Bylines / avatars: circular `{rounded.full}` 28 px crops.
390
+
391
+ ## Components
392
+
393
+ ### Buttons
394
+
395
+ **`button-primary`** — the square black CTA.
396
+ - Background `{colors.primary}`, text `{colors.on-primary}`, label `{typography.button-md}` (Apercu 16 px / 700 / 0.3 px tracking), padding `{spacing.md} {spacing.xl}`, shape `{rounded.none}` 0 px.
397
+
398
+ **`button-outline`** — the white outline CTA.
399
+ - Background `{colors.canvas}`, text `{colors.ink}`, 1 px solid `{colors.ink}` border, same typography / padding / shape.
400
+
401
+ **`button-icon-circular`** — the circular share-icon button.
402
+ - Background `{colors.canvas}`, ink icon, shape `{rounded.full}`.
403
+
404
+ ### Cards & Containers
405
+
406
+ **`story-card-large`** — the cover-story card with `{typography.display-md}` headline.
407
+ - Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.lg}`. No border — the card lives on the canvas with the photo doing the work.
408
+
409
+ **`story-card`** — the secondary story card.
410
+ - Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.md}`. Photo at top, sans display heading + body lead below.
411
+
412
+ **`story-row`** — the bylined story list row.
413
+ - Background `{colors.canvas}`, text `{colors.ink}`, 1 px solid `{colors.hairline}` bottom border, body in `{typography.body-md-strong}`, padding `{spacing.lg}` 0.
414
+
415
+ ### Inputs & Forms
416
+
417
+ **`text-input`** — the standard text input.
418
+ - Background `{colors.canvas}`, text `{colors.ink}`, 1 px solid `{colors.ink}` border, body in `{typography.body-md}`, padding `{spacing.md} {spacing.lg}`, shape `{rounded.none}`.
419
+
420
+ ### Navigation
421
+
422
+ **`nav-bar`** — the top nav, light by default.
423
+ - Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.md} {spacing.xl}`. Layout: hamburger left, masthead centre, Subscribe right.
424
+
425
+ **`nav-link`** — link items inside nav.
426
+ - Text `{colors.ink}`, set in `{typography.body-sm-strong}` (Apercu 14 / 700).
427
+
428
+ **`footer`** — the black footer band.
429
+ - Background `{colors.primary}`, text `{colors.on-primary}`, padding `{spacing.4xl} {spacing.xl}`. Body in `{typography.body-sm}` (Apercu 14 / 400). Footer column eyebrows in `{typography.body-sm-strong}`.
430
+
431
+ ### Signature Components
432
+
433
+ **`hero-band`** — the white hero band hosting the cover-story.
434
+ - Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.4xl} {spacing.xl}`. Cover headline in `{typography.display-hero}` (WiredDisplay 64 px).
435
+
436
+ **`masthead-band`** — the thin top band with the wordmark.
437
+ - Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.md} {spacing.xl}`. The wordmark sits centred; flanked by section nav.
438
+
439
+ **`category-eyebrow`** — the small uppercase category label above story headlines.
440
+ - Text `{colors.ink}`, set in `{typography.body-sm-strong}` (Apercu 14 / 700 — though some campaigns use ALL CAPS via CSS).
441
+
442
+ **`byline-row`** — the article byline strip.
443
+ - Background `{colors.canvas}`, text `{colors.body}`, body in `{typography.byline}` (BreveText 12.73 / 700 / line-height 2.2). Includes an author avatar + name + date.
444
+
445
+ **`hairline-divider`** — the 1 px line between story rows.
446
+ - 1 px solid `{colors.hairline}`.
447
+
448
+ ### Examples (illustrative)
449
+
450
+ > Auto-derived kit-mirror demonstration surfaces (`scripts/derive-examples-block.mjs`). Each `ex-*` entry references brand-native primitives so downstream consumers (`/preview-design`, `/generate-kit`) re-skin the same 10 surfaces consistently. `TO_FILL` markers indicate missing primitives — resolve in the LLM judgment pass.
451
+
452
+ **`ex-pricing-tier`** — Default Pricing tier card. Re-uses feature-card chrome with brand canvas-soft surface.
453
+ - Properties: `backgroundColor`, `textColor`, `borderColor`, `rounded`, `padding`
454
+
455
+ **`ex-pricing-tier-featured`** — Featured/highlighted tier — polarity-flipped surface (dark fill + light text in light mode, light fill + dark text in dark mode).
456
+ - Properties: `backgroundColor`, `textColor`, `rounded`, `padding`
457
+
458
+ **`ex-product-selector`** — What's Included summary card — re-purposed for SaaS / B2B verticals (NOT a literal product gallery).
459
+ - Properties: `backgroundColor`, `rounded`, `padding`
460
+
461
+ **`ex-cart-drawer`** — Subscription summary — re-purposed for SaaS / B2B (line items per add-on, not literal cart).
462
+ - Properties: `backgroundColor`, `rounded`, `padding`, `item-divider`
463
+
464
+ **`ex-app-shell-row`** — Sidebar nav row inside the App Shell example. Active state uses brand primary as the indicator.
465
+ - Properties: `backgroundColor`, `activeIndicator`, `rounded`, `padding`
466
+
467
+ **`ex-data-table-cell`** — Default data-table th + td chrome. Header uses mono-caps eyebrow typography; body uses body-sm.
468
+ - Properties: `headerBackground`, `headerTypography`, `bodyTypography`, `cellPadding`, `rowBorder`
469
+
470
+ **`ex-auth-form-card`** — Sign-in / sign-up card. Re-uses feature-card chrome with text-input primitives inside.
471
+ - Properties: `backgroundColor`, `rounded`, `padding`
472
+
473
+ **`ex-modal-card`** — Modal dialog surface — same chrome as feature-card with elevated shadow.
474
+ - Properties: `backgroundColor`, `rounded`, `padding`
475
+
476
+ **`ex-empty-state-card`** — Empty-state illustration frame.
477
+ - Properties: `backgroundColor`, `rounded`, `padding`, `captionTypography`
478
+
479
+ **`ex-toast`** — Toast notification surface — feature-card shape + medium shadow.
480
+ - Properties: `backgroundColor`, `rounded`, `padding`, `typography`
481
+
482
+
483
+ ## Do's and Don'ts
484
+
485
+ ### Do
486
+ - Reserve `{colors.primary}` black for the wordmark, every CTA, and the footer fill. The brand IS the strict black-on-white duet.
487
+ - Set hero headlines in `{typography.display-hero}` (WiredDisplay 64 px weight 400). The proprietary serif IS the brand's typographic signature.
488
+ - Use `{rounded.none}` 0 px on every button and form input. The brand reads as a printed magazine — square corners are non-negotiable.
489
+ - Pair WiredDisplay (serif display) with BreveText (serif body) and Apercu (sans labels). Three faces, three roles.
490
+ - Render story rows with `{colors.hairline}` 1 px dividers — the brand's only elevation cue.
491
+
492
+ ### Don't
493
+ - Don't introduce a chromatic brand accent. The link blue is reserved for inline body links inside articles only.
494
+ - Don't round button corners. The brand never softens its rectangular geometry.
495
+ - Don't drop a soft drop-shadow on cards. Surface contrast and hairlines carry elevation.
496
+ - Don't substitute the proprietary serif faces with a generic sans for display. The serif voice is the brand.
497
+ - Don't promote display weight beyond 400. The brand's elegance is in the typeface design, not bold weight.
@@ -0,0 +1,5 @@
1
+ # Wired Inspired Design System
2
+
3
+ Design system details have been moved to: https://getdesign.md/wired/design-md
4
+
5
+ You can also view previews, dark mode examples, and download options on getdesign.md.