@nordcode/ui 2.2.0 → 2.2.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.
Files changed (74) hide show
  1. package/CHANGELOG.md +65 -53
  2. package/package.json +79 -79
  3. package/src/assets/icons/ArrowRightSolid.svelte +0 -0
  4. package/src/assets/icons/arrow-right-solid.svg +0 -0
  5. package/src/styles/components/inputs/base.css +4 -0
  6. package/src/styles/utils/theme.css +1 -1
  7. package/.idea/copilot.data.migration.agent.xml +0 -6
  8. package/.idea/copilot.data.migration.ask.xml +0 -6
  9. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  10. package/.idea/copilot.data.migration.edit.xml +0 -6
  11. package/.idea/modules.xml +0 -8
  12. package/.idea/ui.iml +0 -9
  13. package/.idea/vcs.xml +0 -6
  14. package/out/bundle.css +0 -1469
  15. package/out/bundle_configless.css +0 -1253
  16. package/out/colors.css +0 -82
  17. package/out/complete.css +0 -2867
  18. package/out/complete_configless.css +0 -2651
  19. package/out/src/assets/fonts/DMMono-Regular.woff +0 -0
  20. package/out/src/assets/fonts/DMMono-Regular.woff2 +0 -0
  21. package/out/src/assets/fonts/fonts.css +0 -7
  22. package/out/src/assets/icons/ArrowRightSolid.svelte +0 -1
  23. package/out/src/assets/icons/arrow-right-solid.svg +0 -1
  24. package/out/src/assets/icons/favicon.png +0 -0
  25. package/out/src/assets/icons/favicon.svg +0 -8
  26. package/out/src/assets/logos/nordcode-logo-icon.svg +0 -3
  27. package/out/src/assets/logos/nordcode-logo.svg +0 -17
  28. package/out/src/modules/copyButtons/ts/copyButtons.ts +0 -9
  29. package/out/src/modules/dialogs/svelte/dialog.svelte +0 -27
  30. package/out/src/modules/dialogs/ts/LICENCE +0 -171
  31. package/out/src/modules/dialogs/ts/dialogs.ts +0 -111
  32. package/out/src/modules/notifications/js/notifications.js +0 -294
  33. package/out/src/modules/notifications/svelte/NotificationCenter.svelte +0 -18
  34. package/out/src/modules/notifications/svelte/NotificationTemplate.svelte +0 -16
  35. package/out/src/modules/sectionObserver/ts/sectionOberserver.ts +0 -34
  36. package/out/src/styles/bundle.css +0 -7
  37. package/out/src/styles/bundle_configless.css +0 -5
  38. package/out/src/styles/complete.css +0 -5
  39. package/out/src/styles/complete_configless.css +0 -5
  40. package/out/src/styles/components/alerts.css +0 -20
  41. package/out/src/styles/components/badges.css +0 -14
  42. package/out/src/styles/components/breadcrumbs.css +0 -37
  43. package/out/src/styles/components/bundle.css +0 -13
  44. package/out/src/styles/components/buttons.css +0 -260
  45. package/out/src/styles/components/card.css +0 -55
  46. package/out/src/styles/components/dialogs.css +0 -138
  47. package/out/src/styles/components/forms.css +0 -41
  48. package/out/src/styles/components/gallery.css +0 -66
  49. package/out/src/styles/components/icons.css +0 -60
  50. package/out/src/styles/components/inputs/base.css +0 -249
  51. package/out/src/styles/components/inputs/bundle.css +0 -5
  52. package/out/src/styles/components/inputs/fields.css +0 -76
  53. package/out/src/styles/components/inputs/segmented.css +0 -114
  54. package/out/src/styles/components/inputs/switch.css +0 -42
  55. package/out/src/styles/components/inputs/tag-select.css +0 -41
  56. package/out/src/styles/components/lists.css +0 -40
  57. package/out/src/styles/components/notifications.css +0 -135
  58. package/out/src/styles/components/tables.css +0 -7
  59. package/out/src/styles/config/bundle.css +0 -2
  60. package/out/src/styles/config/config.css +0 -700
  61. package/out/src/styles/config/extras.css +0 -12
  62. package/out/src/styles/exceptions/bundle.css +0 -3
  63. package/out/src/styles/exceptions/misc.css +0 -21
  64. package/out/src/styles/exceptions/spacings.css +0 -15
  65. package/out/src/styles/exceptions/typography.css +0 -57
  66. package/out/src/styles/theme/colors.css +0 -165
  67. package/out/src/styles/theme/colors_processed.css +0 -87
  68. package/out/src/styles/utils/base.css +0 -415
  69. package/out/src/styles/utils/bundle.css +0 -6
  70. package/out/src/styles/utils/easings.css +0 -364
  71. package/out/src/styles/utils/layouts.css +0 -281
  72. package/out/src/styles/utils/media.css +0 -55
  73. package/out/src/styles/utils/reset.css +0 -145
  74. package/out/src/styles/utils/theme.css +0 -125
