@troennes/minium 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3226 @@
1
+ @layer tokens {
2
+ :root {
3
+ --amber-11: light-dark(#ab6400, #ffca16);
4
+ --amber-9: light-dark(#ffc53d, #ffc53d);
5
+ --amber-a2: light-dark(#f4d10016, #fd9b000d);
6
+ --amber-a3: light-dark(#ffde003d, #fa820022);
7
+ --amber-a4: light-dark(#ffd40063, #fc820032);
8
+ --amber-a6: light-dark(#eab5008c, #fd9b0051);
9
+ --amber-a7: light-dark(#dc9b009d, #ffab2567);
10
+ --black-a7: rgba(0, 0, 0, 0.5);
11
+ --blue-11: light-dark(#0d74ce, #70b8ff);
12
+ --blue-9: light-dark(#0090ff, #0090ff);
13
+ --blue-a2: light-dark(#008cff0b, #1166fb18);
14
+ --blue-a3: light-dark(#008ff519, #0077ff3a);
15
+ --blue-a4: light-dark(#009eff2a, #0075ff57);
16
+ --blue-a5: light-dark(#0093ff3d, #0081fd6b);
17
+ --blue-a6: light-dark(#0088f653, #0f89fd7f);
18
+ --green-11: light-dark(#218358, #3dd68c);
19
+ --green-7: light-dark(#8eceaa, #28684a);
20
+ --green-9: light-dark(#30a46c, #30a46c);
21
+ --green-a2: light-dark(#00a32f0b, #29f99d0b);
22
+ --green-a3: light-dark(#00a43319, #22ff991e);
23
+ --green-a4: light-dark(#00a83829, #11ff992d);
24
+ --green-a5: light-dark(#019c393b, #2bffa23c);
25
+ --green-a6: light-dark(#00963c52, #44ffaa4b);
26
+ --indigo-10: light-dark(#3358d4, #5472e4);
27
+ --indigo-11: light-dark(#3a5bc7, #9eb1ff);
28
+ --indigo-7: light-dark(#abbdf9, #3a4f97);
29
+ --indigo-9: light-dark(#3e63dd, #3e63dd);
30
+ --indigo-a2: light-dark(#0040ff08, #3354fa17);
31
+ --indigo-a3: light-dark(#0047f112, #2f62ff3c);
32
+ --indigo-a4: light-dark(#0044ff1e, #3566ff57);
33
+ --indigo-a5: light-dark(#0044ff2d, #4171fd6b);
34
+ --indigo-a6: light-dark(#003eff3e, #5178fd7c);
35
+ --orange-10: light-dark(#ef5f00, #ff801f);
36
+ --orange-11: light-dark(#cc4e00, #ffa057);
37
+ --orange-7: light-dark(#f5ae73, #7e451d);
38
+ --orange-9: light-dark(#f76b15, #f76b15);
39
+ --orange-a11: light-dark(#cc4e00, #ffa057);
40
+ --orange-a2: light-dark(#ff8e0012, #fe6d000e);
41
+ --orange-a3: light-dark(#ff9c0029, #fb6a0025);
42
+ --orange-a4: light-dark(#ff91014a, #ff590039);
43
+ --orange-a5: light-dark(#ff8b0065, #ff61004a);
44
+ --orange-a6: light-dark(#ff81007d, #fd75045c);
45
+ --red-11: light-dark(#ce2c31, #ff9592);
46
+ --red-7: light-dark(#f4a9aa, #8c333a);
47
+ --red-9: light-dark(#e5484d, #e5484d);
48
+ --red-a2: light-dark(#ff000008, #f22f3e11);
49
+ --red-a3: light-dark(#f3000d14, #ff173f2d);
50
+ --red-a4: light-dark(#ff000824, #fe0a3b44);
51
+ --red-a5: light-dark(#ff000632, #ff204756);
52
+ --red-a6: light-dark(#f8000442, #ff3e5668);
53
+ --red-a7: light-dark(#df000356, #ff536184);
54
+ --sand-1: light-dark(#fdfdfc, #111110);
55
+ --sand-11: light-dark(#63635e, #b5b3ad);
56
+ --sand-12: light-dark(#21201c, #eeeeec);
57
+ --sand-2: light-dark(#f9f9f8, #191918);
58
+ --sand-3: light-dark(#f1f0ef, #222221);
59
+ --sand-4: light-dark(#e9e8e6, #2a2a28);
60
+ --sand-5: light-dark(#e2e1de, #31312e);
61
+ --sand-8: light-dark(#bcbbb5, #62605b);
62
+ --sand-a2: light-dark(#25250007, #f4f4f309);
63
+ --sand-a3: light-dark(#20100010, #f6f6f513);
64
+ --sand-a4: light-dark(#1f150019, #fefef31b);
65
+ --sand-a5: light-dark(#1f180021, #fbfbeb23);
66
+ --sand-a6: light-dark(#19130029, #fffaed2d);
67
+ --sand-a7: light-dark(#19140035, #fffbed3c);
68
+ --white-a10: rgba(255, 255, 255, 0.8);
69
+ }
70
+
71
+ @supports (color: color(display-p3 1 1 1)) {
72
+ @media (color-gamut: p3) {
73
+ :root {
74
+ --amber-11: light-dark(color(display-p3 0.64 0.4 0), color(display-p3 1 0.8 0.29));
75
+ --amber-9: light-dark(color(display-p3 1 0.77 0.26), color(display-p3 1 0.77 0.26));
76
+ --amber-a2: light-dark(color(display-p3 0.902 0.804 0.008 / 0.079), color(display-p3 0.988 0.651 0 / 0.047));
77
+ --amber-a3: light-dark(color(display-p3 0.965 0.859 0.004 / 0.22), color(display-p3 1 0.6 0 / 0.118));
78
+ --amber-a4: light-dark(color(display-p3 0.969 0.82 0.004 / 0.35), color(display-p3 1 0.557 0 / 0.185));
79
+ --amber-a6: light-dark(color(display-p3 0.875 0.682 0.004 / 0.495), color(display-p3 1 0.659 0.094 / 0.299));
80
+ --amber-a7: light-dark(color(display-p3 0.804 0.573 0 / 0.557), color(display-p3 1 0.714 0.263 / 0.383));
81
+ --black-a7: rgba(0, 0, 0, 0.5);
82
+ --blue-11: light-dark(color(display-p3 0.15 0.44 0.84), color(display-p3 0.49 0.72 1));
83
+ --blue-9: light-dark(color(display-p3 0.247 0.556 0.969), color(display-p3 0.247 0.556 0.969));
84
+ --blue-a2: light-dark(color(display-p3 0.024 0.514 0.906 / 0.04), color(display-p3 0.114 0.435 0.988 / 0.085));
85
+ --blue-a3: light-dark(color(display-p3 0.012 0.506 0.914 / 0.087), color(display-p3 0.122 0.463 1 / 0.219));
86
+ --blue-a4: light-dark(color(display-p3 0.008 0.545 1 / 0.146), color(display-p3 0 0.467 1 / 0.324));
87
+ --blue-a5: light-dark(color(display-p3 0.004 0.502 0.984 / 0.212), color(display-p3 0.098 0.51 1 / 0.4));
88
+ --blue-a6: light-dark(color(display-p3 0.004 0.463 0.922 / 0.291), color(display-p3 0.224 0.557 1 / 0.475));
89
+ --green-11: light-dark(color(display-p3 0.19 0.5 0.32), color(display-p3 0.434 0.828 0.573));
90
+ --green-7: light-dark(color(display-p3 0.61 0.801 0.675), color(display-p3 0.227 0.403 0.298));
91
+ --green-9: light-dark(color(display-p3 0.332 0.634 0.442), color(display-p3 0.332 0.634 0.442));
92
+ --green-a2: light-dark(color(display-p3 0.024 0.565 0.129 / 0.036), color(display-p3 0.341 0.98 0.616 / 0.043));
93
+ --green-a3: light-dark(color(display-p3 0.012 0.596 0.145 / 0.087), color(display-p3 0.376 0.996 0.655 / 0.114));
94
+ --green-a4: light-dark(color(display-p3 0.008 0.588 0.145 / 0.142), color(display-p3 0.341 0.996 0.635 / 0.173));
95
+ --green-a5: light-dark(color(display-p3 0.004 0.541 0.157 / 0.204), color(display-p3 0.408 1 0.678 / 0.232));
96
+ --green-a6: light-dark(color(display-p3 0.004 0.518 0.157 / 0.283), color(display-p3 0.475 1 0.706 / 0.29));
97
+ --indigo-10: light-dark(color(display-p3 0.234 0.343 0.801), color(display-p3 0.354 0.445 0.866));
98
+ --indigo-11: light-dark(color(display-p3 0.256 0.354 0.755), color(display-p3 0.63 0.69 1));
99
+ --indigo-7: light-dark(color(display-p3 0.685 0.74 0.957), color(display-p3 0.245 0.309 0.575));
100
+ --indigo-9: light-dark(color(display-p3 0.276 0.384 0.837), color(display-p3 0.276 0.384 0.837));
101
+ --indigo-a2: light-dark(color(display-p3 0.024 0.161 0.863 / 0.028), color(display-p3 0.251 0.345 0.988 / 0.085));
102
+ --indigo-a3: light-dark(color(display-p3 0.008 0.239 0.886 / 0.067), color(display-p3 0.243 0.404 1 / 0.223));
103
+ --indigo-a4: light-dark(color(display-p3 0.004 0.247 1 / 0.114), color(display-p3 0.263 0.42 1 / 0.324));
104
+ --indigo-a5: light-dark(color(display-p3 0.004 0.235 1 / 0.169), color(display-p3 0.314 0.451 1 / 0.4));
105
+ --indigo-a6: light-dark(color(display-p3 0.004 0.208 0.984 / 0.232), color(display-p3 0.361 0.49 1 / 0.467));
106
+ --orange-10: light-dark(color(display-p3 0.87 0.409 0.164), color(display-p3 0.98 0.51 0.23));
107
+ --orange-11: light-dark(color(display-p3 0.76 0.34 0), color(display-p3 1 0.63 0.38));
108
+ --orange-7: light-dark(color(display-p3 0.919 0.693 0.486), color(display-p3 0.465 0.283 0.147));
109
+ --orange-9: light-dark(color(display-p3 0.9 0.45 0.2), color(display-p3 0.9 0.45 0.2));
110
+ --orange-a11: light-dark(color(display-p3 0.76 0.34 0), color(display-p3 1 0.63 0.38));
111
+ --orange-a2: light-dark(color(display-p3 0.886 0.533 0.008 / 0.067), color(display-p3 0.992 0.529 0 / 0.051));
112
+ --orange-a3: light-dark(color(display-p3 0.922 0.584 0.008 / 0.15), color(display-p3 0.996 0.486 0 / 0.131));
113
+ --orange-a4: light-dark(color(display-p3 1 0.604 0.004 / 0.314), color(display-p3 0.996 0.384 0 / 0.211));
114
+ --orange-a5: light-dark(color(display-p3 1 0.569 0.004 / 0.416), color(display-p3 1 0.455 0 / 0.265));
115
+ --orange-a6: light-dark(color(display-p3 0.949 0.494 0.004 / 0.455), color(display-p3 1 0.529 0.129 / 0.332));
116
+ --red-11: light-dark(color(display-p3 0.744 0.234 0.222), color(display-p3 1 0.57 0.55));
117
+ --red-7: light-dark(color(display-p3 0.915 0.675 0.672), color(display-p3 0.508 0.224 0.236));
118
+ --red-9: light-dark(color(display-p3 0.83 0.329 0.324), color(display-p3 0.83 0.329 0.324));
119
+ --red-a2: light-dark(color(display-p3 0.863 0.024 0.024 / 0.028), color(display-p3 0.996 0.282 0.282 / 0.055));
120
+ --red-a3: light-dark(color(display-p3 0.792 0.008 0.008 / 0.075), color(display-p3 1 0.169 0.271 / 0.156));
121
+ --red-a4: light-dark(color(display-p3 1 0.008 0.008 / 0.134), color(display-p3 1 0.118 0.267 / 0.236));
122
+ --red-a5: light-dark(color(display-p3 0.918 0.008 0.008 / 0.189), color(display-p3 1 0.212 0.314 / 0.303));
123
+ --red-a6: light-dark(color(display-p3 0.831 0.02 0.004 / 0.251), color(display-p3 1 0.318 0.38 / 0.374));
124
+ --red-a7: light-dark(color(display-p3 0.741 0.016 0.004 / 0.33), color(display-p3 1 0.4 0.424 / 0.475));
125
+ --sand-1: light-dark(color(display-p3 0.992 0.992 0.989), color(display-p3 0.067 0.067 0.063));
126
+ --sand-11: light-dark(color(display-p3 0.388 0.388 0.37), color(display-p3 0.707 0.703 0.68));
127
+ --sand-12: light-dark(color(display-p3 0.129 0.126 0.111), color(display-p3 0.933 0.933 0.926));
128
+ --sand-2: light-dark(color(display-p3 0.977 0.977 0.973), color(display-p3 0.098 0.098 0.094));
129
+ --sand-3: light-dark(color(display-p3 0.943 0.942 0.936), color(display-p3 0.135 0.135 0.129));
130
+ --sand-4: light-dark(color(display-p3 0.913 0.912 0.903), color(display-p3 0.164 0.163 0.156));
131
+ --sand-5: light-dark(color(display-p3 0.885 0.883 0.873), color(display-p3 0.193 0.192 0.183));
132
+ --sand-8: light-dark(color(display-p3 0.738 0.734 0.713), color(display-p3 0.384 0.378 0.357));
133
+ --sand-a2: light-dark(color(display-p3 0.161 0.161 0.024 / 0.028), color(display-p3 0.992 0.992 0.988 / 0.034));
134
+ --sand-a3: light-dark(color(display-p3 0.067 0.067 0.008 / 0.063), color(display-p3 0.996 0.996 0.992 / 0.072));
135
+ --sand-a4: light-dark(color(display-p3 0.129 0.129 0.012 / 0.099), color(display-p3 0.992 0.992 0.953 / 0.106));
136
+ --sand-a5: light-dark(color(display-p3 0.098 0.067 0.008 / 0.126), color(display-p3 1 1 0.965 / 0.135));
137
+ --sand-a6: light-dark(color(display-p3 0.102 0.075 0.004 / 0.161), color(display-p3 1 0.976 0.929 / 0.177));
138
+ --sand-a7: light-dark(color(display-p3 0.098 0.098 0.004 / 0.208), color(display-p3 1 0.984 0.929 / 0.236));
139
+ --white-a10: rgba(255, 255, 255, 0.8);
140
+ }
141
+ }
142
+ }
143
+ }
144
+
145
+
146
+ @font-face {
147
+ font-family: Inconsolata;
148
+ font-style: normal;
149
+ font-weight: 400;
150
+ font-display: swap;
151
+ src: local("Inconsolata"), local("Inconsolata-Regular"), url("fonts/Inconsolata-Regular.woff2") format("woff2");
152
+ }
153
+
154
+ @font-face {
155
+ font-family: Inconsolata;
156
+ font-style: normal;
157
+ font-weight: 700;
158
+ font-display: swap;
159
+ src: local("Inconsolata"), local("Inconsolata-Bold"), url("fonts/Inconsolata-Bold.woff2") format("woff2");
160
+ }
161
+
162
+ @font-face {
163
+ font-family: "PT Sans";
164
+ font-style: normal;
165
+ font-weight: 400;
166
+ font-display: swap;
167
+ src: local("PT Sans"), local("PTSans-Regular"), url("fonts/PTSans-Regular.woff2") format("woff2");
168
+ }
169
+
170
+ @font-face {
171
+ font-family: "PT Sans";
172
+ font-style: italic;
173
+ font-weight: 400;
174
+ font-display: swap;
175
+ src: local("PT Sans"), local("PTSans-Italic"), url("fonts/PTSans-Italic.woff2") format("woff2");
176
+ }
177
+
178
+ @font-face {
179
+ font-family: "PT Sans";
180
+ font-style: italic;
181
+ font-weight: 700;
182
+ font-display: swap;
183
+ src: local("PT Sans"), local("PTSans-BoldItalic"), url("fonts/PTSans-BoldItalic.woff2") format("woff2");
184
+ }
185
+
186
+ @font-face {
187
+ font-family: "PT Sans";
188
+ font-style: normal;
189
+ font-weight: 700;
190
+ font-display: swap;
191
+ src: local("PT Sans"), local("PTSans-Bold"), url("fonts/PTSans-Bold.woff2") format("woff2");
192
+ }
193
+
194
+ @layer theme {
195
+ :root {
196
+
197
+ --size-h1: clamp(2rem, 1.8043rem + 0.8696vw, 2.5rem);
198
+ --size-h2: clamp(1.5rem, 1.3043rem + 0.8696vw, 2rem);
199
+ --size-h3: clamp(1.25rem, 1.1033rem + 0.6522vw, 1.625rem);
200
+ --size-h4: clamp(1.125rem, 1.0272rem + 0.4348vw, 1.375rem);
201
+ --size-body: clamp(1rem, 0.9511rem + 0.2174vw, 1.125rem);
202
+ --size-small: clamp(0.875rem, 0.8494rem + 0.1136vw, 0.9375rem);
203
+ --size-tiny: clamp(0.75rem, 0.7378rem + 0.0543vw, 0.7813rem);
204
+
205
+
206
+
207
+
208
+ --space-3xs: 0.3125rem;
209
+ --space-2xs: clamp(0.4375rem, 0.4107rem + 0.119vw, 0.5rem);
210
+ --space-xs: clamp(0.6875rem, 0.6607rem + 0.119vw, 0.75rem);
211
+ --space-s: clamp(1rem, 0.9464rem + 0.2381vw, 1.125rem);
212
+ --space-m: clamp(1.5rem, 1.4196rem + 0.3571vw, 1.6875rem);
213
+ --space-l: clamp(2.25rem, 2.1161rem + 0.5952vw, 2.5625rem);
214
+ --space-xl: clamp(3.375rem, 3.1875rem + 0.8333vw, 3.8125rem);
215
+ --space-2xl: clamp(5.0625rem, 4.7946rem + 1.1905vw, 5.6875rem);
216
+ --space-3xl: clamp(7.625rem, 7.2232rem + 1.7857vw, 8.5625rem);
217
+
218
+
219
+ --space-3xs-2xs: clamp(0.3125rem, 0.2321rem + 0.3571vw, 0.5rem);
220
+ --space-2xs-xs: clamp(0.4375rem, 0.3036rem + 0.5952vw, 0.75rem);
221
+ --space-xs-s: clamp(0.6875rem, 0.5rem + 0.8333vw, 1.125rem);
222
+ --space-s-m: clamp(1rem, 0.7054rem + 1.3095vw, 1.6875rem);
223
+ --space-m-l: clamp(1.5rem, 1.0446rem + 2.0238vw, 2.5625rem);
224
+ --space-l-xl: clamp(2.25rem, 1.5804rem + 2.9762vw, 3.8125rem);
225
+ --space-xl-2xl: clamp(3.375rem, 2.3839rem + 4.4048vw, 5.6875rem);
226
+ --space-2xl-3xl: clamp(5.0625rem, 3.5625rem + 6.6667vw, 8.5625rem);
227
+
228
+
229
+ --space-s-l: clamp(1rem, 0.3304rem + 2.9762vw, 2.5625rem);
230
+
231
+
232
+ --flow-space-glue: 0.3em;
233
+ --flow-space-tight: 0.5em;
234
+ --flow-space: 1em;
235
+ --flow-space-loose: 1.5em;
236
+
237
+
238
+ --gap: var(--space-s-m);
239
+
240
+
241
+ --line-height: 1.5;
242
+ --font-weight: 400;
243
+ --font-weight-bold: 700;
244
+ --shadow-small: 0 1px 3px -1px rgb(0 0 0 / 10%), 0 1px 2px 0 rgb(0 0 0 / 10%);
245
+ --shadow-medium: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%);
246
+ --shadow-large: 0 10px 15px -3px rgb(0 0 0 / 10%), 0 4px 6px -4px rgb(0 0 0 / 10%);
247
+ --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 5%);
248
+ --hover-multiplier: 0.95;
249
+ --text-underline-offset: 2px;
250
+ --text-decoration-thickness: 2px;
251
+ --content-width: 68ch;
252
+ --main-width: 75rem;
253
+ --border-radius-s: 0.4375rem;
254
+ --border-radius-m: 0.6875rem;
255
+ --border-radius-l: 1rem;
256
+ --border-radius-f: 9999px;
257
+ --border-width: 1px;
258
+ --outline-width: 2px;
259
+ --font: 'PT Sans', system-ui, 'Segoe UI', 'Noto Sans', roboto, helvetica, arial, sans-serif, 'Apple Color Emoji','Segoe UI Emoji';
260
+ --font-mono: inconsolata, ui-monospace, sfmono-regular, consolas, 'Liberation Mono', menlo, monospace;
261
+ --font-mono-size: 0.95em;
262
+
263
+
264
+
265
+
266
+ color-scheme: light dark;
267
+
268
+ --color-text: var(--sand-12);
269
+ --color-text-muted: var(--sand-11);
270
+ --color-surface-sunken: light-dark(var(--sand-3), var(--sand-1));
271
+ --color-surface: var(--sand-2);
272
+ --color-surface-raised: light-dark(var(--sand-1), var(--sand-3));
273
+ --color-surface-overlay: light-dark(white, var(--sand-4));
274
+ --color-fill: var(--sand-a2);
275
+ --color-fill-hover: var(--sand-a3);
276
+ --color-fill-active: var(--sand-a4);
277
+ --color-border-weak: var(--sand-a5);
278
+ --color-border-strong: var(--sand-a6);
279
+ --color-border-hover: var(--sand-a7);
280
+
281
+ --color-primary: var(--orange-9);
282
+ --color-primary-inverse: white;
283
+ --color-primary-hover: var(--orange-10);
284
+ --color-primary-focus: var(--orange-7);
285
+ --color-primary-fill: var(--orange-a2);
286
+ --color-primary-fill-hover: var(--orange-a3);
287
+ --color-primary-fill-active: var(--orange-a4);
288
+ --color-primary-border-weak: var(--orange-a5);
289
+ --color-primary-border-strong: var(--orange-a6);
290
+ --color-primary-text: var(--orange-11);
291
+
292
+ --color-accent: var(--indigo-9);
293
+ --color-accent-inverse: white;
294
+ --color-accent-hover: var(--indigo-10);
295
+ --color-accent-focus: var(--indigo-7);
296
+ --color-accent-fill: var(--indigo-a2);
297
+ --color-accent-fill-hover: var(--indigo-a3);
298
+ --color-accent-fill-active: var(--indigo-a4);
299
+ --color-accent-border-weak: var(--indigo-a5);
300
+ --color-accent-border-strong: var(--indigo-a6);
301
+ --color-accent-text: var(--indigo-11);
302
+
303
+ --color-success: var(--green-9);
304
+ --color-success-inverse: white;
305
+ --color-success-focus: var(--green-7);
306
+ --color-success-fill: var(--green-a2);
307
+ --color-success-fill-hover: var(--green-a3);
308
+ --color-success-fill-active: var(--green-a4);
309
+ --color-success-border-weak: var(--green-a5);
310
+ --color-success-border-strong: var(--green-a6);
311
+ --color-success-text: var(--green-11);
312
+
313
+ --color-danger: var(--red-9);
314
+ --color-danger-inverse: white;
315
+ --color-danger-focus: var(--red-7);
316
+ --color-danger-fill: light-dark(var(--red-a2), var(--red-a3));
317
+ --color-danger-fill-hover: light-dark(var(--red-a3), var(--red-a4));
318
+ --color-danger-fill-active: light-dark(var(--red-a4), var(--red-a5));
319
+ --color-danger-border-weak: light-dark(var(--red-a5), var(--red-a6));
320
+ --color-danger-border-strong: light-dark(var(--red-a6), var(--red-a7));
321
+ --color-danger-text: var(--red-11);
322
+
323
+ --color-warning: var(--amber-9);
324
+ --color-warning-inverse: black;
325
+ --color-warning-fill: var(--amber-a2);
326
+ --color-warning-fill-hover: var(--amber-a3);
327
+ --color-warning-fill-active: var(--amber-a4);
328
+ --color-warning-border-weak: var(--amber-a6);
329
+ --color-warning-border-strong: var(--amber-a7);
330
+ --color-warning-text: var(--amber-11);
331
+
332
+ --color-info: var(--blue-9);
333
+ --color-info-inverse: white;
334
+ --color-info-fill: var(--blue-a2);
335
+ --color-info-fill-hover: var(--blue-a3);
336
+ --color-info-fill-active: var(--blue-a4);
337
+ --color-info-border-weak: var(--blue-a5);
338
+ --color-info-border-strong: var(--blue-a6);
339
+ --color-info-text: var(--blue-11);
340
+
341
+ --color-contrast: var(--sand-12);
342
+ --color-contrast-inverse: var(--sand-2);
343
+
344
+
345
+ --code-inline-color-surface: var(--sand-a3);
346
+ --link-color: var(--color-text);
347
+ --link-color-decoration: var(--color-primary);
348
+ --link-decoration-thickness-hover: 1px;
349
+ --selection-color: color-mix(in oklch, var(--color-primary-hover) 35%, transparent);
350
+ --mark-color: light-dark(var(--orange-a5), var(--orange-a11));
351
+ --header-color-surface: light-dark(var(--sand-2), var(--sand-3));
352
+ --header-color-border: light-dark(transparent, var(--sand-a4));
353
+ --code-color-surface: light-dark(var(--sand-5), var(--sand-1));
354
+ --kbd-surface: light-dark(var(--sand-12), var(--sand-1));
355
+ --kbd-text: light-dark(var(--sand-2),var(--sand-12));
356
+ --dropdown-color-surface-hover: var(--sand-a3);
357
+ --form-color-surface: light-dark( var(--white-a10), var(--sand-a2));
358
+ --form-color-border-disabled: var(--sand-8);
359
+ --switch-color-surface: light-dark(var(--sand-8), var(--color-fill));
360
+ --switch-color-border: light-dark(var(--sand-8), var(--color-border-strong));
361
+ --modal-color-backdrop: var(--black-a7);
362
+
363
+
364
+
365
+ --icon-loading: url("data:image/svg+xml,%3Csvg role='status' aria-label='Loading' width='24' height='24' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 24C4 35.0457 12.9543 44 24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4' stroke='currentColor' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 24 24' to='360 24 24' dur='0.9s' repeatCount='indefinite' /%3E%3C/path%3E%3C/svg%3E");
366
+ --icon-hamburger: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16'/%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M4 19h16'/%3E%3C/svg%3E");
367
+ --icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
368
+ --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
369
+
370
+
371
+ --icon-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
372
+ --icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
373
+ --icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
374
+
375
+
376
+ --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2382827c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/svg%3E");
377
+ --icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2330a46c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
378
+ --icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e5484d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E");
379
+ --icon-select: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2382827c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
380
+ }
381
+
382
+ html[data-theme="dark"] {
383
+ color-scheme: dark;
384
+ }
385
+
386
+ html[data-theme="light"] {
387
+ color-scheme: light;
388
+ }
389
+ }
390
+
391
+
392
+ @layer reset {
393
+
394
+
395
+
396
+
397
+ *,
398
+ *::before,
399
+ *::after {
400
+ box-sizing: border-box;
401
+ }
402
+
403
+
404
+ html {
405
+ -moz-text-size-adjust: none;
406
+ -webkit-text-size-adjust: none;
407
+ text-size-adjust: none;
408
+ }
409
+
410
+
411
+ h1, h2, h3, h4, h5, h6, p, ul, menu, ol, pre, dl, dd {
412
+ margin-block: 0;
413
+ }
414
+
415
+ body, figure, blockquote, hr {
416
+ margin: 0;
417
+ }
418
+
419
+
420
+ ul[role='list'],
421
+ ol[role='list'] {
422
+ list-style: none;
423
+ }
424
+
425
+
426
+ body {
427
+ min-height: 100vh;
428
+ }
429
+
430
+
431
+ h1, h2, h3, h4, h5, h6,
432
+ button, input, label {
433
+ line-height: 1.1;
434
+ }
435
+
436
+
437
+ a:not([class]) {
438
+ text-decoration-skip-ink: auto;
439
+ color: currentColor;
440
+ }
441
+
442
+
443
+ img,
444
+ picture {
445
+ max-width: 100%;
446
+ display: block;
447
+ }
448
+
449
+
450
+ input, button,
451
+ textarea, select {
452
+ font-family: inherit;
453
+ font-size: inherit;
454
+ }
455
+
456
+
457
+ textarea:not([rows]) {
458
+ min-height: 10em;
459
+ }
460
+
461
+
462
+ :target {
463
+ scroll-margin-block: 5ex;
464
+ }
465
+
466
+ }
467
+
468
+
469
+ @layer tokens, theme, reset, base, layout, components, project, utilities;
470
+
471
+ @layer base {
472
+ html {
473
+ text-rendering: optimizelegibility;
474
+ tab-size: 4;
475
+ scroll-behavior: smooth;
476
+ }
477
+
478
+ body {
479
+ font-size: var(--size-body, 1rem);
480
+ background-color: var(--color-surface, canvas);
481
+ color: var(--color-text, canvastext);
482
+ font-family: var(--font, system-ui, sans-serif);
483
+ font-weight: var(--font-weight, 400);
484
+ border-width: var(--border-width, 1px);
485
+ outline-width: var(--outline-width, 2px);
486
+ line-height: var(--line-height, 1.5);
487
+ overflow-wrap: break-word;
488
+ text-underline-offset: var(--text-underline-offset, 1px);
489
+
490
+
491
+ display: flex;
492
+ flex-direction: column;
493
+ min-height: 100dvh;
494
+ gap: var(--gap);
495
+
496
+ > header:first-of-type {
497
+ background-color: var(--color-surface-raised);
498
+ border-bottom: var(--border-width) solid var(--header-color-border, var(--color-border-weak));
499
+ box-shadow: var(--shadow-medium);
500
+ padding-block: var(--space-2xs);
501
+ }
502
+
503
+ > footer:last-of-type {
504
+ background-color: var(--color-surface-sunken);
505
+ border-top: var(--border-width) solid var(--footer-color-border, transparent);
506
+ padding-block: var(--space-2xs) var(--space-3xl);
507
+ margin-block-start: auto;
508
+ }
509
+
510
+ }
511
+
512
+
513
+ main:not([class]),
514
+ article:not([class]),
515
+ section:not([class]) {
516
+ > * + * {
517
+ margin-block-start: var(--flow-space);
518
+ }
519
+ }
520
+
521
+ :focus-visible {
522
+ outline: var(--outline-width, 2px) solid var(--color-primary-focus);
523
+ outline-offset: var(--outline-offset, 1px);
524
+ }
525
+ }
526
+
527
+
528
+ @layer base {
529
+ h1, h2, h3, h4, h5, h6,
530
+ li, dd, dt, p, abbr, legend, figcaption, caption {
531
+ hyphens: auto;
532
+ }
533
+
534
+ h1, h2, h3, h4, h5, h6 {
535
+ text-wrap: balance;
536
+ font-family: var(--font-heading, inherit);
537
+ font-weight: var(--font-weight-bold);
538
+ color: var(--color-text-heading, inherit);
539
+ }
540
+
541
+ h1 {
542
+ font-size: var(--size-h1, 2rem);
543
+ }
544
+
545
+ h2 {
546
+ font-size: var(--size-h2, 1.5rem);
547
+ }
548
+
549
+ h3 {
550
+ font-size: var(--size-h3, 1.25rem);
551
+ }
552
+
553
+ h4 {
554
+ font-size: var(--size-h4, 1.125rem);
555
+ }
556
+
557
+ h5 {
558
+ font-size: var(--size-body, 1rem);
559
+ }
560
+
561
+ h6,
562
+ small {
563
+ font-size: var(--size-small, 0.875rem);
564
+ }
565
+
566
+ small {
567
+ color: var(--color-text-muted);
568
+ line-height: 1.25;
569
+ }
570
+
571
+ hgroup > :last-child {
572
+ color: var(--color-text-muted);
573
+ font-weight: unset;
574
+ font-size: var(--size-body);
575
+ font-family: unset;
576
+ }
577
+
578
+
579
+ .eyebrow {
580
+ font-size: var(--size-tiny);
581
+ text-transform: uppercase;
582
+ letter-spacing: 0.075em;
583
+ line-height: unset;
584
+ color: var(--color-text-muted);
585
+ font-weight: var(--font-weight-bold);
586
+
587
+ + :is(h1, h2, h3, h4) {
588
+ --flow-space: var(--flow-space-glue);
589
+ }
590
+ }
591
+
592
+
593
+ .lead {
594
+ font-size: var(--size-h4);
595
+ }
596
+
597
+
598
+ :where(a:not([role="button"], [role="link"]:not([role="button"]))) {
599
+ color: var(--link-color);
600
+ text-decoration-thickness: var(--text-decoration-thickness);
601
+ text-decoration-color: var(--link-color-decoration);
602
+ font-weight: var(--font-weight-bold);
603
+
604
+ &:visited {
605
+ color: var(--color-link-color-visited, var(--link-color));
606
+ }
607
+
608
+ &:hover,
609
+ &:active {
610
+ text-decoration-thickness: calc(var(--text-decoration-thickness) + var(--link-decoration-thickness-hover));
611
+ }
612
+
613
+ &.secondary,
614
+ &.tertiary {
615
+ color: inherit;
616
+ font-weight: inherit;
617
+ }
618
+
619
+ &.tertiary:not(:is([aria-current], :hover, :active, :focus)) {
620
+ text-decoration: none;
621
+ }
622
+
623
+ &.accent {
624
+ text-decoration-color: var(--color-accent);
625
+ }
626
+
627
+ &.neutral {
628
+ text-decoration-color: inherit;
629
+ color: inherit;
630
+ }
631
+ }
632
+
633
+ u, s, ins, del, abbr[title] {
634
+ text-decoration-thickness: var(--text-decoration-thickness, 1px);
635
+ }
636
+
637
+ ins {
638
+ color: var(--color-success-text);
639
+ }
640
+
641
+ del {
642
+ color: var(--color-danger-text);
643
+ }
644
+
645
+ ::selection {
646
+ background-color: var(--selection-color);
647
+ }
648
+
649
+ mark {
650
+ border-radius: var(--border-radius-s);
651
+ background-color: var(--mark-color);
652
+ padding-inline: calc(var(--border-radius-s) / 2);
653
+ }
654
+
655
+ sub,
656
+ sup {
657
+ font-size: var(--size-tiny);
658
+ line-height: 0;
659
+ position: relative;
660
+ vertical-align: baseline;
661
+ }
662
+
663
+ sub {
664
+ bottom: -0.25em;
665
+ }
666
+
667
+ sup {
668
+ top: -0.5em;
669
+ }
670
+
671
+ rp, rt {
672
+ color: var(--color-text-muted);
673
+ font-size: var(--size-tiny);
674
+ }
675
+
676
+
677
+ code,
678
+ kbd,
679
+ samp,
680
+ pre {
681
+ color: var(--code-inline-color, var(--color-text-muted));
682
+ font-family: var(--font-mono);
683
+ font-size: var(--font-mono-size, 1rem);
684
+ hyphens: none;
685
+ word-break: normal;
686
+ }
687
+
688
+ code,
689
+ kbd,
690
+ samp {
691
+ background-color: var(--code-inline-color-surface, var(--color-fill));
692
+ border-radius: var(--border-radius-s);
693
+ box-decoration-break: clone;
694
+ padding: 0.125rem 0.375rem;
695
+ }
696
+
697
+ kbd {
698
+ background-color: var(--kbd-surface);
699
+ color: var(--kbd-text);
700
+ border: var(--border-width) solid var(--color-border-strong);
701
+ }
702
+
703
+ pre {
704
+ border-radius: var(--border-radius-m);
705
+ background-color: var(--code-color-surface, var(--color-surface-sunken));
706
+ overflow-x: auto;
707
+ padding: var(--space-xs-s);
708
+ box-shadow: var(--shadow-inner);
709
+ white-space: pre;
710
+
711
+ :is(code, samp) {
712
+ display: block;
713
+ background: none;
714
+ padding: 0;
715
+ }
716
+ }
717
+
718
+
719
+ :where(dl, ol, ul) {
720
+ padding-inline-start: var(--space-m);
721
+ }
722
+
723
+ dl {
724
+ dt {
725
+ font-weight: var(--font-weight-bold);
726
+ }
727
+
728
+ dd {
729
+ margin-inline-start: 0;
730
+ }
731
+
732
+ > dd + dt {
733
+ margin-block-start: var(--flow-space);
734
+ }
735
+ }
736
+
737
+ abbr[title] {
738
+ cursor: help;
739
+ }
740
+
741
+ blockquote {
742
+ padding-inline-start: var(--space-s);
743
+ border-inline-start: 0.25rem solid var(--color-border-weak);
744
+
745
+ footer {
746
+ color: var(--color-text-muted);
747
+ }
748
+ }
749
+
750
+ hr {
751
+ border: 0;
752
+ border-block-start: var(--border-width) solid var(--color-border-weak);
753
+ margin-block: var(--space-3xs);
754
+ }
755
+
756
+
757
+ table {
758
+ max-width: 100%;
759
+ border-collapse: collapse;
760
+ border-spacing: 0;
761
+
762
+ &.striped {
763
+ tbody tr:nth-child(odd) {
764
+ background-color: var(--color-fill);
765
+ }
766
+ }
767
+
768
+ &.centered :is(td, th) {
769
+ text-align: center;
770
+ }
771
+
772
+ &.border-none :is(td, th) {
773
+ border: none;
774
+ }
775
+
776
+ }
777
+
778
+ th,
779
+ td {
780
+ padding: calc(var(--space-s) / 2) var(--space-s);
781
+ border-bottom: var(--border-width) solid var(--color-border-weak);
782
+ text-align: start;
783
+ }
784
+
785
+ thead :is(th, td){
786
+ border-width: calc(var(--border-width) * 2);
787
+ }
788
+
789
+ tfoot :is(th, td){
790
+ border-top: calc(var(--border-width) * 2) solid var(--color-border-weak);
791
+ border-bottom: 0;
792
+ }
793
+
794
+ th,
795
+ tfoot :is(td,th) {
796
+ font-weight: bold;
797
+ }
798
+
799
+ thead th {
800
+
801
+ color: var(--color-text-muted);
802
+ }
803
+
804
+ figcaption,
805
+ table caption {
806
+ font-size: var(--size-small);
807
+ font-style: italic;
808
+ color: var(--color-text-muted);
809
+ }
810
+ }
811
+
812
+
813
+ @layer layout {
814
+
815
+
816
+
817
+
818
+ .flow > * + * {
819
+ margin-block-start: var(--flow-space);
820
+ }
821
+
822
+
823
+ .cluster {
824
+ display: flex;
825
+ flex-wrap: wrap;
826
+ gap: var(--space-xs-s);
827
+ justify-content: var(--cluster-horizontal-alignment, flex-start);
828
+ align-items: var(--cluster-vertical-alignment, center);
829
+ }
830
+
831
+
832
+ .container {
833
+ max-inline-size: var(--container-max-width, var(--main-width));
834
+ margin-inline: auto;
835
+ padding-inline: var(--gutter, var(--space-s-l));
836
+ inline-size: 100%;
837
+
838
+ &.slim {
839
+ max-inline-size: var(--content-width);
840
+ }
841
+
842
+ &.full {
843
+ max-inline-size: 100%;
844
+ }
845
+ }
846
+
847
+
848
+ .frame {
849
+ --n: 16;
850
+ --d: 9;
851
+
852
+ aspect-ratio: var(--n) / var(--d);
853
+ overflow: hidden;
854
+ display: flex;
855
+ justify-content: center;
856
+ align-items: center;
857
+
858
+ > :is(img, video) {
859
+ inline-size: 100%;
860
+ block-size: 100%;
861
+ object-fit: cover;
862
+ }
863
+ }
864
+
865
+
866
+ .grid {
867
+ display: grid;
868
+ grid-template-columns: repeat(
869
+ var(--grid-placement, auto-fill),
870
+ minmax(var(--grid-min-size, 15rem), 1fr)
871
+ );
872
+ gap: var(--gap);
873
+
874
+ &.halves {
875
+ --grid-placement: auto-fit;
876
+ --grid-min-size: max(15rem, calc((100% - 2 * var(--gap)) / 2 ));
877
+ }
878
+
879
+ &.thirds {
880
+ --grid-placement: auto-fit;
881
+ --grid-min-size: max(15rem, calc((100% - 2 * var(--gap)) / 3 ));
882
+ }
883
+ }
884
+
885
+
886
+ .sidebar {
887
+ display: flex;
888
+ flex-wrap: wrap;
889
+ gap: var(--gap);
890
+ align-items: stretch;
891
+
892
+ > :first-child {
893
+ flex-basis: var(--sidebar-target-width, 15rem);
894
+ flex-grow: 1;
895
+ }
896
+
897
+ > :last-child {
898
+ flex-basis: 0;
899
+ flex-grow: 999;
900
+ min-inline-size: var(--sidebar-content-min-width, 50%);
901
+ }
902
+
903
+ &.reversed {
904
+ flex-direction: row-reverse;
905
+ }
906
+
907
+ &.no-stretch {
908
+ align-items: flex-start;
909
+ }
910
+
911
+ &.media {
912
+ --gap: var(--space-xs);
913
+
914
+ align-items: center;
915
+
916
+ > :first-child {
917
+ flex: none;
918
+ }
919
+ }
920
+ }
921
+
922
+
923
+ .repel {
924
+ display: flex;
925
+ flex-wrap: wrap;
926
+ justify-content: space-between;
927
+ align-items: var(--repel-vertical-alignment, center);
928
+ gap: var(--gap);
929
+
930
+ &.nowrap {
931
+ flex-wrap: nowrap;
932
+ }
933
+ }
934
+
935
+
936
+ .switcher {
937
+ display: flex;
938
+ flex-wrap: wrap;
939
+ gap: var(--gap);
940
+ align-items: var(--switcher-vertical-alignment, flex-start);
941
+
942
+ > * {
943
+ flex-grow: 1;
944
+ flex-basis: calc((var(--switcher-breakpoint, var(--content-width)) - 100%) * 999);
945
+ }
946
+
947
+
948
+ > :nth-last-child(n + 5),
949
+ > :nth-last-child(n + 5) ~ * {
950
+ flex-basis: 100%;
951
+ }
952
+ }
953
+ }
954
+
955
+
956
+ @layer components {
957
+
958
+ [role="button"] {
959
+ display: inline-block;
960
+ text-decoration: none;
961
+ }
962
+
963
+ :where(button, input[type="submit"], input[type="button"], input[type="reset"], [role="button"] ) {
964
+ --button-surface: var(--color-primary);
965
+ --button-text: var(--color-primary-inverse);
966
+
967
+ background-color: var(--button-surface);
968
+ color: var(--button-text);
969
+ box-shadow: var(--shadow-small);
970
+ padding: var(--space-2xs) var(--space-xs);
971
+ border: var(--border-width) solid var(--button-surface);
972
+ border-radius: var(--border-radius-m);
973
+ font-weight: var(--font-weight-bold);
974
+ line-height: var(--line-height);
975
+ text-align: center;
976
+ cursor: pointer;
977
+
978
+
979
+ &:is([aria-current], :hover) {
980
+ background-color: oklch(from var(--button-surface) calc(l * var(--hover-multiplier)) c h);
981
+ border-color: oklch(from var(--button-surface) calc(l * var(--hover-multiplier)) c h);
982
+ }
983
+
984
+ &:active {
985
+ background-color: oklch(from var(--button-surface) calc(l * var(--hover-multiplier) * var(--hover-multiplier)) c h);
986
+ border-color: oklch(from var(--button-surface) calc(l * var(--hover-multiplier) * var(--hover-multiplier)) c h);
987
+ }
988
+
989
+
990
+ &.small {
991
+ padding: var(--space-3xs) var(--space-2xs);
992
+ font-size: var(--size-small);
993
+ }
994
+
995
+ &.large {
996
+ padding: var(--space-xs) var(--space-s);
997
+ font-size: var(--size-h4);
998
+ }
999
+
1000
+
1001
+ &.primary {
1002
+ --button-surface: var(--color-primary);
1003
+ --button-text: var(--color-primary-inverse);
1004
+ }
1005
+
1006
+ &.accent {
1007
+ --button-surface: var(--color-accent);
1008
+ --button-text: var(--color-accent-inverse);
1009
+ }
1010
+
1011
+ &.danger {
1012
+ --button-surface: var(--color-danger);
1013
+ --button-text: var(--color-danger-inverse);
1014
+ }
1015
+
1016
+ &.success {
1017
+ --button-surface: var(--color-success);
1018
+ --button-text: var(--color-success-inverse);
1019
+ }
1020
+
1021
+ &.warning {
1022
+ --button-surface: var(--color-warning);
1023
+ --button-text: var(--color-warning-inverse);
1024
+ }
1025
+
1026
+ &.info {
1027
+ --button-surface: var(--color-info);
1028
+ --button-text: var(--color-info-inverse);
1029
+ }
1030
+
1031
+ &.contrast {
1032
+ --button-surface: var(--color-contrast);
1033
+ --button-text: var(--color-contrast-inverse);
1034
+ }
1035
+
1036
+ &.neutral,
1037
+ &.neutral.secondary {
1038
+ --button-surface: transparent;
1039
+ --button-text: var(--color-text);
1040
+
1041
+ border: var(--border-width) solid var(--color-border-strong);
1042
+
1043
+ &:hover {
1044
+ --button-surface: var(--color-fill);
1045
+ }
1046
+
1047
+ &:active {
1048
+ --button-surface: var(--color-fill-hover);
1049
+ }
1050
+ }
1051
+ }
1052
+
1053
+
1054
+ :where(button, input[type="submit"], input[type="button"], [role="button"]):is(.secondary, .tertiary),
1055
+ input[type="reset"] {
1056
+ &.accent {
1057
+ --button-text: var(--color-accent);
1058
+ }
1059
+
1060
+ &.danger {
1061
+ --button-text: var(--color-danger);
1062
+ }
1063
+
1064
+ &.success {
1065
+ --button-text: var(--color-success);
1066
+ }
1067
+
1068
+ &.warning {
1069
+ --button-text: var(--color-warning);
1070
+ }
1071
+
1072
+ &.info {
1073
+ --button-text: var(--color-info);
1074
+ }
1075
+
1076
+ &.contrast {
1077
+ --button-text: var(--color-contrast);
1078
+ }
1079
+ }
1080
+
1081
+
1082
+ :where(button, input[type="submit"], input[type="button"], [role="button"]).secondary,
1083
+ input[type="reset"] {
1084
+ --button-surface: transparent;
1085
+ --button-text: var(--color-primary);
1086
+
1087
+ color: var(--button-text);
1088
+ border: var(--border-width) solid var(--button-text);
1089
+
1090
+ &:is([aria-current], :hover) {
1091
+ --button-surface: var(--color-primary-fill);
1092
+ }
1093
+
1094
+ &:active {
1095
+ --button-surface: var(--color-primary-fill-hover);
1096
+ }
1097
+
1098
+ &.accent {
1099
+ &:is([aria-current], :hover) {
1100
+ --button-surface: var(--color-accent-fill);
1101
+ }
1102
+
1103
+ &:active {
1104
+ --button-surface: var(--color-accent-fill-hover);
1105
+ }
1106
+ }
1107
+
1108
+ &.danger {
1109
+ &:is([aria-current], :hover) {
1110
+ --button-surface: var(--color-danger-fill);
1111
+ }
1112
+
1113
+ &:active {
1114
+ --button-surface: var(--color-danger-fill-hover);
1115
+ }
1116
+ }
1117
+
1118
+ &.success {
1119
+ &:is([aria-current], :hover) {
1120
+ --button-surface: var(--color-success-fill);
1121
+ }
1122
+
1123
+ &:active {
1124
+ --button-surface: var(--color-success-fill-hover);
1125
+ }
1126
+ }
1127
+
1128
+ &.warning {
1129
+ &:is([aria-current], :hover) {
1130
+ --button-surface: var(--color-warning-fill);
1131
+ }
1132
+
1133
+ &:active {
1134
+ --button-surface: var(--color-warning-fill-hover);
1135
+ }
1136
+ }
1137
+
1138
+ &.info {
1139
+ &:is([aria-current], :hover) {
1140
+ --button-surface: var(--color-info-fill);
1141
+ }
1142
+
1143
+ &:active {
1144
+ --button-surface: var(--color-info-fill-hover);
1145
+ }
1146
+ }
1147
+
1148
+ &.contrast {
1149
+ &:is([aria-current], :hover) {
1150
+ --button-surface: var(--color-fill);
1151
+ }
1152
+
1153
+ &:active {
1154
+ --button-surface: var(--color-fill-hover);
1155
+ }
1156
+ }
1157
+ }
1158
+
1159
+
1160
+ :where(button, input[type="submit"], input[type="button"], [role="button"]).tertiary{
1161
+ --button-surface: transparent;
1162
+ --button-text: var(--color-primary);
1163
+
1164
+ border-color: transparent;
1165
+ box-shadow: none;
1166
+ text-decoration: underline;
1167
+ text-decoration-thickness: var(--text-decoration-thickness);
1168
+
1169
+ &:not(:is(:focus, [aria-current], :hover, :active)) {
1170
+ --button-surface: transparent;
1171
+ }
1172
+
1173
+ &:is(:focus, [aria-current], :hover, :active ) {
1174
+ text-decoration-thickness: calc(var(--text-decoration-thickness) + var(--link-decoration-thickness-hover));
1175
+ }
1176
+
1177
+ &.neutral {
1178
+ --button-text: var(--color-text)
1179
+ }
1180
+ }
1181
+
1182
+
1183
+ :where(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):is([disabled], [aria-disabled="true"]),
1184
+ :where(fieldset[disabled]) :is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]),
1185
+ a[role="button"]:not([href]) {
1186
+ opacity: 0.5;
1187
+ pointer-events: none;
1188
+ }
1189
+
1190
+
1191
+ :where(button, [role="button"]):is(.icon-only, .close) {
1192
+ --button-surface: transparent;
1193
+ --button-text: var(--color-text);
1194
+ --icon-size: 1em;
1195
+
1196
+ padding: var(--space-xs);
1197
+ display: inline-flex;
1198
+ align-items: center;
1199
+ justify-content: center;
1200
+ box-shadow: none;
1201
+
1202
+ &:is(:hover, :focus-visible) {
1203
+ --button-surface: var(--color-fill);
1204
+ --button-text: var(--color-text);
1205
+ }
1206
+
1207
+ &:active {
1208
+ --button-surface: var(--color-fill-hover);
1209
+ }
1210
+ }
1211
+
1212
+
1213
+ :where(button, [role="button"]).close::before {
1214
+ content: "";
1215
+ height: var(--icon-size);
1216
+ width: var(--icon-size);
1217
+ background-color: currentcolor;
1218
+ mask: var(--icon-close) center / contain no-repeat;
1219
+ }
1220
+ }
1221
+
1222
+
1223
+ @layer components {
1224
+ :where(details) {
1225
+ border-radius: var(--border-radius-m);
1226
+ display: block;
1227
+
1228
+ &:not(:has(> summary[role="button"]), .border-none) {
1229
+ border: var(--border-width) solid var(--color-border-strong);
1230
+ box-shadow: var(--shadow-small);
1231
+ }
1232
+
1233
+ &[open] summary::after{
1234
+ transform: rotate(-180deg);
1235
+ }
1236
+
1237
+ > *:not(summary) {
1238
+ margin: var(--space-2xs) var(--space-xs);
1239
+ }
1240
+ }
1241
+
1242
+
1243
+ :where(summary) {
1244
+ display: flex;
1245
+ flex-wrap: nowrap;
1246
+ justify-content: space-between;
1247
+ align-items: center;
1248
+ cursor: pointer;
1249
+ list-style-type: none;
1250
+ padding: var(--space-2xs) var(--space-xs);
1251
+
1252
+ &:hover:not([role="button"]) {
1253
+ background-color: var(--color-fill);
1254
+ border-radius: var(--border-radius-m);
1255
+ }
1256
+
1257
+
1258
+ &::-webkit-details-marker {
1259
+ display: none;
1260
+ }
1261
+
1262
+ &::marker {
1263
+ display: none;
1264
+ list-style-type: none;
1265
+ }
1266
+
1267
+ &::-moz-list-bullet {
1268
+ list-style-type: none;
1269
+ }
1270
+
1271
+ &[role="button"] {
1272
+ width: 100%;
1273
+ text-align: left;
1274
+ display: flex;
1275
+ }
1276
+
1277
+
1278
+ &::after {
1279
+ width: 1em;
1280
+ height: 1em;
1281
+ flex-shrink: 0;
1282
+ background-color: currentcolor;
1283
+ mask: var(--icon-chevron) center / 100% no-repeat;
1284
+ content: "";
1285
+ transition: 0.1s ease-in-out;
1286
+ }
1287
+ }
1288
+
1289
+ [role="group"] > details {
1290
+ & + details {
1291
+ margin-block-start: calc(var(--border-width) * -1);
1292
+ border-block-start: none;
1293
+
1294
+ &,
1295
+ & summary:hover:not([role="button"]) {
1296
+ border-start-start-radius: 0;
1297
+ border-start-end-radius: 0;
1298
+ }
1299
+ }
1300
+
1301
+ &:has(+ details) {
1302
+ &,
1303
+ & summary:hover:not([role="button"]) {
1304
+ border-end-start-radius: 0;
1305
+ border-end-end-radius: 0;
1306
+ }
1307
+ }
1308
+
1309
+ &:not(:last-child) {
1310
+ box-shadow: none;
1311
+ }
1312
+ }
1313
+
1314
+ :where(details)[open]:not(.border-none) summary:hover:not([role="button"]) {
1315
+ border-end-start-radius: 0;
1316
+ border-end-end-radius: 0;
1317
+ }
1318
+ }
1319
+
1320
+
1321
+ @layer components {
1322
+ .alert {
1323
+ --alert-padding: var(--space-s-m);
1324
+
1325
+ position: relative;
1326
+ background-color: var(--color-fill);
1327
+ color: inherit;
1328
+ border-radius: var(--border-radius-m);
1329
+ padding: var(--alert-padding);
1330
+ box-shadow: var(--shadow-medium);
1331
+ overflow: hidden;
1332
+ border: var(--border-width) solid var(--color-border-weak);
1333
+
1334
+
1335
+ > * + * {
1336
+ margin-block-start: var(--flow-space);
1337
+ }
1338
+
1339
+
1340
+ > .close {
1341
+ position: absolute;
1342
+ inset-block-start: calc(var(--alert-padding) - var(--space-xs));
1343
+ inset-inline-end: calc(var(--alert-padding) - var(--space-xs));
1344
+ margin: 0;
1345
+ }
1346
+
1347
+ &:has(> .close) {
1348
+ padding-inline-end: calc(var(--alert-padding) + 1em + var(--space-xs) * 2);
1349
+ }
1350
+
1351
+ a:not([role="button"],
1352
+ [role="link"]:not([role="button"])) {
1353
+ color: inherit;
1354
+ }
1355
+
1356
+ &:is(.accent, .info, .warning, .success, .danger) {
1357
+ a:not([role="button"],
1358
+ [role="link"]:not([role="button"])) {
1359
+ text-decoration-color: inherit;
1360
+ }
1361
+ }
1362
+
1363
+ &:is(.info, .warning, .success, .danger)::before {
1364
+ display: block;
1365
+ width: 1.5em;
1366
+ height: 1.5em;
1367
+ margin-inline-end: var(--space-xs);
1368
+ float: inline-start;
1369
+ background-color: currentcolor;
1370
+ mask-position: left .25em;
1371
+ mask-size: 1em auto;
1372
+ mask-repeat: no-repeat;
1373
+ content: "";
1374
+
1375
+ [dir="rtl"] & {
1376
+ mask-position: right .25em;
1377
+ }
1378
+ }
1379
+
1380
+ &.primary {
1381
+ background-color: var(--color-primary-fill);
1382
+ color: var(--color-primary-text);
1383
+ border-color: var(--color-primary-border-weak);
1384
+ }
1385
+
1386
+ &.accent {
1387
+ background-color: var(--color-accent-fill);
1388
+ color: var(--color-accent-text);
1389
+ border-color: var(--color-accent-border-weak);
1390
+ }
1391
+
1392
+ &.info {
1393
+ background-color: var(--color-info-fill);
1394
+ color: var(--color-info-text);
1395
+ border-color: var(--color-info-border-weak);
1396
+
1397
+ &::before {
1398
+ mask-image: var(--icon-info);
1399
+ }
1400
+ }
1401
+
1402
+ &.warning {
1403
+ background-color: var(--color-warning-fill);
1404
+ color: var(--color-warning-text);
1405
+ border-color: var(--color-warning-border-weak);
1406
+
1407
+ &::before {
1408
+ mask-image: var(--icon-invalid);
1409
+ }
1410
+ }
1411
+
1412
+ &.success {
1413
+ background-color: var(--color-success-fill);
1414
+ color: var(--color-success-text);
1415
+ border-color: var(--color-success-border-weak);
1416
+
1417
+ &::before {
1418
+ mask-image: var(--icon-valid);
1419
+ }
1420
+ }
1421
+
1422
+ &.danger {
1423
+ background-color: var(--color-danger-fill);
1424
+ color: var(--color-danger-text);
1425
+ border-color: var(--color-danger-border-weak);
1426
+
1427
+ &::before {
1428
+ mask-image: var(--icon-invalid);
1429
+ }
1430
+ }
1431
+ }
1432
+ }
1433
+
1434
+
1435
+ @layer components {
1436
+ .avatar {
1437
+ --avatar-size: calc(var(--size-body) * 2.5);
1438
+
1439
+ display: inline-flex;
1440
+ align-items: center;
1441
+ justify-content: center;
1442
+ height: var(--avatar-size);
1443
+ width: var(--avatar-size);
1444
+ overflow: hidden;
1445
+ border-radius: var(--border-radius-f);
1446
+ background-color: var(--color-contrast);
1447
+ color: var(--color-contrast-inverse);
1448
+ border: none;
1449
+ box-shadow: none;
1450
+ font-weight: var(--font-weight-bold);
1451
+ font-size: calc(var(--avatar-size) * 0.37);
1452
+ line-height: 1;
1453
+ text-transform: uppercase;
1454
+ letter-spacing: 0.05em;
1455
+ white-space: nowrap;
1456
+
1457
+ > img {
1458
+
1459
+ height: 100%;
1460
+ width: 100%;
1461
+ object-fit: cover;
1462
+ }
1463
+
1464
+ > :not(img) {
1465
+ color: inherit;
1466
+ overflow: hidden;
1467
+ padding: 0.15em;
1468
+ }
1469
+
1470
+ &.square {
1471
+ border-radius: min(4px, var(--border-radius-s));
1472
+ }
1473
+
1474
+ &.squircle {
1475
+ border-radius: 27%;
1476
+ }
1477
+
1478
+ &.small {
1479
+ --avatar-size: calc(var(--size-body) * 2);
1480
+ }
1481
+
1482
+ &.large {
1483
+ --avatar-size: calc(var(--size-body) * 3.5);
1484
+ }
1485
+ }
1486
+
1487
+ @supports (corner-shape: squircle) {
1488
+ .avatar.squircle {
1489
+ border-radius: 50%;
1490
+ corner-shape: squircle;
1491
+ }
1492
+ }
1493
+
1494
+ [role="group"]{
1495
+ &:has(> .avatar) {
1496
+ isolation: isolate;
1497
+ display: flex;
1498
+ align-items: center;
1499
+ }
1500
+
1501
+ > .avatar {
1502
+ box-shadow: 0 0 0 4px var(--avatar-ring-color, var(--color-surface));
1503
+
1504
+ + .avatar {
1505
+ margin-inline-start: calc(var(--space-s) * -1);
1506
+ }
1507
+
1508
+ &:hover,
1509
+ &:focus-within {
1510
+ z-index: 30;
1511
+ }
1512
+ }
1513
+ }
1514
+
1515
+
1516
+ .bg-sunken {
1517
+ --avatar-ring-color: var(--color-surface-sunken);
1518
+ }
1519
+
1520
+ .card,
1521
+ .bg-raised {
1522
+ --avatar-ring-color: var(--color-surface-raised);
1523
+ }
1524
+
1525
+ dialog,
1526
+ .bg-overlay {
1527
+ --avatar-ring-color: var(--color-surface-overlay);
1528
+ }
1529
+ }
1530
+
1531
+
1532
+ @layer components {
1533
+ .badge,
1534
+ .pill {
1535
+ display: inline-flex;
1536
+ align-items: center;
1537
+ gap: var(--space-3xs);
1538
+ line-height: 1;
1539
+ font-size: max(0.75em, var(--size-tiny));
1540
+ font-weight: var(--font-weight-bold);
1541
+ background-color: var(--color-fill);
1542
+ color: var(--color-text);
1543
+ padding: var(--space-3xs) var(--space-2xs);
1544
+ border: var(--border-width) solid var(--color-border-weak);
1545
+ box-shadow: var(--shadow-small);
1546
+ border-radius: var(--border-radius-s);
1547
+
1548
+ &.primary {
1549
+ background-color: var(--color-primary-fill);
1550
+ color: var(--color-primary-text);
1551
+ border-color: var(--color-primary-border-weak);
1552
+ }
1553
+
1554
+ &.muted {
1555
+ color: var(--color-text-muted);
1556
+ }
1557
+
1558
+ &.accent {
1559
+ background-color: var(--color-accent-fill);
1560
+ color: var(--color-accent-text);
1561
+ border-color: var(--color-accent-border-weak);
1562
+ }
1563
+
1564
+ &.danger {
1565
+ background-color: var(--color-danger-fill);
1566
+ color: var(--color-danger-text);
1567
+ border-color: var(--color-danger-border-weak);
1568
+ }
1569
+
1570
+ &.success {
1571
+ background-color: var(--color-success-fill);
1572
+ color: var(--color-success-text);
1573
+ border-color: var(--color-success-border-weak);
1574
+ }
1575
+
1576
+ &.warning {
1577
+ background-color: var(--color-warning-fill);
1578
+ color: var(--color-warning-text);
1579
+ border-color: var(--color-warning-border-weak);
1580
+ }
1581
+
1582
+ &.info {
1583
+ background-color: var(--color-info-fill);
1584
+ color: var(--color-info-text);
1585
+ border-color: var(--color-info-border-weak);
1586
+ }
1587
+ }
1588
+
1589
+ .pill {
1590
+ border-radius: var(--border-radius-f);
1591
+ }
1592
+
1593
+
1594
+ :is(a, [role="link"] ,button, input[type="submit"], input[type="button"], input[type="reset"], [role="button"]){
1595
+ &:is(.badge, .pill),
1596
+ & :is(.badge, .pill) {
1597
+ text-decoration: none;
1598
+ cursor: pointer;
1599
+
1600
+ &:is(:focus, [aria-current], :hover) {
1601
+ background-color: var(--color-fill-hover);
1602
+
1603
+ &.primary {background-color: var(--color-primary-fill-hover)}
1604
+ &.accent {background-color: var(--color-accent-fill-hover)}
1605
+ &.success {background-color: var(--color-success-fill-hover)}
1606
+ &.warning {background-color: var(--color-warning-fill-hover)}
1607
+ &.danger {background-color: var(--color-danger-fill-hover)}
1608
+ &.info {background-color: var(--color-info-fill-hover)}
1609
+ }
1610
+
1611
+ &:active {
1612
+ background-color: var(--color-fill-active);
1613
+
1614
+ &.primary {background-color: var(--color-primary-fill-active)}
1615
+ &.accent {background-color: var(--color-accent-fill-active)}
1616
+ &.success {background-color: var(--color-success-fill-active)}
1617
+ &.warning {background-color: var(--color-warning-fill-active)}
1618
+ &.danger {background-color: var(--color-danger-fill-active)}
1619
+ &.info {background-color: var(--color-info-fill-active)}
1620
+ }
1621
+ }
1622
+ }
1623
+ }
1624
+
1625
+
1626
+ @layer components {
1627
+ .card {
1628
+ --card-padding: var(--space-s-m);
1629
+
1630
+ background-color: var(--color-surface-raised);
1631
+ border: var(--border-width) solid var(--color-border-weak);
1632
+ border-radius: var(--border-radius-m);
1633
+ box-shadow: var(--shadow-medium);
1634
+ padding: var(--card-padding);
1635
+ overflow: hidden;
1636
+
1637
+
1638
+ > * + * {
1639
+ margin-block-start: var(--flow-space);
1640
+ }
1641
+
1642
+
1643
+ > :is(figure:not(.inset), header, footer, hr) {
1644
+ margin-inline: calc(var(--card-padding) * -1);
1645
+ }
1646
+
1647
+
1648
+ > :is(figure:not(.inset), header):first-child {
1649
+ margin-block-start: calc(var(--card-padding) * -1);
1650
+ }
1651
+
1652
+ > :is(figure:not(.inset), footer):last-child {
1653
+ margin-block-end: calc(var(--card-padding) * -1);
1654
+ }
1655
+
1656
+ > :is(header, footer) {
1657
+
1658
+ padding: var(--card-padding);
1659
+ background-color: var(--color-fill);
1660
+ }
1661
+
1662
+ > header {
1663
+ border-bottom: var(--border-width) solid var(--color-border-weak);
1664
+ padding-bottom: var(--flow-space);
1665
+ }
1666
+
1667
+ > footer {
1668
+ border-top: var(--border-width) solid var(--color-border-weak);
1669
+ padding-top: var(--flow-space);
1670
+ }
1671
+
1672
+ > .sidebar:only-child > figure:not(.inset) {
1673
+ margin-block: calc(var(--card-padding) * -1);
1674
+
1675
+ &:first-child {
1676
+ margin-inline-start: calc(var(--card-padding) * -1);
1677
+ }
1678
+ }
1679
+
1680
+ > .sidebar.reversed > figure:not(.inset):first-child {
1681
+ margin-inline-end: calc(var(--card-padding) * -1);
1682
+ }
1683
+
1684
+
1685
+ &:is(a, [role="link"]) {
1686
+ display: block;
1687
+ color: inherit;
1688
+ font-weight: inherit;
1689
+ text-decoration: none;
1690
+ cursor: pointer;
1691
+ transition: 0.1s ease-in-out;
1692
+
1693
+ &:hover,
1694
+ &:focus-visible {
1695
+ background-image: linear-gradient(var(--color-primary-fill), var(--color-primary-fill));
1696
+ border-color: var(--color-primary-border-weak);
1697
+ }
1698
+
1699
+ &:active {
1700
+ background-image: linear-gradient(var(--color-primary-fill-active), var(--color-primary-fill-active));
1701
+ }
1702
+ }
1703
+ }
1704
+ }
1705
+
1706
+
1707
+ @layer components {
1708
+ .dropdown > button[popovertarget] {
1709
+ inline-size: 100%;
1710
+ display: flex;
1711
+ justify-content: space-between;
1712
+ align-items: center;
1713
+ gap: var(--space-3xs);
1714
+
1715
+
1716
+ &:where(:not(.primary, .accent, .danger, .success, .warning, .info, .contrast, .neutral, .secondary, .tertiary, .icon-only, .close)) {
1717
+ --button-surface: transparent;
1718
+ --button-text: var(--color-text);
1719
+
1720
+ font-weight: var(--font-weight);
1721
+
1722
+ &:where(:not([popover] *)) {
1723
+ border: var(--border-width) solid var(--color-border-strong);
1724
+ }
1725
+
1726
+ &:hover {
1727
+ background-color: var(--color-fill);
1728
+ }
1729
+ }
1730
+ }
1731
+
1732
+
1733
+ .dropdown.border-none > button[popovertarget] {
1734
+ border: none;
1735
+ box-shadow: none;
1736
+ }
1737
+
1738
+ .dropdown > button[popovertarget]::after {
1739
+ content: "";
1740
+ width: 1em;
1741
+ height: 1em;
1742
+ background-color: currentcolor;
1743
+ mask: var(--icon-chevron) center / 100% no-repeat;
1744
+ flex-shrink: 0;
1745
+ }
1746
+
1747
+ .dropdown [popover] {
1748
+ inline-size: var(--dropdown-width, max-content);
1749
+ min-inline-size: var(--dropdown-min-width, 12rem);
1750
+ max-inline-size: var(--dropdown-max-width, calc(100% - var(--space-s-l)));
1751
+ padding: var(--space-2xs);
1752
+ display: flex;
1753
+ flex-direction: column;
1754
+ align-items: stretch;
1755
+ gap: 0;
1756
+ background-color: var(--color-surface-overlay);
1757
+ border: var(--border-width) solid var(--color-border-weak);
1758
+ border-radius: var(--border-radius-m);
1759
+ box-shadow: var(--shadow-medium);
1760
+ position-anchor: auto;
1761
+ inset-block: anchor(bottom) auto;
1762
+ inset-inline: auto anchor(right);
1763
+ margin: var(--space-3xs) 0 0;
1764
+ position-try-fallbacks: flip-block, flip-inline, flip-block flip-inline;
1765
+
1766
+ &:not(:popover-open) {
1767
+ display: none;
1768
+ }
1769
+
1770
+ :is(ul, ol) {
1771
+ list-style: none;
1772
+ padding: 0;
1773
+ }
1774
+
1775
+ a {
1776
+ color: inherit;
1777
+ }
1778
+ }
1779
+
1780
+ .dropdown.left [popover] {
1781
+ inset-inline: anchor(left) auto;
1782
+ }
1783
+
1784
+ .dropdown.center [popover] {
1785
+ inset-inline: anchor(center) auto;
1786
+ translate: -50% 0;
1787
+ position-try-fallbacks: flip-block;
1788
+ }
1789
+
1790
+
1791
+ .dropdown [popover] .dropdown [popover] {
1792
+ inset-block: anchor(top) auto;
1793
+ inset-inline: anchor(right) auto;
1794
+ margin: 0;
1795
+ margin-inline-start: var(--space-3xs);
1796
+ }
1797
+
1798
+
1799
+ .dropdown > button[popovertarget].icon-only {
1800
+ inline-size: auto;
1801
+ display: inline-flex;
1802
+ justify-content: center;
1803
+ }
1804
+
1805
+ .dropdown > button[popovertarget].icon-only::after,
1806
+ .dropdown > button[popovertarget]:has(> .icon:only-child)::after {
1807
+ content: none;
1808
+ }
1809
+ }
1810
+
1811
+
1812
+ @layer components {
1813
+ .icon {
1814
+ height: var(--icon-size, 1em);
1815
+ width: var(--icon-size, 1em);
1816
+ vertical-align: var(--icon-align, -0.125em);
1817
+ }
1818
+
1819
+ .icon.small {
1820
+ --icon-size: 0.75em;
1821
+ --icon-align: -0.07em;
1822
+ }
1823
+
1824
+ .icon.large {
1825
+ --icon-size: 1.5em;
1826
+ --icon-align: -0.37em;
1827
+ }
1828
+ }
1829
+
1830
+
1831
+ @layer components {
1832
+ [aria-busy="true"]:not(input, select, textarea, html, form, :has(.skeleton)) {
1833
+ --loader-size: 1.5em;
1834
+ --loader-align: -0.37em;
1835
+
1836
+ &::before {
1837
+ display: inline-block;
1838
+ height: var(--loader-size);
1839
+ width: var(--loader-size);
1840
+ mask: var(--icon-loading) center / contain no-repeat;
1841
+ background-color: currentcolor;
1842
+ vertical-align: var(--loader-align);
1843
+ content: "";
1844
+ }
1845
+
1846
+ &:not(:empty)::before {
1847
+ margin-inline-end: var(--space-2xs);
1848
+ }
1849
+
1850
+ &.loader-small::before {
1851
+ --loader-size: 1em;
1852
+ --loader-align: -0.125em;
1853
+ }
1854
+
1855
+ &.loader-large::before {
1856
+ --loader-size: 2em;
1857
+ --loader-align: -0.5em;
1858
+ }
1859
+
1860
+ &.overlay {
1861
+ position: relative;
1862
+
1863
+ > * {
1864
+ opacity: 0.4;
1865
+ pointer-events: none;
1866
+ }
1867
+
1868
+ &::before {
1869
+ position: absolute;
1870
+ inset: 0;
1871
+ margin: auto;
1872
+ z-index: 1;
1873
+ }
1874
+ }
1875
+ }
1876
+
1877
+ [aria-busy="true"]:is(
1878
+ a,
1879
+ button,
1880
+ [type="submit"],
1881
+ [type="button"],
1882
+ [type="reset"],
1883
+ [role="button"],
1884
+ [role="link"]
1885
+ ) {
1886
+ pointer-events: none;
1887
+ }
1888
+
1889
+ [aria-busy="true"]:not(input, select, textarea, html, form):empty {
1890
+ text-align: center;
1891
+ }
1892
+ }
1893
+
1894
+
1895
+ @layer components {
1896
+
1897
+ aside > nav:not([class], [aria-label="breadcrumb" i]),
1898
+ .dropdown [popover] {
1899
+ --menu-border-radius: min(4px, var(--border-radius-s));
1900
+
1901
+ > * + * {
1902
+ margin-block-start: var(--space-2xs);
1903
+ }
1904
+
1905
+ li {
1906
+ display: flex;
1907
+ flex-direction: column;
1908
+ align-items: stretch;
1909
+ position: relative;
1910
+ }
1911
+
1912
+ li ul:not([popover], [popover] > ul) {
1913
+ white-space: nowrap;
1914
+ margin-inline-start: var(--space-2xs);
1915
+ padding-inline-start: var(--space-xs);
1916
+ position: relative;
1917
+ border-inline-start: var(--border-width) solid var(--color-border-weak);
1918
+ }
1919
+
1920
+
1921
+ > ul:not([class]) {
1922
+ display: flex;
1923
+ flex-direction: column;
1924
+ align-items: stretch;
1925
+ gap: 0;
1926
+ }
1927
+
1928
+ a,
1929
+ [role="link"] {
1930
+ border-radius: var(--menu-border-radius);
1931
+ text-decoration: none;
1932
+ padding: var(--space-3xs) var(--space-2xs);
1933
+ font-weight: var(--font-weight);
1934
+
1935
+ &:is(:hover, :active) {
1936
+ background-image: linear-gradient(var(--color-fill), var(--color-fill));
1937
+ }
1938
+ }
1939
+
1940
+ button,
1941
+ [role="button"] {
1942
+ border-radius: var(--menu-border-radius);
1943
+ text-align: left;
1944
+ font-weight: var(--font-weight);
1945
+ background-color: transparent;
1946
+ border: none;
1947
+ box-shadow: none;
1948
+ color: inherit;
1949
+ padding: var(--space-3xs) var(--space-2xs);
1950
+
1951
+ &:is(:hover, :active) {
1952
+ background-image: linear-gradient(var(--color-fill), var(--color-fill));
1953
+ }
1954
+ }
1955
+
1956
+ details {
1957
+ border-radius: var(--menu-border-radius);
1958
+ border: none;
1959
+ box-shadow: none;
1960
+
1961
+
1962
+ > *:not(summary) {
1963
+ margin: 0;
1964
+ margin-inline-start: var(--space-2xs);
1965
+ }
1966
+ }
1967
+
1968
+ summary {
1969
+ padding: var(--space-3xs) var(--space-2xs);
1970
+ border-radius: var(--menu-border-radius);
1971
+ }
1972
+
1973
+ summary:hover:not([role="button"]){
1974
+ border-radius: var(--menu-border-radius);
1975
+ }
1976
+
1977
+ [aria-current] {
1978
+ background-color: var(--color-fill-hover);
1979
+ border-radius: var(--menu-border-radius);
1980
+ }
1981
+
1982
+ [aria-disabled="true"] {
1983
+ opacity: 0.5;
1984
+ pointer-events: none;
1985
+ }
1986
+ }
1987
+ }
1988
+
1989
+
1990
+ @layer components {
1991
+ dialog {
1992
+ --modal-padding: var(--space-s-m);
1993
+
1994
+ border: var(--border-width) solid var(--color-border-weak);
1995
+ border-radius: var(--border-radius-m);
1996
+ padding: var(--modal-padding);
1997
+ color: inherit;
1998
+ margin: auto;
1999
+ background-color: var(--color-surface-overlay);
2000
+ box-shadow: var(--shadow-large);
2001
+ z-index: 1055;
2002
+ max-inline-size: calc(100% - var(--space-s-l));
2003
+ max-block-size: 85dvh;
2004
+
2005
+
2006
+ > * + * {
2007
+ margin-block-start: var(--flow-space);
2008
+ }
2009
+
2010
+ &::backdrop {
2011
+ background-color: var(--modal-color-backdrop, rgb(0 0 0 / 50%));
2012
+ backdrop-filter: blur(.4rem);
2013
+ }
2014
+
2015
+
2016
+ > :is(header, footer),
2017
+ > article > :is(header, footer) {
2018
+ padding: var(--modal-padding);
2019
+ background-color: var(--color-fill);
2020
+ }
2021
+
2022
+ > header,
2023
+ > article > header {
2024
+ border-bottom: var(--border-width) solid var(--color-border-weak);
2025
+ padding-bottom: var(--flow-space);
2026
+ }
2027
+
2028
+ > footer,
2029
+ > article > footer {
2030
+ border-top: var(--border-width) solid var(--color-border-weak);
2031
+ padding-top: var(--flow-space);
2032
+ }
2033
+
2034
+ > :is(header, footer, hr),
2035
+ > article > :is(header, footer, hr){
2036
+ margin-inline: calc(var(--modal-padding) * -1);
2037
+ }
2038
+
2039
+ > header:first-child,
2040
+ > article > header:first-child {
2041
+ margin-block-start: calc(var(--modal-padding) * -1);
2042
+ }
2043
+
2044
+ > footer:last-child,
2045
+ > article > footer:last-child,
2046
+ > footer:has(+ :is(.close, form[method="dialog"]):last-child) {
2047
+ margin-block-end: calc(var(--modal-padding) * -1);
2048
+ }
2049
+
2050
+
2051
+ > .close,
2052
+ > form[method="dialog"] > .close {
2053
+ position: absolute;
2054
+ inset-block-start: calc(var(--modal-padding) - var(--space-xs));
2055
+ inset-inline-end: calc(var(--modal-padding) - var(--space-xs));
2056
+ margin: 0;
2057
+ }
2058
+
2059
+
2060
+ > form[method="dialog"]:has(> .close:only-child) {
2061
+ display: contents;
2062
+ }
2063
+
2064
+
2065
+ &:has(> .close, > form[method="dialog"] > .close) {
2066
+ > :first-child:not(article, header, .close, form[method="dialog"]),
2067
+ > article:first-child > :first-child:not(header) {
2068
+ padding-inline-end: calc(1em + var(--space-xs) * 2);
2069
+ }
2070
+
2071
+ > header:first-child,
2072
+ > article:first-child > header:first-child {
2073
+ padding-inline-end: calc(var(--modal-padding) + 1em + var(--space-xs) * 2);
2074
+ }
2075
+ }
2076
+ }
2077
+
2078
+
2079
+ body:has(dialog:modal),
2080
+ body:has(dialog[popover]:popover-open) {
2081
+ overflow: hidden;
2082
+ }
2083
+ }
2084
+
2085
+
2086
+ @layer components {
2087
+ .skeleton{
2088
+ background-color: var(--color-fill-hover);
2089
+ border-radius: var(--border-radius-m);
2090
+ background-image: linear-gradient(
2091
+ 90deg,
2092
+ transparent 0%,
2093
+ var(--color-fill-hover) 50%,
2094
+ transparent 100%
2095
+ );
2096
+ background-size: 200% 100%;
2097
+ animation: skeleton 2s infinite;
2098
+
2099
+ &.line {
2100
+ block-size: 1em;
2101
+ inline-size: 100%;
2102
+ }
2103
+
2104
+ &.box {
2105
+ block-size: 4em;
2106
+ inline-size: 4em;
2107
+ }
2108
+
2109
+ &.circle {
2110
+ block-size: 3em;
2111
+ inline-size: 3em;
2112
+ border-radius: var(--border-radius-f);
2113
+ flex: none;
2114
+ }
2115
+ }
2116
+
2117
+ @keyframes skeleton {
2118
+ from { background-position: 200% 0; }
2119
+ to { background-position: -200% 0; }
2120
+ }
2121
+
2122
+ @media (prefers-reduced-motion: reduce) {
2123
+ .skeleton {
2124
+ animation: none;
2125
+ }
2126
+ }
2127
+ }
2128
+
2129
+
2130
+ @layer components {
2131
+ [data-tooltip] {
2132
+ position: relative;
2133
+
2134
+ &:not(a, button, input, img) {
2135
+ border-bottom: 1px dotted;
2136
+ text-decoration: none;
2137
+ cursor: help;
2138
+ }
2139
+
2140
+ &::before,
2141
+ &::after {
2142
+ display: block;
2143
+ z-index: 1080;
2144
+ position: absolute;
2145
+ opacity: 0;
2146
+ visibility: hidden;
2147
+ pointer-events: none;
2148
+ inset-inline-start: 50%;
2149
+ }
2150
+
2151
+
2152
+ &::before {
2153
+ inset-block-end: calc(100% + 0.625rem);
2154
+ padding: var(--space-3xs) var(--space-2xs);
2155
+ overflow: hidden;
2156
+ transform: translate(-50%, 0.25rem);
2157
+ border-radius: var(--border-radius-s);
2158
+ background-color: var(--tooltip-background-color, var(--color-contrast));
2159
+ content: attr(data-tooltip);
2160
+ color: var(--tooltip-color, var(--color-contrast-inverse));
2161
+ font-style: normal;
2162
+ font-weight: var(--font-weight);
2163
+ font-size: var(--size-small);
2164
+ text-decoration: none;
2165
+ white-space: nowrap;
2166
+ }
2167
+
2168
+
2169
+ &::after {
2170
+ inset-block-end: calc(100% - 0.25rem);
2171
+ transform: translate(-50%, -0.3125rem);
2172
+ border-top: 0.3125rem solid;
2173
+ border-right: 0.3125rem solid transparent;
2174
+ border-left: 0.3125rem solid transparent;
2175
+ background-color: transparent;
2176
+ content: "";
2177
+ color: var(--tooltip-background-color, var(--color-contrast));
2178
+ }
2179
+
2180
+ &[data-placement="bottom"] {
2181
+ &::before,
2182
+ &::after {
2183
+ inset-block: 100% auto;
2184
+ transform: translate(-50%, 0.25rem);
2185
+ }
2186
+
2187
+ &::after {
2188
+ transform: translate(-50%, -0.3125rem);
2189
+ border: 0.3125rem solid transparent;
2190
+ border-bottom: 0.3125rem solid;
2191
+ }
2192
+ }
2193
+
2194
+ &[data-placement="left"] {
2195
+ &::before,
2196
+ &::after {
2197
+ inset: 50% 100% auto auto;
2198
+ transform: translate(-0.25rem, -50%);
2199
+ }
2200
+
2201
+ &::after {
2202
+ transform: translate(0.3125rem, -50%);
2203
+ border: 0.3125rem solid transparent;
2204
+ border-left: 0.3125rem solid;
2205
+ }
2206
+ }
2207
+
2208
+ &[data-placement="right"] {
2209
+ &::before,
2210
+ &::after {
2211
+ inset: 50% auto auto 100%;
2212
+ transform: translate(0.25rem, -50%);
2213
+ }
2214
+
2215
+ &::after {
2216
+ transform: translate(-0.3125rem, -50%);
2217
+ border: 0.3125rem solid transparent;
2218
+ border-right: 0.3125rem solid;
2219
+ }
2220
+ }
2221
+
2222
+
2223
+ &:focus-visible,
2224
+ &:hover {
2225
+ &::before,
2226
+ &::after {
2227
+ transition: visibility 0s 500ms;
2228
+ opacity: 1;
2229
+ visibility: visible;
2230
+ }
2231
+ }
2232
+ }
2233
+ }
2234
+
2235
+
2236
+ @layer base {
2237
+
2238
+ input:is([type="checkbox"], [type="radio"]) {
2239
+ --size: 1em;
2240
+
2241
+ appearance: none;
2242
+ height: var(--size);
2243
+ width: var(--size);
2244
+ position: relative;
2245
+ cursor: pointer;
2246
+ font-size: inherit;
2247
+ margin: 0;
2248
+ margin-block-end: -0.15em;
2249
+ margin-inline-end: var(--space-3xs);
2250
+ border: var(--border-width) solid var(--color-border-strong);
2251
+
2252
+ &:focus {
2253
+ outline-offset: var(--outline-offset, 1px);
2254
+ outline: var(--outline-width, 2px) solid var(--color-primary-focus);
2255
+
2256
+ &[aria-invalid="false"] {
2257
+ outline-color: var(--color-success-focus);
2258
+ }
2259
+
2260
+ &[aria-invalid="true"] {
2261
+ outline-color: var(--color-danger-focus);
2262
+ }
2263
+ }
2264
+ }
2265
+
2266
+ label:has([type="checkbox"], [type="radio"]){
2267
+ inline-size: fit-content;
2268
+ cursor: pointer;
2269
+ }
2270
+
2271
+ input:is([type="checkbox"], [type="radio"]) + label {
2272
+ cursor: pointer;
2273
+ display: inline-block;
2274
+
2275
+ &:not(:last-of-type) {
2276
+ margin-inline-end: var(--space-s);
2277
+ }
2278
+ }
2279
+
2280
+ input:is([type="checkbox"]:not([role="switch"]), [type="radio"]):checked,
2281
+ input[type="checkbox"]:indeterminate {
2282
+ background-color: var(--color-primary);
2283
+ border-color: var(--color-primary);
2284
+
2285
+ &::after {
2286
+ content: "";
2287
+ position: absolute;
2288
+ inset: 0;
2289
+ background-color: var(--color-primary-inverse);
2290
+ mask-position: center;
2291
+ mask-repeat: no-repeat;
2292
+ mask-size: 100%;
2293
+ }
2294
+
2295
+ &[aria-invalid="false"] {
2296
+ background-color: var(--color-success);
2297
+ border-color: var(--color-success);
2298
+ }
2299
+
2300
+ &[aria-invalid="true"] {
2301
+ background-color: var(--color-danger);
2302
+ border-color: var(--color-danger);
2303
+ }
2304
+ }
2305
+
2306
+ input[type="checkbox"]:not([role="switch"]) {
2307
+ border-radius: min(var(--border-radius-s), 4px);
2308
+
2309
+ &:checked::after {
2310
+ mask-image: var(--icon-check);
2311
+ }
2312
+
2313
+ &:indeterminate::after {
2314
+ mask-image: var(--icon-minus);
2315
+ }
2316
+ }
2317
+
2318
+ input[type="radio"] {
2319
+ border-radius: var(--border-radius-f);
2320
+
2321
+ &:checked::after {
2322
+
2323
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='currentColor'/%3E%3C/svg%3E");
2324
+ }
2325
+ }
2326
+
2327
+
2328
+ input[type="checkbox"][role="switch"] {
2329
+ --width: 1.85;
2330
+
2331
+ background-color: var(--switch-color-surface);
2332
+ inline-size: calc(var(--width) * var(--size));
2333
+ transition: 0.1s ease-in-out;
2334
+ border: var(--border-width) solid var(--switch-color-border);
2335
+ border-radius: var(--border-radius-f);
2336
+ padding: 1px;
2337
+
2338
+ &::before {
2339
+ content: "";
2340
+ display: block;
2341
+ aspect-ratio: 1;
2342
+ block-size: calc(var(--size) - (2 * var(--border-width)) - 2px);
2343
+ border-radius: var(--border-radius-f);
2344
+ background-color: var(--color-primary-inverse);
2345
+ box-shadow: var(--shadow-small);
2346
+ transition: margin 0.1s ease-in-out;
2347
+ }
2348
+
2349
+ &:checked {
2350
+ background-color: var(--color-primary);
2351
+ border-color: var(--color-primary);
2352
+
2353
+ &::before {
2354
+ margin-inline-start: calc((var(--width) * var(--size)) - var(--size));
2355
+ background-color: var(--color-primary-inverse);
2356
+ }
2357
+
2358
+ &[aria-invalid="false"] {
2359
+ background-color: var(--color-success);
2360
+ border-color: var(--color-success);
2361
+ }
2362
+
2363
+ &[aria-invalid="true"] {
2364
+ background-color: var(--color-danger);
2365
+ border-color: var(--color-danger);
2366
+ }
2367
+ }
2368
+
2369
+ &[disabled] {
2370
+ opacity: 0.5;
2371
+ pointer-events: none;
2372
+ }
2373
+ }
2374
+ }
2375
+
2376
+
2377
+ @layer base {
2378
+
2379
+ :where(input, select, textarea) {
2380
+ background-color: var(--form-color-surface);
2381
+ border: var(--border-width) solid var(--color-border-strong);
2382
+ border-radius: var(--border-radius-m);
2383
+ box-shadow: var(--shadow-small);
2384
+ line-height: var(--line-height);
2385
+ }
2386
+
2387
+ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]),
2388
+ input[type="file"]::file-selector-button,
2389
+ select,
2390
+ textarea {
2391
+ appearance: none;
2392
+ padding: var(--space-2xs) var(--space-xs);
2393
+
2394
+ &.small {
2395
+ padding: var(--space-3xs) var(--space-2xs);
2396
+ font-size: var(--size-small);
2397
+ }
2398
+
2399
+ &.large {
2400
+ padding: var(--space-xs) var(--space-s);
2401
+ font-size: var(--size-h4);
2402
+ }
2403
+ }
2404
+
2405
+ input:not([type="checkbox"], [type="radio"]),
2406
+ select,
2407
+ textarea,
2408
+ form button:not(.icon-only, .close) {
2409
+ inline-size: 100%;
2410
+ }
2411
+
2412
+
2413
+ .cluster > :is(input:not([type="checkbox"], [type="radio"]), select, textarea, button) {
2414
+ inline-size: auto;
2415
+ }
2416
+
2417
+ label {
2418
+ display: block;
2419
+ }
2420
+
2421
+ :where(form, fieldset) > small {
2422
+ display: block;
2423
+ color: var(--color-text-muted);
2424
+ }
2425
+
2426
+ :is(input, select, textarea) {
2427
+ &[aria-invalid="false"] {
2428
+ border-color: var(--color-success-border-strong);
2429
+
2430
+ + small {
2431
+ color: var(--color-success-text);
2432
+ }
2433
+ }
2434
+
2435
+ &[aria-invalid="true"] {
2436
+ border-color: var(--color-danger-border-strong);
2437
+
2438
+ + small {
2439
+ color: var(--color-danger-text);
2440
+ }
2441
+ }
2442
+ }
2443
+
2444
+ textarea {
2445
+ resize: vertical;
2446
+ border-bottom-right-radius: min(var(--border-radius-s), 4px);
2447
+ }
2448
+
2449
+
2450
+ fieldset {
2451
+ border: var(--border-width) solid var(--color-border-weak);
2452
+ border-radius: var(--border-radius-s);
2453
+ padding: var(--space-xs);
2454
+
2455
+ legend {
2456
+ font-weight: var(--font-weight-bold);
2457
+ font-size: var(--size-small);
2458
+ }
2459
+ }
2460
+
2461
+ fieldset:is(
2462
+ [role="group"],
2463
+ .bare, .cluster, .container, .grid, .sidebar, .repel, .switcher
2464
+ ) {
2465
+ border: 0;
2466
+ padding: 0;
2467
+
2468
+
2469
+
2470
+
2471
+ }
2472
+
2473
+
2474
+ :is(input, textarea)[readonly]:focus {
2475
+ outline: transparent;
2476
+ }
2477
+
2478
+
2479
+ input:not([type="submit"], [type="button"], [type="reset"], [role="switch"])[disabled],
2480
+ select[disabled],
2481
+ textarea[disabled],
2482
+ :where(fieldset[disabled]) :is(input:not([type="submit"], [type="button"], [type="reset"]), select, textarea) {
2483
+ background-color: transparent;
2484
+ border-color: var(--form-color-border-disabled);
2485
+ opacity: 0.5;
2486
+ pointer-events: none;
2487
+ }
2488
+
2489
+ label[aria-disabled="true"],
2490
+ label:has(> input[disabled]),
2491
+ input:is([type="checkbox"], [type="radio"])[disabled] + label {
2492
+
2493
+ opacity: 0.5;
2494
+ pointer-events: none;
2495
+ }
2496
+
2497
+
2498
+ input::placeholder,
2499
+ textarea::placeholder,
2500
+ select:invalid {
2501
+ color: var(--color-text-muted);
2502
+ opacity: 0.9;
2503
+ }
2504
+
2505
+
2506
+ input:is([type="color"], [type="file"]) {
2507
+ --padding-vertical: var(--space-2xs);
2508
+
2509
+ block-size: calc(
2510
+ (1em * var(--line-height)) +
2511
+ (var(--padding-vertical) * 2) +
2512
+ (var(--border-width) * 2)
2513
+ );
2514
+ cursor: pointer;
2515
+
2516
+ &.small {
2517
+ --padding-vertical: var(--space-3xs);
2518
+ }
2519
+
2520
+ &.large {
2521
+ --padding-vertical: var(--space-xs);
2522
+ }
2523
+ }
2524
+
2525
+ input[type="color"]::-moz-color-swatch,
2526
+ input[type="color"]::-webkit-color-swatch {
2527
+
2528
+ border: none;
2529
+ border-radius: var(--border-radius-s);
2530
+ }
2531
+
2532
+ input[type="file"] {
2533
+ &::file-selector-button {
2534
+ background-color: var(--color-primary);
2535
+ color: var(--color-primary-inverse);
2536
+ box-shadow: var(--shadow-small);
2537
+ padding: var(--space-2xs) var(--space-xs);
2538
+ border: var(--border-width) solid var(--color-primary);
2539
+ font-weight: bold;
2540
+ line-height: var(--line-height);
2541
+ text-align: center;
2542
+ margin-inline-end: var(--space-xs);
2543
+ border-radius: 0;
2544
+ font-family: inherit;
2545
+ }
2546
+
2547
+ &:is([aria-current], :hover)::file-selector-button {
2548
+ background-color: oklch(from var(--color-primary) calc(l * var(--hover-multiplier)) c h);
2549
+ border-color: oklch(from var(--color-primary) calc(l * var(--hover-multiplier)) c h);
2550
+ }
2551
+
2552
+ &:active::file-selector-button {
2553
+ background-color: oklch(from var(--color-primary) calc(l * var(--hover-multiplier) * var(--hover-multiplier)) c h);
2554
+ border-color: oklch(from var(--color-primary) calc(l * var(--hover-multiplier) * var(--hover-multiplier)) c h);
2555
+ }
2556
+
2557
+ &.small::file-selector-button {
2558
+ padding: var(--space-3xs) var(--space-2xs);
2559
+ font-size: var(--size-small);
2560
+ }
2561
+
2562
+ &.large::file-selector-button {
2563
+ padding: var(--space-xs) var(--space-s);
2564
+ font-size: var(--size-h4);
2565
+ }
2566
+ }
2567
+
2568
+ input[type="range"] {
2569
+ background-color: var(--color-fill);
2570
+ border-color: var(--color-border-weak);
2571
+ height: 0.33em;
2572
+ appearance: none;
2573
+ cursor: pointer;
2574
+ box-shadow: var(--shadow-inner);
2575
+
2576
+ &::-moz-range-thumb {
2577
+ width: 1em;
2578
+ height: 1em;
2579
+ background-color: var(--color-text);
2580
+ border-radius: var(--border-radius-f);
2581
+ border: none;
2582
+ box-shadow: var(--shadow-small);
2583
+ }
2584
+
2585
+ &::-webkit-slider-thumb {
2586
+ appearance: none;
2587
+ width: 1em;
2588
+ height: 1em;
2589
+ background-color: var(--color-text);
2590
+ border-radius: var(--border-radius-f);
2591
+ box-shadow: var(--shadow-small);
2592
+ }
2593
+
2594
+ &:active {
2595
+ background-color: var(--color-fill-hover);
2596
+
2597
+ &::-moz-range-thumb {
2598
+ outline: 2px solid var(--color-primary-focus);
2599
+ }
2600
+
2601
+ &::-webkit-slider-thumb {
2602
+ outline: 2px solid var(--color-primary-focus);
2603
+ }
2604
+ }
2605
+
2606
+ &:focus-visible {
2607
+ outline: transparent;
2608
+ box-shadow: 0 0 0 var(--outline-width) var(--color-primary-focus);
2609
+ }
2610
+ }
2611
+
2612
+ input[type="search"] {
2613
+ padding-inline-start: calc(var(--space-xs) + var(--space-2xs) + 1em);
2614
+ background-image: var(--icon-search);
2615
+ background-size: 1em auto;
2616
+ background-position: center left var(--space-xs);
2617
+ background-repeat: no-repeat;
2618
+ }
2619
+
2620
+ input:not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"],
2621
+ [type="month"], [type="time"], [type="week"], [type="range"]),
2622
+ textarea {
2623
+ &[aria-invalid] {
2624
+ background-size: 1em auto;
2625
+ background-repeat: no-repeat;
2626
+ padding-inline-end: calc(var(--space-xs) + var(--space-2xs) + 1em);
2627
+ }
2628
+
2629
+ &[aria-invalid="false"]{
2630
+ background-image: var(--icon-valid);
2631
+ }
2632
+
2633
+ &[aria-invalid="true"]{
2634
+ background-image: var(--icon-invalid);
2635
+ }
2636
+ }
2637
+
2638
+ input:not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"],
2639
+ [type="month"], [type="time"], [type="week"], [type="range"])[aria-invalid] {
2640
+ background-position: center right var(--space-xs);
2641
+ }
2642
+
2643
+ textarea[aria-invalid] {
2644
+ background-position: top calc(var(--space-2xs) + 0.3em) right var(--space-xs);
2645
+ }
2646
+
2647
+ select:not([multiple], [size]) {
2648
+ background-image: var(--icon-select);
2649
+ background-position: center right var(--space-xs);
2650
+ background-size: 1.125rem;
2651
+ background-repeat: no-repeat;
2652
+ }
2653
+
2654
+ select[multiple] option:checked {
2655
+ background-color: var(--color-fill-hover);
2656
+ }
2657
+
2658
+
2659
+ input:not([type="submit"], [type="button"], [type="reset"], [type="range"], [type="checkbox"], [type="radio"], [readonly]):focus,
2660
+ select:is(:focus, :open),
2661
+ textarea:not([readonly]):focus {
2662
+ outline: var(--outline-width, 2px) solid var(--color-primary-focus);
2663
+ outline-offset: calc(var(--outline-width) * -1);
2664
+ border-color: transparent;
2665
+
2666
+ &[aria-invalid="false"] {
2667
+ outline-color: var(--color-success-focus);
2668
+ }
2669
+
2670
+ &[aria-invalid="true"] {
2671
+ outline-color: var(--color-danger-focus);
2672
+ }
2673
+ }
2674
+
2675
+
2676
+ :where(form, fieldset):not(.cluster, .container, .grid, .sidebar, .repel, .switcher, [role="group"]){
2677
+ > * + * {
2678
+ margin-block-start: var(--flow-space);
2679
+ }
2680
+
2681
+ > label:not(:has(> :is(input, select, textarea))) + :is(input, select, textarea),
2682
+ > :is(input, select, textarea) + small {
2683
+ --flow-space: var(--flow-space-glue);
2684
+ }
2685
+
2686
+
2687
+ > input:is([type="radio"], [type="checkbox"]) + label,
2688
+ > label + input:is([type="radio"], [type="checkbox"]) {
2689
+ --flow-space: 0;
2690
+ }
2691
+
2692
+
2693
+ > input:is([type="radio"], [type="checkbox"]) + input:is([type="radio"], [type="checkbox"]),
2694
+ > label:has(> :is([type="radio"], [type="checkbox"])) + label:has(> :is([type="radio"], [type="checkbox"])) {
2695
+ --flow-space: var(--flow-space-tight);
2696
+ }
2697
+ }
2698
+
2699
+
2700
+ label > :is(input, select, textarea) {
2701
+ margin-block-start: var(--flow-space-glue);
2702
+ }
2703
+
2704
+
2705
+ fieldset:not(.bare, .cluster, .container, .grid, .sidebar, .repel, .switcher, [role="group"]) > legend + * {
2706
+ margin-block-start: 0;
2707
+ }
2708
+
2709
+ [dir="rtl"] {
2710
+ input[type="search"],
2711
+ select:not([multiple], [size]),
2712
+ input:not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"],
2713
+ [type="month"], [type="time"], [type="week"], [type="range"])[aria-invalid] {
2714
+ background-position: center left var(--space-xs);
2715
+ }
2716
+
2717
+ textarea[aria-invalid] {
2718
+ background-position: top calc(var(--space-2xs) + 0.3em) left var(--space-xs);
2719
+ }
2720
+ }
2721
+
2722
+ }
2723
+
2724
+ @layer components {
2725
+ [role="group"]:not(:has(> :is(details, .avatar))) {
2726
+ display: flex;
2727
+ align-items: center;
2728
+
2729
+ > * {
2730
+ border-radius: 0;
2731
+ }
2732
+
2733
+ :not(:first-child, button, input:is([type="submit"], [type="button"], [type="reset"])) {
2734
+ border-inline-start: 0;
2735
+ }
2736
+
2737
+ :last-child {
2738
+ border-bottom-right-radius: var(--border-radius-m);
2739
+ border-top-right-radius: var(--border-radius-m);
2740
+ }
2741
+
2742
+ :first-child {
2743
+ border-bottom-left-radius: var(--border-radius-m);
2744
+ border-top-left-radius: var(--border-radius-m);
2745
+ }
2746
+
2747
+ button,
2748
+ input:is([type="submit"], [type="button"], [type="reset"]) {
2749
+ width: unset;
2750
+ }
2751
+ }
2752
+ }
2753
+
2754
+
2755
+ @layer components {
2756
+
2757
+ nav :is(ol,ul) {
2758
+ list-style: none;
2759
+ padding: 0;
2760
+ }
2761
+
2762
+ nav a:not([role="button"], [role="link"]:not([role="button"])) {
2763
+ color: inherit;
2764
+ font-weight: inherit;
2765
+
2766
+ &:not(:hover, :active, :focus) {
2767
+ text-decoration: none;
2768
+ }
2769
+ }
2770
+
2771
+
2772
+ header > nav,
2773
+ nav.navbar {
2774
+
2775
+ display: flex;
2776
+ flex-wrap: wrap;
2777
+ justify-content: space-between;
2778
+ align-items: center;
2779
+ gap: var(--gap);
2780
+
2781
+ > ul {
2782
+
2783
+ display: flex;
2784
+ flex-wrap: wrap;
2785
+ gap: var(--space-xs-s);
2786
+ justify-content: flex-start;
2787
+ align-items: center;
2788
+ }
2789
+ }
2790
+
2791
+
2792
+ header.sticky:has(> nav),
2793
+ nav.navbar.sticky {
2794
+ position: sticky;
2795
+ top: 0;
2796
+ z-index: 1020;
2797
+ }
2798
+
2799
+
2800
+ aside.full-height {
2801
+ display: flex;
2802
+ flex-direction: column;
2803
+
2804
+ > nav {
2805
+ flex: 1;
2806
+ min-block-size: 0;
2807
+ overflow-y: auto;
2808
+ }
2809
+
2810
+ > footer:last-of-type {
2811
+ margin-block-start: auto;
2812
+ }
2813
+ }
2814
+
2815
+
2816
+
2817
+ nav.tabs > ul,
2818
+ nav[aria-label="pagination" i] > :is(ol,ul) {
2819
+ display: flex;
2820
+ flex-wrap: nowrap;
2821
+ overflow-x: auto;
2822
+ white-space: nowrap;
2823
+
2824
+ li {
2825
+ min-inline-size: 2rem;
2826
+ text-align: center;
2827
+ flex-shrink: 0;
2828
+
2829
+
2830
+ a,
2831
+ [role="link"] {
2832
+ text-decoration: none;
2833
+ }
2834
+
2835
+ button,
2836
+ [role="button"] {
2837
+ background-color: transparent;
2838
+ color: inherit;
2839
+ box-shadow: none;
2840
+ font-weight: inherit;
2841
+ line-height: inherit;
2842
+ border-radius: inherit;
2843
+ width: 100%;
2844
+ }
2845
+
2846
+ [aria-disabled="true"] {
2847
+ opacity: 0.5;
2848
+ pointer-events: none;
2849
+ }
2850
+ }
2851
+ }
2852
+
2853
+
2854
+
2855
+ nav.tabs > ul {
2856
+ inline-size: 100%;
2857
+ border-bottom: var(--border-width) solid var(--color-border-weak);
2858
+ color: var(--color-text-muted);
2859
+ font-size: var(--size-small);
2860
+
2861
+ li {
2862
+ padding: var(--space-3xs) var(--space-2xs);
2863
+
2864
+ &:is(:hover, :active) {
2865
+ color: var(--color-text);
2866
+ }
2867
+
2868
+ &:is([aria-current], :has([aria-current])) {
2869
+ color: var(--color-text);
2870
+ font-weight: var(--font-weight-bold);
2871
+ border-bottom: calc(var(--border-width) + 1px) solid var(--color-primary);
2872
+ }
2873
+
2874
+ button,
2875
+ [role="button"] {
2876
+ padding: 0;
2877
+ border: 0;
2878
+ }
2879
+ }
2880
+ }
2881
+
2882
+
2883
+ nav[aria-label="pagination" i] > :is(ol,ul) {
2884
+ inline-size: fit-content;
2885
+ max-inline-size: 100%;
2886
+ border: var(--border-width) solid var(--color-border-strong);
2887
+ border-radius: var(--border-radius-s);
2888
+ box-shadow: var(--shadow-small);
2889
+
2890
+ li {
2891
+
2892
+ + li {
2893
+ border-inline-start: var(--border-width) solid var(--color-border-strong);
2894
+ }
2895
+
2896
+ &:is([aria-current], :has([aria-current])) {
2897
+ background-color: var(--color-fill-hover);
2898
+ font-weight: var(--font-weight-bold);
2899
+ }
2900
+
2901
+ > * {
2902
+ padding: var(--space-3xs) var(--space-2xs);
2903
+ display: block;
2904
+ font-size: var(--size-small);
2905
+ border: none;
2906
+ }
2907
+
2908
+ a,
2909
+ [role="link"],
2910
+ button,
2911
+ [role="button"] {
2912
+
2913
+ &:is(:hover, :active) {
2914
+ background-color: var(--color-fill);
2915
+ }
2916
+ }
2917
+ }
2918
+ }
2919
+
2920
+
2921
+ nav[aria-label="breadcrumb" i] > :is(ol,ul) {
2922
+
2923
+ display: flex;
2924
+ flex-wrap: wrap;
2925
+ gap: var(--space-xs-s);
2926
+ justify-content: flex-start;
2927
+ align-items: center;
2928
+
2929
+ li:not(:last-child)::after {
2930
+ display: inline-block;
2931
+ width: 1em;
2932
+ height: 1em;
2933
+ background-color: currentcolor;
2934
+ mask: var(--icon-chevron) center / 100% no-repeat;
2935
+ transform: rotate(-90deg);
2936
+ content: "";
2937
+ vertical-align: middle;
2938
+ margin: 0;
2939
+ margin-inline-start: var(--space-xs-s);
2940
+ }
2941
+
2942
+ li:last-child,
2943
+ [aria-current] {
2944
+ font-weight: var(--font-weight-bold);
2945
+ }
2946
+ }
2947
+
2948
+ [dir="rtl"] nav[aria-label="breadcrumb" i] > :is(ol,ul) li:not(:last-child)::after {
2949
+ transform: rotate(90deg);
2950
+ }
2951
+ }
2952
+
2953
+
2954
+ @layer utilities {
2955
+ .sidebar > .full-height {
2956
+ block-size: auto;
2957
+ max-block-size: 100dvh;
2958
+ }
2959
+ }
2960
+
2961
+
2962
+ @layer base {
2963
+ progress,
2964
+ meter {
2965
+ appearance: none;
2966
+ block-size: 0.5em;
2967
+ border: var(--border-width) solid var(--color-border-weak);
2968
+ border-radius: var(--border-radius-f);
2969
+ box-shadow: var(--shadow-inner);
2970
+ overflow: hidden;
2971
+ inline-size: 100%;
2972
+ }
2973
+
2974
+ progress {
2975
+ background-color: var(--color-fill);
2976
+
2977
+ &::-webkit-progress-bar {
2978
+ background: none;
2979
+ border-radius: var(--border-radius-f);
2980
+ }
2981
+
2982
+ &::-webkit-progress-value {
2983
+ background-color: var(--color-primary);
2984
+ transition: width 0.1s ease-in-out;
2985
+ }
2986
+
2987
+ &::-moz-progress-bar {
2988
+ background-color: var(--color-primary);
2989
+ }
2990
+ }
2991
+
2992
+ progress:indeterminate {
2993
+ background: var(--color-fill)
2994
+ linear-gradient( to right, var(--color-primary) 30%, transparent 30% )
2995
+ top left / 150% 150% no-repeat;
2996
+ animation: progress-indeterminate 1s linear infinite;
2997
+
2998
+ &::-webkit-progress-value {
2999
+ background-color: transparent;
3000
+ }
3001
+
3002
+ &::-moz-progress-bar {
3003
+ background-color: transparent;
3004
+ }
3005
+ }
3006
+
3007
+ @keyframes progress-indeterminate {
3008
+ 0% {
3009
+ background-position: 200% 0;
3010
+ }
3011
+
3012
+ 100% {
3013
+ background-position: -200% 0;
3014
+ }
3015
+ }
3016
+
3017
+ @media (prefers-reduced-motion: reduce) {
3018
+ progress:indeterminate {
3019
+ animation: none;
3020
+ background-position: 100% 0;
3021
+ }
3022
+ }
3023
+
3024
+ meter {
3025
+ background: var(--color-fill);
3026
+
3027
+ &::-moz-meter-bar {
3028
+ background: var(--color-success);
3029
+ }
3030
+
3031
+ &:-moz-meter-sub-optimum::-moz-meter-bar {
3032
+ background: var(--color-warning);
3033
+ }
3034
+
3035
+ &:-moz-meter-sub-sub-optimum::-moz-meter-bar {
3036
+ background: var(--color-danger);
3037
+ }
3038
+
3039
+ &::-webkit-meter-bar {
3040
+ background: transparent;
3041
+ border-radius: var(--border-radius-f);
3042
+ block-size: 0.5em;
3043
+ }
3044
+
3045
+ &::-webkit-meter-optimum-value {
3046
+ background: var(--color-success);
3047
+ }
3048
+
3049
+ &::-webkit-meter-suboptimum-value {
3050
+ background: var(--color-warning);
3051
+ }
3052
+
3053
+ &::-webkit-meter-even-less-good-value {
3054
+ background: var(--color-danger);
3055
+ }
3056
+ }
3057
+ }
3058
+
3059
+
3060
+ @layer utilities {
3061
+
3062
+ .size-h1 {font-size: var(--size-h1)}
3063
+ .size-h2 {font-size: var(--size-h2)}
3064
+ .size-h3 {font-size: var(--size-h3)}
3065
+ .size-h4 {font-size: var(--size-h4)}
3066
+ .size-body {font-size: var(--size-body)}
3067
+ .size-small {font-size: var(--size-small)}
3068
+ .size-tiny {font-size: var(--size-tiny)}
3069
+
3070
+
3071
+ .weight-normal {font-weight: var(--font-weight)}
3072
+ .weight-bold {font-weight: var(--font-weight-bold)}
3073
+
3074
+ .text-center {text-align: center}
3075
+
3076
+
3077
+ .rounded {border-radius: var(--border-radius-f)}
3078
+ .radius-0 {border-radius: 0}
3079
+ .radius-s {border-radius: var(--border-radius-s)}
3080
+ .radius-m {border-radius: var(--border-radius-m)}
3081
+ .radius-l {border-radius: var(--border-radius-l)}
3082
+ .radius-f {border-radius: var(--border-radius-f)}
3083
+
3084
+
3085
+ .border-none {border: none}
3086
+ .border-weak {border: var(--border-width) solid var(--color-border-weak)}
3087
+ .border-strong {border: var(--border-width) solid var(--color-border-strong)}
3088
+
3089
+
3090
+ .shadow-none {box-shadow: none}
3091
+ .shadow-s {box-shadow: var(--shadow-small)}
3092
+ .shadow-m {box-shadow: var(--shadow-medium)}
3093
+ .shadow-l {box-shadow: var(--shadow-large)}
3094
+ .shadow-inner {box-shadow: var(--shadow-inner)}
3095
+
3096
+
3097
+
3098
+
3099
+ .flow-glue > * + * {margin-block-start: var(--flow-space-glue)}
3100
+ .flow-tight > * + * {margin-block-start: var(--flow-space-tight)}
3101
+ .flow-loose > * + * {margin-block-start: var(--flow-space-loose)}
3102
+ .flow-none > * + * {margin-block-start: 0}
3103
+
3104
+
3105
+ .gap-0 {gap: 0}
3106
+ .gap-3xs {gap: var(--space-3xs)}
3107
+ .gap-2xs {gap: var(--space-2xs)}
3108
+ .gap-xs {gap: var(--space-xs)}
3109
+ .gap-s {gap: var(--space-s)}
3110
+ .gap-m {gap: var(--space-m)}
3111
+ .gap-l {gap: var(--space-l)}
3112
+ .gap-xl {gap: var(--space-xl)}
3113
+ .gap-2xl {gap: var(--space-2xl)}
3114
+ .gap-3xl {gap: var(--space-3xl)}
3115
+
3116
+
3117
+ .bg-sunken {background-color: var(--color-surface-sunken)}
3118
+ .bg-surface {background-color: var(--color-surface)}
3119
+ .bg-raised {background-color: var(--color-surface-raised)}
3120
+ .bg-overlay {background-color: var(--color-surface-overlay)}
3121
+ .bg-fill {background-color: var(--color-fill)}
3122
+ .bg-transparent {background-color: transparent}
3123
+
3124
+ .bg-contrast {
3125
+ background-color: var(--color-contrast);
3126
+ color: var(--color-contrast-inverse);
3127
+ }
3128
+
3129
+
3130
+ .bg-primary {background-color: var(--color-primary-fill)}
3131
+ .bg-accent {background-color: var(--color-accent-fill)}
3132
+ .bg-success {background-color: var(--color-success-fill)}
3133
+ .bg-danger {background-color: var(--color-danger-fill)}
3134
+ .bg-warning {background-color: var(--color-warning-fill)}
3135
+ .bg-info {background-color: var(--color-info-fill)}
3136
+
3137
+
3138
+ .fg-primary {color: var(--color-primary-text)}
3139
+ .fg-accent {color: var(--color-accent-text)}
3140
+ .fg-success {color: var(--color-success-text)}
3141
+ .fg-danger {color: var(--color-danger-text)}
3142
+ .fg-warning {color: var(--color-warning-text)}
3143
+ .fg-info {color: var(--color-info-text)}
3144
+ .fg-muted {color: var(--color-text-muted)}
3145
+
3146
+
3147
+ .full-width {inline-size: 100%}
3148
+ .full-height {block-size: 100dvh}
3149
+
3150
+
3151
+ .overflow-x {overflow-x: auto}
3152
+ .overflow-y {overflow-y: auto}
3153
+
3154
+
3155
+ .m-0 {margin: 0}
3156
+ .m-3xs {margin: var(--space-3xs)}
3157
+ .m-2xs {margin: var(--space-2xs)}
3158
+ .m-xs {margin: var(--space-xs)}
3159
+ .m-s {margin: var(--space-s)}
3160
+ .m-m {margin: var(--space-m)}
3161
+ .m-l {margin: var(--space-l)}
3162
+ .m-xl {margin: var(--space-xl)}
3163
+ .m-2xl {margin: var(--space-2xl)}
3164
+ .m-3xl {margin: var(--space-3xl)}
3165
+
3166
+
3167
+ .mx-0 {margin-inline: 0}
3168
+ .mx-auto {margin-inline: auto}
3169
+ .mx-3xs {margin-inline: var(--space-3xs)}
3170
+ .mx-2xs {margin-inline: var(--space-2xs)}
3171
+ .mx-xs {margin-inline: var(--space-xs)}
3172
+ .mx-s {margin-inline: var(--space-s)}
3173
+ .mx-m {margin-inline: var(--space-m)}
3174
+ .mx-l {margin-inline: var(--space-l)}
3175
+ .mx-xl {margin-inline: var(--space-xl)}
3176
+ .mx-2xl {margin-inline: var(--space-2xl)}
3177
+ .mx-3xl {margin-inline: var(--space-3xl)}
3178
+
3179
+
3180
+ .my-0 {margin-block: 0}
3181
+ .my-3xs {margin-block: var(--space-3xs)}
3182
+ .my-2xs {margin-block: var(--space-2xs)}
3183
+ .my-xs {margin-block: var(--space-xs)}
3184
+ .my-s {margin-block: var(--space-s)}
3185
+ .my-m {margin-block: var(--space-m)}
3186
+ .my-l {margin-block: var(--space-l)}
3187
+ .my-xl {margin-block: var(--space-xl)}
3188
+ .my-2xl {margin-block: var(--space-2xl)}
3189
+ .my-3xl {margin-block: var(--space-3xl)}
3190
+
3191
+
3192
+ .p-0 {padding: 0}
3193
+ .p-3xs {padding: var(--space-3xs)}
3194
+ .p-2xs {padding: var(--space-2xs)}
3195
+ .p-xs {padding: var(--space-xs)}
3196
+ .p-s {padding: var(--space-s)}
3197
+ .p-m {padding: var(--space-m)}
3198
+ .p-l {padding: var(--space-l)}
3199
+ .p-xl {padding: var(--space-xl)}
3200
+ .p-2xl {padding: var(--space-2xl)}
3201
+ .p-3xl {padding: var(--space-3xl)}
3202
+
3203
+
3204
+ .px-0 {padding-inline: 0}
3205
+ .px-3xs {padding-inline: var(--space-3xs)}
3206
+ .px-2xs {padding-inline: var(--space-2xs)}
3207
+ .px-xs {padding-inline: var(--space-xs)}
3208
+ .px-s {padding-inline: var(--space-s)}
3209
+ .px-m {padding-inline: var(--space-m)}
3210
+ .px-l {padding-inline: var(--space-l)}
3211
+ .px-xl {padding-inline: var(--space-xl)}
3212
+ .px-2xl {padding-inline: var(--space-2xl)}
3213
+ .px-3xl {padding-inline: var(--space-3xl)}
3214
+
3215
+
3216
+ .py-0 {padding-block: 0}
3217
+ .py-3xs {padding-block: var(--space-3xs)}
3218
+ .py-2xs {padding-block: var(--space-2xs)}
3219
+ .py-xs {padding-block: var(--space-xs)}
3220
+ .py-s {padding-block: var(--space-s)}
3221
+ .py-m {padding-block: var(--space-m)}
3222
+ .py-l {padding-block: var(--space-l)}
3223
+ .py-xl {padding-block: var(--space-xl)}
3224
+ .py-2xl {padding-block: var(--space-2xl)}
3225
+ .py-3xl {padding-block: var(--space-3xl)}
3226
+ }