@kenlo/kdls-design-system 2.9.0 → 2.9.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.
@@ -1,3 +1,1052 @@
1
+ /* Manrope — the default typeface, self-hosted inside the package.
2
+ GENERATED by scripts/gen-font.mjs — do not hand-edit. Run `npm run gen:font`.
3
+
4
+ Google's unicode-range lines are kept untouched, so a page downloads only the subset
5
+ it actually needs rather than every one.
6
+
7
+ @font-face and not @import: @import only counts before every other rule and is
8
+ dropped anywhere else, which is how the font used to disappear under Tailwind v4.
9
+
10
+ Local URLs, and these .woff2 ship in the npm package: the default must not
11
+ depend on any network beyond the app itself.
12
+
13
+ Licences: fonts/OFL.txt */
14
+
15
+ /* manrope · cyrillic-ext — 2.5KB */
16
+ @font-face {
17
+ font-family: 'Manrope';
18
+ font-style: normal;
19
+ font-weight: 200 800;
20
+ font-display: swap;
21
+ src: url('./fonts/manrope-cyrillic-ext.woff2') format('woff2');
22
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
23
+ }
24
+
25
+ /* manrope · cyrillic — 14.2KB */
26
+ @font-face {
27
+ font-family: 'Manrope';
28
+ font-style: normal;
29
+ font-weight: 200 800;
30
+ font-display: swap;
31
+ src: url('./fonts/manrope-cyrillic.woff2') format('woff2');
32
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
33
+ }
34
+
35
+ /* manrope · greek — 9.1KB */
36
+ @font-face {
37
+ font-family: 'Manrope';
38
+ font-style: normal;
39
+ font-weight: 200 800;
40
+ font-display: swap;
41
+ src: url('./fonts/manrope-greek.woff2') format('woff2');
42
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
43
+ }
44
+
45
+ /* manrope · vietnamese — 8.3KB */
46
+ @font-face {
47
+ font-family: 'Manrope';
48
+ font-style: normal;
49
+ font-weight: 200 800;
50
+ font-display: swap;
51
+ src: url('./fonts/manrope-vietnamese.woff2') format('woff2');
52
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
53
+ }
54
+
55
+ /* manrope · latin-ext — 14.9KB */
56
+ @font-face {
57
+ font-family: 'Manrope';
58
+ font-style: normal;
59
+ font-weight: 200 800;
60
+ font-display: swap;
61
+ src: url('./fonts/manrope-latin-ext.woff2') format('woff2');
62
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
63
+ }
64
+
65
+ /* manrope · latin — 24.0KB */
66
+ @font-face {
67
+ font-family: 'Manrope';
68
+ font-style: normal;
69
+ font-weight: 200 800;
70
+ font-display: swap;
71
+ src: url('./fonts/manrope-latin.woff2') format('woff2');
72
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
73
+ }
74
+
75
+ /* Optional data-font families, served from Kenlo infrastructure.
76
+ GENERATED by scripts/gen-font.mjs — do not hand-edit. Run `npm run gen:font`.
77
+
78
+ Google's unicode-range lines are kept untouched, so a page downloads only the subset
79
+ it actually needs rather than every one.
80
+
81
+ @font-face and not @import: @import only counts before every other rule and is
82
+ dropped anywhere else, which is how the font used to disappear under Tailwind v4.
83
+
84
+ These .woff2 are NOT in the npm package — they are published to Kenlo's bucket
85
+ by CI and shared with the SDS. Opt-in families should not weigh on consumers
86
+ that never select one.
87
+
88
+ Licences: fonts/OFL.txt */
89
+
90
+ /* inter · cyrillic-ext — 25.2KB */
91
+ @font-face {
92
+ font-family: 'Inter';
93
+ font-style: normal;
94
+ font-weight: 400;
95
+ font-display: swap;
96
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-cyrillic-ext.woff2') format('woff2');
97
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
98
+ }
99
+
100
+ /* inter · cyrillic — 18.3KB */
101
+ @font-face {
102
+ font-family: 'Inter';
103
+ font-style: normal;
104
+ font-weight: 400;
105
+ font-display: swap;
106
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-cyrillic.woff2') format('woff2');
107
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
108
+ }
109
+
110
+ /* inter · greek-ext — 11.0KB */
111
+ @font-face {
112
+ font-family: 'Inter';
113
+ font-style: normal;
114
+ font-weight: 400;
115
+ font-display: swap;
116
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-greek-ext.woff2') format('woff2');
117
+ unicode-range: U+1F00-1FFF;
118
+ }
119
+
120
+ /* inter · greek — 18.6KB */
121
+ @font-face {
122
+ font-family: 'Inter';
123
+ font-style: normal;
124
+ font-weight: 400;
125
+ font-display: swap;
126
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-greek.woff2') format('woff2');
127
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
128
+ }
129
+
130
+ /* inter · vietnamese — 10.0KB */
131
+ @font-face {
132
+ font-family: 'Inter';
133
+ font-style: normal;
134
+ font-weight: 400;
135
+ font-display: swap;
136
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-vietnamese.woff2') format('woff2');
137
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
138
+ }
139
+
140
+ /* inter · latin-ext — 83.3KB */
141
+ @font-face {
142
+ font-family: 'Inter';
143
+ font-style: normal;
144
+ font-weight: 400;
145
+ font-display: swap;
146
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-latin-ext.woff2') format('woff2');
147
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
148
+ }
149
+
150
+ /* inter · latin — 47.3KB */
151
+ @font-face {
152
+ font-family: 'Inter';
153
+ font-style: normal;
154
+ font-weight: 400;
155
+ font-display: swap;
156
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-latin.woff2') format('woff2');
157
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
158
+ }
159
+
160
+ /* inter · cyrillic-ext — 25.2KB */
161
+ @font-face {
162
+ font-family: 'Inter';
163
+ font-style: normal;
164
+ font-weight: 500;
165
+ font-display: swap;
166
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-cyrillic-ext.woff2') format('woff2');
167
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
168
+ }
169
+
170
+ /* inter · cyrillic — 18.3KB */
171
+ @font-face {
172
+ font-family: 'Inter';
173
+ font-style: normal;
174
+ font-weight: 500;
175
+ font-display: swap;
176
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-cyrillic.woff2') format('woff2');
177
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
178
+ }
179
+
180
+ /* inter · greek-ext — 11.0KB */
181
+ @font-face {
182
+ font-family: 'Inter';
183
+ font-style: normal;
184
+ font-weight: 500;
185
+ font-display: swap;
186
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-greek-ext.woff2') format('woff2');
187
+ unicode-range: U+1F00-1FFF;
188
+ }
189
+
190
+ /* inter · greek — 18.6KB */
191
+ @font-face {
192
+ font-family: 'Inter';
193
+ font-style: normal;
194
+ font-weight: 500;
195
+ font-display: swap;
196
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-greek.woff2') format('woff2');
197
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
198
+ }
199
+
200
+ /* inter · vietnamese — 10.0KB */
201
+ @font-face {
202
+ font-family: 'Inter';
203
+ font-style: normal;
204
+ font-weight: 500;
205
+ font-display: swap;
206
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-vietnamese.woff2') format('woff2');
207
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
208
+ }
209
+
210
+ /* inter · latin-ext — 83.3KB */
211
+ @font-face {
212
+ font-family: 'Inter';
213
+ font-style: normal;
214
+ font-weight: 500;
215
+ font-display: swap;
216
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-latin-ext.woff2') format('woff2');
217
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
218
+ }
219
+
220
+ /* inter · latin — 47.3KB */
221
+ @font-face {
222
+ font-family: 'Inter';
223
+ font-style: normal;
224
+ font-weight: 500;
225
+ font-display: swap;
226
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-latin.woff2') format('woff2');
227
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
228
+ }
229
+
230
+ /* inter · cyrillic-ext — 25.2KB */
231
+ @font-face {
232
+ font-family: 'Inter';
233
+ font-style: normal;
234
+ font-weight: 600;
235
+ font-display: swap;
236
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-cyrillic-ext.woff2') format('woff2');
237
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
238
+ }
239
+
240
+ /* inter · cyrillic — 18.3KB */
241
+ @font-face {
242
+ font-family: 'Inter';
243
+ font-style: normal;
244
+ font-weight: 600;
245
+ font-display: swap;
246
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-cyrillic.woff2') format('woff2');
247
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
248
+ }
249
+
250
+ /* inter · greek-ext — 11.0KB */
251
+ @font-face {
252
+ font-family: 'Inter';
253
+ font-style: normal;
254
+ font-weight: 600;
255
+ font-display: swap;
256
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-greek-ext.woff2') format('woff2');
257
+ unicode-range: U+1F00-1FFF;
258
+ }
259
+
260
+ /* inter · greek — 18.6KB */
261
+ @font-face {
262
+ font-family: 'Inter';
263
+ font-style: normal;
264
+ font-weight: 600;
265
+ font-display: swap;
266
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-greek.woff2') format('woff2');
267
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
268
+ }
269
+
270
+ /* inter · vietnamese — 10.0KB */
271
+ @font-face {
272
+ font-family: 'Inter';
273
+ font-style: normal;
274
+ font-weight: 600;
275
+ font-display: swap;
276
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-vietnamese.woff2') format('woff2');
277
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
278
+ }
279
+
280
+ /* inter · latin-ext — 83.3KB */
281
+ @font-face {
282
+ font-family: 'Inter';
283
+ font-style: normal;
284
+ font-weight: 600;
285
+ font-display: swap;
286
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-latin-ext.woff2') format('woff2');
287
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
288
+ }
289
+
290
+ /* inter · latin — 47.3KB */
291
+ @font-face {
292
+ font-family: 'Inter';
293
+ font-style: normal;
294
+ font-weight: 600;
295
+ font-display: swap;
296
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-latin.woff2') format('woff2');
297
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
298
+ }
299
+
300
+ /* inter · cyrillic-ext — 25.2KB */
301
+ @font-face {
302
+ font-family: 'Inter';
303
+ font-style: normal;
304
+ font-weight: 700;
305
+ font-display: swap;
306
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-cyrillic-ext.woff2') format('woff2');
307
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
308
+ }
309
+
310
+ /* inter · cyrillic — 18.3KB */
311
+ @font-face {
312
+ font-family: 'Inter';
313
+ font-style: normal;
314
+ font-weight: 700;
315
+ font-display: swap;
316
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-cyrillic.woff2') format('woff2');
317
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
318
+ }
319
+
320
+ /* inter · greek-ext — 11.0KB */
321
+ @font-face {
322
+ font-family: 'Inter';
323
+ font-style: normal;
324
+ font-weight: 700;
325
+ font-display: swap;
326
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-greek-ext.woff2') format('woff2');
327
+ unicode-range: U+1F00-1FFF;
328
+ }
329
+
330
+ /* inter · greek — 18.6KB */
331
+ @font-face {
332
+ font-family: 'Inter';
333
+ font-style: normal;
334
+ font-weight: 700;
335
+ font-display: swap;
336
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-greek.woff2') format('woff2');
337
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
338
+ }
339
+
340
+ /* inter · vietnamese — 10.0KB */
341
+ @font-face {
342
+ font-family: 'Inter';
343
+ font-style: normal;
344
+ font-weight: 700;
345
+ font-display: swap;
346
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-vietnamese.woff2') format('woff2');
347
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
348
+ }
349
+
350
+ /* inter · latin-ext — 83.3KB */
351
+ @font-face {
352
+ font-family: 'Inter';
353
+ font-style: normal;
354
+ font-weight: 700;
355
+ font-display: swap;
356
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-latin-ext.woff2') format('woff2');
357
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
358
+ }
359
+
360
+ /* inter · latin — 47.3KB */
361
+ @font-face {
362
+ font-family: 'Inter';
363
+ font-style: normal;
364
+ font-weight: 700;
365
+ font-display: swap;
366
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/inter-latin.woff2') format('woff2');
367
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
368
+ }
369
+
370
+ /* montserrat · cyrillic-ext — 23.5KB */
371
+ @font-face {
372
+ font-family: 'Montserrat';
373
+ font-style: normal;
374
+ font-weight: 400;
375
+ font-display: swap;
376
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-cyrillic-ext.woff2') format('woff2');
377
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
378
+ }
379
+
380
+ /* montserrat · cyrillic — 21.0KB */
381
+ @font-face {
382
+ font-family: 'Montserrat';
383
+ font-style: normal;
384
+ font-weight: 400;
385
+ font-display: swap;
386
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-cyrillic.woff2') format('woff2');
387
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
388
+ }
389
+
390
+ /* montserrat · vietnamese — 10.4KB */
391
+ @font-face {
392
+ font-family: 'Montserrat';
393
+ font-style: normal;
394
+ font-weight: 400;
395
+ font-display: swap;
396
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-vietnamese.woff2') format('woff2');
397
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
398
+ }
399
+
400
+ /* montserrat · latin-ext — 66.6KB */
401
+ @font-face {
402
+ font-family: 'Montserrat';
403
+ font-style: normal;
404
+ font-weight: 400;
405
+ font-display: swap;
406
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-latin-ext.woff2') format('woff2');
407
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
408
+ }
409
+
410
+ /* montserrat · latin — 34.7KB */
411
+ @font-face {
412
+ font-family: 'Montserrat';
413
+ font-style: normal;
414
+ font-weight: 400;
415
+ font-display: swap;
416
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-latin.woff2') format('woff2');
417
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
418
+ }
419
+
420
+ /* montserrat · cyrillic-ext — 23.5KB */
421
+ @font-face {
422
+ font-family: 'Montserrat';
423
+ font-style: normal;
424
+ font-weight: 500;
425
+ font-display: swap;
426
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-cyrillic-ext.woff2') format('woff2');
427
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
428
+ }
429
+
430
+ /* montserrat · cyrillic — 21.0KB */
431
+ @font-face {
432
+ font-family: 'Montserrat';
433
+ font-style: normal;
434
+ font-weight: 500;
435
+ font-display: swap;
436
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-cyrillic.woff2') format('woff2');
437
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
438
+ }
439
+
440
+ /* montserrat · vietnamese — 10.4KB */
441
+ @font-face {
442
+ font-family: 'Montserrat';
443
+ font-style: normal;
444
+ font-weight: 500;
445
+ font-display: swap;
446
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-vietnamese.woff2') format('woff2');
447
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
448
+ }
449
+
450
+ /* montserrat · latin-ext — 66.6KB */
451
+ @font-face {
452
+ font-family: 'Montserrat';
453
+ font-style: normal;
454
+ font-weight: 500;
455
+ font-display: swap;
456
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-latin-ext.woff2') format('woff2');
457
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
458
+ }
459
+
460
+ /* montserrat · latin — 34.7KB */
461
+ @font-face {
462
+ font-family: 'Montserrat';
463
+ font-style: normal;
464
+ font-weight: 500;
465
+ font-display: swap;
466
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-latin.woff2') format('woff2');
467
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
468
+ }
469
+
470
+ /* montserrat · cyrillic-ext — 23.5KB */
471
+ @font-face {
472
+ font-family: 'Montserrat';
473
+ font-style: normal;
474
+ font-weight: 600;
475
+ font-display: swap;
476
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-cyrillic-ext.woff2') format('woff2');
477
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
478
+ }
479
+
480
+ /* montserrat · cyrillic — 21.0KB */
481
+ @font-face {
482
+ font-family: 'Montserrat';
483
+ font-style: normal;
484
+ font-weight: 600;
485
+ font-display: swap;
486
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-cyrillic.woff2') format('woff2');
487
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
488
+ }
489
+
490
+ /* montserrat · vietnamese — 10.4KB */
491
+ @font-face {
492
+ font-family: 'Montserrat';
493
+ font-style: normal;
494
+ font-weight: 600;
495
+ font-display: swap;
496
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-vietnamese.woff2') format('woff2');
497
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
498
+ }
499
+
500
+ /* montserrat · latin-ext — 66.6KB */
501
+ @font-face {
502
+ font-family: 'Montserrat';
503
+ font-style: normal;
504
+ font-weight: 600;
505
+ font-display: swap;
506
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-latin-ext.woff2') format('woff2');
507
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
508
+ }
509
+
510
+ /* montserrat · latin — 34.7KB */
511
+ @font-face {
512
+ font-family: 'Montserrat';
513
+ font-style: normal;
514
+ font-weight: 600;
515
+ font-display: swap;
516
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-latin.woff2') format('woff2');
517
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
518
+ }
519
+
520
+ /* montserrat · cyrillic-ext — 23.5KB */
521
+ @font-face {
522
+ font-family: 'Montserrat';
523
+ font-style: normal;
524
+ font-weight: 700;
525
+ font-display: swap;
526
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-cyrillic-ext.woff2') format('woff2');
527
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
528
+ }
529
+
530
+ /* montserrat · cyrillic — 21.0KB */
531
+ @font-face {
532
+ font-family: 'Montserrat';
533
+ font-style: normal;
534
+ font-weight: 700;
535
+ font-display: swap;
536
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-cyrillic.woff2') format('woff2');
537
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
538
+ }
539
+
540
+ /* montserrat · vietnamese — 10.4KB */
541
+ @font-face {
542
+ font-family: 'Montserrat';
543
+ font-style: normal;
544
+ font-weight: 700;
545
+ font-display: swap;
546
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-vietnamese.woff2') format('woff2');
547
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
548
+ }
549
+
550
+ /* montserrat · latin-ext — 66.6KB */
551
+ @font-face {
552
+ font-family: 'Montserrat';
553
+ font-style: normal;
554
+ font-weight: 700;
555
+ font-display: swap;
556
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-latin-ext.woff2') format('woff2');
557
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
558
+ }
559
+
560
+ /* montserrat · latin — 34.7KB */
561
+ @font-face {
562
+ font-family: 'Montserrat';
563
+ font-style: normal;
564
+ font-weight: 700;
565
+ font-display: swap;
566
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/montserrat-latin.woff2') format('woff2');
567
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
568
+ }
569
+
570
+ /* nunito · cyrillic-ext — 28.2KB */
571
+ @font-face {
572
+ font-family: 'Nunito';
573
+ font-style: normal;
574
+ font-weight: 400;
575
+ font-display: swap;
576
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-cyrillic-ext.woff2') format('woff2');
577
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
578
+ }
579
+
580
+ /* nunito · cyrillic — 20.3KB */
581
+ @font-face {
582
+ font-family: 'Nunito';
583
+ font-style: normal;
584
+ font-weight: 400;
585
+ font-display: swap;
586
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-cyrillic.woff2') format('woff2');
587
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
588
+ }
589
+
590
+ /* nunito · vietnamese — 12.7KB */
591
+ @font-face {
592
+ font-family: 'Nunito';
593
+ font-style: normal;
594
+ font-weight: 400;
595
+ font-display: swap;
596
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-vietnamese.woff2') format('woff2');
597
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
598
+ }
599
+
600
+ /* nunito · latin-ext — 34.6KB */
601
+ @font-face {
602
+ font-family: 'Nunito';
603
+ font-style: normal;
604
+ font-weight: 400;
605
+ font-display: swap;
606
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-latin-ext.woff2') format('woff2');
607
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
608
+ }
609
+
610
+ /* nunito · latin — 38.2KB */
611
+ @font-face {
612
+ font-family: 'Nunito';
613
+ font-style: normal;
614
+ font-weight: 400;
615
+ font-display: swap;
616
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-latin.woff2') format('woff2');
617
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
618
+ }
619
+
620
+ /* nunito · cyrillic-ext — 28.2KB */
621
+ @font-face {
622
+ font-family: 'Nunito';
623
+ font-style: normal;
624
+ font-weight: 500;
625
+ font-display: swap;
626
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-cyrillic-ext.woff2') format('woff2');
627
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
628
+ }
629
+
630
+ /* nunito · cyrillic — 20.3KB */
631
+ @font-face {
632
+ font-family: 'Nunito';
633
+ font-style: normal;
634
+ font-weight: 500;
635
+ font-display: swap;
636
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-cyrillic.woff2') format('woff2');
637
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
638
+ }
639
+
640
+ /* nunito · vietnamese — 12.7KB */
641
+ @font-face {
642
+ font-family: 'Nunito';
643
+ font-style: normal;
644
+ font-weight: 500;
645
+ font-display: swap;
646
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-vietnamese.woff2') format('woff2');
647
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
648
+ }
649
+
650
+ /* nunito · latin-ext — 34.6KB */
651
+ @font-face {
652
+ font-family: 'Nunito';
653
+ font-style: normal;
654
+ font-weight: 500;
655
+ font-display: swap;
656
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-latin-ext.woff2') format('woff2');
657
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
658
+ }
659
+
660
+ /* nunito · latin — 38.2KB */
661
+ @font-face {
662
+ font-family: 'Nunito';
663
+ font-style: normal;
664
+ font-weight: 500;
665
+ font-display: swap;
666
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-latin.woff2') format('woff2');
667
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
668
+ }
669
+
670
+ /* nunito · cyrillic-ext — 28.2KB */
671
+ @font-face {
672
+ font-family: 'Nunito';
673
+ font-style: normal;
674
+ font-weight: 600;
675
+ font-display: swap;
676
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-cyrillic-ext.woff2') format('woff2');
677
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
678
+ }
679
+
680
+ /* nunito · cyrillic — 20.3KB */
681
+ @font-face {
682
+ font-family: 'Nunito';
683
+ font-style: normal;
684
+ font-weight: 600;
685
+ font-display: swap;
686
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-cyrillic.woff2') format('woff2');
687
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
688
+ }
689
+
690
+ /* nunito · vietnamese — 12.7KB */
691
+ @font-face {
692
+ font-family: 'Nunito';
693
+ font-style: normal;
694
+ font-weight: 600;
695
+ font-display: swap;
696
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-vietnamese.woff2') format('woff2');
697
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
698
+ }
699
+
700
+ /* nunito · latin-ext — 34.6KB */
701
+ @font-face {
702
+ font-family: 'Nunito';
703
+ font-style: normal;
704
+ font-weight: 600;
705
+ font-display: swap;
706
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-latin-ext.woff2') format('woff2');
707
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
708
+ }
709
+
710
+ /* nunito · latin — 38.2KB */
711
+ @font-face {
712
+ font-family: 'Nunito';
713
+ font-style: normal;
714
+ font-weight: 600;
715
+ font-display: swap;
716
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-latin.woff2') format('woff2');
717
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
718
+ }
719
+
720
+ /* nunito · cyrillic-ext — 28.2KB */
721
+ @font-face {
722
+ font-family: 'Nunito';
723
+ font-style: normal;
724
+ font-weight: 700;
725
+ font-display: swap;
726
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-cyrillic-ext.woff2') format('woff2');
727
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
728
+ }
729
+
730
+ /* nunito · cyrillic — 20.3KB */
731
+ @font-face {
732
+ font-family: 'Nunito';
733
+ font-style: normal;
734
+ font-weight: 700;
735
+ font-display: swap;
736
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-cyrillic.woff2') format('woff2');
737
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
738
+ }
739
+
740
+ /* nunito · vietnamese — 12.7KB */
741
+ @font-face {
742
+ font-family: 'Nunito';
743
+ font-style: normal;
744
+ font-weight: 700;
745
+ font-display: swap;
746
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-vietnamese.woff2') format('woff2');
747
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
748
+ }
749
+
750
+ /* nunito · latin-ext — 34.6KB */
751
+ @font-face {
752
+ font-family: 'Nunito';
753
+ font-style: normal;
754
+ font-weight: 700;
755
+ font-display: swap;
756
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-latin-ext.woff2') format('woff2');
757
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
758
+ }
759
+
760
+ /* nunito · latin — 38.2KB */
761
+ @font-face {
762
+ font-family: 'Nunito';
763
+ font-style: normal;
764
+ font-weight: 700;
765
+ font-display: swap;
766
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/nunito-latin.woff2') format('woff2');
767
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
768
+ }
769
+
770
+ /* source-sans-3 · cyrillic-ext — 10.4KB */
771
+ @font-face {
772
+ font-family: 'Source Sans 3';
773
+ font-style: normal;
774
+ font-weight: 400;
775
+ font-display: swap;
776
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-cyrillic-ext.woff2') format('woff2');
777
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
778
+ }
779
+
780
+ /* source-sans-3 · cyrillic — 18.0KB */
781
+ @font-face {
782
+ font-family: 'Source Sans 3';
783
+ font-style: normal;
784
+ font-weight: 400;
785
+ font-display: swap;
786
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-cyrillic.woff2') format('woff2');
787
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
788
+ }
789
+
790
+ /* source-sans-3 · greek-ext — 9.6KB */
791
+ @font-face {
792
+ font-family: 'Source Sans 3';
793
+ font-style: normal;
794
+ font-weight: 400;
795
+ font-display: swap;
796
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-greek-ext.woff2') format('woff2');
797
+ unicode-range: U+1F00-1FFF;
798
+ }
799
+
800
+ /* source-sans-3 · greek — 14.2KB */
801
+ @font-face {
802
+ font-family: 'Source Sans 3';
803
+ font-style: normal;
804
+ font-weight: 400;
805
+ font-display: swap;
806
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-greek.woff2') format('woff2');
807
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
808
+ }
809
+
810
+ /* source-sans-3 · vietnamese — 10.1KB */
811
+ @font-face {
812
+ font-family: 'Source Sans 3';
813
+ font-style: normal;
814
+ font-weight: 400;
815
+ font-display: swap;
816
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-vietnamese.woff2') format('woff2');
817
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
818
+ }
819
+
820
+ /* source-sans-3 · latin-ext — 58.6KB */
821
+ @font-face {
822
+ font-family: 'Source Sans 3';
823
+ font-style: normal;
824
+ font-weight: 400;
825
+ font-display: swap;
826
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-latin-ext.woff2') format('woff2');
827
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
828
+ }
829
+
830
+ /* source-sans-3 · latin — 28.1KB */
831
+ @font-face {
832
+ font-family: 'Source Sans 3';
833
+ font-style: normal;
834
+ font-weight: 400;
835
+ font-display: swap;
836
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-latin.woff2') format('woff2');
837
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
838
+ }
839
+
840
+ /* source-sans-3 · cyrillic-ext — 10.4KB */
841
+ @font-face {
842
+ font-family: 'Source Sans 3';
843
+ font-style: normal;
844
+ font-weight: 500;
845
+ font-display: swap;
846
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-cyrillic-ext.woff2') format('woff2');
847
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
848
+ }
849
+
850
+ /* source-sans-3 · cyrillic — 18.0KB */
851
+ @font-face {
852
+ font-family: 'Source Sans 3';
853
+ font-style: normal;
854
+ font-weight: 500;
855
+ font-display: swap;
856
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-cyrillic.woff2') format('woff2');
857
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
858
+ }
859
+
860
+ /* source-sans-3 · greek-ext — 9.6KB */
861
+ @font-face {
862
+ font-family: 'Source Sans 3';
863
+ font-style: normal;
864
+ font-weight: 500;
865
+ font-display: swap;
866
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-greek-ext.woff2') format('woff2');
867
+ unicode-range: U+1F00-1FFF;
868
+ }
869
+
870
+ /* source-sans-3 · greek — 14.2KB */
871
+ @font-face {
872
+ font-family: 'Source Sans 3';
873
+ font-style: normal;
874
+ font-weight: 500;
875
+ font-display: swap;
876
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-greek.woff2') format('woff2');
877
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
878
+ }
879
+
880
+ /* source-sans-3 · vietnamese — 10.1KB */
881
+ @font-face {
882
+ font-family: 'Source Sans 3';
883
+ font-style: normal;
884
+ font-weight: 500;
885
+ font-display: swap;
886
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-vietnamese.woff2') format('woff2');
887
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
888
+ }
889
+
890
+ /* source-sans-3 · latin-ext — 58.6KB */
891
+ @font-face {
892
+ font-family: 'Source Sans 3';
893
+ font-style: normal;
894
+ font-weight: 500;
895
+ font-display: swap;
896
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-latin-ext.woff2') format('woff2');
897
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
898
+ }
899
+
900
+ /* source-sans-3 · latin — 28.1KB */
901
+ @font-face {
902
+ font-family: 'Source Sans 3';
903
+ font-style: normal;
904
+ font-weight: 500;
905
+ font-display: swap;
906
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-latin.woff2') format('woff2');
907
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
908
+ }
909
+
910
+ /* source-sans-3 · cyrillic-ext — 10.4KB */
911
+ @font-face {
912
+ font-family: 'Source Sans 3';
913
+ font-style: normal;
914
+ font-weight: 600;
915
+ font-display: swap;
916
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-cyrillic-ext.woff2') format('woff2');
917
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
918
+ }
919
+
920
+ /* source-sans-3 · cyrillic — 18.0KB */
921
+ @font-face {
922
+ font-family: 'Source Sans 3';
923
+ font-style: normal;
924
+ font-weight: 600;
925
+ font-display: swap;
926
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-cyrillic.woff2') format('woff2');
927
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
928
+ }
929
+
930
+ /* source-sans-3 · greek-ext — 9.6KB */
931
+ @font-face {
932
+ font-family: 'Source Sans 3';
933
+ font-style: normal;
934
+ font-weight: 600;
935
+ font-display: swap;
936
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-greek-ext.woff2') format('woff2');
937
+ unicode-range: U+1F00-1FFF;
938
+ }
939
+
940
+ /* source-sans-3 · greek — 14.2KB */
941
+ @font-face {
942
+ font-family: 'Source Sans 3';
943
+ font-style: normal;
944
+ font-weight: 600;
945
+ font-display: swap;
946
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-greek.woff2') format('woff2');
947
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
948
+ }
949
+
950
+ /* source-sans-3 · vietnamese — 10.1KB */
951
+ @font-face {
952
+ font-family: 'Source Sans 3';
953
+ font-style: normal;
954
+ font-weight: 600;
955
+ font-display: swap;
956
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-vietnamese.woff2') format('woff2');
957
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
958
+ }
959
+
960
+ /* source-sans-3 · latin-ext — 58.6KB */
961
+ @font-face {
962
+ font-family: 'Source Sans 3';
963
+ font-style: normal;
964
+ font-weight: 600;
965
+ font-display: swap;
966
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-latin-ext.woff2') format('woff2');
967
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
968
+ }
969
+
970
+ /* source-sans-3 · latin — 28.1KB */
971
+ @font-face {
972
+ font-family: 'Source Sans 3';
973
+ font-style: normal;
974
+ font-weight: 600;
975
+ font-display: swap;
976
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-latin.woff2') format('woff2');
977
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
978
+ }
979
+
980
+ /* source-sans-3 · cyrillic-ext — 10.4KB */
981
+ @font-face {
982
+ font-family: 'Source Sans 3';
983
+ font-style: normal;
984
+ font-weight: 700;
985
+ font-display: swap;
986
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-cyrillic-ext.woff2') format('woff2');
987
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
988
+ }
989
+
990
+ /* source-sans-3 · cyrillic — 18.0KB */
991
+ @font-face {
992
+ font-family: 'Source Sans 3';
993
+ font-style: normal;
994
+ font-weight: 700;
995
+ font-display: swap;
996
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-cyrillic.woff2') format('woff2');
997
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
998
+ }
999
+
1000
+ /* source-sans-3 · greek-ext — 9.6KB */
1001
+ @font-face {
1002
+ font-family: 'Source Sans 3';
1003
+ font-style: normal;
1004
+ font-weight: 700;
1005
+ font-display: swap;
1006
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-greek-ext.woff2') format('woff2');
1007
+ unicode-range: U+1F00-1FFF;
1008
+ }
1009
+
1010
+ /* source-sans-3 · greek — 14.2KB */
1011
+ @font-face {
1012
+ font-family: 'Source Sans 3';
1013
+ font-style: normal;
1014
+ font-weight: 700;
1015
+ font-display: swap;
1016
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-greek.woff2') format('woff2');
1017
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
1018
+ }
1019
+
1020
+ /* source-sans-3 · vietnamese — 10.1KB */
1021
+ @font-face {
1022
+ font-family: 'Source Sans 3';
1023
+ font-style: normal;
1024
+ font-weight: 700;
1025
+ font-display: swap;
1026
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-vietnamese.woff2') format('woff2');
1027
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
1028
+ }
1029
+
1030
+ /* source-sans-3 · latin-ext — 58.6KB */
1031
+ @font-face {
1032
+ font-family: 'Source Sans 3';
1033
+ font-style: normal;
1034
+ font-weight: 700;
1035
+ font-display: swap;
1036
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-latin-ext.woff2') format('woff2');
1037
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1038
+ }
1039
+
1040
+ /* source-sans-3 · latin — 28.1KB */
1041
+ @font-face {
1042
+ font-family: 'Source Sans 3';
1043
+ font-style: normal;
1044
+ font-weight: 700;
1045
+ font-display: swap;
1046
+ src: url('https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/assets/fonts/source-sans-3-latin.woff2') format('woff2');
1047
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1048
+ }
1049
+
1
1050
  /* Source for foundations/tokens.css — run `npm run gen:tokens` after editing.
2
1051
  No usage-rule comments here — token usage rules live in
3
1052
  .claude/tokens-reference.md. General component rules: .claude/component-rules.md. */
