@jaimevalasek/aioson 1.30.0 → 1.30.2

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 (93) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
  3. package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
  4. package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
  5. package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
  6. package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
  7. package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
  8. package/docs/design-previews/cognitive-core-ui.html +281 -463
  9. package/docs/design-previews/index.html +83 -31
  10. package/package.json +1 -1
  11. package/src/constants.js +578 -514
  12. package/template/.aioson/docs/integrations/dashboard-app-form-publish-mapping.md +183 -0
  13. package/template/.aioson/docs/play/README.md +74 -0
  14. package/template/.aioson/docs/play/agent-usage-guide.md +112 -0
  15. package/template/.aioson/docs/play/app-compatibility-guide.md +117 -0
  16. package/template/.aioson/docs/play/auth-services-and-testing.md +235 -0
  17. package/template/.aioson/docs/play/llm-data-and-bindings.md +238 -0
  18. package/template/.aioson/docs/play/manifest-and-runtime.md +267 -0
  19. package/template/.aioson/docs/play/source-map.md +104 -0
  20. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
  21. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
  22. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
  23. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
  24. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
  25. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
  26. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
  27. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
  28. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
  29. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
  30. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
  31. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
  32. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
  33. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
  34. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
  35. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
  36. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
  37. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
  38. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
  39. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
  40. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
  41. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
  42. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
  43. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
  44. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
  45. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
  46. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
  47. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
  48. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
  49. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
  50. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
  51. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
  52. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
  53. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
  54. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
  55. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
  56. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
  57. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
  58. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
  59. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
  60. package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
  61. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
  62. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
  63. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
  64. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
  65. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
  66. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
  67. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
  68. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
  69. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
  70. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
  71. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
  72. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
  73. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
  74. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
  75. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
  76. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
  77. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
  78. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
  79. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
  80. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
  81. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
  82. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
  83. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
  84. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
  85. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
  86. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
  87. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
  88. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
  89. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
  90. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
  91. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
  92. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
  93. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
