@syncupsuite/themes 0.2.2 → 0.3.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/dist/index.cjs +11527 -1399
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +11520 -1398
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/art-deco/meta.json +50 -0
- package/src/art-deco/tailwind.css +391 -0
- package/src/art-deco/tokens.css +319 -0
- package/src/art-deco/tokens.json +840 -0
- package/src/nihon-minimal/meta.json +44 -0
- package/src/nihon-minimal/tailwind.css +361 -0
- package/src/nihon-minimal/tokens.css +299 -0
- package/src/nihon-minimal/tokens.json +780 -0
- package/src/nihon-traditional/meta.json +1 -1
- package/src/nihon-traditional/tailwind.css +111 -89
- package/src/nihon-traditional/tokens.css +105 -91
- package/src/nihon-traditional/tokens.json +89 -89
- package/src/nordic-modern/meta.json +56 -0
- package/src/nordic-modern/tailwind.css +421 -0
- package/src/nordic-modern/tokens.css +339 -0
- package/src/nordic-modern/tokens.json +900 -0
- package/src/renaissance/meta.json +56 -0
- package/src/renaissance/tailwind.css +421 -0
- package/src/renaissance/tokens.css +339 -0
- package/src/renaissance/tokens.json +900 -0
- package/src/shuimo-modern/meta.json +56 -0
- package/src/shuimo-modern/tailwind.css +421 -0
- package/src/shuimo-modern/tokens.css +339 -0
- package/src/shuimo-modern/tokens.json +900 -0
- package/src/swiss-international/meta.json +1 -1
- package/src/swiss-international/tailwind.css +107 -85
- package/src/swiss-international/tokens.css +101 -87
- package/src/swiss-international/tokens.json +85 -85
- package/src/tang-imperial/meta.json +56 -0
- package/src/tang-imperial/tailwind.css +421 -0
- package/src/tang-imperial/tokens.css +339 -0
- package/src/tang-imperial/tokens.json +900 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "shuimo-modern",
|
|
3
|
+
"name": "Shuǐmò Modern (水墨)",
|
|
4
|
+
"description": "Shuǐmò Modern (水墨) — Chinese ink wash painting reimagined for digital interfaces, where emptiness speaks as loudly as mark-making",
|
|
5
|
+
"foundation": {
|
|
6
|
+
"story": "Shuǐmò (水墨, water-ink) painting distills landscape and emotion to pure tonality — ink diluted across paper, from jet black to pale wash. Originating in Tang Dynasty and perfected through Song and Yuan masters like Mi Fu and Ni Zan, it values the space between strokes. This modern interpretation preserves the tonal hierarchy while adding mineral pigment accents from traditional palette practice.",
|
|
7
|
+
"philosophy": "留白 (Liúbái) — the eloquence of empty space; what is left unpainted matters as much as what is painted",
|
|
8
|
+
"era": "Tang Dynasty (618 CE) through contemporary ink art",
|
|
9
|
+
"harmonyMode": "monochromatic",
|
|
10
|
+
"radiusTendency": "subtle",
|
|
11
|
+
"typographyCategory": "humanist-serif"
|
|
12
|
+
},
|
|
13
|
+
"seedColors": [
|
|
14
|
+
{
|
|
15
|
+
"hex": "#151413",
|
|
16
|
+
"name": "Mò Shí (墨石)",
|
|
17
|
+
"tradition": "Ink stone — the She inkstone (歙砚) from Anhui, on which solid ink sticks are ground with water to create painting medium. Nearly black, with a warm undertone from soot and animal glue.",
|
|
18
|
+
"source": "The Art of Chinese Calligraphy, Jean Long"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"hex": "#F4EFE1",
|
|
22
|
+
"name": "Xuān Zhǐ (宣紙)",
|
|
23
|
+
"tradition": "Xuan paper ground — the warm, absorbent surface that receives ink wash. Its tone is alive, never sterile white.",
|
|
24
|
+
"source": "Paper and Printing (Science and Civilisation in China), Tsien Tsuen-Hsuin"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"hex": "#4A6FA5",
|
|
28
|
+
"name": "Qīng Huā (青花)",
|
|
29
|
+
"tradition": "Blue-and-white mineral cobalt from Song Dynasty ceramics. The only chromatic color regularly paired with ink wash in literati painting traditions.",
|
|
30
|
+
"source": "Chinese Ceramics: From the Paleolithic Period to the Qing Dynasty, Li Zhiyan"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"hex": "#B5473E",
|
|
34
|
+
"name": "Zhū Yìn (朱印)",
|
|
35
|
+
"tradition": "Cinnabar seal impression — the vermilion chop mark stamped on finished paintings, the artist's signature in red against ink monochrome.",
|
|
36
|
+
"source": "Artists' Seals in Chinese Painting, Wang Fangyu"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"hex": "#8B8680",
|
|
40
|
+
"name": "Yān Huī (烟灰)",
|
|
41
|
+
"tradition": "Smoke ash grey — the color of incense residue in a scholar's studio, where painting was a meditative practice.",
|
|
42
|
+
"source": "Elegant Gathering of the Chinese Literati, Li Chu-tsing"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"hex": "#5E8C6E",
|
|
46
|
+
"name": "Qīng Zhú (青竹)",
|
|
47
|
+
"tradition": "Bamboo green — the living frame around ink paintings. Bamboo was both subject and symbol: flexible, hollow, upright. One of the Four Gentlemen (四君子).",
|
|
48
|
+
"source": "The Mustard Seed Garden Manual of Painting, Wang Gai"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"validation": {
|
|
52
|
+
"schema": true,
|
|
53
|
+
"contrast": true,
|
|
54
|
+
"completeness": true
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
|
|
3
|
+
@theme {
|
|
4
|
+
/* --- Colors --- */
|
|
5
|
+
/* Mò Shí (墨石) 50 */
|
|
6
|
+
--color-m-sh-50: #F5F5F5;
|
|
7
|
+
/* Mò Shí (墨石) 100 */
|
|
8
|
+
--color-m-sh-100: #C3C2C1;
|
|
9
|
+
/* Mò Shí (墨石) 200 */
|
|
10
|
+
--color-m-sh-200: #929291;
|
|
11
|
+
/* Mò Shí (墨石) 300 */
|
|
12
|
+
--color-m-sh-300: #656463;
|
|
13
|
+
/* Mò Shí (墨石) 400 */
|
|
14
|
+
--color-m-sh-400: #3B3A39;
|
|
15
|
+
/* Mò Shí (墨石) 500 */
|
|
16
|
+
--color-m-sh-500: #151413;
|
|
17
|
+
/* Mò Shí (墨石) 600 */
|
|
18
|
+
--color-m-sh-600: #11100F;
|
|
19
|
+
/* Mò Shí (墨石) 700 */
|
|
20
|
+
--color-m-sh-700: #0D0C0B;
|
|
21
|
+
/* Mò Shí (墨石) 800 */
|
|
22
|
+
--color-m-sh-800: #090908;
|
|
23
|
+
/* Mò Shí (墨石) 900 */
|
|
24
|
+
--color-m-sh-900: #060605;
|
|
25
|
+
/* Xuān Zhǐ (宣紙) 50 */
|
|
26
|
+
--color-xu-n-zh-50: #F6F5F1;
|
|
27
|
+
/* Xuān Zhǐ (宣紙) 100 */
|
|
28
|
+
--color-xu-n-zh-100: #F6F4EE;
|
|
29
|
+
/* Xuān Zhǐ (宣紙) 200 */
|
|
30
|
+
--color-xu-n-zh-200: #F5F3EB;
|
|
31
|
+
/* Xuān Zhǐ (宣紙) 300 */
|
|
32
|
+
--color-xu-n-zh-300: #F5F1E8;
|
|
33
|
+
/* Xuān Zhǐ (宣紙) 400 */
|
|
34
|
+
--color-xu-n-zh-400: #F4F0E4;
|
|
35
|
+
/* Xuān Zhǐ (宣紙) 500 */
|
|
36
|
+
--color-xu-n-zh-500: #F4EFE1;
|
|
37
|
+
/* Xuān Zhǐ (宣紙) 600 */
|
|
38
|
+
--color-xu-n-zh-600: #B0ACA0;
|
|
39
|
+
/* Xuān Zhǐ (宣紙) 700 */
|
|
40
|
+
--color-xu-n-zh-700: #716D64;
|
|
41
|
+
/* Xuān Zhǐ (宣紙) 800 */
|
|
42
|
+
--color-xu-n-zh-800: #37352D;
|
|
43
|
+
/* Xuān Zhǐ (宣紙) 900 */
|
|
44
|
+
--color-xu-n-zh-900: #070603;
|
|
45
|
+
/* Qīng Huā (青花) 50 */
|
|
46
|
+
--color-q-ng-hu-50: #EBF6FF;
|
|
47
|
+
/* Qīng Huā (青花) 100 */
|
|
48
|
+
--color-q-ng-hu-100: #C9DAF2;
|
|
49
|
+
/* Qīng Huā (青花) 200 */
|
|
50
|
+
--color-q-ng-hu-200: #A8BFDF;
|
|
51
|
+
/* Qīng Huā (青花) 300 */
|
|
52
|
+
--color-q-ng-hu-300: #88A4CC;
|
|
53
|
+
/* Qīng Huā (青花) 400 */
|
|
54
|
+
--color-q-ng-hu-400: #6989B8;
|
|
55
|
+
/* Qīng Huā (青花) 500 */
|
|
56
|
+
--color-q-ng-hu-500: #4A6FA5;
|
|
57
|
+
/* Qīng Huā (青花) 600 */
|
|
58
|
+
--color-q-ng-hu-600: #31517F;
|
|
59
|
+
/* Qīng Huā (青花) 700 */
|
|
60
|
+
--color-q-ng-hu-700: #1A355C;
|
|
61
|
+
/* Qīng Huā (青花) 800 */
|
|
62
|
+
--color-q-ng-hu-800: #051B3A;
|
|
63
|
+
/* Qīng Huā (青花) 900 */
|
|
64
|
+
--color-q-ng-hu-900: #00041B;
|
|
65
|
+
/* Zhū Yìn (朱印) 50 */
|
|
66
|
+
--color-zh-y-n-50: #FFEDE8;
|
|
67
|
+
/* Zhū Yìn (朱印) 100 */
|
|
68
|
+
--color-zh-y-n-100: #FDCBC4;
|
|
69
|
+
/* Zhū Yìn (朱印) 200 */
|
|
70
|
+
--color-zh-y-n-200: #EDAAA2;
|
|
71
|
+
/* Zhū Yìn (朱印) 300 */
|
|
72
|
+
--color-zh-y-n-300: #DB8A80;
|
|
73
|
+
/* Zhū Yìn (朱印) 400 */
|
|
74
|
+
--color-zh-y-n-400: #C9695F;
|
|
75
|
+
/* Zhū Yìn (朱印) 500 */
|
|
76
|
+
--color-zh-y-n-500: #B5473E;
|
|
77
|
+
/* Zhū Yìn (朱印) 600 */
|
|
78
|
+
--color-zh-y-n-600: #8C2D26;
|
|
79
|
+
/* Zhū Yìn (朱印) 700 */
|
|
80
|
+
--color-zh-y-n-700: #651210;
|
|
81
|
+
/* Zhū Yìn (朱印) 800 */
|
|
82
|
+
--color-zh-y-n-800: #400000;
|
|
83
|
+
/* Zhū Yìn (朱印) 900 */
|
|
84
|
+
--color-zh-y-n-900: #1D0000;
|
|
85
|
+
/* Yān Huī (烟灰) 50 */
|
|
86
|
+
--color-y-n-hu-50: #F6F5F3;
|
|
87
|
+
/* Yān Huī (烟灰) 100 */
|
|
88
|
+
--color-y-n-hu-100: #E0DEDB;
|
|
89
|
+
/* Yān Huī (烟灰) 200 */
|
|
90
|
+
--color-y-n-hu-200: #CAC7C3;
|
|
91
|
+
/* Yān Huī (烟灰) 300 */
|
|
92
|
+
--color-y-n-hu-300: #B5B1AC;
|
|
93
|
+
/* Yān Huī (烟灰) 400 */
|
|
94
|
+
--color-y-n-hu-400: #A09B96;
|
|
95
|
+
/* Yān Huī (烟灰) 500 */
|
|
96
|
+
--color-y-n-hu-500: #8B8680;
|
|
97
|
+
/* Yān Huī (烟灰) 600 */
|
|
98
|
+
--color-y-n-hu-600: #66625C;
|
|
99
|
+
/* Yān Huī (烟灰) 700 */
|
|
100
|
+
--color-y-n-hu-700: #433F3B;
|
|
101
|
+
/* Yān Huī (烟灰) 800 */
|
|
102
|
+
--color-y-n-hu-800: #23201D;
|
|
103
|
+
/* Yān Huī (烟灰) 900 */
|
|
104
|
+
--color-y-n-hu-900: #070504;
|
|
105
|
+
/* Qīng Zhú (青竹) 50 */
|
|
106
|
+
--color-q-ng-zh-50: #EDF9F0;
|
|
107
|
+
/* Qīng Zhú (青竹) 100 */
|
|
108
|
+
--color-q-ng-zh-100: #CFE2D5;
|
|
109
|
+
/* Qīng Zhú (青竹) 200 */
|
|
110
|
+
--color-q-ng-zh-200: #B2CCBA;
|
|
111
|
+
/* Qīng Zhú (青竹) 300 */
|
|
112
|
+
--color-q-ng-zh-300: #96B6A0;
|
|
113
|
+
/* Qīng Zhú (青竹) 400 */
|
|
114
|
+
--color-q-ng-zh-400: #7AA187;
|
|
115
|
+
/* Qīng Zhú (青竹) 500 */
|
|
116
|
+
--color-q-ng-zh-500: #5E8C6E;
|
|
117
|
+
/* Qīng Zhú (青竹) 600 */
|
|
118
|
+
--color-q-ng-zh-600: #40684E;
|
|
119
|
+
/* Qīng Zhú (青竹) 700 */
|
|
120
|
+
--color-q-ng-zh-700: #234530;
|
|
121
|
+
/* Qīng Zhú (青竹) 800 */
|
|
122
|
+
--color-q-ng-zh-800: #082615;
|
|
123
|
+
/* Qīng Zhú (青竹) 900 */
|
|
124
|
+
--color-q-ng-zh-900: #000902;
|
|
125
|
+
/* Neutral 50 */
|
|
126
|
+
--color-neutral-50: #FDF7F1;
|
|
127
|
+
/* Neutral 100 */
|
|
128
|
+
--color-neutral-100: #F3EDE8;
|
|
129
|
+
/* Neutral 200 */
|
|
130
|
+
--color-neutral-200: #E3DDD7;
|
|
131
|
+
/* Neutral 300 */
|
|
132
|
+
--color-neutral-300: #C9C3BD;
|
|
133
|
+
/* Neutral 400 */
|
|
134
|
+
--color-neutral-400: #9D9792;
|
|
135
|
+
/* Neutral 500 */
|
|
136
|
+
--color-neutral-500: #736E69;
|
|
137
|
+
/* Neutral 600 */
|
|
138
|
+
--color-neutral-600: #514C47;
|
|
139
|
+
/* Neutral 700 */
|
|
140
|
+
--color-neutral-700: #36322D;
|
|
141
|
+
/* Neutral 800 */
|
|
142
|
+
--color-neutral-800: #1E1A16;
|
|
143
|
+
/* Neutral 900 */
|
|
144
|
+
--color-neutral-900: #0A0704;
|
|
145
|
+
/* Accent 50 */
|
|
146
|
+
--color-accent-50: #F9F4F0;
|
|
147
|
+
/* Accent 100 */
|
|
148
|
+
--color-accent-100: #D6CFC8;
|
|
149
|
+
/* Accent 200 */
|
|
150
|
+
--color-accent-200: #B4ABA2;
|
|
151
|
+
/* Accent 300 */
|
|
152
|
+
--color-accent-300: #94887D;
|
|
153
|
+
/* Accent 400 */
|
|
154
|
+
--color-accent-400: #74675A;
|
|
155
|
+
/* Accent 500 */
|
|
156
|
+
--color-accent-500: #564739;
|
|
157
|
+
/* Accent 600 */
|
|
158
|
+
--color-accent-600: #413428;
|
|
159
|
+
/* Accent 700 */
|
|
160
|
+
--color-accent-700: #2E2319;
|
|
161
|
+
/* Accent 800 */
|
|
162
|
+
--color-accent-800: #1B120A;
|
|
163
|
+
/* Accent 900 */
|
|
164
|
+
--color-accent-900: #0A0501;
|
|
165
|
+
|
|
166
|
+
/* --- Spacing (8px grid) --- */
|
|
167
|
+
/* Spacing 0 (0px) */
|
|
168
|
+
--spacing-0: 0px;
|
|
169
|
+
/* Spacing 1 (4px) */
|
|
170
|
+
--spacing-1: 4px;
|
|
171
|
+
/* Spacing 2 (8px) */
|
|
172
|
+
--spacing-2: 8px;
|
|
173
|
+
/* Spacing 3 (12px) */
|
|
174
|
+
--spacing-3: 12px;
|
|
175
|
+
/* Spacing 4 (16px) */
|
|
176
|
+
--spacing-4: 16px;
|
|
177
|
+
/* Spacing 5 (20px) */
|
|
178
|
+
--spacing-5: 20px;
|
|
179
|
+
/* Spacing 6 (24px) */
|
|
180
|
+
--spacing-6: 24px;
|
|
181
|
+
/* Spacing 8 (32px) */
|
|
182
|
+
--spacing-8: 32px;
|
|
183
|
+
/* Spacing 10 (40px) */
|
|
184
|
+
--spacing-10: 40px;
|
|
185
|
+
/* Spacing 12 (48px) */
|
|
186
|
+
--spacing-12: 48px;
|
|
187
|
+
/* Spacing 16 (64px) */
|
|
188
|
+
--spacing-16: 64px;
|
|
189
|
+
/* Spacing 20 (80px) */
|
|
190
|
+
--spacing-20: 80px;
|
|
191
|
+
/* Spacing 0.5 (2px) */
|
|
192
|
+
--spacing-0-5: 2px;
|
|
193
|
+
/* Spacing 1.5 (6px) */
|
|
194
|
+
--spacing-1-5: 6px;
|
|
195
|
+
|
|
196
|
+
/* --- Font Families --- */
|
|
197
|
+
/* Heading font family */
|
|
198
|
+
--font-heading: "Noto Serif JP", "Noto Serif", Georgia, serif;
|
|
199
|
+
/* Body font family */
|
|
200
|
+
--font-body: "Noto Serif JP", "Noto Serif", Georgia, serif;
|
|
201
|
+
/* Monospace font family */
|
|
202
|
+
--font-mono: "JetBrains Mono", "Fira Code", monospace;
|
|
203
|
+
|
|
204
|
+
/* --- Font Sizes --- */
|
|
205
|
+
/* Font size xs */
|
|
206
|
+
--text-xs: 0.75rem;
|
|
207
|
+
/* Font size sm */
|
|
208
|
+
--text-sm: 0.875rem;
|
|
209
|
+
/* Font size base */
|
|
210
|
+
--text-base: 1rem;
|
|
211
|
+
/* Font size lg */
|
|
212
|
+
--text-lg: 1.125rem;
|
|
213
|
+
/* Font size xl */
|
|
214
|
+
--text-xl: 1.25rem;
|
|
215
|
+
/* Font size 2xl */
|
|
216
|
+
--text-2xl: 1.5rem;
|
|
217
|
+
/* Font size 3xl */
|
|
218
|
+
--text-3xl: 1.875rem;
|
|
219
|
+
/* Font size 4xl */
|
|
220
|
+
--text-4xl: 2.25rem;
|
|
221
|
+
|
|
222
|
+
/* --- Border Radius --- */
|
|
223
|
+
/* Border radius none */
|
|
224
|
+
--radius-none: 0px;
|
|
225
|
+
/* Border radius sm */
|
|
226
|
+
--radius-sm: 2px;
|
|
227
|
+
/* Border radius md */
|
|
228
|
+
--radius-md: 4px;
|
|
229
|
+
/* Border radius lg */
|
|
230
|
+
--radius-lg: 6px;
|
|
231
|
+
/* Border radius xl */
|
|
232
|
+
--radius-xl: 8px;
|
|
233
|
+
/* Border radius full */
|
|
234
|
+
--radius-full: 9999px;
|
|
235
|
+
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/* === Semantic Color API — theme-aware Tailwind utilities === */
|
|
239
|
+
@theme {
|
|
240
|
+
--color-canvas: var(--background-canvas);
|
|
241
|
+
--color-surface: var(--background-surface);
|
|
242
|
+
--color-muted: var(--background-muted);
|
|
243
|
+
--color-foreground: var(--text-primary);
|
|
244
|
+
--color-foreground-secondary: var(--text-secondary);
|
|
245
|
+
--color-foreground-muted: var(--text-muted);
|
|
246
|
+
--color-foreground-inverse: var(--text-inverse);
|
|
247
|
+
--color-primary: var(--interactive-primary);
|
|
248
|
+
--color-primary-hover: var(--interactive-primary-hover);
|
|
249
|
+
--color-primary-active: var(--interactive-primary-active);
|
|
250
|
+
--color-border: var(--border-default);
|
|
251
|
+
--color-border-strong: var(--border-strong);
|
|
252
|
+
--color-error: var(--status-error);
|
|
253
|
+
--color-success: var(--status-success);
|
|
254
|
+
--color-warning: var(--status-warning);
|
|
255
|
+
--color-info: var(--status-info);
|
|
256
|
+
--color-ring: var(--focus-ring);
|
|
257
|
+
--color-focus-visible: var(--accessibility-focus-visible);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/* Primitive aliases + light mode semantic tokens */
|
|
261
|
+
:root {
|
|
262
|
+
/* --primitive-color-* aliases → @theme --color-* (for semantic var() resolution) */
|
|
263
|
+
--primitive-color-m-sh-50: var(--color-m-sh-50);
|
|
264
|
+
--primitive-color-m-sh-100: var(--color-m-sh-100);
|
|
265
|
+
--primitive-color-m-sh-200: var(--color-m-sh-200);
|
|
266
|
+
--primitive-color-m-sh-300: var(--color-m-sh-300);
|
|
267
|
+
--primitive-color-m-sh-400: var(--color-m-sh-400);
|
|
268
|
+
--primitive-color-m-sh-500: var(--color-m-sh-500);
|
|
269
|
+
--primitive-color-m-sh-600: var(--color-m-sh-600);
|
|
270
|
+
--primitive-color-m-sh-700: var(--color-m-sh-700);
|
|
271
|
+
--primitive-color-m-sh-800: var(--color-m-sh-800);
|
|
272
|
+
--primitive-color-m-sh-900: var(--color-m-sh-900);
|
|
273
|
+
--primitive-color-xu-n-zh-50: var(--color-xu-n-zh-50);
|
|
274
|
+
--primitive-color-xu-n-zh-100: var(--color-xu-n-zh-100);
|
|
275
|
+
--primitive-color-xu-n-zh-200: var(--color-xu-n-zh-200);
|
|
276
|
+
--primitive-color-xu-n-zh-300: var(--color-xu-n-zh-300);
|
|
277
|
+
--primitive-color-xu-n-zh-400: var(--color-xu-n-zh-400);
|
|
278
|
+
--primitive-color-xu-n-zh-500: var(--color-xu-n-zh-500);
|
|
279
|
+
--primitive-color-xu-n-zh-600: var(--color-xu-n-zh-600);
|
|
280
|
+
--primitive-color-xu-n-zh-700: var(--color-xu-n-zh-700);
|
|
281
|
+
--primitive-color-xu-n-zh-800: var(--color-xu-n-zh-800);
|
|
282
|
+
--primitive-color-xu-n-zh-900: var(--color-xu-n-zh-900);
|
|
283
|
+
--primitive-color-q-ng-hu-50: var(--color-q-ng-hu-50);
|
|
284
|
+
--primitive-color-q-ng-hu-100: var(--color-q-ng-hu-100);
|
|
285
|
+
--primitive-color-q-ng-hu-200: var(--color-q-ng-hu-200);
|
|
286
|
+
--primitive-color-q-ng-hu-300: var(--color-q-ng-hu-300);
|
|
287
|
+
--primitive-color-q-ng-hu-400: var(--color-q-ng-hu-400);
|
|
288
|
+
--primitive-color-q-ng-hu-500: var(--color-q-ng-hu-500);
|
|
289
|
+
--primitive-color-q-ng-hu-600: var(--color-q-ng-hu-600);
|
|
290
|
+
--primitive-color-q-ng-hu-700: var(--color-q-ng-hu-700);
|
|
291
|
+
--primitive-color-q-ng-hu-800: var(--color-q-ng-hu-800);
|
|
292
|
+
--primitive-color-q-ng-hu-900: var(--color-q-ng-hu-900);
|
|
293
|
+
--primitive-color-zh-y-n-50: var(--color-zh-y-n-50);
|
|
294
|
+
--primitive-color-zh-y-n-100: var(--color-zh-y-n-100);
|
|
295
|
+
--primitive-color-zh-y-n-200: var(--color-zh-y-n-200);
|
|
296
|
+
--primitive-color-zh-y-n-300: var(--color-zh-y-n-300);
|
|
297
|
+
--primitive-color-zh-y-n-400: var(--color-zh-y-n-400);
|
|
298
|
+
--primitive-color-zh-y-n-500: var(--color-zh-y-n-500);
|
|
299
|
+
--primitive-color-zh-y-n-600: var(--color-zh-y-n-600);
|
|
300
|
+
--primitive-color-zh-y-n-700: var(--color-zh-y-n-700);
|
|
301
|
+
--primitive-color-zh-y-n-800: var(--color-zh-y-n-800);
|
|
302
|
+
--primitive-color-zh-y-n-900: var(--color-zh-y-n-900);
|
|
303
|
+
--primitive-color-y-n-hu-50: var(--color-y-n-hu-50);
|
|
304
|
+
--primitive-color-y-n-hu-100: var(--color-y-n-hu-100);
|
|
305
|
+
--primitive-color-y-n-hu-200: var(--color-y-n-hu-200);
|
|
306
|
+
--primitive-color-y-n-hu-300: var(--color-y-n-hu-300);
|
|
307
|
+
--primitive-color-y-n-hu-400: var(--color-y-n-hu-400);
|
|
308
|
+
--primitive-color-y-n-hu-500: var(--color-y-n-hu-500);
|
|
309
|
+
--primitive-color-y-n-hu-600: var(--color-y-n-hu-600);
|
|
310
|
+
--primitive-color-y-n-hu-700: var(--color-y-n-hu-700);
|
|
311
|
+
--primitive-color-y-n-hu-800: var(--color-y-n-hu-800);
|
|
312
|
+
--primitive-color-y-n-hu-900: var(--color-y-n-hu-900);
|
|
313
|
+
--primitive-color-q-ng-zh-50: var(--color-q-ng-zh-50);
|
|
314
|
+
--primitive-color-q-ng-zh-100: var(--color-q-ng-zh-100);
|
|
315
|
+
--primitive-color-q-ng-zh-200: var(--color-q-ng-zh-200);
|
|
316
|
+
--primitive-color-q-ng-zh-300: var(--color-q-ng-zh-300);
|
|
317
|
+
--primitive-color-q-ng-zh-400: var(--color-q-ng-zh-400);
|
|
318
|
+
--primitive-color-q-ng-zh-500: var(--color-q-ng-zh-500);
|
|
319
|
+
--primitive-color-q-ng-zh-600: var(--color-q-ng-zh-600);
|
|
320
|
+
--primitive-color-q-ng-zh-700: var(--color-q-ng-zh-700);
|
|
321
|
+
--primitive-color-q-ng-zh-800: var(--color-q-ng-zh-800);
|
|
322
|
+
--primitive-color-q-ng-zh-900: var(--color-q-ng-zh-900);
|
|
323
|
+
--primitive-color-neutral-50: var(--color-neutral-50);
|
|
324
|
+
--primitive-color-neutral-100: var(--color-neutral-100);
|
|
325
|
+
--primitive-color-neutral-200: var(--color-neutral-200);
|
|
326
|
+
--primitive-color-neutral-300: var(--color-neutral-300);
|
|
327
|
+
--primitive-color-neutral-400: var(--color-neutral-400);
|
|
328
|
+
--primitive-color-neutral-500: var(--color-neutral-500);
|
|
329
|
+
--primitive-color-neutral-600: var(--color-neutral-600);
|
|
330
|
+
--primitive-color-neutral-700: var(--color-neutral-700);
|
|
331
|
+
--primitive-color-neutral-800: var(--color-neutral-800);
|
|
332
|
+
--primitive-color-neutral-900: var(--color-neutral-900);
|
|
333
|
+
--primitive-color-accent-50: var(--color-accent-50);
|
|
334
|
+
--primitive-color-accent-100: var(--color-accent-100);
|
|
335
|
+
--primitive-color-accent-200: var(--color-accent-200);
|
|
336
|
+
--primitive-color-accent-300: var(--color-accent-300);
|
|
337
|
+
--primitive-color-accent-400: var(--color-accent-400);
|
|
338
|
+
--primitive-color-accent-500: var(--color-accent-500);
|
|
339
|
+
--primitive-color-accent-600: var(--color-accent-600);
|
|
340
|
+
--primitive-color-accent-700: var(--color-accent-700);
|
|
341
|
+
--primitive-color-accent-800: var(--color-accent-800);
|
|
342
|
+
--primitive-color-accent-900: var(--color-accent-900);
|
|
343
|
+
|
|
344
|
+
/* Semantic tokens */
|
|
345
|
+
/* Page background */
|
|
346
|
+
--background-canvas: var(--primitive-color-neutral-50);
|
|
347
|
+
/* Card/surface background */
|
|
348
|
+
--background-surface: #FFFFFF;
|
|
349
|
+
/* Muted background */
|
|
350
|
+
--background-muted: var(--primitive-color-neutral-100);
|
|
351
|
+
/* Primary text */
|
|
352
|
+
--text-primary: var(--primitive-color-neutral-900);
|
|
353
|
+
/* Secondary text */
|
|
354
|
+
--text-secondary: var(--primitive-color-neutral-600);
|
|
355
|
+
/* Muted/disabled text */
|
|
356
|
+
--text-muted: var(--primitive-color-neutral-500);
|
|
357
|
+
/* Text on dark backgrounds */
|
|
358
|
+
--text-inverse: var(--primitive-color-neutral-50);
|
|
359
|
+
/* Primary interactive (buttons, links) */
|
|
360
|
+
--interactive-primary: var(--primitive-color-m-sh-500);
|
|
361
|
+
/* Primary interactive hover */
|
|
362
|
+
--interactive-primary-hover: var(--primitive-color-m-sh-600);
|
|
363
|
+
/* Primary interactive active */
|
|
364
|
+
--interactive-primary-active: var(--primitive-color-m-sh-700);
|
|
365
|
+
/* Default border */
|
|
366
|
+
--border-default: var(--primitive-color-neutral-200);
|
|
367
|
+
/* Strong border */
|
|
368
|
+
--border-strong: var(--primitive-color-neutral-400);
|
|
369
|
+
/* Error — WCAG-compliant red */
|
|
370
|
+
--status-error: #DC2626;
|
|
371
|
+
/* Success — WCAG-compliant green */
|
|
372
|
+
--status-success: #16A34A;
|
|
373
|
+
/* Warning — WCAG AA amber (4.5:1+ on white) */
|
|
374
|
+
--status-warning: #A16207;
|
|
375
|
+
/* Info status */
|
|
376
|
+
--status-info: var(--primitive-color-m-sh-500);
|
|
377
|
+
/* Focus ring color */
|
|
378
|
+
--focus-ring: var(--primitive-color-m-sh-500);
|
|
379
|
+
/* Keyboard focus indicator */
|
|
380
|
+
--accessibility-focus-visible: var(--primitive-color-m-sh-500);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/* Dark mode semantic tokens */
|
|
384
|
+
[data-theme="dark"] {
|
|
385
|
+
/* Page background — dark */
|
|
386
|
+
--background-canvas: var(--primitive-color-neutral-900);
|
|
387
|
+
/* Card/surface — dark */
|
|
388
|
+
--background-surface: var(--primitive-color-neutral-800);
|
|
389
|
+
/* Muted background — dark */
|
|
390
|
+
--background-muted: var(--primitive-color-neutral-700);
|
|
391
|
+
/* Primary text — dark */
|
|
392
|
+
--text-primary: var(--primitive-color-neutral-50);
|
|
393
|
+
/* Secondary text — dark */
|
|
394
|
+
--text-secondary: var(--primitive-color-neutral-300);
|
|
395
|
+
/* Muted text — dark */
|
|
396
|
+
--text-muted: var(--primitive-color-neutral-500);
|
|
397
|
+
/* Text on light backgrounds — dark */
|
|
398
|
+
--text-inverse: var(--primitive-color-neutral-900);
|
|
399
|
+
/* Primary interactive — dark */
|
|
400
|
+
--interactive-primary: var(--primitive-color-zh-y-n-400);
|
|
401
|
+
/* Primary hover — dark */
|
|
402
|
+
--interactive-primary-hover: var(--primitive-color-zh-y-n-300);
|
|
403
|
+
/* Primary active — dark */
|
|
404
|
+
--interactive-primary-active: var(--primitive-color-zh-y-n-200);
|
|
405
|
+
/* Default border — dark */
|
|
406
|
+
--border-default: var(--primitive-color-neutral-700);
|
|
407
|
+
/* Strong border — dark */
|
|
408
|
+
--border-strong: var(--primitive-color-neutral-500);
|
|
409
|
+
/* Error — WCAG-compliant red (dark) */
|
|
410
|
+
--status-error: #EF4444;
|
|
411
|
+
/* Success — WCAG-compliant green (dark) */
|
|
412
|
+
--status-success: #22C55E;
|
|
413
|
+
/* Warning — WCAG-compliant amber (dark) */
|
|
414
|
+
--status-warning: #EAB308;
|
|
415
|
+
/* Info — dark */
|
|
416
|
+
--status-info: var(--primitive-color-zh-y-n-400);
|
|
417
|
+
/* Focus ring — dark */
|
|
418
|
+
--focus-ring: var(--primitive-color-zh-y-n-400);
|
|
419
|
+
/* Keyboard focus — dark */
|
|
420
|
+
--accessibility-focus-visible: var(--primitive-color-zh-y-n-400);
|
|
421
|
+
}
|