@troennes/minium 0.1.1 → 0.3.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.
package/dist/minium.css CHANGED
@@ -1,147 +1,4 @@
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
-
1
+ @layer tokens, theme, reset, base, layout, components, project, utilities;
145
2
 
146
3
  @font-face {
147
4
  font-family: Inconsolata;
@@ -156,7 +13,7 @@
156
13
  font-style: normal;
157
14
  font-weight: 700;
158
15
  font-display: swap;
159
- src: local("Inconsolata"), local("Inconsolata-Bold"), url("fonts/Inconsolata-Bold.woff2") format("woff2");
16
+ src: local("Inconsolata Bold"), local("Inconsolata-Bold"), url("fonts/Inconsolata-Bold.woff2") format("woff2");
160
17
  }
161
18
 
162
19
  @font-face {
@@ -172,7 +29,7 @@
172
29
  font-style: italic;
173
30
  font-weight: 400;
174
31
  font-display: swap;
175
- src: local("PT Sans"), local("PTSans-Italic"), url("fonts/PTSans-Italic.woff2") format("woff2");
32
+ src: local("PT Sans Italic"), local("PTSans-Italic"), url("fonts/PTSans-Italic.woff2") format("woff2");
176
33
  }
177
34
 
178
35
  @font-face {
@@ -180,7 +37,7 @@
180
37
  font-style: italic;
181
38
  font-weight: 700;
182
39
  font-display: swap;
183
- src: local("PT Sans"), local("PTSans-BoldItalic"), url("fonts/PTSans-BoldItalic.woff2") format("woff2");
40
+ src: local("PT Sans Bold Italic"), local("PTSans-BoldItalic"), url("fonts/PTSans-BoldItalic.woff2") format("woff2");
184
41
  }
185
42
 
186
43
  @font-face {
@@ -188,10 +45,10 @@
188
45
  font-style: normal;
189
46
  font-weight: 700;
190
47
  font-display: swap;
191
- src: local("PT Sans"), local("PTSans-Bold"), url("fonts/PTSans-Bold.woff2") format("woff2");
48
+ src: local("PT Sans Bold"), local("PTSans-Bold"), url("fonts/PTSans-Bold.woff2") format("woff2");
192
49
  }
193
50
 
194
- @layer theme {
51
+ @layer tokens {
195
52
  :root {
196
53
 
197
54
  --size-h1: clamp(2rem, 1.8043rem + 0.8696vw, 2.5rem);
@@ -241,7 +98,7 @@
241
98
  --line-height: 1.5;
242
99
  --font-weight: 400;
243
100
  --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%);
101
+ --shadow-small: black 8%;
245
102
  --shadow-medium: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%);
246
103
  --shadow-large: 0 10px 15px -3px rgb(0 0 0 / 10%), 0 4px 6px -4px rgb(0 0 0 / 10%);
247
104
  --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 5%);
@@ -265,100 +122,100 @@
265
122
 
266
123
  color-scheme: light dark;
267
124
 
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);
125
+ --color-text: var(--neutral-12);
126
+ --color-text-muted: var(--neutral-11);
127
+ --color-surface-sunken: light-dark(var(--neutral-3), var(--neutral-1));
128
+ --color-surface: var(--neutral-2);
129
+ --color-surface-raised: light-dark(var(--neutral-1), var(--neutral-3));
130
+ --color-surface-overlay: light-dark(white, var(--neutral-4));
131
+ --color-fill: var(--neutral-a2);
132
+ --color-fill-hover: var(--neutral-a3);
133
+ --color-fill-active: var(--neutral-a4);
134
+ --color-border-weak: var(--neutral-a5);
135
+ --color-border-strong: var(--neutral-a6);
136
+ --color-border-hover: var(--neutral-a7);
137
+
138
+ --color-primary: var(--primary-9);
139
+ --color-primary-inverse: var(--primary-inverse);
140
+ --color-primary-hover: var(--primary-10);
141
+ --color-primary-focus: var(--primary-7);
142
+ --color-primary-fill: var(--primary-a2);
143
+ --color-primary-fill-hover: var(--primary-a3);
144
+ --color-primary-fill-active: var(--primary-a4);
145
+ --color-primary-border-weak: var(--primary-a5);
146
+ --color-primary-border-strong: var(--primary-a6);
147
+ --color-primary-text: var(--primary-text);
148
+
149
+ --color-accent: var(--accent-9);
150
+ --color-accent-inverse: var(--accent-inverse);
151
+ --color-accent-hover: var(--accent-10);
152
+ --color-accent-focus: var(--accent-7);
153
+ --color-accent-fill: var(--accent-a2);
154
+ --color-accent-fill-hover: var(--accent-a3);
155
+ --color-accent-fill-active: var(--accent-a4);
156
+ --color-accent-border-weak: var(--accent-a5);
157
+ --color-accent-border-strong: var(--accent-a6);
158
+ --color-accent-text: var(--accent-text);
159
+
160
+ --color-success: var(--success-9);
161
+ --color-success-inverse: var(--success-inverse);
162
+ --color-success-focus: var(--success-7);
163
+ --color-success-fill: var(--success-a2);
164
+ --color-success-fill-hover: var(--success-a3);
165
+ --color-success-fill-active: var(--success-a4);
166
+ --color-success-border-weak: var(--success-a5);
167
+ --color-success-border-strong: var(--success-a6);
168
+ --color-success-text: var(--success-text);
169
+
170
+ --color-danger: var(--danger-9);
171
+ --color-danger-inverse: var(--danger-inverse);
172
+ --color-danger-focus: var(--danger-7);
173
+ --color-danger-fill: light-dark(var(--danger-a2), var(--danger-a3));
174
+ --color-danger-fill-hover: light-dark(var(--danger-a3), var(--danger-a4));
175
+ --color-danger-fill-active: light-dark(var(--danger-a4), var(--danger-a5));
176
+ --color-danger-border-weak: light-dark(var(--danger-a5), var(--danger-a6));
177
+ --color-danger-border-strong: light-dark(var(--danger-a6), var(--danger-a7));
178
+ --color-danger-text: var(--danger-text);
179
+
180
+ --color-warning: var(--warning-9);
181
+ --color-warning-inverse: var(--warning-inverse);
182
+ --color-warning-fill: var(--warning-a2);
183
+ --color-warning-fill-hover: var(--warning-a3);
184
+ --color-warning-fill-active: var(--warning-a4);
185
+ --color-warning-border-weak: var(--warning-a6);
186
+ --color-warning-border-strong: var(--warning-a7);
187
+ --color-warning-text: var(--warning-text);
188
+
189
+ --color-info: var(--info-9);
190
+ --color-info-inverse: var(--info-inverse);
191
+ --color-info-fill: var(--info-a2);
192
+ --color-info-fill-hover: var(--info-a3);
193
+ --color-info-fill-active: var(--info-a4);
194
+ --color-info-border-weak: var(--info-a5);
195
+ --color-info-border-strong: var(--info-a6);
196
+ --color-info-text: var(--info-text);
197
+
198
+ --color-contrast: var(--neutral-12);
199
+ --color-contrast-inverse: var(--neutral-2);
200
+
201
+
202
+ --code-inline-color-surface: var(--neutral-a3);
346
203
  --link-color: var(--color-text);
347
204
  --link-color-decoration: var(--color-primary);
348
205
  --link-decoration-thickness-hover: 1px;
349
206
  --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);
