@inixiative/config 0.5.183 → 0.5.185

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.
@@ -0,0 +1,137 @@
1
+ /*
2
+ * @inixiative/config/theme/domains.css — one structure, four palettes (Aron, 2026-11-02).
3
+ *
4
+ * Load after theme/public.css. A palette is the four --app-* slots (primary, secondary, tertiary,
5
+ * quaternary, each with its foreground) plus --ring, set on any element with `data-domain`:
6
+ * agentic Kingdom, Foundry, Archive, Oracle: lime = yours, blue = shared, pink = Signet (public.css's own values)
7
+ * building-blocks the primitives (json-rules, permissions, transitions, …): amber, teal, brick
8
+ * governance the whitepaper and proposals: violet, jade, rose
9
+ * inixiative the org: neutral ink; secondary/tertiary/quaternary are the three domain primaries
10
+ * Why an attribute and not one file per palette: palettes nest. The hub is `inixiative` and each door
11
+ * inside it wears its own domain (`<a data-domain="governance">`); a file per palette can't do that.
12
+ * Why raw tokens per mode and plain mappings: the `[data-domain]` rules hold no colour, so they work in
13
+ * light and dark alike and at any depth. Read slots directly (hsl(var(--app-primary))): template's
14
+ * --primary is resolved once on :root and does not follow a nested data-domain.
15
+ * Every primary, tertiary and quaternary is AA (4.5:1) as text on its mode's background and card;
16
+ * the ratios are in the README.
17
+ */
18
+
19
+ :root {
20
+ --agentic-primary: 84 69% 24%;
21
+ --agentic-primary-foreground: 70 25% 97%;
22
+ --agentic-secondary: 80 14% 91%;
23
+ --agentic-secondary-foreground: 206 29% 10%;
24
+ --agentic-tertiary: 211 72% 42%;
25
+ --agentic-tertiary-foreground: 0 0% 100%;
26
+ --agentic-quaternary: 318 45% 44%;
27
+ --agentic-quaternary-foreground: 0 0% 100%;
28
+ --agentic-ring: 84 69% 30%;
29
+
30
+ --building-blocks-primary: 32 95% 30%;
31
+ --building-blocks-primary-foreground: 70 25% 97%;
32
+ --building-blocks-secondary: 36 20% 91%;
33
+ --building-blocks-secondary-foreground: 206 29% 10%;
34
+ --building-blocks-tertiary: 181 80% 24%;
35
+ --building-blocks-tertiary-foreground: 0 0% 100%;
36
+ --building-blocks-quaternary: 10 62% 42%;
37
+ --building-blocks-quaternary-foreground: 0 0% 100%;
38
+ --building-blocks-ring: 32 95% 30%;
39
+
40
+ --governance-primary: 258 52% 48%;
41
+ --governance-primary-foreground: 0 0% 100%;
42
+ --governance-secondary: 255 18% 92%;
43
+ --governance-secondary-foreground: 206 29% 10%;
44
+ --governance-tertiary: 162 70% 24%;
45
+ --governance-tertiary-foreground: 0 0% 100%;
46
+ --governance-quaternary: 350 58% 42%;
47
+ --governance-quaternary-foreground: 0 0% 100%;
48
+ --governance-ring: 258 52% 48%;
49
+
50
+ --inixiative-primary: 206 29% 7%;
51
+ --inixiative-primary-foreground: 70 25% 97%;
52
+ --inixiative-ring: 206 29% 7%;
53
+ }
54
+
55
+ .dark {
56
+ --agentic-primary: 83 88% 73%;
57
+ --agentic-primary-foreground: 206 29% 6%;
58
+ --agentic-secondary: 204 25% 12%;
59
+ --agentic-secondary-foreground: 96 17% 94%;
60
+ --agentic-tertiary: 211 100% 79%;
61
+ --agentic-tertiary-foreground: 206 29% 6%;
62
+ --agentic-quaternary: 315 67% 83%;
63
+ --agentic-quaternary-foreground: 206 29% 6%;
64
+ --agentic-ring: 83 88% 73%;
65
+
66
+ --building-blocks-primary: 38 95% 64%;
67
+ --building-blocks-primary-foreground: 206 29% 6%;
68
+ --building-blocks-secondary: 30 16% 12%;
69
+ --building-blocks-secondary-foreground: 96 17% 94%;
70
+ --building-blocks-tertiary: 176 62% 58%;
71
+ --building-blocks-tertiary-foreground: 206 29% 6%;
72
+ --building-blocks-quaternary: 12 90% 76%;
73
+ --building-blocks-quaternary-foreground: 206 29% 6%;
74
+ --building-blocks-ring: 38 95% 64%;
75
+
76
+ --governance-primary: 258 92% 82%;
77
+ --governance-primary-foreground: 206 29% 6%;
78
+ --governance-secondary: 250 18% 13%;
79
+ --governance-secondary-foreground: 96 17% 94%;
80
+ --governance-tertiary: 158 58% 62%;
81
+ --governance-tertiary-foreground: 206 29% 6%;
82
+ --governance-quaternary: 348 92% 82%;
83
+ --governance-quaternary-foreground: 206 29% 6%;
84
+ --governance-ring: 258 92% 82%;
85
+
86
+ --inixiative-primary: 96 17% 94%;
87
+ --inixiative-primary-foreground: 206 29% 6%;
88
+ --inixiative-ring: 96 17% 94%;
89
+ }
90
+
91
+ [data-domain="agentic"] {
92
+ --app-primary: var(--agentic-primary);
93
+ --app-primary-foreground: var(--agentic-primary-foreground);
94
+ --app-secondary: var(--agentic-secondary);
95
+ --app-secondary-foreground: var(--agentic-secondary-foreground);
96
+ --app-tertiary: var(--agentic-tertiary);
97
+ --app-tertiary-foreground: var(--agentic-tertiary-foreground);
98
+ --app-quaternary: var(--agentic-quaternary);
99
+ --app-quaternary-foreground: var(--agentic-quaternary-foreground);
100
+ --ring: var(--agentic-ring);
101
+ }
102
+
103
+ [data-domain="building-blocks"] {
104
+ --app-primary: var(--building-blocks-primary);
105
+ --app-primary-foreground: var(--building-blocks-primary-foreground);
106
+ --app-secondary: var(--building-blocks-secondary);
107
+ --app-secondary-foreground: var(--building-blocks-secondary-foreground);
108
+ --app-tertiary: var(--building-blocks-tertiary);
109
+ --app-tertiary-foreground: var(--building-blocks-tertiary-foreground);
110
+ --app-quaternary: var(--building-blocks-quaternary);
111
+ --app-quaternary-foreground: var(--building-blocks-quaternary-foreground);
112
+ --ring: var(--building-blocks-ring);
113
+ }
114
+
115
+ [data-domain="governance"] {
116
+ --app-primary: var(--governance-primary);
117
+ --app-primary-foreground: var(--governance-primary-foreground);
118
+ --app-secondary: var(--governance-secondary);
119
+ --app-secondary-foreground: var(--governance-secondary-foreground);
120
+ --app-tertiary: var(--governance-tertiary);
121
+ --app-tertiary-foreground: var(--governance-tertiary-foreground);
122
+ --app-quaternary: var(--governance-quaternary);
123
+ --app-quaternary-foreground: var(--governance-quaternary-foreground);
124
+ --ring: var(--governance-ring);
125
+ }
126
+
127
+ [data-domain="inixiative"] {
128
+ --app-primary: var(--inixiative-primary);
129
+ --app-primary-foreground: var(--inixiative-primary-foreground);
130
+ --app-secondary: var(--agentic-primary);
131
+ --app-secondary-foreground: var(--agentic-primary-foreground);
132
+ --app-tertiary: var(--building-blocks-primary);
133
+ --app-tertiary-foreground: var(--building-blocks-primary-foreground);
134
+ --app-quaternary: var(--governance-primary);
135
+ --app-quaternary-foreground: var(--governance-primary-foreground);
136
+ --ring: var(--inixiative-ring);
137
+ }
@@ -0,0 +1,513 @@
1
+ /*
2
+ * @inixiative/config/theme/marketing.css — the marketing grammar: scales and the shared page classes.
3
+ *
4
+ * Load after theme/public.css and theme/domains.css. Lifted from Kingdom's landing (apps/web/app/components/landing),
5
+ * so the hub, Kingdom's landing and every product page share one type scale, rhythm and set of parts.
6
+ * Colour comes only from public.css and domains.css tokens; this file holds none of its own.
7
+ * Classes apply inside `.marketing` (put it on the page root, with a `data-domain`). They sit in
8
+ * `@layer components` behind :where(), so Tailwind's utilities (a later layer) and any unlayered page CSS win.
9
+ * Rules the grammar carries: the domain primary is the one accent (CTA, eyebrow, wordmark stop); tertiary
10
+ * and quaternary only appear where they mean something (agentic: shared, Signet). Motion means live: only
11
+ * `.status-dot[data-live]` animates, and nothing moves under prefers-reduced-motion. Long-form reading
12
+ * (`.prose`) is set for the light theme: give that page no `.dark`.
13
+ */
14
+
15
+ :root {
16
+ /* Type: fluid steps, 640px → 1440px viewport */
17
+ --text-display-1: clamp(2.25rem, 1.05rem + 3vw, 3.75rem);
18
+ --text-display-2: clamp(2rem, 1.2rem + 2vw, 3rem);
19
+ --text-display-3: clamp(1.75rem, 1.05rem + 1.75vw, 2.625rem);
20
+ --text-heading-1: clamp(1.625rem, 1.125rem + 1.25vw, 2.25rem);
21
+ --text-heading-2: clamp(1.25rem, 0.95rem + 0.75vw, 1.625rem);
22
+ --text-heading-3: clamp(1.1875rem, 1.0375rem + 0.375vw, 1.375rem);
23
+ --text-lede: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
24
+ --text-body: 1rem;
25
+ --text-small: 0.9375rem;
26
+ --text-caption: 0.8125rem;
27
+ --text-eyebrow: 0.75rem;
28
+ --text-micro: 0.6875rem;
29
+
30
+ --leading-display: 1.04;
31
+ --leading-heading: 1.12;
32
+ --leading-body: 1.6;
33
+ --leading-prose: 1.72;
34
+
35
+ --tracking-display: -0.03em;
36
+ --tracking-heading: -0.02em;
37
+ --tracking-eyebrow: 0.14em;
38
+ --tracking-label: 0.1em;
39
+
40
+ --weight-display: 750;
41
+ --weight-heading: 650;
42
+ --weight-strong: 600;
43
+
44
+ /* Spacing: 4px base */
45
+ --gap-1: 0.25rem;
46
+ --gap-2: 0.5rem;
47
+ --gap-3: 0.75rem;
48
+ --gap-4: 1rem;
49
+ --gap-5: 1.25rem;
50
+ --gap-6: 1.5rem;
51
+ --gap-7: 2rem;
52
+ --gap-8: 3rem;
53
+ --gap-9: 4rem;
54
+ --gap-10: 6rem;
55
+
56
+ /* Section rhythm and containers */
57
+ --section-padding: clamp(4rem, 2rem + 5vw, 6.5rem);
58
+ --section-padding-compact: 2.25rem;
59
+ --section-gap: var(--gap-8);
60
+ --container-max: 82.5rem;
61
+ --container-heading: 42.5rem;
62
+ --measure: 68ch;
63
+ --gutter: clamp(1rem, -0.5rem + 4vw, 3rem);
64
+ --nav-height: clamp(4.5rem, 3.5rem + 2vw, 5.5rem);
65
+
66
+ /* Radius (numbered, so Tailwind's --radius-sm/md/lg stay Tailwind's) */
67
+ --radius-1: 0.375rem;
68
+ --radius-2: 0.5rem;
69
+ --radius-3: 0.75rem;
70
+ --radius-4: 1rem;
71
+ --radius-5: 1.25rem;
72
+ --radius-pill: 999px;
73
+
74
+ /* Motion */
75
+ --duration-fast: 150ms;
76
+ --duration-base: 200ms;
77
+ --duration-slow: 250ms;
78
+ --duration-scene: 500ms;
79
+ --duration-live: 2.4s;
80
+ --ease-standard: cubic-bezier(0.2, 0.7, 0.2, 1);
81
+ --ease-move: cubic-bezier(0.5, 0, 0.2, 1);
82
+ --lift: -1px;
83
+
84
+ /* Elevation (paper cards staged as objects) */
85
+ --elevation-1: 0 18px 40px -24px hsl(var(--shadow) / 0.45);
86
+ --elevation-2: 0 30px 60px -30px hsl(var(--shadow) / 0.6);
87
+ }
88
+
89
+ @media (prefers-reduced-motion: reduce) {
90
+ :root {
91
+ --duration-fast: 0ms;
92
+ --duration-base: 0ms;
93
+ --duration-slow: 0ms;
94
+ --duration-scene: 0ms;
95
+ --lift: 0px;
96
+ }
97
+ :where(.marketing) .status-dot[data-live] {
98
+ animation: none;
99
+ }
100
+ }
101
+
102
+ @layer components {
103
+ :where(.marketing) {
104
+ background: hsl(var(--background));
105
+ color: hsl(var(--foreground));
106
+ font-family: var(--font-sans);
107
+ font-size: var(--text-body);
108
+ line-height: var(--leading-body);
109
+ -webkit-font-smoothing: antialiased;
110
+ color-scheme: light;
111
+ }
112
+ :where(.dark .marketing, .marketing.dark) {
113
+ color-scheme: dark;
114
+ }
115
+ :where(.marketing) *,
116
+ :where(.marketing) *::before,
117
+ :where(.marketing) *::after {
118
+ box-sizing: border-box;
119
+ }
120
+ :where(.marketing) a {
121
+ color: inherit;
122
+ text-decoration: none;
123
+ }
124
+ :where(.marketing) :focus-visible {
125
+ outline: 2px solid hsl(var(--ring));
126
+ outline-offset: 4px;
127
+ border-radius: var(--radius-1);
128
+ }
129
+ :where(.marketing) :is(h1, h2, h3, h4),
130
+ :where(.marketing) :is(.display-1, .display-2, .display-3, .heading-1, .heading-2, .heading-3) {
131
+ margin: 0;
132
+ font-family: var(--font-display);
133
+ font-weight: var(--weight-display);
134
+ letter-spacing: var(--tracking-display);
135
+ line-height: var(--leading-heading);
136
+ text-wrap: balance;
137
+ }
138
+
139
+ :where(.marketing) .display-1 {
140
+ font-size: var(--text-display-1);
141
+ line-height: var(--leading-display);
142
+ }
143
+ :where(.marketing) .display-2 {
144
+ font-size: var(--text-display-2);
145
+ line-height: var(--leading-display);
146
+ }
147
+ :where(.marketing) .display-3 {
148
+ font-size: var(--text-display-3);
149
+ line-height: var(--leading-display);
150
+ }
151
+ :where(.marketing) .heading-1 {
152
+ font-size: var(--text-heading-1);
153
+ }
154
+ :where(.marketing) .heading-2 {
155
+ font-size: var(--text-heading-2);
156
+ font-weight: var(--weight-heading);
157
+ letter-spacing: var(--tracking-heading);
158
+ }
159
+ :where(.marketing) .heading-3 {
160
+ font-size: var(--text-heading-3);
161
+ font-weight: var(--weight-heading);
162
+ letter-spacing: var(--tracking-heading);
163
+ }
164
+ :where(.marketing) .lede {
165
+ margin: 0;
166
+ font-size: var(--text-lede);
167
+ line-height: var(--leading-body);
168
+ color: hsl(var(--muted-foreground));
169
+ }
170
+ :where(.marketing) .accent {
171
+ color: hsl(var(--app-primary));
172
+ }
173
+
174
+ :where(.marketing) .skip {
175
+ position: absolute;
176
+ left: var(--gap-4);
177
+ top: -4rem;
178
+ z-index: 10;
179
+ padding: var(--gap-2) var(--gap-4);
180
+ border-radius: var(--radius-2);
181
+ background: hsl(var(--app-primary));
182
+ color: hsl(var(--app-primary-foreground));
183
+ }
184
+ :where(.marketing) .skip:focus {
185
+ top: var(--gap-4);
186
+ }
187
+
188
+ :where(.marketing) .shell {
189
+ width: 100%;
190
+ max-width: var(--container-max);
191
+ margin: 0 auto;
192
+ padding: 0 var(--gutter);
193
+ }
194
+
195
+ :where(.marketing) .eyebrow {
196
+ display: inline-flex;
197
+ align-items: center;
198
+ gap: var(--gap-3);
199
+ font-family: var(--font-mono);
200
+ font-size: var(--text-eyebrow);
201
+ font-weight: 500;
202
+ letter-spacing: var(--tracking-eyebrow);
203
+ line-height: 1.2;
204
+ text-transform: uppercase;
205
+ color: hsl(var(--app-primary));
206
+ }
207
+ :where(.marketing) .eyebrow[data-quiet] {
208
+ color: hsl(var(--muted-foreground));
209
+ }
210
+ :where(.marketing) .status-dot {
211
+ flex-shrink: 0;
212
+ width: 8px;
213
+ height: 8px;
214
+ border-radius: 50%;
215
+ background: hsl(var(--app-primary));
216
+ box-shadow: 0 0 12px hsl(var(--app-primary));
217
+ }
218
+ :where(.marketing) .status-dot[data-live] {
219
+ animation: marketing-live var(--duration-live) var(--ease-move) infinite;
220
+ }
221
+ @keyframes marketing-live {
222
+ 50% {
223
+ box-shadow: 0 0 2px hsl(var(--app-primary));
224
+ opacity: 0.55;
225
+ }
226
+ }
227
+
228
+ :where(.marketing) .nav {
229
+ height: var(--nav-height);
230
+ display: flex;
231
+ align-items: center;
232
+ gap: var(--gap-7);
233
+ border-bottom: 1px solid hsl(var(--border));
234
+ }
235
+ :where(.marketing) .nav-links {
236
+ display: flex;
237
+ gap: var(--gap-7);
238
+ margin: 0 0 0 auto;
239
+ padding: 0;
240
+ list-style: none;
241
+ }
242
+ :where(.marketing) .nav-links a {
243
+ font-size: var(--text-small);
244
+ color: hsl(var(--muted-foreground));
245
+ transition: color var(--duration-base) var(--ease-standard);
246
+ }
247
+ :where(.marketing) .nav-links a:hover,
248
+ :where(.marketing) .nav-links a[aria-current="page"] {
249
+ color: hsl(var(--foreground));
250
+ }
251
+ :where(.marketing) .brand {
252
+ display: inline-flex;
253
+ align-items: center;
254
+ gap: var(--gap-3);
255
+ font-family: var(--font-display);
256
+ font-size: var(--text-heading-2);
257
+ font-weight: var(--weight-display);
258
+ letter-spacing: var(--tracking-display);
259
+ }
260
+ :where(.marketing) .brand svg {
261
+ width: 1em;
262
+ height: 1.15em;
263
+ color: hsl(var(--app-primary));
264
+ }
265
+ :where(.marketing) .brand-period {
266
+ color: hsl(var(--app-primary));
267
+ }
268
+
269
+ :where(.marketing) .actions {
270
+ display: flex;
271
+ flex-wrap: wrap;
272
+ align-items: center;
273
+ gap: var(--gap-5);
274
+ }
275
+ :where(.marketing) .button {
276
+ display: inline-flex;
277
+ align-items: center;
278
+ justify-content: center;
279
+ gap: var(--gap-3);
280
+ height: 52px;
281
+ padding: 0 var(--gap-6);
282
+ border: 0;
283
+ border-radius: var(--radius-3);
284
+ font: inherit;
285
+ font-size: var(--text-body);
286
+ font-weight: var(--weight-strong);
287
+ background: hsl(var(--app-primary));
288
+ color: hsl(var(--app-primary-foreground));
289
+ cursor: pointer;
290
+ transition:
291
+ transform var(--duration-fast) var(--ease-standard),
292
+ box-shadow var(--duration-base) var(--ease-standard);
293
+ }
294
+ :where(.marketing) .button:hover {
295
+ transform: translateY(var(--lift));
296
+ box-shadow: 0 10px 30px -10px hsl(var(--app-primary) / 0.6);
297
+ }
298
+ :where(.marketing) .button-secondary {
299
+ background: transparent;
300
+ color: hsl(var(--foreground));
301
+ box-shadow: inset 0 0 0 1px hsl(var(--input));
302
+ }
303
+ :where(.marketing) .button-secondary:hover {
304
+ transform: none;
305
+ box-shadow: inset 0 0 0 1px hsl(var(--app-primary));
306
+ }
307
+ :where(.marketing) .button[data-size="small"] {
308
+ height: 42px;
309
+ padding: 0 var(--gap-5);
310
+ border-radius: var(--radius-3);
311
+ font-size: var(--text-small);
312
+ }
313
+ :where(.marketing) .text-link {
314
+ font-weight: 500;
315
+ color: hsl(var(--foreground));
316
+ border-bottom: 1px solid hsl(var(--input));
317
+ padding-bottom: 2px;
318
+ transition: border-color var(--duration-base) var(--ease-standard);
319
+ }
320
+ :where(.marketing) .text-link:hover {
321
+ border-color: hsl(var(--app-primary));
322
+ }
323
+
324
+ :where(.marketing) .section {
325
+ display: flex;
326
+ flex-direction: column;
327
+ gap: var(--section-gap);
328
+ padding: var(--section-padding) 0;
329
+ }
330
+ :where(.marketing) .section[data-compact] {
331
+ gap: var(--gap-5);
332
+ padding: var(--section-padding-compact) 0;
333
+ }
334
+ :where(.marketing) .section + .section,
335
+ :where(.marketing) .section[data-rule] {
336
+ border-top: 1px solid hsl(var(--border));
337
+ }
338
+ :where(.marketing) .section-heading {
339
+ display: flex;
340
+ flex-direction: column;
341
+ gap: var(--gap-4);
342
+ max-width: var(--container-heading);
343
+ }
344
+ :where(.marketing) .section-heading h2 {
345
+ font-size: var(--text-display-2);
346
+ }
347
+
348
+ :where(.marketing) .card {
349
+ position: relative;
350
+ display: flex;
351
+ flex-direction: column;
352
+ gap: var(--gap-3);
353
+ padding: var(--gap-7);
354
+ border-radius: var(--radius-5);
355
+ overflow: hidden;
356
+ color: hsl(var(--card-foreground));
357
+ background:
358
+ radial-gradient(120% 80% at 0% 0%, hsl(var(--app-primary) / 0.12), transparent 60%),
359
+ hsl(var(--card));
360
+ box-shadow: inset 0 0 0 1px hsl(var(--border));
361
+ transition:
362
+ transform var(--duration-slow) var(--ease-standard),
363
+ box-shadow var(--duration-slow) var(--ease-standard);
364
+ }
365
+ :where(.marketing) .card[data-plain] {
366
+ background: hsl(var(--card));
367
+ }
368
+ :where(.marketing) .card[data-raised] {
369
+ box-shadow:
370
+ inset 0 0 0 1px hsl(var(--border)),
371
+ var(--elevation-2);
372
+ }
373
+ :where(.marketing) :is(a.card, .card[data-interactive]):hover {
374
+ transform: translateY(calc(var(--lift) * 3));
375
+ box-shadow:
376
+ inset 0 0 0 1px hsl(var(--app-primary) / 0.55),
377
+ 0 24px 50px -28px hsl(var(--app-primary) / 0.6);
378
+ }
379
+ :where(.marketing) .card h3 {
380
+ font-size: var(--text-heading-3);
381
+ font-weight: var(--weight-heading);
382
+ letter-spacing: var(--tracking-heading);
383
+ }
384
+ :where(.marketing) .card p {
385
+ margin: 0;
386
+ color: hsl(var(--muted-foreground));
387
+ }
388
+ :where(.marketing) .card-grid {
389
+ display: grid;
390
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
391
+ gap: var(--gap-5);
392
+ }
393
+
394
+ :where(.marketing) .footer {
395
+ display: flex;
396
+ flex-wrap: wrap;
397
+ align-items: center;
398
+ justify-content: space-between;
399
+ gap: var(--gap-6);
400
+ padding: var(--gap-7) 0 var(--gap-8);
401
+ border-top: 1px solid hsl(var(--border));
402
+ font-size: var(--text-small);
403
+ color: hsl(var(--muted-foreground));
404
+ }
405
+ :where(.marketing) .footer .brand {
406
+ font-size: var(--text-heading-3);
407
+ color: hsl(var(--foreground));
408
+ }
409
+ :where(.marketing) .footer-links {
410
+ display: flex;
411
+ flex-wrap: wrap;
412
+ gap: var(--gap-3) var(--gap-6);
413
+ margin: 0;
414
+ padding: 0;
415
+ list-style: none;
416
+ }
417
+ :where(.marketing) .footer-links a:hover {
418
+ color: hsl(var(--foreground));
419
+ }
420
+
421
+ :where(.marketing) .prose {
422
+ max-width: var(--measure);
423
+ font-size: 1.0625rem;
424
+ line-height: var(--leading-prose);
425
+ color: hsl(var(--foreground));
426
+ }
427
+ :where(.marketing) .prose > * + * {
428
+ margin-top: 1.1em;
429
+ }
430
+ :where(.marketing) .prose :is(h2, h3) {
431
+ margin-top: 2.2em;
432
+ }
433
+ :where(.marketing) .prose h2 {
434
+ font-size: var(--text-heading-1);
435
+ }
436
+ :where(.marketing) .prose h3 {
437
+ font-size: var(--text-heading-2);
438
+ font-weight: var(--weight-heading);
439
+ letter-spacing: var(--tracking-heading);
440
+ }
441
+ :where(.marketing) .prose :is(h2, h3) + * {
442
+ margin-top: 0.6em;
443
+ }
444
+ :where(.marketing) .prose p,
445
+ :where(.marketing) .prose :is(ul, ol) {
446
+ margin-bottom: 0;
447
+ }
448
+ :where(.marketing) .prose :is(ul, ol) {
449
+ padding-left: 1.4em;
450
+ }
451
+ :where(.marketing) .prose li + li {
452
+ margin-top: 0.4em;
453
+ }
454
+ :where(.marketing) .prose li::marker {
455
+ color: hsl(var(--app-primary));
456
+ }
457
+ :where(.marketing) .prose a {
458
+ color: hsl(var(--app-primary));
459
+ text-decoration: underline;
460
+ text-decoration-thickness: 1px;
461
+ text-underline-offset: 0.18em;
462
+ }
463
+ :where(.marketing) .prose strong {
464
+ font-weight: var(--weight-strong);
465
+ }
466
+ :where(.marketing) .prose blockquote {
467
+ margin-left: 0;
468
+ margin-right: 0;
469
+ padding-left: var(--gap-5);
470
+ border-left: 3px solid hsl(var(--app-primary));
471
+ color: hsl(var(--muted-foreground));
472
+ }
473
+ :where(.marketing) .prose :not(pre) > code {
474
+ padding: 0.1em 0.35em;
475
+ border-radius: var(--radius-1);
476
+ font-family: var(--font-mono);
477
+ font-size: 0.88em;
478
+ background: hsl(var(--muted));
479
+ }
480
+ :where(.marketing) .prose pre {
481
+ overflow-x: auto;
482
+ padding: var(--gap-5);
483
+ border-radius: var(--radius-3);
484
+ font-family: var(--font-mono);
485
+ font-size: var(--text-caption);
486
+ line-height: 1.6;
487
+ background: hsl(var(--muted));
488
+ }
489
+ :where(.marketing) .prose hr {
490
+ border: 0;
491
+ border-top: 1px solid hsl(var(--border));
492
+ margin: 2.4em 0;
493
+ }
494
+ :where(.marketing) .prose figcaption,
495
+ :where(.marketing) .prose .aside {
496
+ font-size: var(--text-small);
497
+ color: hsl(var(--muted-foreground));
498
+ }
499
+ :where(.marketing) .prose .aside {
500
+ padding: var(--gap-5) var(--gap-6);
501
+ border-radius: var(--radius-4);
502
+ background: hsl(var(--muted));
503
+ }
504
+
505
+ @media (max-width: 760px) {
506
+ :where(.marketing) .nav-links {
507
+ display: none;
508
+ }
509
+ :where(.marketing) .nav > :last-child {
510
+ margin-left: auto;
511
+ }
512
+ }
513
+ }
package/theme/public.css CHANGED
@@ -6,7 +6,7 @@
6
6
  * Values are HSL channels, used as hsl(var(--x)) or hsl(var(--x) / .12).
