@nordcode/ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/LICENSE.md +661 -0
  3. package/README.md +90 -0
  4. package/index.html +1169 -0
  5. package/out/bundle.css +1400 -0
  6. package/out/bundle_configless.css +1135 -0
  7. package/out/colors.css +87 -0
  8. package/out/complete.css +2647 -0
  9. package/out/complete_configless.css +2382 -0
  10. package/package.json +73 -0
  11. package/src/assets/fonts/DMMono-Regular.woff +0 -0
  12. package/src/assets/fonts/DMMono-Regular.woff2 +0 -0
  13. package/src/assets/fonts/fonts.css +7 -0
  14. package/src/assets/icons/ArrowRightSolid.svelte +1 -0
  15. package/src/assets/icons/arrow-right-solid.svg +1 -0
  16. package/src/assets/icons/favicon.png +0 -0
  17. package/src/assets/icons/favicon.svg +8 -0
  18. package/src/assets/logos/nordcode-logo-icon.svg +3 -0
  19. package/src/assets/logos/nordcode-logo.svg +17 -0
  20. package/src/modules/copyButtons/ts/copyButtons.ts +9 -0
  21. package/src/modules/dialogs/svelte/dialog.svelte +27 -0
  22. package/src/modules/dialogs/ts/LICENCE +171 -0
  23. package/src/modules/dialogs/ts/dialogs.ts +111 -0
  24. package/src/modules/notifications/js/notifications.js +294 -0
  25. package/src/modules/notifications/svelte/NotificationCenter.svelte +18 -0
  26. package/src/modules/notifications/svelte/NotificationTemplate.svelte +16 -0
  27. package/src/modules/sectionObserver/ts/sectionOberserver.ts +34 -0
  28. package/src/styles/bundle.css +7 -0
  29. package/src/styles/bundle_configless.css +5 -0
  30. package/src/styles/complete.css +5 -0
  31. package/src/styles/complete_configless.css +5 -0
  32. package/src/styles/components/badges.css +14 -0
  33. package/src/styles/components/breadcrumbs.css +37 -0
  34. package/src/styles/components/bundle.css +12 -0
  35. package/src/styles/components/buttons.css +256 -0
  36. package/src/styles/components/card.css +55 -0
  37. package/src/styles/components/dialogs.css +116 -0
  38. package/src/styles/components/forms.css +47 -0
  39. package/src/styles/components/gallery.css +66 -0
  40. package/src/styles/components/icons.css +60 -0
  41. package/src/styles/components/inputs/base.css +258 -0
  42. package/src/styles/components/inputs/bundle.css +5 -0
  43. package/src/styles/components/inputs/fields.css +79 -0
  44. package/src/styles/components/inputs/segmented.css +123 -0
  45. package/src/styles/components/inputs/switch.css +42 -0
  46. package/src/styles/components/inputs/tag-select.css +44 -0
  47. package/src/styles/components/lists.css +40 -0
  48. package/src/styles/components/notifications.css +137 -0
  49. package/src/styles/components/tables.css +7 -0
  50. package/src/styles/config/bundle.css +2 -0
  51. package/src/styles/config/config.css +828 -0
  52. package/src/styles/config/extras.css +18 -0
  53. package/src/styles/exceptions/bundle.css +3 -0
  54. package/src/styles/exceptions/misc.css +21 -0
  55. package/src/styles/exceptions/spacings.css +15 -0
  56. package/src/styles/exceptions/typography.css +57 -0
  57. package/src/styles/theme/colors.css +178 -0
  58. package/src/styles/theme/colors_processed.css +87 -0
  59. package/src/styles/utils/base.css +406 -0
  60. package/src/styles/utils/bundle.css +6 -0
  61. package/src/styles/utils/easings.css +364 -0
  62. package/src/styles/utils/layouts.css +298 -0
  63. package/src/styles/utils/media.css +55 -0
  64. package/src/styles/utils/reset.css +128 -0
  65. package/src/styles/utils/theme.css +120 -0
  66. package/transform.js +71 -0