@@ -1,326 +1,326 @@
1
- # Design Tokens — Bold Editorial UI
2
-
3
- All CSS custom properties for the Bold Editorial system. Apply these to the root `:root` or a `[data-theme]` container.
4
-
5
- **Token scope rule**: always declare tokens on the topmost shared ancestor, never inline. Never hardcode a color, font, or size that has a token equivalent.
6
-
7
- ---
8
-
9
- ## Font Imports
10
-
11
- ```css
12
- /* Clash Display — Fontshare (free for commercial use) */
13
- @import url('https://api.fontshare.com/v2/css?f[]=clash-display@200;300;400;500;600;700&display=swap');
14
-
15
- /* Fallback if Fontshare unavailable: Cabinet Grotesk or Syne */
16
- /* @import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&display=swap'); */
17
-
18
- /* Body + Mono */
19
- @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');
20
- ```
21
-
22
- ---
23
-
24
- ## Typography Tokens
25
-
26
- ```css
27
- :root {
28
- /* Font families */
29
- --font-display: 'Clash Display', 'Cabinet Grotesk', 'Syne', Impact, "Arial Black", system-ui, sans-serif;
30
- --font-body: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
31
- --font-mono: 'JetBrains Mono', 'Space Mono', ui-monospace, 'Courier New', monospace;
32
-
33
- /* Font sizes — editorial scale, larger than most systems */
34
- --text-xs: 0.75rem; /* 12px — mono metadata, captions */
35
- --text-sm: 0.875rem; /* 14px — body small */
36
- --text-base: 1rem; /* 16px — body */
37
- --text-lg: 1.25rem; /* 20px — lead paragraph */
38
- --text-xl: 1.5rem; /* 24px — subheadings */
39
- --text-2xl: 2rem; /* 32px — section titles */
40
- --text-3xl: 3rem; /* 48px — page headlines */
41
- --text-4xl: 4.5rem; /* 72px — hero headlines */
42
- --text-5xl: 6rem; /* 96px — statement text */
43
- --text-6xl: 8rem; /* 128px — manifesto / display — maximum impact */
44
-
45
- /* Font weights */
46
- --weight-regular: 400;
47
- --weight-medium: 500;
48
- --weight-semibold: 600;
49
- --weight-bold: 700;
50
-
51
- /* Line heights */
52
- --leading-none: 0.9; /* text-5xl, text-6xl — tight for display */
53
- --leading-tight: 1.05; /* text-4xl — headlines */
54
- --leading-snug: 1.2; /* text-3xl, text-2xl */
55
- --leading-normal: 1.5; /* text-lg, text-xl — comfortable reading */
56
- --leading-relaxed: 1.65; /* text-base — body */
57
- --leading-loose: 2; /* text-sm, text-xs in tables */
58
-
59
- /* Letter spacing */
60
- --tracking-tighter: -0.04em; /* display headings at large sizes */
61
- --tracking-tight: -0.02em; /* section headlines */
62
- --tracking-normal: 0;
63
- --tracking-wide: 0.05em; /* subheadings, labels */
64
- --tracking-wider: 0.08em; /* mono labels, uppercase */
65
- --tracking-widest: 0.15em; /* mono overlines, badges, category text */
66
- }
67
- ```
68
-
69
- ### Typography usage rules
70
-
71
- - `--font-display` for all headlines `text-2xl` and above. Never use body font for display sizes.
72
- - `--font-body` for all body copy, descriptions, form labels, navigation.
73
- - `--font-mono` for all overlines, category labels, dates, version badges, metadata, code. This is non-negotiable.
74
- - At `text-5xl` and `text-6xl`: always `line-height: var(--leading-none)` + `letter-spacing: var(--tracking-tighter)`.
75
- - At `text-3xl` and `text-4xl`: `line-height: var(--leading-tight)` + `letter-spacing: var(--tracking-tight)`.
76
- - Mono text: always `uppercase` + `letter-spacing: var(--tracking-widest)`.
77
-
78
- ---
79
-
80
- ## Color Tokens — Dark Theme (default)
81
-
82
- ```css
83
- [data-theme="dark"],
84
- :root {
85
- /* Backgrounds — near-black, not navy or warm */
86
- --bg-void: #050505;
87
- --bg-base: #0A0A0A;
88
- --bg-surface: #141414;
89
- --bg-elevated: #1E1E1E;
90
- --bg-overlay: #282828;
91
-
92
- /* Text */
93
- --text-heading: #FFFFFF;
94
- --text-primary: #B8B8B8;
95
- --text-secondary: #787878;
96
- --text-muted: #484848;
97
- --text-inverse: #0A0A0A; /* for text on light surfaces */
98
-
99
- /* Accent — red-orange, energetic */
100
- --accent: #FF4D2A;
101
- --accent-strong: #E03A18;
102
- --accent-dim: rgba(255, 77, 42, 0.15);
103
- --accent-hover: #FF6647;
104
- --accent-contrast: #FFFFFF;
105
-
106
- /* Borders */
107
- --border-subtle: rgba(255, 255, 255, 0.06);
108
- --border-medium: rgba(255, 255, 255, 0.12);
109
- --border-strong: rgba(255, 255, 255, 0.22);
110
-
111
- /* Semantic */
112
- --semantic-green: #22C55E;
113
- --semantic-green-dim: rgba(34, 197, 94, 0.15);
114
- --semantic-amber: #F59E0B;
115
- --semantic-amber-dim: rgba(245, 158, 11, 0.15);
116
- --semantic-red: #EF4444;
117
- --semantic-red-dim: rgba(239, 68, 68, 0.15);
118
- --semantic-blue: #60A5FA;
119
- --semantic-blue-dim: rgba(96, 165, 250, 0.15);
120
- --semantic-purple: #A78BFA;
121
- --semantic-purple-dim: rgba(167, 139, 250, 0.15);
122
- }
123
- ```
124
-
125
- ---
126
-
127
- ## Color Tokens — Light Theme
128
-
129
- ```css
130
- [data-theme="light"] {
131
- /* Backgrounds — off-white, slightly cool */
132
- --bg-void: #F5F5F0;
133
- --bg-base: #FAFAF7;
134
- --bg-surface: #FFFFFF;
135
- --bg-elevated: #EFEFEA;
136
- --bg-overlay: #E5E5DF;
137
-
138
- /* Text */
139
- --text-heading: #0A0A0A;
140
- --text-primary: #3A3A3A;
141
- --text-secondary: #7A7A7A;
142
- --text-muted: #AAAAAA;
143
- --text-inverse: #FFFFFF;
144
-
145
- /* Accent — deeper red-orange for light backgrounds */
146
- --accent: #E03A18;
147
- --accent-strong: #C42E0F;
148
- --accent-dim: rgba(224, 58, 24, 0.10);
149
- --accent-hover: #FF4D2A;
150
- --accent-contrast: #FFFFFF;
151
-
152
- /* Borders */
153
- --border-subtle: rgba(0, 0, 0, 0.06);
154
- --border-medium: rgba(0, 0, 0, 0.12);
155
- --border-strong: rgba(0, 0, 0, 0.22);
156
-
157
- /* Semantic */
158
- --semantic-green: #16A34A;
159
- --semantic-green-dim: rgba(22, 163, 74, 0.10);
160
- --semantic-amber: #D97706;
161
- --semantic-amber-dim: rgba(217, 119, 6, 0.10);
162
- --semantic-red: #DC2626;
163
- --semantic-red-dim: rgba(220, 38, 38, 0.10);
164
- --semantic-blue: #2563EB;
165
- --semantic-blue-dim: rgba(37, 99, 235, 0.10);
166
- --semantic-purple: #7C3AED;
167
- --semantic-purple-dim: rgba(124, 58, 237, 0.10);
168
- }
169
- ```
170
-
171
- ---
172
-
173
- ## Shadow Tokens
174
-
175
- ```css
176
- :root {
177
- /* Dark theme — deep cinematic shadows */
178
- --shadow-xs: 0 1px 4px rgba(0, 0, 0, 0.20);
179
- --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.25);
180
- --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.35);
181
- --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.45);
182
- --shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.55);
183
-
184
- /* Accent glow — ONE element per viewport maximum */
185
- --shadow-glow: 0 0 60px rgba(255, 77, 42, 0.15);
186
-
187
- /* Light theme shadows — visible but measured */
188
- --shadow-xs-light: 0 1px 3px rgba(0, 0, 0, 0.08);
189
- --shadow-sm-light: 0 2px 8px rgba(0, 0, 0, 0.10);
190
- --shadow-md-light: 0 8px 24px rgba(0, 0, 0, 0.12);
191
- --shadow-lg-light: 0 16px 48px rgba(0, 0, 0, 0.14);
192
- }
193
- ```
194
-
195
- Shadow rules:
196
- - On dark theme: use `--shadow-*` (black-based).
197
- - On light theme: use `--shadow-*-light` (softer).
198
- - `--shadow-glow` is for ONE featured element per viewport (hero CTA, featured pricing card). Never apply to more than one element in the same scroll viewport.
199
-
200
- ---
201
-
202
- ## Spacing Tokens
203
-
204
- ```css
205
- :root {
206
- --space-1: 0.25rem; /* 4px */
207
- --space-2: 0.5rem; /* 8px */
208
- --space-3: 0.75rem; /* 12px */
209
- --space-4: 1rem; /* 16px */
210
- --space-5: 1.25rem; /* 20px */
211
- --space-6: 1.5rem; /* 24px */
212
- --space-8: 2rem; /* 32px */
213
- --space-10: 2.5rem; /* 40px */
214
- --space-12: 3rem; /* 48px */
215
- --space-16: 4rem; /* 64px */
216
- --space-20: 5rem; /* 80px */
217
- --space-24: 6rem; /* 96px */
218
- --space-32: 8rem; /* 128px — hero and editorial sections */
219
- --space-40: 10rem; /* 160px — maximum editorial breathing room */
220
- }
221
- ```
222
-
223
- ---
224
-
225
- ## Border Radius Tokens
226
-
227
- ```css
228
- :root {
229
- /* Minimal radius — editorial and adult, not bubbly */
230
- --radius-sm: 0.25rem; /* 4px — badges, chips */
231
- --radius-md: 0.375rem; /* 6px — buttons (default) */
232
- --radius-lg: 0.5rem; /* 8px — cards (default) */
233
- --radius-xl: 0.75rem; /* 12px — modals, larger containers */
234
- --radius-2xl: 1rem; /* 16px — featured cards, hero containers */
235
- --radius-full: 9999px; /* pills — used sparingly */
236
- }
237
- ```
238
-
239
- Radius rules:
240
- - Default radius for cards: `--radius-lg` (8px).
241
- - Default radius for buttons: `--radius-md` (6px).
242
- - Never exceed `--radius-2xl` (16px) in this system — no warm-craft-style extreme rounding.
243
- - `--radius-full` is allowed for badge pills and avatar circles only.
244
-
245
- ---
246
-
247
- ## Layout Tokens
248
-
249
- ```css
250
- :root {
251
- /* Content widths */
252
- --content-xs: 480px;
253
- --content-sm: 640px;
254
- --content-md: 768px;
255
- --content-lg: 1024px;
256
- --content-xl: 1280px;
257
- --content-full: 1440px;
258
-
259
- /* Breakpoints */
260
- --breakpoint-sm: 640px;
261
- --breakpoint-md: 768px;
262
- --breakpoint-lg: 1024px;
263
- --breakpoint-xl: 1280px;
264
- --breakpoint-2xl: 1536px;
265
-
266
- /* Z-index scale */
267
- --z-below: -1;
268
- --z-base: 0;
269
- --z-raised: 10;
270
- --z-overlay: 20;
271
- --z-sticky: 30;
272
- --z-fixed: 40;
273
- --z-modal: 50;
274
- --z-toast: 60;
275
- --z-tooltip: 70;
276
- }
277
- ```
278
-
279
- ---
280
-
281
- ## Transition Tokens
282
-
283
- ```css
284
- :root {
285
- --transition-fast: 100ms ease;
286
- --transition-base: 200ms ease;
287
- --transition-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1);
288
- --transition-hero: 800ms cubic-bezier(0.16, 1, 0.3, 1);
289
-
290
- /* Theme switch — all affected properties together */
291
- --transition-theme: background-color 200ms ease,
292
- color 200ms ease,
293
- border-color 200ms ease,
294
- box-shadow 200ms ease;
295
- }
296
- ```
297
-
298
- ---
299
-
300
- ## Token Scope Guardrails
301
-
302
- | What | Rule |
303
- |------|------|
304
- | Background colors | Only `--bg-*` tokens. Never hardcode hex for surfaces. |
305
- | Text colors | Only `--text-*` tokens. Never `color: white` or `color: #fff` inline. |
306
- | Accent usage | `--accent` for CTAs, active states, single highlights. Never for borders, background sections, or repeated decorative elements. |
307
- | `--shadow-glow` | One element per scroll viewport. The hero CTA or featured card. |
308
- | Font sizes | Only `--text-*` scale tokens. Never arbitrary `font-size: 53px`. |
309
- | Spacing | Only `--space-*` tokens. Never arbitrary `margin: 17px`. |
310
- | Border radius | Only `--radius-*` tokens. Never `border-radius: 10px` inline. |
311
- | Borders | Only `--border-*` tokens. Never `border: 1px solid rgba(...)` inline. |
312
- | Shadows | Only `--shadow-*` tokens. Never arbitrary `box-shadow` values. |
313
-
314
- ---
315
-
316
- ## Interaction Guardrails
317
-
318
- | Rule | Why |
319
- |------|-----|
320
- | Never use blue as accent | This is red-orange. Blue breaks the visual DNA instantly. |
321
- | Never use warm beige (`#FDF8F0`) as base | That belongs to Warm Craft. Bold Editorial uses cool off-whites. |
322
- | Never use `border-radius > --radius-2xl` | Sharp edges define this system. Extreme rounding destroys the editorial feel. |
323
- | Never use blur/glass effects | That belongs to Glassmorphism UI. Bold Editorial surfaces are opaque. |
324
- | Never use `--shadow-glow` on more than one element per viewport | The glow exists to draw the eye. If everything glows, nothing does. |
325
- | Mono captions are mandatory for all metadata | Overlines, categories, timestamps, version tags — always `--font-mono` + `uppercase` + wide tracking. |
326
- | Serif fonts prohibited | Source Serif belongs to Warm Craft. Bold Editorial uses display sans and body sans only. |
1
+ # Design Tokens — Bold Editorial UI
2
+
3
+ All CSS custom properties for the Bold Editorial system. Apply these to the root `:root` or a `[data-theme]` container.
4
+
5
+ **Token scope rule**: always declare tokens on the topmost shared ancestor, never inline. Never hardcode a color, font, or size that has a token equivalent.
6
+
7
+ ---
8
+
9
+ ## Font Imports
10
+
11
+ ```css
12
+ /* Clash Display — Fontshare (free for commercial use) */
13
+ @import url('https://api.fontshare.com/v2/css?f[]=clash-display@200;300;400;500;600;700&display=swap');
14
+
15
+ /* Fallback if Fontshare unavailable: Cabinet Grotesk or Syne */
16
+ /* @import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&display=swap'); */
17
+
18
+ /* Body + Mono */
19
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');
20
+ ```
21
+
22
+ ---
23
+
24
+ ## Typography Tokens
25
+
26
+ ```css
27
+ :root {
28
+ /* Font families */
29
+ --font-display: 'Clash Display', 'Cabinet Grotesk', 'Syne', Impact, "Arial Black", system-ui, sans-serif;
30
+ --font-body: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
31
+ --font-mono: 'JetBrains Mono', 'Space Mono', ui-monospace, 'Courier New', monospace;
32
+
33
+ /* Font sizes — editorial scale, larger than most systems */
34
+ --text-xs: 0.75rem; /* 12px — mono metadata, captions */
35
+ --text-sm: 0.875rem; /* 14px — body small */
36
+ --text-base: 1rem; /* 16px — body */
37
+ --text-lg: 1.25rem; /* 20px — lead paragraph */
38
+ --text-xl: 1.5rem; /* 24px — subheadings */
39
+ --text-2xl: 2rem; /* 32px — section titles */
40
+ --text-3xl: 3rem; /* 48px — page headlines */
41
+ --text-4xl: 4.5rem; /* 72px — hero headlines */
42
+ --text-5xl: 6rem; /* 96px — statement text */
43
+ --text-6xl: 8rem; /* 128px — manifesto / display — maximum impact */
44
+
45
+ /* Font weights */
46
+ --weight-regular: 400;
47
+ --weight-medium: 500;
48
+ --weight-semibold: 600;
49
+ --weight-bold: 700;
50
+
51
+ /* Line heights */
52
+ --leading-none: 0.9; /* text-5xl, text-6xl — tight for display */
53
+ --leading-tight: 1.05; /* text-4xl — headlines */
54
+ --leading-snug: 1.2; /* text-3xl, text-2xl */
55
+ --leading-normal: 1.5; /* text-lg, text-xl — comfortable reading */
56
+ --leading-relaxed: 1.65; /* text-base — body */
57
+ --leading-loose: 2; /* text-sm, text-xs in tables */
58
+
59
+ /* Letter spacing */
60
+ --tracking-tighter: 0; /* display headings at large sizes */
61
+ --tracking-tight: 0; /* section headlines */
62
+ --tracking-normal: 0;
63
+ --tracking-wide: 0.05em; /* subheadings, labels */
64
+ --tracking-wider: 0.08em; /* mono labels, uppercase */
65
+ --tracking-widest: 0.15em; /* mono overlines, badges, category text */
66
+ }
67
+ ```
68
+
69
+ ### Typography usage rules
70
+
71
+ - `--font-display` for all headlines `text-2xl` and above. Never use body font for display sizes.
72
+ - `--font-body` for all body copy, descriptions, form labels, navigation.
73
+ - `--font-mono` for all overlines, category labels, dates, version badges, metadata, code. This is non-negotiable.
74
+ - At `text-5xl` and `text-6xl`: always `line-height: var(--leading-none)` + `letter-spacing: var(--tracking-tighter)`.
75
+ - At `text-3xl` and `text-4xl`: `line-height: var(--leading-tight)` + `letter-spacing: var(--tracking-tight)`.
76
+ - Mono text: always `uppercase` + `letter-spacing: var(--tracking-widest)`.
77
+
78
+ ---
79
+
80
+ ## Color Tokens — Dark Theme (default)
81
+
82
+ ```css
83
+ [data-theme="dark"],
84
+ :root {
85
+ /* Backgrounds — near-black, not navy or warm */
86
+ --bg-void: #050505;
87
+ --bg-base: #0A0A0A;
88
+ --bg-surface: #141414;
89
+ --bg-elevated: #1E1E1E;
90
+ --bg-overlay: #282828;
91
+
92
+ /* Text */
93
+ --text-heading: #FFFFFF;
94
+ --text-primary: #B8B8B8;
95
+ --text-secondary: #787878;
96
+ --text-muted: #484848;
97
+ --text-inverse: #0A0A0A; /* for text on light surfaces */
98
+
99
+ /* Accent — red-orange, energetic */
100
+ --accent: #FF4D2A;
101
+ --accent-strong: #E03A18;
102
+ --accent-dim: rgba(255, 77, 42, 0.15);
103
+ --accent-hover: #FF6647;
104
+ --accent-contrast: #FFFFFF;
105
+
106
+ /* Borders */
107
+ --border-subtle: rgba(255, 255, 255, 0.06);
108
+ --border-medium: rgba(255, 255, 255, 0.12);
109
+ --border-strong: rgba(255, 255, 255, 0.22);
110
+
111
+ /* Semantic */
112
+ --semantic-green: #22C55E;
113
+ --semantic-green-dim: rgba(34, 197, 94, 0.15);
114
+ --semantic-amber: #F59E0B;
115
+ --semantic-amber-dim: rgba(245, 158, 11, 0.15);
116
+ --semantic-red: #EF4444;
117
+ --semantic-red-dim: rgba(239, 68, 68, 0.15);
118
+ --semantic-blue: #60A5FA;
119
+ --semantic-blue-dim: rgba(96, 165, 250, 0.15);
120
+ --semantic-purple: #A78BFA;
121
+ --semantic-purple-dim: rgba(167, 139, 250, 0.15);
122
+ }
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Color Tokens — Light Theme
128
+
129
+ ```css
130
+ [data-theme="light"] {
131
+ /* Backgrounds — off-white, slightly cool */
132
+ --bg-void: #F5F5F0;
133
+ --bg-base: #FAFAF7;
134
+ --bg-surface: #FFFFFF;
135
+ --bg-elevated: #EFEFEA;
136
+ --bg-overlay: #E5E5DF;
137
+
138
+ /* Text */
139
+ --text-heading: #0A0A0A;
140
+ --text-primary: #3A3A3A;
141
+ --text-secondary: #7A7A7A;
142
+ --text-muted: #AAAAAA;
143
+ --text-inverse: #FFFFFF;
144
+
145
+ /* Accent — deeper red-orange for light backgrounds */
146
+ --accent: #E03A18;
147
+ --accent-strong: #C42E0F;
148
+ --accent-dim: rgba(224, 58, 24, 0.10);
149
+ --accent-hover: #FF4D2A;
150
+ --accent-contrast: #FFFFFF;
151
+
152
+ /* Borders */
153
+ --border-subtle: rgba(0, 0, 0, 0.06);
154
+ --border-medium: rgba(0, 0, 0, 0.12);
155
+ --border-strong: rgba(0, 0, 0, 0.22);
156
+
157
+ /* Semantic */
158
+ --semantic-green: #16A34A;
159
+ --semantic-green-dim: rgba(22, 163, 74, 0.10);
160
+ --semantic-amber: #D97706;
161
+ --semantic-amber-dim: rgba(217, 119, 6, 0.10);
162
+ --semantic-red: #DC2626;
163
+ --semantic-red-dim: rgba(220, 38, 38, 0.10);
164
+ --semantic-blue: #2563EB;
165
+ --semantic-blue-dim: rgba(37, 99, 235, 0.10);
166
+ --semantic-purple: #7C3AED;
167
+ --semantic-purple-dim: rgba(124, 58, 237, 0.10);
168
+ }
169
+ ```
170
+
171
+ ---
172
+
173
+ ## Shadow Tokens
174
+
175
+ ```css
176
+ :root {
177
+ /* Dark theme — deep cinematic shadows */
178
+ --shadow-xs: 0 1px 4px rgba(0, 0, 0, 0.20);
179
+ --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.25);
180
+ --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.35);
181
+ --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.45);
182
+ --shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.55);
183
+
184
+ /* Accent glow — ONE element per viewport maximum */
185
+ --shadow-glow: 0 0 60px rgba(255, 77, 42, 0.15);
186
+
187
+ /* Light theme shadows — visible but measured */
188
+ --shadow-xs-light: 0 1px 3px rgba(0, 0, 0, 0.08);
189
+ --shadow-sm-light: 0 2px 8px rgba(0, 0, 0, 0.10);
190
+ --shadow-md-light: 0 8px 24px rgba(0, 0, 0, 0.12);
191
+ --shadow-lg-light: 0 16px 48px rgba(0, 0, 0, 0.14);
192
+ }
193
+ ```
194
+
195
+ Shadow rules:
196
+ - On dark theme: use `--shadow-*` (black-based).
197
+ - On light theme: use `--shadow-*-light` (softer).
198
+ - `--shadow-glow` is for ONE featured element per viewport (hero CTA, featured pricing card). Never apply to more than one element in the same scroll viewport.
199
+
200
+ ---
201
+
202
+ ## Spacing Tokens
203
+
204
+ ```css
205
+ :root {
206
+ --space-1: 0.25rem; /* 4px */
207
+ --space-2: 0.5rem; /* 8px */
208
+ --space-3: 0.75rem; /* 12px */
209
+ --space-4: 1rem; /* 16px */
210
+ --space-5: 1.25rem; /* 20px */
211
+ --space-6: 1.5rem; /* 24px */
212
+ --space-8: 2rem; /* 32px */
213
+ --space-10: 2.5rem; /* 40px */
214
+ --space-12: 3rem; /* 48px */
215
+ --space-16: 4rem; /* 64px */
216
+ --space-20: 5rem; /* 80px */
217
+ --space-24: 6rem; /* 96px */
218
+ --space-32: 8rem; /* 128px — hero and editorial sections */
219
+ --space-40: 10rem; /* 160px — maximum editorial breathing room */
220
+ }
221
+ ```
222
+
223
+ ---
224
+
225
+ ## Border Radius Tokens
226
+
227
+ ```css
228
+ :root {
229
+ /* Minimal radius — editorial and adult, not bubbly */
230
+ --radius-sm: 0.25rem; /* 4px — badges, chips */
231
+ --radius-md: 0.375rem; /* 6px — buttons (default) */
232
+ --radius-lg: 0.5rem; /* 8px — cards (default) */
233
+ --radius-xl: 0.75rem; /* 12px — modals, larger containers */
234
+ --radius-2xl: 1rem; /* 16px — featured cards, hero containers */
235
+ --radius-full: 9999px; /* pills — used sparingly */
236
+ }
237
+ ```
238
+
239
+ Radius rules:
240
+ - Default radius for cards: `--radius-lg` (8px).
241
+ - Default radius for buttons: `--radius-md` (6px).
242
+ - Never exceed `--radius-2xl` (16px) in this system — no warm-craft-style extreme rounding.
243
+ - `--radius-full` is allowed for badge pills and avatar circles only.
244
+
245
+ ---
246
+
247
+ ## Layout Tokens
248
+
249
+ ```css
250
+ :root {
251
+ /* Content widths */
252
+ --content-xs: 480px;
253
+ --content-sm: 640px;
254
+ --content-md: 768px;
255
+ --content-lg: 1024px;
256
+ --content-xl: 1280px;
257
+ --content-full: 1440px;
258
+
259
+ /* Breakpoints */
260
+ --breakpoint-sm: 640px;
261
+ --breakpoint-md: 768px;
262
+ --breakpoint-lg: 1024px;
263
+ --breakpoint-xl: 1280px;
264
+ --breakpoint-2xl: 1536px;
265
+
266
+ /* Z-index scale */
267
+ --z-below: -1;
268
+ --z-base: 0;
269
+ --z-raised: 10;
270
+ --z-overlay: 20;
271
+ --z-sticky: 30;
272
+ --z-fixed: 40;
273
+ --z-modal: 50;
274
+ --z-toast: 60;
275
+ --z-tooltip: 70;
276
+ }
277
+ ```
278
+
279
+ ---
280
+
281
+ ## Transition Tokens
282
+
283
+ ```css
284
+ :root {
285
+ --transition-fast: 100ms ease;
286
+ --transition-base: 200ms ease;
287
+ --transition-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1);
288
+ --transition-hero: 800ms cubic-bezier(0.16, 1, 0.3, 1);
289
+
290
+ /* Theme switch — all affected properties together */
291
+ --transition-theme: background-color 200ms ease,
292
+ color 200ms ease,
293
+ border-color 200ms ease,
294
+ box-shadow 200ms ease;
295
+ }
296
+ ```
297
+
298
+ ---
299
+
300
+ ## Token Scope Guardrails
301
+
302
+ | What | Rule |
303
+ |------|------|
304
+ | Background colors | Only `--bg-*` tokens. Never hardcode hex for surfaces. |
305
+ | Text colors | Only `--text-*` tokens. Never `color: white` or `color: #fff` inline. |
306
+ | Accent usage | `--accent` for CTAs, active states, single highlights. Never for borders, background sections, or repeated decorative elements. |
307
+ | `--shadow-glow` | One element per scroll viewport. The hero CTA or featured card. |
308
+ | Font sizes | Only `--text-*` scale tokens. Never arbitrary `font-size: 53px`. |
309
+ | Spacing | Only `--space-*` tokens. Never arbitrary `margin: 17px`. |
310
+ | Border radius | Only `--radius-*` tokens. Never `border-radius: 10px` inline. |
311
+ | Borders | Only `--border-*` tokens. Never `border: 1px solid rgba(...)` inline. |
312
+ | Shadows | Only `--shadow-*` tokens. Never arbitrary `box-shadow` values. |
313
+
314
+ ---
315
+
316
+ ## Interaction Guardrails
317
+
318
+ | Rule | Why |
319
+ |------|-----|
320
+ | Never use blue as accent | This is red-orange. Blue breaks the visual DNA instantly. |
321
+ | Never use warm beige (`#FDF8F0`) as base | That belongs to Warm Craft. Bold Editorial uses cool off-whites. |
322
+ | Never use `border-radius > --radius-2xl` | Sharp edges define this system. Extreme rounding destroys the editorial feel. |
323
+ | Never use blur/glass effects | That belongs to Glassmorphism UI. Bold Editorial surfaces are opaque. |
324
+ | Never use `--shadow-glow` on more than one element per viewport | The glow exists to draw the eye. If everything glows, nothing does. |
325
+ | Mono captions are mandatory for all metadata | Overlines, categories, timestamps, version tags — always `--font-mono` + `uppercase` + wide tracking. |
326
+ | Serif fonts prohibited | Source Serif belongs to Warm Craft. Bold Editorial uses display sans and body sans only. |