@@ -9,8 +1058,6 @@
9
1058
  of its stops, so the winner is the one that survives the hardest stop). */
10
1059
  /* Populated by the `color-family` mixin so late-declared derivations (Lya,
11
1060
  which is a gradient over Sea/Dusk/Tertiary) can read the raw values back. */
12
- @import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap");
13
- @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&family=Nunito:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600;700&display=swap");
14
1061
  /* -------------------------------SEMANTIC ALIASES------------------------------- */
15
1062
  :root {
16
1063
  --color-white: #ffffff;
@@ -21,6 +1068,15 @@
21
1068
  --border-static-color: var(--color-neutral-20);
22
1069
  --placeholder-color: var(--color-neutral-50);
23
1070
  --focus-stroke-color: var(--color-neutral-90-00);
1071
+ /* The whole focus ring, not just its colour: two layers, a gap in the surface
1072
+ colour so the stroke never touches the element. Written once here instead of
1073
+ being retyped per component — retyping is what let the ring drift apart
1074
+ (outward in one nav control, inset in the one beside it). Composable, so a
1075
+ component that already carries a shadow appends it:
1076
+ `box-shadow: inset 0 0 0 5px var(--color-primary-50), var(--focus-ring);` */
1077
+ --focus-ring: 0 0 0 2px var(--component-bg-color), 0 0 0 4px var(--focus-stroke-color);
1078
+ --focus-ring-inset: inset 0 0 0 2px var(--component-bg-color),
1079
+ inset 0 0 0 4px var(--focus-stroke-color);
24
1080
  }
25
1081
 
26
1082
  /* ------------------------------------------------------------------------------ */