@@ -0,0 +1,1135 @@
1
+ @layer config;
2
+
3
+ @layer theme {
4
+ :where(html) {
5
+ --lightningcss-light: initial;
6
+ --lightningcss-dark: ;
7
+ color-scheme: light dark;
8
+ }
9
+
10
+ @media (prefers-color-scheme: dark) {
11
+ :where(html) {
12
+ --lightningcss-light: ;
13
+ --lightningcss-dark: initial;
14
+ }
15
+ }
16
+
17
+ :where([data-theme="light"]) {
18
+ --lightningcss-light: initial;
19
+ --lightningcss-dark: ;
20
+ color-scheme: light;
21
+ }
22
+
23
+ :where([data-theme="dark"]) {
24
+ --lightningcss-light: ;
25
+ --lightningcss-dark: initial;
26
+ color-scheme: dark;
27
+ }
28
+
29
+ :where(*) {
30
+ --l-brand-primary: var(--lightningcss-light, var(--l-brand-primary-light)) var(--lightningcss-dark, var(--l-brand-primary-dark));
31
+ --color-brand-primary-emphasis: var(--lightningcss-light, var(--color-brand-primary-emphasis-light)) var(--lightningcss-dark, var(--color-brand-primary-emphasis-dark));
32
+ --color-brand-primary-base: var(--lightningcss-light, var(--color-brand-primary-base-light)) var(--lightningcss-dark, var(--color-brand-primary-base-dark));
33
+ --color-brand-primary-surface: var(--lightningcss-light, var(--color-brand-primary-surface-light)) var(--lightningcss-dark, var(--color-brand-primary-surface-dark));
34
+ --color-brand-primary-hover: var(--lightningcss-light, var(--color-brand-primary-hover-light)) var(--lightningcss-dark, var(--color-brand-primary-hover-light));
35
+ --color-brand-primary-contrast-lightness: var(--lightningcss-light, var(--color-brand-primary-contrast-lightness-light)) var(--lightningcss-dark, var(--color-brand-primary-contrast-lightness-dark));
36
+ --color-brand-primary-contrast: var(--lightningcss-light, var(--color-brand-primary-contrast-light)) var(--lightningcss-dark, var(--color-brand-primary-contrast-dark));
37
+ --color-brand-secondary-emphasis: var(--lightningcss-light, var(--color-brand-secondary-emphasis-light)) var(--lightningcss-dark, var(--color-brand-secondary-emphasis-dark));
38
+ --color-brand-secondary-base: var(--lightningcss-light, var(--color-brand-secondary-base-light)) var(--lightningcss-dark, var(--color-brand-secondary-base-dark));
39
+ --color-brand-secondary-surface: var(--lightningcss-light, var(--color-brand-secondary-surface-light)) var(--lightningcss-dark, var(--color-brand-secondary-surface-dark));
40
+ --color-brand-secondary-hover: var(--lightningcss-light, var(--color-brand-secondary-hover-light)) var(--lightningcss-dark, var(--color-brand-secondary-hover-dark));
41
+ --color-brand-secondary-contrast: var(--lightningcss-light, var(--color-brand-secondary-contrast-light)) var(--lightningcss-dark, var(--color-brand-secondary-contrast-dark));
42
+ --color-text-base: var(--lightningcss-light, var(--color-text-base-light)) var(--lightningcss-dark, var(--color-text-base-dark));
43
+ --color-text-muted: var(--lightningcss-light, var(--color-text-muted-light)) var(--lightningcss-dark, var(--color-text-muted-dark));
44
+ --color-text-subtle: var(--lightningcss-light, var(--color-text-subtle-light)) var(--lightningcss-dark, var(--color-text-subtle-dark));
45
+ --color-text-on-emphasis: var(--lightningcss-light, var(--color-text-on-emphasis-light)) var(--lightningcss-dark, var(--color-text-on-emphasis-dark));
46
+ --color-text-hover: var(--lightningcss-light, var(--color-text-hover-light)) var(--lightningcss-dark, var(--color-text-hover-dark));
47
+ --color-surface-base: var(--lightningcss-light, var(--color-surface-base-light)) var(--lightningcss-dark, var(--color-surface-base-dark));
48
+ --color-surface-muted: var(--lightningcss-light, var(--color-surface-muted-light)) var(--lightningcss-dark, var(--color-surface-muted-dark));
49
+ --color-surface-subtle: var(--lightningcss-light, var(--color-surface-subtle-light)) var(--lightningcss-dark, var(--color-surface-subtle-dark));
50
+ --color-surface-emphasis: var(--lightningcss-light, var(--color-surface-emphasis-light)) var(--lightningcss-dark, var(--color-surface-emphasis-dark));
51
+ --color-border-base: var(--lightningcss-light, var(--color-border-base-light)) var(--lightningcss-dark, var(--color-border-base-dark));
52
+ --color-border-muted: var(--lightningcss-light, var(--color-border-muted-light)) var(--lightningcss-dark, var(--color-border-muted-dark));
53
+ --color-border-subtle: var(--lightningcss-light, var(--color-border-subtle-light)) var(--lightningcss-dark, var(--color-border-subtle-dark));
54
+ --color-border-on-emphasis: var(--lightningcss-light, var(--color-border-on-emphasis-light)) var(--lightningcss-dark, var(--color-border-on-emphasis-dark));
55
+ --color-border-hover: var(--lightningcss-light, var(--color-border-hover-light)) var(--lightningcss-dark, var(--color-border-hover-dark));
56
+ --color-status-info-emphasis: var(--lightningcss-light, var(--color-status-info-emphasis-light)) var(--lightningcss-dark, var(--color-status-info-emphasis-dark));
57
+ --color-status-info-base: var(--lightningcss-light, var(--color-status-info-base-light)) var(--lightningcss-dark, var(--color-status-info-base-dark));
58
+ --color-status-info-surface: var(--lightningcss-light, var(--color-status-info-surface-light)) var(--lightningcss-dark, var(--color-status-info-surface-dark));
59
+ --color-status-info-hover: var(--lightningcss-light, var(--color-status-info-hover-light)) var(--lightningcss-dark, var(--color-status-info-hover-light));
60
+ --color-status-info-contrast-lightness: var(--lightningcss-light, var(--color-status-info-contrast-lightness-light)) var(--lightningcss-dark, var(--color-status-info-contrast-lightness-dark));
61
+ --color-status-info-contrast: var(--lightningcss-light, var(--color-status-info-contrast-light)) var(--lightningcss-dark, var(--color-status-info-contrast-dark));
62
+ --color-status-success-emphasis: var(--lightningcss-light, var(--color-status-success-emphasis-light)) var(--lightningcss-dark, var(--color-status-success-emphasis-dark));
63
+ --color-status-success-base: var(--lightningcss-light, var(--color-status-success-base-light)) var(--lightningcss-dark, var(--color-status-success-base-dark));
64
+ --color-status-success-surface: var(--lightningcss-light, var(--color-status-success-surface-light)) var(--lightningcss-dark, var(--color-status-success-surface-dark));
65
+ --color-status-success-hover: var(--lightningcss-light, var(--color-status-success-hover-light)) var(--lightningcss-dark, var(--color-status-success-hover-light));
66
+ --color-status-success-contrast-lightness: var(--lightningcss-light, var(--color-status-success-contrast-lightness-light)) var(--lightningcss-dark, var(--color-status-success-contrast-lightness-dark));
67
+ --color-status-success-contrast: var(--lightningcss-light, var(--color-status-success-contrast-light)) var(--lightningcss-dark, var(--color-status-success-contrast-dark));
68
+ --color-status-warning-emphasis: var(--lightningcss-light, var(--color-status-warning-emphasis-light)) var(--lightningcss-dark, var(--color-status-warning-emphasis-dark));
69
+ --color-status-warning-base: var(--lightningcss-light, var(--color-status-warning-base-light)) var(--lightningcss-dark, var(--color-status-warning-base-dark));
70
+ --color-status-warning-surface: var(--lightningcss-light, var(--color-status-warning-surface-light)) var(--lightningcss-dark, var(--color-status-warning-surface-dark));
71
+ --color-status-warning-hover: var(--lightningcss-light, var(--color-status-warning-hover-light)) var(--lightningcss-dark, var(--color-status-warning-hover-light));
72
+ --color-status-warning-contrast-lightness: var(--lightningcss-light, var(--color-status-warning-contrast-lightness-light)) var(--lightningcss-dark, var(--color-status-warning-contrast-lightness-dark));
73
+ --color-status-warning-contrast: var(--lightningcss-light, var(--color-status-warning-contrast-light)) var(--lightningcss-dark, var(--color-status-warning-contrast-dark));
74
+ --color-status-danger-emphasis: var(--lightningcss-light, var(--color-status-danger-emphasis-light)) var(--lightningcss-dark, var(--color-status-danger-emphasis-dark));
75
+ --color-status-danger-base: var(--lightningcss-light, var(--color-status-danger-base-light)) var(--lightningcss-dark, var(--color-status-danger-base-dark));
76
+ --color-status-danger-surface: var(--lightningcss-light, var(--color-status-danger-surface-light)) var(--lightningcss-dark, var(--color-status-danger-surface-dark));
77
+ --color-status-danger-hover: var(--lightningcss-light, var(--color-status-danger-hover-light)) var(--lightningcss-dark, var(--color-status-danger-hover-light));
78
+ --color-status-danger-contrast-lightness: var(--lightningcss-light, var(--color-status-danger-contrast-lightness-light)) var(--lightningcss-dark, var(--color-status-danger-contrast-lightness-dark));
79
+ --color-status-danger-contrast: var(--lightningcss-light, var(--color-status-danger-contrast-light)) var(--lightningcss-dark, var(--color-status-danger-contrast-dark));
80
+ --shadow-color: var(--lightningcss-light, var(--shadow-color-light)) var(--lightningcss-dark, var(--shadow-color-dark));
81
+ --shadow-inset: var(--lightningcss-light, var(--shadow-inset-light)) var(--lightningcss-dark, var(--shadow-inset-dark));
82
+ --shadow-nearest: var(--lightningcss-light, var(--shadow-nearest-light)) var(--lightningcss-dark, var(--shadow-nearest-dark));
83
+ --shadow-near: var(--lightningcss-light, var(--shadow-near-light)) var(--lightningcss-dark, var(--shadow-near-dark));
84
+ --shadow-medium: var(--lightningcss-light, var(--shadow-medium-light)) var(--lightningcss-dark, var(--shadow-medium-dark));
85
+ --shadow-far: var(--lightningcss-light, var(--shadow-far-light)) var(--lightningcss-dark, var(--shadow-far-dark));
86
+ --triangle-down-url: var(--lightningcss-light, var(--triangle-down-url-light)) var(--lightningcss-dark, var(--triangle-down-url-dark));
87
+ --triangle-up-url: var(--lightningcss-light, var(--triangle-up-url-light)) var(--lightningcss-dark, var(--triangle-up-url-dark));
88
+ }
89
+ }
90
+
91
+ @layer reset {
92
+ *, :after, :before {
93
+ box-sizing: border-box;
94
+ accent-color: var(--color-brand-primary-base);
95
+ font-kerning: normal;
96
+ -moz-osx-font-smoothing: grayscale;
97
+ -webkit-font-smoothing: antialiased;
98
+ }
99
+
100
+ :where(:not(dialog)) {
101
+ margin: 0;
102
+ }
103
+
104
+ :where(:not(fieldset, progress, meter)) {
105
+ background-repeat: no-repeat;
106
+ background-origin: border-box;
107
+ border-style: solid;
108
+ border-width: 0;
109
+ }
110
+
111
+ :where(:focus-visible) {
112
+ transition: outline-offset var(--transition-duration-short) var(--ease-2);
113
+ }
114
+
115
+ :where(:focus-visible, :focus) {
116
+ outline: var(--border-width-medium) solid var(--color-brand-primary-base);
117
+ outline-offset: 1ch;
118
+ }
119
+
120
+ :where(:focus:not(:focus-visible)) {
121
+ outline: none;
122
+ }
123
+
124
+ :where(html) {
125
+ -webkit-text-size-adjust: none;
126
+ -moz-text-size-adjust: none;
127
+ text-size-adjust: none;
128
+ inline-size: 100%;
129
+ text-rendering: optimizeSpeed;
130
+ block-size: 100%;
131
+ min-block-size: 100vh;
132
+ }
133
+
134
+ :where(body) {
135
+ font-weight: var(--font-weight-default);
136
+ color: var(--color-text-base);
137
+ background-color: var(--color-surface-muted);
138
+ font-family: var(--font-family-default);
139
+ line-height: var(--line-height-base);
140
+ font-style: normal;
141
+ }
142
+
143
+ :where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd) {
144
+ margin: 0;
145
+ }
146
+
147
+ :where(ul[role="list"], ol[role="list"]) {
148
+ list-style: none;
149
+ }
150
+
151
+ :where(h1, h2, h3, h4) {
152
+ text-wrap: balance;
153
+ }
154
+
155
+ :where(a:not([class])) {
156
+ -webkit-text-decoration-skip-ink: auto;
157
+ text-decoration-skip-ink: auto;
158
+ color: currentColor;
159
+ }
160
+
161
+ :where(img, svg, video, canvas, audio, iframe, embed, object) {
162
+ display: block;
163
+ }
164
+
165
+ :where(img, svg, video) {
166
+ block-size: auto;
167
+ max-inline-size: 100%;
168
+ }
169
+
170
+ :where(figure) {
171
+ place-items: center;
172
+ gap: 0;
173
+ display: grid;
174
+ }
175
+
176
+ :where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
177
+ cursor: pointer;
178
+ touch-action: manipulation;
179
+ -webkit-tap-highlight-color: transparent;
180
+ }
181
+
182
+ :where(input, button, textarea, select) {
183
+ font: inherit;
184
+ color: inherit;
185
+ letter-spacing: inherit;
186
+ }
187
+
188
+ :where(input[type="file"])::-webkit-file-upload-button {
189
+ font: inherit;
190
+ color: inherit;
191
+ letter-spacing: inherit;
192
+ }
193
+
194
+ :where(label:not(class) + input, label:not(class) + select, label:not(class) + textarea) {
195
+ display: block;
196
+ }
197
+
198
+ :where(p, summary) {
199
+ max-inline-size: var(--measure-base);
200
+ font-size: inherit;
201
+ line-height: var(--line-height-base);
202
+ margin: 0;
203
+ }
204
+
205
+ :where(p) {
206
+ text-wrap: pretty;
207
+ }
208
+ }
209
+
210
+ @layer base {
211
+ :where(dt) {
212
+ font-weight: var(--font-weight-active);
213
+ color: var(--color-text-base);
214
+ }
215
+
216
+ :where(dd) {
217
+ font-weight: var(--font-weight-default);
218
+ color: var(--color-text-base);
219
+ }
220
+
221
+ :where(dd):not(:last-of-type) {
222
+ border-bottom: var(--border-width-thin) solid var(--color-border-muted);
223
+ padding-block-end: .5lh;
224
+ }
225
+
226
+ :where(dl:not([class]), .nc-description-list) {
227
+ word-break: break-word;
228
+ grid-template-columns: .25fr .75fr;
229
+ align-items: flex-start;
230
+ row-gap: .5lh;
231
+ inline-size: 100%;
232
+ max-inline-size: 100%;
233
+ display: grid;
234
+ container: description-list / inline-size;
235
+ }
236
+
237
+ :where(dd, dt) {
238
+ max-inline-size: var(--measure-base);
239
+ grid-column: 1 / span 2;
240
+ }
241
+
242
+ @container description-list (width >= 30rem) {
243
+ :where(dt) {
244
+ grid-column: 1 / 1;
245
+ min-block-size: 100%;
246
+ padding-block-end: 0;
247
+ padding-inline-end: 2ch;
248
+ }
249
+
250
+ :where(dt):not(:last-of-type) {
251
+ border-bottom: var(--border-width-thin) solid var(--color-border-muted);
252
+ padding-block-end: .5lh;
253
+ }
254
+
255
+ :where(dd) {
256
+ grid-column: 2 / 2;
257
+ min-block-size: 100%;
258
+ }
259
+ }
260
+
261
+ :where(small) {
262
+ font-size: var(--font-size-small);
263
+ }
264
+
265
+ :where(figure) {
266
+ border-radius: var(--border-radius-medium);
267
+ }
268
+
269
+ :where(figure) :where(img, picture) {
270
+ border-start-start-radius: inherit;
271
+ border-start-end-radius: inherit;
272
+ }
273
+
274
+ :where(figure) :where(figcaption) {
275
+ border-end-end-radius: inherit;
276
+ border-end-start-radius: inherit;
277
+ }
278
+
279
+ :where(figcaption) {
280
+ font-family: var(--font-family-sans);
281
+ font-weight: var(--font-weight-default);
282
+ line-height: var(--line-height-base);
283
+ color: var(--color-surface-subtle);
284
+ background-color: var(--color-text-base);
285
+ padding: .3lh 1ch;
286
+ display: block;
287
+ }
288
+
289
+ :where(details) {
290
+ --p-x-details: 2ch;
291
+ --p-y-details: .75lh;
292
+ background-color: var(--color-surface-subtle);
293
+ border-radius: var(--border-radius-medium);
294
+ border: var(--border-width-thin) solid var(--color-border-base);
295
+ inline-size: 100%;
296
+ }
297
+
298
+ :where(details) > * {
299
+ padding-inline: var(--p-x-details);
300
+ }
301
+
302
+ :where(details) > :last-child {
303
+ padding-block-end: var(--p-y-details);
304
+ }
305
+
306
+ :where(details) > summary {
307
+ cursor: pointer;
308
+ color: var(--color-text-base);
309
+ inline-size: 100%;
310
+ font-weight: var(--font-weight-strong);
311
+ padding-inline: var(--p-x-details);
312
+ padding-block: var(--p-y-details);
313
+ }
314
+
315
+ .note, blockquote {
316
+ inline-size: 100%;
317
+ color: var(--color-text-base);
318
+ font-family: var(--font-family-serif);
319
+ quotes: auto;
320
+ font-size: var(--font-size-large);
321
+ margin-inline: 0;
322
+ padding: 0;
323
+ padding-inline-start: 2ch;
324
+ position: relative;
325
+ }
326
+
327
+ :is(.note, blockquote) p {
328
+ max-inline-size: var(--measure-base);
329
+ }
330
+
331
+ :is(.note, blockquote) p:first-of-type:before {
332
+ content: open-quote;
333
+ }
334
+
335
+ :is(.note, blockquote) p:last-of-type:after {
336
+ content: close-quote;
337
+ }
338
+
339
+ :is(.note, blockquote) cite {
340
+ font-family: var(--font-family-default);
341
+ font-size: var(--font-size-base);
342
+ max-inline-size: max-content;
343
+ color: color-mix(in oklch, currentColor calc(var(--transparency-weaker) * 100%), transparent);
344
+ margin-block-start: var(--spacing-near);
345
+ display: block;
346
+ }
347
+
348
+ :is(.note, blockquote) cite:before {
349
+ content: "—";
350
+ margin-inline-end: .5ch;
351
+ }
352
+
353
+ cite {
354
+ font-family: var(--font-family-serif);
355
+ font-style: normal;
356
+ }
357
+
358
+ :where(hr) {
359
+ border-top: var(--border-width-medium) solid var(--color-border-base);
360
+ block-size: 0;
361
+ inline-size: 100%;
362
+ }
363
+
364
+ :where(h1, h2, h3, h4, h5, h6) {
365
+ line-height: var(--line-height-small);
366
+ color: inherit;
367
+ max-inline-size: 100%;
368
+ font-weight: var(--font-weight-heading);
369
+ }
370
+
371
+ :where(h1) {
372
+ font-size: var(--font-size-display);
373
+ }
374
+
375
+ :where(h2) {
376
+ font-size: var(--font-size-largest);
377
+ }
378
+
379
+ :where(h3) {
380
+ font-size: var(--font-size-large);
381
+ }
382
+
383
+ :where(h4) {
384
+ font-size: var(--font-size-base);
385
+ }
386
+
387
+ :where(h5) {
388
+ font-size: var(--font-size-small);
389
+ }
390
+
391
+ :where(h6) {
392
+ font-size: var(--font-size-smallest);
393
+ }
394
+
395
+ ::marker {
396
+ color: var(--color-brand-primary-base);
397
+ }
398
+
399
+ :where() {
400
+ background-color: var(--color-brand-primary-base);
401
+ color: var(--color-surface-base);
402
+ }
403
+
404
+ :where(a, .nc-link) {
405
+ color: inherit;
406
+ font-family: var(--font-family-link);
407
+ text-underline-offset: .25lh;
408
+ font-weight: var(--font-weight-default);
409
+ cursor: pointer;
410
+ letter-spacing: var(--tracking-tight);
411
+ text-decoration: underline;
412
+ text-decoration-thickness: from-font;
413
+ }
414
+
415
+ :where(a, .nc-link):visited {
416
+ opacity: .72;
417
+ }
418
+
419
+ :where(a, .nc-link):hover {
420
+ -webkit-text-decoration-color: var(--color-brand-primary-base);
421
+ text-decoration-color: var(--color-brand-primary-base);
422
+ }
423
+
424
+ :where(em, i) {
425
+ font-family: var(--font-family-serif);
426
+ }
427
+
428
+ :where(strong, b) {
429
+ font-weight: var(--font-weight-strong);
430
+ }
431
+
432
+ :where(dfn, var) {
433
+ font-family: var(--font-family-mono);
434
+ letter-spacing: var(--tracking-tight);
435
+ font-weight: var(--font-weight-default);
436
+ }
437
+
438
+ :where([aria-disabled="true"], .disabled, :disabled) {
439
+ color: inherit;
440
+ opacity: 1;
441
+ cursor: not-allowed;
442
+ filter: contrast(.64) opacity(.64);
443
+ }
444
+
445
+ :where(del, ins, mark, code, kbd, var) {
446
+ border-radius: var(--border-radius-small);
447
+ line-height: inherit;
448
+ -webkit-box-decoration-break: clone;
449
+ box-decoration-break: clone;
450
+ padding-inline: .5ch;
451
+ }
452
+
453
+ :where(code, kbd, var) {
454
+ font-family: var(--font-family-mono);
455
+ letter-spacing: 0;
456
+ font-weight: var(--font-weight-default);
457
+ -webkit-hyphens: none;
458
+ hyphens: none;
459
+ tab-size: 4;
460
+ text-align: left;
461
+ word-spacing: normal;
462
+ word-break: normal;
463
+ word-wrap: normal;
464
+ max-inline-size: fit-content;
465
+ padding-block: .125lh;
466
+ font-style: normal;
467
+ }
468
+
469
+ :where(code) {
470
+ background: var(--color-surface-subtle);
471
+ }
472
+
473
+ :where(var) {
474
+ background: var(--color-brand-primary-surface);
475
+ color: var(--color-brand-primary-emphasis);
476
+ }
477
+
478
+ :where(kbd) {
479
+ background: var(--color-surface-subtle);
480
+ border: var(--border-width-thin) solid var(--color-border-base);
481
+ box-shadow: var(--shadow-nearest);
482
+ font-weight: var(--font-weight-active);
483
+ }
484
+
485
+ :where(pre) {
486
+ inline-size: 100%;
487
+ color: var(--color-text-base);
488
+ border: var(--border-width-medium) solid var(--color-border-base);
489
+ border-radius: var(--border-radius-medium);
490
+ background: var(--color-surface-subtle);
491
+ -webkit-overflow-scrolling: touch;
492
+ padding: .5lh 2ch;
493
+ overflow-x: auto;
494
+ }
495
+
496
+ :where(pre) code {
497
+ white-space: pre;
498
+ background: none;
499
+ border-radius: 0;
500
+ padding: 0;
501
+ }
502
+
503
+ :where(table) {
504
+ --_nc-table-border-radius: var(--nc-table-border-radius, var(--border-radius-medium));
505
+ border-collapse: separate;
506
+ border-spacing: 0;
507
+ text-align: left;
508
+ border: var(--border-width-medium) solid var(--color-border-base);
509
+ border-radius: var(--_nc-table-border-radius);
510
+ inline-size: 100%;
511
+ }
512
+
513
+ :where(table > thead th:first-child) {
514
+ border-start-start-radius: var(--_nc-table-border-radius);
515
+ }
516
+
517
+ :where(table > thead th:last-child) {
518
+ border-start-end-radius: var(--_nc-table-border-radius);
519
+ }
520
+
521
+ :where(table > tfoot th:first-child) {
522
+ border-end-start-radius: var(--_nc-table-border-radius);
523
+ }
524
+
525
+ :where(table > tfoot th:last-child) {
526
+ border-end-end-radius: var(--_nc-table-border-radius);
527
+ }
528
+
529
+ :where(td, th) {
530
+ line-height: var(--line-height-small);
531
+ white-space: nowrap;
532
+ font-variant-numeric: tabular-nums;
533
+ padding: .4lh 1ch;
534
+ }
535
+
536
+ :where(td), :where(thead th) {
537
+ border-block-end: var(--border-width-thin) solid var(--color-border-muted);
538
+ }
539
+
540
+ :where(tfoot th) {
541
+ border-block-start: var(--border-width-thin) solid var(--color-border-muted);
542
+ }
543
+
544
+ :where(th) {
545
+ font-weight: var(--font-weight-active);
546
+ color: var(--color-text-muted);
547
+ background-color: var(--color-surface-subtle);
548
+ }
549
+
550
+ :where(tbody tr:hover) {
551
+ background: var(--color-brand-primary-hover);
552
+ }
553
+
554
+ :where(caption) {
555
+ color: var(--color-text-base);
556
+ }
557
+
558
+ :where(tr:has(td) th) {
559
+ border-block-end: var(--border-width-thin) solid var(--color-border-muted);
560
+ border-inline-end: var(--border-width-thin) solid var(--color-border-muted);
561
+ }
562
+
563
+ :where(tr:last-child:has(td) th) {
564
+ border-block-end: none;
565
+ }
566
+
567
+ :where(tr:last-child > td) {
568
+ border: none;
569
+ }
570
+
571
+ :where(tbody tr:nth-child(2n) > td) {
572
+ background-color: var(--color-surface-muted);
573
+ }
574
+
575
+ :target {
576
+ scroll-margin-block-start: 2ex;
577
+ }
578
+
579
+ :where(del) {
580
+ color: var(--color-status-danger-text);
581
+ -webkit-text-decoration-color: var(--color-status-danger-text);
582
+ text-decoration-color: var(--color-status-danger-text);
583
+ background: var(--color-status-danger-surface);
584
+ }
585
+
586
+ :where(ins) {
587
+ color: var(--color-status-success-text);
588
+ -webkit-text-decoration-color: var(--color-status-success-text);
589
+ text-decoration-color: var(--color-status-success-text);
590
+ background: var(--color-status-success-surface);
591
+ }
592
+
593
+ :where(mark) {
594
+ color: var(--color-brand-primary-emphasis);
595
+ background: var(--color-brand-primary-surface);
596
+ }
597
+
598
+ :where(ul, ol) {
599
+ padding-inline-start: 2ch;
600
+ }
601
+
602
+ :where(li + li), :where(li > :is(ul, ol)) {
603
+ margin-top: .5lh;
604
+ }
605
+ }
606
+
607
+ @layer utils {
608
+ :where(.nc-box) {
609
+ padding: var(--spacing-base);
610
+ }
611
+
612
+ :where(.nc-box).-bordered {
613
+ border: var(--border-width-thin) solid var(--border, var(--color-border-base));
614
+ border-radius: var(--border-radius-medium);
615
+ }
616
+
617
+ :where(.nc-box).-tiny {
618
+ padding: var(--spacing-tiny);
619
+ }
620
+
621
+ :where(.nc-box).-nearest {
622
+ padding: var(--spacing-nearest);
623
+ }
624
+
625
+ :where(.nc-box).-near {
626
+ padding: var(--spacing-near);
627
+ }
628
+
629
+ :where(.nc-box).-base {
630
+ padding: var(--spacing-base);
631
+ }
632
+
633
+ :where(.nc-box).-far {
634
+ padding: var(--spacing-far);
635
+ }
636
+
637
+ :where(.nc-box).-farthest {
638
+ padding: var(--spacing-farthest);
639
+ }
640
+
641
+ :where(.nc-stack) {
642
+ gap: var(--spacing-base);
643
+ flex-direction: column;
644
+ align-items: flex-start;
645
+ display: flex;
646
+ }
647
+
648
+ :where(.nc-stack).-inherit {
649
+ gap: var(--stack-gap, var(--spacing-base));
650
+ }
651
+
652
+ :where(.nc-stack).-stretched {
653
+ inline-size: 100%;
654
+ }
655
+
656
+ :where(.nc-stack).-stretched > * {
657
+ inline-size: 100%;
658
+ }
659
+
660
+ :where(.nc-stack).-contained > * {
661
+ max-inline-size: 100%;
662
+ }
663
+
664
+ :where(.nc-flow) > * + * {
665
+ margin-block-start: var(--flow-gap, .6lh);
666
+ }
667
+
668
+ :where(.nc-flow) > * {
669
+ max-inline-size: var(--flow-base-meassure, 72ch);
670
+ }
671
+
672
+ :where(.nc-flow) > :is(h1, h2, h3, h4, h5, h6) {
673
+ max-inline-size: var(--flow-headline-meassure, 32ch);
674
+ --flow-gap: 1.3lh;
675
+ }
676
+
677
+ :where(.nc-flow) > :is(h1, h2, h3, h4, h5, h6) + p {
678
+ --flow-gap: .5lh;
679
+ }
680
+
681
+ :where(.nc-flow) > p + p {
682
+ --flow-gap: .8lh;
683
+ }
684
+
685
+ :where(.nc-flow) > figure {
686
+ margin-block: 1lh;
687
+ margin-inline: 0;
688
+ }
689
+
690
+ :where(.nc-flow) .breakAfter {
691
+ margin-block-end: auto;
692
+ }
693
+
694
+ :where(.nc-center) {
695
+ box-sizing: content-box;
696
+ max-inline-size: var(--center-measure, max-content);
697
+ padding-inline: var(--center-padding, 0);
698
+ margin-inline: auto;
699
+ position: relative;
700
+ }
701
+
702
+ :where(.nc-region) {
703
+ padding-block: var(--region-space, var(--spacing-farthest));
704
+ }
705
+
706
+ :where(.nc-cluster) {
707
+ gap: var(--spacing-base);
708
+ flex-flow: wrap;
709
+ align-items: flex-start;
710
+ display: flex;
711
+ }
712
+
713
+ :where(.nc-cluster).-inherit {
714
+ gap: var(--cluster-gap, var(--spacing-base));
715
+ }
716
+
717
+ :where(.nc-cluster).-centered {
718
+ align-items: center;
719
+ }
720
+
721
+ :where(.nc-cluster).-nowrap {
722
+ flex-wrap: nowrap;
723
+ }
724
+
725
+ :where(.nc-cluster).-between {
726
+ justify-content: space-between;
727
+ }
728
+
729
+ :where(.nc-with-sidebar) {
730
+ align-items: flex-start;
731
+ gap: var(--with-sidebar-gap, var(--spacing-far));
732
+ flex-wrap: wrap;
733
+ inline-size: 100%;
734
+ display: flex;
735
+ }
736
+
737
+ :where(.nc-with-sidebar) > [data-aside] {
738
+ flex-grow: 1;
739
+ flex-basis: var(--with-sidebar-target-width, 20rem);
740
+ min-width: min-content;
741
+ }
742
+
743
+ :where(.nc-with-sidebar) > [data-grow] {
744
+ min-width: var(--with-sidebar-min-size, 50%);
745
+ flex-grow: 999;
746
+ flex-basis: 0;
747
+ }
748
+
749
+ :where(.nc-with-sidebar)[data-direction="rtl"] {
750
+ flex-direction: row-reverse;
751
+ }
752
+
753
+ :where(.nc-with-sidebar).-centered {
754
+ align-items: center;
755
+ }
756
+
757
+ :where(.nc-grid) {
758
+ grid-template-columns: repeat(var(--grid-placement, auto-fill), minmax(var(--grid-min-item-size, 16rem), 1fr));
759
+ gap: var(--grid-gap, var(--spacing-base));
760
+ display: grid;
761
+ }
762
+
763
+ :where(.nc-grid)[data-layout="50-50"] {
764
+ --grid-placement: auto-fit;
765
+ --grid-min-item-size: clamp(16rem, 50vw, 33rem);
766
+ }
767
+
768
+ :where(.nc-grid)[data-layout="thirds"] {
769
+ --grid-placement: auto-fit;
770
+ --grid-min-item-size: clamp(16rem, 33%, 20rem);
771
+ }
772
+
773
+ :where(.nc-switcher) {
774
+ gap: var(--switcher-gap, var(--spacing-base));
775
+ align-items: var(--switcher-vertical-alignment, flex-start);
776
+ flex-wrap: wrap;
777
+ display: flex;
778
+ }
779
+
780
+ :where(.nc-switcher) > * {
781
+ flex-grow: 1;
782
+ flex-basis: calc((var(--switcher-target-container-width, 40rem) - 100%) * 999);
783
+ }
784
+
785
+ :where(.nc-switcher) > :nth-child(n+4) {
786
+ flex-basis: 100%;
787
+ }
788
+
789
+ :where(.nc-pile) {
790
+ grid: [pile] 1fr / [pile] 1fr;
791
+ place-items: center;
792
+ display: grid;
793
+ }
794
+
795
+ :where(.nc-pile) > * {
796
+ grid-area: pile;
797
+ }
798
+
799
+ :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher).-inherit {
800
+ gap: inherit;
801
+ }
802
+
803
+ :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher).-tiny {
804
+ gap: var(--spacing-tiny);
805
+ }
806
+
807
+ :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher).-nearest {
808
+ gap: var(--spacing-nearest);
809
+ }
810
+
811
+ :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher).-near {
812
+ gap: var(--spacing-near);
813
+ }
814
+
815
+ :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher).-base {
816
+ gap: var(--spacing-base);
817
+ }
818
+
819
+ :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher).-far {
820
+ gap: var(--spacing-far);
821
+ }
822
+
823
+ :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher).-farthest {
824
+ gap: var(--spacing-farthest);
825
+ }
826
+
827
+ :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher).-nogap {
828
+ gap: 0;
829
+ }
830
+
831
+ :where(.nc-ram-grid) {
832
+ --_nc-ram-grid-gap-row: var(--nc-ram-grid-gap-row, var(--_nc-ram-grid-gap));
833
+ --_nc-ram-grid-gap-column: var(--nc-ram-grid-gap-column, var(--_nc-ram-grid-gap));
834
+ --_nc-ram-grid-gap: var(--nc-ram-grid-gap, var(--spacing-near));
835
+ --_nc-ram-grid-min-width: var(--nc-ram-grid-min-width, 150px);
836
+ --_nc-ram-grid-repeat-count: var(--nc-ram-grid-repeat-count, auto-fit);
837
+ row-gap: var(--_nc-ram-grid-gap-row);
838
+ column-gap: var(--_nc-ram-grid-gap-column);
839
+ grid-template-columns: repeat(var(--_nc-ram-grid-repeat-count), minmax(min(var(--_nc-ram-grid-min-width), 100%), 1fr));
840
+ display: grid;
841
+ }
842
+ }
843
+
844
+ @layer components, helpers;
845
+
846
+ @layer config.easings {
847
+ :where(html) {
848
+ --ease-1: cubic-bezier(.25, 0, .5, 1);
849
+ --ease-2: cubic-bezier(.25, 0, .4, 1);
850
+ --ease-3: cubic-bezier(.25, 0, .3, 1);
851
+ --ease-4: cubic-bezier(.25, 0, .2, 1);
852
+ --ease-5: cubic-bezier(.25, 0, .1, 1);
853
+ --ease-in-1: cubic-bezier(.25, 0, 1, 1);
854
+ --ease-in-2: cubic-bezier(.5, 0, 1, 1);
855
+ --ease-in-3: cubic-bezier(.7, 0, 1, 1);
856
+ --ease-in-4: cubic-bezier(.9, 0, 1, 1);
857
+ --ease-in-5: cubic-bezier(1, 0, 1, 1);
858
+ --ease-out-1: cubic-bezier(0, 0, .75, 1);
859
+ --ease-out-2: cubic-bezier(0, 0, .5, 1);
860
+ --ease-out-3: cubic-bezier(0, 0, .3, 1);
861
+ --ease-out-4: cubic-bezier(0, 0, .1, 1);
862
+ --ease-out-5: cubic-bezier(0, 0, 0, 1);
863
+ --ease-in-out-1: cubic-bezier(.1, 0, .9, 1);
864
+ --ease-in-out-2: cubic-bezier(.3, 0, .7, 1);
865
+ --ease-in-out-3: cubic-bezier(.5, 0, .5, 1);
866
+ --ease-in-out-4: cubic-bezier(.7, 0, .3, 1);
867
+ --ease-in-out-5: cubic-bezier(.9, 0, .1, 1);
868
+ --ease-elastic-out-1: cubic-bezier(.5, .75, .75, 1.25);
869
+ --ease-elastic-out-2: cubic-bezier(.5, 1, .75, 1.25);
870
+ --ease-elastic-out-3: cubic-bezier(.5, 1.25, .75, 1.25);
871
+ --ease-elastic-out-4: cubic-bezier(.5, 1.5, .75, 1.25);
872
+ --ease-elastic-out-5: cubic-bezier(.5, 1.75, .75, 1.25);
873
+ --ease-elastic-in-1: cubic-bezier(.5, -.25, .75, 1);
874
+ --ease-elastic-in-2: cubic-bezier(.5, -.5, .75, 1);
875
+ --ease-elastic-in-3: cubic-bezier(.5, -.75, .75, 1);
876
+ --ease-elastic-in-4: cubic-bezier(.5, -1, .75, 1);
877
+ --ease-elastic-in-5: cubic-bezier(.5, -1.25, .75, 1);
878
+ --ease-elastic-in-out-1: cubic-bezier(.5, -.1, .1, 1.5);
879
+ --ease-elastic-in-out-2: cubic-bezier(.5, -.3, .1, 1.5);
880
+ --ease-elastic-in-out-3: cubic-bezier(.5, -.5, .1, 1.5);
881
+ --ease-elastic-in-out-4: cubic-bezier(.5, -.7, .1, 1.5);
882
+ --ease-elastic-in-out-5: cubic-bezier(.5, -.9, .1, 1.5);
883
+ --ease-step-1: steps(2);
884
+ --ease-step-2: steps(3);
885
+ --ease-step-3: steps(4);
886
+ --ease-step-4: steps(7);
887
+ --ease-step-5: steps(10);
888
+ --ease-elastic-1: var(--ease-elastic-out-1);
889
+ --ease-elastic-2: var(--ease-elastic-out-2);
890
+ --ease-elastic-3: var(--ease-elastic-out-3);
891
+ --ease-elastic-4: var(--ease-elastic-out-4);
892
+ --ease-elastic-5: var(--ease-elastic-out-5);
893
+ --ease-squish-1: var(--ease-elastic-in-out-1);
894
+ --ease-squish-2: var(--ease-elastic-in-out-2);
895
+ --ease-squish-3: var(--ease-elastic-in-out-3);
896
+ --ease-squish-4: var(--ease-elastic-in-out-4);
897
+ --ease-squish-5: var(--ease-elastic-in-out-5);
898
+ --ease-spring-1: linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001);
899
+ --ease-spring-2: linear(0, .007, .029 2.2%, .118 4.7%, .625 14.4%, .826 19%, .902, .962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, .999 61.6%, .995 71.2%, 1);
900
+ --ease-spring-3: linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1);
901
+ --ease-spring-4: linear(0, .009, .037 1.7%, .153 3.6%, .776 10.3%, 1.001, 1.142 16%, 1.185, 1.209 19%, 1.215 19.9% 20.8%, 1.199, 1.165 25%, 1.056 30.3%, 1.008 33%, .973, .955 39.2%, .953 41.1%, .957 43.3%, .998 53.3%, 1.009 59.1% 63.7%, .998 78.9%, 1);
902
+ --ease-spring-5: linear(0, .01, .04 1.6%, .161 3.3%, .816 9.4%, 1.046, 1.189 14.4%, 1.231, 1.254 17%, 1.259, 1.257 18.6%, 1.236, 1.194 22.3%, 1.057 27%, .999 29.4%, .955 32.1%, .942, .935 34.9%, .933, .939 38.4%, 1 47.3%, 1.011, 1.017 52.6%, 1.016 56.4%, 1 65.2%, .996 70.2%, 1.001 87.2%, 1);
903
+ --ease-bounce-1: linear(0, .004, .016, .035, .063, .098, .141, .191, .25, .316, .391 36.8%, .563, .766, 1 58.8%, .946, .908 69.1%, .895, .885, .879, .878, .879, .885, .895, .908 89.7%, .946, 1);
904
+ --ease-bounce-2: linear(0, .004, .016, .035, .063, .098, .141 15.1%, .25, .391, .562, .765, 1, .892 45.2%, .849, .815, .788, .769, .757, .753, .757, .769, .788, .815, .85, .892 75.2%, 1 80.2%, .973, .954, .943, .939, .943, .954, .973, 1);
905
+ --ease-bounce-3: linear(0, .004, .016, .035, .062, .098, .141 11.4%, .25, .39, .562, .764, 1 30.3%, .847 34.8%, .787, .737, .699, .672, .655, .65, .656, .672, .699, .738, .787, .847 61.7%, 1 66.2%, .946, .908, .885 74.2%, .879, .878, .879, .885 79.5%, .908, .946, 1 87.4%, .981, .968, .96, .957, .96, .968, .981, 1);
906
+ --ease-bounce-4: linear(0, .004, .016 3%, .062, .141, .25, .391, .562 18.2%, 1 24.3%, .81, .676 32.3%, .629, .595, .575, .568, .575, .595, .629, .676 48.2%, .811, 1 56.2%, .918, .86, .825, .814, .825, .86, .918, 1 77.2%, .94 80.6%, .925, .92, .925, .94 87.5%, 1 90.9%, .974, .965, .974, 1);
907
+ --ease-bounce-5: linear(0, .004, .016 2.5%, .063, .141, .25 10.1%, .562, 1 20.2%, .783, .627, .534 30.9%, .511, .503, .511, .534 38%, .627, .782, 1 48.7%, .892, .815, .769 56.3%, .757, .753, .757, .769 61.3%, .815, .892, 1 68.8%, .908 72.4%, .885, .878, .885, .908 79.4%, 1 83%, .954 85.5%, .943, .939, .943, .954 90.5%, 1 93%, .977, .97, .977, 1);
908
+ --transition-duration-instant: 0s;
909
+ --transition-duration-short: .1s;
910
+ --transition-duration-base: .2s;
911
+ --transition-duration-long: .3s;
912
+ --transition-duration-entry: 0s;
913
+ --transition-duration-exit: 0s;
914
+ --transition-target-scale: .9;
915
+ }
916
+
917
+ @media (prefers-reduced-motion: reduce) {
918
+ :where(html) {
919
+ --transition-duration-instant: 0s;
920
+ --transition-duration-short: 0s;
921
+ --transition-duration-base: 0s;
922
+ --transition-duration-long: 0s;
923
+ --transition-duration-entry: 0s;
924
+ --transition-duration-exit: 0s;
925
+ }
926
+ }
927
+ }
928
+
929
+ @layer helpers.theme {
930
+ * {
931
+ --text: var(--color-text-muted);
932
+ --color: var(--color-text-muted);
933
+ --surface: transparent;
934
+ --border: var(--color-border-muted);
935
+ --text-hover: var(--color-text-on-emphasis);
936
+ --color-hover: var(--color-text-on-emphasis);
937
+ --surface-hover: var(--color-surface-emphasis);
938
+ --border-hover: var(--color-border-base);
939
+ }
940
+
941
+ .-primary {
942
+ --text: var(--color-brand-primary-emphasis);
943
+ --color: var(--color-brand-primary-base);
944
+ --surface: var(--color-brand-primary-surface);
945
+ --border: var(--color-brand-primary-base);
946
+ --text-hover: var(--color-brand-primary-contrast);
947
+ --color-hover: var(--color-brand-primary-contrast);
948
+ --surface-hover: var(--color-brand-primary-base);
949
+ --border-hover: var(--color-brand-primary-base);
950
+ }
951
+
952
+ .-secondary {
953
+ --text: var(--color-brand-secondary-emphasis);
954
+ --color: var(--color-brand-secondary-base);
955
+ --surface: var(--color-brand-secondary-surface);
956
+ --border: var(--color-brand-secondary-base);
957
+ --text-hover: var(--color-brand-secondary-contrast);
958
+ --color-hover: var(--color-brand-secondary-contrast);
959
+ --surface-hover: var(--color-brand-secondary-base);
960
+ --border-hover: var(--color-brand-secondary-base);
961
+ }
962
+
963
+ .-neutral {
964
+ --text: var(--color-text-muted);
965
+ --color: var(--color-text-muted);
966
+ --surface: transparent;
967
+ --border: var(--color-border-muted);
968
+ --text-hover: var(--color-text-on-emphasis);
969
+ --color-hover: var(--color-text-on-emphasis);
970
+ --surface-hover: var(--color-surface-emphasis);
971
+ --border-hover: var(--color-border-base);
972
+ }
973
+
974
+ .-muted {
975
+ --text: var(--color-text-muted);
976
+ --color: var(--color-text-muted);
977
+ --surface: transparent;
978
+ --text-hover: var(--color-text-base);
979
+ --color-hover: var(--color-text-base);
980
+ --surface-hover: var(--color-surface-subtle);
981
+ --border-hover: var(--color-border-base);
982
+ }
983
+
984
+ .-emphasis {
985
+ --text: var(--color-text-on-emphasis);
986
+ --color: var(--color-text-on-emphasis);
987
+ --surface: var(--color-surface-emphasis);
988
+ --border: var(--color-surface-emphasis);
989
+ --text-hover: var(--color-text-base);
990
+ --color-hover: var(--color-text-base);
991
+ --surface-hover: var(--color-surface-subtle);
992
+ --border-hover: var(--color-border-base);
993
+ }
994
+
995
+ .-info {
996
+ --text: var(--color-status-info-emphasis);
997
+ --color: var(--color-status-info-base);
998
+ --surface: var(--color-status-info-surface);
999
+ --border: var(--color-status-info-base);
1000
+ --text-hover: var(--color-status-info-contrast);
1001
+ --color-hover: var(--color-status-info-contrast);
1002
+ --surface-hover: var(--color-status-info-base);
1003
+ --border-hover: var(--color-status-info-base);
1004
+ }
1005
+
1006
+ .-warning {
1007
+ --text: var(--color-status-warning-emphasis);
1008
+ --color: var(--color-status-warning-base);
1009
+ --surface: var(--color-status-warning-surface);
1010
+ --border: var(--color-status-warning-base);
1011
+ --text-hover: var(--color-status-warning-contrast);
1012
+ --color-hover: var(--color-status-warning-contrast);
1013
+ --surface-hover: var(--color-status-warning-base);
1014
+ --border-hover: var(--color-status-warning-base);
1015
+ }
1016
+
1017
+ .-danger {
1018
+ --text: var(--color-status-danger-emphasis);
1019
+ --color: var(--color-status-danger-base);
1020
+ --surface: var(--color-status-danger-surface);
1021
+ --border: var(--color-status-danger-base);
1022
+ --text-hover: var(--color-status-danger-contrast);
1023
+ --color-hover: var(--color-status-danger-contrast);
1024
+ --surface-hover: var(--color-status-danger-base);
1025
+ --border-hover: var(--color-status-danger-base);
1026
+ }
1027
+
1028
+ .-success {
1029
+ --text: var(--color-status-success-emphasis);
1030
+ --color: var(--color-status-success-base);
1031
+ --surface: var(--color-status-success-surface);
1032
+ --border: var(--color-status-success-base);
1033
+ --text-hover: var(--color-status-success-contrast);
1034
+ --color-hover: var(--color-status-success-contrast);
1035
+ --surface-hover: var(--color-status-success-base);
1036
+ --border-hover: var(--color-status-success-base);
1037
+ }
1038
+ }
1039
+
1040
+ :where(.text-assistive, .sr-only) {
1041
+ clip: rect(0 0 0 0);
1042
+ white-space: nowrap;
1043
+ border: 0;
1044
+ width: 1px;
1045
+ height: 0;
1046
+ margin: 0;
1047
+ padding: 0;
1048
+ position: absolute;
1049
+ overflow: hidden;
1050
+ }
1051
+
1052
+ :where(.break-word) {
1053
+ overflow-wrap: break-word;
1054
+ -webkit-hyphens: auto;
1055
+ hyphens: auto;
1056
+ max-inline-size: 100%;
1057
+ }
1058
+
1059
+ .full-width {
1060
+ inline-size: 100%;
1061
+ }
1062
+
1063
+ .nc-hint {
1064
+ color: var(--color-text-muted);
1065
+ font-size: var(--font-size-small);
1066
+ line-height: var(--line-height-base);
1067
+ }
1068
+
1069
+ .nc-slub {
1070
+ color: var(--color-text-subtle);
1071
+ text-transform: uppercase;
1072
+ letter-spacing: var(--tracking-wide);
1073
+ font-weight: var(--font-weight-active);
1074
+ font-size: var(--font-size-smallest);
1075
+ }
1076
+
1077
+ .allcaps {
1078
+ text-transform: capitalize;
1079
+ }
1080
+
1081
+ .strong {
1082
+ font-weight: var(--font-weight-strong);
1083
+ }
1084
+
1085
+ .font-mono {
1086
+ font-family: var(--font-family-mono);
1087
+ }
1088
+
1089
+ .font-sans {
1090
+ font-family: var(--font-family-sans);
1091
+ }
1092
+
1093
+ .font-serif {
1094
+ font-family: var(--font-family-serif);
1095
+ }
1096
+
1097
+ .font-size-display {
1098
+ font-size: var(--font-size-display);
1099
+ }
1100
+
1101
+ .font-size-largest {
1102
+ font-size: var(--font-size-largest);
1103
+ }
1104
+
1105
+ .font-size-large {
1106
+ font-size: var(--font-size-large);
1107
+ }
1108
+
1109
+ .font-size-base {
1110
+ font-size: var(--font-size-base);
1111
+ }
1112
+
1113
+ .font-size-small {
1114
+ font-size: var(--font-size-small);
1115
+ }
1116
+
1117
+ .font-size-smallest {
1118
+ font-size: var(--font-size-smallest);
1119
+ }
1120
+
1121
+ .mt-base {
1122
+ margin-block-start: var(--spacing-base);
1123
+ }
1124
+
1125
+ .mt-auto {
1126
+ margin-block-start: auto;
1127
+ }
1128
+
1129
+ .ml-auto {
1130
+ margin-inline-start: auto;
1131
+ }
1132
+
1133
+ .mr-auto {
1134
+ margin-inline-end: auto;
1135
+ }