7
7
  * Light is the default (:root); dark is the `.dark` class on <html>, as in template and Kingdom.
8
8
  * Colour meaning: lime = yours / live (--app-primary), blue = shared (--app-tertiary), pink = Signet (--app-quaternary).
9
- * Thread and work status colours are a separate layer: theme/agentic.css.
9
+ * Thread and work status colours are a separate layer: theme/status.css. Domain palettes: theme/domains.css; marketing grammar: theme/marketing.css.
10
10
  */
11
11
 
12
12
  @font-face {
@@ -67,6 +67,7 @@
67
67
  --border: 87 12% 86%;
68
68
  --input: 87 12% 82%;
69
69
  --ring: 84 69% 30%;
70
+ --shadow: 206 29% 7%; /* elevation: hsl(var(--shadow) / .3) */
70
71
  --radius: 0.75rem;
71
72
 
72
73
  /* Type */
@@ -109,4 +110,5 @@
109
110
  --border: 202 22% 15%;
110
111
  --input: 204 22% 19%;
111
112
  --ring: 83 88% 73%;
113
+ --shadow: 206 40% 2%;
112
114
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * @inixiative/config/theme/agentic.css — the status and badge layers for agentic apps (Foundry, Kingdom).
2
+ * @inixiative/config/theme/status.css — the status and badge layers for apps that show agent work (Foundry, Kingdom).
3
3
  *
4
4
  * Load after theme/public.css. Light is :root, dark is `.dark`, like public.css.
5
5
  *
package/versions.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "@types/bun"
14
14
  ],
15
15
  "ecosystem": {
16
- "@inixiative/config": "0.5.183",
16
+ "@inixiative/config": "0.5.185",
17
17
  "@inixiative/json-rules": "3.16.0",
18
18
  "@inixiative/permissions": "0.18.0",
19
19
  "@inixiative/transitions": "0.6.0",
@@ -26,7 +26,7 @@
26
26
  "@inixiative/signet": "0.12.2",
27
27
  "@inixiative/kcp": "0.1.0",
28
28
  "@inixiative/archive": "0.33.0",
29
- "@inixiative/agent-session": "0.9.0",
29
+ "@inixiative/agent-session": "0.10.0",
30
30
  "@inixiative/foundry-core": "0.5.10",
31
31
  "@inixiative/foundry": "0.5.7",
32
32
  "@inixiative/foundry-acp": "0.1.2"