@tangle-network/brand 1.11.0 → 1.13.1
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.
- package/CHANGELOG.md +31 -0
- package/README.md +4 -1
- package/bin/drift-baseline.json +30 -78
- package/package.json +1 -1
- package/src/styles/focus.test.ts +2 -2
- package/src/styles/legacy-light.css +603 -11
- package/src/styles/named-themes.css +336 -6
- package/src/styles/named-themes.test.ts +374 -5
- package/src/styles/tokens.css +95 -0
|
@@ -56,7 +56,9 @@
|
|
|
56
56
|
* from the complete canonical light baseline in tokens.css. */
|
|
57
57
|
[data-theme="aubergine-light"],
|
|
58
58
|
[data-theme="arena-light"],
|
|
59
|
-
[data-theme="
|
|
59
|
+
[data-theme="super-light"],
|
|
60
|
+
[data-theme="tangle-light"],
|
|
61
|
+
[data-theme="agents-light"] {
|
|
60
62
|
--hsl-secondary-foreground: 0 0% 10%;
|
|
61
63
|
--surface-neutral-text: #4b5563;
|
|
62
64
|
}
|
|
@@ -81,7 +83,10 @@
|
|
|
81
83
|
--border-subtle: rgba(183,157,255,0.12); --border-default: rgba(183,157,255,0.22);
|
|
82
84
|
--border-hover: rgba(183,157,255,0.40); --accent-text: #c4b0ff;
|
|
83
85
|
--brand-primary: #8f8bff; --brand-glow: #c4b0ff;
|
|
84
|
-
--text-primary: #f4f1fd; --text-secondary: #cec4e8; --text-muted: #
|
|
86
|
+
--text-primary: #f4f1fd; --text-secondary: #cec4e8; --text-muted: #b7afd1; --text-dim: #a59ebb;
|
|
87
|
+
--md3-surface: var(--bg-root); --md3-surface-dim: var(--md3-surface-container-lowest);
|
|
88
|
+
--md3-surface-bright: var(--md3-surface-container-highest); --md3-surface-variant: var(--md3-surface-container-high);
|
|
89
|
+
--md3-on-surface: var(--text-primary); --md3-on-surface-variant: var(--text-muted);
|
|
85
90
|
}
|
|
86
91
|
[data-theme="aubergine-light"] {
|
|
87
92
|
--hsl-background: 258 60% 96%; --hsl-foreground: 258 45% 11%;
|
|
@@ -100,7 +105,10 @@
|
|
|
100
105
|
--border-subtle: rgba(60,32,110,0.10); --border-default: rgba(60,32,110,0.16);
|
|
101
106
|
--border-hover: rgba(60,32,110,0.30); --accent-text: #6d28d9;
|
|
102
107
|
--brand-primary: #6d28d9; --brand-glow: #8b5cf6;
|
|
103
|
-
--text-primary: #160f22; --text-secondary: #3f3460; --text-muted: #
|
|
108
|
+
--text-primary: #160f22; --text-secondary: #3f3460; --text-muted: #585070; --text-dim: #655d82;
|
|
109
|
+
--md3-surface: var(--bg-root); --md3-surface-dim: var(--depth-2);
|
|
110
|
+
--md3-surface-bright: #ffffff; --md3-surface-variant: var(--md3-surface-container-high);
|
|
111
|
+
--md3-on-surface: var(--text-primary); --md3-on-surface-variant: var(--text-muted);
|
|
104
112
|
}
|
|
105
113
|
|
|
106
114
|
/* ───────────────────────── Arena — emerald / green accent ────────────────── */
|
|
@@ -121,7 +129,10 @@
|
|
|
121
129
|
--border-subtle: rgba(52,211,153,0.10); --border-default: rgba(52,211,153,0.18);
|
|
122
130
|
--border-hover: rgba(52,211,153,0.32); --accent-text: #34d399;
|
|
123
131
|
--brand-primary: #10b981; --brand-glow: #34d399;
|
|
124
|
-
--text-primary: #ecfdf5; --text-secondary: #c2e8d6; --text-muted: #8fb6a3; --text-dim: #
|
|
132
|
+
--text-primary: #ecfdf5; --text-secondary: #c2e8d6; --text-muted: #8fb6a3; --text-dim: #7ba08e;
|
|
133
|
+
--md3-surface: var(--bg-root); --md3-surface-dim: var(--md3-surface-container-lowest);
|
|
134
|
+
--md3-surface-bright: var(--md3-surface-container-highest); --md3-surface-variant: var(--md3-surface-container-high);
|
|
135
|
+
--md3-on-surface: var(--text-primary); --md3-on-surface-variant: var(--text-muted);
|
|
125
136
|
}
|
|
126
137
|
[data-theme="arena-light"] {
|
|
127
138
|
--hsl-background: 150 30% 96%; --hsl-foreground: 158 30% 10%;
|
|
@@ -140,7 +151,70 @@
|
|
|
140
151
|
--border-subtle: rgba(6,95,70,0.10); --border-default: rgba(6,95,70,0.16);
|
|
141
152
|
--border-hover: rgba(6,95,70,0.30); --accent-text: #047857;
|
|
142
153
|
--brand-primary: #059669; --brand-glow: #10b981;
|
|
143
|
-
--text-primary: #06231a; --text-secondary: #285048; --text-muted: #
|
|
154
|
+
--text-primary: #06231a; --text-secondary: #285048; --text-muted: #455f52; --text-dim: #4e6d62;
|
|
155
|
+
--md3-surface: var(--bg-root); --md3-surface-dim: var(--depth-2);
|
|
156
|
+
--md3-surface-bright: #ffffff; --md3-surface-variant: var(--md3-surface-container-high);
|
|
157
|
+
--md3-on-surface: var(--text-primary); --md3-on-surface-variant: var(--text-muted);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/* ───────────────────────── Super — warm neutral / forest accent ─────────────
|
|
161
|
+
* SUPER, the local logistics app. Warm green-grey planes with a forest action
|
|
162
|
+
* colour. Light is the product's primary mode; dark keeps the same hue family.
|
|
163
|
+
* Status and category tones are inherited, never retinted. */
|
|
164
|
+
[data-theme="super"] {
|
|
165
|
+
--hsl-background: 120 12% 8%; --hsl-foreground: 86 20% 93%;
|
|
166
|
+
--hsl-card: 120 11% 12%; --hsl-card-foreground: 86 20% 93%;
|
|
167
|
+
--hsl-popover: 120 10% 15%; --hsl-popover-foreground: 86 20% 93%;
|
|
168
|
+
--hsl-primary: 139 31% 61%; --hsl-primary-foreground: 140 35% 8%;
|
|
169
|
+
--hsl-secondary: 120 9% 17%; --hsl-secondary-foreground: 86 20% 93%;
|
|
170
|
+
--hsl-muted: 120 9% 17%; --hsl-muted-foreground: 95 10% 67%;
|
|
171
|
+
--hsl-accent: 120 10% 18%; --hsl-accent-foreground: 86 20% 93%;
|
|
172
|
+
--hsl-border: 120 9% 25%; --hsl-input: 120 9% 17%;
|
|
173
|
+
--hsl-ring: 139 31% 61%;
|
|
174
|
+
--depth-1: #121712; --depth-2: #1c231c; --depth-3: #232b23; --depth-4: #2b342b;
|
|
175
|
+
--bg-root: #121712; --bg-card: var(--depth-2); --bg-input: var(--depth-3);
|
|
176
|
+
--md3-surface-container-lowest: #0d110d; --md3-surface-container-low: #171d17;
|
|
177
|
+
--md3-surface-container: #1c231c; --md3-surface-container-high: #232b23;
|
|
178
|
+
--md3-surface-container-highest: #2b342b; --md3-outline-variant: #3a453a;
|
|
179
|
+
--border-subtle: rgba(190,210,180,0.12); --border-default: rgba(190,210,180,0.20);
|
|
180
|
+
--border-hover: rgba(190,210,180,0.34); --accent-text: #8fd0a4;
|
|
181
|
+
--brand-primary: #7dbb91; --brand-glow: #8fd0a4;
|
|
182
|
+
--text-primary: #eef1ea; --text-secondary: #cbd3c5; --text-muted: #a9b3a2; --text-dim: #959f8f;
|
|
183
|
+
--md3-primary: #8fd0a4; --bg-hover: rgba(190,210,180,0.06); --bg-selection: rgba(125,187,145,0.28);
|
|
184
|
+
--accent-surface-soft: rgba(125,187,145,0.08); --accent-surface-strong: rgba(125,187,145,0.24);
|
|
185
|
+
--border-accent: rgba(125,187,145,0.38); --border-accent-hover: rgba(125,187,145,0.56);
|
|
186
|
+
--btn-primary-bg: #7dbb91; --btn-primary-hover: #8fcaa1; --btn-primary-text: #0e1d13;
|
|
187
|
+
--btn-cta-bg: #7dbb91; --btn-cta-text: #0e1d13;
|
|
188
|
+
--md3-surface: var(--bg-root); --md3-surface-dim: var(--md3-surface-container-lowest);
|
|
189
|
+
--md3-surface-bright: var(--md3-surface-container-highest); --md3-surface-variant: var(--md3-surface-container-high);
|
|
190
|
+
--md3-on-surface: var(--text-primary); --md3-on-surface-variant: var(--text-muted);
|
|
191
|
+
}
|
|
192
|
+
[data-theme="super-light"] {
|
|
193
|
+
--hsl-background: 75 22% 96%; --hsl-foreground: 114 13% 15%;
|
|
194
|
+
--hsl-card: 0 0% 100%; --hsl-card-foreground: 114 13% 15%;
|
|
195
|
+
--hsl-popover: 0 0% 100%; --hsl-popover-foreground: 114 13% 15%;
|
|
196
|
+
--hsl-primary: 148 40% 25%; --hsl-primary-foreground: 0 0% 100%;
|
|
197
|
+
--hsl-secondary: 80 18% 93%; --hsl-muted: 80 18% 93%;
|
|
198
|
+
--hsl-muted-foreground: 99 9% 37%;
|
|
199
|
+
--hsl-accent: 80 18% 93%; --hsl-border: 87 17% 87%;
|
|
200
|
+
--hsl-input: 92 14% 78%; --hsl-ring: 144 31% 34%;
|
|
201
|
+
--depth-1: #f7f8f4; --depth-2: #eff1eb; --depth-3: #ffffff; --depth-4: #ffffff;
|
|
202
|
+
--bg-root: #f7f8f4; --bg-card: #ffffff; --bg-input: #eff1eb;
|
|
203
|
+
--md3-surface-container-lowest: #ffffff; --md3-surface-container-low: #fcfcf9;
|
|
204
|
+
--md3-surface-container: #f7f8f4; --md3-surface-container-high: #eff1eb;
|
|
205
|
+
--md3-surface-container-highest: #e6eae1; --md3-outline-variant: #dfe4d9;
|
|
206
|
+
--border-subtle: rgba(34,43,33,0.10); --border-default: rgba(34,43,33,0.16);
|
|
207
|
+
--border-hover: rgba(34,43,33,0.30); --accent-text: #275a3f;
|
|
208
|
+
--brand-primary: #275a3f; --brand-glow: #3b7050;
|
|
209
|
+
--text-primary: #222b21; --text-secondary: #46523f; --text-muted: #5d6857; --text-dim: #616c5a;
|
|
210
|
+
--md3-primary: #275a3f; --bg-hover: rgba(34,43,33,0.04); --bg-selection: rgba(39,90,63,0.16);
|
|
211
|
+
--accent-surface-soft: rgba(39,90,63,0.06); --accent-surface-strong: rgba(39,90,63,0.14);
|
|
212
|
+
--border-accent: rgba(39,90,63,0.30); --border-accent-hover: rgba(39,90,63,0.45);
|
|
213
|
+
--btn-primary-bg: #275a3f; --btn-primary-hover: #1e4832; --btn-primary-text: #ffffff;
|
|
214
|
+
--btn-cta-bg: #275a3f; --btn-cta-text: #ffffff;
|
|
215
|
+
--md3-surface: var(--bg-root); --md3-surface-dim: var(--depth-2);
|
|
216
|
+
--md3-surface-bright: #ffffff; --md3-surface-variant: var(--md3-surface-container-high);
|
|
217
|
+
--md3-on-surface: var(--text-primary); --md3-on-surface-variant: var(--text-muted);
|
|
144
218
|
}
|
|
145
219
|
|
|
146
220
|
/* ───────────────────────── Tangle — neutral dark spine ─────────────────────
|
|
@@ -188,7 +262,7 @@
|
|
|
188
262
|
--border-subtle: rgba(20,20,40,0.08); --border-default: rgba(20,20,40,0.14);
|
|
189
263
|
--border-hover: rgba(20,20,40,0.26); --accent-text: #4f46e5;
|
|
190
264
|
--brand-primary: #6366f1; --brand-glow: #818cf8;
|
|
191
|
-
--text-primary: #15131f; --text-secondary: #3f3a52; --text-muted: #
|
|
265
|
+
--text-primary: #15131f; --text-secondary: #3f3a52; --text-muted: #59556b; --text-dim: #67627b;
|
|
192
266
|
}
|
|
193
267
|
|
|
194
268
|
/* ───────────────────── Intelligence — violet surface ramp ────────────────────
|
|
@@ -245,3 +319,259 @@
|
|
|
245
319
|
--border-default: rgba(120, 108, 158, 0.18);
|
|
246
320
|
--border-hover: rgba(120, 108, 158, 0.28);
|
|
247
321
|
}
|
|
322
|
+
|
|
323
|
+
/* ───────────────────── Hospitality — sage paper, forest accent ─────────────────
|
|
324
|
+
* Hospitality's product identity: a sage-tinted surface ladder and a forest-green
|
|
325
|
+
* accent in place of iris. It follows the canonical ladder's roles exactly (light
|
|
326
|
+
* paper cards on a tinted canvas; dark planes rising in the same steps as the
|
|
327
|
+
* neutral spine), so shared components keep their hierarchy and only the hue
|
|
328
|
+
* changes. Status tones are deliberately NOT overridden: approval, overdue and
|
|
329
|
+
* failure read the same in Hospitality as everywhere else.
|
|
330
|
+
*
|
|
331
|
+
* Apply `data-theme="hospitality"` on <html>. The mode comes from the `.dark`
|
|
332
|
+
* class the shared theme control already toggles: without `.dark` the scope is
|
|
333
|
+
* light, including before hydration, and tokens.css seeds it with the complete
|
|
334
|
+
* canonical light baseline exactly as it does `vault`; with `.dark` it takes the
|
|
335
|
+
* dark baseline and this file's dark ladder. A mode switch never needs a second
|
|
336
|
+
* attribute, and the two blocks declare the same properties. */
|
|
337
|
+
[data-theme="hospitality"]:where(:not(.dark)) {
|
|
338
|
+
--hsl-background: 102 18% 92%; --hsl-foreground: 143 25% 12%;
|
|
339
|
+
--hsl-card: 0 0% 100%; --hsl-card-foreground: 143 25% 12%;
|
|
340
|
+
--hsl-popover: 0 0% 100%; --hsl-popover-foreground: 143 25% 12%;
|
|
341
|
+
--hsl-primary: 153 38% 25%; --hsl-primary-foreground: 0 0% 100%;
|
|
342
|
+
--hsl-secondary: 126 17% 94%; --hsl-secondary-foreground: 143 25% 12%;
|
|
343
|
+
--hsl-muted: 126 17% 94%; --hsl-muted-foreground: 146 9% 39%;
|
|
344
|
+
--hsl-accent: 131 20% 91%; --hsl-accent-foreground: 143 25% 12%;
|
|
345
|
+
--hsl-border: 130 15% 84%; --hsl-input: 105 22% 97.5%;
|
|
346
|
+
--hsl-ring: 148 28% 43%;
|
|
347
|
+
--sidebar-background: 0 0% 100%; --sidebar-foreground: 143 25% 12%;
|
|
348
|
+
--sidebar-primary: 153 38% 25%; --sidebar-primary-foreground: 0 0% 100%;
|
|
349
|
+
--sidebar-accent: 126 17% 94%; --sidebar-accent-foreground: 143 25% 12%;
|
|
350
|
+
--sidebar-border: 130 15% 84%; --sidebar-ring: 148 28% 43%;
|
|
351
|
+
--md3-surface: #e9eee7; --md3-surface-dim: #d5ded3; --md3-surface-bright: #ffffff;
|
|
352
|
+
--md3-surface-container-lowest: #ffffff; --md3-surface-container-low: #f8faf7;
|
|
353
|
+
--md3-surface-container: #ffffff; --md3-surface-container-high: #edf2ee;
|
|
354
|
+
--md3-surface-container-highest: #ffffff; --md3-surface-variant: #edf2ee;
|
|
355
|
+
--md3-on-surface: #17261d; --md3-on-surface-variant: #5a6c62;
|
|
356
|
+
--md3-outline: #6d8376; --md3-outline-variant: #d0dcd2;
|
|
357
|
+
--md3-primary: #285842; --md3-primary-dim: #1f4735; --md3-primary-container: #1f4735;
|
|
358
|
+
--md3-on-primary: #ffffff; --md3-surface-tint: #285842;
|
|
359
|
+
--depth-1: #e9eee7; --depth-2: #ffffff; --depth-3: #edf2ee; --depth-4: #ffffff;
|
|
360
|
+
--bg-root: #e9eee7; --bg-dark: #e9eee7; --bg-section: #e9eee7;
|
|
361
|
+
--bg-card: #ffffff; --bg-elevated: #ffffff; --bg-input: #f8faf7;
|
|
362
|
+
--bg-hover: rgba(40, 88, 66, 0.05); --bg-selection: rgba(40, 88, 66, 0.16);
|
|
363
|
+
--border-subtle: rgba(23, 38, 29, 0.10); --border-default: rgba(23, 38, 29, 0.14);
|
|
364
|
+
--border-hover: rgba(23, 38, 29, 0.24);
|
|
365
|
+
--border-accent: rgba(40, 88, 66, 0.20); --border-accent-hover: rgba(40, 88, 66, 0.36);
|
|
366
|
+
--accent-text: #285842;
|
|
367
|
+
--accent-surface-soft: rgba(40, 88, 66, 0.05); --accent-surface-strong: rgba(40, 88, 66, 0.13);
|
|
368
|
+
--accent-gradient-strong: linear-gradient(135deg, #1f4735, #336c52);
|
|
369
|
+
--brand-primary: #3d7b5f; --brand-cool: #4f8c6c; --brand-glow: #6cac8a; --brand-vibrant: #3d7b5f;
|
|
370
|
+
--btn-primary-bg: #285842; --btn-primary-hover: #336c52; --btn-primary-text: #ffffff;
|
|
371
|
+
--text-primary: #17261d; --text-secondary: #36493e; --text-muted: #5a6c62; --text-dim: #5f6d65;
|
|
372
|
+
}
|
|
373
|
+
.dark[data-theme="hospitality"] {
|
|
374
|
+
--hsl-background: 150 8% 8.6%; --hsl-foreground: 140 12% 90.2%;
|
|
375
|
+
--hsl-card: 150 6% 18.8%; --hsl-card-foreground: 140 12% 90.2%;
|
|
376
|
+
--hsl-popover: 150 6% 20.8%; --hsl-popover-foreground: 140 12% 90.2%;
|
|
377
|
+
--hsl-primary: 145 31% 59%; --hsl-primary-foreground: 153 35% 10%;
|
|
378
|
+
--hsl-secondary: 150 6% 20.8%; --hsl-secondary-foreground: 140 12% 90.2%;
|
|
379
|
+
--hsl-muted: 150 6% 20.8%; --hsl-muted-foreground: 145 8% 71%;
|
|
380
|
+
--hsl-accent: 150 6% 20.8%; --hsl-accent-foreground: 140 12% 90.2%;
|
|
381
|
+
--hsl-border: 150 5% 29.8%; --hsl-input: 150 8% 12.2%;
|
|
382
|
+
--hsl-ring: 145 31% 59%;
|
|
383
|
+
--sidebar-background: 150 9% 6.3%; --sidebar-foreground: 140 12% 90.2%;
|
|
384
|
+
--sidebar-primary: 145 31% 59%; --sidebar-primary-foreground: 153 35% 10%;
|
|
385
|
+
--sidebar-accent: 150 6% 20.8%; --sidebar-accent-foreground: 140 12% 90.2%;
|
|
386
|
+
--sidebar-border: 150 5% 29.8%; --sidebar-ring: 145 31% 59%;
|
|
387
|
+
--md3-surface: #141816; --md3-surface-dim: #0f1210; --md3-surface-bright: #383e3b;
|
|
388
|
+
--md3-surface-container-lowest: #0f1210; --md3-surface-container-low: #212624;
|
|
389
|
+
--md3-surface-container: #2d3330; --md3-surface-container-high: #323835;
|
|
390
|
+
--md3-surface-container-highest: #383e3b; --md3-surface-variant: #323835;
|
|
391
|
+
--md3-on-surface: #e3e9e5; --md3-on-surface-variant: #afbbb4;
|
|
392
|
+
--md3-outline: #8a938e; --md3-outline-variant: #48504c;
|
|
393
|
+
--md3-primary: #76b791; --md3-primary-dim: #396a52; --md3-primary-container: #396a52;
|
|
394
|
+
--md3-on-primary: #11221a; --md3-surface-tint: #76b791;
|
|
395
|
+
--depth-1: #141816; --depth-2: #2d3330; --depth-3: #323835; --depth-4: #383e3b;
|
|
396
|
+
--bg-root: #141816; --bg-dark: #141816; --bg-section: #141816;
|
|
397
|
+
--bg-card: #2d3330; --bg-elevated: #383e3b; --bg-input: #1d221f;
|
|
398
|
+
--bg-hover: rgba(118, 183, 145, 0.07); --bg-selection: rgba(118, 183, 145, 0.28);
|
|
399
|
+
--border-subtle: rgba(227, 233, 229, 0.10); --border-default: rgba(227, 233, 229, 0.16);
|
|
400
|
+
--border-hover: rgba(227, 233, 229, 0.28);
|
|
401
|
+
--border-accent: rgba(118, 183, 145, 0.35); --border-accent-hover: rgba(118, 183, 145, 0.50);
|
|
402
|
+
--accent-text: #76b791;
|
|
403
|
+
--accent-surface-soft: rgba(118, 183, 145, 0.07); --accent-surface-strong: rgba(57, 106, 82, 0.40);
|
|
404
|
+
--accent-gradient-strong: linear-gradient(135deg, #396a52, #76b791);
|
|
405
|
+
--brand-primary: #529873; --brand-cool: #76b791; --brand-glow: #94c7a9; --brand-vibrant: #529873;
|
|
406
|
+
--btn-primary-bg: #76b791; --btn-primary-hover: #8dc3a4; --btn-primary-text: #11221a;
|
|
407
|
+
--text-primary: #e3e9e5; --text-secondary: #c5cec9; --text-muted: #afbbb4; --text-dim: #9ea9a2;
|
|
408
|
+
}
|
|
409
|
+
/* agents:begin — generated by scripts/gen-ladders.mjs from its MAP; edit there, not these lines.
|
|
410
|
+
* Agents (Agent Builder): white light pages, cards separated by shadow, and a
|
|
411
|
+
* mauve neutral ladder. Surfaces, text and borders only; the accent, status
|
|
412
|
+
* and category tokens stay canonical. Select data-theme="agents" for dark and
|
|
413
|
+
* data-theme="agents-light" for light. */
|
|
414
|
+
[data-theme="agents"] {
|
|
415
|
+
--bg-card: #1a191b;
|
|
416
|
+
--hsl-background: 270 5.6% 7.1%;
|
|
417
|
+
--hsl-foreground: 240 6.2% 93.7%;
|
|
418
|
+
--hsl-card: 270 3.8% 10.2%;
|
|
419
|
+
--hsl-card-foreground: 240 6.2% 93.7%;
|
|
420
|
+
--hsl-popover: 260 4.2% 13.9%;
|
|
421
|
+
--hsl-popover-foreground: 240 6.2% 93.7%;
|
|
422
|
+
--hsl-secondary: 260 4.2% 13.9%;
|
|
423
|
+
--hsl-secondary-foreground: 240 6.2% 93.7%;
|
|
424
|
+
--hsl-muted: 260 4.2% 13.9%;
|
|
425
|
+
--hsl-muted-foreground: 258 6.9% 71.8%;
|
|
426
|
+
--hsl-accent: 270 4.7% 16.9%;
|
|
427
|
+
--hsl-accent-foreground: 240 6.2% 93.7%;
|
|
428
|
+
--hsl-border: 270 5% 23.5%;
|
|
429
|
+
--hsl-input: 251 4.8% 44.9%;
|
|
430
|
+
--sidebar-background: 270 3.8% 10.2%;
|
|
431
|
+
--sidebar-foreground: 240 6.2% 93.7%;
|
|
432
|
+
--sidebar-accent: 270 4.7% 16.9%;
|
|
433
|
+
--sidebar-accent-foreground: 240 6.2% 93.7%;
|
|
434
|
+
--sidebar-border: 270 5% 23.5%;
|
|
435
|
+
--md3-surface: #121113;
|
|
436
|
+
--md3-surface-dim: #121113;
|
|
437
|
+
--md3-surface-bright: #323035;
|
|
438
|
+
--md3-surface-container-lowest: #121113;
|
|
439
|
+
--md3-surface-container-low: #1a191b;
|
|
440
|
+
--md3-surface-container: #1a191b;
|
|
441
|
+
--md3-surface-container-high: #232225;
|
|
442
|
+
--md3-surface-container-highest: #2b292d;
|
|
443
|
+
--md3-surface-variant: #232225;
|
|
444
|
+
--md3-on-surface: #eeeef0;
|
|
445
|
+
--md3-on-surface-variant: #b5b2bc;
|
|
446
|
+
--md3-outline: #6f6d78;
|
|
447
|
+
--md3-outline-variant: #3c393f;
|
|
448
|
+
--depth-1: #121113;
|
|
449
|
+
--depth-2: #1a191b;
|
|
450
|
+
--depth-3: #232225;
|
|
451
|
+
--depth-4: #2b292d;
|
|
452
|
+
--bg-root: #121113;
|
|
453
|
+
--bg-dark: #121113;
|
|
454
|
+
--bg-elevated: #232225;
|
|
455
|
+
--bg-section: #121113;
|
|
456
|
+
--bg-input: #1a191b;
|
|
457
|
+
--bg-hover: #232225;
|
|
458
|
+
--text-primary: #eeeef0;
|
|
459
|
+
--text-secondary: #eeeef0;
|
|
460
|
+
--text-muted: #b5b2bc;
|
|
461
|
+
--text-dim: #b5b2bc;
|
|
462
|
+
--border-subtle: #3c393f;
|
|
463
|
+
--border-default: #49474e;
|
|
464
|
+
--border-hover: #625f69;
|
|
465
|
+
--shadow-card: inset 0 0 0 1px rgb(255 255 255 / 0.06);
|
|
466
|
+
--shadow-dropdown: inset 0 0 0 1px rgb(255 255 255 / 0.08), 0 8px 24px rgb(0 0 0 / 0.5);
|
|
467
|
+
--shadow-overlay: inset 0 0 0 1px rgb(255 255 255 / 0.1), 0 16px 48px rgb(0 0 0 / 0.6);
|
|
468
|
+
}
|
|
469
|
+
[data-theme="agents-light"] {
|
|
470
|
+
--bg-card: #ffffff;
|
|
471
|
+
--hsl-background: 0 0% 100%;
|
|
472
|
+
--hsl-foreground: 257 10.1% 13.5%;
|
|
473
|
+
--hsl-card: 0 0% 100%;
|
|
474
|
+
--hsl-card-foreground: 257 10.1% 13.5%;
|
|
475
|
+
--hsl-popover: 0 0% 100%;
|
|
476
|
+
--hsl-popover-foreground: 257 10.1% 13.5%;
|
|
477
|
+
--hsl-secondary: 285 14.3% 94.5%;
|
|
478
|
+
--hsl-secondary-foreground: 257 10.1% 13.5%;
|
|
479
|
+
--hsl-muted: 285 14.3% 94.5%;
|
|
480
|
+
--hsl-muted-foreground: 252 4.8% 40.8%;
|
|
481
|
+
--hsl-accent: 276 11.6% 91.6%;
|
|
482
|
+
--hsl-accent-foreground: 257 10.1% 13.5%;
|
|
483
|
+
--hsl-border: 262 11.4% 86.3%;
|
|
484
|
+
--hsl-input: 249 6% 57.5%;
|
|
485
|
+
--sidebar-background: 270 20% 98%;
|
|
486
|
+
--sidebar-foreground: 257 10.1% 13.5%;
|
|
487
|
+
--sidebar-accent: 276 11.6% 91.6%;
|
|
488
|
+
--sidebar-accent-foreground: 257 10.1% 13.5%;
|
|
489
|
+
--sidebar-border: 262 11.4% 86.3%;
|
|
490
|
+
--md3-surface: #ffffff;
|
|
491
|
+
--md3-surface-dim: #faf9fb;
|
|
492
|
+
--md3-surface-bright: #ffffff;
|
|
493
|
+
--md3-surface-container-lowest: #ffffff;
|
|
494
|
+
--md3-surface-container-low: #faf9fb;
|
|
495
|
+
--md3-surface-container: #ffffff;
|
|
496
|
+
--md3-surface-container-high: #f2eff3;
|
|
497
|
+
--md3-surface-container-highest: #ffffff;
|
|
498
|
+
--md3-surface-variant: #f2eff3;
|
|
499
|
+
--md3-on-surface: #211f26;
|
|
500
|
+
--md3-on-surface-variant: #65636d;
|
|
501
|
+
--md3-outline: #8e8c99;
|
|
502
|
+
--md3-outline-variant: #dbd8e0;
|
|
503
|
+
--depth-1: #ffffff;
|
|
504
|
+
--depth-2: #ffffff;
|
|
505
|
+
--depth-3: #faf9fb;
|
|
506
|
+
--depth-4: #ffffff;
|
|
507
|
+
--bg-root: #ffffff;
|
|
508
|
+
--bg-dark: #faf9fb;
|
|
509
|
+
--bg-elevated: #ffffff;
|
|
510
|
+
--bg-section: #faf9fb;
|
|
511
|
+
--bg-input: #ffffff;
|
|
512
|
+
--bg-hover: #f2eff3;
|
|
513
|
+
--text-primary: #211f26;
|
|
514
|
+
--text-secondary: #211f26;
|
|
515
|
+
--text-muted: #65636d;
|
|
516
|
+
--text-dim: #65636d;
|
|
517
|
+
--border-subtle: #dbd8e0;
|
|
518
|
+
--border-default: #d0cdd7;
|
|
519
|
+
--border-hover: #bcbac7;
|
|
520
|
+
--shadow-card: 0 0 0 1px rgb(33 31 38 / 0.03), 0 2px 6px rgb(33 31 38 / 0.05), 0 4px 8px rgb(33 31 38 / 0.08);
|
|
521
|
+
--shadow-dropdown: 0 0 0 1px rgb(33 31 38 / 0.04), 0 6px 16px rgb(33 31 38 / 0.12);
|
|
522
|
+
--shadow-overlay: 0 8px 28px rgb(33 31 38 / 0.28);
|
|
523
|
+
}
|
|
524
|
+
/* agents:end */
|
|
525
|
+
|
|
526
|
+
/* ───────────────────── Website — indigo night, indigo paper ───────────────────
|
|
527
|
+
* The public site's identity (tangle.tools): an indigo-tinted surface ladder in
|
|
528
|
+
* dark and cool indigo paper in light. Only the planes and ink change; the Tangle
|
|
529
|
+
* accent, status, category and syntax tones stay canonical.
|
|
530
|
+
*
|
|
531
|
+
* Apply `class="dark" data-theme="website"` on <html>. A section that reads as
|
|
532
|
+
* paper (long-form, editorial) sets `data-theme="website"` without `.dark` and
|
|
533
|
+
* becomes a complete light island; tokens.css seeds both modes with the
|
|
534
|
+
* canonical baselines, as it does Hospitality. The two blocks declare the same
|
|
535
|
+
* properties, so nothing from one mode survives into the other. */
|
|
536
|
+
[data-theme="website"]:where(:not(.dark)) {
|
|
537
|
+
--hsl-background: 240 42.9% 97.3%; --hsl-foreground: 224 18% 12%;
|
|
538
|
+
--hsl-card: 0 0% 100%; --hsl-card-foreground: 224 18% 12%;
|
|
539
|
+
--hsl-popover: 0 0% 100%; --hsl-popover-foreground: 224 18% 12%;
|
|
540
|
+
--hsl-secondary: 240 35.7% 94.5%; --hsl-secondary-foreground: 224 18% 12%;
|
|
541
|
+
--hsl-muted: 240 35.7% 94.5%; --hsl-muted-foreground: 240 13% 42.4%;
|
|
542
|
+
--hsl-accent: 240 23.1% 92.4%; --hsl-accent-foreground: 224 18% 12%;
|
|
543
|
+
--hsl-border: 240 26.3% 88.8%; --hsl-input: 240 42.9% 97.3%;
|
|
544
|
+
--md3-surface: #f5f5fb; --md3-surface-dim: #e7e7f0; --md3-surface-bright: #ffffff;
|
|
545
|
+
--md3-surface-container-lowest: #ffffff; --md3-surface-container-low: #fafafd;
|
|
546
|
+
--md3-surface-container: #ffffff; --md3-surface-container-high: #ececf6;
|
|
547
|
+
--md3-surface-container-highest: #ffffff; --md3-surface-variant: #ececf6;
|
|
548
|
+
--md3-on-surface: #191c24; --md3-on-surface-variant: #5e5e7a;
|
|
549
|
+
--md3-outline: #5e5e7a; --md3-outline-variant: #dbdbea;
|
|
550
|
+
--depth-1: #f5f5fb; --depth-2: #ffffff; --depth-3: #ececf6; --depth-4: #ffffff;
|
|
551
|
+
--bg-root: #f5f5fb; --bg-dark: #f5f5fb; --bg-section: #ececf6;
|
|
552
|
+
--bg-card: #ffffff; --bg-elevated: #ffffff; --bg-input: #f5f5fb;
|
|
553
|
+
--border-subtle: rgba(25, 28, 36, 0.08); --border-default: rgba(25, 28, 36, 0.12);
|
|
554
|
+
--border-hover: rgba(25, 28, 36, 0.24);
|
|
555
|
+
--text-primary: #191c24; --text-secondary: #3a3a50; --text-muted: #5e5e7a; --text-dim: #5e5e7a;
|
|
556
|
+
}
|
|
557
|
+
.dark[data-theme="website"] {
|
|
558
|
+
--hsl-background: 243 45% 7.8%; --hsl-foreground: 0 0% 99.2%;
|
|
559
|
+
--hsl-card: 244 34.9% 16.3%; --hsl-card-foreground: 0 0% 99.2%;
|
|
560
|
+
--hsl-popover: 243 33.3% 21.2%; --hsl-popover-foreground: 0 0% 99.2%;
|
|
561
|
+
--hsl-secondary: 244 34% 19%; --hsl-secondary-foreground: 0 0% 99.2%;
|
|
562
|
+
--hsl-muted: 244 34% 19%; --hsl-muted-foreground: 237 23% 65.9%;
|
|
563
|
+
--hsl-accent: 243 33.3% 21.2%; --hsl-accent-foreground: 0 0% 99.2%;
|
|
564
|
+
--hsl-border: 243 31.9% 28.2%; --hsl-input: 243 41.2% 10%;
|
|
565
|
+
--md3-surface: #0c0b1d; --md3-surface-dim: #080814; --md3-surface-bright: #2e2c56;
|
|
566
|
+
--md3-surface-container-lowest: #080814; --md3-surface-container-low: #141328;
|
|
567
|
+
--md3-surface-container: #1d1b38; --md3-surface-container-high: #222041;
|
|
568
|
+
--md3-surface-container-highest: #262448; --md3-surface-variant: #222041;
|
|
569
|
+
--md3-on-surface: #fdfdfd; --md3-on-surface-variant: #aaa8b8;
|
|
570
|
+
--md3-outline: #9496bc; --md3-outline-variant: #33315f;
|
|
571
|
+
--depth-1: #0c0b1d; --depth-2: #1d1b38; --depth-3: #222041; --depth-4: #262448;
|
|
572
|
+
--bg-root: #0c0b1d; --bg-dark: #0c0b1d; --bg-section: #141328;
|
|
573
|
+
--bg-card: #1d1b38; --bg-elevated: #262448; --bg-input: #100f24;
|
|
574
|
+
--border-subtle: rgba(255, 255, 255, 0.08); --border-default: rgba(255, 255, 255, 0.15);
|
|
575
|
+
--border-hover: rgba(255, 255, 255, 0.28);
|
|
576
|
+
--text-primary: #fdfdfd; --text-secondary: #aaa8b8; --text-muted: #9496bc; --text-dim: #9496bc;
|
|
577
|
+
}
|