207
+ --mark-color: light-dark(var(--primary-a5), var(--primary-a11));
208
+ --header-color-surface: light-dark(var(--neutral-2), var(--neutral-3));
209
+ --header-color-border: light-dark(transparent, var(--neutral-a4));
210
+ --code-color-surface: light-dark(var(--neutral-5), var(--neutral-1));
211
+ --kbd-surface: light-dark(var(--neutral-12), var(--neutral-1));
212
+ --kbd-text: light-dark(var(--neutral-2),var(--neutral-12));
213
+ --dropdown-color-surface-hover: var(--neutral-a3);
214
+ --form-color-surface: light-dark(rgb(255 255 255 / 80%), var(--neutral-a2));
215
+ --form-color-border-disabled: var(--neutral-8);
216
+ --switch-color-surface: light-dark(var(--neutral-8), var(--color-fill));
217
+ --switch-color-border: light-dark(var(--neutral-8), var(--color-border-strong));
218
+ --modal-color-backdrop: rgb(0 0 0 / 50%);
362
219
 
363
220
 
364
221
 
@@ -389,6 +246,217 @@
389
246
  }
390
247
 
391
248
 
249
+ @layer tokens {
250
+ :root {
251
+
252
+ --neutral-1: light-dark(#fdfdfc, #111110);
253
+ --neutral-2: light-dark(#f9f9f8, #191918);
254
+ --neutral-3: light-dark(#f1f0ef, #222221);
255
+ --neutral-4: light-dark(#e9e8e6, #2a2a28);
256
+ --neutral-5: light-dark(#e2e1de, #31312e);
257
+ --neutral-8: light-dark(#bcbbb5, #62605b);
258
+ --neutral-11: light-dark(#63635e, #b5b3ad);
259
+ --neutral-12: light-dark(#21201c, #eeeeec);
260
+ --neutral-a2: light-dark(#25250007, #f4f4f309);
261
+ --neutral-a3: light-dark(#20100010, #f6f6f513);
262
+ --neutral-a4: light-dark(#1f150019, #fefef31b);
263
+ --neutral-a5: light-dark(#1f180021, #fbfbeb23);
264
+ --neutral-a6: light-dark(#19130029, #fffaed2d);
265
+ --neutral-a7: light-dark(#19140035, #fffbed3c);
266
+
267
+
268
+ --primary-7: light-dark(#f5ae73, #7e451d);
269
+ --primary-9: light-dark(#f76b15, #f76b15);
270
+ --primary-10: light-dark(#ef5f00, #ff801f);
271
+ --primary-11: light-dark(#cc4e00, #ffa057);
272
+ --primary-a2: light-dark(#ff8e0012, #fe6d000e);
273
+ --primary-a3: light-dark(#ff9c0029, #fb6a0025);
274
+ --primary-a4: light-dark(#ff91014a, #ff590039);
275
+ --primary-a5: light-dark(#ff8b0065, #ff61004a);
276
+ --primary-a6: light-dark(#ff81007d, #fd75045c);
277
+ --primary-a7: light-dark(#ed6c008c, #ff832c75);
278
+ --primary-a11: light-dark(#cc4e00, #ffa057);
279
+ --primary-text: var(--primary-11);
280
+ --primary-inverse: white;
281
+
282
+
283
+ --accent-7: light-dark(#abbdf9, #3a4f97);
284
+ --accent-9: light-dark(#3e63dd, #3e63dd);
285
+ --accent-10: light-dark(#3358d4, #5472e4);
286
+ --accent-11: light-dark(#3a5bc7, #9eb1ff);
287
+ --accent-a2: light-dark(#0040ff08, #3354fa17);
288
+ --accent-a3: light-dark(#0047f112, #2f62ff3c);
289
+ --accent-a4: light-dark(#0044ff1e, #3566ff57);
290
+ --accent-a5: light-dark(#0044ff2d, #4171fd6b);
291
+ --accent-a6: light-dark(#003eff3e, #5178fd7c);
292
+ --accent-a7: light-dark(#0037ed54, #5a7fff90);
293
+ --accent-a11: light-dark(#002bb7c5, #9eb1ff);
294
+ --accent-text: var(--accent-11);
295
+ --accent-inverse: white;
296
+
297
+
298
+ --success-7: light-dark(#8eceaa, #28684a);
299
+ --success-9: light-dark(#30a46c, #30a46c);
300
+ --success-10: light-dark(#2b9a66, #33b074);
301
+ --success-11: light-dark(#218358, #3dd68c);
302
+ --success-a2: light-dark(#00a32f0b, #29f99d0b);
303
+ --success-a3: light-dark(#00a43319, #22ff991e);
304
+ --success-a4: light-dark(#00a83829, #11ff992d);
305
+ --success-a5: light-dark(#019c393b, #2bffa23c);
306
+ --success-a6: light-dark(#00963c52, #44ffaa4b);
307
+ --success-a7: light-dark(#00914071, #50fdac5e);
308
+ --success-a11: light-dark(#00713fde, #46fea5d4);
309
+ --success-text: var(--success-11);
310
+ --success-inverse: white;
311
+
312
+
313
+ --danger-7: light-dark(#f4a9aa, #8c333a);
314
+ --danger-9: light-dark(#e5484d, #e5484d);
315
+ --danger-10: light-dark(#dc3e42, #ec5d5e);
316
+ --danger-11: light-dark(#ce2c31, #ff9592);
317
+ --danger-a2: light-dark(#ff000008, #f22f3e11);
318
+ --danger-a3: light-dark(#f3000d14, #ff173f2d);
319
+ --danger-a4: light-dark(#ff000824, #fe0a3b44);
320
+ --danger-a5: light-dark(#ff000632, #ff204756);
321
+ --danger-a6: light-dark(#f8000442, #ff3e5668);
322
+ --danger-a7: light-dark(#df000356, #ff536184);
323
+ --danger-a11: light-dark(#c40006d3, #ff9592);
324
+ --danger-text: var(--danger-11);
325
+ --danger-inverse: white;
326
+
327
+
328
+ --warning-7: light-dark(#e9c162, #714f19);
329
+ --warning-9: light-dark(#ffc53d, #ffc53d);
330
+ --warning-10: light-dark(#ffba18, #ffd60a);
331
+ --warning-11: light-dark(#ab6400, #ffca16);
332
+ --warning-a2: light-dark(#f4d10016, #fd9b000d);
333
+ --warning-a3: light-dark(#ffde003d, #fa820022);
334
+ --warning-a4: light-dark(#ffd40063, #fc820032);
335
+ --warning-a5: light-dark(#f8cf0088, #fd8b0041);
336
+ --warning-a6: light-dark(#eab5008c, #fd9b0051);
337
+ --warning-a7: light-dark(#dc9b009d, #ffab2567);
338
+ --warning-a11: light-dark(#ab6400, #ffca16);
339
+ --warning-text: light-dark(var(--neutral-12), var(--warning-11));
340
+ --warning-inverse: light-dark(var(--neutral-12), var(--neutral-1));
341
+
342
+
343
+ --info-7: light-dark(#8ec8f6, #205d9e);
344
+ --info-9: light-dark(#0090ff, #0090ff);
345
+ --info-10: light-dark(#0588f0, #3b9eff);
346
+ --info-11: light-dark(#0d74ce, #70b8ff);
347
+ --info-a2: light-dark(#008cff0b, #1166fb18);
348
+ --info-a3: light-dark(#008ff519, #0077ff3a);
349
+ --info-a4: light-dark(#009eff2a, #0075ff57);
350
+ --info-a5: light-dark(#0093ff3d, #0081fd6b);
351
+ --info-a6: light-dark(#0088f653, #0f89fd7f);
352
+ --info-a7: light-dark(#0083eb71, #2a91fe98);
353
+ --info-a11: light-dark(#006dcbf2, #70b8ff);
354
+ --info-text: var(--info-11);
355
+ --info-inverse: white;
356
+ }
357
+
358
+ @supports (color: color(display-p3 1 1 1)) {
359
+ @media (color-gamut: p3) {
360
+ :root {
361
+
362
+ --neutral-1: light-dark(color(display-p3 0.992 0.992 0.989), color(display-p3 0.067 0.067 0.063));
363
+ --neutral-2: light-dark(color(display-p3 0.977 0.977 0.973), color(display-p3 0.098 0.098 0.094));
364
+ --neutral-3: light-dark(color(display-p3 0.943 0.942 0.936), color(display-p3 0.135 0.135 0.129));
365
+ --neutral-4: light-dark(color(display-p3 0.913 0.912 0.903), color(display-p3 0.164 0.163 0.156));
366
+ --neutral-5: light-dark(color(display-p3 0.885 0.883 0.873), color(display-p3 0.193 0.192 0.183));
367
+ --neutral-8: light-dark(color(display-p3 0.738 0.734 0.713), color(display-p3 0.384 0.378 0.357));
368
+ --neutral-11: light-dark(color(display-p3 0.388 0.388 0.37), color(display-p3 0.707 0.703 0.68));
369
+ --neutral-12: light-dark(color(display-p3 0.129 0.126 0.111), color(display-p3 0.933 0.933 0.926));
370
+ --neutral-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));
371
+ --neutral-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));
372
+ --neutral-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));
373
+ --neutral-a5: light-dark(color(display-p3 0.098 0.067 0.008 / 0.126), color(display-p3 1 1 0.965 / 0.135));
374
+ --neutral-a6: light-dark(color(display-p3 0.102 0.075 0.004 / 0.161), color(display-p3 1 0.976 0.929 / 0.177));
375
+ --neutral-a7: light-dark(color(display-p3 0.098 0.098 0.004 / 0.208), color(display-p3 1 0.984 0.929 / 0.236));
376
+
377
+
378
+ --primary-7: light-dark(color(display-p3 0.919 0.693 0.486), color(display-p3 0.465 0.283 0.147));
379
+ --primary-9: light-dark(color(display-p3 0.9 0.45 0.2), color(display-p3 0.9 0.45 0.2));
380
+ --primary-10: light-dark(color(display-p3 0.87 0.409 0.164), color(display-p3 0.98 0.51 0.23));
381
+ --primary-11: light-dark(color(display-p3 0.76 0.34 0), color(display-p3 1 0.63 0.38));
382
+ --primary-a2: light-dark(color(display-p3 0.886 0.533 0.008 / 0.067), color(display-p3 0.992 0.529 0 / 0.051));
383
+ --primary-a3: light-dark(color(display-p3 0.922 0.584 0.008 / 0.15), color(display-p3 0.996 0.486 0 / 0.131));
384
+ --primary-a4: light-dark(color(display-p3 1 0.604 0.004 / 0.314), color(display-p3 0.996 0.384 0 / 0.211));
385
+ --primary-a5: light-dark(color(display-p3 1 0.569 0.004 / 0.416), color(display-p3 1 0.455 0 / 0.265));
386
+ --primary-a6: light-dark(color(display-p3 0.949 0.494 0.004 / 0.455), color(display-p3 1 0.529 0.129 / 0.332));
387
+ --primary-a7: light-dark(color(display-p3 0.839 0.408 0 / 0.514), color(display-p3 1 0.569 0.251 / 0.429));
388
+ --primary-a11: light-dark(color(display-p3 0.76 0.34 0), color(display-p3 1 0.63 0.38));
389
+
390
+
391
+ --accent-7: light-dark(color(display-p3 0.685 0.74 0.957), color(display-p3 0.245 0.309 0.575));
392
+ --accent-9: light-dark(color(display-p3 0.276 0.384 0.837), color(display-p3 0.276 0.384 0.837));
393
+ --accent-10: light-dark(color(display-p3 0.234 0.343 0.801), color(display-p3 0.354 0.445 0.866));
394
+ --accent-11: light-dark(color(display-p3 0.256 0.354 0.755), color(display-p3 0.63 0.69 1));
395
+ --accent-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));
396
+ --accent-a3: light-dark(color(display-p3 0.008 0.239 0.886 / 0.067), color(display-p3 0.243 0.404 1 / 0.223));
397
+ --accent-a4: light-dark(color(display-p3 0.004 0.247 1 / 0.114), color(display-p3 0.263 0.42 1 / 0.324));
398
+ --accent-a5: light-dark(color(display-p3 0.004 0.235 1 / 0.169), color(display-p3 0.314 0.451 1 / 0.4));
399
+ --accent-a6: light-dark(color(display-p3 0.004 0.208 0.984 / 0.232), color(display-p3 0.361 0.49 1 / 0.467));
400
+ --accent-a7: light-dark(color(display-p3 0.004 0.176 0.863 / 0.314), color(display-p3 0.388 0.51 1 / 0.547));
401
+ --accent-a11: light-dark(color(display-p3 0.256 0.354 0.755), color(display-p3 0.63 0.69 1));
402
+
403
+
404
+ --success-7: light-dark(color(display-p3 0.61 0.801 0.675), color(display-p3 0.227 0.403 0.298));
405
+ --success-9: light-dark(color(display-p3 0.332 0.634 0.442), color(display-p3 0.332 0.634 0.442));
406
+ --success-10: light-dark(color(display-p3 0.308 0.595 0.417), color(display-p3 0.357 0.682 0.474));
407
+ --success-11: light-dark(color(display-p3 0.19 0.5 0.32), color(display-p3 0.434 0.828 0.573));
408
+ --success-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));
409
+ --success-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));
410
+ --success-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));
411
+ --success-a5: light-dark(color(display-p3 0.004 0.541 0.157 / 0.204), color(display-p3 0.408 1 0.678 / 0.232));
412
+ --success-a6: light-dark(color(display-p3 0.004 0.518 0.157 / 0.283), color(display-p3 0.475 1 0.706 / 0.29));
413
+ --success-a7: light-dark(color(display-p3 0.004 0.486 0.165 / 0.389), color(display-p3 0.514 1 0.706 / 0.362));
414
+ --success-a11: light-dark(color(display-p3 0.19 0.5 0.32), color(display-p3 0.434 0.828 0.573));
415
+
416
+
417
+ --danger-7: light-dark(color(display-p3 0.915 0.675 0.672), color(display-p3 0.508 0.224 0.236));
418
+ --danger-9: light-dark(color(display-p3 0.83 0.329 0.324), color(display-p3 0.83 0.329 0.324));
419
+ --danger-10: light-dark(color(display-p3 0.798 0.294 0.285), color(display-p3 0.861 0.403 0.387));
420
+ --danger-11: light-dark(color(display-p3 0.744 0.234 0.222), color(display-p3 1 0.57 0.55));
421
+ --danger-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));
422
+ --danger-a3: light-dark(color(display-p3 0.792 0.008 0.008 / 0.075), color(display-p3 1 0.169 0.271 / 0.156));
423
+ --danger-a4: light-dark(color(display-p3 1 0.008 0.008 / 0.134), color(display-p3 1 0.118 0.267 / 0.236));
424
+ --danger-a5: light-dark(color(display-p3 0.918 0.008 0.008 / 0.189), color(display-p3 1 0.212 0.314 / 0.303));
425
+ --danger-a6: light-dark(color(display-p3 0.831 0.02 0.004 / 0.251), color(display-p3 1 0.318 0.38 / 0.374));
426
+ --danger-a7: light-dark(color(display-p3 0.741 0.016 0.004 / 0.33), color(display-p3 1 0.4 0.424 / 0.475));
427
+ --danger-a11: light-dark(color(display-p3 0.744 0.234 0.222), color(display-p3 1 0.57 0.55));
428
+
429
+
430
+ --warning-7: light-dark(color(display-p3 0.89 0.762 0.443), color(display-p3 0.422 0.314 0.141));
431
+ --warning-9: light-dark(color(display-p3 1 0.77 0.26), color(display-p3 1 0.77 0.26));
432
+ --warning-10: light-dark(color(display-p3 0.959 0.741 0.274), color(display-p3 1 0.87 0.15));
433
+ --warning-11: light-dark(color(display-p3 0.64 0.4 0), color(display-p3 1 0.8 0.29));
434
+ --warning-a2: light-dark(color(display-p3 0.902 0.804 0.008 / 0.079), color(display-p3 0.988 0.651 0 / 0.047));
435
+ --warning-a3: light-dark(color(display-p3 0.965 0.859 0.004 / 0.22), color(display-p3 1 0.6 0 / 0.118));
436
+ --warning-a4: light-dark(color(display-p3 0.969 0.82 0.004 / 0.35), color(display-p3 1 0.557 0 / 0.185));
437
+ --warning-a5: light-dark(color(display-p3 0.933 0.796 0.004 / 0.475), color(display-p3 1 0.592 0 / 0.24));
438
+ --warning-a6: light-dark(color(display-p3 0.875 0.682 0.004 / 0.495), color(display-p3 1 0.659 0.094 / 0.299));
439
+ --warning-a7: light-dark(color(display-p3 0.804 0.573 0 / 0.557), color(display-p3 1 0.714 0.263 / 0.383));
440
+ --warning-a11: light-dark(color(display-p3 0.64 0.4 0), color(display-p3 1 0.8 0.29));
441
+
442
+
443
+ --info-7: light-dark(color(display-p3 0.606 0.777 0.947), color(display-p3 0.195 0.361 0.6));
444
+ --info-9: light-dark(color(display-p3 0.247 0.556 0.969), color(display-p3 0.247 0.556 0.969));
445
+ --info-10: light-dark(color(display-p3 0.234 0.523 0.912), color(display-p3 0.344 0.612 0.973));
446
+ --info-11: light-dark(color(display-p3 0.15 0.44 0.84), color(display-p3 0.49 0.72 1));
447
+ --info-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));
448
+ --info-a3: light-dark(color(display-p3 0.012 0.506 0.914 / 0.087), color(display-p3 0.122 0.463 1 / 0.219));
449
+ --info-a4: light-dark(color(display-p3 0.008 0.545 1 / 0.146), color(display-p3 0 0.467 1 / 0.324));
450
+ --info-a5: light-dark(color(display-p3 0.004 0.502 0.984 / 0.212), color(display-p3 0.098 0.51 1 / 0.4));
451
+ --info-a6: light-dark(color(display-p3 0.004 0.463 0.922 / 0.291), color(display-p3 0.224 0.557 1 / 0.475));
452
+ --info-a7: light-dark(color(display-p3 0.004 0.431 0.863 / 0.393), color(display-p3 0.294 0.584 1 / 0.572));
453
+ --info-a11: light-dark(color(display-p3 0.15 0.44 0.84), color(display-p3 0.49 0.72 1));
454
+ }
455
+ }
456
+ }
457
+ }
458
+
459
+
392
460
  @layer reset {
393
461
 
394
462
 
@@ -396,7 +464,17 @@
396
464
 
397
465
  *,
398
466
  *::before,
399
- *::after {
467
+ *::after,
468
+ *::file-selector-button {
469
+ box-sizing: border-box;
470
+ }
471
+
472
+
473
+ *::-webkit-slider-thumb {
474
+ box-sizing: border-box;
475
+ }
476
+
477
+ *::-moz-range-thumb {
400
478
  box-sizing: border-box;
401
479
  }
402
480
 
@@ -466,8 +544,6 @@
466
544
  }
467
545
 
468
546
 
469
- @layer tokens, theme, reset, base, layout, components, project, utilities;
470
-
471
547
  @layer base {
472
548
  html {
473
549
  text-rendering: optimizelegibility;
@@ -963,12 +1039,13 @@
963
1039
  :where(button, input[type="submit"], input[type="button"], input[type="reset"], [role="button"] ) {
964
1040
  --button-surface: var(--color-primary);
965
1041
  --button-text: var(--color-primary-inverse);
1042
+ --border-color: var(--button-surface);
966
1043
 
967
1044
  background-color: var(--button-surface);
968
1045
  color: var(--button-text);
969
- box-shadow: var(--shadow-small);
970
1046
  padding: var(--space-2xs) var(--space-xs);
971
- border: var(--border-width) solid var(--button-surface);
1047
+ border: var(--border-width) solid var(--border-color);
1048
+ border-bottom-color: color-mix(in oklab, var(--border-color), var(--shadow-small));
972
1049
  border-radius: var(--border-radius-m);
973
1050
  font-weight: var(--font-weight-bold);
974
1051
  line-height: var(--line-height);
@@ -977,13 +1054,15 @@
977
1054
 
978
1055
 
979
1056
  &:is([aria-current], :hover) {
1057
+ --border-color: oklch(from var(--button-surface) calc(l * var(--hover-multiplier)) c h);
1058
+
980
1059
  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
1060
  }
983
1061
 
984
1062
  &:active {
1063
+ --border-color: oklch(from var(--button-surface) calc(l * var(--hover-multiplier) * var(--hover-multiplier)) c h);
1064
+
985
1065
  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
1066
  }
988
1067
 
989
1068
 
@@ -1033,12 +1112,10 @@
1033
1112
  --button-text: var(--color-contrast-inverse);
1034
1113
  }
1035
1114
 
1036
- &.neutral,
1037
- &.neutral.secondary {
1115
+ &.neutral {
1038
1116
  --button-surface: transparent;
1039
1117
  --button-text: var(--color-text);
1040
-
1041
- border: var(--border-width) solid var(--color-border-strong);
1118
+ --border-color: var(--color-border-strong);
1042
1119
 
1043
1120
  &:hover {
1044
1121
  --button-surface: var(--color-fill);
@@ -1051,120 +1128,68 @@
1051
1128
  }
1052
1129
 
1053
1130
 
1054
- :where(button, input[type="submit"], input[type="button"], [role="button"]):is(.secondary, .tertiary),
1131
+ :where(button, input[type="submit"], input[type="button"], [role="button"]).secondary:not(.neutral),
1055
1132
  input[type="reset"] {
1056
- &.accent {
1057
- --button-text: var(--color-accent);
1058
- }
1133
+ --button-surface: var(--color-primary-fill-active);
1134
+ --button-text: var(--color-primary-text);
1135
+ --border-color: transparent;
1059
1136
 
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
- }
1137
+
1138
+ --button-overlay-alpha: calc(1 - var(--hover-multiplier));
1139
+ --button-overlay: light-dark(oklch(from var(--button-text) l c h / calc(1.5 * var(--button-overlay-alpha))), rgb(0 0 0 / calc(2 * var(--button-overlay-alpha))));
1071
1140
 
1072
- &.info {
1073
- --button-text: var(--color-info);
1074
- }
1141
+
1142
+ &:is([aria-current], :hover, :active) {
1143
+ --border-color: transparent;
1075
1144
 
1076
- &.contrast {
1077
- --button-text: var(--color-contrast);
1145
+ background-color: var(--button-surface);
1146
+ background-image: linear-gradient(var(--button-overlay), var(--button-overlay));
1078
1147
  }
1079
- }
1080
1148
 
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
1149
  &:active {
1095
- --button-surface: var(--color-primary-fill-hover);
1150
+ --button-overlay-alpha: calc(1 - var(--hover-multiplier) * var(--hover-multiplier));
1096
1151
  }
1097
1152
 
1098
1153
  &.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
- }
1154
+ --button-surface: var(--color-accent-fill-active);
1155
+ --button-text: var(--color-accent-text);
1106
1156
  }
1107
1157
 
1108
1158
  &.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
- }
1159
+ --button-surface: var(--color-danger-fill-active);
1160
+ --button-text: var(--color-danger-text);
1116
1161
  }
1117
1162
 
1118
1163
  &.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
- }
1164
+ --button-surface: var(--color-success-fill-active);
1165
+ --button-text: var(--color-success-text);
1126
1166
  }
1127
1167
 
1128
1168
  &.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
- }
1169
+ --button-surface: var(--color-warning-fill-active);
1170
+ --button-text: var(--color-warning-text);
1136
1171
  }
1137
1172
 
1138
1173
  &.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
- }
1174
+ --button-surface: var(--color-info-fill-active);
1175
+ --button-text: var(--color-info-text);
1146
1176
  }
1147
1177
 
1148
1178
  &.contrast {
1149
- &:is([aria-current], :hover) {
1150
- --button-surface: var(--color-fill);
1151
- }
1152
-
1153
- &:active {
1154
- --button-surface: var(--color-fill-hover);
1155
- }
1179
+ --button-surface: var(--color-fill-active);
1180
+ --button-text: var(--color-contrast);
1156
1181
  }
1157
1182
  }
1158
1183
 
1159
1184
 
1160
- :where(button, input[type="submit"], input[type="button"], [role="button"]).tertiary{
1185
+ :where(button, input[type="submit"], input[type="button"], [role="button"]).tertiary {
1161
1186
  --button-surface: transparent;
1162
- --button-text: var(--color-primary);
1187
+ --button-text: var(--link-color);
1163
1188
 
1164
1189
  border-color: transparent;
1165
- box-shadow: none;
1166
1190
  text-decoration: underline;
1167
1191
  text-decoration-thickness: var(--text-decoration-thickness);
1192
+ text-decoration-color: var(--link-color-decoration);
1168
1193
 
1169
1194
  &:not(:is(:focus, [aria-current], :hover, :active)) {
1170
1195
  --button-surface: transparent;
@@ -1175,7 +1200,33 @@
1175
1200
  }
1176
1201
 
1177
1202
  &.neutral {
1178
- --button-text: var(--color-text)
1203
+ --button-text: var(--color-text);
1204
+
1205
+ text-decoration-color: currentcolor;
1206
+ }
1207
+
1208
+ &.accent {
1209
+ text-decoration-color: var(--color-accent);
1210
+ }
1211
+
1212
+ &.danger {
1213
+ text-decoration-color: var(--color-danger);
1214
+ }
1215
+
1216
+ &.success {
1217
+ text-decoration-color: var(--color-success);
1218
+ }
1219
+
1220
+ &.warning {
1221
+ text-decoration-color: var(--color-warning);
1222
+ }
1223
+
1224
+ &.info {
1225
+ text-decoration-color: var(--color-info);
1226
+ }
1227
+
1228
+ &.contrast {
1229
+ text-decoration-color: var(--color-contrast);
1179
1230
  }
1180
1231
  }
1181
1232
 
@@ -1197,7 +1248,7 @@
1197
1248
  display: inline-flex;
1198
1249
  align-items: center;
1199
1250
  justify-content: center;
1200
- box-shadow: none;
1251
+ border-bottom-color: var(--border-color);
1201
1252
 
1202
1253
  &:is(:hover, :focus-visible) {
1203
1254
  --button-surface: var(--color-fill);
@@ -1226,8 +1277,10 @@
1226
1277
  display: block;
1227
1278
 
1228
1279
  &:not(:has(> summary[role="button"]), .border-none) {
1229
- border: var(--border-width) solid var(--color-border-strong);
1230
- box-shadow: var(--shadow-small);
1280
+ --border-color: var(--color-border-strong);
1281
+
1282
+ border: var(--border-width) solid var(--border-color);
1283
+ border-bottom-color: color-mix(in oklab, var(--border-color), var(--shadow-small));
1231
1284
  }
1232
1285
 
1233
1286
  &[open] summary::after{
@@ -1461,6 +1514,22 @@
1461
1514
  object-fit: cover;
1462
1515
  }
1463
1516
 
1517
+
1518
+ &:has(> img) {
1519
+ position: relative;
1520
+ background-color: transparent;
1521
+
1522
+ &::after {
1523
+ content: "";
1524
+ position: absolute;
1525
+ inset: 0;
1526
+ border-radius: inherit;
1527
+ corner-shape: inherit;
1528
+ box-shadow: inset 0 0 0 1px light-dark(rgb(0 0 0 / 8%), rgb(255 255 255 / 8%));
1529
+ pointer-events: none;
1530
+ }
1531
+ }
1532
+
1464
1533
  > :not(img) {
1465
1534
  color: inherit;
1466
1535
  overflow: hidden;
@@ -1532,6 +1601,8 @@
1532
1601
  @layer components {
1533
1602
  .badge,
1534
1603
  .pill {
1604
+ --border-color: var(--color-border-weak);
1605
+
1535
1606
  display: inline-flex;
1536
1607
  align-items: center;
1537
1608
  gap: var(--space-3xs);
@@ -1541,14 +1612,15 @@
1541
1612
  background-color: var(--color-fill);
1542
1613
  color: var(--color-text);
1543
1614
  padding: var(--space-3xs) var(--space-2xs);
1544
- border: var(--border-width) solid var(--color-border-weak);
1545
- box-shadow: var(--shadow-small);
1615
+ border: var(--border-width) solid var(--border-color);
1616
+ border-bottom-color: color-mix(in oklab, var(--border-color), var(--shadow-small));
1546
1617
  border-radius: var(--border-radius-s);
1547
1618
 
1548
1619
  &.primary {
1620
+ --border-color: var(--color-primary-border-weak);
1621
+
1549
1622
  background-color: var(--color-primary-fill);
1550
1623
  color: var(--color-primary-text);
1551
- border-color: var(--color-primary-border-weak);
1552
1624
  }
1553
1625
 
1554
1626
  &.muted {
@@ -1556,33 +1628,38 @@
1556
1628
  }
1557
1629
 
1558
1630
  &.accent {
1631
+ --border-color: var(--color-accent-border-weak);
1632
+
1559
1633
  background-color: var(--color-accent-fill);
1560
1634
  color: var(--color-accent-text);
1561
- border-color: var(--color-accent-border-weak);
1562
1635
  }
1563
1636
 
1564
1637
  &.danger {
1638
+ --border-color: var(--color-danger-border-weak);
1639
+
1565
1640
  background-color: var(--color-danger-fill);
1566
1641
  color: var(--color-danger-text);
1567
- border-color: var(--color-danger-border-weak);
1568
1642
  }
1569
1643
 
1570
1644
  &.success {
1645
+ --border-color: var(--color-success-border-weak);
1646
+
1571
1647
  background-color: var(--color-success-fill);
1572
1648
  color: var(--color-success-text);
1573
- border-color: var(--color-success-border-weak);
1574
1649
  }
1575
1650
 
1576
1651
  &.warning {
1652
+ --border-color: var(--color-warning-border-weak);
1653
+
1577
1654
  background-color: var(--color-warning-fill);
1578
1655
  color: var(--color-warning-text);
1579
- border-color: var(--color-warning-border-weak);
1580
1656
  }
1581
1657
 
1582
1658
  &.info {
1659
+ --border-color: var(--color-info-border-weak);
1660
+
1583
1661
  background-color: var(--color-info-fill);
1584
1662
  color: var(--color-info-text);
1585
- border-color: var(--color-info-border-weak);
1586
1663
  }
1587
1664
  }
1588
1665
 
@@ -1713,7 +1790,7 @@
1713
1790
  gap: var(--space-3xs);
1714
1791
 
1715
1792
 
1716
- &:where(:not(.primary, .accent, .danger, .success, .warning, .info, .contrast, .neutral, .secondary, .tertiary, .icon-only, .close)) {
1793
+ &:where(:not(.primary, .accent, .danger, .success, .warning, .info, .contrast, .neutral, .secondary, .tertiary, .icon-only, .close, [role="group"] > .dropdown > *)) {
1717
1794
  --button-surface: transparent;
1718
1795
  --button-text: var(--color-text);
1719
1796
 
@@ -2237,17 +2314,20 @@
2237
2314
 
2238
2315
  input:is([type="checkbox"], [type="radio"]) {
2239
2316
  --size: 1em;
2317
+ --border-color: var(--color-border-strong);
2240
2318
 
2241
2319
  appearance: none;
2242
- height: var(--size);
2243
- width: var(--size);
2320
+
2321
+ height: round(var(--size), 1px);
2322
+ width: round(var(--size), 1px);
2244
2323
  position: relative;
2245
2324
  cursor: pointer;
2246
2325
  font-size: inherit;
2247
2326
  margin: 0;
2248
2327
  margin-block-end: -0.15em;
2249
2328
  margin-inline-end: var(--space-3xs);
2250
- border: var(--border-width) solid var(--color-border-strong);
2329
+ border: var(--border-width) solid var(--border-color);
2330
+ border-bottom-color: color-mix(in oklab, var(--border-color), var(--shadow-small));
2251
2331
 
2252
2332
  &:focus {
2253
2333
  outline-offset: var(--outline-offset, 1px);
@@ -2277,29 +2357,30 @@
2277
2357
  }
2278
2358
  }
2279
2359
 
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);
2360
+ input:is([type="checkbox"]:not([role="switch"])):is(:checked, :indeterminate) {
2361
+ --border-color: var(--color-primary);
2362
+ --inverse-color: var(--color-primary-inverse);
2363
+
2364
+ background-color: var(--border-color);
2284
2365
 
2285
2366
  &::after {
2286
2367
  content: "";
2287
2368
  position: absolute;
2288
2369
  inset: 0;
2289
- background-color: var(--color-primary-inverse);
2370
+ background-color: var(--inverse-color);
2290
2371
  mask-position: center;
2291
2372
  mask-repeat: no-repeat;
2292
2373
  mask-size: 100%;
2293
2374
  }
2294
2375
 
2295
2376
  &[aria-invalid="false"] {
2296
- background-color: var(--color-success);
2297
- border-color: var(--color-success);
2377
+ --border-color: var(--color-success);
2378
+ --inverse-color: var(--color-success-inverse);
2298
2379
  }
2299
2380
 
2300
2381
  &[aria-invalid="true"] {
2301
- background-color: var(--color-danger);
2302
- border-color: var(--color-danger);
2382
+ --border-color: var(--color-danger);
2383
+ --inverse-color: var(--color-danger-inverse);
2303
2384
  }
2304
2385
  }
2305
2386
 
@@ -2318,51 +2399,75 @@
2318
2399
  input[type="radio"] {
2319
2400
  border-radius: var(--border-radius-f);
2320
2401
 
2321
- &:checked::after {
2402
+ &:checked {
2403
+ --border-color: var(--color-primary);
2404
+ --inverse-color: var(--color-primary-inverse);
2405
+
2322
2406
 
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");
2407
+ border-width: calc(var(--size) * 0.3);
2408
+ border-bottom-color: var(--border-color);
2409
+ background-color: var(--inverse-color);
2410
+ background-clip: padding-box;
2411
+
2412
+ &[aria-invalid="false"] {
2413
+ --border-color: var(--color-success);
2414
+ --inverse-color: var(--color-success-inverse);
2415
+ }
2416
+
2417
+ &[aria-invalid="true"] {
2418
+ --border-color: var(--color-danger);
2419
+ --inverse-color: var(--color-danger-inverse);
2420
+ }
2324
2421
  }
2325
2422
  }
2326
2423
 
2327
2424
 
2328
2425
  input[type="checkbox"][role="switch"] {
2329
2426
  --width: 1.85;
2427
+ --border-color: var(--switch-color-border);
2330
2428
 
2331
2429
  background-color: var(--switch-color-surface);
2332
- inline-size: calc(var(--width) * var(--size));
2430
+ inline-size: round(var(--width) * var(--size), 1px);
2333
2431
  transition: 0.1s ease-in-out;
2334
- border: var(--border-width) solid var(--switch-color-border);
2335
2432
  border-radius: var(--border-radius-f);
2336
- padding: 1px;
2433
+
2434
+ border: none;
2435
+ box-shadow:
2436
+ inset 0 calc(-1 * var(--border-width)) 0 color-mix(in oklab, transparent, var(--shadow-small)),
2437
+ inset 0 0 0 var(--border-width) var(--border-color);
2337
2438
 
2338
2439
  &::before {
2339
2440
  content: "";
2340
2441
  display: block;
2341
2442
  aspect-ratio: 1;
2342
- block-size: calc(var(--size) - (2 * var(--border-width)) - 2px);
2443
+ block-size: 100%;
2444
+ border: var(--border-width) solid rgb(0 0 0 / 10%);
2343
2445
  border-radius: var(--border-radius-f);
2344
- background-color: var(--color-primary-inverse);
2345
- box-shadow: var(--shadow-small);
2446
+ background-color: white;
2447
+ background-clip: padding-box;
2346
2448
  transition: margin 0.1s ease-in-out;
2347
2449
  }
2348
2450
 
2349
2451
  &:checked {
2350
- background-color: var(--color-primary);
2351
- border-color: var(--color-primary);
2352
2452
 
2453
+ --border-color: oklch(from var(--color-primary) min(l, 0.72) c h);
2454
+
2455
+ background-color: var(--border-color);
2456
+
2353
2457
  &::before {
2354
- margin-inline-start: calc((var(--width) * var(--size)) - var(--size));
2355
- background-color: var(--color-primary-inverse);
2458
+ margin-inline-start: calc(round(var(--width) * var(--size), 1px) - round(var(--size), 1px));
2356
2459
  }
2357
2460
 
2358
2461
  &[aria-invalid="false"] {
2462
+ --border-color: var(--color-success);
2463
+
2359
2464
  background-color: var(--color-success);
2360
- border-color: var(--color-success);
2361
2465
  }
2362
2466
 
2363
2467
  &[aria-invalid="true"] {
2468
+ --border-color: var(--color-danger);
2469
+
2364
2470
  background-color: var(--color-danger);
2365
- border-color: var(--color-danger);
2366
2471
  }
2367
2472
  }
2368
2473
 
@@ -2377,10 +2482,12 @@
2377
2482
  @layer base {
2378
2483
 
2379
2484
  :where(input, select, textarea) {
2485
+ --border-color: var(--color-border-strong);
2486
+
2380
2487
  background-color: var(--form-color-surface);
2381
- border: var(--border-width) solid var(--color-border-strong);
2488
+ border: var(--border-width) solid var(--border-color);
2489
+ border-bottom-color: color-mix(in oklab, var(--border-color), var(--shadow-small));
2382
2490
  border-radius: var(--border-radius-m);
2383
- box-shadow: var(--shadow-small);
2384
2491
  line-height: var(--line-height);
2385
2492
  }
2386
2493
 
@@ -2425,7 +2532,7 @@
2425
2532
 
2426
2533
  :is(input, select, textarea) {
2427
2534
  &[aria-invalid="false"] {
2428
- border-color: var(--color-success-border-strong);
2535
+ --border-color: var(--color-success-border-strong);
2429
2536
 
2430
2537
  + small {
2431
2538
  color: var(--color-success-text);
@@ -2433,7 +2540,7 @@
2433
2540
  }
2434
2541
 
2435
2542
  &[aria-invalid="true"] {
2436
- border-color: var(--color-danger-border-strong);
2543
+ --border-color: var(--color-danger-border-strong);
2437
2544
 
2438
2545
  + small {
2439
2546
  color: var(--color-danger-text);
@@ -2480,8 +2587,9 @@
2480
2587
  select[disabled],
2481
2588
  textarea[disabled],
2482
2589
  :where(fieldset[disabled]) :is(input:not([type="submit"], [type="button"], [type="reset"]), select, textarea) {
2590
+ --border-color: var(--form-color-border-disabled);
2591
+
2483
2592
  background-color: transparent;
2484
- border-color: var(--form-color-border-disabled);
2485
2593
  opacity: 0.5;
2486
2594
  pointer-events: none;
2487
2595
  }
@@ -2530,65 +2638,90 @@
2530
2638
  }
2531
2639
 
2532
2640
  input[type="file"] {
2641
+
2642
+ border: none;
2643
+ box-shadow:
2644
+ inset 0 calc(-1 * var(--border-width)) 0 color-mix(in oklab, transparent, var(--shadow-small)),
2645
+ inset 0 0 0 var(--border-width) var(--border-color);
2646
+
2533
2647
  &::file-selector-button {
2648
+ --border-color: var(--color-primary);
2649
+
2534
2650
  background-color: var(--color-primary);
2535
2651
  color: var(--color-primary-inverse);
2536
- box-shadow: var(--shadow-small);
2537
2652
  padding: var(--space-2xs) var(--space-xs);
2538
- border: var(--border-width) solid var(--color-primary);
2653
+ border: var(--border-width) solid var(--border-color);
2654
+ border-bottom-color: color-mix(in oklab, var(--border-color), var(--shadow-small));
2655
+
2656
+ block-size: 100%;
2539
2657
  font-weight: bold;
2540
2658
  line-height: var(--line-height);
2541
2659
  text-align: center;
2542
2660
  margin-inline-end: var(--space-xs);
2543
2661
  border-radius: 0;
2662
+ border-start-start-radius: var(--border-radius-m);
2663
+ border-end-start-radius: var(--border-radius-m);
2544
2664
  font-family: inherit;
2665
+ font-size: inherit;
2545
2666
  }
2546
2667
 
2547
2668
  &: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);
2669
+ --border-color: oklch(from var(--color-primary) calc(l * var(--hover-multiplier)) c h);
2670
+
2671
+ background-color: var(--border-color);
2550
2672
  }
2551
2673
 
2552
2674
  &: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);
2675
+ --border-color: oklch(from var(--color-primary) calc(l * var(--hover-multiplier) * var(--hover-multiplier)) c h);
2676
+
2677
+ background-color: var(--border-color);
2555
2678
  }
2556
2679
 
2557
- &.small::file-selector-button {
2558
- padding: var(--space-3xs) var(--space-2xs);
2680
+
2681
+ &.small {
2559
2682
  font-size: var(--size-small);
2683
+
2684
+ &::file-selector-button {
2685
+ padding: var(--space-3xs) var(--space-2xs);
2686
+ }
2560
2687
  }
2561
2688
 
2562
- &.large::file-selector-button {
2563
- padding: var(--space-xs) var(--space-s);
2689
+ &.large {
2564
2690
  font-size: var(--size-h4);
2691
+
2692
+ &::file-selector-button {
2693
+ padding: var(--space-xs) var(--space-s);
2694
+ }
2565
2695
  }
2566
2696
  }
2567
2697
 
2568
2698
  input[type="range"] {
2569
2699
  background-color: var(--color-fill);
2570
2700
  border-color: var(--color-border-weak);
2571
- height: 0.33em;
2701
+
2702
+ height: round(0.33em, 2px);
2572
2703
  appearance: none;
2573
2704
  cursor: pointer;
2574
2705
  box-shadow: var(--shadow-inner);
2575
2706
 
2576
2707
  &::-moz-range-thumb {
2577
- width: 1em;
2578
- height: 1em;
2579
- background-color: var(--color-text);
2708
+ width: round(1em, 2px);
2709
+ height: round(1em, 2px);
2710
+
2711
+ background-color: white;
2712
+ background-clip: padding-box;
2713
+ border: var(--border-width) solid rgb(0 0 0 / 20%);
2580
2714
  border-radius: var(--border-radius-f);
2581
- border: none;
2582
- box-shadow: var(--shadow-small);
2583
2715
  }
2584
2716
 
2585
2717
  &::-webkit-slider-thumb {
2586
2718
  appearance: none;
2587
- width: 1em;
2588
- height: 1em;
2589
- background-color: var(--color-text);
2719
+ width: round(1em, 2px);
2720
+ height: round(1em, 2px);
2721
+ background-color: white;
2722
+ background-clip: padding-box;
2723
+ border: var(--border-width) solid rgb(0 0 0 / 20%);
2590
2724
  border-radius: var(--border-radius-f);
2591
- box-shadow: var(--shadow-small);
2592
2725
  }
2593
2726
 
2594
2727
  &:active {
@@ -2614,7 +2747,17 @@
2614
2747
  background-image: var(--icon-search);
2615
2748
  background-size: 1em auto;
2616
2749
  background-position: center left var(--space-xs);
2617
- background-repeat: no-repeat;
2750
+ background-repeat: no-repeat;
2751
+
2752
+ &.small {
2753
+ padding-inline-start: calc(var(--space-2xs) + var(--space-2xs) + 1em);
2754
+ background-position: center left var(--space-2xs);
2755
+ }
2756
+
2757
+ &.large {
2758
+ padding-inline-start: calc(var(--space-s) + var(--space-2xs) + 1em);
2759
+ background-position: center left var(--space-s);
2760
+ }
2618
2761
  }
2619
2762
 
2620
2763
  input:not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"],
@@ -2645,10 +2788,21 @@
2645
2788
  }
2646
2789
 
2647
2790
  select:not([multiple], [size]) {
2791
+ padding-inline-end: calc(var(--space-xs) + var(--space-2xs) + 1.125em);
2648
2792
  background-image: var(--icon-select);
2649
2793
  background-position: center right var(--space-xs);
2650
- background-size: 1.125rem;
2794
+ background-size: 1.125em;
2651
2795
  background-repeat: no-repeat;
2796
+
2797
+ &.small {
2798
+ padding-inline-end: calc(var(--space-2xs) + var(--space-2xs) + 1.125em);
2799
+ background-position: center right var(--space-2xs);
2800
+ }
2801
+
2802
+ &.large {
2803
+ padding-inline-end: calc(var(--space-s) + var(--space-2xs) + 1.125em);
2804
+ background-position: center right var(--space-s);
2805
+ }
2652
2806
  }
2653
2807
 
2654
2808
  select[multiple] option:checked {
@@ -2707,11 +2861,31 @@
2707
2861
  }
2708
2862
 
2709
2863
  [dir="rtl"] {
2710
- input[type="search"],
2711
2864
  select:not([multiple], [size]),
2712
2865
  input:not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"],
2713
2866
  [type="month"], [type="time"], [type="week"], [type="range"])[aria-invalid] {
2714
2867
  background-position: center left var(--space-xs);
2868
+
2869
+ &.small {
2870
+ background-position: center left var(--space-2xs);
2871
+ }
2872
+
2873
+ &.large {
2874
+ background-position: center left var(--space-s);
2875
+ }
2876
+ }
2877
+
2878
+
2879
+ input[type="search"] {
2880
+ background-position: center right var(--space-xs);
2881
+
2882
+ &.small {
2883
+ background-position: center right var(--space-2xs);
2884
+ }
2885
+
2886
+ &.large {
2887
+ background-position: center right var(--space-s);
2888
+ }
2715
2889
  }
2716
2890
 
2717
2891
  textarea[aria-invalid] {
@@ -2730,25 +2904,44 @@
2730
2904
  border-radius: 0;
2731
2905
  }
2732
2906
 
2733
- :not(:first-child, button, input:is([type="submit"], [type="button"], [type="reset"])) {
2907
+
2908
+ > :not(:first-child, button, [role="button"], input:is([type="submit"], [type="button"], [type="reset"])) {
2734
2909
  border-inline-start: 0;
2735
2910
  }
2911
+
2912
+ > :first-child {
2913
+ border-start-start-radius: var(--border-radius-m);
2914
+ border-end-start-radius: var(--border-radius-m);
2915
+ }
2916
+
2917
+ > :last-child {
2918
+ border-start-end-radius: var(--border-radius-m);
2919
+ border-end-end-radius: var(--border-radius-m);
2920
+ }
2921
+
2736
2922
 
2737
- :last-child {
2738
- border-bottom-right-radius: var(--border-radius-m);
2739
- border-top-right-radius: var(--border-radius-m);
2923
+ > .dropdown {
2924
+ display: flex;
2925
+ align-self: stretch;
2926
+
2927
+ > button[popovertarget] {
2928
+ border-radius: inherit;
2929
+ }
2740
2930
  }
2741
2931
 
2742
- :first-child {
2743
- border-bottom-left-radius: var(--border-radius-m);
2744
- border-top-left-radius: var(--border-radius-m);
2932
+
2933
+ > :is(button, [role="button"], input:is([type="submit"], [type="button"], [type="reset"]), .dropdown)
2934
+ + :is(button, [role="button"], input:is([type="submit"], [type="button"], [type="reset"])),
2935
+ > :is(button, [role="button"], input:is([type="submit"], [type="button"], [type="reset"]))
2936
+ + .dropdown > button[popovertarget] {
2937
+ border-inline-start-color: color-mix(in oklab, var(--button-surface), var(--button-text) 20%);
2745
2938
  }
2746
2939
 
2747
2940
  button,
2748
2941
  input:is([type="submit"], [type="button"], [type="reset"]) {
2749
2942
  width: unset;
2750
2943
  }
2751
- }
2944
+ }
2752
2945
  }
2753
2946
 
2754
2947
 
@@ -2854,12 +3047,13 @@
2854
3047
 
2855
3048
  nav.tabs > ul {
2856
3049
  inline-size: 100%;
2857
- border-bottom: var(--border-width) solid var(--color-border-weak);
3050
+ box-shadow: inset 0 calc(-1 * var(--border-width)) var(--color-border-weak);
2858
3051
  color: var(--color-text-muted);
2859
3052
  font-size: var(--size-small);
2860
3053
 
2861
3054
  li {
2862
3055
  padding: var(--space-3xs) var(--space-2xs);
3056
+ border-bottom: calc(var(--border-width) + 1px) solid transparent;
2863
3057
 
2864
3058
  &:is(:hover, :active) {
2865
3059
  color: var(--color-text);
@@ -2868,7 +3062,7 @@
2868
3062
  &:is([aria-current], :has([aria-current])) {
2869
3063
  color: var(--color-text);
2870
3064
  font-weight: var(--font-weight-bold);
2871
- border-bottom: calc(var(--border-width) + 1px) solid var(--color-primary);
3065
+ border-bottom-color: var(--color-primary);
2872
3066
  }
2873
3067
 
2874
3068
  button,
@@ -2881,11 +3075,13 @@
2881
3075
 
2882
3076
 
2883
3077
  nav[aria-label="pagination" i] > :is(ol,ul) {
3078
+ --border-color: var(--color-border-strong);
3079
+
2884
3080
  inline-size: fit-content;
2885
3081
  max-inline-size: 100%;
2886
- border: var(--border-width) solid var(--color-border-strong);
3082
+ border: var(--border-width) solid var(--border-color);
3083
+ border-bottom-color: color-mix(in oklab, var(--border-color), var(--shadow-small));
2887
3084
  border-radius: var(--border-radius-s);
2888
- box-shadow: var(--shadow-small);
2889
3085
 
2890
3086
  li {
2891
3087
 
@@ -2964,11 +3160,18 @@
2964
3160
  meter {
2965
3161
  appearance: none;
2966
3162
  block-size: 0.5em;
2967
- border: var(--border-width) solid var(--color-border-weak);
3163
+ border: 0;
2968
3164
  border-radius: var(--border-radius-f);
2969
- box-shadow: var(--shadow-inner);
3165
+
3166
+
3167
+ box-shadow:
3168
+ inset 0 0 0 var(--border-width) var(--color-border-weak),
3169
+ var(--shadow-inner);
2970
3170
  overflow: hidden;
2971
3171
  inline-size: 100%;
3172
+
3173
+ --progress-edge-color: light-dark(rgb(0 0 0 / 13%), rgb(0 0 0 / 35%));
3174
+ --progress-edge: inset 0 0 0 var(--border-width) var(--progress-edge-color);
2972
3175
  }
2973
3176
 
2974
3177
  progress {
@@ -2981,11 +3184,15 @@
2981
3184
 
2982
3185
  &::-webkit-progress-value {
2983
3186
  background-color: var(--color-primary);
3187
+ border-radius: var(--border-radius-f);
3188
+ box-shadow: var(--progress-edge);
2984
3189
  transition: width 0.1s ease-in-out;
2985
3190
  }
2986
3191
 
2987
3192
  &::-moz-progress-bar {
2988
3193
  background-color: var(--color-primary);
3194
+ border-radius: var(--border-radius-f);
3195
+ box-shadow: var(--progress-edge);
2989
3196
  }
2990
3197
  }
2991
3198
 
@@ -2997,10 +3204,12 @@
2997
3204
 
2998
3205
  &::-webkit-progress-value {
2999
3206
  background-color: transparent;
3207
+ box-shadow: none;
3000
3208
  }
3001
3209
 
3002
3210
  &::-moz-progress-bar {
3003
3211
  background-color: transparent;
3212
+ box-shadow: none;
3004
3213
  }
3005
3214
  }
3006
3215
 
@@ -3026,6 +3235,8 @@
3026
3235
 
3027
3236
  &::-moz-meter-bar {
3028
3237
  background: var(--color-success);
3238
+ border-radius: var(--border-radius-f);
3239
+ box-shadow: var(--progress-edge);
3029
3240
  }
3030
3241
 
3031
3242
  &:-moz-meter-sub-optimum::-moz-meter-bar {
@@ -3039,7 +3250,14 @@
3039
3250
  &::-webkit-meter-bar {
3040
3251
  background: transparent;
3041
3252
  border-radius: var(--border-radius-f);
3042
- block-size: 0.5em;
3253
+ block-size: 100%;
3254
+ }
3255
+
3256
+ &::-webkit-meter-optimum-value,
3257
+ &::-webkit-meter-suboptimum-value,
3258
+ &::-webkit-meter-even-less-good-value {
3259
+ border-radius: var(--border-radius-f);
3260
+ box-shadow: var(--progress-edge);
3043
3261
  }
3044
3262
 
3045
3263
  &::-webkit-meter-optimum-value {
@@ -3088,7 +3306,7 @@
3088
3306
 
3089
3307
 
3090
3308
  .shadow-none {box-shadow: none}
3091
- .shadow-s {box-shadow: var(--shadow-small)}
3309
+ .shadow-s {border-bottom: var(--border-width) solid color-mix(in oklab, var(--border-color, var(--color-border-weak)), var(--shadow-small))}
3092
3310
  .shadow-m {box-shadow: var(--shadow-medium)}
3093
3311
  .shadow-l {box-shadow: var(--shadow-large)}
3094
3312
  .shadow-inner {box-shadow: var(--shadow-inner)}