@@ -1,2651 +0,0 @@
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(:root) {
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
- --triangle-down-url: var(--lightningcss-light, var(--triangle-down-url-light)) var(--lightningcss-dark, var(--triangle-down-url-dark));
82
- --triangle-up-url: var(--lightningcss-light, var(--triangle-up-url-light)) var(--lightningcss-dark, var(--triangle-up-url-dark));
83
- }
84
- }
85
-
86
- @layer reset {
87
- *, :after, :before {
88
- box-sizing: border-box;
89
- }
90
-
91
- :where(:not(dialog)) {
92
- margin: 0;
93
- }
94
-
95
- :where(:not(fieldset, progress, meter)) {
96
- background-repeat: no-repeat;
97
- background-origin: border-box;
98
- border-style: solid;
99
- border-width: 0;
100
- }
101
-
102
- :where(:focus-visible) {
103
- transition: outline-offset var(--transition-duration-quick-1) var(--ease-2);
104
- }
105
-
106
- :where(:not(:active):focus-visible) {
107
- outline: 2px solid var(--color-brand-primary-base);
108
- box-shadow: 0 0 0 2px var(--color-surface-base);
109
- outline-offset: 2px;
110
- }
111
-
112
- :where(:focus:not(:focus-visible)) {
113
- outline: none;
114
- }
115
-
116
- :where(:root) {
117
- -webkit-text-size-adjust: none;
118
- -moz-text-size-adjust: none;
119
- text-size-adjust: none;
120
- block-size: 100%;
121
- color: var(--color-text-base);
122
- background-color: var(--color-surface-muted);
123
- font-family: var(--font-family-default);
124
- line-height: var(--line-height-base);
125
- font-weight: var(--font-weight-default);
126
- font-size-adjust: from-font;
127
- interpolate-size: allow-keywords;
128
- font-kerning: normal;
129
- -moz-osx-font-smoothing: grayscale;
130
- -webkit-font-smoothing: antialiased;
131
- hanging-punctuation: first allow-end last;
132
- word-break: break-word;
133
- }
134
-
135
- :where(body) {
136
- -webkit-text-decoration-skip-ink: auto;
137
- text-decoration-skip-ink: auto;
138
- font-optical-sizing: auto;
139
- font-kerning: normal;
140
- min-block-size: 100vh;
141
- }
142
-
143
- :where(ul[role="list"], ol[role="list"]) {
144
- list-style: none;
145
- }
146
-
147
- :where(h1, h2, h3, h4) {
148
- text-wrap: balance;
149
- }
150
-
151
- :where(a:not([class])) {
152
- color: currentColor;
153
- }
154
-
155
- :where(img, svg, video, canvas, audio, iframe, embed, object) {
156
- display: block;
157
- }
158
-
159
- :where(svg) {
160
- flex: none;
161
- }
162
-
163
- :where(img, svg, video) {
164
- block-size: auto;
165
- max-inline-size: 100%;
166
- }
167
-
168
- :where(figure) {
169
- grid-template-rows: 1fr auto;
170
- place-content: center;
171
- gap: 0;
172
- display: grid;
173
- }
174
-
175
- :where(a[href], area, button, input:not([type="text"], [type="email"], [type="number"], [type="password"], [type=""], [type="tel"], [type="url"]), label[for], select, summary, [tabindex]:not([tabindex*="-"], pre)) {
176
- cursor: pointer;
177
- }
178
-
179
- :where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
180
- touch-action: manipulation;
181
- -webkit-tap-highlight-color: transparent;
182
- }
183
-
184
- :where(input, button, textarea, select) {
185
- font: inherit;
186
- color: inherit;
187
- letter-spacing: inherit;
188
- }
189
-
190
- :where(input[type="file"])::-webkit-file-upload-button {
191
- font: inherit;
192
- color: inherit;
193
- letter-spacing: inherit;
194
- }
195
-
196
- :where(html) {
197
- overflow-y: scroll;
198
- }
199
-
200
- @supports (scrollbar-gutter: stable) {
201
- :where(html) {
202
- scrollbar-gutter: stable;
203
- overflow-y: auto;
204
- }
205
- }
206
-
207
- :where(pre) {
208
- white-space: pre-wrap;
209
- }
210
- }
211
-
212
- @layer base {
213
- :where(:root) {
214
- accent-color: var(--color-brand-primary-base);
215
- caret-color: var(--color-brand-primary-base);
216
- scrollbar-color: var(--color-text-subtle) transparent;
217
- }
218
-
219
- :where(dt) {
220
- font-weight: var(--font-weight-active);
221
- color: var(--color-text-base);
222
- }
223
-
224
- :where(dd) {
225
- font-weight: var(--font-weight-default);
226
- color: var(--color-text-base);
227
- }
228
-
229
- :where(dd):not(:last-of-type) {
230
- border-bottom: var(--border-width-thin) solid var(--color-border-muted);
231
- padding-block-end: var(--control-spacing-base, .75em);
232
- }
233
-
234
- :where(dl:not([class]), .nc-description-list) {
235
- overflow-wrap: anywhere;
236
- align-items: flex-start;
237
- row-gap: var(--control-spacing-base, .75em);
238
- grid-template-columns: .25fr .75fr;
239
- inline-size: 100%;
240
- max-inline-size: 100%;
241
- display: grid;
242
- container: description-list / inline-size;
243
- }
244
-
245
- :where(dd, dt) {
246
- max-inline-size: var(--measure-base);
247
- grid-column: 1 / span 2;
248
- }
249
-
250
- @container description-list (width >= 30rem) {
251
- :where(dt) {
252
- grid-column: 1 / 1;
253
- min-block-size: 100%;
254
- padding-block-end: 0;
255
- padding-inline-end: var(--control-spacing-base, 1em);
256
- }
257
-
258
- :where(dt):not(:last-of-type) {
259
- border-bottom: var(--border-width-thin) solid var(--color-border-muted);
260
- padding-block-end: var(--control-spacing-base, .75em);
261
- }
262
-
263
- :where(dd) {
264
- grid-column: 2 / 2;
265
- min-block-size: 100%;
266
- }
267
- }
268
-
269
- :where(small) {
270
- font-size: var(--font-size-small);
271
- }
272
-
273
- :where(figure) {
274
- border-radius: var(--border-radius-medium);
275
- }
276
-
277
- :where(figure) :where(img, picture) {
278
- border-start-start-radius: inherit;
279
- border-start-end-radius: inherit;
280
- }
281
-
282
- :where(figure) :where(figcaption) {
283
- text-align: center;
284
- border-end-end-radius: inherit;
285
- border-end-start-radius: inherit;
286
- }
287
-
288
- :where(figcaption) {
289
- color: var(--color-surface-subtle);
290
- background-color: var(--color-text-base);
291
- padding: var(--control-spacing-nearest, .375em) var(--control-spacing-base, .75em);
292
- display: block;
293
- }
294
-
295
- :where(details) {
296
- --p-x-details: var(--control-spacing-far, 1em);
297
- --p-y-details: var(--control-spacing-far, 1em);
298
- --b-r-details: var(--border-radius-medium);
299
- background-color: var(--color-surface-muted);
300
- border-radius: var(--b-r-details);
301
- padding: var(--p-y-details) var(--p-x-details);
302
- inline-size: 100%;
303
- box-shadow: 0 0 0 var(--border-width-thin) var(--color-border-base);
304
- }
305
-
306
- :where(details) > summary {
307
- color: var(--color-text-base);
308
- background: var(--color-surface-subtle);
309
- font-weight: var(--font-weight-heading);
310
- border-radius: var(--b-r-details);
311
- padding: var(--p-y-details) var(--p-x-details);
312
- margin: calc(-1 * var(--p-y-details)) calc(-1 * var(--p-x-details));
313
- }
314
-
315
- :where(details)[open] > summary {
316
- border-end-end-radius: 0;
317
- border-end-start-radius: 0;
318
- margin-block-end: var(--p-y-details);
319
- }
320
-
321
- .note, blockquote {
322
- inline-size: 100%;
323
- color: var(--color-text-base);
324
- font-family: var(--font-family-serif);
325
- quotes: auto;
326
- font-size: var(--font-size-large);
327
- margin-inline: 0;
328
- padding: 0;
329
- padding-inline-start: var(--control-spacing-far, 1em);
330
- position: relative;
331
- }
332
-
333
- :is(.note, blockquote) p {
334
- max-inline-size: var(--measure-base);
335
- }
336
-
337
- :is(.note, blockquote) p:first-of-type:before {
338
- content: open-quote;
339
- }
340
-
341
- :is(.note, blockquote) p:last-of-type:after {
342
- content: close-quote;
343
- }
344
-
345
- :is(.note, blockquote) cite {
346
- font-family: var(--font-family-default);
347
- font-size: var(--font-size-base);
348
- max-inline-size: max-content;
349
- color: color-mix(in oklch, currentColor calc(var(--transparency-weaker) * 100%), transparent);
350
- margin-block-start: var(--spacing-near);
351
- display: block;
352
- }
353
-
354
- :is(.note, blockquote) cite:before {
355
- content: "—";
356
- margin-inline-end: var(--control-spacing-near, .5em);
357
- }
358
-
359
- cite {
360
- font-family: var(--font-family-serif);
361
- font-style: normal;
362
- }
363
-
364
- :where(hr) {
365
- inline-size: 100%;
366
- block-size: var(--border-width-medium);
367
- background: var(--color-border-base);
368
- border-block-start: 0;
369
- }
370
-
371
- :where(h1, h2, h3, h4, h5, h6) {
372
- line-height: var(--line-height-small);
373
- color: inherit;
374
- max-inline-size: 100%;
375
- font-weight: var(--font-weight-heading);
376
- }
377
-
378
- :where(h1) {
379
- font-size: var(--font-size-display);
380
- }
381
-
382
- :where(h2) {
383
- font-size: var(--font-size-largest);
384
- }
385
-
386
- :where(h3) {
387
- font-size: var(--font-size-large);
388
- }
389
-
390
- :where(h4) {
391
- font-size: var(--font-size-base);
392
- }
393
-
394
- :where(h5) {
395
- font-size: var(--font-size-small);
396
- }
397
-
398
- :where(h6) {
399
- font-size: var(--font-size-smallest);
400
- }
401
-
402
- ::marker {
403
- color: var(--color-brand-primary-base);
404
- }
405
-
406
- ::selection {
407
- background-color: var(--color-brand-primary-base);
408
- color: var(--color-brand-primary-contrast);
409
- }
410
-
411
- ::target-text {
412
- background-color: var(--color-brand-primary-base);
413
- color: var(--color-brand-primary-contrast);
414
- }
415
-
416
- :where(a, .nc-link) {
417
- color: inherit;
418
- font-family: var(--font-family-link);
419
- text-underline-offset: var(--control-spacing-nearest, .375em);
420
- font-weight: var(--font-weight-default);
421
- cursor: pointer;
422
- letter-spacing: var(--tracking-tight);
423
- text-decoration: underline;
424
- text-decoration-thickness: .1em;
425
- }
426
-
427
- :where(a, .nc-link):visited {
428
- opacity: .72;
429
- }
430
-
431
- :where(a, .nc-link):hover {
432
- -webkit-text-decoration-color: var(--color-brand-primary-base);
433
- text-decoration-color: var(--color-brand-primary-base);
434
- }
435
-
436
- :where(em, i) {
437
- font-family: var(--font-family-serif);
438
- }
439
-
440
- :where(strong, b) {
441
- font-weight: var(--font-weight-strong);
442
- }
443
-
444
- :where(dfn, var) {
445
- font-family: var(--font-family-mono);
446
- letter-spacing: var(--tracking-tight);
447
- font-weight: var(--font-weight-default);
448
- }
449
-
450
- :where(abbr) {
451
- -webkit-text-decoration-color: var(--color-brand-primary-base);
452
- text-decoration-color: var(--color-brand-primary-base);
453
- font-variant-numeric: oldstyle-nums;
454
- font-size: 110%;
455
- font-variant-caps: all-small-caps;
456
- }
457
-
458
- :where([aria-disabled="true"], .disabled, :disabled) {
459
- color: inherit;
460
- opacity: 1;
461
- cursor: not-allowed;
462
- filter: contrast(.64) opacity(.64);
463
- }
464
-
465
- :where(del, ins, mark, code, kbd, var) {
466
- padding-inline: var(--control-spacing-tiny, .25em);
467
- border-radius: var(--border-radius-small);
468
- line-height: inherit;
469
- -webkit-box-decoration-break: clone;
470
- box-decoration-break: clone;
471
- }
472
-
473
- :where(code, kbd, var) {
474
- font-family: var(--font-family-mono);
475
- letter-spacing: 0;
476
- font-weight: var(--font-weight-default);
477
- padding-block: var(--control-spacing-minimal, .125em);
478
- -webkit-hyphens: none;
479
- hyphens: none;
480
- tab-size: 4;
481
- text-align: left;
482
- word-spacing: normal;
483
- overflow-wrap: normal;
484
- max-inline-size: fit-content;
485
- font-style: normal;
486
- }
487
-
488
- :where(code) {
489
- background: var(--color-surface-subtle);
490
- }
491
-
492
- :where(var) {
493
- background: var(--color-brand-primary-surface);
494
- color: var(--color-brand-primary-emphasis);
495
- }
496
-
497
- :where(kbd) {
498
- background: var(--color-surface-subtle);
499
- border: var(--border-width-thin) solid var(--color-border-base);
500
- box-shadow: var(--shadow-nearest);
501
- font-weight: var(--font-weight-active);
502
- }
503
-
504
- :where(pre) {
505
- padding: var(--control-spacing-far, 1em);
506
- inline-size: 100%;
507
- color: var(--color-text-base);
508
- border: var(--border-width-medium) solid var(--color-border-base);
509
- border-radius: var(--border-radius-medium);
510
- background: var(--color-surface-subtle);
511
- -webkit-overflow-scrolling: touch;
512
- overflow-x: auto;
513
- }
514
-
515
- :where(pre) code {
516
- white-space: pre;
517
- background: none;
518
- border-radius: 0;
519
- padding: 0;
520
- }
521
-
522
- :where(table) {
523
- --_nc-table-border-radius: var(--nc-table-border-radius, var(--border-radius-medium));
524
- border-collapse: separate;
525
- border-spacing: 0;
526
- text-align: left;
527
- border: var(--border-width-medium) solid var(--color-border-base);
528
- border-radius: var(--_nc-table-border-radius);
529
- inline-size: 100%;
530
- }
531
-
532
- :where(table > thead th:first-child) {
533
- border-start-start-radius: var(--_nc-table-border-radius);
534
- }
535
-
536
- :where(table > thead th:last-child) {
537
- border-start-end-radius: var(--_nc-table-border-radius);
538
- }
539
-
540
- :where(table > tfoot th:first-child) {
541
- border-end-start-radius: var(--_nc-table-border-radius);
542
- }
543
-
544
- :where(table > tfoot th:last-child) {
545
- border-end-end-radius: var(--_nc-table-border-radius);
546
- }
547
-
548
- :where(td, th) {
549
- padding: var(--control-spacing-near, .5em);
550
- line-height: var(--line-height-small);
551
- white-space: nowrap;
552
- font-variant-numeric: tabular-nums;
553
- }
554
-
555
- :where(td), :where(thead th) {
556
- border-block-end: var(--border-width-thin) solid var(--color-border-muted);
557
- }
558
-
559
- :where(tfoot th) {
560
- border-block-start: var(--border-width-thin) solid var(--color-border-muted);
561
- }
562
-
563
- :where(th) {
564
- font-weight: var(--font-weight-active);
565
- color: var(--color-text-muted);
566
- background-color: var(--color-surface-subtle);
567
- }
568
-
569
- :where(tbody tr:hover) {
570
- background: var(--color-brand-primary-hover);
571
- }
572
-
573
- :where(caption) {
574
- color: var(--color-text-base);
575
- }
576
-
577
- :where(tr:has(td) th) {
578
- border-block-end: var(--border-width-thin) solid var(--color-border-muted);
579
- border-inline-end: var(--border-width-thin) solid var(--color-border-muted);
580
- }
581
-
582
- :where(tr:last-child:has(td) th) {
583
- border-block-end: none;
584
- }
585
-
586
- :where(tr:last-child > td) {
587
- border: none;
588
- }
589
-
590
- :where(tbody tr:nth-child(2n) > td) {
591
- background-color: var(--color-surface-muted);
592
- }
593
-
594
- :where(td, math, time[datetime*=":"]) {
595
- font-variant-numeric: tabular-nums lining-nums slashed-zero;
596
- }
597
-
598
- :target {
599
- scroll-margin-block-start: 2ex;
600
- }
601
-
602
- :where(del) {
603
- color: var(--color-status-danger-emphasis);
604
- -webkit-text-decoration-color: var(--color-status-danger-emphasis);
605
- text-decoration-color: var(--color-status-danger-emphasis);
606
- background: var(--color-status-danger-surface);
607
- }
608
-
609
- :where(ins) {
610
- color: var(--color-status-success-emphasis);
611
- -webkit-text-decoration-color: var(--color-status-success-emphasis);
612
- text-decoration-color: var(--color-status-success-emphasis);
613
- background: var(--color-status-success-surface);
614
- }
615
-
616
- :where(mark) {
617
- color: var(--color-brand-primary-emphasis);
618
- background: var(--color-brand-primary-surface);
619
- }
620
-
621
- :where(ul, ol) {
622
- padding-inline-start: var(--control-spacing-farthest, 1.5em);
623
- }
624
-
625
- :where(li + li), :where(li > :is(ul, ol)) {
626
- margin-block-start: var(--control-spacing-near, .5em);
627
- }
628
-
629
- @supports (font-variant-position: sub) {
630
- :where(sub) {
631
- vertical-align: baseline;
632
- font-size: 100%;
633
- line-height: inherit;
634
- font-variant-position: sub;
635
- }
636
- }
637
-
638
- @supports (font-variant-position: super) {
639
- :where(sup) {
640
- vertical-align: baseline;
641
- font-size: 100%;
642
- line-height: inherit;
643
- font-variant-position: super;
644
- }
645
- }
646
-
647
- :lang(en) > * {
648
- quotes: "“" "”" "‘" "’";
649
- }
650
-
651
- :lang(de) > * {
652
- quotes: "„" "“" "‚" "‘";
653
- }
654
-
655
- :where() {
656
- content: open-quote;
657
- content: close-quote;
658
- content: "“";
659
- content: "”";
660
- margin-inline-start: calc(-1 * var(--control-spacing-near, .5em));
661
- }
662
-
663
- :where(.quoted p) {
664
- hanging-punctuation: first last;
665
- }
666
-
667
- @supports (hanging-punctuation: first last) {
668
- :where() {
669
- margin-inline-start: 0;
670
- }
671
- }
672
-
673
- :where(.prose) {
674
- -webkit-hyphens: auto;
675
- hyphens: auto;
676
- hyphenate-limit-chars: 7 4 3;
677
- hyphenate-limit-lines: 2;
678
- hyphenate-limit-zone: 8%;
679
- hyphenate-limit-last: always;
680
- text-wrap: pretty;
681
- }
682
-
683
- :where(.prose p) {
684
- text-wrap: pretty;
685
- font-variant-numeric: oldstyle-nums proportional-nums;
686
- max-inline-size: var(--measure-base);
687
- }
688
-
689
- :where(.prose pre, .prose code, .prose var, .prose samp, .prose kbd, .prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6) {
690
- -webkit-hyphens: manual;
691
- hyphens: manual;
692
- }
693
- }
694
-
695
- @layer utils {
696
- :where(.nc-box) {
697
- padding: var(--spacing-base);
698
- }
699
-
700
- :where(.nc-box).-bordered {
701
- border: var(--border-width-thin) solid var(--border, var(--color-border-base));
702
- border-radius: var(--border-radius-medium);
703
- }
704
-
705
- :where(.nc-box).-tiny {
706
- padding: var(--spacing-tiny);
707
- }
708
-
709
- :where(.nc-box).-nearest {
710
- padding: var(--spacing-nearest);
711
- }
712
-
713
- :where(.nc-box).-near {
714
- padding: var(--spacing-near);
715
- }
716
-
717
- :where(.nc-box).-base {
718
- padding: var(--spacing-base);
719
- }
720
-
721
- :where(.nc-box).-far {
722
- padding: var(--spacing-far);
723
- }
724
-
725
- :where(.nc-box).-farthest {
726
- padding: var(--spacing-farthest);
727
- }
728
-
729
- :where(.nc-stack) {
730
- gap: var(--spacing-base);
731
- flex-direction: column;
732
- align-items: flex-start;
733
- display: flex;
734
- }
735
-
736
- :where(.nc-stack).-stretched {
737
- inline-size: 100%;
738
- }
739
-
740
- :where(.nc-stack).-stretched > * {
741
- inline-size: 100%;
742
- }
743
-
744
- :where(.nc-stack).-contained > * {
745
- max-inline-size: 100%;
746
- }
747
-
748
- :where(.nc-flow) > * + * {
749
- margin-block-start: var(--flow-gap, 1lh);
750
- }
751
-
752
- :where(.nc-flow) > * {
753
- max-inline-size: var(--flow-base-meassure, 72ch);
754
- }
755
-
756
- :where(.nc-flow) > :is(h1, h2, h3, h4, h5, h6) {
757
- max-inline-size: var(--flow-headline-meassure, 32ch);
758
- --flow-gap: 1.5lh;
759
- }
760
-
761
- :where(.nc-flow) > :is(h1, h2, h3, h4, h5, h6) + :not([class]) {
762
- --flow-gap: .5lh;
763
- }
764
-
765
- :where(.nc-flow) > figure {
766
- margin-inline: 0;
767
- }
768
-
769
- :where(.nc-flow) .breakAfter {
770
- margin-block-end: auto;
771
- }
772
-
773
- :where(.nc-center) {
774
- box-sizing: content-box;
775
- max-inline-size: var(--center-measure, max-content);
776
- padding-inline: var(--center-padding, 0);
777
- margin-inline: auto;
778
- position: relative;
779
- }
780
-
781
- :where(.nc-region) {
782
- padding-block: var(--region-space, var(--spacing-farthest));
783
- }
784
-
785
- :where(.nc-cluster) {
786
- gap: var(--spacing-base);
787
- flex-flow: wrap;
788
- align-items: flex-start;
789
- display: flex;
790
- }
791
-
792
- :where(.nc-cluster).-centered {
793
- align-items: center;
794
- }
795
-
796
- :where(.nc-cluster).-nowrap {
797
- flex-wrap: nowrap;
798
- }
799
-
800
- :where(.nc-cluster).-between {
801
- justify-content: space-between;
802
- }
803
-
804
- :where(.nc-with-sidebar) {
805
- align-items: flex-start;
806
- gap: var(--with-sidebar-gap, var(--spacing-far));
807
- flex-wrap: wrap;
808
- inline-size: 100%;
809
- display: flex;
810
- }
811
-
812
- :where(.nc-with-sidebar) > [data-aside] {
813
- flex-grow: 1;
814
- flex-basis: var(--with-sidebar-target-width, 20rem);
815
- min-width: min-content;
816
- }
817
-
818
- :where(.nc-with-sidebar) > [data-grow] {
819
- min-width: var(--with-sidebar-min-size, 50%);
820
- flex-grow: 999;
821
- flex-basis: 0;
822
- }
823
-
824
- :where(.nc-with-sidebar)[data-direction="rtl"] {
825
- flex-direction: row-reverse;
826
- }
827
-
828
- :where(.nc-with-sidebar).-centered {
829
- align-items: center;
830
- }
831
-
832
- :where(.nc-grid) {
833
- grid-template-columns: repeat(var(--grid-placement, auto-fill), minmax(var(--grid-min-item-size, 16rem), 1fr));
834
- gap: var(--grid-gap, var(--spacing-base));
835
- display: grid;
836
- }
837
-
838
- :where(.nc-grid)[data-layout="50-50"] {
839
- --grid-placement: auto-fit;
840
- --grid-min-item-size: clamp(16rem, 50vw, 33rem);
841
- }
842
-
843
- :where(.nc-grid)[data-layout="thirds"] {
844
- --grid-placement: auto-fit;
845
- --grid-min-item-size: clamp(16rem, 33%, 20rem);
846
- }
847
-
848
- :where(.nc-switcher) {
849
- gap: var(--switcher-gap, var(--spacing-base));
850
- align-items: var(--switcher-vertical-alignment, flex-start);
851
- flex-wrap: wrap;
852
- display: flex;
853
- }
854
-
855
- :where(.nc-switcher) > * {
856
- flex-grow: 1;
857
- flex-basis: calc((var(--switcher-target-container-width, 40rem) - 100%) * 999);
858
- }
859
-
860
- :where(.nc-switcher) > :nth-child(n+4) {
861
- flex-basis: 100%;
862
- }
863
-
864
- :where(.nc-pile) {
865
- grid: [pile] 1fr / [pile] 1fr;
866
- place-items: center;
867
- display: grid;
868
- }
869
-
870
- :where(.nc-pile) > * {
871
- grid-area: pile;
872
- }
873
-
874
- :where(.nc-ram-grid) {
875
- --_nc-ram-grid-gap-row: var(--nc-ram-grid-gap-row, var(--_nc-ram-grid-gap));
876
- --_nc-ram-grid-gap-column: var(--nc-ram-grid-gap-column, var(--_nc-ram-grid-gap));
877
- --_nc-ram-grid-gap: var(--nc-ram-grid-gap, var(--spacing-near));
878
- --_nc-ram-grid-min-width: var(--nc-ram-grid-min-width, 150px);
879
- --_nc-ram-grid-repeat-count: var(--nc-ram-grid-repeat-count, auto-fit);
880
- gap: var(--_nc-ram-grid-gap-column) var(--_nc-ram-grid-gap-row);
881
- grid-template-columns: repeat(var(--_nc-ram-grid-repeat-count), minmax(min(var(--_nc-ram-grid-min-width), 100%), 1fr));
882
- display: grid;
883
- }
884
-
885
- :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher, .nc-ram-grid).-inherit {
886
- gap: inherit;
887
- }
888
-
889
- :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher, .nc-ram-grid).-tiny {
890
- gap: var(--spacing-tiny);
891
- }
892
-
893
- :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher, .nc-ram-grid).-nearest {
894
- gap: var(--spacing-nearest);
895
- }
896
-
897
- :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher, .nc-ram-grid).-near {
898
- gap: var(--spacing-near);
899
- }
900
-
901
- :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher, .nc-ram-grid).-base {
902
- gap: var(--spacing-base);
903
- }
904
-
905
- :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher, .nc-ram-grid).-far {
906
- gap: var(--spacing-far);
907
- }
908
-
909
- :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher, .nc-ram-grid).-farthest {
910
- gap: var(--spacing-farthest);
911
- }
912
-
913
- :where(.nc-stack, .nc-cluster, .nc-with-sidebar, .nc-grid, .nc-gallery, .nc-switcher, .nc-ram-grid).-nogap {
914
- gap: 0;
915
- }
916
- }
917
-
918
- @layer components, helpers;
919
-
920
- @layer config.easings {
921
- :where(html) {
922
- --ease-1: cubic-bezier(.25, 0, .5, 1);
923
- --ease-2: cubic-bezier(.25, 0, .4, 1);
924
- --ease-3: cubic-bezier(.25, 0, .3, 1);
925
- --ease-4: cubic-bezier(.25, 0, .2, 1);
926
- --ease-5: cubic-bezier(.25, 0, .1, 1);
927
- --ease-in-1: cubic-bezier(.25, 0, 1, 1);
928
- --ease-in-2: cubic-bezier(.5, 0, 1, 1);
929
- --ease-in-3: cubic-bezier(.7, 0, 1, 1);
930
- --ease-in-4: cubic-bezier(.9, 0, 1, 1);
931
- --ease-in-5: cubic-bezier(1, 0, 1, 1);
932
- --ease-out-1: cubic-bezier(0, 0, .75, 1);
933
- --ease-out-2: cubic-bezier(0, 0, .5, 1);
934
- --ease-out-3: cubic-bezier(0, 0, .3, 1);
935
- --ease-out-4: cubic-bezier(0, 0, .1, 1);
936
- --ease-out-5: cubic-bezier(0, 0, 0, 1);
937
- --ease-in-out-1: cubic-bezier(.1, 0, .9, 1);
938
- --ease-in-out-2: cubic-bezier(.3, 0, .7, 1);
939
- --ease-in-out-3: cubic-bezier(.5, 0, .5, 1);
940
- --ease-in-out-4: cubic-bezier(.7, 0, .3, 1);
941
- --ease-in-out-5: cubic-bezier(.9, 0, .1, 1);
942
- --ease-elastic-out-1: cubic-bezier(.5, .75, .75, 1.25);
943
- --ease-elastic-out-2: cubic-bezier(.5, 1, .75, 1.25);
944
- --ease-elastic-out-3: cubic-bezier(.5, 1.25, .75, 1.25);
945
- --ease-elastic-out-4: cubic-bezier(.5, 1.5, .75, 1.25);
946
- --ease-elastic-out-5: cubic-bezier(.5, 1.75, .75, 1.25);
947
- --ease-elastic-in-1: cubic-bezier(.5, -.25, .75, 1);
948
- --ease-elastic-in-2: cubic-bezier(.5, -.5, .75, 1);
949
- --ease-elastic-in-3: cubic-bezier(.5, -.75, .75, 1);
950
- --ease-elastic-in-4: cubic-bezier(.5, -1, .75, 1);
951
- --ease-elastic-in-5: cubic-bezier(.5, -1.25, .75, 1);
952
- --ease-elastic-in-out-1: cubic-bezier(.5, -.1, .1, 1.5);
953
- --ease-elastic-in-out-2: cubic-bezier(.5, -.3, .1, 1.5);
954
- --ease-elastic-in-out-3: cubic-bezier(.5, -.5, .1, 1.5);
955
- --ease-elastic-in-out-4: cubic-bezier(.5, -.7, .1, 1.5);
956
- --ease-elastic-in-out-5: cubic-bezier(.5, -.9, .1, 1.5);
957
- --ease-step-1: steps(2);
958
- --ease-step-2: steps(3);
959
- --ease-step-3: steps(4);
960
- --ease-step-4: steps(7);
961
- --ease-step-5: steps(10);
962
- --ease-elastic-1: var(--ease-elastic-out-1);
963
- --ease-elastic-2: var(--ease-elastic-out-2);
964
- --ease-elastic-3: var(--ease-elastic-out-3);
965
- --ease-elastic-4: var(--ease-elastic-out-4);
966
- --ease-elastic-5: var(--ease-elastic-out-5);
967
- --ease-squish-1: var(--ease-elastic-in-out-1);
968
- --ease-squish-2: var(--ease-elastic-in-out-2);
969
- --ease-squish-3: var(--ease-elastic-in-out-3);
970
- --ease-squish-4: var(--ease-elastic-in-out-4);
971
- --ease-squish-5: var(--ease-elastic-in-out-5);
972
- --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);
973
- --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);
974
- --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);
975
- --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);
976
- --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);
977
- --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);
978
- --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);
979
- --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);
980
- --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);
981
- --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);
982
- --easing-entry: cubic-bezier(.1, 0, 0, 1);
983
- --easing-exit: cubic-bezier(.3, 0, 1, .8);
984
- --transition-duration-instant: 0s;
985
- --transition-duration-quick-1: 80ms;
986
- --transition-duration-quick-2: .12s;
987
- --transition-duration-moderate-1: .18s;
988
- --transition-duration-moderate-2: .26s;
989
- --transition-duration-gentle-1: .32s;
990
- --transition-duration-gentle-2: .42s;
991
- --transition-duration-short: var(--transition-duration-quick-1);
992
- --transition-duration-base: var(--transition-duration-moderate-1);
993
- --transition-duration-long: var(--transition-duration-gentle-1);
994
- --transition-duration-entry: 0s;
995
- --transition-duration-exit: 0s;
996
- --transition-target-scale: .9;
997
- --animated-element-distance: 0;
998
- --animated-element-width: 0;
999
- --animated-element-height: 0;
1000
- --transition-duration-calculated: calc(( .5 * var(--animated-element-distance, 0) + .35 * var(--animated-element-width, 0) + .3 * var(--animated-element-height, 0)) * 1ms);
1001
- }
1002
-
1003
- @media (prefers-reduced-motion: reduce) {
1004
- :where(html) {
1005
- --transition-duration-quick-1: 0s;
1006
- --transition-duration-quick-2: 0s;
1007
- --transition-duration-moderate-1: 0s;
1008
- --transition-duration-moderate-2: 0s;
1009
- --transition-duration-gentle-1: 0s;
1010
- --transition-duration-gentle-2: 0s;
1011
- --transition-duration-calculated: 0s;
1012
- --transition-duration-instant: 0s;
1013
- --transition-duration-entry: 0s;
1014
- --transition-duration-exit: 0s;
1015
- }
1016
- }
1017
- }
1018
-
1019
- @layer helpers.theme {
1020
- * {
1021
- --text: var(--color-text-muted);
1022
- --color: var(--color-text-muted);
1023
- --surface: var(--color-surface-base);
1024
- --border: var(--color-border-muted);
1025
- --text-hover: var(--color-text-on-emphasis);
1026
- --color-hover: var(--color-text-on-emphasis);
1027
- --surface-hover: var(--color-surface-emphasis);
1028
- --border-hover: var(--color-border-base);
1029
- }
1030
-
1031
- .-primary {
1032
- --text: var(--color-brand-primary-emphasis);
1033
- --color: var(--color-brand-primary-base);
1034
- --surface: var(--color-brand-primary-surface);
1035
- --border: var(--color-brand-primary-base);
1036
- --text-hover: var(--color-brand-primary-contrast);
1037
- --color-hover: var(--color-brand-primary-contrast);
1038
- --surface-hover: var(--color-brand-primary-base);
1039
- --border-hover: var(--color-brand-primary-base);
1040
- }
1041
-
1042
- .-secondary {
1043
- --text: var(--color-brand-secondary-emphasis);
1044
- --color: var(--color-brand-secondary-base);
1045
- --surface: var(--color-brand-secondary-surface);
1046
- --border: var(--color-brand-secondary-base);
1047
- --text-hover: var(--color-brand-secondary-contrast);
1048
- --color-hover: var(--color-brand-secondary-contrast);
1049
- --surface-hover: var(--color-brand-secondary-base);
1050
- --border-hover: var(--color-brand-secondary-base);
1051
- }
1052
-
1053
- .-neutral {
1054
- --text: var(--color-text-muted);
1055
- --color: var(--color-text-muted);
1056
- --surface: var(--color-surface-base);
1057
- --border: var(--color-border-muted);
1058
- --text-hover: var(--color-text-on-emphasis);
1059
- --color-hover: var(--color-text-on-emphasis);
1060
- --surface-hover: var(--color-surface-emphasis);
1061
- --border-hover: var(--color-border-base);
1062
- }
1063
-
1064
- .-muted {
1065
- --text: var(--color-text-muted);
1066
- --color: var(--color-text-muted);
1067
- --surface: transparent;
1068
- --text-hover: var(--color-text-base);
1069
- --color-hover: var(--color-text-base);
1070
- --surface-hover: var(--color-surface-subtle);
1071
- --border-hover: var(--color-border-base);
1072
- }
1073
-
1074
- .-emphasis {
1075
- --text: var(--color-text-on-emphasis);
1076
- --color: var(--color-text-on-emphasis);
1077
- --surface: var(--color-surface-emphasis);
1078
- --border: var(--color-surface-emphasis);
1079
- --text-hover: var(--color-text-base);
1080
- --color-hover: var(--color-text-base);
1081
- --surface-hover: var(--color-surface-subtle);
1082
- --border-hover: var(--color-border-base);
1083
- }
1084
-
1085
- .-info {
1086
- --text: var(--color-status-info-emphasis);
1087
- --color: var(--color-status-info-base);
1088
- --surface: var(--color-status-info-surface);
1089
- --border: var(--color-status-info-base);
1090
- --text-hover: var(--color-status-info-contrast);
1091
- --color-hover: var(--color-status-info-contrast);
1092
- --surface-hover: var(--color-status-info-base);
1093
- --border-hover: var(--color-status-info-base);
1094
- }
1095
-
1096
- .-warning {
1097
- --text: var(--color-status-warning-emphasis);
1098
- --color: var(--color-status-warning-base);
1099
- --surface: var(--color-status-warning-surface);
1100
- --border: var(--color-status-warning-base);
1101
- --text-hover: var(--color-status-warning-contrast);
1102
- --color-hover: var(--color-status-warning-contrast);
1103
- --surface-hover: var(--color-status-warning-base);
1104
- --border-hover: var(--color-status-warning-base);
1105
- }
1106
-
1107
- .-danger {
1108
- --text: var(--color-status-danger-emphasis);
1109
- --color: var(--color-status-danger-base);
1110
- --surface: var(--color-status-danger-surface);
1111
- --border: var(--color-status-danger-base);
1112
- --text-hover: var(--color-status-danger-contrast);
1113
- --color-hover: var(--color-status-danger-contrast);
1114
- --surface-hover: var(--color-status-danger-base);
1115
- --border-hover: var(--color-status-danger-base);
1116
- }
1117
-
1118
- .-success {
1119
- --text: var(--color-status-success-emphasis);
1120
- --color: var(--color-status-success-base);
1121
- --surface: var(--color-status-success-surface);
1122
- --border: var(--color-status-success-base);
1123
- --text-hover: var(--color-status-success-contrast);
1124
- --color-hover: var(--color-status-success-contrast);
1125
- --surface-hover: var(--color-status-success-base);
1126
- --border-hover: var(--color-status-success-base);
1127
- }
1128
-
1129
- .themed {
1130
- background: var(--surface);
1131
- color: var(--text);
1132
- }
1133
- }
1134
-
1135
- @layer helpers.conditionalRadius {
1136
- :where(html) {
1137
- --border-radius-cond-small: clamp(0px, calc(100vw - 100%) * 100000, var(--border-radius-small));
1138
- --border-radius-cond-medium: clamp(0px, calc(100vw - 100%) * 100000, var(--border-radius-medium));
1139
- --border-radius-cond-large: clamp(0px, calc(100vw - 100%) * 100000, var(--border-radius-large));
1140
- }
1141
- }
1142
-
1143
- :where(.text-assistive, .sr-only) {
1144
- clip: rect(0 0 0 0);
1145
- white-space: nowrap;
1146
- border: 0;
1147
- width: 1px;
1148
- height: 0;
1149
- margin: 0;
1150
- padding: 0;
1151
- position: absolute;
1152
- overflow: hidden;
1153
- }
1154
-
1155
- :where(.break-word) {
1156
- overflow-wrap: break-word;
1157
- -webkit-hyphens: auto;
1158
- hyphens: auto;
1159
- max-inline-size: 100%;
1160
- }
1161
-
1162
- .full-width {
1163
- inline-size: 100%;
1164
- }
1165
-
1166
- .nc-hint {
1167
- color: var(--color-text-muted);
1168
- font-size: var(--font-size-small);
1169
- line-height: var(--line-height-base);
1170
- }
1171
-
1172
- .nc-slub {
1173
- color: var(--color-text-subtle);
1174
- text-transform: uppercase;
1175
- letter-spacing: var(--tracking-wide);
1176
- font-weight: var(--font-weight-active);
1177
- font-size: var(--font-size-smallest);
1178
- }
1179
-
1180
- .allcaps {
1181
- text-transform: capitalize;
1182
- }
1183
-
1184
- .centered {
1185
- text-align: center;
1186
- text-wrap: balance;
1187
- }
1188
-
1189
- .uppercase {
1190
- text-transform: uppercase;
1191
- --opentype-case: on;
1192
- }
1193
-
1194
- .smallcaps {
1195
- font-variant-numeric: oldstyle-nums;
1196
- font-variant-caps: all-small-caps;
1197
- }
1198
-
1199
- .strong {
1200
- font-weight: var(--font-weight-strong);
1201
- }
1202
-
1203
- .font-mono {
1204
- font-family: var(--font-family-mono);
1205
- }
1206
-
1207
- .font-sans {
1208
- font-family: var(--font-family-sans);
1209
- }
1210
-
1211
- .font-serif {
1212
- font-family: var(--font-family-serif);
1213
- }
1214
-
1215
- .font-size-display {
1216
- font-size: var(--font-size-display);
1217
- }
1218
-
1219
- .font-size-largest {
1220
- font-size: var(--font-size-largest);
1221
- }
1222
-
1223
- .font-size-large {
1224
- font-size: var(--font-size-large);
1225
- }
1226
-
1227
- .font-size-base {
1228
- font-size: var(--font-size-base);
1229
- }
1230
-
1231
- .font-size-small {
1232
- font-size: var(--font-size-small);
1233
- }
1234
-
1235
- .font-size-smallest {
1236
- font-size: var(--font-size-smallest);
1237
- }
1238
-
1239
- .mt-base {
1240
- margin-block-start: var(--spacing-base);
1241
- }
1242
-
1243
- .mt-auto {
1244
- margin-block-start: auto;
1245
- }
1246
-
1247
- .ml-auto {
1248
- margin-inline-start: auto;
1249
- }
1250
-
1251
- .mr-auto {
1252
- margin-inline-end: auto;
1253
- }
1254
-
1255
- @layer components.alerts {
1256
- :where(.nc-alert) {
1257
- background: var(--surface);
1258
- color: var(--text);
1259
- gap: var(--control-spacing-base, .75em);
1260
- }
1261
-
1262
- :where(.nc-alert) > .nc-icon {
1263
- margin-block: calc((var(--line-height-base) - var(--icon-size)) / 2);
1264
- }
1265
-
1266
- :where(.nc-alert-title) {
1267
- font-weight: var(--font-weight-heading);
1268
- }
1269
-
1270
- :where(.nc-alert.-filled) {
1271
- background: var(--surface-hover);
1272
- color: var(--text-hover);
1273
- }
1274
- }
1275
-
1276
- @layer components.badge {
1277
- :where(.badge) {
1278
- font-family: var(--font-family-mono);
1279
- letter-spacing: var(--tracking-tight);
1280
- font-weight: var(--font-weight-default);
1281
- color: var(--text, var(--color-text-base));
1282
- border: var(--border-width-thin) solid var(--text, var(--color-text-base));
1283
- border-radius: var(--border-radius-small);
1284
- background: var(--surface, transparent);
1285
- padding: var(--control-spacing-minimal, .125em) var(--control-spacing-near, .5em);
1286
- inline-size: max-content;
1287
- }
1288
- }
1289
-
1290
- @layer components.breadcrumbs {
1291
- :where(.nc-breadcrumbs) {
1292
- background-color: var(--nc-breadcrumbs-surface, transparent);
1293
- inline-size: max-content;
1294
- max-inline-size: 100%;
1295
- color: var(--nc-breadcrumbs-text, --color-text-muted);
1296
- }
1297
-
1298
- :where(.nc-breadcrumb-item) {
1299
- color: inherit;
1300
- }
1301
-
1302
- :where(.nc-breadcrumb-item):last-child {
1303
- color: var(--color-brand-primary-base);
1304
- }
1305
-
1306
- :where(.nc-breadcrumb-item):not(:last-child):after {
1307
- padding-inline: var(--control-spacing-near, .5em);
1308
- color: inherit;
1309
- content: "›";
1310
- font-size: inherit;
1311
- }
1312
-
1313
- :where(.nc-breadcrumb-link) {
1314
- color: inherit;
1315
- text-decoration: none;
1316
- }
1317
-
1318
- :where(.nc-breadcrumb-link):hover {
1319
- text-decoration: underline;
1320
- }
1321
-
1322
- :where(.nc-breadcrumb-link)[aria-current="page"] {
1323
- pointer-events: none;
1324
- color: var(--nc-breadcrumbs-text-active, --color-text-base);
1325
- }
1326
- }
1327
-
1328
- @layer components.buttons {
1329
- :where(button, input[type="button"], input[type="submit"], input[type="reset"], input[type="file"], .nc-button) {
1330
- --_button-background: var(--button-background, var(--surface-hover));
1331
- --_button-color: var(--button-color, var(--text-hover));
1332
- --_button-border-color: var(--button-border-color, var(--surface-hover));
1333
- --_button-border-radius: var(--button-border-radius, var(--border-radius-medium));
1334
- --_button-background-hover: var(--button-background-hover, var(--surface));
1335
- --_button-background-hover-light: var(--button-background-hover-light, color-mix(in oklch, currentColor calc(var(--transparency-weaker) * 10%), transparent));
1336
- --_button-color-hover: var(--button-color-hover, var(--text));
1337
- --_button-border-color-hover: var(--button-border-color-hover, var(--border));
1338
- --_button-box-shadow: var(--button-box-shadow, var(--shadow-near));
1339
- --_button-hover-shadow: var(--button-hover-shadow, var(--shadow-nearest));
1340
- --_button-padding-inline: var(--button-padding-inline, var(--control-spacing-base, .75em));
1341
- background-color: var(--_button-background);
1342
- color: var(--_button-color);
1343
- border: var(--border-width-thin) solid var(--_button-border-color);
1344
- border-radius: var(--_button-border-radius);
1345
- padding-inline: var(--_button-padding-inline);
1346
- min-block-size: var(--control-height-base);
1347
- font-family: var(--font-family-button);
1348
- letter-spacing: var(--tracking-tight);
1349
- font-weight: var(--font-weight-default);
1350
- font-size: inherit;
1351
- cursor: pointer;
1352
- text-align: center;
1353
- transition: var(--transition-duration-quick-1) var(--ease-2);
1354
- -webkit-text-decoration: unset;
1355
- text-decoration: unset;
1356
- box-shadow: var(--_button-box-shadow);
1357
- -webkit-user-select: none;
1358
- user-select: none;
1359
- justify-content: center;
1360
- align-items: center;
1361
- gap: var(--control-spacing-tiny, .25em);
1362
- -webkit-tap-highlight-color: transparent;
1363
- -webkit-touch-callout: none;
1364
- line-height: var(--line-height-base);
1365
- padding-block: 0;
1366
- transition-property: box-shadow, transform, scale;
1367
- display: inline-flex;
1368
- position: relative;
1369
- }
1370
-
1371
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button):hover {
1372
- background: var(--_button-background-hover);
1373
- color: var(--_button-color-hover);
1374
- border-color: var(--_button-border-color-hover);
1375
- box-shadow: var(--_button-hover-shadow);
1376
- }
1377
-
1378
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button)[aria-pressed="true"] {
1379
- box-shadow: none;
1380
- font-weight: var(--font-weight-active);
1381
- transform: none;
1382
- }
1383
-
1384
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button) > svg {
1385
- pointer-events: none;
1386
- }
1387
-
1388
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button):is(:active, .-active) {
1389
- background-color: var(--_button-background-hover);
1390
- color: var(--_button-color-hover);
1391
- border-color: var(--_button-border-color-hover);
1392
- scale: .98;
1393
- }
1394
-
1395
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-outline {
1396
- color: var(--text);
1397
- border-color: var(--border);
1398
- background-color: #0000;
1399
- }
1400
-
1401
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-outline:hover {
1402
- background-color: var(--_button-background-hover-light);
1403
- color: var(--text);
1404
- border-color: var(--border-hover);
1405
- }
1406
-
1407
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-stealth {
1408
- color: var(--text);
1409
- background-color: #0000;
1410
- border-color: #0000;
1411
- }
1412
-
1413
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-stealth:hover {
1414
- background-color: var(--_button-background-hover-light);
1415
- color: var(--text);
1416
- border-color: #0000;
1417
- }
1418
-
1419
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-stealth {
1420
- box-shadow: none !important;
1421
- transform: none !important;
1422
- }
1423
-
1424
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-small {
1425
- --_button-padding-inline: var(--control-spacing-near, .5em);
1426
- min-block-size: var(--control-height-small);
1427
- }
1428
-
1429
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-round {
1430
- --_button-border-radius: var(--border-radius-round);
1431
- }
1432
-
1433
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-offset {
1434
- --_button-offset-distance: var(--button-offset-distance, calc(-1 * var(--control-spacing-minimal)));
1435
- --_button-offset-distance-hover: var(--button-offset-distance-hover, calc(-.5 * var(--control-spacing-minimal)));
1436
- --_button-transform: translate(var(--_button-offset-distance), var(--_button-offset-distance));
1437
- --_button-hover-transform: translate(var(--_button-offset-distance-hover), var(--_button-offset-distance-hover));
1438
- --button-box-shadow: calc(var(--_button-offset-distance) / -2) calc(var(--_button-offset-distance) / -2) 0 0 var(--shadow-color), calc(var(--_button-offset-distance) * -1) calc(var(--_button-offset-distance) * -1) 0 0 var(--shadow-color), calc(var(--_button-offset-distance) * -1) calc(var(--_button-offset-distance) * -1) calc(var(--_button-offset-distance) * -2) 0 var(--shadow-color);
1439
- --button-hover-shadow: calc(var(--_button-offset-distance-hover) * -1) calc(var(--_button-offset-distance-hover) * -1) 0 0 var(--shadow-color), calc(var(--_button-offset-distance-hover) * -1) calc(var(--_button-offset-distance-hover) * -1) calc(var(--_button-offset-distance-hover) / -2) 0 var(--shadow-color);
1440
- transform: var(--_button-transform);
1441
- inset-block-start: calc(var(--_button-offset-distance) * -1);
1442
- inset-inline-start: calc(var(--_button-offset-distance) * -1);
1443
- }
1444
-
1445
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-offset:hover {
1446
- transform: var(--_button-hover-transform);
1447
- }
1448
-
1449
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-icon.-small {
1450
- padding: 0;
1451
- }
1452
-
1453
- :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-aligned {
1454
- margin-inline: calc(-1 * var(--_button-padding-inline));
1455
- }
1456
-
1457
- :is([aria-label], .-icon):where(button, button, input[type="button"], input[type="submit"], input[type="reset"], .nc-button) {
1458
- --_button-border-radius: var(--border-radius-round);
1459
- aspect-ratio: 1;
1460
- fill: currentColor;
1461
- padding: 0;
1462
- }
1463
-
1464
- :is([aria-label], .-icon):where(button, button, input[type="button"], input[type="submit"], input[type="reset"], .nc-button):after {
1465
- content: "";
1466
- inline-size: max(var(--control-height-base), 100%);
1467
- block-size: max(var(--control-height-base), 100%);
1468
- aspect-ratio: 1;
1469
- z-index: -1;
1470
- pointer-events: all;
1471
- border-radius: 100%;
1472
- position: absolute;
1473
- inset-block-start: calc(-.5 * (var(--control-height-base) - 100%));
1474
- inset-inline-start: calc(-.5 * (var(--control-height-base) - 100%));
1475
- }
1476
-
1477
- [disabled]:where(button, input[type="button"], input[type="submit"], input[type="reset"], .nc-button) {
1478
- --_button-border-color-hover: var(--_button-border-color);
1479
- filter: contrast(.72) opacity(.72);
1480
- cursor: not-allowed;
1481
- --_button-background: none !important;
1482
- --_button-background-hover: none !important;
1483
- --_button-color: var(--color-text-subtle) !important;
1484
- --_button-color-hover: var(--_button-color) !important;
1485
- --_button-border-color: var(--color-text-subtle) !important;
1486
- box-shadow: none !important;
1487
- transform: none !important;
1488
- }
1489
-
1490
- :where(input[type="file"]) {
1491
- color: var(--_input-color);
1492
- background-color: var(--_input-background);
1493
- border: var(--_input-border);
1494
- min-block-size: var(--control-height-base);
1495
- border-radius: var(--_input-border-radius);
1496
- padding-inline-end: var(--contol-spacing-near, .5em);
1497
- padding-inline-start: 0 !important;
1498
- }
1499
-
1500
- :where(input[type="file"])::-webkit-file-upload-button {
1501
- background-color: var(--_button-background);
1502
- color: var(--_button-color);
1503
- padding-inline: var(--_button-padding-inline);
1504
- cursor: pointer;
1505
- box-shadow: none;
1506
- border: none;
1507
- border-start-end-radius: 0;
1508
- border-end-end-radius: 0;
1509
- min-block-size: 100%;
1510
- margin-inline-end: var(--contol-spacing-near, .5em);
1511
- inset-block-start: 0;
1512
- inset-inline-start: 0;
1513
- transform: none;
1514
- }
1515
-
1516
- :where(input[type="file"])::file-selector-button {
1517
- background-color: var(--_button-background);
1518
- color: var(--_button-color);
1519
- padding-inline: var(--_button-padding-inline);
1520
- cursor: pointer;
1521
- box-shadow: none;
1522
- border: none;
1523
- border-start-end-radius: 0;
1524
- border-end-end-radius: 0;
1525
- min-block-size: 100%;
1526
- margin-inline-end: var(--contol-spacing-near, .5em);
1527
- inset-block-start: 0;
1528
- inset-inline-start: 0;
1529
- transform: none;
1530
- }
1531
-
1532
- :where(button[type="reset"], .nc-button.-destructive) {
1533
- --text: var(--color-status-danger-emphasis);
1534
- --color: var(--color-status-danger-base);
1535
- --surface: var(--color-status-danger-surface);
1536
- --border: var(--color-status-danger-base);
1537
- --text-hover: var(--color-status-danger-contrast);
1538
- --color-hover: var(--color-status-danger-contrast);
1539
- --surface-hover: var(--color-status-danger-base);
1540
- --border-hover: var(--color-status-danger-base);
1541
- }
1542
- }
1543
-
1544
- @layer components.cards {
1545
- :where(.nc-card) {
1546
- --_card-background-color: var(--card-background-color, var(--color-surface-base));
1547
- --_card-color: var(--card-color, var(--color-text-base));
1548
- --_card-border-color: var(--card-border-color, var(--color-border-base));
1549
- --_card-shadow: var(--card-shadow, var(--shadow-medium));
1550
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-base));
1551
- --_card-padding-block: var(--card-padding-block, var(--spacing-far));
1552
- --_card-border-radius: var(--card-border-radius, var(--border-radius-large));
1553
- }
1554
-
1555
- :where(.nc-card)[data-size="xs"] {
1556
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-nearest));
1557
- --_card-padding-block: var(--card-padding-block, var(--spacing-near));
1558
- --_card-border-radius: var(--card-border-radius, var(--border-radius-medium));
1559
- }
1560
-
1561
- :where(.nc-card)[data-size="sm"] {
1562
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-near));
1563
- --_card-padding-block: var(--card-padding-block, var(--spacing-base));
1564
- }
1565
-
1566
- :where(.nc-card) {
1567
- box-sizing: border-box;
1568
- inline-size: 100%;
1569
- padding-inline: var(--_card-padding-inline);
1570
- padding-block: var(--_card-padding-block);
1571
- color: var(--_card-color);
1572
- appearance: none;
1573
- border: var(--border-width-thin) solid var(--_card-border-color);
1574
- background-color: var(--_card-background-color);
1575
- border-radius: var(--_card-border-radius);
1576
- box-shadow: var(--_card-shadow);
1577
- transition: border-color var(--transition-duration-quick-2) var(--ease-2);
1578
- display: inline-block;
1579
- overflow: hidden;
1580
- }
1581
-
1582
- @media (width >= 480px) {
1583
- :where(.nc-card) {
1584
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-far));
1585
- }
1586
- }
1587
-
1588
- @media (width >= 1024px) {
1589
- :where(.nc-card) {
1590
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-farthest));
1591
- }
1592
- }
1593
-
1594
- :where(.nc-card):is([href], button) {
1595
- text-decoration: none;
1596
- }
1597
-
1598
- :where(.nc-card):is([href], button):hover {
1599
- border-color: var(--color-brand-primary-base);
1600
- }
1601
-
1602
- :where(.nc-clickable-card) {
1603
- cursor: pointer;
1604
- transition: scale var(--transition-duration-quick-2) var(--ease-out-2);
1605
- position: relative;
1606
- }
1607
-
1608
- :where(.nc-clickable-card):focus-within, :where(.nc-clickable-card):hover {
1609
- outline: var(--border-width-medium) solid var(--color-brand-primary-base);
1610
- }
1611
-
1612
- :where(.nc-clickable-card) a[data-link="main"] {
1613
- font: inherit;
1614
- text-decoration: none;
1615
- }
1616
-
1617
- :where(.nc-clickable-card) a[data-link="main"]:focus-visible, :where(.nc-clickable-card) a[data-link="main"]:focus-within:focus-visible, :where(.nc-clickable-card) a[data-link="main"]:hover {
1618
- outline: none;
1619
- }
1620
-
1621
- :where(.nc-clickable-card) a[data-link="main"]:before {
1622
- content: "";
1623
- position: absolute;
1624
- inset: 0;
1625
- }
1626
-
1627
- :where(.nc-clickable-card) a[data-link="extra"] {
1628
- position: relative;
1629
- }
1630
-
1631
- :where(.nc-clickable-card):has(a[data-link="main"]:active) {
1632
- transform: scale(.99);
1633
- }
1634
- }
1635
-
1636
- @layer components.dialogs {
1637
- :where(.nc-dialog) {
1638
- --_dialog-padding-inline: var(--dialog-padding-inline, var(--spacing-base));
1639
- --_dialog-close-size: var(--dialog-close-size, var(--control-height-base));
1640
- border: var(--border-width-thin) solid var(--color-border-base);
1641
- block-size: max-content;
1642
- inline-size: 100dvw;
1643
- max-inline-size: var(--dialog-max-inline-size, 28rem);
1644
- background: var(--color-surface-base);
1645
- border-radius: var(--dialog-radius, var(--border-radius-medium));
1646
- max-block-size: 100dvh;
1647
- padding: 0;
1648
- overflow: hidden;
1649
- }
1650
-
1651
- @media (width >= 36rem) {
1652
- :where(.nc-dialog) {
1653
- inline-size: calc(100dvw - 2 * var(--layout-padding, var(--spacing-base)));
1654
- max-block-size: var(--dialog-max-block-size, 90dvh);
1655
- box-shadow: var(--shadow-medium);
1656
- margin-inline: auto;
1657
- }
1658
- }
1659
-
1660
- :where(.nc-dialog) {
1661
- --transform-in: perspective(80px) rotateX(.5deg) scale(.9);
1662
- --transform-out: perspective(80px) rotateX(.5deg) scale(.95);
1663
- --transition-time-in: var(--transition-duration-gentle-1);
1664
- --transition-time-out: var(--transition-duration-moderate-1);
1665
- transform: var(--transform-in);
1666
- }
1667
-
1668
- :where(.nc-dialog), :where(.nc-dialog)::backdrop {
1669
- transition: display var(--transition-time-out) allow-discrete, overlay var(--transition-time-out) allow-discrete, transform var(--transition-time-out) var(--ease-in-out-2), opacity var(--transition-duration-moderate-1) var(--ease-in-out-2);
1670
- opacity: 0;
1671
- }
1672
-
1673
- :where(.nc-dialog) {
1674
- transform: var(--transform-out);
1675
- }
1676
-
1677
- :where(.nc-dialog)[open] {
1678
- opacity: 1;
1679
- transform: perspective(80px)rotateX(0)scale(1);
1680
- }
1681
-
1682
- :where(.nc-dialog)[open], :where(.nc-dialog)[open]::backdrop {
1683
- transition: display var(--transition-time-in) allow-discrete, overlay var(--transition-time-in) allow-discrete, transform var(--transition-time-in) var(--ease-in-out-2), opacity var(--transition-time-in) var(--ease-in-out-2);
1684
- }
1685
-
1686
- :where(.nc-dialog)[open]::backdrop {
1687
- -webkit-backdrop-filter: blur(20px);
1688
- backdrop-filter: blur(20px);
1689
- opacity: 1;
1690
- }
1691
-
1692
- @starting-style {
1693
- :where(.nc-dialog)[open], :where(.nc-dialog)[open]::backdrop {
1694
- opacity: 0;
1695
- }
1696
-
1697
- :where(.nc-dialog)[open] {
1698
- transform: var(--transform-in);
1699
- }
1700
- }
1701
-
1702
- :where(.nc-dialog)::backdrop {
1703
- -webkit-backdrop-filter: blur(3px);
1704
- backdrop-filter: blur(3px);
1705
- background: #0000000d;
1706
- }
1707
-
1708
- :where(.nc-dialog) :where(.dialog-container) {
1709
- block-size: max-content;
1710
- inline-size: 100%;
1711
- max-block-size: inherit;
1712
- grid-template: "header header"
1713
- "content content" 1fr
1714
- "footer footer"
1715
- / 1fr 1fr;
1716
- display: grid;
1717
- }
1718
-
1719
- :where(.nc-dialog) :where(.dialog-container) > :first-child {
1720
- border-radius: var(--_dialog-radius) var(--_dialog-radius) 0 0;
1721
- }
1722
-
1723
- :where(.nc-dialog) :where(.dialog-container) > :last-child {
1724
- border-radius: 0 0 var(--_dialog-radius) var(--_dialog-radius);
1725
- }
1726
-
1727
- :where(.nc-dialog) :where(.dialog-header) {
1728
- border-block-end: var(--border-width-thin) solid var(--color-border-muted);
1729
- background-color: var(--color-surface-subtle);
1730
- padding-inline: var(--_dialog-padding-inline);
1731
- grid-area: header;
1732
- grid-template: "title close" / 1fr var(--_dialog-close-size);
1733
- padding-block: var(--spacing-near);
1734
- min-inline-size: calc(2 * var(--spacing-near) + var(--_dialog-close-size));
1735
- align-items: flex-start;
1736
- display: grid;
1737
- }
1738
-
1739
- :where(.nc-dialog) :where(.dialog-header) > button[data-closes-dialog] {
1740
- inline-size: var(--_dialog-close-size);
1741
- block-size: var(--_dialog-close-size);
1742
- grid-area: close;
1743
- }
1744
-
1745
- :where(.nc-dialog) :where(.dialog-title) {
1746
- font-size: var(--font-size-large);
1747
- line-height: var(--_dialog-close-size);
1748
- overflow-wrap: anywhere;
1749
- margin: 0;
1750
- padding: 0;
1751
- }
1752
-
1753
- :where(.nc-dialog) :where(.dialog-content) {
1754
- padding-inline: var(--_dialog-padding-inline);
1755
- padding-block: var(--spacing-near);
1756
- overscroll-behavior: contain;
1757
- scroll-behavior: smooth;
1758
- grid-area: content;
1759
- overflow: auto;
1760
- }
1761
-
1762
- :where(.nc-dialog) :where(.dialog-actions) {
1763
- padding-inline: var(--_dialog-padding-inline);
1764
- padding-block: var(--spacing-near);
1765
- border-block-start: var(--border-width-thin) solid var(--color-border-muted);
1766
- background-color: var(--color-surface-subtle);
1767
- grid-area: footer;
1768
- justify-content: flex-end;
1769
- align-items: flex-start;
1770
- display: flex;
1771
- }
1772
- }
1773
-
1774
- @layer components.forms {
1775
- :where(.nc-form) {
1776
- inline-size: min(100%, var(--nc-form-max-inline-size, var(--measure-base)));
1777
- }
1778
-
1779
- :where(.nc-form-title) {
1780
- font-size: var(--font-size-largest);
1781
- font-weight: var(--font-weight-heading);
1782
- line-height: var(--line-height-small);
1783
- color: var(--color-text-base);
1784
- }
1785
-
1786
- :where(.nc-form-hint) {
1787
- margin-block: var(--control-spacing-base, .75em);
1788
- font-size: var(--font-size-large);
1789
- color: var(--color-text-muted);
1790
- }
1791
-
1792
- :where(fieldset:not([class]), .nc-fieldset) {
1793
- border: none;
1794
- min-inline-size: 0;
1795
- margin: 0;
1796
- padding: 0;
1797
- }
1798
-
1799
- :where(legend:not([class]), .nc-legend) {
1800
- border: none;
1801
- border-radius: 0;
1802
- inline-size: 100%;
1803
- padding: 0;
1804
- }
1805
-
1806
- :where(legend:not([class]), .nc-legend) + * {
1807
- margin-block-start: var(--nc-legend-spacing, var(--control-spacing-far, 1em));
1808
- }
1809
-
1810
- :where(:is(fieldset:not([class]), .nc-fieldset):has(:is(.nc-legend + .nc-hint, legend:not([class]) + .nc-hint)) > :is(legend:not([class]), .nc-legend) + .nc-hint) {
1811
- --nc-legend-spacing: var(--control-spacing-tiny, .25em);
1812
- margin-block: var(--control-spacing-base, .75em);
1813
- }
1814
- }
1815
-
1816
- @layer components.gallery {
1817
- :where(.nc-gallery) {
1818
- gap: var(--gallery-gap, var(--spacing-base));
1819
- max-inline-size: 100%;
1820
- block-size: var(--gallery-size, auto);
1821
- overscroll-behavior-inline: contain;
1822
- scroll-snap-type: inline mandatory;
1823
- scroll-snap-stop: normal;
1824
- scroll-padding-inline: var(--gallery-scroll-padding-inline, var(--spacing-base));
1825
- flex-direction: row;
1826
- margin: 0;
1827
- padding-block-end: var(--gallery-scrollbar-padding, var(--spacing-base));
1828
- list-style: none;
1829
- display: flex;
1830
- overflow-x: auto;
1831
- }
1832
-
1833
- @media (prefers-reduced-motion: no-preference) {
1834
- :where(.nc-gallery) {
1835
- scroll-behavior: smooth;
1836
- }
1837
- }
1838
-
1839
- :where(.nc-gallery) > * {
1840
- scroll-snap-align: start;
1841
- flex: 0 0 var(--gallery-item-size, auto);
1842
- display: inline-block;
1843
- }
1844
-
1845
- :where(.nc-gallery).-custom-scrollbar {
1846
- scrollbar-color: var(--gallery-scrollbar-fg, var(--color-text-on-emphasis)) var(--gallery-scrollbar-bg, var(--color-surface-emphasis));
1847
- }
1848
-
1849
- :where(.nc-gallery).-custom-scrollbar::-webkit-scrollbar {
1850
- block-size: var(--gallery-scrollbar-height, var(--spacing-base));
1851
- }
1852
-
1853
- :where(.nc-gallery).-custom-scrollbar::-webkit-scrollbar-track {
1854
- background-color: var(--gallery-scrollbar-bg, var(--color-surface-emphasis));
1855
- }
1856
-
1857
- :where(.nc-gallery).-custom-scrollbar::-webkit-scrollbar-thumb {
1858
- background-color: var(--gallery-scrollbar-bg, var(--color-surface-emphasis));
1859
- background-image: linear-gradient(var(--gallery-scrollbar-bg, var(--color-surface-emphasis)) 0, var(--gallery-scrollbar-bg, var(--color-surface-emphasis)) calc(var(--gallery-scrollbar-height, var(--spacing-base)) * .25), var(--gallery-scrollbar-fg, var(--color-text-on-emphasis)) calc(var(--gallery-scrollbar-height, var(--spacing-base)) * .25), var(--gallery-scrollbar-fg, var(--color-text-on-emphasis)) calc(var(--gallery-scrollbar-height, var(--spacing-base)) * .75), var(--gallery-scrollbar-bg, var(--color-surface-emphasis)) calc(var(--gallery-scrollbar-height, var(--spacing-base)) * .75));
1860
- }
1861
- }
1862
-
1863
- @layer components.icons {
1864
- :where(.nc-icon) {
1865
- --icon-size: 2ex;
1866
- inline-size: var(--icon-size);
1867
- block-size: var(--icon-size);
1868
- flex-shrink: 0;
1869
- display: block;
1870
- }
1871
-
1872
- :where(.nc-icon)[data-flip="true"] {
1873
- transform: scaleX(-1);
1874
- }
1875
-
1876
- :where(.nc-icon)[data-size="xs"] {
1877
- --icon-size: 1ex;
1878
- }
1879
-
1880
- :where(.nc-icon)[data-size="sm"] {
1881
- --icon-size: 1.5ex;
1882
- }
1883
-
1884
- :where(.nc-icon)[data-size="md"] {
1885
- --icon-size: 2ex;
1886
- }
1887
-
1888
- :where(.nc-icon)[data-size="lg"] {
1889
- --icon-size: 3ex;
1890
- }
1891
-
1892
- :where(.nc-icon)[data-size="xl"] {
1893
- --icon-size: 4ex;
1894
- }
1895
-
1896
- :where(.nc-icon)[data-size="inline"] {
1897
- --icon-size: .75lh;
1898
- }
1899
-
1900
- :where(.nc-icon)[data-size="button"] {
1901
- --icon-size: var(--control-height-base);
1902
- }
1903
-
1904
- :where(.nc-icon)[data-animation="spinning"] {
1905
- animation: 1s linear infinite spinning;
1906
- }
1907
-
1908
- :where(button, .nc-button) > .nc-icon {
1909
- --icon-size: 2ex;
1910
- }
1911
-
1912
- @keyframes spinning {
1913
- from {
1914
- transform: rotate(0);
1915
- }
1916
-
1917
- to {
1918
- transform: rotate(360deg);
1919
- }
1920
- }
1921
- }
1922
-
1923
- @layer base.inputs {
1924
- :where(label, .nc-input-label) {
1925
- font-family: var(--font-family-default);
1926
- letter-spacing: var(--tracking-tight);
1927
- font-weight: var(--font-weight-active);
1928
- color: var(--color-text-base);
1929
- font-size: inherit;
1930
- align-items: center;
1931
- gap: 0;
1932
- display: inline-flex;
1933
- }
1934
-
1935
- :where(input, textarea, select, .nc-input, .nc-select, .nc-textarea, .nc-input-checkbox, .nc-input-radio, .nc-input-label, .nc-input-color, .nc-input-field, .nc-input-error, .nc-checkbox-wrapper, .nc-input-switch, .nc-radio-field, .nc-checkbox-field) {
1936
- --_input-background: var(--input-background, var(--color-surface-subtle));
1937
- --_input-background-active: var(--input-background-active, var(--color-surface-base));
1938
- --_input-color: var(--input-color, var(--color-text-base));
1939
- --_input-border: var(--input-border, var(--border-width-thin) solid var(--color-border-base));
1940
- --_input-border-radius: var(--input-border-radius, var(--border-radius-medium));
1941
- --_input-box-shadow: var(--input-box-shadow, var(--shadow-inset));
1942
- --_input-outline: var(--input-outline, var(--border-width-medium) solid var(--color-brand-primary-base));
1943
- --_input-disabled-filter: var(--input-disabled-filter, contrast(.72) opacity(.72));
1944
- --_input-padding-block: var(--input-padding-block, var(--control-spacing-tiny, .25em));
1945
- --_input-padding-inline: var(--input-padding-inline, var(--control-spacing-base, .75em));
1946
- --_input-hover-background: var(--input-hover-background, var(--color-brand-primary-hover));
1947
- }
1948
-
1949
- :where(input, textarea, select, .nc-input) {
1950
- font: inherit;
1951
- letter-spacing: inherit;
1952
- word-spacing: inherit;
1953
- appearance: none;
1954
- color: var(--_input-color);
1955
- background-color: var(--_input-background);
1956
- border: var(--_input-border);
1957
- border-radius: var(--_input-border-radius);
1958
- block-size: var(--control-height-base);
1959
- padding-inline: var(--_input-padding-inline);
1960
- box-shadow: var(--_input-box-shadow);
1961
- inline-size: var(--input-inline-size, auto);
1962
- line-height: var(--line-height-base);
1963
- }
1964
-
1965
- :where(input, textarea, select, .nc-input):focus-visible {
1966
- outline: var(--_input-outline);
1967
- outline-offset: 0;
1968
- background-color: var(--_input-background-active);
1969
- }
1970
-
1971
- :where(input, textarea, select, .nc-input):disabled {
1972
- filter: var(--_input-disabled-filter);
1973
- cursor: not-allowed;
1974
- }
1975
-
1976
- :where(input, textarea, select, .nc-input):hover {
1977
- background-color: var(--_input-hover-background);
1978
- }
1979
-
1980
- :where(input, textarea, select, .nc-input)::placeholder {
1981
- color: var(--color-text-subtle);
1982
- }
1983
-
1984
- :where(input, textarea, select, .nc-input).-validate:user-valid {
1985
- outline: var(--_input-outline);
1986
- outline-offset: 0;
1987
- outline-color: var(--color-status-success-base);
1988
- }
1989
-
1990
- :where(input, textarea, select, .nc-input).-validate:user-invalid {
1991
- outline: var(--_input-outline);
1992
- outline-offset: 0;
1993
- outline-color: var(--color-status-danger-base);
1994
- }
1995
-
1996
- :where(select, .nc-select) {
1997
- background-image: var(--triangle-down-url);
1998
- background-position: right .5em top 50%;
1999
- background-size: 1em .75em;
2000
- padding-inline-end: 1.75em;
2001
- }
2002
-
2003
- :where(textarea, .nc-textarea) {
2004
- min-block-size: calc(8lh + 2 * var(--_input-padding-block));
2005
- max-block-size: 80svh;
2006
- min-inline-size: var(--input-inline-size, 100%);
2007
- max-inline-size: 100%;
2008
- padding-block: var(--_input-padding-block);
2009
- resize: block;
2010
- field-sizing: content;
2011
- }
2012
-
2013
- :where(input[type="checkbox"], input[type="radio"], .nc-input-checkbox, .nc-input-radio, .nc-input-switch) {
2014
- appearance: none;
2015
- border: var(--_input-border);
2016
- --current-checkbox-bg: var(--_input-background);
2017
- background: var(--current-checkbox-bg);
2018
- block-size: 1lh;
2019
- inline-size: 1lh;
2020
- transition: var(--transition-duration-quick-1) background var(--ease-2);
2021
- box-shadow: var(--_input-box-shadow);
2022
- justify-content: center;
2023
- align-items: center;
2024
- padding: 0;
2025
- display: inline-flex;
2026
- }
2027
-
2028
- :where(input[type="checkbox"], input[type="radio"], .nc-input-checkbox, .nc-input-radio, .nc-input-switch):checked {
2029
- --current-checkbox-bg: var(--color-brand-primary-base);
2030
- background-color: var(--color-brand-primary-base);
2031
- }
2032
-
2033
- :where(input[type="checkbox"], input[type="radio"], .nc-input-checkbox, .nc-input-radio, .nc-input-switch):hover, :where(input[type="checkbox"], input[type="radio"], .nc-input-checkbox, .nc-input-radio, .nc-input-switch):focus-visible {
2034
- background-color: var(--_input-hover-background);
2035
- }
2036
-
2037
- :where(input[type="checkbox"], input[type="radio"], .nc-input-checkbox, .nc-input-radio, .nc-input-switch):checked:hover, :where(input[type="checkbox"], input[type="radio"], .nc-input-checkbox, .nc-input-radio, .nc-input-switch):checked:focus-visible {
2038
- background-color: color-mix(in oklch, var(--current-checkbox-bg), var(--_input-hover-background) 8%);
2039
- }
2040
-
2041
- :where(input[type="checkbox"], .nc-input-checkbox) {
2042
- --_transition-duration: 0s;
2043
- border-radius: var(--_input-border-radius);
2044
- overflow: hidden;
2045
- }
2046
-
2047
- :where(input[type="checkbox"], .nc-input-checkbox):before {
2048
- content: "";
2049
- background-color: var(--color-brand-primary-contrast);
2050
- block-size: .75lh;
2051
- inline-size: .75lh;
2052
- transition: transform var(--ease-out-2) var(--transition-duration-quick-1);
2053
- font-family: var(--font-family-sans);
2054
- --font-weight: var(--font-weight-active);
2055
- color: var(--_input-background);
2056
- clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
2057
- justify-content: center;
2058
- align-items: center;
2059
- line-height: 1;
2060
- display: inline-flex;
2061
- transform: scale(.85)translateX(2em);
2062
- }
2063
-
2064
- :where(input[type="checkbox"], .nc-input-checkbox):checked:before {
2065
- transform: scale(1)translateX(0%);
2066
- }
2067
-
2068
- :where(input[type="radio"], .nc-input-radio) {
2069
- border-radius: var(--border-radius-round);
2070
- overflow: hidden;
2071
- }
2072
-
2073
- :where(input[type="radio"], .nc-input-radio):before {
2074
- content: "";
2075
- border-radius: var(--border-radius-round);
2076
- background-color: var(--color-brand-primary-contrast);
2077
- block-size: 50%;
2078
- inline-size: 50%;
2079
- transition: transform var(--ease-out-2) var(--transition-duration-quick-1);
2080
- display: inline-flex;
2081
- transform: scale(.85)translateX(2em);
2082
- }
2083
-
2084
- :where(input[type="radio"], .nc-input-radio):checked:before {
2085
- transform: scale(1)translateX(0%);
2086
- }
2087
-
2088
- :where(input[type="color"], .nc-input-color) {
2089
- aspect-ratio: 1;
2090
- inline-size: auto;
2091
- padding: var(--control-spacing-nearest, .125em);
2092
- }
2093
-
2094
- :where(input[type="date"], .nc-input-date) {
2095
- flex-flow: row;
2096
- }
2097
-
2098
- :where(input[type="range"], .nc-input-range) > .nc-hint {
2099
- margin-inline-start: auto;
2100
- }
2101
-
2102
- :where(input[type="range"], .nc-input-range)::-webkit-slider-thumb {
2103
- appearance: none;
2104
- inline-size: calc(var(--control-height-base) * .625);
2105
- block-size: calc(var(--control-height-base) * .625);
2106
- border-radius: var(--_input-border-radius);
2107
- border: var(--_input-border);
2108
- border-color: var(--color-text-base);
2109
- background-color: var(--color-text-base);
2110
- box-shadow: var(--shadow-near);
2111
- cursor: pointer;
2112
- }
2113
-
2114
- :where(input[type="range"], .nc-input-range)::-webkit-slider-thumb:hover {
2115
- background-color: var(--color-brand-primary-base);
2116
- border-color: var(--color-brand-primary-base);
2117
- }
2118
-
2119
- :where(input[type="range"], .nc-input-range)::-moz-range-thumb {
2120
- appearance: none;
2121
- inline-size: calc(var(--control-height-base) * .625);
2122
- block-size: calc(var(--control-height-base) * .625);
2123
- border-radius: var(--_input-border-radius);
2124
- border: var(--_input-border);
2125
- border-color: var(--color-text-base);
2126
- background-color: var(--color-text-base);
2127
- box-shadow: var(--shadow-near);
2128
- cursor: pointer;
2129
- }
2130
-
2131
- :where(input[type="range"], .nc-input-range)::-moz-range-thumb:hover {
2132
- background-color: var(--color-brand-primary-base);
2133
- border-color: var(--color-brand-primary-base);
2134
- }
2135
- }
2136
-
2137
- @layer components.input-fields {
2138
- :where(.nc-input-field) {
2139
- gap: var(--control-spacing-near, .5em);
2140
- inline-size: 100%;
2141
- min-inline-size: var(--input-field-min-inline-size);
2142
- max-inline-size: var(--input-field-max-inline-size);
2143
- grid-template-columns: minmax(0, 1fr);
2144
- place-items: start;
2145
- display: grid;
2146
- }
2147
-
2148
- :where(.nc-input-field) > label, :where(.nc-input-field) > .nc-stack {
2149
- gap: 0;
2150
- }
2151
-
2152
- :where(.nc-input-field) > .nc-cluster {
2153
- gap: var(--control-spacing-base, .75em);
2154
- }
2155
-
2156
- :where(.nc-input-error) {
2157
- --color-base: var(--color-status-danger-emphasis);
2158
- color: var(--color-base);
2159
- font-size: var(--font-size-small);
2160
- }
2161
-
2162
- :where(.nc-input-error):before {
2163
- content: "!";
2164
- font-family: var(--font-family-default);
2165
- letter-spacing: var(--tracking-tight);
2166
- font-weight: var(--font-weight-default);
2167
- background-color: var(--color-base);
2168
- color: var(--color-surface-subtle);
2169
- flex-shrink: 0;
2170
- justify-content: center;
2171
- align-items: center;
2172
- block-size: 1em;
2173
- inline-size: 1em;
2174
- margin-inline-end: var(--control-spacing-base, .75em);
2175
- display: inline-flex;
2176
- }
2177
-
2178
- :where(.nc-checkbox-wrapper) {
2179
- grid-template: "checkbox label" 1fr
2180
- / auto 1fr;
2181
- place-items: start;
2182
- gap: 0;
2183
- display: grid;
2184
- }
2185
-
2186
- :where(.nc-checkbox-wrapper) > [data-label] {
2187
- grid-area: label;
2188
- padding-inline-start: var(--control-spacing-base, .75em);
2189
- }
2190
-
2191
- :where(.nc-checkbox-wrapper) .nc-input-label {
2192
- min-block-size: var(--line-height-base);
2193
- }
2194
-
2195
- :where(.nc-checkbox-wrapper) > [data-input] {
2196
- grid-area: checkbox;
2197
- }
2198
-
2199
- :where(.nc-checkbox-wrapper):hover input {
2200
- background-color: var(--_input-hover-background);
2201
- }
2202
-
2203
- :where(.nc-checkbox-wrapper):hover input:checked {
2204
- background-color: color-mix(in oklch, var(--current-checkbox-bg), var(--_input-hover-background) 8%);
2205
- }
2206
-
2207
- :where(.nc-radio-field, .nc-checkbox-field) {
2208
- gap: 0;
2209
- }
2210
-
2211
- :where(.nc-radio-field, .nc-checkbox-field) > :not(:first-child) {
2212
- margin-block-start: var(--control-spacing-far, .75em);
2213
- }
2214
-
2215
- :where(.nc-input-required-mark) {
2216
- color: var(--color-status-danger-emphasis);
2217
- font-size: 1.25em;
2218
- }
2219
- }
2220
-
2221
- @layer components.inputs-segmented {
2222
- :where(.nc-segmented-control-group) {
2223
- --_segmented-control-border-radius: var(--segmented-control-border-radius, var(--_input-border-radius));
2224
- --_segmented-control-checked-text-color: var(--segmented-control-checked-text-color, var(--color-brand-primary-contrast));
2225
- --_segmented-control-checked-surface-color: var(--segmented-control-checked-surface-color, var(--color-brand-primary-base));
2226
- --nc-legend-spacing: var(--control-spacing-near, .5em);
2227
- container: segmented-control / inline-size;
2228
- }
2229
-
2230
- :where(.nc-segmented-control) {
2231
- background: var(--_input-background);
2232
- block-size: auto;
2233
- inline-size: 100%;
2234
- box-shadow: var(--_input-box-shadow);
2235
- border-radius: var(--_segmented-control-border-radius);
2236
- grid-auto-rows: 1fr;
2237
- grid-auto-flow: row;
2238
- display: grid;
2239
- }
2240
-
2241
- :where(.nc-segmented-control):focus-within {
2242
- outline: var(--_input-outline);
2243
- outline-offset: 0;
2244
- }
2245
-
2246
- :where(.nc-segmented-control):focus-within:has( > button) {
2247
- outline: none;
2248
- }
2249
-
2250
- :where(.nc-segmented-control) input {
2251
- opacity: 0;
2252
- position: absolute;
2253
- }
2254
-
2255
- :where(.nc-segmented-control) > * {
2256
- padding-inline: var(--_input-padding-inline);
2257
- padding-block: var(--_input-padding-block);
2258
- min-block-size: var(--segmented-control-min-height, var(--control-height-base));
2259
- color: var(--_input-color);
2260
- border: var(--_input-border);
2261
- cursor: pointer;
2262
- background: none;
2263
- justify-content: center;
2264
- align-items: center;
2265
- display: flex;
2266
- }
2267
-
2268
- :where(.nc-segmented-control) > * > .nc-input-label {
2269
- color: inherit;
2270
- }
2271
-
2272
- button:is(:where(.nc-segmented-control) > *) {
2273
- box-shadow: none;
2274
- border-radius: 0;
2275
- transform: none;
2276
- }
2277
-
2278
- button:is(:where(.nc-segmented-control) > *):active {
2279
- scale: 1;
2280
- }
2281
-
2282
- button:is(:where(.nc-segmented-control) > *):focus-within {
2283
- outline-offset: 0;
2284
- outline: 1px auto;
2285
- }
2286
-
2287
- :where(.nc-segmented-control) > *:hover {
2288
- --current-background: var(--_input-hover-background);
2289
- background-color: var(--_input-hover-background);
2290
- }
2291
-
2292
- :where(.nc-segmented-control) > *:first-child {
2293
- border-radius: var(--_segmented-control-border-radius) var(--_segmented-control-border-radius) 0 0;
2294
- }
2295
-
2296
- :where(.nc-segmented-control) > *:last-child {
2297
- border-radius: 0 0 var(--_segmented-control-border-radius) var(--_segmented-control-border-radius);
2298
- }
2299
-
2300
- :where(.nc-segmented-control) > *:not(:last-child) {
2301
- border-block-end: var(--border-width-thin) solid var(--color-border-muted);
2302
- }
2303
-
2304
- :where(.nc-segmented-control) > *:not(:first-child) {
2305
- border-block-start: none;
2306
- }
2307
-
2308
- :where(.nc-segmented-control) > *[aria-pressed="true"], :where(.nc-segmented-control) > *[aria-current] {
2309
- background: var(--_segmented-control-checked-surface-color);
2310
- color: var(--_segmented-control-checked-text-color);
2311
- box-shadow: var(--shadow-near);
2312
- font-weight: var(--font-weight-default);
2313
- }
2314
-
2315
- :where(.nc-segmented-control) > *:has(input:checked) {
2316
- background: var(--_segmented-control-checked-surface-color);
2317
- color: var(--_segmented-control-checked-text-color);
2318
- box-shadow: var(--shadow-near);
2319
- font-weight: var(--font-weight-default);
2320
- }
2321
-
2322
- :where(.nc-segmented-control) > *:focus-within {
2323
- outline: none;
2324
- }
2325
-
2326
- :where(.nc-segmented-control) > *:disabled, :where(.nc-segmented-control) > *[aria-disabled="true"] {
2327
- filter: var(--_input-disabled-filter);
2328
- cursor: not-allowed;
2329
- }
2330
-
2331
- :where(.nc-segmented-control) > *:has(input:disabled) {
2332
- filter: var(--_input-disabled-filter);
2333
- cursor: not-allowed;
2334
- }
2335
-
2336
- @container segmented-control (width >= 32rem) or style(--horizontal: true) {
2337
- :where(.nc-segmented-control) {
2338
- grid-auto-columns: 1fr;
2339
- grid-auto-flow: column;
2340
- inline-size: auto;
2341
- }
2342
-
2343
- :where(.nc-segmented-control) > *:first-child {
2344
- border-radius: var(--_segmented-control-border-radius) 0 0 var(--_segmented-control-border-radius);
2345
- }
2346
-
2347
- :where(.nc-segmented-control) > *:last-child {
2348
- border-radius: 0 var(--_segmented-control-border-radius) var(--_segmented-control-border-radius) 0;
2349
- }
2350
-
2351
- :where(.nc-segmented-control) > *:not(:last-child) {
2352
- border-block-end: var(--_input-border);
2353
- border-inline-end: var(--border-width-thin) solid var(--color-border-muted);
2354
- }
2355
-
2356
- :where(.nc-segmented-control) > *:not(:first-child) {
2357
- border-block-start: var(--_input-border);
2358
- border-inline-start: none;
2359
- }
2360
- }
2361
-
2362
- :where(.nc-segmented-control-group.-horizontal) :where(.nc-segmented-control) {
2363
- grid-auto-columns: 1fr;
2364
- grid-auto-flow: column;
2365
- inline-size: auto;
2366
- }
2367
-
2368
- :where(.nc-segmented-control-group.-horizontal) :where(.nc-segmented-control) > *:first-child {
2369
- border-radius: var(--_segmented-control-border-radius) 0 0 var(--_segmented-control-border-radius);
2370
- }
2371
-
2372
- :where(.nc-segmented-control-group.-horizontal) :where(.nc-segmented-control) > *:last-child {
2373
- border-radius: 0 var(--_segmented-control-border-radius) var(--_segmented-control-border-radius) 0;
2374
- }
2375
-
2376
- :where(.nc-segmented-control-group.-horizontal) :where(.nc-segmented-control) > *:not(:last-child) {
2377
- border-block-end: var(--_input-border);
2378
- border-inline-end: var(--border-width-thin) solid var(--color-border-muted);
2379
- }
2380
-
2381
- :where(.nc-segmented-control-group.-horizontal) :where(.nc-segmented-control) > *:not(:first-child) {
2382
- border-block-start: var(--_input-border);
2383
- border-inline-start: none;
2384
- }
2385
- }
2386
-
2387
- @layer components.input-switch {
2388
- :where(.nc-input-switch) {
2389
- --_switch-width: var(--switch-width, calc(var(--line-height-base) * 2rem));
2390
- --_switch-height: var(--switch-height, calc(var(--_switch-width) / 2));
2391
- --_switch-color: var(--switch-color, var(--_input-background));
2392
- --_switch-color-checked: var(--switch-color-checked, var(--color-brand-primary-base));
2393
- --_thumb-margin: var(--thumb-margin, calc(var(--_switch-width) / 12));
2394
- --_thumb-color: var(--thumb-color, var(--_input-color));
2395
- vertical-align: var(--_thumb-margin);
2396
- inline-size: var(--_switch-width);
2397
- block-size: var(--_switch-height);
2398
- border-radius: var(--_input-border-radius);
2399
- --current-checkbox-bg: var(--_switch-color);
2400
- justify-content: flex-start;
2401
- }
2402
-
2403
- :where(.nc-input-switch):before {
2404
- content: "";
2405
- aspect-ratio: 1;
2406
- margin-block: var(--_thumb-margin);
2407
- transform: translateX(var(--_thumb-margin));
2408
- block-size: calc(100% - 2 * var(--_thumb-margin));
2409
- inline-size: unset;
2410
- background-color: var(--_thumb-color);
2411
- border-radius: var(--_input-border-radius);
2412
- box-shadow: var(--shadow-near);
2413
- transition: transform, background-color;
2414
- transition-duration: var(--transition-duration-quick-2);
2415
- transition-timing-function: var(--ease-2);
2416
- clip-path: none;
2417
- display: block;
2418
- }
2419
-
2420
- :where(.nc-input-switch):checked {
2421
- --current-checkbox-bg: var(--_switch-color-checked);
2422
- }
2423
-
2424
- :where(.nc-input-switch):checked:before {
2425
- transform: translateX(calc(var(--_switch-width) - var(--_switch-height) + var(--_thumb-margin)));
2426
- --_thumb-color: var(--thumb-color-checked, var(--_input-background));
2427
- }
2428
- }
2429
-
2430
- @layer components.inputs {
2431
- :where(.nc-tag-select-field) {
2432
- --_tag-select-checked-text-color: var(--tag-select-checked-text-color, var(--color-brand-primary-contrast));
2433
- --_tag-select-checked-surface-color: var(--tag-select-checked-surface-color, var(--color-brand-primary-base));
2434
- --_tag-select-border-radius: var(--tag-select-border-radius, var(--_input-border-radius));
2435
- --nc-legend-spacing: var(--control-spacing-near, .5em);
2436
- }
2437
-
2438
- :where(.nc-tag-select-field):focus-within:has(:focus-visible) {
2439
- outline-offset: var(--controls-spacing-near, .5em);
2440
- outline: var(--_input-outline);
2441
- border-radius: var(--_tag-select-border-radius);
2442
- }
2443
-
2444
- :where(.nc-tag-select-field) input {
2445
- opacity: 0;
2446
- position: absolute;
2447
- }
2448
-
2449
- :where(.nc-tag-select-field) label {
2450
- display: grid;
2451
- }
2452
-
2453
- :where(.nc-tag-select-field) label:hover, :where(.nc-tag-select-field) label:focus-within {
2454
- background-color: var(--_input-hover-background);
2455
- }
2456
-
2457
- :where(.nc-tag-select-field) label:has(input:checked) {
2458
- background: var(--_tag-select-checked-surface-color);
2459
- color: var(--_tag-select-checked-text-color);
2460
- box-shadow: var(--shadow-near);
2461
- }
2462
-
2463
- :where(.nc-tag-select-field) label:has(input:disabled) {
2464
- filter: var(--_input-disabled-filter);
2465
- cursor: not-allowed;
2466
- }
2467
- }
2468
-
2469
- @layer components.lists {
2470
- :where(.nc-meta-list) {
2471
- inline-size: 100%;
2472
- container: metalist / inline-size;
2473
- }
2474
-
2475
- :where(.nc-meta-list-item) {
2476
- overflow-wrap: break-word;
2477
- -webkit-hyphens: auto;
2478
- hyphens: auto;
2479
- inline-size: 100%;
2480
- max-inline-size: 100%;
2481
- }
2482
-
2483
- :where(.nc-meta-list-item):not(:last-child) {
2484
- margin-block-end: var(--control-spacing-base, .75em);
2485
- }
2486
-
2487
- @container metalist (width >= 20rem) {
2488
- :where(.nc-meta-list-item) {
2489
- inline-size: auto;
2490
- }
2491
-
2492
- :where(.nc-meta-list-item):not(:last-child):after {
2493
- content: "";
2494
- border-right: var(--border-width-medium) solid var(--color-border-muted);
2495
- margin: 0 var(--control-spacing-base, .75em);
2496
- transform: calc(var(--border-width-medium) / 2);
2497
- }
2498
- }
2499
-
2500
- :where(.nc-list-reset) {
2501
- margin: 0;
2502
- padding: 0;
2503
- list-style: none;
2504
- }
2505
-
2506
- :where(.nc-list-reset) li {
2507
- margin: 0;
2508
- }
2509
- }
2510
-
2511
- @layer components.notifications {
2512
- :root {
2513
- --_notification-max-width: var(--notifications-max-width, 20rem);
2514
- --_notification-gap: var(--notification-gap, var(--spacing-base));
2515
- --_notification-border-color: var(--notification-border-color, var(--color-border-base));
2516
- --_notification-center-background: var(--notification-center-background, color-mix(in oklch, var(---color-surface-subtle), transparent 95%));
2517
- }
2518
-
2519
- :where(.nc-notification-center, .nc-notification-output) {
2520
- block-size: 100%;
2521
- inline-size: 100%;
2522
- max-inline-size: var(--_notification-max-width);
2523
- padding-block: var(--_notification-gap);
2524
- pointer-events: none;
2525
- position: fixed;
2526
- inset-block: 0;
2527
- inset-inline-end: 0;
2528
- }
2529
-
2530
- :where(.nc-notification-center) {
2531
- -webkit-backdrop-filter: blur(3px);
2532
- backdrop-filter: blur(3px);
2533
- background-color: var(--_notification-center-background);
2534
- block-size: 100%;
2535
- transition: transform var(--transition-duration-moderate-2) var(--ease-in-out-2);
2536
- transform: translate(100%);
2537
- }
2538
-
2539
- :where(.nc-notification-output, .nc-notification-center-container) {
2540
- align-items: flex-end;
2541
- gap: var(--_notification-gap);
2542
- max-block-size: 100%;
2543
- inline-size: 100%;
2544
- padding-inline: var(--_notification-gap);
2545
- flex-direction: column;
2546
- flex-grow: 1;
2547
- min-block-size: 100%;
2548
- min-inline-size: 0;
2549
- display: flex;
2550
- overflow-y: scroll;
2551
- }
2552
-
2553
- :where(.nc-notification-center.-open) {
2554
- pointer-events: all;
2555
- transform: translate(0);
2556
- }
2557
-
2558
- :where(.nc-notification-center.-open:has( + .nc-notification-output > .nc-notification)) {
2559
- opacity: .5;
2560
- filter: contrast(.5);
2561
- }
2562
-
2563
- :where(.nc-notification-center-header) {
2564
- align-items: center;
2565
- gap: var(--_notification-gap);
2566
- padding-inline: var(--_notification-gap);
2567
- margin-block-end: var(--_notification-gap);
2568
- display: flex;
2569
- }
2570
-
2571
- :where(.nc-notification) {
2572
- padding: var(--control-spacing-near, .5em) var(--control-spacing-base, .75em);
2573
- background: var(--color-surface-base);
2574
- border: var(--border-width-thin) solid var(--_notification-border-color);
2575
- border-radius: var(--border-radius-small);
2576
- inline-size: 100%;
2577
- box-shadow: var(--shadow-far);
2578
- animation: pop-in var(--transition-duration-moderate-2) var(--easing-entry);
2579
- color: var(--color-text-base);
2580
- pointer-events: all;
2581
- flex-direction: column;
2582
- display: flex;
2583
- }
2584
-
2585
- :where(.nc-notification) p {
2586
- margin: 0;
2587
- padding: 0;
2588
- }
2589
-
2590
- :where(.nc-notification-title) {
2591
- font-size: var(--font-size-base);
2592
- font-weight: var(--font-weight-heading);
2593
- }
2594
-
2595
- :where(.nc-notification-description) {
2596
- font-size: var(--font-size-small);
2597
- }
2598
-
2599
- :where(.nc-notification-time) {
2600
- font-size: var(--font-size-small);
2601
- color: var(--color-text-subtle);
2602
- }
2603
-
2604
- :where(.nc-notification-footer) {
2605
- inline-size: 100%;
2606
- justify-content: space-between;
2607
- align-items: flex-end;
2608
- margin-block-start: var(--control-spacing-tiny, .25em);
2609
- display: flex;
2610
- }
2611
-
2612
- :where(.nc-notification .nc-button, .nc-notification-center .nc-button) {
2613
- --button-height-base: 1em;
2614
- font-size: var(--font-size-small);
2615
- }
2616
-
2617
- :where(.nc-notification.-closing) {
2618
- animation: remove-notification var(--transition-duration-moderate-2) var(--easing-exit) forwards;
2619
- }
2620
-
2621
- @keyframes pop-in {
2622
- 0% {
2623
- opacity: 0;
2624
- transform: translate(3vmin, -2vmin)scale(.98);
2625
- }
2626
-
2627
- 50% {
2628
- transform: translate(0, -1vmin)scale(.98);
2629
- }
2630
-
2631
- 100% {
2632
- opacity: 1;
2633
- transform: translate(0)scale(1);
2634
- }
2635
- }
2636
-
2637
- @keyframes remove-notification {
2638
- to {
2639
- opacity: 0;
2640
- transform: translate(0, 4vmin)scale(.98);
2641
- }
2642
- }
2643
- }
2644
-
2645
- @layer components.table {
2646
- :where(.nc-table) {
2647
- inline-size: 100%;
2648
- max-inline-size: 100%;
2649
- overflow-x: auto;
2650
- }
2651
- }