@expressivecss/expressive 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +4 -9
  3. package/dist/css/expressive.css +2309 -948
  4. package/dist/css/expressive.css.map +1 -1
  5. package/dist/css/expressive.min.css +1 -1
  6. package/dist/css/expressive.min.css.map +1 -1
  7. package/dist/js/expressive.cjs +643 -804
  8. package/dist/js/expressive.cjs.map +4 -4
  9. package/dist/js/expressive.js +643 -804
  10. package/dist/js/expressive.js.map +4 -4
  11. package/dist/js/expressive.min.js +11 -11
  12. package/dist/js/expressive.min.js.map +4 -4
  13. package/dist/js/expressive.mjs +643 -804
  14. package/dist/js/expressive.mjs.map +4 -4
  15. package/dist/types/behaviors/bottomSheets.d.ts +18 -0
  16. package/dist/types/behaviors/sideSheets.d.ts +18 -0
  17. package/dist/types/components/autocomplete.d.ts +11 -11
  18. package/dist/types/components/index.d.ts +3 -5
  19. package/dist/types/components/{dropdown.d.ts → menu.d.ts} +38 -37
  20. package/dist/types/components/navigationRail.d.ts +53 -0
  21. package/dist/types/components/range.d.ts +3 -0
  22. package/dist/types/components/registry.d.ts +7 -15
  23. package/dist/types/components/select.d.ts +12 -12
  24. package/dist/types/components/{toasts.d.ts → snackbar.d.ts} +28 -25
  25. package/dist/types/index.d.ts +3 -1
  26. package/package.json +3 -2
  27. package/src/sass/README.md +13 -11
  28. package/src/sass/abstracts/_breakpoints.scss +14 -3
  29. package/src/sass/abstracts/_mixins.scss +3 -3
  30. package/src/sass/abstracts/_variables.scss +27 -2
  31. package/src/sass/base/_global.scss +1 -1
  32. package/src/sass/base/_grid.scss +66 -116
  33. package/src/sass/base/_index.scss +1 -1
  34. package/src/sass/components/_badges.scss +76 -61
  35. package/src/sass/components/_bottom-sheet.scss +137 -0
  36. package/src/sass/components/_cards.scss +4 -4
  37. package/src/sass/components/_chips.scss +6 -5
  38. package/src/sass/components/_dialog.scss +268 -0
  39. package/src/sass/components/_index.scss +8 -7
  40. package/src/sass/components/_list.scss +253 -0
  41. package/src/sass/components/_menu.scss +341 -0
  42. package/src/sass/components/_navbar.scss +65 -117
  43. package/src/sass/components/_navigation-bar.scss +165 -0
  44. package/src/sass/components/_navigation-rail.scss +308 -0
  45. package/src/sass/components/_page-footer.scss +7 -3
  46. package/src/sass/components/_side-sheet.scss +193 -0
  47. package/src/sass/components/_sidenav.scss +78 -49
  48. package/src/sass/components/{_toast.scss → _snackbar.scss} +35 -34
  49. package/src/sass/components/_tabs.scss +1 -27
  50. package/src/sass/components/_toolbar.scss +91 -25
  51. package/src/sass/components/_tooltip.scss +1 -1
  52. package/src/sass/components/forms/_fieldset.scss +1 -1
  53. package/src/sass/components/forms/_input-fields.scss +3 -3
  54. package/src/sass/components/forms/_range.scss +423 -98
  55. package/src/sass/components/forms/_select.scss +19 -17
  56. package/src/sass/tokens/_reference.scss +37 -13
  57. package/src/sass/tokens/_theme.scss +5 -13
  58. package/src/sass/utilities/_colors.scss +16 -74
  59. package/src/sass/utilities/_visibility.scss +8 -0
  60. package/dist/types/components/collapsible.d.ts +0 -79
  61. package/dist/types/components/pushpin.d.ts +0 -51
  62. package/dist/types/components/tapTarget.d.ts +0 -57
  63. package/src/sass/components/_collapsible.scss +0 -179
  64. package/src/sass/components/_collection.scss +0 -180
  65. package/src/sass/components/_dropdown.scss +0 -225
  66. package/src/sass/components/_modal.scss +0 -190
  67. package/src/sass/components/_pushpin.scss +0 -11
  68. package/src/sass/components/_tapTarget.scss +0 -187
@@ -5,8 +5,14 @@
5
5
  --md-source: #006A79;
6
6
  /* primary, secondary, tertiary, neutral, neutral-variant - all generated */
7
7
  --md-ref-palette-primary0: oklch(from var(--md-source) 0% 0 calc(h + 1));
8
+ --md-ref-palette-primary4: oklch(from var(--md-source) 8.95% 0.123 calc(h + 1));
9
+ --md-ref-palette-primary6: oklch(from var(--md-source) 13.42% 0.123 calc(h + 1));
8
10
  --md-ref-palette-primary10: oklch(from var(--md-source) 22.37% 0.123 calc(h + 1));
11
+ --md-ref-palette-primary12: oklch(from var(--md-source) 24.09% 0.123 calc(h + 1));
12
+ --md-ref-palette-primary17: oklch(from var(--md-source) 28.4% 0.123 calc(h + 1));
9
13
  --md-ref-palette-primary20: oklch(from var(--md-source) 30.99% 0.123 calc(h + 1));
14
+ --md-ref-palette-primary22: oklch(from var(--md-source) 32.7% 0.123 calc(h + 1));
15
+ --md-ref-palette-primary24: oklch(from var(--md-source) 34.41% 0.123 calc(h + 1));
10
16
  --md-ref-palette-primary25: oklch(from var(--md-source) 35.26% 0.123 calc(h + 1));
11
17
  --md-ref-palette-primary30: oklch(from var(--md-source) 39.48% 0.123 calc(h + 1));
12
18
  --md-ref-palette-primary35: oklch(from var(--md-source) 43.79% 0.123 calc(h + 1));
@@ -15,14 +21,24 @@
15
21
  --md-ref-palette-primary60: oklch(from var(--md-source) 65.42% 0.123 calc(h + 1));
16
22
  --md-ref-palette-primary70: oklch(from var(--md-source) 74.04% 0.123 calc(h + 1));
17
23
  --md-ref-palette-primary80: oklch(from var(--md-source) 82.63% 0.123 calc(h + 1));
24
+ --md-ref-palette-primary87: oklch(from var(--md-source) 88.72% 0.123 calc(h + 1));
18
25
  --md-ref-palette-primary90: oklch(from var(--md-source) 91.33% 0.123 calc(h + 1));
26
+ --md-ref-palette-primary92: oklch(from var(--md-source) 93.05% 0.123 calc(h + 1));
27
+ --md-ref-palette-primary94: oklch(from var(--md-source) 94.76% 0.123 calc(h + 1));
19
28
  --md-ref-palette-primary95: oklch(from var(--md-source) 95.62% 0.123 calc(h + 1));
29
+ --md-ref-palette-primary96: oklch(from var(--md-source) 96.5% 0.123 calc(h + 1));
20
30
  --md-ref-palette-primary98: oklch(from var(--md-source) 98.25% 0.123 calc(h + 1));
21
31
  --md-ref-palette-primary99: oklch(from var(--md-source) 99.19% 0.123 calc(h + 1));
22
32
  --md-ref-palette-primary100: oklch(from var(--md-source) 100% 0 calc(h + 1));
23
33
  --md-ref-palette-secondary0: oklch(from var(--md-source) 0% 0 calc(h + 5));
34
+ --md-ref-palette-secondary4: oklch(from var(--md-source) 8.95% 0.03 calc(h + 5));
35
+ --md-ref-palette-secondary6: oklch(from var(--md-source) 13.42% 0.03 calc(h + 5));
24
36
  --md-ref-palette-secondary10: oklch(from var(--md-source) 22.37% 0.03 calc(h + 5));
37
+ --md-ref-palette-secondary12: oklch(from var(--md-source) 24.09% 0.03 calc(h + 5));
38
+ --md-ref-palette-secondary17: oklch(from var(--md-source) 28.4% 0.03 calc(h + 5));
25
39
  --md-ref-palette-secondary20: oklch(from var(--md-source) 30.99% 0.03 calc(h + 5));
40
+ --md-ref-palette-secondary22: oklch(from var(--md-source) 32.7% 0.03 calc(h + 5));
41
+ --md-ref-palette-secondary24: oklch(from var(--md-source) 34.41% 0.03 calc(h + 5));
26
42
  --md-ref-palette-secondary25: oklch(from var(--md-source) 35.26% 0.03 calc(h + 5));
27
43
  --md-ref-palette-secondary30: oklch(from var(--md-source) 39.48% 0.03 calc(h + 5));
28
44
  --md-ref-palette-secondary35: oklch(from var(--md-source) 43.79% 0.03 calc(h + 5));
@@ -31,14 +47,24 @@
31
47
  --md-ref-palette-secondary60: oklch(from var(--md-source) 65.42% 0.03 calc(h + 5));
32
48
  --md-ref-palette-secondary70: oklch(from var(--md-source) 74.04% 0.03 calc(h + 5));
33
49
  --md-ref-palette-secondary80: oklch(from var(--md-source) 82.63% 0.03 calc(h + 5));
50
+ --md-ref-palette-secondary87: oklch(from var(--md-source) 88.72% 0.03 calc(h + 5));
34
51
  --md-ref-palette-secondary90: oklch(from var(--md-source) 91.33% 0.03 calc(h + 5));
52
+ --md-ref-palette-secondary92: oklch(from var(--md-source) 93.05% 0.03 calc(h + 5));
53
+ --md-ref-palette-secondary94: oklch(from var(--md-source) 94.76% 0.03 calc(h + 5));
35
54
  --md-ref-palette-secondary95: oklch(from var(--md-source) 95.62% 0.03 calc(h + 5));
55
+ --md-ref-palette-secondary96: oklch(from var(--md-source) 96.5% 0.03 calc(h + 5));
36
56
  --md-ref-palette-secondary98: oklch(from var(--md-source) 98.25% 0.03 calc(h + 5));
37
57
  --md-ref-palette-secondary99: oklch(from var(--md-source) 99.19% 0.03 calc(h + 5));
38
58
  --md-ref-palette-secondary100: oklch(from var(--md-source) 100% 0 calc(h + 5));
39
59
  --md-ref-palette-tertiary0: oklch(from var(--md-source) 0% 0 calc(h + 62));
60
+ --md-ref-palette-tertiary4: oklch(from var(--md-source) 8.95% 0.058 calc(h + 62));
61
+ --md-ref-palette-tertiary6: oklch(from var(--md-source) 13.42% 0.058 calc(h + 62));
40
62
  --md-ref-palette-tertiary10: oklch(from var(--md-source) 22.37% 0.058 calc(h + 62));
63
+ --md-ref-palette-tertiary12: oklch(from var(--md-source) 24.09% 0.058 calc(h + 62));
64
+ --md-ref-palette-tertiary17: oklch(from var(--md-source) 28.4% 0.058 calc(h + 62));
41
65
  --md-ref-palette-tertiary20: oklch(from var(--md-source) 30.99% 0.058 calc(h + 62));
66
+ --md-ref-palette-tertiary22: oklch(from var(--md-source) 32.7% 0.058 calc(h + 62));
67
+ --md-ref-palette-tertiary24: oklch(from var(--md-source) 34.41% 0.058 calc(h + 62));
42
68
  --md-ref-palette-tertiary25: oklch(from var(--md-source) 35.26% 0.058 calc(h + 62));
43
69
  --md-ref-palette-tertiary30: oklch(from var(--md-source) 39.48% 0.058 calc(h + 62));
44
70
  --md-ref-palette-tertiary35: oklch(from var(--md-source) 43.79% 0.058 calc(h + 62));
@@ -47,14 +73,24 @@
47
73
  --md-ref-palette-tertiary60: oklch(from var(--md-source) 65.42% 0.058 calc(h + 62));
48
74
  --md-ref-palette-tertiary70: oklch(from var(--md-source) 74.04% 0.058 calc(h + 62));
49
75
  --md-ref-palette-tertiary80: oklch(from var(--md-source) 82.63% 0.058 calc(h + 62));
76
+ --md-ref-palette-tertiary87: oklch(from var(--md-source) 88.72% 0.058 calc(h + 62));
50
77
  --md-ref-palette-tertiary90: oklch(from var(--md-source) 91.33% 0.058 calc(h + 62));
78
+ --md-ref-palette-tertiary92: oklch(from var(--md-source) 93.05% 0.058 calc(h + 62));
79
+ --md-ref-palette-tertiary94: oklch(from var(--md-source) 94.76% 0.058 calc(h + 62));
51
80
  --md-ref-palette-tertiary95: oklch(from var(--md-source) 95.62% 0.058 calc(h + 62));
81
+ --md-ref-palette-tertiary96: oklch(from var(--md-source) 96.5% 0.058 calc(h + 62));
52
82
  --md-ref-palette-tertiary98: oklch(from var(--md-source) 98.25% 0.058 calc(h + 62));
53
83
  --md-ref-palette-tertiary99: oklch(from var(--md-source) 99.19% 0.058 calc(h + 62));
54
84
  --md-ref-palette-tertiary100: oklch(from var(--md-source) 100% 0 calc(h + 62));
55
85
  --md-ref-palette-neutral0: oklch(from var(--md-source) 0% 0 calc(h + 17));
86
+ --md-ref-palette-neutral4: oklch(from var(--md-source) 8.95% 0.004 calc(h + 17));
87
+ --md-ref-palette-neutral6: oklch(from var(--md-source) 13.42% 0.004 calc(h + 17));
56
88
  --md-ref-palette-neutral10: oklch(from var(--md-source) 22.37% 0.004 calc(h + 17));
89
+ --md-ref-palette-neutral12: oklch(from var(--md-source) 24.09% 0.004 calc(h + 17));
90
+ --md-ref-palette-neutral17: oklch(from var(--md-source) 28.4% 0.004 calc(h + 17));
57
91
  --md-ref-palette-neutral20: oklch(from var(--md-source) 30.99% 0.004 calc(h + 17));
92
+ --md-ref-palette-neutral22: oklch(from var(--md-source) 32.7% 0.004 calc(h + 17));
93
+ --md-ref-palette-neutral24: oklch(from var(--md-source) 34.41% 0.004 calc(h + 17));
58
94
  --md-ref-palette-neutral25: oklch(from var(--md-source) 35.26% 0.004 calc(h + 17));
59
95
  --md-ref-palette-neutral30: oklch(from var(--md-source) 39.48% 0.004 calc(h + 17));
60
96
  --md-ref-palette-neutral35: oklch(from var(--md-source) 43.79% 0.004 calc(h + 17));
@@ -63,14 +99,24 @@
63
99
  --md-ref-palette-neutral60: oklch(from var(--md-source) 65.42% 0.004 calc(h + 17));
64
100
  --md-ref-palette-neutral70: oklch(from var(--md-source) 74.04% 0.004 calc(h + 17));
65
101
  --md-ref-palette-neutral80: oklch(from var(--md-source) 82.63% 0.004 calc(h + 17));
102
+ --md-ref-palette-neutral87: oklch(from var(--md-source) 88.72% 0.004 calc(h + 17));
66
103
  --md-ref-palette-neutral90: oklch(from var(--md-source) 91.33% 0.004 calc(h + 17));
104
+ --md-ref-palette-neutral92: oklch(from var(--md-source) 93.05% 0.004 calc(h + 17));
105
+ --md-ref-palette-neutral94: oklch(from var(--md-source) 94.76% 0.004 calc(h + 17));
67
106
  --md-ref-palette-neutral95: oklch(from var(--md-source) 95.62% 0.004 calc(h + 17));
107
+ --md-ref-palette-neutral96: oklch(from var(--md-source) 96.5% 0.004 calc(h + 17));
68
108
  --md-ref-palette-neutral98: oklch(from var(--md-source) 98.25% 0.004 calc(h + 17));
69
109
  --md-ref-palette-neutral99: oklch(from var(--md-source) 99.19% 0.004 calc(h + 17));
70
110
  --md-ref-palette-neutral100: oklch(from var(--md-source) 100% 0 calc(h + 17));
71
111
  --md-ref-palette-neutral-variant0: oklch(from var(--md-source) 0% 0 calc(h + 9));
112
+ --md-ref-palette-neutral-variant4: oklch(from var(--md-source) 8.95% 0.013 calc(h + 9));
113
+ --md-ref-palette-neutral-variant6: oklch(from var(--md-source) 13.42% 0.013 calc(h + 9));
72
114
  --md-ref-palette-neutral-variant10: oklch(from var(--md-source) 22.37% 0.013 calc(h + 9));
115
+ --md-ref-palette-neutral-variant12: oklch(from var(--md-source) 24.09% 0.013 calc(h + 9));
116
+ --md-ref-palette-neutral-variant17: oklch(from var(--md-source) 28.4% 0.013 calc(h + 9));
73
117
  --md-ref-palette-neutral-variant20: oklch(from var(--md-source) 30.99% 0.013 calc(h + 9));
118
+ --md-ref-palette-neutral-variant22: oklch(from var(--md-source) 32.7% 0.013 calc(h + 9));
119
+ --md-ref-palette-neutral-variant24: oklch(from var(--md-source) 34.41% 0.013 calc(h + 9));
74
120
  --md-ref-palette-neutral-variant25: oklch(from var(--md-source) 35.26% 0.013 calc(h + 9));
75
121
  --md-ref-palette-neutral-variant30: oklch(from var(--md-source) 39.48% 0.013 calc(h + 9));
76
122
  --md-ref-palette-neutral-variant35: oklch(from var(--md-source) 43.79% 0.013 calc(h + 9));
@@ -79,8 +125,12 @@
79
125
  --md-ref-palette-neutral-variant60: oklch(from var(--md-source) 65.42% 0.013 calc(h + 9));
80
126
  --md-ref-palette-neutral-variant70: oklch(from var(--md-source) 74.04% 0.013 calc(h + 9));
81
127
  --md-ref-palette-neutral-variant80: oklch(from var(--md-source) 82.63% 0.013 calc(h + 9));
128
+ --md-ref-palette-neutral-variant87: oklch(from var(--md-source) 88.72% 0.013 calc(h + 9));
82
129
  --md-ref-palette-neutral-variant90: oklch(from var(--md-source) 91.33% 0.013 calc(h + 9));
130
+ --md-ref-palette-neutral-variant92: oklch(from var(--md-source) 93.05% 0.013 calc(h + 9));
131
+ --md-ref-palette-neutral-variant94: oklch(from var(--md-source) 94.76% 0.013 calc(h + 9));
83
132
  --md-ref-palette-neutral-variant95: oklch(from var(--md-source) 95.62% 0.013 calc(h + 9));
133
+ --md-ref-palette-neutral-variant96: oklch(from var(--md-source) 96.5% 0.013 calc(h + 9));
84
134
  --md-ref-palette-neutral-variant98: oklch(from var(--md-source) 98.25% 0.013 calc(h + 9));
85
135
  --md-ref-palette-neutral-variant99: oklch(from var(--md-source) 99.19% 0.013 calc(h + 9));
86
136
  --md-ref-palette-neutral-variant100: oklch(from var(--md-source) 100% 0 calc(h + 9));
@@ -111,63 +161,101 @@
111
161
  --md-sys-color-on-primary-light: var(--md-ref-palette-primary100);
112
162
  --md-sys-color-primary-container-light: var(--md-ref-palette-primary90);
113
163
  --md-sys-color-on-primary-container-light: var(--md-ref-palette-primary10);
164
+ --md-sys-color-primary-fixed-light: var(--md-ref-palette-primary90);
165
+ --md-sys-color-primary-fixed-dim-light: var(--md-ref-palette-primary80);
166
+ --md-sys-color-on-primary-fixed-light: var(--md-ref-palette-primary10);
167
+ --md-sys-color-on-primary-fixed-variant-light: var(--md-ref-palette-primary30);
114
168
  --md-sys-color-secondary-light: var(--md-ref-palette-secondary40);
115
169
  --md-sys-color-on-secondary-light: var(--md-ref-palette-secondary100);
116
170
  --md-sys-color-secondary-container-light: var(--md-ref-palette-secondary90);
117
171
  --md-sys-color-on-secondary-container-light: var(--md-ref-palette-secondary10);
172
+ --md-sys-color-secondary-fixed-light: var(--md-ref-palette-secondary90);
173
+ --md-sys-color-secondary-fixed-dim-light: var(--md-ref-palette-secondary80);
174
+ --md-sys-color-on-secondary-fixed-light: var(--md-ref-palette-secondary10);
175
+ --md-sys-color-on-secondary-fixed-variant-light: var(--md-ref-palette-secondary30);
118
176
  --md-sys-color-tertiary-light: var(--md-ref-palette-tertiary40);
119
177
  --md-sys-color-on-tertiary-light: var(--md-ref-palette-tertiary100);
120
178
  --md-sys-color-tertiary-container-light: var(--md-ref-palette-tertiary90);
121
179
  --md-sys-color-on-tertiary-container-light: var(--md-ref-palette-tertiary10);
180
+ --md-sys-color-tertiary-fixed-light: var(--md-ref-palette-tertiary90);
181
+ --md-sys-color-tertiary-fixed-dim-light: var(--md-ref-palette-tertiary80);
182
+ --md-sys-color-on-tertiary-fixed-light: var(--md-ref-palette-tertiary10);
183
+ --md-sys-color-on-tertiary-fixed-variant-light: var(--md-ref-palette-tertiary30);
122
184
  --md-sys-color-error-light: var(--md-ref-palette-error40);
123
185
  --md-sys-color-on-error-light: var(--md-ref-palette-error100);
124
186
  --md-sys-color-error-container-light: var(--md-ref-palette-error90);
125
187
  --md-sys-color-on-error-container-light: var(--md-ref-palette-error10);
126
- --md-sys-color-background-light: var(--md-ref-palette-neutral99);
127
- --md-sys-color-on-background-light: var(--md-ref-palette-neutral10);
128
- --md-sys-color-surface-light: var(--md-ref-palette-neutral99);
188
+ --md-sys-color-surface-light: var(--md-ref-palette-neutral98);
129
189
  --md-sys-color-on-surface-light: var(--md-ref-palette-neutral10);
130
- --md-sys-color-surface-variant-light: var(--md-ref-palette-neutral-variant90);
131
190
  --md-sys-color-on-surface-variant-light: var(--md-ref-palette-neutral-variant30);
191
+ --md-sys-color-surface-dim-light: var(--md-ref-palette-neutral87);
192
+ --md-sys-color-surface-bright-light: var(--md-ref-palette-neutral98);
193
+ --md-sys-color-surface-container-lowest-light: var(--md-ref-palette-neutral100);
194
+ --md-sys-color-surface-container-low-light: var(--md-ref-palette-neutral96);
195
+ --md-sys-color-surface-container-light: var(--md-ref-palette-neutral94);
196
+ --md-sys-color-surface-container-high-light: var(--md-ref-palette-neutral92);
197
+ --md-sys-color-surface-container-highest-light: var(--md-ref-palette-neutral90);
132
198
  --md-sys-color-outline-light: var(--md-ref-palette-neutral-variant50);
133
199
  --md-sys-color-outline-variant-light: var(--md-ref-palette-neutral-variant80);
134
200
  --md-sys-color-inverse-surface-light: var(--md-ref-palette-neutral20);
135
201
  --md-sys-color-inverse-on-surface-light: var(--md-ref-palette-neutral95);
136
202
  --md-sys-color-inverse-primary-light: var(--md-ref-palette-primary80);
137
- --md-sys-color-surface-tint-light: var(--md-ref-palette-primary40);
138
- --md-sys-color-shadow-light: var(--md-ref-palette-neutral0);
139
203
  --md-sys-color-scrim-light: var(--md-ref-palette-neutral0);
204
+ --md-sys-color-shadow-light: var(--md-ref-palette-neutral0);
205
+ --md-sys-color-background-light: var(--md-ref-palette-neutral98);
206
+ --md-sys-color-on-background-light: var(--md-ref-palette-neutral10);
207
+ --md-sys-color-surface-variant-light: var(--md-ref-palette-neutral-variant90);
208
+ --md-sys-color-surface-tint-light: var(--md-ref-palette-primary40);
140
209
  /* dark scheme */
141
210
  --md-sys-color-primary-dark: var(--md-ref-palette-primary80);
142
211
  --md-sys-color-on-primary-dark: var(--md-ref-palette-primary20);
143
212
  --md-sys-color-primary-container-dark: var(--md-ref-palette-primary30);
144
213
  --md-sys-color-on-primary-container-dark: var(--md-ref-palette-primary90);
214
+ --md-sys-color-primary-fixed-dark: var(--md-ref-palette-primary90);
215
+ --md-sys-color-primary-fixed-dim-dark: var(--md-ref-palette-primary80);
216
+ --md-sys-color-on-primary-fixed-dark: var(--md-ref-palette-primary10);
217
+ --md-sys-color-on-primary-fixed-variant-dark: var(--md-ref-palette-primary30);
145
218
  --md-sys-color-secondary-dark: var(--md-ref-palette-secondary80);
146
219
  --md-sys-color-on-secondary-dark: var(--md-ref-palette-secondary20);
147
220
  --md-sys-color-secondary-container-dark: var(--md-ref-palette-secondary30);
148
221
  --md-sys-color-on-secondary-container-dark: var(--md-ref-palette-secondary90);
222
+ --md-sys-color-secondary-fixed-dark: var(--md-ref-palette-secondary90);
223
+ --md-sys-color-secondary-fixed-dim-dark: var(--md-ref-palette-secondary80);
224
+ --md-sys-color-on-secondary-fixed-dark: var(--md-ref-palette-secondary10);
225
+ --md-sys-color-on-secondary-fixed-variant-dark: var(--md-ref-palette-secondary30);
149
226
  --md-sys-color-tertiary-dark: var(--md-ref-palette-tertiary80);
150
227
  --md-sys-color-on-tertiary-dark: var(--md-ref-palette-tertiary20);
151
228
  --md-sys-color-tertiary-container-dark: var(--md-ref-palette-tertiary30);
152
229
  --md-sys-color-on-tertiary-container-dark: var(--md-ref-palette-tertiary90);
230
+ --md-sys-color-tertiary-fixed-dark: var(--md-ref-palette-tertiary90);
231
+ --md-sys-color-tertiary-fixed-dim-dark: var(--md-ref-palette-tertiary80);
232
+ --md-sys-color-on-tertiary-fixed-dark: var(--md-ref-palette-tertiary10);
233
+ --md-sys-color-on-tertiary-fixed-variant-dark: var(--md-ref-palette-tertiary30);
153
234
  --md-sys-color-error-dark: var(--md-ref-palette-error80);
154
235
  --md-sys-color-on-error-dark: var(--md-ref-palette-error20);
155
236
  --md-sys-color-error-container-dark: var(--md-ref-palette-error30);
156
237
  --md-sys-color-on-error-container-dark: var(--md-ref-palette-error90);
157
- --md-sys-color-background-dark: var(--md-ref-palette-neutral10);
158
- --md-sys-color-on-background-dark: var(--md-ref-palette-neutral90);
159
- --md-sys-color-surface-dark: var(--md-ref-palette-neutral10);
238
+ --md-sys-color-surface-dark: var(--md-ref-palette-neutral6);
160
239
  --md-sys-color-on-surface-dark: var(--md-ref-palette-neutral90);
161
- --md-sys-color-surface-variant-dark: var(--md-ref-palette-neutral-variant30);
162
240
  --md-sys-color-on-surface-variant-dark: var(--md-ref-palette-neutral-variant80);
241
+ --md-sys-color-surface-dim-dark: var(--md-ref-palette-neutral6);
242
+ --md-sys-color-surface-bright-dark: var(--md-ref-palette-neutral24);
243
+ --md-sys-color-surface-container-lowest-dark: var(--md-ref-palette-neutral4);
244
+ --md-sys-color-surface-container-low-dark: var(--md-ref-palette-neutral10);
245
+ --md-sys-color-surface-container-dark: var(--md-ref-palette-neutral12);
246
+ --md-sys-color-surface-container-high-dark: var(--md-ref-palette-neutral17);
247
+ --md-sys-color-surface-container-highest-dark: var(--md-ref-palette-neutral22);
163
248
  --md-sys-color-outline-dark: var(--md-ref-palette-neutral-variant60);
164
249
  --md-sys-color-outline-variant-dark: var(--md-ref-palette-neutral-variant30);
165
250
  --md-sys-color-inverse-surface-dark: var(--md-ref-palette-neutral90);
166
251
  --md-sys-color-inverse-on-surface-dark: var(--md-ref-palette-neutral10);
167
252
  --md-sys-color-inverse-primary-dark: var(--md-ref-palette-primary40);
168
- --md-sys-color-surface-tint-dark: var(--md-ref-palette-primary80);
169
- --md-sys-color-shadow-dark: var(--md-ref-palette-neutral0);
170
253
  --md-sys-color-scrim-dark: var(--md-ref-palette-neutral0);
254
+ --md-sys-color-shadow-dark: var(--md-ref-palette-neutral0);
255
+ --md-sys-color-background-dark: var(--md-ref-palette-neutral6);
256
+ --md-sys-color-on-background-dark: var(--md-ref-palette-neutral90);
257
+ --md-sys-color-surface-variant-dark: var(--md-ref-palette-neutral-variant30);
258
+ --md-sys-color-surface-tint-dark: var(--md-ref-palette-primary80);
171
259
  /* display - large */
172
260
  --md-sys-typescale-display-large-font-family-name: Roboto;
173
261
  --md-sys-typescale-display-large-font-family-style: Regular;
@@ -292,6 +380,22 @@
292
380
  var(--md-sys-color-on-primary-container-light),
293
381
  var(--md-sys-color-on-primary-container-dark)
294
382
  );
383
+ --md-sys-color-primary-fixed: light-dark(
384
+ var(--md-sys-color-primary-fixed-light),
385
+ var(--md-sys-color-primary-fixed-dark)
386
+ );
387
+ --md-sys-color-primary-fixed-dim: light-dark(
388
+ var(--md-sys-color-primary-fixed-dim-light),
389
+ var(--md-sys-color-primary-fixed-dim-dark)
390
+ );
391
+ --md-sys-color-on-primary-fixed: light-dark(
392
+ var(--md-sys-color-on-primary-fixed-light),
393
+ var(--md-sys-color-on-primary-fixed-dark)
394
+ );
395
+ --md-sys-color-on-primary-fixed-variant: light-dark(
396
+ var(--md-sys-color-on-primary-fixed-variant-light),
397
+ var(--md-sys-color-on-primary-fixed-variant-dark)
398
+ );
295
399
  --md-sys-color-secondary: light-dark(
296
400
  var(--md-sys-color-secondary-light),
297
401
  var(--md-sys-color-secondary-dark)
@@ -308,6 +412,22 @@
308
412
  var(--md-sys-color-on-secondary-container-light),
309
413
  var(--md-sys-color-on-secondary-container-dark)
310
414
  );
415
+ --md-sys-color-secondary-fixed: light-dark(
416
+ var(--md-sys-color-secondary-fixed-light),
417
+ var(--md-sys-color-secondary-fixed-dark)
418
+ );
419
+ --md-sys-color-secondary-fixed-dim: light-dark(
420
+ var(--md-sys-color-secondary-fixed-dim-light),
421
+ var(--md-sys-color-secondary-fixed-dim-dark)
422
+ );
423
+ --md-sys-color-on-secondary-fixed: light-dark(
424
+ var(--md-sys-color-on-secondary-fixed-light),
425
+ var(--md-sys-color-on-secondary-fixed-dark)
426
+ );
427
+ --md-sys-color-on-secondary-fixed-variant: light-dark(
428
+ var(--md-sys-color-on-secondary-fixed-variant-light),
429
+ var(--md-sys-color-on-secondary-fixed-variant-dark)
430
+ );
311
431
  --md-sys-color-tertiary: light-dark(
312
432
  var(--md-sys-color-tertiary-light),
313
433
  var(--md-sys-color-tertiary-dark)
@@ -324,6 +444,22 @@
324
444
  var(--md-sys-color-on-tertiary-container-light),
325
445
  var(--md-sys-color-on-tertiary-container-dark)
326
446
  );
447
+ --md-sys-color-tertiary-fixed: light-dark(
448
+ var(--md-sys-color-tertiary-fixed-light),
449
+ var(--md-sys-color-tertiary-fixed-dark)
450
+ );
451
+ --md-sys-color-tertiary-fixed-dim: light-dark(
452
+ var(--md-sys-color-tertiary-fixed-dim-light),
453
+ var(--md-sys-color-tertiary-fixed-dim-dark)
454
+ );
455
+ --md-sys-color-on-tertiary-fixed: light-dark(
456
+ var(--md-sys-color-on-tertiary-fixed-light),
457
+ var(--md-sys-color-on-tertiary-fixed-dark)
458
+ );
459
+ --md-sys-color-on-tertiary-fixed-variant: light-dark(
460
+ var(--md-sys-color-on-tertiary-fixed-variant-light),
461
+ var(--md-sys-color-on-tertiary-fixed-variant-dark)
462
+ );
327
463
  --md-sys-color-error: light-dark(
328
464
  var(--md-sys-color-error-light),
329
465
  var(--md-sys-color-error-dark)
@@ -340,22 +476,6 @@
340
476
  var(--md-sys-color-on-error-container-light),
341
477
  var(--md-sys-color-on-error-container-dark)
342
478
  );
343
- --md-sys-color-outline: light-dark(
344
- var(--md-sys-color-outline-light),
345
- var(--md-sys-color-outline-dark)
346
- );
347
- --md-sys-color-outline-variant: light-dark(
348
- var(--md-sys-color-outline-variant-light),
349
- var(--md-sys-color-outline-variant-dark)
350
- );
351
- --md-sys-color-background: light-dark(
352
- var(--md-sys-color-background-light),
353
- var(--md-sys-color-background-dark)
354
- );
355
- --md-sys-color-on-background: light-dark(
356
- var(--md-sys-color-on-background-light),
357
- var(--md-sys-color-on-background-dark)
358
- );
359
479
  --md-sys-color-surface: light-dark(
360
480
  var(--md-sys-color-surface-light),
361
481
  var(--md-sys-color-surface-dark)
@@ -364,14 +484,46 @@
364
484
  var(--md-sys-color-on-surface-light),
365
485
  var(--md-sys-color-on-surface-dark)
366
486
  );
367
- --md-sys-color-surface-variant: light-dark(
368
- var(--md-sys-color-surface-variant-light),
369
- var(--md-sys-color-surface-variant-dark)
370
- );
371
487
  --md-sys-color-on-surface-variant: light-dark(
372
488
  var(--md-sys-color-on-surface-variant-light),
373
489
  var(--md-sys-color-on-surface-variant-dark)
374
490
  );
491
+ --md-sys-color-surface-dim: light-dark(
492
+ var(--md-sys-color-surface-dim-light),
493
+ var(--md-sys-color-surface-dim-dark)
494
+ );
495
+ --md-sys-color-surface-bright: light-dark(
496
+ var(--md-sys-color-surface-bright-light),
497
+ var(--md-sys-color-surface-bright-dark)
498
+ );
499
+ --md-sys-color-surface-container-lowest: light-dark(
500
+ var(--md-sys-color-surface-container-lowest-light),
501
+ var(--md-sys-color-surface-container-lowest-dark)
502
+ );
503
+ --md-sys-color-surface-container-low: light-dark(
504
+ var(--md-sys-color-surface-container-low-light),
505
+ var(--md-sys-color-surface-container-low-dark)
506
+ );
507
+ --md-sys-color-surface-container: light-dark(
508
+ var(--md-sys-color-surface-container-light),
509
+ var(--md-sys-color-surface-container-dark)
510
+ );
511
+ --md-sys-color-surface-container-high: light-dark(
512
+ var(--md-sys-color-surface-container-high-light),
513
+ var(--md-sys-color-surface-container-high-dark)
514
+ );
515
+ --md-sys-color-surface-container-highest: light-dark(
516
+ var(--md-sys-color-surface-container-highest-light),
517
+ var(--md-sys-color-surface-container-highest-dark)
518
+ );
519
+ --md-sys-color-outline: light-dark(
520
+ var(--md-sys-color-outline-light),
521
+ var(--md-sys-color-outline-dark)
522
+ );
523
+ --md-sys-color-outline-variant: light-dark(
524
+ var(--md-sys-color-outline-variant-light),
525
+ var(--md-sys-color-outline-variant-dark)
526
+ );
375
527
  --md-sys-color-inverse-surface: light-dark(
376
528
  var(--md-sys-color-inverse-surface-light),
377
529
  var(--md-sys-color-inverse-surface-dark)
@@ -384,18 +536,30 @@
384
536
  var(--md-sys-color-inverse-primary-light),
385
537
  var(--md-sys-color-inverse-primary-dark)
386
538
  );
539
+ --md-sys-color-scrim: light-dark(
540
+ var(--md-sys-color-scrim-light),
541
+ var(--md-sys-color-scrim-dark)
542
+ );
387
543
  --md-sys-color-shadow: light-dark(
388
544
  var(--md-sys-color-shadow-light),
389
545
  var(--md-sys-color-shadow-dark)
390
546
  );
547
+ --md-sys-color-background: light-dark(
548
+ var(--md-sys-color-background-light),
549
+ var(--md-sys-color-background-dark)
550
+ );
551
+ --md-sys-color-on-background: light-dark(
552
+ var(--md-sys-color-on-background-light),
553
+ var(--md-sys-color-on-background-dark)
554
+ );
555
+ --md-sys-color-surface-variant: light-dark(
556
+ var(--md-sys-color-surface-variant-light),
557
+ var(--md-sys-color-surface-variant-dark)
558
+ );
391
559
  --md-sys-color-surface-tint: light-dark(
392
560
  var(--md-sys-color-surface-tint-light),
393
561
  var(--md-sys-color-surface-tint-dark)
394
562
  );
395
- --md-sys-color-scrim: light-dark(
396
- var(--md-sys-color-scrim-light),
397
- var(--md-sys-color-scrim-dark)
398
- );
399
563
  }
400
564
  /* ===================================================================== Themes */
401
565
  :root[theme=light] {
@@ -404,6 +568,9 @@
404
568
  :root[theme=dark] {
405
569
  color-scheme: dark;
406
570
  }
571
+ :root[theme=auto] {
572
+ color-scheme: light dark;
573
+ }
407
574
  }
408
575
  @layer base {
409
576
  /*! Based on normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
@@ -596,7 +763,7 @@
596
763
  box-sizing: inherit;
597
764
  }
598
765
  body {
599
- background-color: var(--md-sys-color-background);
766
+ background-color: var(--md-sys-color-surface);
600
767
  color: var(--md-sys-color-on-background);
601
768
  }
602
769
  button,
@@ -841,26 +1008,45 @@
841
1008
  font-size: clamp(1.2rem, 0.912rem + 1.12vw, 1.68rem);
842
1009
  }
843
1010
  .container {
1011
+ --md-comp-container-max-width: 1280px;
1012
+ --md-comp-container-width: 90%;
844
1013
  margin: 0 auto;
845
- max-width: 1280px;
846
- width: 90%;
1014
+ width: var(--md-comp-container-width);
1015
+ max-width: var(--md-comp-container-max-width);
847
1016
  }
848
1017
  @media (width >= 601px) {
849
1018
  .container {
850
- width: 85%;
1019
+ --md-comp-container-width: 85%;
851
1020
  }
852
1021
  }
853
1022
  @media (width >= 993px) {
854
1023
  .container {
855
- width: 70%;
1024
+ --md-comp-container-width: 70%;
1025
+ }
1026
+ }
1027
+ @media (width >= 1601px) {
1028
+ .container {
1029
+ --md-comp-container-width: 75%;
1030
+ --md-comp-container-max-width: 1920px;
856
1031
  }
857
1032
  }
1033
+ .container.wide {
1034
+ --md-comp-container-max-width: 2400px;
1035
+ }
1036
+ .container.max {
1037
+ --md-comp-container-max-width: none;
1038
+ }
858
1039
  .section {
859
1040
  padding: 1rem 0;
860
1041
  }
861
1042
  body {
862
1043
  --gap-size: 1.5rem;
863
1044
  }
1045
+ @media (width >= 1601px) {
1046
+ body {
1047
+ --gap-size: 2rem;
1048
+ }
1049
+ }
864
1050
  .row {
865
1051
  display: grid;
866
1052
  grid-template-columns: repeat(12, 1fr);
@@ -903,10 +1089,10 @@
903
1089
  grid-column: auto/span 12;
904
1090
  }
905
1091
  .row .offset-s1 {
906
- grid-column-start: 3;
1092
+ grid-column-start: 2;
907
1093
  }
908
1094
  .row .offset-s2 {
909
- grid-column-start: 2;
1095
+ grid-column-start: 3;
910
1096
  }
911
1097
  .row .offset-s3 {
912
1098
  grid-column-start: 4;
@@ -1148,6 +1334,77 @@
1148
1334
  grid-column-start: 12;
1149
1335
  }
1150
1336
  }
1337
+ @media (width >= 1601px) {
1338
+ .row .xxl1 {
1339
+ grid-column: auto/span 1;
1340
+ }
1341
+ .row .xxl2 {
1342
+ grid-column: auto/span 2;
1343
+ }
1344
+ .row .xxl3 {
1345
+ grid-column: auto/span 3;
1346
+ }
1347
+ .row .xxl4 {
1348
+ grid-column: auto/span 4;
1349
+ }
1350
+ .row .xxl5 {
1351
+ grid-column: auto/span 5;
1352
+ }
1353
+ .row .xxl6 {
1354
+ grid-column: auto/span 6;
1355
+ }
1356
+ .row .xxl7 {
1357
+ grid-column: auto/span 7;
1358
+ }
1359
+ .row .xxl8 {
1360
+ grid-column: auto/span 8;
1361
+ }
1362
+ .row .xxl9 {
1363
+ grid-column: auto/span 9;
1364
+ }
1365
+ .row .xxl10 {
1366
+ grid-column: auto/span 10;
1367
+ }
1368
+ .row .xxl11 {
1369
+ grid-column: auto/span 11;
1370
+ }
1371
+ .row .xxl12 {
1372
+ grid-column: auto/span 12;
1373
+ }
1374
+ .row .offset-xxl1 {
1375
+ grid-column-start: 2;
1376
+ }
1377
+ .row .offset-xxl2 {
1378
+ grid-column-start: 3;
1379
+ }
1380
+ .row .offset-xxl3 {
1381
+ grid-column-start: 4;
1382
+ }
1383
+ .row .offset-xxl4 {
1384
+ grid-column-start: 5;
1385
+ }
1386
+ .row .offset-xxl5 {
1387
+ grid-column-start: 6;
1388
+ }
1389
+ .row .offset-xxl6 {
1390
+ grid-column-start: 7;
1391
+ }
1392
+ .row .offset-xxl7 {
1393
+ grid-column-start: 8;
1394
+ }
1395
+ .row .offset-xxl8 {
1396
+ grid-column-start: 9;
1397
+ }
1398
+ .row .offset-xxl9 {
1399
+ grid-column-start: 10;
1400
+ }
1401
+ .row .offset-xxl10 {
1402
+ grid-column-start: 11;
1403
+ }
1404
+ .row .offset-xxl11 {
1405
+ grid-column-start: 12;
1406
+ }
1407
+ }
1151
1408
  .g-0 {
1152
1409
  gap: 0;
1153
1410
  }
@@ -1274,16 +1531,16 @@
1274
1531
  }
1275
1532
  :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).elevated {
1276
1533
  color: var(--md-sys-color-primary);
1277
- background-color: var(--md-sys-color-surface);
1534
+ background-color: var(--md-sys-color-surface-container-low);
1278
1535
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
1279
1536
  }
1280
1537
  :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).elevated:hover {
1281
1538
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
1282
- background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, var(--md-sys-color-surface));
1539
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, var(--md-sys-color-surface-container-low));
1283
1540
  }
1284
1541
  :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).elevated:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).elevated:focus {
1285
1542
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
1286
- background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, var(--md-sys-color-surface));
1543
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, var(--md-sys-color-surface-container-low));
1287
1544
  }
1288
1545
  :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).elevated:focus-visible {
1289
1546
  outline: 3px solid var(--md-sys-color-secondary);
@@ -1655,73 +1912,99 @@
1655
1912
  --md-comp-fab-stagger: 0s;
1656
1913
  }
1657
1914
  }
1658
- .collection {
1659
- --md-comp-collection-shape: 12px;
1660
- --md-comp-collection-container-color: var(--md-sys-color-surface);
1661
- --md-comp-collection-outline-color: var(--md-sys-color-outline-variant);
1662
- --md-comp-collection-item-height: 56px;
1663
- --md-comp-collection-item-padding: 16px;
1664
- --md-comp-collection-avatar-size: 40px;
1915
+ .list {
1916
+ --md-comp-list-item-height: 56px;
1917
+ --md-comp-list-item-two-line-height: 72px;
1918
+ --md-comp-list-item-padding: 16px;
1919
+ --md-comp-list-item-shape: 100px;
1920
+ --md-comp-list-item-container-color: transparent;
1921
+ --md-comp-list-selected-container-color: var(--md-sys-color-secondary-container);
1922
+ --md-comp-list-selected-color: var(--md-sys-color-on-secondary-container);
1923
+ --md-comp-list-gap: 16px;
1924
+ --md-comp-list-leading-icon-size: 24px;
1925
+ --md-comp-list-trailing-icon-size: 24px;
1926
+ --md-comp-list-avatar-size: 40px;
1927
+ --md-comp-list-image-size: 56px;
1928
+ --md-comp-list-segmented-gap: 2px;
1665
1929
  box-sizing: border-box;
1666
- padding: 0;
1667
1930
  margin: 0.5rem 0 1rem;
1668
- overflow: hidden;
1931
+ padding: 0;
1669
1932
  list-style: none;
1670
- border: 1px solid var(--md-comp-collection-outline-color);
1671
- border-radius: var(--md-comp-collection-shape);
1672
- background-color: var(--md-comp-collection-container-color);
1673
1933
  color: var(--md-sys-color-on-surface);
1674
1934
  }
1675
- .collection > * + * {
1676
- border-top: 1px solid var(--md-comp-collection-outline-color);
1935
+ .list > li {
1936
+ box-sizing: border-box;
1937
+ margin: 0;
1938
+ border-radius: var(--md-comp-list-item-shape);
1939
+ background-color: var(--md-comp-list-item-container-color);
1940
+ color: inherit;
1941
+ transition: background-color 0.2s ease-out;
1677
1942
  }
1678
- .collection > :is(li, a) {
1943
+ .list > li:not(:has(> :is(a, label):only-child)),
1944
+ .list > li > :is(a, label):only-child {
1679
1945
  display: grid;
1680
- grid-template-columns: auto 1fr auto;
1946
+ grid-template-columns: auto minmax(0, 1fr) auto;
1681
1947
  grid-template-rows: auto auto;
1682
1948
  align-items: center;
1683
- column-gap: 16px;
1949
+ column-gap: var(--md-comp-list-gap);
1684
1950
  box-sizing: border-box;
1685
- min-height: var(--md-comp-collection-item-height);
1686
- margin: 0;
1687
- padding: 8px var(--md-comp-collection-item-padding);
1688
- background-color: transparent;
1689
- color: inherit;
1690
- text-decoration: none;
1691
- transition: background-color 0.2s ease-out;
1951
+ min-height: var(--md-comp-list-item-height);
1952
+ padding: 8px var(--md-comp-list-item-padding);
1953
+ font-family: var(--md-sys-typescale-body-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
1954
+ font-size: var(--md-sys-typescale-body-large-font-size);
1955
+ font-weight: var(--md-sys-typescale-body-large-font-weight);
1956
+ line-height: var(--md-sys-typescale-body-large-line-height);
1957
+ letter-spacing: var(--md-sys-typescale-body-large-letter-spacing);
1692
1958
  }
1693
- .collection > :is(li, a) > :is(img, i).circle {
1959
+ .list > li:not(:has(> :is(a, label):only-child)) > :is(i, img, input):first-child,
1960
+ .list > li > :is(a, label):only-child > :is(i, img, input):first-child {
1694
1961
  grid-column: 1;
1695
1962
  grid-row: 1/-1;
1696
- box-sizing: border-box;
1697
- width: var(--md-comp-collection-avatar-size);
1698
- height: var(--md-comp-collection-avatar-size);
1699
- overflow: hidden;
1963
+ align-self: center;
1964
+ flex-shrink: 0;
1965
+ }
1966
+ .list > li:not(:has(> :is(a, label):only-child)) > i:first-child:not(.circle),
1967
+ .list > li > :is(a, label):only-child > i:first-child:not(.circle) {
1968
+ font-size: var(--md-comp-list-leading-icon-size);
1969
+ width: var(--md-comp-list-leading-icon-size);
1970
+ height: var(--md-comp-list-leading-icon-size);
1971
+ color: var(--md-sys-color-on-surface-variant);
1972
+ }
1973
+ .list > li:not(:has(> :is(a, label):only-child)) > img:first-child,
1974
+ .list > li > :is(a, label):only-child > img:first-child {
1975
+ width: var(--md-comp-list-image-size);
1976
+ height: var(--md-comp-list-image-size);
1977
+ object-fit: cover;
1978
+ border-radius: 8px;
1979
+ }
1980
+ .list > li:not(:has(> :is(a, label):only-child)) > :is(img, i).circle,
1981
+ .list > li > :is(a, label):only-child > :is(img, i).circle {
1982
+ width: var(--md-comp-list-avatar-size);
1983
+ height: var(--md-comp-list-avatar-size);
1984
+ border-radius: 50%;
1700
1985
  object-fit: cover;
1701
1986
  }
1702
- .collection > :is(li, a) > i.circle {
1987
+ .list > li:not(:has(> :is(a, label):only-child)) > i.circle,
1988
+ .list > li > :is(a, label):only-child > i.circle {
1703
1989
  display: inline-flex;
1704
1990
  align-items: center;
1705
1991
  justify-content: center;
1706
1992
  font-size: 20px;
1707
1993
  line-height: 1;
1708
- color: var(--md-sys-color-on-primary-container);
1709
1994
  background-color: var(--md-sys-color-primary-container);
1710
- text-align: center;
1995
+ color: var(--md-sys-color-on-primary-container);
1711
1996
  }
1712
- .collection > :is(li, a) > .title {
1997
+ .list > li:not(:has(> :is(a, label):only-child)) > div:not(.meta),
1998
+ .list > li:not(:has(> :is(a, label):only-child)) > span,
1999
+ .list > li > :is(a, label):only-child > div:not(.meta),
2000
+ .list > li > :is(a, label):only-child > span {
1713
2001
  grid-column: 2;
1714
- grid-row: 1;
1715
2002
  min-width: 0;
1716
- font-family: var(--md-sys-typescale-title-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
1717
- font-size: var(--md-sys-typescale-title-medium-font-size);
1718
- font-weight: var(--md-sys-typescale-title-medium-font-weight);
1719
- line-height: var(--md-sys-typescale-title-medium-line-height);
1720
- letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing);
1721
2003
  }
1722
- .collection > :is(li, a) > p {
2004
+ .list > li:not(:has(> :is(a, label):only-child)) > p,
2005
+ .list > li > :is(a, label):only-child > p {
1723
2006
  grid-column: 2;
1724
- grid-row: 1;
2007
+ grid-row: 2;
1725
2008
  min-width: 0;
1726
2009
  margin: 0;
1727
2010
  color: var(--md-sys-color-on-surface-variant);
@@ -1731,144 +2014,247 @@
1731
2014
  line-height: var(--md-sys-typescale-body-medium-line-height);
1732
2015
  letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
1733
2016
  }
1734
- .collection > :is(li, a) > .title ~ p {
1735
- grid-row: 2;
1736
- }
1737
- .collection > :is(li, a) > :is(a:last-child, .badge) {
2017
+ .list > li:not(:has(> :is(a, label):only-child)) > :is(i, kbd, button, time, .meta, .badge, .button, a):last-child:not(:first-child),
2018
+ .list > li > :is(a, label):only-child > :is(i, kbd, button, time, .meta, .badge, .button, a):last-child:not(:first-child) {
1738
2019
  grid-column: 3;
1739
2020
  grid-row: 1/-1;
1740
- align-self: center;
1741
2021
  justify-self: end;
2022
+ align-self: center;
1742
2023
  }
1743
- .collection > :is(li, a) > a:not(.badge) {
1744
- grid-column: 1/-1;
1745
- display: flex;
2024
+ .list > li:not(:has(> :is(a, label):only-child)) > i:last-child:not(:first-child),
2025
+ .list > li > :is(a, label):only-child > i:last-child:not(:first-child) {
2026
+ font-size: var(--md-comp-list-trailing-icon-size);
2027
+ width: var(--md-comp-list-trailing-icon-size);
2028
+ height: var(--md-comp-list-trailing-icon-size);
2029
+ color: var(--md-sys-color-on-surface-variant);
2030
+ }
2031
+ .list > li:not(:has(> :is(a, label):only-child)) > :is(kbd, time, .meta):last-child,
2032
+ .list > li > :is(a, label):only-child > :is(kbd, time, .meta):last-child {
2033
+ color: var(--md-sys-color-on-surface-variant);
2034
+ font-family: var(--md-sys-typescale-label-small-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
2035
+ font-size: var(--md-sys-typescale-label-small-font-size);
2036
+ font-weight: var(--md-sys-typescale-label-small-font-weight);
2037
+ line-height: var(--md-sys-typescale-label-small-line-height);
2038
+ letter-spacing: var(--md-sys-typescale-label-small-letter-spacing);
2039
+ }
2040
+ .list > li:not(:has(> :is(a, label):only-child)) > kbd:last-child,
2041
+ .list > li > :is(a, label):only-child > kbd:last-child {
2042
+ font-family: inherit;
2043
+ border: 0;
2044
+ background: none;
2045
+ padding: 0;
2046
+ }
2047
+ .list > li:not(:has(> :is(a, label):only-child)) > button:last-child:not(:first-child):not(.button),
2048
+ .list > li:not(:has(> :is(a, label):only-child)) > a:last-child:not(:first-child):not(.button):has(> i:only-child),
2049
+ .list > li > :is(a, label):only-child > button:last-child:not(:first-child):not(.button),
2050
+ .list > li > :is(a, label):only-child > a:last-child:not(:first-child):not(.button):has(> i:only-child) {
2051
+ display: inline-flex;
1746
2052
  align-items: center;
1747
- gap: 16px;
1748
- min-width: 0;
2053
+ justify-content: center;
2054
+ padding: 0;
2055
+ border: 0;
2056
+ background: transparent;
1749
2057
  color: inherit;
1750
- text-decoration: none;
2058
+ cursor: pointer;
2059
+ appearance: none;
1751
2060
  }
1752
- .collection > :is(li, a) > a:not(.badge) > .badge {
1753
- margin-inline-start: auto;
2061
+ .list > li:not(:has(> :is(a, label):only-child)) > button:last-child:not(:first-child):not(.button):focus-visible,
2062
+ .list > li:not(:has(> :is(a, label):only-child)) > a:last-child:not(:first-child):not(.button):has(> i:only-child):focus-visible,
2063
+ .list > li > :is(a, label):only-child > button:last-child:not(:first-child):not(.button):focus-visible,
2064
+ .list > li > :is(a, label):only-child > a:last-child:not(:first-child):not(.button):has(> i:only-child):focus-visible {
2065
+ outline: 3px solid var(--md-sys-color-secondary);
2066
+ outline-offset: 2px;
1754
2067
  }
1755
- .collection > :is(li, a):has(> .circle) {
1756
- min-height: 72px;
2068
+ .list > li:not(:has(> :is(a, label):only-child)):has(> p), .list > li:not(:has(> :is(a, label):only-child)):has(> div:not(.meta) > p),
2069
+ .list > li > :is(a, label):only-child:has(> p),
2070
+ .list > li > :is(a, label):only-child:has(> div:not(.meta) > p) {
2071
+ min-height: var(--md-comp-list-item-two-line-height);
1757
2072
  }
1758
- .collection > li:has(> :is(h1, h2, h3, h4, h5, h6)) {
1759
- min-height: 0;
1760
- padding-block: 12px;
2073
+ .list > li:not(:has(> :is(a, label):only-child)):has(> img:first-child:not(.circle)),
2074
+ .list > li > :is(a, label):only-child:has(> img:first-child:not(.circle)) {
2075
+ min-height: calc(var(--md-comp-list-image-size) + 16px);
1761
2076
  }
1762
- .collection > li:has(> :is(h1, h2, h3, h4, h5, h6)) > :is(h1, h2, h3, h4, h5, h6) {
1763
- grid-column: 1/-1;
1764
- margin: 0;
1765
- font-family: var(--md-sys-typescale-title-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
1766
- font-size: var(--md-sys-typescale-title-medium-font-size);
1767
- font-weight: var(--md-sys-typescale-title-medium-font-weight);
1768
- line-height: var(--md-sys-typescale-title-medium-line-height);
1769
- letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing);
2077
+ .list > li > :is(a, label):only-child {
2078
+ color: inherit;
2079
+ text-decoration: none;
2080
+ border-radius: inherit;
2081
+ cursor: pointer;
1770
2082
  }
1771
- .collection > a:focus-visible,
1772
- .collection > li > a:focus-visible {
2083
+ .list > li > :is(a, label):only-child:focus-visible {
1773
2084
  outline: 3px solid var(--md-sys-color-secondary);
1774
2085
  outline-offset: 2px;
1775
2086
  }
1776
- .collection > a:hover,
1777
- .collection > li:has(> a:hover) {
1778
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
1779
- }
1780
- .collection > :is(.active, [aria-current=page]),
1781
- .collection > li:has(> [aria-current=page]) {
1782
- background-color: var(--md-sys-color-secondary-container);
1783
- color: var(--md-sys-color-on-secondary-container);
1784
- }
1785
- .collection > :is(.active, [aria-current=page]) > a:last-child,
1786
- .collection > li:has(> [aria-current=page]) > a:last-child {
1787
- color: var(--md-sys-color-on-secondary-container);
2087
+ .list > li:not(.active):not([aria-selected=true]):not([aria-current]):not(:has(> [aria-current])):not(:has([aria-selected=true])):not(:has(:checked)):hover {
2088
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, var(--md-comp-list-item-container-color));
2089
+ }
2090
+ .list > li.active,
2091
+ .list > li[aria-selected=true],
2092
+ .list > li[aria-current],
2093
+ .list > li:has(> [aria-current]),
2094
+ .list > li:has([aria-selected=true]),
2095
+ .list > li:has(:checked) {
2096
+ background-color: var(--md-comp-list-selected-container-color);
2097
+ color: var(--md-comp-list-selected-color);
2098
+ }
2099
+ .list > li.active i,
2100
+ .list > li.active p,
2101
+ .list > li.active kbd,
2102
+ .list > li.active time,
2103
+ .list > li.active .meta,
2104
+ .list > li[aria-selected=true] i,
2105
+ .list > li[aria-selected=true] p,
2106
+ .list > li[aria-selected=true] kbd,
2107
+ .list > li[aria-selected=true] time,
2108
+ .list > li[aria-selected=true] .meta,
2109
+ .list > li[aria-current] i,
2110
+ .list > li[aria-current] p,
2111
+ .list > li[aria-current] kbd,
2112
+ .list > li[aria-current] time,
2113
+ .list > li[aria-current] .meta,
2114
+ .list > li:has(> [aria-current]) i,
2115
+ .list > li:has(> [aria-current]) p,
2116
+ .list > li:has(> [aria-current]) kbd,
2117
+ .list > li:has(> [aria-current]) time,
2118
+ .list > li:has(> [aria-current]) .meta,
2119
+ .list > li:has([aria-selected=true]) i,
2120
+ .list > li:has([aria-selected=true]) p,
2121
+ .list > li:has([aria-selected=true]) kbd,
2122
+ .list > li:has([aria-selected=true]) time,
2123
+ .list > li:has([aria-selected=true]) .meta,
2124
+ .list > li:has(:checked) i,
2125
+ .list > li:has(:checked) p,
2126
+ .list > li:has(:checked) kbd,
2127
+ .list > li:has(:checked) time,
2128
+ .list > li:has(:checked) .meta {
2129
+ color: inherit;
1788
2130
  }
1789
- .collection > :is(.active, [aria-current=page]) span.badge:not(.new),
1790
- .collection > li:has(> [aria-current=page]) span.badge:not(.new) {
1791
- color: var(--md-sys-color-on-secondary-container);
2131
+ .list > li.active > i:first-child,
2132
+ .list > li.active > :is(a, label):only-child > i:first-child,
2133
+ .list > li[aria-selected=true] > i:first-child,
2134
+ .list > li[aria-selected=true] > :is(a, label):only-child > i:first-child,
2135
+ .list > li[aria-current] > i:first-child,
2136
+ .list > li[aria-current] > :is(a, label):only-child > i:first-child,
2137
+ .list > li:has(> [aria-current]) > i:first-child,
2138
+ .list > li:has(> [aria-current]) > :is(a, label):only-child > i:first-child,
2139
+ .list > li:has([aria-selected=true]) > i:first-child,
2140
+ .list > li:has([aria-selected=true]) > :is(a, label):only-child > i:first-child,
2141
+ .list > li:has(:checked) > i:first-child,
2142
+ .list > li:has(:checked) > :is(a, label):only-child > i:first-child {
2143
+ --md-icon-fill: 1;
1792
2144
  }
1793
- .collection > :is(.disabled, [aria-disabled=true]) {
2145
+ .list > li:has(> :is(h1, h2, h3, h4, h5, h6):only-child) {
2146
+ min-height: 0;
2147
+ padding: 16px var(--md-comp-list-item-padding) 8px;
2148
+ background: transparent;
1794
2149
  pointer-events: none;
1795
- color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
2150
+ color: var(--md-sys-color-on-surface-variant);
1796
2151
  }
1797
- .collection span.badge {
1798
- float: none;
1799
- margin-block: 0;
1800
- margin-inline-start: auto;
2152
+ .list > li:has(> :is(h1, h2, h3, h4, h5, h6):only-child) > :is(h1, h2, h3, h4, h5, h6) {
2153
+ margin: 0;
2154
+ font-family: var(--md-sys-typescale-title-small-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
2155
+ font-size: var(--md-sys-typescale-title-small-font-size);
2156
+ font-weight: var(--md-sys-typescale-title-small-font-weight);
2157
+ line-height: var(--md-sys-typescale-title-small-line-height);
2158
+ letter-spacing: var(--md-sys-typescale-title-small-letter-spacing);
1801
2159
  }
1802
- .collection.flush {
1803
- border: 0;
2160
+ .list > li.divider {
2161
+ height: 1px;
2162
+ min-height: 0;
2163
+ padding: 0;
2164
+ margin: 8px var(--md-comp-list-item-padding);
1804
2165
  border-radius: 0;
2166
+ background-color: var(--md-sys-color-outline-variant);
2167
+ pointer-events: none;
1805
2168
  }
1806
- .collapsible .collection {
1807
- margin: 0;
1808
- border: none;
1809
- border-radius: 0;
1810
- }
1811
- :root {
1812
- --bagde-height: 22px;
2169
+ .list > li.disabled,
2170
+ .list > li[aria-disabled=true] {
2171
+ pointer-events: none;
2172
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
1813
2173
  }
1814
- span.badge {
1815
- min-width: 3rem;
1816
- padding: 0 6px;
1817
- margin-left: 14px;
1818
- text-align: center;
1819
- font-size: 1rem;
1820
- line-height: var(--bagde-height);
1821
- height: var(--bagde-height);
1822
- color: var(--md-sys-color-on-surface-variant);
1823
- float: right;
2174
+ .list.segmented {
2175
+ --md-comp-list-item-container-color: color-mix(
2176
+ in oklab,
2177
+ var(--md-sys-color-on-surface) 8%,
2178
+ var(--md-sys-color-surface)
2179
+ );
2180
+ --md-comp-list-item-shape: 20px;
2181
+ display: flex;
2182
+ flex-direction: column;
2183
+ gap: var(--md-comp-list-segmented-gap);
2184
+ }
2185
+ .badge {
2186
+ --md-comp-badge-color: var(--md-sys-color-error);
2187
+ --md-comp-badge-label-text-color: var(--md-sys-color-on-error);
2188
+ --md-comp-badge-large-size: 16px;
2189
+ --md-comp-badge-small-size: 6px;
2190
+ --md-comp-badge-large-shape: 8px;
2191
+ --md-comp-badge-icon-size: 24px;
1824
2192
  box-sizing: border-box;
2193
+ display: inline-flex;
2194
+ flex-shrink: 0;
2195
+ align-items: center;
2196
+ justify-content: center;
2197
+ min-width: var(--md-comp-badge-large-size);
2198
+ height: var(--md-comp-badge-large-size);
2199
+ max-width: calc(4ch + 8px);
2200
+ margin: 0;
2201
+ padding: 0 4px;
2202
+ overflow: hidden;
2203
+ border-radius: var(--md-comp-badge-large-shape);
2204
+ background-color: var(--md-comp-badge-color);
2205
+ color: var(--md-comp-badge-label-text-color);
2206
+ white-space: nowrap;
2207
+ font-family: var(--md-sys-typescale-label-small-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
2208
+ font-size: var(--md-sys-typescale-label-small-font-size);
2209
+ font-weight: var(--md-sys-typescale-label-small-font-weight);
2210
+ line-height: var(--md-sys-typescale-label-small-line-height);
2211
+ letter-spacing: var(--md-sys-typescale-label-small-letter-spacing);
2212
+ line-height: var(--md-comp-badge-large-size);
2213
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
1825
2214
  }
1826
- span.badge.new {
1827
- font-weight: 300;
1828
- font-size: 0.8rem;
1829
- color: var(--md-sys-color-on-primary);
1830
- background-color: var(--md-sys-color-primary);
1831
- border-radius: 2px;
1832
- }
1833
- span.badge.new:after {
1834
- content: " new";
2215
+ .badge:empty {
2216
+ width: var(--md-comp-badge-small-size);
2217
+ min-width: var(--md-comp-badge-small-size);
2218
+ max-width: var(--md-comp-badge-small-size);
2219
+ height: var(--md-comp-badge-small-size);
2220
+ padding: 0;
2221
+ border-radius: 50%;
2222
+ font-size: 0;
2223
+ line-height: 0;
2224
+ color: transparent;
1835
2225
  }
1836
- span.badge[data-badge-caption]::after {
1837
- content: " " attr(data-badge-caption);
2226
+ :is(i,
2227
+ .material-symbols,
2228
+ .material-symbols-outlined,
2229
+ .material-symbols-rounded,
2230
+ .material-symbols-sharp,
2231
+ .material-icons) {
2232
+ position: relative;
2233
+ overflow: visible;
1838
2234
  }
1839
- .active span.badge {
1840
- color: var(--md-sys-color-on-primary);
2235
+ :is(i,
2236
+ .material-symbols,
2237
+ .material-symbols-outlined,
2238
+ .material-symbols-rounded,
2239
+ .material-symbols-sharp,
2240
+ .material-icons) > .badge {
2241
+ position: absolute;
2242
+ z-index: 1;
2243
+ inset-block-start: calc((100% - var(--md-comp-badge-icon-size)) / 2);
2244
+ inset-inline-end: calc((100% - var(--md-comp-badge-icon-size)) / 2);
2245
+ transform: translate(50%, -50%);
1841
2246
  }
1842
- header:has(> nav) nav a span.badge {
1843
- display: inline-block;
1844
- float: none;
1845
- margin-left: 4px;
1846
- line-height: var(--bagde-height);
1847
- height: var(--bagde-height);
1848
- -webkit-font-smoothing: auto;
2247
+ .list .badge,
2248
+ .sidenav .badge,
2249
+ menu .badge {
2250
+ position: static;
2251
+ transform: none;
1849
2252
  }
1850
- .collection span.badge {
1851
- float: none;
1852
- margin-block: 0;
2253
+ .list .badge {
1853
2254
  margin-inline-start: auto;
1854
2255
  }
1855
- .collapsible span.badge {
1856
- margin-left: auto;
1857
- }
1858
- .collapsible span.badge.leading {
1859
- margin-right: 7px;
1860
- order: -1;
1861
- }
1862
- .collapsible :is(.active, [open]) span.badge:not(.new) {
1863
- color: var(--md-sys-color-on-surface-variant);
1864
- }
1865
- .sidenav span.badge {
1866
- margin-top: calc(var(--md-comp-nav-drawer-line-height) * 0.5 - 11px);
1867
- }
1868
- table span.badge {
1869
- display: inline-block;
1870
- float: none;
1871
- margin-left: auto;
2256
+ .sidenav summary .badge {
2257
+ margin-inline-start: 14px;
1872
2258
  }
1873
2259
  :root {
1874
2260
  --md-icon-font-outlined: "Material Symbols Outlined";
@@ -1935,20 +2321,26 @@
1935
2321
  .icon-filled {
1936
2322
  --md-icon-fill: 1;
1937
2323
  }
1938
- header:has(> nav) {
2324
+ @property --md-comp-top-app-bar-scroll {
2325
+ syntax: "<number>";
2326
+ inherits: false;
2327
+ initial-value: 0;
2328
+ }
2329
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) {
1939
2330
  --md-comp-top-app-bar-container-color: var(--md-sys-color-surface);
2331
+ --md-comp-top-app-bar-scrolled-container-color: var(--md-sys-color-surface-container);
1940
2332
  --md-comp-top-app-bar-headline-color: var(--md-sys-color-on-surface);
1941
2333
  --md-comp-top-app-bar-leading-icon-color: inherit;
1942
2334
  --md-comp-top-app-bar-trailing-icon-color: inherit;
1943
2335
  --md-comp-top-app-bar-container-height: 64px;
1944
2336
  --md-comp-top-app-bar-leading-icon-size: 24px;
1945
2337
  --md-comp-top-app-bar-container-shape: 0;
1946
- background-color: var(--md-comp-top-app-bar-container-color);
2338
+ background-color: color-mix(in oklab, var(--md-comp-top-app-bar-scrolled-container-color) calc(100% * var(--md-comp-top-app-bar-scroll)), var(--md-comp-top-app-bar-container-color));
1947
2339
  color: var(--md-comp-top-app-bar-headline-color);
1948
2340
  border-radius: var(--md-comp-top-app-bar-container-shape);
1949
2341
  width: 100%;
1950
2342
  }
1951
- header:has(> nav) > nav:not(.tabs) {
2343
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) {
1952
2344
  display: flex;
1953
2345
  align-items: center;
1954
2346
  box-sizing: border-box;
@@ -1957,16 +2349,16 @@
1957
2349
  padding-inline: 4px;
1958
2350
  margin: 0;
1959
2351
  }
1960
- header:has(> nav) > nav:not(.tabs) > :is(h1, h2, h3, h4, h5, h6) {
2352
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6) {
1961
2353
  flex: 1 1 auto;
1962
2354
  min-width: 0;
1963
2355
  margin: 0;
1964
2356
  padding-inline: 4px 12px;
1965
2357
  }
1966
- header:has(> nav) > nav:not(.tabs) > :is(h1, h2, h3, h4, h5, h6):first-child {
2358
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6):first-child {
1967
2359
  padding-inline-start: 12px;
1968
2360
  }
1969
- header:has(> nav) > nav:not(.tabs) > :is(h1, h2, h3, h4, h5, h6) {
2361
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6) {
1970
2362
  overflow: hidden;
1971
2363
  text-overflow: ellipsis;
1972
2364
  white-space: nowrap;
@@ -1977,7 +2369,7 @@
1977
2369
  line-height: var(--md-sys-typescale-title-large-line-height);
1978
2370
  letter-spacing: var(--md-sys-typescale-title-large-letter-spacing);
1979
2371
  }
1980
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) {
2372
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) {
1981
2373
  display: inline-flex;
1982
2374
  flex: 0 0 auto;
1983
2375
  align-items: center;
@@ -1985,7 +2377,8 @@
1985
2377
  width: 48px;
1986
2378
  height: 48px;
1987
2379
  padding: 0;
1988
- margin: 0;
2380
+ margin-block: 0;
2381
+ margin-inline-end: 0;
1989
2382
  border: 0;
1990
2383
  border-radius: 50%;
1991
2384
  background: transparent;
@@ -1995,24 +2388,24 @@
1995
2388
  font: inherit;
1996
2389
  text-decoration: none;
1997
2390
  }
1998
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):focus-visible {
2391
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):focus-visible {
1999
2392
  outline: 3px solid var(--md-sys-color-secondary);
2000
2393
  outline-offset: 2px;
2001
2394
  }
2002
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) > i {
2395
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) > i {
2003
2396
  display: block;
2004
2397
  font-size: var(--md-comp-top-app-bar-leading-icon-size);
2005
2398
  width: var(--md-comp-top-app-bar-leading-icon-size);
2006
2399
  height: var(--md-comp-top-app-bar-leading-icon-size);
2007
2400
  line-height: var(--md-comp-top-app-bar-leading-icon-size);
2008
2401
  }
2009
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):hover {
2402
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):hover {
2010
2403
  background-color: color-mix(in oklab, currentColor 8%, transparent);
2011
2404
  }
2012
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):active {
2405
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):active {
2013
2406
  background-color: color-mix(in oklab, currentColor 10%, transparent);
2014
2407
  }
2015
- header:has(> nav) > nav:not(.tabs) > :is(menu, ul) {
2408
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(menu, ul) {
2016
2409
  display: flex;
2017
2410
  align-items: stretch;
2018
2411
  align-self: stretch;
@@ -2020,11 +2413,11 @@
2020
2413
  margin: 0;
2021
2414
  padding: 0;
2022
2415
  }
2023
- header:has(> nav) > nav:not(.tabs) > :is(menu, ul) > li {
2416
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(menu, ul) > li {
2024
2417
  display: flex;
2025
2418
  align-items: stretch;
2026
2419
  }
2027
- header:has(> nav) > nav:not(.tabs) > ol {
2420
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > ol {
2028
2421
  display: flex;
2029
2422
  flex-wrap: wrap;
2030
2423
  align-items: center;
@@ -2035,7 +2428,7 @@
2035
2428
  margin: 0;
2036
2429
  padding-inline: 12px;
2037
2430
  }
2038
- header:has(> nav) > nav:not(.tabs) > form {
2431
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > form {
2039
2432
  display: flex;
2040
2433
  flex: 1 1 auto;
2041
2434
  align-items: center;
@@ -2043,7 +2436,7 @@
2043
2436
  min-width: 0;
2044
2437
  margin: 0;
2045
2438
  }
2046
- header:has(> nav) > nav:not(.tabs) > form input {
2439
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > form input {
2047
2440
  flex: 1 1 auto;
2048
2441
  min-width: 0;
2049
2442
  height: 100%;
@@ -2058,24 +2451,12 @@
2058
2451
  font-weight: var(--md-sys-typescale-body-large-font-weight);
2059
2452
  line-height: var(--md-sys-typescale-body-large-line-height);
2060
2453
  }
2061
- header:has(> nav) > nav:not(.tabs) > form input:focus, header:has(> nav) > nav:not(.tabs) > form input:focus-visible {
2454
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > form input:focus, header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > form input:focus-visible {
2062
2455
  outline: none;
2063
2456
  border: 0;
2064
2457
  box-shadow: none;
2065
2458
  }
2066
- header:has(> nav) > .tabs {
2067
- background-color: transparent;
2068
- width: 100%;
2069
- }
2070
- @media (width >= 993px) {
2071
- header:has(> nav) > nav:not(.tabs) > .sidenav-trigger {
2072
- display: none !important;
2073
- }
2074
- header:has(> nav) > nav:not(.tabs) > .sidenav-trigger + :is(h1, h2, h3, h4, h5, h6) {
2075
- padding-inline-start: 12px;
2076
- }
2077
- }
2078
- header:has(> nav) > nav:not(.tabs) > a:not(:has(> i:only-child)):not(.button):not(.circle):not(.breadcrumb), header:has(> nav) > nav:not(.tabs) > :is(menu, ul) > li > a {
2459
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > a:not(:has(> i:only-child)):not(.button):not(.circle):not(.breadcrumb), header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(menu, ul) > li > a {
2079
2460
  display: inline-flex;
2080
2461
  align-items: center;
2081
2462
  padding: 0 12px;
@@ -2087,21 +2468,21 @@
2087
2468
  line-height: var(--md-sys-typescale-label-large-line-height);
2088
2469
  letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
2089
2470
  }
2090
- header:has(> nav) > nav:not(.tabs) > a:focus-visible:not(:has(> i:only-child)):not(.button):not(.circle):not(.breadcrumb), header:has(> nav) > nav:not(.tabs) > :is(menu, ul) > li > a:focus-visible {
2471
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > a:focus-visible:not(:has(> i:only-child)):not(.button):not(.circle):not(.breadcrumb), header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(menu, ul) > li > a:focus-visible {
2091
2472
  outline: 3px solid var(--md-sys-color-secondary);
2092
2473
  outline-offset: 2px;
2093
2474
  }
2094
- header:has(> nav) > nav:not(.tabs) > a:hover:not(.active):not(:has(> i:only-child)):not(.button):not(.circle):not(.breadcrumb), header:has(> nav) > nav:not(.tabs) > :is(menu, ul) > li > a:hover:not(.active) {
2475
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > a:hover:not(.active):not(:has(> i:only-child)):not(.button):not(.circle):not(.breadcrumb), header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(menu, ul) > li > a:hover:not(.active) {
2095
2476
  background-color: color-mix(in oklab, currentColor 8%, transparent);
2096
2477
  }
2097
- header:has(> nav) > nav:not(.tabs) > a.active:not(:has(> i:only-child)):not(.button):not(.circle):not(.breadcrumb), header:has(> nav) > nav:not(.tabs) > :is(menu, ul) > li > a.active {
2478
+ header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > a.active:not(:has(> i:only-child)):not(.button):not(.circle):not(.breadcrumb), header:has(> nav:not(.navigation-bar, .navigation-rail)) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(menu, ul) > li > a.active {
2098
2479
  background-color: color-mix(in oklab, currentColor 10%, transparent);
2099
2480
  }
2100
- header.center:has(> nav) > nav:not(.tabs) {
2481
+ header.center:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) {
2101
2482
  position: relative;
2102
2483
  justify-content: space-between;
2103
2484
  }
2104
- header.center:has(> nav) > nav:not(.tabs) > :is(h1, h2, h3, h4, h5, h6) {
2485
+ header.center:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6) {
2105
2486
  position: absolute;
2106
2487
  left: 50%;
2107
2488
  transform: translateX(-50%);
@@ -2111,25 +2492,31 @@
2111
2492
  text-align: center;
2112
2493
  pointer-events: none;
2113
2494
  }
2114
- header.medium:has(> nav) > nav:not(.tabs),
2115
- header.large:has(> nav) > nav:not(.tabs) {
2495
+ header.medium:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail),
2496
+ header.large:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) {
2116
2497
  flex-wrap: wrap;
2117
- align-content: flex-start;
2498
+ align-content: space-between;
2499
+ align-items: flex-start;
2118
2500
  height: auto;
2501
+ padding-top: 4px;
2119
2502
  }
2120
- header.medium:has(> nav) > nav:not(.tabs) > :is(h1, h2, h3, h4, h5, h6),
2121
- header.large:has(> nav) > nav:not(.tabs) > :is(h1, h2, h3, h4, h5, h6) {
2503
+ header.medium:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6),
2504
+ header.large:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6) {
2122
2505
  order: 1;
2123
2506
  flex: 1 0 100%;
2124
2507
  white-space: normal;
2125
2508
  overflow: visible;
2126
2509
  text-overflow: unset;
2127
2510
  }
2128
- header.medium:has(> nav) > nav:not(.tabs) {
2511
+ header.medium:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6) + *,
2512
+ header.large:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6) + * {
2513
+ margin-inline-start: auto;
2514
+ }
2515
+ header.medium:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) {
2129
2516
  min-height: 112px;
2130
2517
  padding-bottom: 16px;
2131
2518
  }
2132
- header.medium:has(> nav) > nav:not(.tabs) > :is(h1, h2, h3, h4, h5, h6) {
2519
+ header.medium:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6) {
2133
2520
  padding: 4px 12px 0 16px;
2134
2521
  font-family: var(--md-sys-typescale-headline-small-font-family-name);
2135
2522
  font-size: var(--md-sys-typescale-headline-small-font-size);
@@ -2137,11 +2524,11 @@
2137
2524
  line-height: var(--md-sys-typescale-headline-small-line-height);
2138
2525
  letter-spacing: var(--md-sys-typescale-headline-small-letter-spacing);
2139
2526
  }
2140
- header.large:has(> nav) > nav:not(.tabs) {
2527
+ header.large:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) {
2141
2528
  min-height: 152px;
2142
2529
  padding-bottom: 28px;
2143
2530
  }
2144
- header.large:has(> nav) > nav:not(.tabs) > :is(h1, h2, h3, h4, h5, h6) {
2531
+ header.large:has(> nav) > nav:not(.tabs, .navigation-bar, .navigation-rail) > :is(h1, h2, h3, h4, h5, h6) {
2145
2532
  padding: 12px 12px 0 16px;
2146
2533
  font-family: var(--md-sys-typescale-headline-medium-font-family-name);
2147
2534
  font-size: var(--md-sys-typescale-headline-medium-font-size);
@@ -2149,7 +2536,7 @@
2149
2536
  line-height: var(--md-sys-typescale-headline-medium-line-height);
2150
2537
  letter-spacing: var(--md-sys-typescale-headline-medium-letter-spacing);
2151
2538
  }
2152
- header.fixed:has(> nav) {
2539
+ header.fixed:has(> nav:not(.navigation-bar, .navigation-rail)) {
2153
2540
  position: sticky;
2154
2541
  top: 0;
2155
2542
  z-index: 997;
@@ -2159,170 +2546,537 @@
2159
2546
  }
2160
2547
  @keyframes top-app-bar-scroll {
2161
2548
  to {
2162
- box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
2163
- }
2164
- }
2165
- footer:has(> nav:only-child) {
2166
- --md-comp-bottom-app-bar-container-color: var(--md-sys-color-surface);
2167
- --md-comp-bottom-app-bar-container-height: 80px;
2168
- background-color: var(--md-comp-bottom-app-bar-container-color);
2169
- color: var(--md-sys-color-on-surface);
2170
- width: 100%;
2171
- box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
2172
- }
2173
- footer:has(> nav:only-child) > nav:not(.tabs) {
2549
+ --md-comp-top-app-bar-scroll: 1;
2550
+ }
2551
+ }
2552
+ .navigation-bar {
2553
+ --md-comp-nav-bar-container-color: var(--md-sys-color-surface-container);
2554
+ --md-comp-nav-bar-container-height: 64px;
2555
+ --md-comp-nav-bar-icon-size: 24px;
2556
+ --md-comp-nav-bar-indicator-width: 56px;
2557
+ --md-comp-nav-bar-indicator-height: 32px;
2558
+ --md-comp-nav-bar-indicator-shape: 16px;
2559
+ --md-comp-nav-bar-active-indicator-color: var(--md-sys-color-secondary-container);
2560
+ --md-comp-nav-bar-active-color: var(--md-sys-color-on-secondary-container);
2561
+ box-sizing: border-box;
2174
2562
  display: flex;
2175
2563
  align-items: center;
2176
- box-sizing: border-box;
2564
+ justify-content: space-evenly;
2177
2565
  width: 100%;
2178
- min-height: var(--md-comp-bottom-app-bar-container-height);
2179
- padding: 12px 4px;
2566
+ min-height: var(--md-comp-nav-bar-container-height);
2180
2567
  margin: 0;
2568
+ padding: 6px 8px;
2569
+ padding-bottom: max(6px, env(safe-area-inset-bottom, 0px));
2570
+ background-color: var(--md-comp-nav-bar-container-color);
2571
+ color: var(--md-sys-color-on-surface);
2181
2572
  }
2182
- footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) {
2183
- display: inline-flex;
2184
- flex: 0 0 auto;
2573
+ .navigation-bar > :is(a, button) {
2574
+ position: relative;
2575
+ box-sizing: border-box;
2576
+ display: flex;
2577
+ flex: 1 1 0;
2578
+ flex-direction: column;
2185
2579
  align-items: center;
2186
2580
  justify-content: center;
2187
- width: 48px;
2188
- height: 48px;
2189
- padding: 0;
2581
+ gap: 4px;
2582
+ min-width: 0;
2190
2583
  margin: 0;
2584
+ padding: 4px 0 6px;
2191
2585
  border: 0;
2192
- border-radius: 50%;
2193
2586
  background: transparent;
2194
2587
  color: var(--md-sys-color-on-surface-variant);
2195
2588
  cursor: pointer;
2196
2589
  appearance: none;
2197
- font: inherit;
2198
2590
  text-decoration: none;
2591
+ font-family: var(--md-sys-typescale-label-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
2592
+ font-size: var(--md-sys-typescale-label-medium-font-size);
2593
+ font-weight: var(--md-sys-typescale-label-medium-font-weight);
2594
+ line-height: var(--md-sys-typescale-label-medium-line-height);
2595
+ letter-spacing: var(--md-sys-typescale-label-medium-letter-spacing);
2199
2596
  }
2200
- footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):focus-visible {
2597
+ .navigation-bar > :is(a, button):focus-visible {
2201
2598
  outline: 3px solid var(--md-sys-color-secondary);
2202
2599
  outline-offset: 2px;
2203
2600
  }
2204
- footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) > i {
2205
- display: block;
2206
- font-size: 24px;
2207
- width: 24px;
2208
- height: 24px;
2209
- line-height: 24px;
2601
+ .navigation-bar > :is(a, button) > i {
2602
+ display: flex;
2603
+ flex-shrink: 0;
2604
+ align-items: center;
2605
+ justify-content: center;
2606
+ box-sizing: border-box;
2607
+ width: var(--md-comp-nav-bar-indicator-width);
2608
+ height: var(--md-comp-nav-bar-indicator-height);
2609
+ border-radius: var(--md-comp-nav-bar-indicator-shape);
2610
+ font-size: var(--md-comp-nav-bar-icon-size);
2611
+ color: inherit;
2612
+ transition: background-color 0.2s ease-out;
2210
2613
  }
2211
- footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):hover {
2212
- background-color: color-mix(in oklab, currentColor 8%, transparent);
2614
+ .navigation-bar > :is(a, button):hover:not(.active, [aria-current]) > i {
2615
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
2213
2616
  }
2214
- footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):active {
2215
- background-color: color-mix(in oklab, currentColor 10%, transparent);
2617
+ .navigation-bar > :is(a, button).active, .navigation-bar > :is(a, button)[aria-current] {
2618
+ color: var(--md-sys-color-on-surface);
2216
2619
  }
2217
- footer:has(> nav:only-child) > nav:not(.tabs) > :is(.button, .circle, .extra) {
2218
- margin-inline-start: auto;
2620
+ .navigation-bar > :is(a, button).active > i, .navigation-bar > :is(a, button)[aria-current] > i {
2621
+ background-color: var(--md-comp-nav-bar-active-indicator-color);
2622
+ color: var(--md-comp-nav-bar-active-color);
2623
+ --md-icon-fill: 1;
2624
+ }
2625
+ .navigation-bar > :is(a, button).disabled, .navigation-bar > :is(a, button)[aria-disabled=true] {
2626
+ pointer-events: none;
2627
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
2628
+ }
2629
+ .navigation-bar > :is(a, button) > .badge {
2630
+ position: absolute;
2631
+ z-index: 1;
2632
+ top: calc(4px + (var(--md-comp-nav-bar-indicator-height) - 24px) / 2);
2633
+ left: calc(50% + 12px);
2634
+ transform: translate(-50%, -50%);
2635
+ }
2636
+ .navigation-bar.horizontal {
2637
+ --md-comp-nav-bar-indicator-shape: 100px;
2638
+ min-height: 56px;
2639
+ }
2640
+ .navigation-bar.horizontal > :is(a, button) {
2641
+ flex: 0 1 auto;
2642
+ flex-direction: row;
2643
+ gap: 8px;
2644
+ min-height: 40px;
2645
+ padding: 8px 16px;
2646
+ border-radius: var(--md-comp-nav-bar-indicator-shape);
2647
+ }
2648
+ .navigation-bar.horizontal > :is(a, button) > i {
2649
+ width: var(--md-comp-nav-bar-icon-size);
2650
+ height: var(--md-comp-nav-bar-icon-size);
2651
+ border-radius: 0;
2652
+ }
2653
+ .navigation-bar.horizontal > :is(a, button) > .badge {
2654
+ top: calc(50% - 12px);
2655
+ left: auto;
2656
+ inset-inline-start: 40px;
2657
+ transform: translate(-50%, -50%);
2658
+ }
2659
+ .navigation-bar.horizontal > :is(a, button):hover:not(.active, [aria-current]) {
2660
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
2219
2661
  }
2220
- footer:has(> nav:only-child).fixed {
2662
+ .navigation-bar.horizontal > :is(a, button):hover:not(.active, [aria-current]) > i {
2663
+ background-color: transparent;
2664
+ }
2665
+ .navigation-bar.horizontal > :is(a, button).active, .navigation-bar.horizontal > :is(a, button)[aria-current] {
2666
+ background-color: var(--md-comp-nav-bar-active-indicator-color);
2667
+ color: var(--md-comp-nav-bar-active-color);
2668
+ }
2669
+ .navigation-bar.horizontal > :is(a, button).active > i, .navigation-bar.horizontal > :is(a, button)[aria-current] > i {
2670
+ background-color: transparent;
2671
+ color: inherit;
2672
+ }
2673
+ .navigation-bar.fixed {
2221
2674
  position: sticky;
2222
2675
  bottom: 0;
2223
2676
  z-index: 997;
2224
2677
  }
2225
- nav.toolbar {
2226
- --md-comp-toolbar-container-color: var(--md-sys-color-surface-variant);
2227
- --md-comp-toolbar-container-shape: 32px;
2228
- --md-comp-toolbar-container-height: 64px;
2229
- --md-comp-toolbar-leading-space: 12px;
2230
- --md-comp-toolbar-action-size: 48px;
2231
- --md-comp-toolbar-icon-size: 24px;
2678
+ :root {
2679
+ --md-comp-nav-rail-collapsed-width: 96px;
2680
+ --md-comp-nav-rail-expanded-width: 280px;
2681
+ }
2682
+ .navigation-rail {
2683
+ --md-comp-nav-rail-icon-size: 24px;
2684
+ --md-comp-nav-rail-indicator-width: 56px;
2685
+ --md-comp-nav-rail-indicator-height: 32px;
2686
+ --md-comp-nav-rail-indicator-shape: 16px;
2687
+ --md-comp-nav-rail-fab-size: 56px;
2688
+ --md-comp-nav-rail-active-indicator-color: var(--md-sys-color-secondary-container);
2689
+ --md-comp-nav-rail-active-color: var(--md-sys-color-on-secondary-container);
2690
+ --md-comp-nav-rail-duration: 250ms;
2232
2691
  box-sizing: border-box;
2233
- display: inline-flex;
2692
+ display: flex;
2693
+ flex-direction: column;
2234
2694
  align-items: center;
2235
- justify-content: center;
2236
2695
  gap: 4px;
2237
- min-height: var(--md-comp-toolbar-container-height);
2238
- min-width: var(--md-comp-toolbar-container-height);
2696
+ width: var(--md-comp-nav-rail-collapsed-width);
2697
+ min-width: var(--md-comp-nav-rail-collapsed-width);
2698
+ min-height: 100dvh;
2239
2699
  margin: 0;
2240
- padding: 8px var(--md-comp-toolbar-leading-space);
2241
- border: none;
2242
- border-radius: var(--md-comp-toolbar-container-shape);
2243
- background-color: var(--md-comp-toolbar-container-color);
2700
+ padding: 20px 8px 16px;
2701
+ overflow-x: hidden;
2702
+ overflow-y: auto;
2703
+ overscroll-behavior: contain;
2704
+ background-color: var(--md-sys-color-surface-container);
2244
2705
  color: var(--md-sys-color-on-surface);
2245
- box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
2706
+ transition: width var(--md-comp-nav-rail-duration) ease, min-width var(--md-comp-nav-rail-duration) ease, padding var(--md-comp-nav-rail-duration) ease;
2246
2707
  }
2247
- nav.toolbar + nav.toolbar {
2248
- margin-block-start: 16px;
2249
- }
2250
- nav.toolbar > :is(a, button):not(.extra) {
2251
- box-sizing: border-box;
2252
- display: inline-flex;
2708
+ .navigation-rail > button:not(.button):first-child {
2709
+ display: flex;
2253
2710
  flex: 0 0 auto;
2254
2711
  align-items: center;
2255
2712
  justify-content: center;
2256
- gap: 8px;
2257
- min-width: var(--md-comp-toolbar-action-size);
2258
- min-height: var(--md-comp-toolbar-action-size);
2259
- height: var(--md-comp-toolbar-action-size);
2260
- margin: 0;
2261
- padding: 0 12px;
2262
- border: none;
2263
- border-radius: calc(var(--md-comp-toolbar-action-size) / 2);
2264
- background-color: transparent;
2265
- color: inherit;
2266
- box-shadow: none;
2267
- text-decoration: none;
2713
+ width: var(--md-comp-nav-rail-indicator-width);
2714
+ height: 48px;
2715
+ margin: 0 0 8px;
2716
+ padding: 0;
2717
+ border: 0;
2718
+ border-radius: var(--md-comp-nav-rail-indicator-shape);
2719
+ background: transparent;
2720
+ color: var(--md-sys-color-on-surface-variant);
2268
2721
  cursor: pointer;
2269
2722
  appearance: none;
2270
- font-family: var(--md-sys-typescale-label-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
2271
- font-size: var(--md-sys-typescale-label-large-font-size);
2272
- font-weight: var(--md-sys-typescale-label-large-font-weight);
2273
- line-height: var(--md-sys-typescale-label-large-line-height);
2274
- letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
2275
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
2276
2723
  }
2277
- nav.toolbar > :is(a, button):not(.extra):focus-visible {
2724
+ .navigation-rail > button:not(.button):first-child:focus-visible {
2278
2725
  outline: 3px solid var(--md-sys-color-secondary);
2279
2726
  outline-offset: 2px;
2280
2727
  }
2281
- nav.toolbar > :is(a, button):not(.extra) > i {
2282
- flex: 0 0 auto;
2283
- font-size: var(--md-comp-toolbar-icon-size);
2284
- width: var(--md-comp-toolbar-icon-size);
2285
- height: var(--md-comp-toolbar-icon-size);
2286
- line-height: var(--md-comp-toolbar-icon-size);
2287
- }
2288
- nav.toolbar > :is(a, button):not(.extra):hover:not(.active) {
2289
- background-color: color-mix(in oklab, currentColor 8%, transparent);
2290
- }
2291
- nav.toolbar > :is(a, button):not(.extra):active:not(.active) {
2292
- background-color: color-mix(in oklab, currentColor 10%, transparent);
2293
- }
2294
- nav.toolbar > :is(a, button):not(.extra).active {
2295
- background-color: var(--md-sys-color-secondary-container);
2296
- color: var(--md-sys-color-on-secondary-container);
2728
+ .navigation-rail > button:not(.button):first-child > i {
2729
+ font-size: var(--md-comp-nav-rail-icon-size);
2730
+ width: var(--md-comp-nav-rail-icon-size);
2731
+ height: var(--md-comp-nav-rail-icon-size);
2297
2732
  }
2298
- nav.toolbar > :is(a, button):not(.extra):disabled {
2299
- color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
2300
- background-color: transparent;
2301
- box-shadow: none;
2302
- cursor: default;
2733
+ .navigation-rail > button:not(.button):first-child:hover {
2734
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
2303
2735
  }
2304
- nav.toolbar > :is(a, button):not(.extra):is(.circle, :has(> i):not(:has(> span))) {
2305
- width: var(--md-comp-toolbar-action-size);
2736
+ .navigation-rail > :is(a, button).button {
2737
+ display: inline-flex;
2738
+ flex: 0 0 auto;
2739
+ align-items: center;
2740
+ justify-content: center;
2741
+ gap: 8px;
2742
+ box-sizing: border-box;
2743
+ width: var(--md-comp-nav-rail-fab-size);
2744
+ height: var(--md-comp-nav-rail-fab-size);
2745
+ margin: 4px 0 16px;
2306
2746
  padding: 0;
2307
- border-radius: 50%;
2308
- }
2309
- nav.toolbar > .max {
2310
- flex: 1 1 auto;
2311
- align-self: stretch;
2312
- min-width: 0;
2313
- min-height: 0;
2314
- }
2315
- nav.toolbar.filled {
2316
- --md-comp-toolbar-container-color: var(--md-sys-color-primary-container);
2747
+ overflow: hidden;
2748
+ border-radius: 16px;
2317
2749
  color: var(--md-sys-color-on-primary-container);
2750
+ background-color: var(--md-sys-color-primary-container);
2751
+ text-decoration: none;
2318
2752
  }
2319
- nav.toolbar.filled > :is(a, button).active {
2320
- background-color: var(--md-sys-color-surface-variant);
2321
- color: var(--md-sys-color-on-surface);
2753
+ .navigation-rail > :is(a, button).button > :not(i) {
2754
+ position: absolute;
2755
+ width: 1px;
2756
+ height: 1px;
2757
+ overflow: hidden;
2758
+ clip-path: inset(50%);
2322
2759
  }
2323
- nav.toolbar.vertical {
2760
+ .navigation-rail > a:not(.button),
2761
+ .navigation-rail > button:not(.button):not(:first-child) {
2762
+ position: relative;
2763
+ display: flex;
2764
+ flex: 0 0 auto;
2324
2765
  flex-direction: column;
2325
- min-width: var(--md-comp-toolbar-container-height);
2766
+ align-items: center;
2767
+ justify-content: center;
2768
+ gap: 4px;
2769
+ box-sizing: border-box;
2770
+ width: 100%;
2771
+ margin: 0;
2772
+ padding: 6px 0;
2773
+ border: 0;
2774
+ background: transparent;
2775
+ color: var(--md-sys-color-on-surface-variant);
2776
+ cursor: pointer;
2777
+ appearance: none;
2778
+ text-decoration: none;
2779
+ text-align: center;
2780
+ font-family: var(--md-sys-typescale-label-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
2781
+ font-size: var(--md-sys-typescale-label-medium-font-size);
2782
+ font-weight: var(--md-sys-typescale-label-medium-font-weight);
2783
+ line-height: var(--md-sys-typescale-label-medium-line-height);
2784
+ letter-spacing: var(--md-sys-typescale-label-medium-letter-spacing);
2785
+ }
2786
+ .navigation-rail > a:not(.button):focus-visible,
2787
+ .navigation-rail > button:not(.button):not(:first-child):focus-visible {
2788
+ outline: 3px solid var(--md-sys-color-secondary);
2789
+ outline-offset: 2px;
2790
+ }
2791
+ .navigation-rail > a:not(.button) > i,
2792
+ .navigation-rail > button:not(.button):not(:first-child) > i {
2793
+ display: flex;
2794
+ flex-shrink: 0;
2795
+ align-items: center;
2796
+ justify-content: center;
2797
+ box-sizing: border-box;
2798
+ width: var(--md-comp-nav-rail-indicator-width);
2799
+ height: var(--md-comp-nav-rail-indicator-height);
2800
+ border-radius: var(--md-comp-nav-rail-indicator-shape);
2801
+ font-size: var(--md-comp-nav-rail-icon-size);
2802
+ color: inherit;
2803
+ transition: background-color var(--md-comp-nav-rail-duration) ease;
2804
+ }
2805
+ .navigation-rail > a:not(.button):hover:not(.active, [aria-current]) > i,
2806
+ .navigation-rail > button:not(.button):not(:first-child):hover:not(.active, [aria-current]) > i {
2807
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
2808
+ }
2809
+ .navigation-rail > a:not(.button).active, .navigation-rail > a:not(.button)[aria-current],
2810
+ .navigation-rail > button:not(.button):not(:first-child).active,
2811
+ .navigation-rail > button:not(.button):not(:first-child)[aria-current] {
2812
+ color: var(--md-sys-color-on-surface);
2813
+ }
2814
+ .navigation-rail > a:not(.button).active > i, .navigation-rail > a:not(.button)[aria-current] > i,
2815
+ .navigation-rail > button:not(.button):not(:first-child).active > i,
2816
+ .navigation-rail > button:not(.button):not(:first-child)[aria-current] > i {
2817
+ background-color: var(--md-comp-nav-rail-active-indicator-color);
2818
+ color: var(--md-comp-nav-rail-active-color);
2819
+ --md-icon-fill: 1;
2820
+ }
2821
+ .navigation-rail > a:not(.button) > .badge,
2822
+ .navigation-rail > button:not(.button):not(:first-child) > .badge {
2823
+ position: absolute;
2824
+ z-index: 1;
2825
+ top: calc(6px + (var(--md-comp-nav-rail-indicator-height) - 24px) / 2);
2826
+ left: calc(50% + 12px);
2827
+ transform: translate(-50%, -50%);
2828
+ }
2829
+ .navigation-rail > :is(h1, h2, h3, h4, h5, h6) {
2830
+ display: none;
2831
+ box-sizing: border-box;
2832
+ width: 100%;
2833
+ margin: 0;
2834
+ padding: 12px 16px 8px;
2835
+ color: var(--md-sys-color-on-surface-variant);
2836
+ font-family: var(--md-sys-typescale-title-small-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
2837
+ font-size: var(--md-sys-typescale-title-small-font-size);
2838
+ font-weight: var(--md-sys-typescale-title-small-font-weight);
2839
+ line-height: var(--md-sys-typescale-title-small-line-height);
2840
+ letter-spacing: var(--md-sys-typescale-title-small-letter-spacing);
2841
+ }
2842
+ .navigation-rail.expanded {
2843
+ --md-comp-nav-rail-indicator-height: 56px;
2844
+ --md-comp-nav-rail-indicator-shape: 28px;
2845
+ align-items: stretch;
2846
+ width: clamp(220px, var(--md-comp-nav-rail-expanded-width), 360px);
2847
+ min-width: 220px;
2848
+ padding-inline: 16px;
2849
+ }
2850
+ .navigation-rail.expanded > button:not(.button):first-child {
2851
+ justify-content: flex-start;
2852
+ width: auto;
2853
+ padding-inline: 16px;
2854
+ }
2855
+ .navigation-rail.expanded > :is(a, button).button {
2856
+ width: 100%;
2857
+ justify-content: flex-start;
2858
+ padding-inline: 16px 20px;
2859
+ color: var(--md-sys-color-on-primary-container);
2860
+ background-color: var(--md-sys-color-primary-container);
2861
+ }
2862
+ .navigation-rail.expanded > :is(a, button).button > :not(i) {
2863
+ position: static;
2864
+ width: auto;
2865
+ height: auto;
2866
+ overflow: visible;
2867
+ clip-path: none;
2868
+ font-family: var(--md-sys-typescale-label-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
2869
+ font-size: var(--md-sys-typescale-label-large-font-size);
2870
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
2871
+ line-height: var(--md-sys-typescale-label-large-line-height);
2872
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
2873
+ }
2874
+ .navigation-rail.expanded > a:not(.button),
2875
+ .navigation-rail.expanded > button:not(.button):not(:first-child) {
2876
+ flex-direction: row;
2877
+ justify-content: flex-start;
2878
+ gap: 12px;
2879
+ min-height: var(--md-comp-nav-rail-indicator-height);
2880
+ padding: 0 16px;
2881
+ border-radius: var(--md-comp-nav-rail-indicator-shape);
2882
+ text-align: start;
2883
+ }
2884
+ .navigation-rail.expanded > a:not(.button) > i,
2885
+ .navigation-rail.expanded > button:not(.button):not(:first-child) > i {
2886
+ width: var(--md-comp-nav-rail-icon-size);
2887
+ height: var(--md-comp-nav-rail-icon-size);
2888
+ border-radius: 0;
2889
+ }
2890
+ .navigation-rail.expanded > a:not(.button):hover:not(.active, [aria-current]),
2891
+ .navigation-rail.expanded > button:not(.button):not(:first-child):hover:not(.active, [aria-current]) {
2892
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
2893
+ }
2894
+ .navigation-rail.expanded > a:not(.button):hover:not(.active, [aria-current]) > i,
2895
+ .navigation-rail.expanded > button:not(.button):not(:first-child):hover:not(.active, [aria-current]) > i {
2896
+ background-color: transparent;
2897
+ }
2898
+ .navigation-rail.expanded > a:not(.button).active, .navigation-rail.expanded > a:not(.button)[aria-current],
2899
+ .navigation-rail.expanded > button:not(.button):not(:first-child).active,
2900
+ .navigation-rail.expanded > button:not(.button):not(:first-child)[aria-current] {
2901
+ background-color: var(--md-comp-nav-rail-active-indicator-color);
2902
+ color: var(--md-comp-nav-rail-active-color);
2903
+ }
2904
+ .navigation-rail.expanded > a:not(.button).active > i, .navigation-rail.expanded > a:not(.button)[aria-current] > i,
2905
+ .navigation-rail.expanded > button:not(.button):not(:first-child).active > i,
2906
+ .navigation-rail.expanded > button:not(.button):not(:first-child)[aria-current] > i {
2907
+ background-color: transparent;
2908
+ color: inherit;
2909
+ }
2910
+ .navigation-rail.expanded > a:not(.button) > .badge,
2911
+ .navigation-rail.expanded > button:not(.button):not(:first-child) > .badge {
2912
+ top: calc((var(--md-comp-nav-rail-indicator-height) - 24px) / 2);
2913
+ left: auto;
2914
+ inset-inline-start: 40px;
2915
+ transform: translate(-50%, -50%);
2916
+ }
2917
+ .navigation-rail.expanded > :is(h1, h2, h3, h4, h5, h6) {
2918
+ display: block;
2919
+ }
2920
+ .navigation-rail.expanded.modal {
2921
+ position: fixed;
2922
+ inset: 0 auto 0 0;
2923
+ z-index: 998;
2924
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
2925
+ }
2926
+ .navigation-rail.expanded.modal::before {
2927
+ content: "";
2928
+ position: fixed;
2929
+ inset: 0;
2930
+ background-color: color-mix(in oklab, var(--md-sys-color-scrim) 32%, transparent);
2931
+ z-index: -1;
2932
+ }
2933
+ @media (width < 601px) {
2934
+ .navigation-rail.expanded:not(.modal) {
2935
+ position: fixed;
2936
+ inset: 0 auto 0 0;
2937
+ z-index: 998;
2938
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
2939
+ }
2940
+ .navigation-rail.expanded:not(.modal)::before {
2941
+ content: "";
2942
+ position: fixed;
2943
+ inset: 0;
2944
+ background-color: color-mix(in oklab, var(--md-sys-color-scrim) 32%, transparent);
2945
+ z-index: -1;
2946
+ }
2947
+ }
2948
+ @media (prefers-reduced-motion: reduce) {
2949
+ .navigation-rail {
2950
+ transition: none;
2951
+ }
2952
+ }
2953
+ nav.toolbar {
2954
+ --md-comp-toolbar-container-color: var(--md-sys-color-surface-container);
2955
+ --md-comp-toolbar-container-shape: 32px;
2956
+ --md-comp-toolbar-container-height: 64px;
2957
+ --md-comp-toolbar-leading-space: 12px;
2958
+ --md-comp-toolbar-action-size: 48px;
2959
+ --md-comp-toolbar-icon-size: 24px;
2960
+ --md-comp-toolbar-selected-container-color: var(--md-sys-color-secondary-container);
2961
+ --md-comp-toolbar-selected-color: var(--md-sys-color-on-secondary-container);
2962
+ box-sizing: border-box;
2963
+ display: inline-flex;
2964
+ align-items: center;
2965
+ justify-content: center;
2966
+ gap: 4px;
2967
+ min-height: var(--md-comp-toolbar-container-height);
2968
+ min-width: var(--md-comp-toolbar-container-height);
2969
+ margin: 0;
2970
+ padding: 8px var(--md-comp-toolbar-leading-space);
2971
+ border: none;
2972
+ border-radius: var(--md-comp-toolbar-container-shape);
2973
+ background-color: var(--md-comp-toolbar-container-color);
2974
+ color: var(--md-sys-color-on-surface);
2975
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
2976
+ }
2977
+ nav.toolbar + nav.toolbar {
2978
+ margin-block-start: 16px;
2979
+ }
2980
+ nav.toolbar > :is(a, button):not(.extra) {
2981
+ box-sizing: border-box;
2982
+ display: inline-flex;
2983
+ flex: 0 0 auto;
2984
+ align-items: center;
2985
+ justify-content: center;
2986
+ gap: 8px;
2987
+ min-width: var(--md-comp-toolbar-action-size);
2988
+ min-height: var(--md-comp-toolbar-action-size);
2989
+ height: var(--md-comp-toolbar-action-size);
2990
+ margin: 0;
2991
+ padding: 0 12px;
2992
+ border: none;
2993
+ border-radius: calc(var(--md-comp-toolbar-action-size) / 2);
2994
+ background-color: transparent;
2995
+ color: inherit;
2996
+ box-shadow: none;
2997
+ text-decoration: none;
2998
+ cursor: pointer;
2999
+ appearance: none;
3000
+ font-family: var(--md-sys-typescale-label-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
3001
+ font-size: var(--md-sys-typescale-label-large-font-size);
3002
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
3003
+ line-height: var(--md-sys-typescale-label-large-line-height);
3004
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
3005
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3006
+ }
3007
+ nav.toolbar > :is(a, button):not(.extra):focus-visible {
3008
+ outline: 3px solid var(--md-sys-color-secondary);
3009
+ outline-offset: 2px;
3010
+ }
3011
+ nav.toolbar > :is(a, button):not(.extra) > i {
3012
+ flex: 0 0 auto;
3013
+ font-size: var(--md-comp-toolbar-icon-size);
3014
+ width: var(--md-comp-toolbar-icon-size);
3015
+ height: var(--md-comp-toolbar-icon-size);
3016
+ line-height: var(--md-comp-toolbar-icon-size);
3017
+ }
3018
+ nav.toolbar > :is(a, button):not(.extra):hover:not(.active, .filled) {
3019
+ background-color: color-mix(in oklab, currentColor 8%, transparent);
3020
+ }
3021
+ nav.toolbar > :is(a, button):not(.extra):active:not(.active, .filled) {
3022
+ background-color: color-mix(in oklab, currentColor 10%, transparent);
3023
+ }
3024
+ nav.toolbar > :is(a, button):not(.extra).active {
3025
+ background-color: var(--md-comp-toolbar-selected-container-color);
3026
+ color: var(--md-comp-toolbar-selected-color);
3027
+ }
3028
+ nav.toolbar > :is(a, button):not(.extra):disabled {
3029
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
3030
+ background-color: transparent;
3031
+ box-shadow: none;
3032
+ cursor: default;
3033
+ }
3034
+ nav.toolbar > :is(a, button):not(.extra):is(.circle, :has(> i):not(:has(> span))) {
3035
+ width: var(--md-comp-toolbar-action-size);
3036
+ padding: 0;
3037
+ border-radius: 50%;
3038
+ }
3039
+ nav.toolbar > :is(a, button).filled:not(.extra) {
3040
+ background-color: var(--md-sys-color-primary);
3041
+ color: var(--md-sys-color-on-primary);
3042
+ border-radius: 16px;
3043
+ box-shadow: none;
3044
+ }
3045
+ nav.toolbar > :is(a, button).filled:not(.extra):hover {
3046
+ background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 8%, var(--md-sys-color-primary));
3047
+ }
3048
+ nav.toolbar > :is(a, button).filled:not(.extra):active {
3049
+ background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 10%, var(--md-sys-color-primary));
3050
+ }
3051
+ nav.toolbar > :is(a, button).filled:not(.extra):has(> span) {
3052
+ height: 40px;
3053
+ min-height: 40px;
3054
+ padding: 0 24px;
3055
+ border-radius: 20px;
3056
+ width: auto;
3057
+ }
3058
+ nav.toolbar > .field {
3059
+ flex: 1 1 auto;
3060
+ align-self: center;
3061
+ min-width: 0;
3062
+ margin: 0;
3063
+ }
3064
+ nav.toolbar > .max {
3065
+ flex: 1 1 auto;
3066
+ align-self: stretch;
3067
+ min-width: 0;
3068
+ min-height: 0;
3069
+ }
3070
+ nav.toolbar.vibrant,
3071
+ nav.toolbar.filled {
3072
+ --md-comp-toolbar-container-color: var(--md-sys-color-primary-container);
3073
+ --md-comp-toolbar-selected-container-color: var(--md-sys-color-surface);
3074
+ --md-comp-toolbar-selected-color: var(--md-sys-color-on-surface);
3075
+ color: var(--md-sys-color-on-primary-container);
3076
+ }
3077
+ nav.toolbar.vertical {
3078
+ flex-direction: column;
3079
+ min-width: var(--md-comp-toolbar-container-height);
2326
3080
  min-height: var(--md-comp-toolbar-container-height);
2327
3081
  padding: var(--md-comp-toolbar-leading-space) 8px;
2328
3082
  }
@@ -2339,6 +3093,17 @@
2339
3093
  justify-content: space-around;
2340
3094
  box-shadow: none !important;
2341
3095
  }
3096
+ .toolbar-group {
3097
+ display: inline-flex;
3098
+ align-items: center;
3099
+ gap: 8px;
3100
+ }
3101
+ .toolbar-group.vertical {
3102
+ flex-direction: column;
3103
+ }
3104
+ .toolbar-group > nav.toolbar {
3105
+ margin: 0;
3106
+ }
2342
3107
  nav.toolbar.fixed {
2343
3108
  position: fixed;
2344
3109
  z-index: 996;
@@ -2362,10 +3127,12 @@
2362
3127
  nav.toolbar:is(.max, .docked).fixed.bottom {
2363
3128
  inset: auto 0 0 0;
2364
3129
  transform: none;
3130
+ padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
2365
3131
  }
2366
3132
  nav.toolbar:is(.max, .docked).fixed.top {
2367
3133
  inset: 0 0 auto 0;
2368
3134
  transform: none;
3135
+ padding-bottom: 8px;
2369
3136
  }
2370
3137
  .scale-transition {
2371
3138
  transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
@@ -2378,7 +3145,7 @@
2378
3145
  transform: scale(1);
2379
3146
  }
2380
3147
  :where(article) {
2381
- --md-comp-elevated-card-container-color: var(--md-sys-color-surface);
3148
+ --md-comp-elevated-card-container-color: var(--md-sys-color-surface-container-low);
2382
3149
  --md-comp-elevated-card-container-shape: 12px;
2383
3150
  position: relative;
2384
3151
  box-sizing: border-box;
@@ -2396,7 +3163,7 @@
2396
3163
  }
2397
3164
  :where(article).filled {
2398
3165
  box-shadow: none !important;
2399
- background-color: var(--md-sys-color-surface-variant);
3166
+ background-color: var(--md-sys-color-surface-container-highest);
2400
3167
  }
2401
3168
  :where(article).outlined,
2402
3169
  :where(article).border {
@@ -2578,7 +3345,7 @@
2578
3345
  bottom: auto;
2579
3346
  height: calc(100% - 52px);
2580
3347
  }
2581
- #toast-container {
3348
+ #snackbar-container {
2582
3349
  --md-comp-snackbar-container-margin-leading: 8px;
2583
3350
  --md-comp-snackbar-container-margin-trailing: 8px;
2584
3351
  --md-comp-snackbar-container-margin-bottom: 8px;
@@ -2589,33 +3356,32 @@
2589
3356
  gap: 8px;
2590
3357
  position: fixed;
2591
3358
  z-index: 10000;
2592
- inset: auto var(--md-comp-snackbar-container-margin-trailing) var(--md-comp-snackbar-container-margin-bottom) var(--md-comp-snackbar-container-margin-leading);
3359
+ inset: auto var(--md-comp-snackbar-container-margin-trailing) max(var(--md-comp-snackbar-container-margin-bottom), env(safe-area-inset-bottom, 0px)) var(--md-comp-snackbar-container-margin-leading);
2593
3360
  width: auto;
2594
3361
  max-width: calc(100% - var(--md-comp-snackbar-container-margin-leading) - var(--md-comp-snackbar-container-margin-trailing));
2595
3362
  pointer-events: none;
2596
3363
  }
2597
- #toast-container > * {
3364
+ #snackbar-container > * {
2598
3365
  pointer-events: auto;
2599
3366
  }
2600
3367
  @media (width >= 601px) {
2601
- #toast-container {
3368
+ #snackbar-container {
2602
3369
  --md-comp-snackbar-container-margin-leading: 24px;
2603
3370
  --md-comp-snackbar-container-margin-trailing: 24px;
2604
3371
  --md-comp-snackbar-container-margin-bottom: 24px;
2605
3372
  --md-comp-snackbar-container-margin-top: 24px;
2606
- align-items: flex-start;
3373
+ align-items: center;
3374
+ left: 50%;
3375
+ right: auto;
2607
3376
  width: max-content;
2608
3377
  min-width: min(344px, 100% - 48px);
2609
3378
  max-width: min(672px, 100% - 48px);
3379
+ transform: translateX(-50%);
2610
3380
  }
2611
3381
  }
2612
- #toast-container:has(> .top), #toast-container.top {
2613
- inset: var(--md-comp-snackbar-container-margin-top) var(--md-comp-snackbar-container-margin-trailing) auto var(--md-comp-snackbar-container-margin-leading);
2614
- }
2615
- #toast-container:has(> .center), #toast-container.center {
2616
- left: 50%;
2617
- right: auto;
2618
- transform: translateX(-50%);
3382
+ #snackbar-container:has(> .top), #snackbar-container.top {
3383
+ inset-block-start: var(--md-comp-snackbar-container-margin-top);
3384
+ inset-block-end: auto;
2619
3385
  }
2620
3386
  .snackbar {
2621
3387
  --md-comp-snackbar-container-color: var(--md-sys-color-inverse-surface);
@@ -2761,39 +3527,42 @@
2761
3527
  .snackbar + .snackbar {
2762
3528
  margin-top: 8px;
2763
3529
  }
2764
- #toast-container .snackbar {
3530
+ #snackbar-container .snackbar {
2765
3531
  position: relative;
2766
- top: 35px;
2767
3532
  margin-top: 0;
2768
3533
  }
2769
3534
  .snackbar.active {
2770
3535
  position: fixed;
2771
3536
  z-index: 10000;
2772
- inset: auto auto 16px 16px;
3537
+ left: 50%;
3538
+ right: auto;
3539
+ bottom: 24px;
2773
3540
  top: auto;
3541
+ transform: translateX(-50%);
2774
3542
  width: max-content;
2775
- max-width: min(672px, 100% - 32px);
3543
+ max-width: min(672px, 100% - 48px);
2776
3544
  }
2777
3545
  @media (width < 601px) {
2778
3546
  .snackbar.active {
2779
- inset: auto 8px 8px 8px;
3547
+ left: 8px;
3548
+ right: 8px;
3549
+ bottom: max(8px, env(safe-area-inset-bottom, 0px));
3550
+ transform: none;
2780
3551
  width: auto;
2781
3552
  max-width: none;
2782
3553
  }
2783
3554
  }
2784
3555
  .snackbar.active.top {
2785
- inset: 16px auto auto 16px;
3556
+ top: 24px;
3557
+ bottom: auto;
2786
3558
  }
2787
3559
  @media (width < 601px) {
2788
3560
  .snackbar.active.top {
2789
- inset: 8px 8px auto 8px;
3561
+ top: 8px;
3562
+ left: 8px;
3563
+ right: 8px;
2790
3564
  }
2791
3565
  }
2792
- .snackbar.active.center {
2793
- left: 50%;
2794
- right: auto;
2795
- transform: translateX(-50%);
2796
- }
2797
3566
  .tabs {
2798
3567
  --md-comp-primary-tab-container-color: var(--md-sys-color-surface);
2799
3568
  --md-comp-primary-tab-container-height: 48px;
@@ -2949,24 +3718,6 @@
2949
3718
  padding-inline: 12px;
2950
3719
  }
2951
3720
  }
2952
- .tabs.transparent {
2953
- --md-comp-primary-tab-container-color: transparent;
2954
- --md-comp-primary-tab-label-text-color: color-mix(
2955
- in oklab,
2956
- var(--md-sys-color-on-primary) 74%,
2957
- transparent
2958
- );
2959
- --md-comp-primary-tab-active-label-text-color: var(--md-sys-color-on-primary);
2960
- --md-comp-primary-tab-active-indicator-color: var(--md-sys-color-on-primary);
2961
- border-block-end-color: color-mix(in oklab, var(--md-sys-color-on-primary) 20%, transparent);
2962
- }
2963
- .tabs.transparent > a:hover, .tabs.transparent > a:focus, .tabs.transparent > .tab > a:hover, .tabs.transparent > .tab > a:focus {
2964
- color: var(--md-sys-color-on-primary);
2965
- background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 8%, transparent);
2966
- }
2967
- .tabs.transparent > a.active:hover, .tabs.transparent > a.active:focus, .tabs.transparent > .tab > a.active:hover, .tabs.transparent > .tab > a.active:focus {
2968
- background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 10%, transparent);
2969
- }
2970
3721
  .tooltip {
2971
3722
  --md-comp-plain-tooltip-container-color: var(--md-sys-color-inverse-surface);
2972
3723
  --md-comp-plain-tooltip-supporting-text-color: var(--md-sys-color-inverse-on-surface);
@@ -3053,7 +3804,7 @@
3053
3804
  }
3054
3805
  .tooltip.rich,
3055
3806
  .tooltip.max {
3056
- --md-comp-rich-tooltip-container-color: var(--md-sys-color-surface);
3807
+ --md-comp-rich-tooltip-container-color: var(--md-sys-color-surface-container);
3057
3808
  --md-comp-rich-tooltip-container-shape: 12px;
3058
3809
  display: flex;
3059
3810
  flex-direction: column;
@@ -3106,36 +3857,48 @@
3106
3857
  border: none;
3107
3858
  }
3108
3859
  menu[id] {
3109
- --md-comp-menu-container-color: var(--md-sys-color-surface);
3110
- --md-comp-menu-container-shape: 1rem;
3860
+ --md-comp-menu-container-color: var(--md-sys-color-surface-container);
3861
+ --md-comp-menu-container-shape: 16px;
3111
3862
  --md-comp-menu-item-container-height: 48px;
3863
+ --md-comp-menu-item-container-shape: 4px;
3864
+ --md-comp-menu-item-selected-container-shape: 12px;
3865
+ --md-comp-menu-item-label-text-color: var(--md-sys-color-on-surface);
3866
+ --md-comp-menu-item-leading-icon-color: var(--md-sys-color-on-surface-variant);
3867
+ --md-comp-menu-item-trailing-icon-color: var(--md-sys-color-on-surface-variant);
3868
+ --md-comp-menu-item-selected-container-color: var(--md-sys-color-tertiary-container);
3869
+ --md-comp-menu-item-selected-label-text-color: var(--md-sys-color-on-tertiary-container);
3870
+ --md-comp-menu-item-selected-leading-icon-color: var(--md-sys-color-on-tertiary-container);
3871
+ --md-comp-menu-item-icon-size: 20px;
3872
+ --md-comp-menu-supporting-text-color: var(--md-sys-color-on-surface-variant);
3112
3873
  box-sizing: border-box;
3113
- display: none;
3114
- position: absolute;
3115
- left: 0;
3116
- top: 0;
3117
- z-index: 9999;
3118
3874
  min-width: 112px;
3119
3875
  margin: 0;
3120
- padding: 8px 0;
3876
+ padding: 4px;
3121
3877
  list-style: none;
3122
- overflow-y: auto;
3123
- opacity: 0;
3124
- user-select: none;
3125
- transform-origin: 0 0;
3126
3878
  background-color: var(--md-comp-menu-container-color);
3127
3879
  border-radius: var(--md-comp-menu-container-shape);
3128
- color: var(--md-sys-color-on-surface);
3880
+ color: var(--md-comp-menu-item-label-text-color);
3129
3881
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
3882
+ transition: border-radius 200ms ease;
3883
+ }
3884
+ menu[id].vibrant {
3885
+ --md-comp-menu-container-color: var(--md-sys-color-tertiary-container);
3886
+ --md-comp-menu-item-label-text-color: var(--md-sys-color-on-tertiary-container);
3887
+ --md-comp-menu-item-leading-icon-color: var(--md-sys-color-on-tertiary-container);
3888
+ --md-comp-menu-item-trailing-icon-color: var(--md-sys-color-on-tertiary-container);
3889
+ --md-comp-menu-supporting-text-color: var(--md-sys-color-on-tertiary-container);
3890
+ --md-comp-menu-item-selected-container-color: var(--md-sys-color-tertiary);
3891
+ --md-comp-menu-item-selected-label-text-color: var(--md-sys-color-on-tertiary);
3892
+ --md-comp-menu-item-selected-leading-icon-color: var(--md-sys-color-on-tertiary);
3130
3893
  }
3131
3894
  menu[id] > li {
3132
3895
  box-sizing: border-box;
3133
3896
  margin: 0;
3134
3897
  padding: 0;
3135
3898
  width: 100%;
3136
- min-height: var(--md-comp-menu-item-container-height);
3137
3899
  cursor: pointer;
3138
3900
  text-align: left;
3901
+ border-radius: var(--md-comp-menu-item-container-shape);
3139
3902
  }
3140
3903
  menu[id] > li > a,
3141
3904
  menu[id] > li > button,
@@ -3147,10 +3910,10 @@
3147
3910
  width: 100%;
3148
3911
  min-height: var(--md-comp-menu-item-container-height);
3149
3912
  margin: 0;
3150
- padding: 0 12px;
3913
+ padding: 0 8px;
3151
3914
  border: 0;
3152
3915
  background: none;
3153
- color: var(--md-sys-color-on-surface);
3916
+ color: var(--md-comp-menu-item-label-text-color);
3154
3917
  text-decoration: none;
3155
3918
  cursor: pointer;
3156
3919
  }
@@ -3174,21 +3937,63 @@
3174
3937
  menu[id] > li > a > i,
3175
3938
  menu[id] > li > button > i,
3176
3939
  menu[id] > li > i {
3177
- flex: 0 0 24px;
3178
- font-size: 24px;
3179
- width: 24px;
3180
- height: 24px;
3181
- line-height: 24px;
3182
- color: var(--md-sys-color-on-surface-variant);
3940
+ flex: 0 0 var(--md-comp-menu-item-icon-size);
3941
+ font-size: var(--md-comp-menu-item-icon-size);
3942
+ width: var(--md-comp-menu-item-icon-size);
3943
+ height: var(--md-comp-menu-item-icon-size);
3944
+ line-height: var(--md-comp-menu-item-icon-size);
3945
+ color: var(--md-comp-menu-item-leading-icon-color);
3946
+ }
3947
+ menu[id] > li > :is(a, button) > i:last-child:not(:only-child) {
3948
+ margin-inline-start: auto;
3949
+ color: var(--md-comp-menu-item-trailing-icon-color);
3183
3950
  }
3184
- menu[id] > li:not(.disabled, .divider, .optgroup) {
3185
- width: calc(100% - 16px);
3186
- margin-inline: 8px;
3187
- border-radius: 2rem;
3951
+ menu[id] > li > :is(a, button) > :is(kbd, .shortcut) {
3952
+ margin-inline-start: auto;
3953
+ padding: 0;
3954
+ border: 0;
3955
+ background: none;
3956
+ color: var(--md-comp-menu-supporting-text-color);
3957
+ font-family: inherit;
3958
+ font-family: var(--md-sys-typescale-label-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
3959
+ font-size: var(--md-sys-typescale-label-large-font-size);
3960
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
3961
+ line-height: var(--md-sys-typescale-label-large-line-height);
3962
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
3188
3963
  }
3189
- menu[id] > li:not(.disabled, .divider):hover,
3190
- menu[id] > li.active {
3191
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
3964
+ menu[id] > li:not(.disabled, .divider, .optgroup, .gap, .label) {
3965
+ min-height: var(--md-comp-menu-item-container-height);
3966
+ }
3967
+ menu[id] > li:not(.disabled, .divider, .optgroup, .gap, .label):hover,
3968
+ menu[id] > li.active:not(.selected, [aria-selected=true]) {
3969
+ background-color: color-mix(in oklab, var(--md-comp-menu-item-label-text-color) 8%, transparent);
3970
+ }
3971
+ menu[id] > li:not(.disabled, .divider, .optgroup, .gap, .label):active {
3972
+ background-color: color-mix(in oklab, var(--md-comp-menu-item-label-text-color) 10%, transparent);
3973
+ }
3974
+ menu[id] > li.selected,
3975
+ menu[id] > li[aria-selected=true] {
3976
+ border-radius: var(--md-comp-menu-item-selected-container-shape);
3977
+ background-color: var(--md-comp-menu-item-selected-container-color);
3978
+ color: var(--md-comp-menu-item-selected-label-text-color);
3979
+ }
3980
+ menu[id] > li.selected > :is(a, button, span),
3981
+ menu[id] > li[aria-selected=true] > :is(a, button, span) {
3982
+ color: var(--md-comp-menu-item-selected-label-text-color);
3983
+ }
3984
+ menu[id] > li.selected > :is(a, button, span) > i,
3985
+ menu[id] > li.selected > i,
3986
+ menu[id] > li[aria-selected=true] > :is(a, button, span) > i,
3987
+ menu[id] > li[aria-selected=true] > i {
3988
+ color: var(--md-comp-menu-item-selected-leading-icon-color);
3989
+ }
3990
+ menu[id] > li.selected:hover,
3991
+ menu[id] > li[aria-selected=true]:hover {
3992
+ background-color: color-mix(in oklab, var(--md-comp-menu-item-selected-label-text-color) 8%, var(--md-comp-menu-item-selected-container-color));
3993
+ }
3994
+ menu[id] > li:focus-visible {
3995
+ outline: 3px solid var(--md-sys-color-secondary);
3996
+ outline-offset: -3px;
3192
3997
  }
3193
3998
  menu[id] > li.disabled {
3194
3999
  pointer-events: none;
@@ -3197,75 +4002,248 @@
3197
4002
  menu[id] > hr,
3198
4003
  menu[id] > li.divider {
3199
4004
  display: block;
3200
- width: 100%;
4005
+ width: calc(100% - 8px);
3201
4006
  height: 1px;
3202
4007
  min-height: 0;
3203
- margin: 8px 0;
4008
+ margin: 4px auto;
3204
4009
  padding: 0;
3205
4010
  border: 0;
3206
4011
  background-color: var(--md-sys-color-outline-variant);
3207
4012
  cursor: default;
4013
+ pointer-events: none;
4014
+ border-radius: 0;
3208
4015
  }
3209
- menu[id]:has(> li > menu) {
3210
- overflow: visible;
4016
+ menu[id] > li.gap {
4017
+ height: 6px;
4018
+ min-height: 6px;
4019
+ margin: 0 -4px;
4020
+ padding: 0;
4021
+ pointer-events: none;
4022
+ cursor: default;
4023
+ background: transparent;
4024
+ border-radius: 0;
4025
+ box-shadow: none;
4026
+ }
4027
+ menu[id] > li.label {
4028
+ display: flex;
4029
+ align-items: center;
4030
+ min-height: 32px;
4031
+ padding: 0 8px;
4032
+ pointer-events: none;
4033
+ cursor: default;
4034
+ color: var(--md-comp-menu-supporting-text-color);
4035
+ font-family: var(--md-sys-typescale-label-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
4036
+ font-size: var(--md-sys-typescale-label-large-font-size);
4037
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
4038
+ line-height: var(--md-sys-typescale-label-large-line-height);
4039
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
4040
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3211
4041
  }
3212
4042
  menu[id] li:has(> menu) {
3213
4043
  position: relative;
3214
4044
  }
3215
4045
  menu[id] li:has(> menu) > :is(a, button, span)::after {
3216
4046
  content: "";
3217
- flex: 0 0 24px;
3218
- width: 24px;
3219
- height: 24px;
4047
+ flex: 0 0 var(--md-comp-menu-item-icon-size);
4048
+ width: var(--md-comp-menu-item-icon-size);
4049
+ height: var(--md-comp-menu-item-icon-size);
3220
4050
  margin-inline-start: auto;
3221
- background-color: var(--md-sys-color-on-surface-variant);
3222
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 6l6 6-6 6'/%3E%3C/svg%3E") center/24px no-repeat;
4051
+ background-color: var(--md-comp-menu-item-trailing-icon-color);
4052
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 6l6 6-6 6'/%3E%3C/svg%3E") center/20px no-repeat;
4053
+ }
4054
+ menu[id] {
4055
+ display: none;
4056
+ position: absolute;
4057
+ left: 0;
4058
+ top: 0;
4059
+ z-index: 9999;
4060
+ overflow-y: auto;
4061
+ opacity: 0;
4062
+ user-select: none;
4063
+ transform-origin: 0 0;
4064
+ }
4065
+ menu[id]:has(> li > menu) {
4066
+ overflow: visible;
4067
+ }
4068
+ menu[id]:has(> li:is(:hover, :focus-within, .open) > menu) {
4069
+ --md-comp-menu-container-shape: 8px;
3223
4070
  }
3224
4071
  menu[id] li > menu {
3225
- --md-comp-menu-container-color: var(--md-sys-color-surface);
3226
- --md-comp-menu-container-shape: 1rem;
4072
+ --md-comp-menu-container-color: var(--md-sys-color-surface-container);
4073
+ --md-comp-menu-container-shape: 16px;
3227
4074
  --md-comp-menu-item-container-height: 48px;
4075
+ --md-comp-menu-item-container-shape: 4px;
4076
+ --md-comp-menu-item-selected-container-shape: 12px;
4077
+ --md-comp-menu-item-label-text-color: var(--md-sys-color-on-surface);
4078
+ --md-comp-menu-item-leading-icon-color: var(--md-sys-color-on-surface-variant);
4079
+ --md-comp-menu-item-trailing-icon-color: var(--md-sys-color-on-surface-variant);
4080
+ --md-comp-menu-item-selected-container-color: var(--md-sys-color-tertiary-container);
4081
+ --md-comp-menu-item-selected-label-text-color: var(--md-sys-color-on-tertiary-container);
4082
+ --md-comp-menu-item-selected-leading-icon-color: var(--md-sys-color-on-tertiary-container);
4083
+ --md-comp-menu-item-icon-size: 20px;
4084
+ --md-comp-menu-supporting-text-color: var(--md-sys-color-on-surface-variant);
3228
4085
  box-sizing: border-box;
3229
- display: none;
3230
- position: absolute;
3231
- inset-block-start: 0;
3232
- inset-inline-start: 100%;
3233
- z-index: 1;
3234
4086
  min-width: 112px;
3235
4087
  margin: 0;
3236
- padding: 8px 0;
4088
+ padding: 4px;
3237
4089
  list-style: none;
3238
- overflow: visible;
3239
- opacity: 1;
3240
- transform: none;
3241
4090
  background-color: var(--md-comp-menu-container-color);
3242
4091
  border-radius: var(--md-comp-menu-container-shape);
3243
- color: var(--md-sys-color-on-surface);
4092
+ color: var(--md-comp-menu-item-label-text-color);
3244
4093
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
4094
+ transition: border-radius 200ms ease;
4095
+ }
4096
+ menu[id] li > menu.vibrant {
4097
+ --md-comp-menu-container-color: var(--md-sys-color-tertiary-container);
4098
+ --md-comp-menu-item-label-text-color: var(--md-sys-color-on-tertiary-container);
4099
+ --md-comp-menu-item-leading-icon-color: var(--md-sys-color-on-tertiary-container);
4100
+ --md-comp-menu-item-trailing-icon-color: var(--md-sys-color-on-tertiary-container);
4101
+ --md-comp-menu-supporting-text-color: var(--md-sys-color-on-tertiary-container);
4102
+ --md-comp-menu-item-selected-container-color: var(--md-sys-color-tertiary);
4103
+ --md-comp-menu-item-selected-label-text-color: var(--md-sys-color-on-tertiary);
4104
+ --md-comp-menu-item-selected-leading-icon-color: var(--md-sys-color-on-tertiary);
3245
4105
  }
3246
4106
  menu[id] li > menu > li {
3247
4107
  box-sizing: border-box;
3248
- min-height: var(--md-comp-menu-item-container-height);
3249
- }
3250
- menu[id] li > menu > li:not(.disabled, .divider, .optgroup) {
3251
- width: calc(100% - 16px);
3252
- margin-inline: 8px;
3253
- border-radius: 2rem;
3254
- }
3255
- menu[id] li > menu > li:not(.disabled, .divider):hover,
3256
- menu[id] li > menu > li.active {
3257
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
4108
+ margin: 0;
4109
+ padding: 0;
4110
+ width: 100%;
4111
+ cursor: pointer;
4112
+ text-align: left;
4113
+ border-radius: var(--md-comp-menu-item-container-shape);
3258
4114
  }
3259
- menu[id] li > menu > li > :is(a, button, span) {
4115
+ menu[id] li > menu > li > a,
4116
+ menu[id] li > menu > li > button,
4117
+ menu[id] li > menu > li > span {
3260
4118
  display: flex;
3261
4119
  align-items: center;
3262
4120
  gap: 12px;
3263
4121
  box-sizing: border-box;
3264
4122
  width: 100%;
3265
4123
  min-height: var(--md-comp-menu-item-container-height);
3266
- padding: 0 12px;
3267
- color: var(--md-sys-color-on-surface);
4124
+ margin: 0;
4125
+ padding: 0 8px;
4126
+ border: 0;
4127
+ background: none;
4128
+ color: var(--md-comp-menu-item-label-text-color);
3268
4129
  text-decoration: none;
4130
+ cursor: pointer;
4131
+ }
4132
+ menu[id] li > menu > li > a:hover, menu[id] li > menu > li > a:focus,
4133
+ menu[id] li > menu > li > button:hover,
4134
+ menu[id] li > menu > li > button:focus,
4135
+ menu[id] li > menu > li > span:hover,
4136
+ menu[id] li > menu > li > span:focus {
4137
+ background: none;
4138
+ }
4139
+ menu[id] li > menu > li > a,
4140
+ menu[id] li > menu > li > button,
4141
+ menu[id] li > menu > li > span {
4142
+ font-family: var(--md-sys-typescale-label-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
4143
+ font-size: var(--md-sys-typescale-label-large-font-size);
4144
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
4145
+ line-height: var(--md-sys-typescale-label-large-line-height);
4146
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
4147
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
4148
+ }
4149
+ menu[id] li > menu > li > a > i,
4150
+ menu[id] li > menu > li > button > i,
4151
+ menu[id] li > menu > li > i {
4152
+ flex: 0 0 var(--md-comp-menu-item-icon-size);
4153
+ font-size: var(--md-comp-menu-item-icon-size);
4154
+ width: var(--md-comp-menu-item-icon-size);
4155
+ height: var(--md-comp-menu-item-icon-size);
4156
+ line-height: var(--md-comp-menu-item-icon-size);
4157
+ color: var(--md-comp-menu-item-leading-icon-color);
4158
+ }
4159
+ menu[id] li > menu > li > :is(a, button) > i:last-child:not(:only-child) {
4160
+ margin-inline-start: auto;
4161
+ color: var(--md-comp-menu-item-trailing-icon-color);
4162
+ }
4163
+ menu[id] li > menu > li > :is(a, button) > :is(kbd, .shortcut) {
4164
+ margin-inline-start: auto;
4165
+ padding: 0;
4166
+ border: 0;
4167
+ background: none;
4168
+ color: var(--md-comp-menu-supporting-text-color);
4169
+ font-family: inherit;
4170
+ font-family: var(--md-sys-typescale-label-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
4171
+ font-size: var(--md-sys-typescale-label-large-font-size);
4172
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
4173
+ line-height: var(--md-sys-typescale-label-large-line-height);
4174
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
4175
+ }
4176
+ menu[id] li > menu > li:not(.disabled, .divider, .optgroup, .gap, .label) {
4177
+ min-height: var(--md-comp-menu-item-container-height);
4178
+ }
4179
+ menu[id] li > menu > li:not(.disabled, .divider, .optgroup, .gap, .label):hover,
4180
+ menu[id] li > menu > li.active:not(.selected, [aria-selected=true]) {
4181
+ background-color: color-mix(in oklab, var(--md-comp-menu-item-label-text-color) 8%, transparent);
4182
+ }
4183
+ menu[id] li > menu > li:not(.disabled, .divider, .optgroup, .gap, .label):active {
4184
+ background-color: color-mix(in oklab, var(--md-comp-menu-item-label-text-color) 10%, transparent);
4185
+ }
4186
+ menu[id] li > menu > li.selected,
4187
+ menu[id] li > menu > li[aria-selected=true] {
4188
+ border-radius: var(--md-comp-menu-item-selected-container-shape);
4189
+ background-color: var(--md-comp-menu-item-selected-container-color);
4190
+ color: var(--md-comp-menu-item-selected-label-text-color);
4191
+ }
4192
+ menu[id] li > menu > li.selected > :is(a, button, span),
4193
+ menu[id] li > menu > li[aria-selected=true] > :is(a, button, span) {
4194
+ color: var(--md-comp-menu-item-selected-label-text-color);
4195
+ }
4196
+ menu[id] li > menu > li.selected > :is(a, button, span) > i,
4197
+ menu[id] li > menu > li.selected > i,
4198
+ menu[id] li > menu > li[aria-selected=true] > :is(a, button, span) > i,
4199
+ menu[id] li > menu > li[aria-selected=true] > i {
4200
+ color: var(--md-comp-menu-item-selected-leading-icon-color);
4201
+ }
4202
+ menu[id] li > menu > li.selected:hover,
4203
+ menu[id] li > menu > li[aria-selected=true]:hover {
4204
+ background-color: color-mix(in oklab, var(--md-comp-menu-item-selected-label-text-color) 8%, var(--md-comp-menu-item-selected-container-color));
4205
+ }
4206
+ menu[id] li > menu > li:focus-visible {
4207
+ outline: 3px solid var(--md-sys-color-secondary);
4208
+ outline-offset: -3px;
4209
+ }
4210
+ menu[id] li > menu > li.disabled {
4211
+ pointer-events: none;
4212
+ opacity: 0.38;
4213
+ }
4214
+ menu[id] li > menu > hr,
4215
+ menu[id] li > menu > li.divider {
4216
+ display: block;
4217
+ width: calc(100% - 8px);
4218
+ height: 1px;
4219
+ min-height: 0;
4220
+ margin: 4px auto;
4221
+ padding: 0;
4222
+ border: 0;
4223
+ background-color: var(--md-sys-color-outline-variant);
4224
+ cursor: default;
4225
+ pointer-events: none;
4226
+ border-radius: 0;
4227
+ }
4228
+ menu[id] li > menu > li.gap {
4229
+ height: 6px;
4230
+ min-height: 6px;
4231
+ margin: 0 -4px;
4232
+ padding: 0;
4233
+ pointer-events: none;
4234
+ cursor: default;
4235
+ background: transparent;
4236
+ border-radius: 0;
4237
+ box-shadow: none;
4238
+ }
4239
+ menu[id] li > menu > li.label {
4240
+ display: flex;
4241
+ align-items: center;
4242
+ min-height: 32px;
4243
+ padding: 0 8px;
4244
+ pointer-events: none;
4245
+ cursor: default;
4246
+ color: var(--md-comp-menu-supporting-text-color);
3269
4247
  font-family: var(--md-sys-typescale-label-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
3270
4248
  font-size: var(--md-sys-typescale-label-large-font-size);
3271
4249
  font-weight: var(--md-sys-typescale-label-large-font-weight);
@@ -3273,30 +4251,76 @@
3273
4251
  letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
3274
4252
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3275
4253
  }
4254
+ menu[id] li > menu li:has(> menu) {
4255
+ position: relative;
4256
+ }
4257
+ menu[id] li > menu li:has(> menu) > :is(a, button, span)::after {
4258
+ content: "";
4259
+ flex: 0 0 var(--md-comp-menu-item-icon-size);
4260
+ width: var(--md-comp-menu-item-icon-size);
4261
+ height: var(--md-comp-menu-item-icon-size);
4262
+ margin-inline-start: auto;
4263
+ background-color: var(--md-comp-menu-item-trailing-icon-color);
4264
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 6l6 6-6 6'/%3E%3C/svg%3E") center/20px no-repeat;
4265
+ }
4266
+ menu[id] li > menu {
4267
+ display: block;
4268
+ position: absolute;
4269
+ inset-block-start: 0;
4270
+ inset-inline-start: 100%;
4271
+ z-index: 1;
4272
+ overflow: visible;
4273
+ visibility: hidden;
4274
+ opacity: 0;
4275
+ pointer-events: none;
4276
+ transform: translateX(-4px) scale(0.96);
4277
+ transform-origin: 0 0;
4278
+ transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease, border-radius 200ms ease;
4279
+ }
3276
4280
  @media (hover: hover) and (pointer: fine) {
3277
4281
  menu[id] li:is(:hover, :focus-within) > menu {
3278
- display: block;
4282
+ visibility: visible;
4283
+ opacity: 1;
4284
+ pointer-events: auto;
4285
+ transform: none;
4286
+ --md-comp-menu-container-shape: 20px;
3279
4287
  }
3280
4288
  }
3281
4289
  menu[id] li.open > menu {
3282
- display: block;
4290
+ visibility: visible;
4291
+ opacity: 1;
4292
+ pointer-events: auto;
4293
+ transform: none;
4294
+ --md-comp-menu-container-shape: 20px;
3283
4295
  }
3284
4296
  menu[id] li.submenu-start > menu {
3285
4297
  inset-inline-start: auto;
3286
4298
  inset-inline-end: 100%;
4299
+ transform-origin: 100% 0;
4300
+ }
4301
+ menu[id] li.submenu-start:is(:hover, :focus-within, .open) > menu {
4302
+ transform: none;
3287
4303
  }
3288
4304
  body.keyboard-focused menu[id] > li:focus {
3289
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, transparent);
4305
+ background-color: color-mix(in oklab, var(--md-comp-menu-item-label-text-color) 10%, transparent);
4306
+ }
4307
+ body.keyboard-focused menu[id] > li:focus:not(.selected, [aria-selected=true]) {
4308
+ outline: 3px solid var(--md-sys-color-secondary);
4309
+ outline-offset: -3px;
3290
4310
  }
3291
- .dropdown-trigger {
4311
+ @media (prefers-reduced-motion: reduce) {
4312
+ menu[id] li > menu {
4313
+ transition: none;
4314
+ }
4315
+ }
4316
+ .menu-trigger {
3292
4317
  cursor: pointer;
3293
4318
  }
3294
4319
  dialog {
3295
- --md-comp-basic-dialog-container-color: var(--md-sys-color-surface);
4320
+ --md-comp-basic-dialog-container-color: var(--md-sys-color-surface-container-high);
3296
4321
  --md-comp-basic-dialog-container-shape: 28px;
3297
4322
  --md-comp-basic-dialog-container-min-width: 280px;
3298
4323
  --md-comp-basic-dialog-container-max-width: 560px;
3299
- --md-comp-basic-dialog-sheet-width: 400px;
3300
4324
  --md-comp-basic-dialog-scrim-blur: 12px;
3301
4325
  box-sizing: border-box;
3302
4326
  width: min(var(--md-comp-basic-dialog-container-max-width), 100% - 48px);
@@ -3338,12 +4362,12 @@
3338
4362
  flex: 0 0 auto;
3339
4363
  margin: 0;
3340
4364
  padding: 24px 24px 16px;
3341
- font-family: var(--md-sys-typescale-headline-small-font-family-name);
4365
+ color: var(--md-sys-color-on-surface);
4366
+ font-family: var(--md-sys-typescale-headline-small-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
3342
4367
  font-size: var(--md-sys-typescale-headline-small-font-size);
3343
4368
  font-weight: var(--md-sys-typescale-headline-small-font-weight);
3344
4369
  line-height: var(--md-sys-typescale-headline-small-line-height);
3345
4370
  letter-spacing: var(--md-sys-typescale-headline-small-letter-spacing);
3346
- color: var(--md-sys-color-on-surface);
3347
4371
  }
3348
4372
  dialog > i:first-child + :is(h1, h2, h3, h4, h5, h6) {
3349
4373
  padding-top: 16px;
@@ -3356,17 +4380,39 @@
3356
4380
  overflow: auto;
3357
4381
  overscroll-behavior: contain;
3358
4382
  margin: 0;
3359
- padding: 0 24px 16px;
3360
- font-family: var(--md-sys-typescale-body-medium-font-family-name);
4383
+ padding: 0 24px 24px;
4384
+ }
4385
+ dialog > p {
4386
+ color: var(--md-sys-color-on-surface-variant);
4387
+ font-family: var(--md-sys-typescale-body-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
3361
4388
  font-size: var(--md-sys-typescale-body-medium-font-size);
3362
4389
  font-weight: var(--md-sys-typescale-body-medium-font-weight);
3363
4390
  line-height: var(--md-sys-typescale-body-medium-line-height);
3364
4391
  letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
3365
- color: color-mix(in oklab, currentColor 72%, transparent);
4392
+ }
4393
+ dialog > i:first-child + :is(h1, h2, h3, h4, h5, h6) + p {
4394
+ text-align: center;
3366
4395
  }
3367
4396
  dialog > :is(h1, h2, h3, h4, h5, h6) + p {
3368
4397
  padding-top: 0;
3369
4398
  }
4399
+ dialog > hr {
4400
+ flex: 0 0 auto;
4401
+ box-sizing: border-box;
4402
+ width: 100%;
4403
+ height: 1px;
4404
+ margin: 0;
4405
+ padding: 0;
4406
+ border: 0;
4407
+ background-color: var(--md-sys-color-outline-variant);
4408
+ }
4409
+ dialog > .list {
4410
+ flex: 1 1 auto;
4411
+ min-height: 0;
4412
+ overflow: auto;
4413
+ margin: 0;
4414
+ --md-comp-list-item-padding: 24px;
4415
+ }
3370
4416
  dialog > :is(form, nav):last-child {
3371
4417
  display: flex;
3372
4418
  flex-wrap: wrap;
@@ -3375,188 +4421,420 @@
3375
4421
  gap: 8px;
3376
4422
  flex: 0 0 auto;
3377
4423
  margin: 0;
3378
- padding: 8px 16px 16px;
4424
+ padding: 0 24px 24px;
3379
4425
  border: 0;
3380
4426
  background: none;
3381
4427
  }
3382
- dialog.max {
3383
- width: 100%;
3384
- max-width: none;
3385
- height: 100%;
3386
- min-width: 0;
3387
- max-height: none;
4428
+ dialog:not(.bottom,
4429
+ .bottom-sheet,
4430
+ .side-sheet,
4431
+ .right,
4432
+ .right-sheet,
4433
+ .left,
4434
+ .left-sheet,
4435
+ .sidenav,
4436
+ .sidenav-overlay) > :is(form, nav):last-child > :is(button, a.button):not(.tonal, .outlined, .elevated, .filled) {
4437
+ box-shadow: none !important;
4438
+ color: var(--md-sys-color-primary);
4439
+ background-color: transparent;
4440
+ border-color: transparent;
4441
+ }
4442
+ dialog:not(.bottom,
4443
+ .bottom-sheet,
4444
+ .side-sheet,
4445
+ .right,
4446
+ .right-sheet,
4447
+ .left,
4448
+ .left-sheet,
4449
+ .sidenav,
4450
+ .sidenav-overlay) > :is(form, nav):last-child > :is(button, a.button):not(.tonal, .outlined, .elevated, .filled):hover {
4451
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, transparent);
4452
+ }
4453
+ dialog:not(.bottom,
4454
+ .bottom-sheet,
4455
+ .side-sheet,
4456
+ .right,
4457
+ .right-sheet,
4458
+ .left,
4459
+ .left-sheet,
4460
+ .sidenav,
4461
+ .sidenav-overlay) > :is(form, nav):last-child > :is(button, a.button):not(.tonal, .outlined, .elevated, .filled):active, dialog:not(.bottom,
4462
+ .bottom-sheet,
4463
+ .side-sheet,
4464
+ .right,
4465
+ .right-sheet,
4466
+ .left,
4467
+ .left-sheet,
4468
+ .sidenav,
4469
+ .sidenav-overlay) > :is(form, nav):last-child > :is(button, a.button):not(.tonal, .outlined, .elevated, .filled):focus {
4470
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
4471
+ }
4472
+ dialog:not(.bottom,
4473
+ .bottom-sheet,
4474
+ .side-sheet,
4475
+ .right,
4476
+ .right-sheet,
4477
+ .left,
4478
+ .left-sheet,
4479
+ .sidenav,
4480
+ .sidenav-overlay) > :is(form, nav):last-child > :is(button, a.button):not(.tonal, .outlined, .elevated, .filled):focus-visible {
4481
+ outline: 3px solid var(--md-sys-color-secondary);
4482
+ outline-offset: 2px;
4483
+ }
4484
+ dialog.max {
4485
+ --md-comp-basic-dialog-container-color: var(--md-sys-color-surface);
4486
+ width: 100%;
4487
+ max-width: none;
4488
+ height: 100%;
4489
+ min-width: 0;
4490
+ max-height: none;
4491
+ margin: 0;
4492
+ border-radius: 0;
4493
+ box-shadow: none !important;
4494
+ }
4495
+ dialog.max::backdrop {
4496
+ background: none;
4497
+ backdrop-filter: none;
4498
+ }
4499
+ dialog.max > header {
4500
+ display: flex;
4501
+ align-items: center;
4502
+ gap: 4px;
4503
+ flex: 0 0 auto;
4504
+ box-sizing: border-box;
4505
+ min-height: 64px;
4506
+ margin: 0;
4507
+ padding: 8px 4px;
4508
+ background: none;
4509
+ box-shadow: none;
4510
+ }
4511
+ dialog.max > header > :is(h1, h2, h3, h4, h5, h6) {
4512
+ flex: 1 1 auto;
4513
+ min-width: 0;
4514
+ margin: 0;
4515
+ padding: 0 12px;
4516
+ text-align: start;
4517
+ color: var(--md-sys-color-on-surface);
4518
+ font-family: var(--md-sys-typescale-title-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
4519
+ font-size: var(--md-sys-typescale-title-large-font-size);
4520
+ font-weight: var(--md-sys-typescale-title-large-font-weight);
4521
+ line-height: var(--md-sys-typescale-title-large-line-height);
4522
+ letter-spacing: var(--md-sys-typescale-title-large-letter-spacing);
4523
+ }
4524
+ dialog.max > header > form {
4525
+ display: flex;
4526
+ flex: 0 0 auto;
4527
+ align-items: center;
4528
+ margin: 0;
4529
+ padding: 0 8px 0 0;
4530
+ border: 0;
4531
+ background: none;
4532
+ box-shadow: none;
4533
+ }
4534
+ dialog.max > header > :is(button, a):has(> i:only-child) {
4535
+ display: inline-flex;
4536
+ flex: 0 0 48px;
4537
+ align-items: center;
4538
+ justify-content: center;
4539
+ box-sizing: border-box;
4540
+ width: 48px;
4541
+ height: 48px;
4542
+ min-width: 48px;
4543
+ padding: 0;
4544
+ border: none;
4545
+ border-radius: 50%;
4546
+ background-color: transparent;
4547
+ color: var(--md-sys-color-on-surface-variant);
4548
+ box-shadow: none;
4549
+ }
4550
+ dialog.max > header > :is(button, a):has(> i:only-child) > i {
4551
+ font-size: 24px;
4552
+ width: 24px;
4553
+ height: 24px;
4554
+ line-height: 24px;
4555
+ }
4556
+ dialog.max > header > :is(button, a):has(> i:only-child):hover {
4557
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
4558
+ }
4559
+ dialog.max > header > :is(button, a):has(> i:only-child):focus-visible {
4560
+ outline: 3px solid var(--md-sys-color-secondary);
4561
+ outline-offset: 2px;
4562
+ }
4563
+ dialog.max > header :is(button, a.button):not(:has(> i:only-child)) {
4564
+ box-shadow: none !important;
4565
+ color: var(--md-sys-color-primary);
4566
+ background-color: transparent;
4567
+ border-color: transparent;
4568
+ }
4569
+ dialog.max > header :is(button, a.button):not(:has(> i:only-child)):hover {
4570
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, transparent);
4571
+ }
4572
+ dialog.max > header :is(button, a.button):not(:has(> i:only-child)):active, dialog.max > header :is(button, a.button):not(:has(> i:only-child)):focus {
4573
+ background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
4574
+ }
4575
+ dialog.max > header :is(button, a.button):not(:has(> i:only-child)):focus-visible {
4576
+ outline: 3px solid var(--md-sys-color-secondary);
4577
+ outline-offset: 2px;
4578
+ }
4579
+ dialog.max > header :is(button, a.button):not(:has(> i:only-child)) {
4580
+ width: auto;
4581
+ min-width: 0;
4582
+ height: 40px;
4583
+ padding-inline: 12px;
4584
+ border-radius: 20px;
4585
+ }
4586
+ dialog.max > :is(p, div) {
4587
+ padding: 8px 24px 24px;
4588
+ }
4589
+ dialog.max > .list {
4590
+ padding-block: 8px;
4591
+ }
4592
+ dialog.bottom,
4593
+ dialog.bottom-sheet {
4594
+ --md-comp-bottom-sheet-container-color: var(--md-sys-color-surface-container-low);
4595
+ --md-comp-bottom-sheet-container-shape: 28px;
4596
+ --md-comp-bottom-sheet-container-max-width: 640px;
4597
+ --md-comp-bottom-sheet-margin-inline: 56px;
4598
+ --md-comp-bottom-sheet-top-inset: 72px;
4599
+ --md-comp-bottom-sheet-drag-handle-color: color-mix(
4600
+ in oklab,
4601
+ var(--md-sys-color-on-surface-variant) 40%,
4602
+ transparent
4603
+ );
4604
+ --md-comp-bottom-sheet-shift: 0px;
4605
+ box-sizing: border-box;
4606
+ position: fixed;
4607
+ inset: auto 0 0;
4608
+ width: 100%;
4609
+ min-width: 0;
4610
+ max-width: none;
4611
+ height: auto;
4612
+ max-height: calc(100dvh - var(--md-comp-bottom-sheet-top-inset));
4613
+ margin: 0;
4614
+ padding: 0;
4615
+ border: none;
4616
+ border-radius: var(--md-comp-bottom-sheet-container-shape) var(--md-comp-bottom-sheet-container-shape) 0 0;
4617
+ background-color: var(--md-comp-bottom-sheet-container-color);
4618
+ color: var(--md-sys-color-on-surface);
4619
+ outline: none;
4620
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
4621
+ translate: 0 var(--md-comp-bottom-sheet-shift);
4622
+ transition: translate 280ms ease;
4623
+ }
4624
+ dialog.bottom:not(:modal),
4625
+ dialog.bottom-sheet:not(:modal) {
4626
+ z-index: 1100;
4627
+ }
4628
+ @media (width >= 601px) {
4629
+ dialog.bottom,
4630
+ dialog.bottom-sheet {
4631
+ width: min(var(--md-comp-bottom-sheet-container-max-width), 100% - 2 * var(--md-comp-bottom-sheet-margin-inline));
4632
+ max-width: var(--md-comp-bottom-sheet-container-max-width);
4633
+ margin-inline: auto;
4634
+ }
4635
+ }
4636
+ dialog.bottom:not(:modal)::backdrop,
4637
+ dialog.bottom-sheet:not(:modal)::backdrop {
4638
+ background: none;
4639
+ backdrop-filter: none;
4640
+ }
4641
+ dialog.bottom::before,
4642
+ dialog.bottom-sheet::before {
4643
+ content: "";
4644
+ box-sizing: border-box;
4645
+ flex: 0 0 48px;
4646
+ width: 48px;
4647
+ height: 48px;
4648
+ align-self: center;
4649
+ margin: 0;
4650
+ padding: 0;
4651
+ background-color: var(--md-comp-bottom-sheet-drag-handle-color);
4652
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='4'%3E%3Crect width='32' height='4' rx='2' fill='black'/%3E%3C/svg%3E") center/32px 4px no-repeat;
4653
+ pointer-events: none;
4654
+ }
4655
+ dialog.bottom:has(> .handle)::before,
4656
+ dialog.bottom-sheet:has(> .handle)::before {
4657
+ content: none;
4658
+ display: none;
4659
+ }
4660
+ dialog.bottom > .handle,
4661
+ dialog.bottom-sheet > .handle {
4662
+ box-sizing: border-box;
4663
+ flex: 0 0 48px;
4664
+ align-self: center;
4665
+ width: 48px;
4666
+ height: 48px;
3388
4667
  margin: 0;
4668
+ padding: 0;
4669
+ border: 0;
3389
4670
  border-radius: 0;
4671
+ background-color: var(--md-comp-bottom-sheet-drag-handle-color);
4672
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='4'%3E%3Crect width='32' height='4' rx='2' fill='black'/%3E%3C/svg%3E") center/32px 4px no-repeat;
4673
+ cursor: grab;
4674
+ appearance: none;
3390
4675
  }
3391
- dialog.bottom,
3392
- dialog.bottom-sheet {
3393
- width: 100%;
3394
- min-width: 0;
3395
- max-width: none;
3396
- max-height: 50%;
3397
- margin: auto 0 0;
3398
- border-radius: var(--md-comp-basic-dialog-container-shape) var(--md-comp-basic-dialog-container-shape) 0 0;
4676
+ dialog.bottom > :is(h1, h2, h3, h4, h5, h6),
4677
+ dialog.bottom-sheet > :is(h1, h2, h3, h4, h5, h6) {
4678
+ padding-top: 8px;
3399
4679
  }
3400
- dialog.top,
3401
- dialog.top-sheet {
3402
- width: 100%;
3403
- min-width: 0;
3404
- max-width: none;
3405
- max-height: 50%;
3406
- margin: 0 0 auto;
3407
- border-radius: 0 0 var(--md-comp-basic-dialog-container-shape) var(--md-comp-basic-dialog-container-shape);
3408
- }
3409
- dialog.left,
3410
- dialog.left-sheet,
3411
- dialog.right,
3412
- dialog.right-sheet {
4680
+ dialog.bottom[open],
4681
+ dialog.bottom-sheet[open] {
4682
+ display: flex;
4683
+ flex-direction: column;
4684
+ }
4685
+ @starting-style {
4686
+ dialog.bottom[open],
4687
+ dialog.bottom-sheet[open] {
4688
+ translate: 0 100%;
4689
+ }
4690
+ }
4691
+ @media (prefers-reduced-motion: reduce) {
4692
+ dialog.bottom,
4693
+ dialog.bottom-sheet {
4694
+ transition: none;
4695
+ }
4696
+ }
4697
+ dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dialog.left-sheet {
4698
+ --md-comp-side-sheet-container-color: var(--md-sys-color-surface-container-low);
4699
+ --md-comp-side-sheet-container-shape: 28px;
4700
+ --md-comp-side-sheet-container-width: 400px;
4701
+ --md-comp-side-sheet-shift: 0px;
4702
+ box-sizing: border-box;
4703
+ position: fixed;
3413
4704
  float: none !important;
3414
- width: min(var(--md-comp-basic-dialog-sheet-width), 85%);
3415
- max-width: none;
4705
+ inset-block: 0;
4706
+ inset-inline-start: auto;
4707
+ inset-inline-end: 0;
4708
+ width: min(var(--md-comp-side-sheet-container-width), 85%);
4709
+ max-width: var(--md-comp-side-sheet-container-width);
3416
4710
  height: auto;
3417
4711
  max-height: none;
3418
4712
  min-width: 0;
3419
4713
  min-height: 0;
3420
4714
  margin: 0;
3421
- inset-block: 0;
4715
+ padding: 0;
4716
+ border: none;
4717
+ background-color: var(--md-comp-side-sheet-container-color);
4718
+ color: var(--md-sys-color-on-surface);
4719
+ outline: none;
4720
+ translate: var(--md-comp-side-sheet-shift) 0;
4721
+ transition: translate 280ms ease, border-radius 200ms ease;
4722
+ }
4723
+ dialog.side-sheet:not(:modal), dialog.right:not(:modal), dialog.right-sheet:not(:modal), dialog.left:not(:modal), dialog.left-sheet:not(:modal) {
4724
+ z-index: 1100;
4725
+ border-radius: 0;
4726
+ box-shadow: none;
4727
+ border-inline-start: 1px solid var(--md-sys-color-outline-variant);
4728
+ }
4729
+ dialog.side-sheet:modal, dialog.right:modal, dialog.right-sheet:modal, dialog.left:modal, dialog.left-sheet:modal {
4730
+ border-radius: var(--md-comp-side-sheet-container-shape) 0 0 var(--md-comp-side-sheet-container-shape);
4731
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
4732
+ }
4733
+ dialog.side-sheet:not(:modal)::backdrop, dialog.right:not(:modal)::backdrop, dialog.right-sheet:not(:modal)::backdrop, dialog.left:not(:modal)::backdrop, dialog.left-sheet:not(:modal)::backdrop {
4734
+ background: none;
4735
+ backdrop-filter: none;
3422
4736
  }
3423
- dialog.left,
3424
- dialog.left-sheet {
4737
+ dialog.side-sheet.left, dialog.side-sheet.left-sheet, dialog.side-sheet.start, dialog.right.left, dialog.right.left-sheet, dialog.right.start, dialog.right-sheet.left, dialog.right-sheet.left-sheet, dialog.right-sheet.start, dialog.left.left, dialog.left.left-sheet, dialog.left.start, dialog.left-sheet.left, dialog.left-sheet.left-sheet, dialog.left-sheet.start {
3425
4738
  inset-inline-start: 0;
3426
4739
  inset-inline-end: auto;
3427
- border-radius: 0 var(--md-comp-basic-dialog-container-shape) var(--md-comp-basic-dialog-container-shape) 0;
3428
4740
  }
3429
- dialog.right,
3430
- dialog.right-sheet {
3431
- inset-inline-start: auto;
3432
- inset-inline-end: 0;
3433
- border-radius: var(--md-comp-basic-dialog-container-shape) 0 0 var(--md-comp-basic-dialog-container-shape);
3434
- }
3435
- .collapsible {
3436
- --md-comp-collapsible-shape: 12px;
3437
- --md-comp-collapsible-container-color: var(--md-sys-color-surface);
3438
- --md-comp-collapsible-outline-color: var(--md-sys-color-outline-variant);
3439
- --md-comp-collapsible-header-padding: 1rem;
3440
- --md-comp-collapsible-body-padding: 0 1rem;
3441
- --md-comp-collapsible-duration: 500ms;
3442
- --md-comp-collapsible-easing-open: cubic-bezier(0.65, 0, 0.35, 1);
3443
- --md-comp-collapsible-easing-close: cubic-bezier(0.65, 0, 0.35, 1);
3444
- --md-comp-collapsible-icon-size: 24px;
3445
- --md-comp-collapsible-popout-inset: 24px;
3446
- --md-comp-collapsible-popout-gap: 16px;
3447
- box-sizing: border-box;
3448
- padding: 0;
3449
- margin: 0.5rem 0 1rem;
3450
- list-style: none;
3451
- overflow: hidden;
3452
- border: 1px solid var(--md-comp-collapsible-outline-color);
3453
- border-radius: var(--md-comp-collapsible-shape);
3454
- background-color: var(--md-comp-collapsible-container-color);
3455
- color: var(--md-sys-color-on-surface);
3456
- box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
4741
+ dialog.side-sheet.left:not(:modal), dialog.side-sheet.left-sheet:not(:modal), dialog.side-sheet.start:not(:modal), dialog.right.left:not(:modal), dialog.right.left-sheet:not(:modal), dialog.right.start:not(:modal), dialog.right-sheet.left:not(:modal), dialog.right-sheet.left-sheet:not(:modal), dialog.right-sheet.start:not(:modal), dialog.left.left:not(:modal), dialog.left.left-sheet:not(:modal), dialog.left.start:not(:modal), dialog.left-sheet.left:not(:modal), dialog.left-sheet.left-sheet:not(:modal), dialog.left-sheet.start:not(:modal) {
4742
+ border-inline-start: 0;
4743
+ border-inline-end: 1px solid var(--md-sys-color-outline-variant);
3457
4744
  }
3458
- .collapsible > details + details {
3459
- border-top: 1px solid var(--md-comp-collapsible-outline-color);
4745
+ dialog.side-sheet.left:modal, dialog.side-sheet.left-sheet:modal, dialog.side-sheet.start:modal, dialog.right.left:modal, dialog.right.left-sheet:modal, dialog.right.start:modal, dialog.right-sheet.left:modal, dialog.right-sheet.left-sheet:modal, dialog.right-sheet.start:modal, dialog.left.left:modal, dialog.left.left-sheet:modal, dialog.left.start:modal, dialog.left-sheet.left:modal, dialog.left-sheet.left-sheet:modal, dialog.left-sheet.start:modal {
4746
+ border-radius: 0 var(--md-comp-side-sheet-container-shape) var(--md-comp-side-sheet-container-shape) 0;
3460
4747
  }
3461
- .collapsible summary {
4748
+ dialog.side-sheet > header, dialog.right > header, dialog.right-sheet > header, dialog.left > header, dialog.left-sheet > header {
3462
4749
  display: flex;
3463
4750
  align-items: center;
4751
+ gap: 12px;
4752
+ flex: 0 0 auto;
3464
4753
  box-sizing: border-box;
3465
- width: 100%;
4754
+ min-height: 64px;
3466
4755
  margin: 0;
3467
- padding: var(--md-comp-collapsible-header-padding);
3468
- border: 0;
4756
+ padding: 8px 12px 8px 24px;
3469
4757
  background: none;
3470
- color: inherit;
3471
- font: inherit;
3472
- font-weight: inherit;
3473
- line-height: 1.5;
3474
- text-align: start;
3475
- list-style: none;
3476
- cursor: pointer;
3477
- -webkit-tap-highlight-color: transparent;
3478
- }
3479
- .collapsible summary::-webkit-details-marker {
3480
- display: none;
3481
- }
3482
- .collapsible summary:focus-visible {
3483
- outline: 3px solid var(--md-sys-color-secondary);
3484
- outline-offset: 2px;
3485
- }
3486
- .collapsible summary > i {
3487
- width: 2rem;
3488
- margin-right: 1rem;
3489
- font-size: 1.6rem;
3490
- line-height: 1;
3491
- text-align: center;
4758
+ box-shadow: none;
3492
4759
  }
3493
- .collapsible summary::after {
3494
- content: "expand_more";
3495
- flex-shrink: 0;
3496
- margin-inline-start: auto;
3497
- font-family: var(--md-icon-font);
3498
- font-size: var(--md-comp-collapsible-icon-size);
3499
- font-variation-settings: "FILL" var(--md-icon-fill), "wght" var(--md-icon-weight), "GRAD" var(--md-icon-grade), "opsz" var(--md-icon-optical-size);
3500
- line-height: 1;
3501
- -webkit-font-smoothing: antialiased;
3502
- transition: transform var(--md-comp-collapsible-duration) var(--md-comp-collapsible-easing-close);
4760
+ dialog.side-sheet > header:has(> :is(button, a):first-child), dialog.right > header:has(> :is(button, a):first-child), dialog.right-sheet > header:has(> :is(button, a):first-child), dialog.left > header:has(> :is(button, a):first-child), dialog.left-sheet > header:has(> :is(button, a):first-child) {
4761
+ padding-inline-start: 8px;
3503
4762
  }
3504
- .collapsible details[open] > summary::after {
3505
- transform: rotate(180deg);
3506
- transition-timing-function: var(--md-comp-collapsible-easing-open);
4763
+ dialog.side-sheet > header > :is(h1, h2, h3, h4, h5, h6), dialog.right > header > :is(h1, h2, h3, h4, h5, h6), dialog.right-sheet > header > :is(h1, h2, h3, h4, h5, h6), dialog.left > header > :is(h1, h2, h3, h4, h5, h6), dialog.left-sheet > header > :is(h1, h2, h3, h4, h5, h6) {
4764
+ flex: 1 1 auto;
4765
+ min-width: 0;
4766
+ margin: 0;
4767
+ padding: 0;
4768
+ color: var(--md-sys-color-on-surface);
4769
+ font-family: var(--md-sys-typescale-title-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
4770
+ font-size: var(--md-sys-typescale-title-large-font-size);
4771
+ font-weight: var(--md-sys-typescale-title-large-font-weight);
4772
+ line-height: var(--md-sys-typescale-title-large-line-height);
4773
+ letter-spacing: var(--md-sys-typescale-title-large-letter-spacing);
3507
4774
  }
3508
- .collapsible .collapsible-header-content {
3509
- flex-grow: 1;
4775
+ dialog.side-sheet > header > form, dialog.right > header > form, dialog.right-sheet > header > form, dialog.left > header > form, dialog.left-sheet > header > form {
4776
+ display: flex;
4777
+ flex: 0 0 auto;
4778
+ align-items: center;
4779
+ margin: 0;
4780
+ padding: 0;
4781
+ border: 0;
4782
+ background: none;
4783
+ box-shadow: none;
3510
4784
  }
3511
- .collapsible details > :not(summary) {
3512
- display: grid;
3513
- grid-template-rows: 0fr;
4785
+ dialog.side-sheet > header :is(button, a.button), dialog.right > header :is(button, a.button), dialog.right-sheet > header :is(button, a.button), dialog.left > header :is(button, a.button), dialog.left-sheet > header :is(button, a.button) {
4786
+ flex: 0 0 48px;
3514
4787
  box-sizing: border-box;
3515
- padding: var(--md-comp-collapsible-body-padding);
3516
- overflow: hidden;
3517
- transition: grid-template-rows var(--md-comp-collapsible-duration) var(--md-comp-collapsible-easing-close);
3518
- }
3519
- .collapsible details > :not(summary) > * {
3520
- min-height: 0;
3521
- overflow: hidden;
4788
+ width: 48px;
4789
+ height: 48px;
4790
+ min-width: 48px;
4791
+ padding: 0;
4792
+ border: none;
4793
+ border-radius: 50%;
4794
+ background-color: transparent;
4795
+ color: var(--md-sys-color-on-surface-variant);
4796
+ box-shadow: none;
3522
4797
  }
3523
- .collapsible details[open] > :not(summary) {
3524
- grid-template-rows: 1fr;
3525
- transition-timing-function: var(--md-comp-collapsible-easing-open);
4798
+ dialog.side-sheet > header :is(button, a.button) > i, dialog.right > header :is(button, a.button) > i, dialog.right-sheet > header :is(button, a.button) > i, dialog.left > header :is(button, a.button) > i, dialog.left-sheet > header :is(button, a.button) > i {
4799
+ font-size: 24px;
4800
+ width: 24px;
4801
+ height: 24px;
4802
+ line-height: 24px;
3526
4803
  }
3527
- .collapsible details:not([open]) > :not(summary) {
3528
- display: grid;
4804
+ dialog.side-sheet > header :is(button, a.button):hover, dialog.right > header :is(button, a.button):hover, dialog.right-sheet > header :is(button, a.button):hover, dialog.left > header :is(button, a.button):hover, dialog.left-sheet > header :is(button, a.button):hover {
4805
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
3529
4806
  }
3530
- .collapsible.no-icon summary::after {
3531
- content: none;
4807
+ dialog.side-sheet > header :is(button, a.button):focus-visible, dialog.right > header :is(button, a.button):focus-visible, dialog.right-sheet > header :is(button, a.button):focus-visible, dialog.left > header :is(button, a.button):focus-visible, dialog.left-sheet > header :is(button, a.button):focus-visible {
4808
+ outline: 3px solid var(--md-sys-color-secondary);
4809
+ outline-offset: 2px;
3532
4810
  }
3533
- .collapsible.popout {
3534
- overflow: visible;
3535
- border: 0;
3536
- background: transparent;
3537
- box-shadow: none !important;
4811
+ dialog.side-sheet > :is(form, nav):last-child, dialog.right > :is(form, nav):last-child, dialog.right-sheet > :is(form, nav):last-child, dialog.left > :is(form, nav):last-child, dialog.left-sheet > :is(form, nav):last-child {
4812
+ justify-content: flex-start;
4813
+ gap: 8px;
4814
+ padding: 16px 24px;
4815
+ border-block-start: 1px solid var(--md-sys-color-outline-variant);
3538
4816
  }
3539
- .collapsible.popout > details {
3540
- margin-inline: var(--md-comp-collapsible-popout-inset);
3541
- overflow: hidden;
3542
- border: 0;
3543
- border-radius: var(--md-comp-collapsible-shape);
3544
- background-color: var(--md-comp-collapsible-container-color);
3545
- transition: margin var(--md-comp-collapsible-duration) var(--md-comp-collapsible-easing-close);
3546
- box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
4817
+ :is(dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dialog.left-sheet):not([open]) {
4818
+ display: none;
3547
4819
  }
3548
- .collapsible.popout > details + details {
3549
- border-top: 0;
4820
+ :is(dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dialog.left-sheet)[open] {
4821
+ display: flex;
4822
+ flex-direction: column;
3550
4823
  }
3551
- .collapsible.popout > details[open] {
3552
- margin-block: var(--md-comp-collapsible-popout-gap);
3553
- margin-inline: 0;
3554
- transition-timing-function: var(--md-comp-collapsible-easing-open);
3555
- box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
4824
+ @starting-style {
4825
+ dialog.side-sheet[open],
4826
+ dialog.right[open],
4827
+ dialog.right-sheet[open] {
4828
+ translate: 100% 0;
4829
+ }
4830
+ dialog.left[open],
4831
+ dialog.left-sheet[open] {
4832
+ translate: -100% 0;
4833
+ }
3556
4834
  }
3557
4835
  @media (prefers-reduced-motion: reduce) {
3558
- .collapsible {
3559
- --md-comp-collapsible-duration: 0s;
4836
+ dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dialog.left-sheet {
4837
+ transition: none;
3560
4838
  }
3561
4839
  }
3562
4840
  .chip {
@@ -3564,7 +4842,7 @@
3564
4842
  --font-size-icon: 18px;
3565
4843
  --padding: 8px;
3566
4844
  color: var(--md-sys-color-on-surface-variant);
3567
- background-color: rgba(0, 0, 0, 0.09);
4845
+ background-color: var(--md-sys-color-surface-container-low);
3568
4846
  display: inline-flex;
3569
4847
  white-space: nowrap;
3570
4848
  gap: 8px;
@@ -3579,10 +4857,10 @@
3579
4857
  user-select: none;
3580
4858
  vertical-align: top;
3581
4859
  }
3582
- .chip:focus {
4860
+ .chip:focus, .chip.active {
3583
4861
  outline: none;
3584
- background-color: var(--md-sys-color-primary);
3585
- color: var(--md-sys-color-on-primary);
4862
+ background-color: var(--md-sys-color-secondary-container);
4863
+ color: var(--md-sys-color-on-secondary-container);
3586
4864
  }
3587
4865
  .chip.outlined {
3588
4866
  background-color: transparent;
@@ -3612,7 +4890,7 @@
3612
4890
  cursor: pointer;
3613
4891
  }
3614
4892
  .chip .close:hover {
3615
- background-color: rgba(136, 136, 136, 0.5333333333);
4893
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface-variant) 8%, transparent);
3616
4894
  }
3617
4895
  .chips {
3618
4896
  display: flex;
@@ -3792,19 +5070,13 @@
3792
5070
  transform: translateY(calc(-1 * var(--md-comp-parallax-travel)));
3793
5071
  }
3794
5072
  }
3795
- .pin-top, .pin-bottom {
3796
- position: relative;
3797
- }
3798
- .pinned {
3799
- position: fixed !important;
3800
- }
3801
5073
  .display-docked {
3802
5074
  position: absolute;
3803
5075
  opacity: 0;
3804
5076
  z-index: 9999;
3805
5077
  visibility: hidden;
3806
5078
  }
3807
- footer:not(:has(> nav:only-child)) {
5079
+ footer:not(:has(> .navigation-bar:only-child)) {
3808
5080
  --md-comp-footer-padding-block: 3rem;
3809
5081
  --md-comp-footer-padding-inline: 1rem;
3810
5082
  --md-comp-footer-gap: 2rem;
@@ -3815,7 +5087,7 @@
3815
5087
  border-top: 1px dashed var(--md-sys-color-outline-variant);
3816
5088
  color: var(--md-sys-color-on-surface);
3817
5089
  }
3818
- footer:not(:has(> nav:only-child)) p {
5090
+ footer:not(:has(> .navigation-bar:only-child)) p {
3819
5091
  margin: 0 0 8px;
3820
5092
  color: var(--md-sys-color-on-surface-variant);
3821
5093
  font-family: var(--md-sys-typescale-body-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
@@ -3825,15 +5097,15 @@
3825
5097
  letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
3826
5098
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3827
5099
  }
3828
- footer:not(:has(> nav:only-child)) a:not(.button, .circle, .extra) {
5100
+ footer:not(:has(> .navigation-bar:only-child)) a:not(.button, .circle, .extra) {
3829
5101
  color: var(--md-sys-color-primary);
3830
5102
  text-decoration: none;
3831
5103
  }
3832
- footer:not(:has(> nav:only-child)) a:not(.button, .circle, .extra):focus-visible {
5104
+ footer:not(:has(> .navigation-bar:only-child)) a:not(.button, .circle, .extra):focus-visible {
3833
5105
  outline: 3px solid var(--md-sys-color-secondary);
3834
5106
  outline-offset: 2px;
3835
5107
  }
3836
- footer:not(:has(> nav:only-child)) :is(h1, h2, h3, h4, h5, h6) {
5108
+ footer:not(:has(> .navigation-bar:only-child)) :is(h1, h2, h3, h4, h5, h6) {
3837
5109
  margin: 0 0 8px;
3838
5110
  color: var(--md-sys-color-on-surface);
3839
5111
  font-family: var(--md-sys-typescale-title-small-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
@@ -3843,7 +5115,7 @@
3843
5115
  letter-spacing: var(--md-sys-typescale-title-small-letter-spacing);
3844
5116
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3845
5117
  }
3846
- footer:not(:has(> nav:only-child)) ul {
5118
+ footer:not(:has(> .navigation-bar:only-child)) ul {
3847
5119
  margin: 0;
3848
5120
  padding: 0;
3849
5121
  list-style: none;
@@ -3877,6 +5149,12 @@
3877
5149
  grid-template-columns: repeat(5, 1fr);
3878
5150
  }
3879
5151
  }
5152
+ @media (width >= 1601px) {
5153
+ footer:not(:has(> nav:only-child)) > .container,
5154
+ footer:not(:has(> nav:only-child)):not(:has(> .container)) {
5155
+ grid-template-columns: repeat(6, 1fr);
5156
+ }
5157
+ }
3880
5158
  footer:not(:has(> nav:only-child)) > .container > .row,
3881
5159
  footer:not(:has(> nav:only-child)) > .row {
3882
5160
  grid-column: 1/-1;
@@ -3956,7 +5234,7 @@
3956
5234
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3957
5235
  }
3958
5236
  .field {
3959
- --md-comp-filled-text-field-container-color: var(--md-sys-color-surface-variant);
5237
+ --md-comp-filled-text-field-container-color: var(--md-sys-color-surface-container-highest);
3960
5238
  --md-comp-filled-text-field-container-shape: 1rem;
3961
5239
  --md-comp-filled-text-field-caret-color: var(--md-sys-color-primary);
3962
5240
  --input-color: var(--md-comp-filled-text-field-caret-color);
@@ -4785,7 +6063,7 @@
4785
6063
  left: 24px;
4786
6064
  }
4787
6065
  select {
4788
- --md-comp-filled-select-container-color: var(--md-sys-color-surface-variant);
6066
+ --md-comp-filled-select-container-color: var(--md-sys-color-surface-container-highest);
4789
6067
  --md-comp-filled-select-container-shape: 1rem;
4790
6068
  --md-comp-filled-select-input-text-color: var(--md-sys-color-on-surface);
4791
6069
  box-sizing: border-box;
@@ -4839,10 +6117,10 @@
4839
6117
  position: relative;
4840
6118
  border-radius: var(--md-comp-filled-select-container-shape);
4841
6119
  }
4842
- .field:has(> .hide-select) > input.dropdown-trigger {
6120
+ .field:has(> .hide-select) > input.menu-trigger {
4843
6121
  border-radius: inherit;
4844
6122
  }
4845
- .field:has(> .hide-select) > input.dropdown-trigger {
6123
+ .field:has(> .hide-select) > input.menu-trigger {
4846
6124
  padding-inline-end: 52px;
4847
6125
  }
4848
6126
  .field:has(> .hide-select) .caret {
@@ -4885,7 +6163,7 @@
4885
6163
  .field:has(> .hide-select).disabled > label {
4886
6164
  color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
4887
6165
  }
4888
- .field:has(> .hide-select) > input.dropdown-trigger:disabled {
6166
+ .field:has(> .hide-select) > input.menu-trigger:disabled {
4889
6167
  cursor: default;
4890
6168
  user-select: none;
4891
6169
  }
@@ -4899,17 +6177,19 @@
4899
6177
  align-items: center;
4900
6178
  }
4901
6179
  menu[role=listbox] > li.selected:not(.disabled, .optgroup) {
4902
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, transparent);
6180
+ background-color: var(--md-comp-menu-item-selected-container-color, var(--md-sys-color-tertiary-container));
6181
+ color: var(--md-comp-menu-item-selected-label-text-color, var(--md-sys-color-on-tertiary-container));
6182
+ border-radius: var(--md-comp-menu-item-selected-container-shape, 12px);
4903
6183
  }
4904
- menu[role=listbox]:not(.multiple-select-dropdown) > li.selected:not(.disabled, .optgroup)::after {
6184
+ menu[role=listbox]:not(.multiple-select-menu) > li.selected:not(.disabled, .optgroup)::after {
4905
6185
  content: "";
4906
- flex: 0 0 24px;
4907
- width: 24px;
4908
- height: 24px;
6186
+ flex: 0 0 20px;
6187
+ width: 20px;
6188
+ height: 20px;
4909
6189
  margin-inline-start: auto;
4910
- margin-inline-end: 12px;
4911
- background-color: var(--md-sys-color-on-surface);
4912
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/24px no-repeat;
6190
+ margin-inline-end: 8px;
6191
+ background-color: var(--md-comp-menu-item-selected-leading-icon-color, var(--md-sys-color-on-tertiary-container));
6192
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/20px no-repeat;
4913
6193
  }
4914
6194
  menu[role=listbox] li img {
4915
6195
  box-sizing: border-box;
@@ -4979,18 +6259,29 @@
4979
6259
  .file-field input[type=file]::file-selector-button {
4980
6260
  display: none;
4981
6261
  }
4982
- .range,
4983
- .range-field,
4984
- label:has(> [type=range]) {
6262
+ :is(.range, .range-field, label:has(> [type=range])),
6263
+ input[type=range] {
4985
6264
  --md-comp-slider-track-height: 16px;
4986
6265
  --md-comp-slider-handle-width: 4px;
4987
6266
  --md-comp-slider-handle-width-pressed: 2px;
4988
6267
  --md-comp-slider-handle-height: 44px;
4989
6268
  --md-comp-slider-gap: 6px;
6269
+ --md-comp-slider-stop-size: 2px;
6270
+ --md-comp-slider-stop-inset: 8px;
6271
+ --md-comp-slider-icon-size: 24px;
4990
6272
  --md-comp-slider-active-track-color: var(--md-sys-color-primary);
4991
6273
  --md-comp-slider-inactive-track-color: var(--md-sys-color-secondary-container);
4992
6274
  --md-comp-slider-handle-color: var(--md-sys-color-primary);
6275
+ --md-comp-slider-stop-color: var(--md-sys-color-primary);
4993
6276
  --md-comp-slider-gradient: to right;
6277
+ --md-comp-slider-stop-at-start: var(--md-comp-slider-stop-inset) 50%;
6278
+ --md-comp-slider-stop-at-end: calc(100% - var(--md-comp-slider-stop-inset)) 50%;
6279
+ --md-comp-slider-active-fraction: 0%;
6280
+ --md-comp-slider-start-fraction: 0%;
6281
+ --md-comp-slider-end-fraction: 100%;
6282
+ --md-comp-slider-stop-count: 6;
6283
+ }
6284
+ :is(.range, .range-field, label:has(> [type=range])) {
4994
6285
  position: relative;
4995
6286
  display: block;
4996
6287
  overflow: visible;
@@ -5002,49 +6293,73 @@
5002
6293
  letter-spacing: var(--md-sys-typescale-body-large-letter-spacing);
5003
6294
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
5004
6295
  }
5005
- .range.small,
5006
- .range-field.small,
5007
- label.small:has(> [type=range]),
5008
- .range.small [type=range],
5009
- .range-field.small [type=range],
5010
- label.small > [type=range] {
5011
- --md-comp-slider-track-height: 8px;
5012
- --md-comp-slider-handle-height: 32px;
5013
- }
5014
- .range.large,
5015
- .range-field.large,
5016
- label.large:has(> [type=range]),
5017
- .range.large [type=range],
5018
- .range-field.large [type=range],
5019
- label.large > [type=range] {
6296
+ :is(.range, .range-field, label:has(> [type=range])).s,
6297
+ :is(.range, .range-field, label:has(> [type=range])).small,
6298
+ :is(.range, .range-field, label:has(> [type=range])).s [type=range],
6299
+ :is(.range, .range-field, label:has(> [type=range])).small [type=range] {
5020
6300
  --md-comp-slider-track-height: 24px;
5021
- --md-comp-slider-handle-height: 52px;
6301
+ --md-comp-slider-handle-height: 44px;
6302
+ --md-comp-slider-stop-inset: 8px;
5022
6303
  }
5023
- .range.vertical,
5024
- .range-field.vertical,
5025
- label.vertical:has(> [type=range]) {
6304
+ :is(.range, .range-field, label:has(> [type=range])).m,
6305
+ :is(.range, .range-field, label:has(> [type=range])).medium,
6306
+ :is(.range, .range-field, label:has(> [type=range])).m [type=range],
6307
+ :is(.range, .range-field, label:has(> [type=range])).medium [type=range] {
6308
+ --md-comp-slider-track-height: 40px;
6309
+ --md-comp-slider-handle-height: 52px;
6310
+ --md-comp-slider-stop-inset: 12px;
6311
+ --md-comp-slider-icon-size: 24px;
6312
+ }
6313
+ :is(.range, .range-field, label:has(> [type=range])).l,
6314
+ :is(.range, .range-field, label:has(> [type=range])).large,
6315
+ :is(.range, .range-field, label:has(> [type=range])).l [type=range],
6316
+ :is(.range, .range-field, label:has(> [type=range])).large [type=range] {
6317
+ --md-comp-slider-track-height: 56px;
6318
+ --md-comp-slider-handle-height: 68px;
6319
+ --md-comp-slider-stop-inset: 16px;
6320
+ --md-comp-slider-icon-size: 24px;
6321
+ }
6322
+ :is(.range, .range-field, label:has(> [type=range])).xl,
6323
+ :is(.range, .range-field, label:has(> [type=range])).xl [type=range] {
6324
+ --md-comp-slider-track-height: 96px;
6325
+ --md-comp-slider-handle-height: 108px;
6326
+ --md-comp-slider-stop-inset: 28px;
6327
+ --md-comp-slider-icon-size: 32px;
6328
+ }
6329
+ :is(.range, .range-field, label:has(> [type=range])).vertical {
5026
6330
  --md-comp-slider-gradient: to top;
6331
+ --md-comp-slider-stop-at-start: 50% var(--md-comp-slider-stop-inset);
6332
+ --md-comp-slider-stop-at-end: 50% calc(100% - var(--md-comp-slider-stop-inset));
5027
6333
  display: inline-flex;
5028
6334
  flex-direction: column;
5029
6335
  align-items: center;
5030
6336
  width: auto;
5031
6337
  }
5032
- .range.vertical [type=range],
5033
- .range-field.vertical [type=range],
5034
- label.vertical > [type=range] {
6338
+ :is(.range, .range-field, label:has(> [type=range])).vertical [type=range] {
5035
6339
  --md-comp-slider-gradient: to top;
6340
+ --md-comp-slider-stop-at-start: 50% var(--md-comp-slider-stop-inset);
6341
+ --md-comp-slider-stop-at-end: 50% calc(100% - var(--md-comp-slider-stop-inset));
6342
+ }
6343
+ :is(.range, .range-field, label:has(> [type=range])) > i:first-child {
6344
+ position: absolute;
6345
+ z-index: 1;
6346
+ left: var(--md-comp-slider-stop-inset);
6347
+ top: 50%;
6348
+ translate: 0 -50%;
6349
+ font-size: var(--md-comp-slider-icon-size);
6350
+ width: var(--md-comp-slider-icon-size);
6351
+ height: var(--md-comp-slider-icon-size);
6352
+ line-height: 1;
6353
+ color: var(--md-sys-color-on-primary);
6354
+ pointer-events: none;
6355
+ }
6356
+ :is(.range, .range-field, label:has(> [type=range])).vertical > i:first-child {
6357
+ left: 50%;
6358
+ top: auto;
6359
+ bottom: var(--md-comp-slider-stop-inset);
6360
+ translate: -50% 0;
5036
6361
  }
5037
6362
  input[type=range] {
5038
- --md-comp-slider-track-height: 16px;
5039
- --md-comp-slider-handle-width: 4px;
5040
- --md-comp-slider-handle-width-pressed: 2px;
5041
- --md-comp-slider-handle-height: 44px;
5042
- --md-comp-slider-gap: 6px;
5043
- --md-comp-slider-active-track-color: var(--md-sys-color-primary);
5044
- --md-comp-slider-inactive-track-color: var(--md-sys-color-secondary-container);
5045
- --md-comp-slider-handle-color: var(--md-sys-color-primary);
5046
- --md-comp-slider-gradient: to right;
5047
- --md-comp-slider-active-fraction: 0%;
5048
6363
  appearance: none;
5049
6364
  box-sizing: border-box;
5050
6365
  display: block;
@@ -5065,9 +6380,7 @@
5065
6380
  cursor: default;
5066
6381
  opacity: 0.38;
5067
6382
  }
5068
- .range.vertical > [type=range],
5069
- .range-field.vertical > [type=range],
5070
- label.vertical > [type=range] {
6383
+ :is(.range, .range-field, label:has(> [type=range])).vertical > [type=range] {
5071
6384
  writing-mode: vertical-lr;
5072
6385
  direction: rtl;
5073
6386
  width: var(--md-comp-slider-handle-height);
@@ -5081,7 +6394,7 @@
5081
6394
  border: none;
5082
6395
  border-radius: calc(var(--md-comp-slider-track-height) / 2);
5083
6396
  background-color: transparent;
5084
- background-image: linear-gradient(var(--md-comp-slider-gradient), var(--md-comp-slider-active-track-color) max(0%, var(--md-comp-slider-active-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, var(--md-comp-slider-active-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, var(--md-comp-slider-active-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-inactive-track-color) min(100%, var(--md-comp-slider-active-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2));
6397
+ background-image: radial-gradient(circle var(--md-comp-slider-stop-size) at var(--md-comp-slider-stop-at-end), var(--md-comp-slider-stop-color) 99%, transparent), linear-gradient(var(--md-comp-slider-gradient), var(--md-comp-slider-active-track-color) max(0%, var(--md-comp-slider-active-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, var(--md-comp-slider-active-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, var(--md-comp-slider-active-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-inactive-track-color) min(100%, var(--md-comp-slider-active-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2));
5085
6398
  }
5086
6399
  input[type=range]::-webkit-slider-thumb {
5087
6400
  appearance: none;
@@ -5107,25 +6420,22 @@
5107
6420
  input[type=range]:active:not(:disabled)::-webkit-slider-thumb {
5108
6421
  width: var(--md-comp-slider-handle-width-pressed);
5109
6422
  }
5110
- .range.vertical > [type=range]::-webkit-slider-runnable-track,
5111
- .range-field.vertical > [type=range]::-webkit-slider-runnable-track,
5112
- label.vertical > [type=range]::-webkit-slider-runnable-track {
6423
+ :is(.range, .range-field, label:has(> [type=range])).centered [type=range]::-webkit-slider-runnable-track {
6424
+ background-image: radial-gradient(circle var(--md-comp-slider-stop-size) at var(--md-comp-slider-stop-at-start), var(--md-comp-slider-stop-color) 99%, transparent), radial-gradient(circle var(--md-comp-slider-stop-size) at var(--md-comp-slider-stop-at-end), var(--md-comp-slider-stop-color) 99%, transparent), linear-gradient(var(--md-comp-slider-gradient), var(--md-comp-slider-inactive-track-color) max(0%, min(50%, var(--md-comp-slider-active-fraction)) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, min(50%, var(--md-comp-slider-active-fraction)) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, min(50%, var(--md-comp-slider-active-fraction)) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-active-track-color) min(100%, min(50%, var(--md-comp-slider-active-fraction)) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-active-track-color) max(0%, max(50%, var(--md-comp-slider-active-fraction)) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, max(50%, var(--md-comp-slider-active-fraction)) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, max(50%, var(--md-comp-slider-active-fraction)) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-inactive-track-color) min(100%, max(50%, var(--md-comp-slider-active-fraction)) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2));
6425
+ }
6426
+ :is(.range, .range-field, label:has(> [type=range])).vertical > [type=range]::-webkit-slider-runnable-track {
5113
6427
  width: var(--md-comp-slider-track-height);
5114
6428
  height: 100%;
5115
6429
  margin-left: calc((var(--md-comp-slider-handle-height) - var(--md-comp-slider-track-height)) / 2);
5116
6430
  }
5117
- .range.vertical > [type=range]::-webkit-slider-thumb,
5118
- .range-field.vertical > [type=range]::-webkit-slider-thumb,
5119
- label.vertical > [type=range]::-webkit-slider-thumb {
6431
+ :is(.range, .range-field, label:has(> [type=range])).vertical > [type=range]::-webkit-slider-thumb {
5120
6432
  width: var(--md-comp-slider-handle-height);
5121
6433
  height: var(--md-comp-slider-handle-width);
5122
6434
  border-radius: calc(var(--md-comp-slider-handle-width) / 2);
5123
6435
  margin-top: 0;
5124
6436
  margin-left: calc((var(--md-comp-slider-track-height) - var(--md-comp-slider-handle-height)) / 2);
5125
6437
  }
5126
- .range.vertical > [type=range]:active:not(:disabled)::-webkit-slider-thumb,
5127
- .range-field.vertical > [type=range]:active:not(:disabled)::-webkit-slider-thumb,
5128
- label.vertical > [type=range]:active:not(:disabled)::-webkit-slider-thumb {
6438
+ :is(.range, .range-field, label:has(> [type=range])).vertical > [type=range]:active:not(:disabled)::-webkit-slider-thumb {
5129
6439
  width: var(--md-comp-slider-handle-height);
5130
6440
  height: var(--md-comp-slider-handle-width-pressed);
5131
6441
  }
@@ -5136,7 +6446,7 @@
5136
6446
  border: none;
5137
6447
  border-radius: calc(var(--md-comp-slider-track-height) / 2);
5138
6448
  background-color: transparent;
5139
- background-image: linear-gradient(var(--md-comp-slider-gradient), var(--md-comp-slider-active-track-color) max(0%, var(--md-comp-slider-active-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, var(--md-comp-slider-active-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, var(--md-comp-slider-active-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-inactive-track-color) min(100%, var(--md-comp-slider-active-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2));
6449
+ background-image: radial-gradient(circle var(--md-comp-slider-stop-size) at var(--md-comp-slider-stop-at-end), var(--md-comp-slider-stop-color) 99%, transparent), linear-gradient(var(--md-comp-slider-gradient), var(--md-comp-slider-active-track-color) max(0%, var(--md-comp-slider-active-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, var(--md-comp-slider-active-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, var(--md-comp-slider-active-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-inactive-track-color) min(100%, var(--md-comp-slider-active-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2));
5140
6450
  }
5141
6451
  input[type=range]::-moz-range-thumb {
5142
6452
  appearance: none;
@@ -5161,27 +6471,87 @@
5161
6471
  input[type=range]:active:not(:disabled)::-moz-range-thumb {
5162
6472
  width: var(--md-comp-slider-handle-width-pressed);
5163
6473
  }
5164
- .range.vertical > [type=range]::-moz-range-track,
5165
- .range-field.vertical > [type=range]::-moz-range-track,
5166
- label.vertical > [type=range]::-moz-range-track {
6474
+ :is(.range, .range-field, label:has(> [type=range])).centered [type=range]::-moz-range-track {
6475
+ background-image: radial-gradient(circle var(--md-comp-slider-stop-size) at var(--md-comp-slider-stop-at-start), var(--md-comp-slider-stop-color) 99%, transparent), radial-gradient(circle var(--md-comp-slider-stop-size) at var(--md-comp-slider-stop-at-end), var(--md-comp-slider-stop-color) 99%, transparent), linear-gradient(var(--md-comp-slider-gradient), var(--md-comp-slider-inactive-track-color) max(0%, min(50%, var(--md-comp-slider-active-fraction)) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, min(50%, var(--md-comp-slider-active-fraction)) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, min(50%, var(--md-comp-slider-active-fraction)) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-active-track-color) min(100%, min(50%, var(--md-comp-slider-active-fraction)) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-active-track-color) max(0%, max(50%, var(--md-comp-slider-active-fraction)) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, max(50%, var(--md-comp-slider-active-fraction)) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, max(50%, var(--md-comp-slider-active-fraction)) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-inactive-track-color) min(100%, max(50%, var(--md-comp-slider-active-fraction)) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2));
6476
+ }
6477
+ :is(.range, .range-field, label:has(> [type=range])).vertical > [type=range]::-moz-range-track {
5167
6478
  width: var(--md-comp-slider-track-height);
5168
6479
  height: 100%;
5169
6480
  margin-left: calc((var(--md-comp-slider-handle-height) - var(--md-comp-slider-track-height)) / 2);
5170
6481
  }
5171
- .range.vertical > [type=range]::-moz-range-thumb,
5172
- .range-field.vertical > [type=range]::-moz-range-thumb,
5173
- label.vertical > [type=range]::-moz-range-thumb {
6482
+ :is(.range, .range-field, label:has(> [type=range])).vertical > [type=range]::-moz-range-thumb {
5174
6483
  width: var(--md-comp-slider-handle-height);
5175
6484
  height: var(--md-comp-slider-handle-width);
5176
6485
  border-radius: calc(var(--md-comp-slider-handle-width) / 2);
5177
6486
  margin-left: calc((var(--md-comp-slider-track-height) - var(--md-comp-slider-handle-height)) / 2);
5178
6487
  }
5179
- .range.vertical > [type=range]:active:not(:disabled)::-moz-range-thumb,
5180
- .range-field.vertical > [type=range]:active:not(:disabled)::-moz-range-thumb,
5181
- label.vertical > [type=range]:active:not(:disabled)::-moz-range-thumb {
6488
+ :is(.range, .range-field, label:has(> [type=range])).vertical > [type=range]:active:not(:disabled)::-moz-range-thumb {
5182
6489
  width: var(--md-comp-slider-handle-height);
5183
6490
  height: var(--md-comp-slider-handle-width-pressed);
5184
6491
  }
6492
+ :is(.range, .range-field, label:has(> [type=range])):has(> [type=range] ~ [type=range]) {
6493
+ display: grid;
6494
+ align-items: center;
6495
+ min-height: var(--md-comp-slider-handle-height);
6496
+ }
6497
+ :is(.range, .range-field, label:has(> [type=range])):has(> [type=range] ~ [type=range])::before {
6498
+ content: "";
6499
+ grid-area: 1/1;
6500
+ height: var(--md-comp-slider-track-height);
6501
+ border-radius: calc(var(--md-comp-slider-track-height) / 2);
6502
+ pointer-events: none;
6503
+ background-image: radial-gradient(circle var(--md-comp-slider-stop-size) at var(--md-comp-slider-stop-at-start), var(--md-comp-slider-stop-color) 99%, transparent), radial-gradient(circle var(--md-comp-slider-stop-size) at var(--md-comp-slider-stop-at-end), var(--md-comp-slider-stop-color) 99%, transparent), linear-gradient(var(--md-comp-slider-gradient), var(--md-comp-slider-inactive-track-color) max(0%, var(--md-comp-slider-start-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, var(--md-comp-slider-start-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, var(--md-comp-slider-start-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-active-track-color) min(100%, var(--md-comp-slider-start-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-active-track-color) max(0%, var(--md-comp-slider-end-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent max(0%, var(--md-comp-slider-end-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2), transparent min(100%, var(--md-comp-slider-end-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2), var(--md-comp-slider-inactive-track-color) min(100%, var(--md-comp-slider-end-fraction) + var(--md-comp-slider-gap) + var(--md-comp-slider-handle-width) / 2));
6504
+ }
6505
+ :is(.range, .range-field, label:has(> [type=range])):has(> [type=range] ~ [type=range]) > [type=range] {
6506
+ grid-area: 1/1;
6507
+ width: 100%;
6508
+ margin: 0;
6509
+ background: none;
6510
+ pointer-events: none;
6511
+ }
6512
+ :is(.range, .range-field, label:has(> [type=range])):has(> [type=range] ~ [type=range]) > [type=range]::-webkit-slider-runnable-track {
6513
+ background-image: none;
6514
+ background-color: transparent;
6515
+ }
6516
+ :is(.range, .range-field, label:has(> [type=range])):has(> [type=range] ~ [type=range]) > [type=range]::-webkit-slider-thumb {
6517
+ pointer-events: auto;
6518
+ position: relative;
6519
+ z-index: 2;
6520
+ }
6521
+ :is(.range, .range-field, label:has(> [type=range])):has(> [type=range] ~ [type=range]) > [type=range]::-moz-range-track {
6522
+ background-image: none;
6523
+ background-color: transparent;
6524
+ }
6525
+ :is(.range, .range-field, label:has(> [type=range])):has(> [type=range] ~ [type=range]) > [type=range]::-moz-range-thumb {
6526
+ pointer-events: auto;
6527
+ }
6528
+ :is(.range, .range-field, label:has(> [type=range])):has(> [type=range] ~ [type=range]) > .thumb {
6529
+ grid-area: 1/1;
6530
+ }
6531
+ :is(.range, .range-field, label:has(> [type=range])).vertical:has(> [type=range] ~ [type=range])::before {
6532
+ width: var(--md-comp-slider-track-height);
6533
+ height: 200px;
6534
+ justify-self: center;
6535
+ }
6536
+ :is(.range, .range-field, label:has(> [type=range])).stops::after {
6537
+ content: "";
6538
+ position: absolute;
6539
+ z-index: 1;
6540
+ left: 0;
6541
+ top: 50%;
6542
+ width: max(0px, var(--md-comp-slider-active-fraction) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2);
6543
+ height: var(--md-comp-slider-track-height);
6544
+ translate: 0 -50%;
6545
+ pointer-events: none;
6546
+ background-image: radial-gradient(circle var(--md-comp-slider-stop-size), var(--md-sys-color-on-primary) 99%, transparent);
6547
+ background-size: calc(100% / max(1, var(--md-comp-slider-stop-count) - 1)) 100%;
6548
+ background-repeat: repeat-x;
6549
+ background-position: center;
6550
+ }
6551
+ :is(.range, .range-field, label:has(> [type=range])).stops.centered::after {
6552
+ left: min(50%, var(--md-comp-slider-active-fraction));
6553
+ width: max(0%, abs(50% - var(--md-comp-slider-active-fraction)) - var(--md-comp-slider-gap) - var(--md-comp-slider-handle-width) / 2);
6554
+ }
5185
6555
  input[type=range] + .thumb {
5186
6556
  position: absolute;
5187
6557
  left: 0;
@@ -5191,16 +6561,16 @@
5191
6561
  display: flex;
5192
6562
  align-items: center;
5193
6563
  justify-content: center;
5194
- min-width: 28px;
5195
- min-height: 28px;
5196
- padding: 4px 8px;
6564
+ min-width: 40px;
6565
+ height: 40px;
6566
+ padding: 0 12px;
5197
6567
  border: none;
5198
- border-radius: 14px;
6568
+ border-radius: 20px;
5199
6569
  background-color: var(--md-sys-color-inverse-surface);
5200
6570
  color: var(--md-sys-color-inverse-on-surface);
5201
6571
  pointer-events: none;
5202
6572
  opacity: 0;
5203
- transform: translate(-50%, calc(-100% - 12px)) scale(0.9);
6573
+ transform: translate(-50%, calc(-100% - 4px)) scale(0.9);
5204
6574
  transform-origin: center bottom;
5205
6575
  transition: opacity 0.15s ease, transform 0.15s ease;
5206
6576
  font-family: var(--md-sys-typescale-body-small-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
@@ -5216,18 +6586,14 @@
5216
6586
  }
5217
6587
  input[type=range] + .thumb.active {
5218
6588
  opacity: 1;
5219
- transform: translate(-50%, calc(-100% - 12px)) scale(1);
6589
+ transform: translate(-50%, calc(-100% - 4px)) scale(1);
5220
6590
  }
5221
- .range.vertical > [type=range] + .thumb,
5222
- .range-field.vertical > [type=range] + .thumb,
5223
- label.vertical > [type=range] + .thumb {
5224
- transform: translate(calc(100% + 12px), -50%) scale(0.9);
6591
+ :is(.range, .range-field, label:has(> [type=range])).vertical > [type=range] + .thumb {
6592
+ transform: translate(calc(100% + 4px), -50%) scale(0.9);
5225
6593
  transform-origin: left center;
5226
6594
  }
5227
- .range.vertical > [type=range] + .thumb.active,
5228
- .range-field.vertical > [type=range] + .thumb.active,
5229
- label.vertical > [type=range] + .thumb.active {
5230
- transform: translate(calc(100% + 12px), -50%) scale(1);
6595
+ :is(.range, .range-field, label:has(> [type=range])).vertical > [type=range] + .thumb.active {
6596
+ transform: translate(calc(100% + 4px), -50%) scale(1);
5231
6597
  }
5232
6598
  fieldset {
5233
6599
  --md-comp-fieldset-container-color: transparent;
@@ -5294,7 +6660,7 @@
5294
6660
  letter-spacing: var(--md-sys-typescale-body-small-letter-spacing);
5295
6661
  }
5296
6662
  fieldset.filled {
5297
- --md-comp-fieldset-container-color: var(--md-sys-color-surface-variant);
6663
+ --md-comp-fieldset-container-color: var(--md-sys-color-surface-container-highest);
5298
6664
  --md-comp-fieldset-outline-color: transparent;
5299
6665
  }
5300
6666
  fieldset.outlined,
@@ -5411,7 +6777,7 @@
5411
6777
  inset: 0 auto 0 0;
5412
6778
  overflow: hidden;
5413
6779
  color: var(--md-sys-color-on-surface);
5414
- background-color: var(--md-sys-color-surface);
6780
+ background-color: var(--md-sys-color-surface-container-low);
5415
6781
  outline: none;
5416
6782
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
5417
6783
  transform: translateX(calc(-100% + var(--md-comp-nav-drawer-shift)));
@@ -5486,7 +6852,7 @@
5486
6852
  overscroll-behavior: contain;
5487
6853
  user-select: none;
5488
6854
  color: var(--md-sys-color-on-surface);
5489
- background-color: var(--md-sys-color-surface);
6855
+ background-color: var(--md-sys-color-surface-container-low);
5490
6856
  transform: translateX(-100%);
5491
6857
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
5492
6858
  }
@@ -5494,21 +6860,16 @@
5494
6860
  inset: 0 0 0 auto;
5495
6861
  transform: translateX(100%);
5496
6862
  }
5497
- .sidenav .collapsible {
5498
- margin: 0;
5499
- }
5500
6863
  .sidenav li {
5501
6864
  list-style: none;
5502
6865
  display: grid;
5503
6866
  align-content: center;
5504
6867
  }
5505
6868
  .sidenav li.active > a:not(.button, .circle, .extra) {
5506
- background-color: color-mix(in oklab, var(--md-sys-color-secondary) 10%, transparent);
5507
- }
5508
- .sidenav details > div > ul {
5509
- padding-left: 10px;
6869
+ background-color: var(--md-sys-color-secondary-container);
6870
+ color: var(--md-sys-color-on-secondary-container);
5510
6871
  }
5511
- .sidenav li > a {
6872
+ .sidenav :is(li > a, summary) {
5512
6873
  display: flex;
5513
6874
  align-items: center;
5514
6875
  margin: 0 12px;
@@ -5519,27 +6880,72 @@
5519
6880
  font-size: var(--md-comp-nav-drawer-font-size);
5520
6881
  font-weight: 500;
5521
6882
  }
5522
- .sidenav li > a:not(.button, .circle, .extra) {
5523
- color: var(--md-sys-color-on-secondary-container);
6883
+ .sidenav :is(li > a, summary) > :is(.material-symbols,
6884
+ .material-symbols-outlined,
6885
+ .material-symbols-rounded,
6886
+ .material-symbols-sharp,
6887
+ .material-icons) {
6888
+ display: inline-flex;
6889
+ flex-shrink: 0;
6890
+ margin-right: 12px;
6891
+ }
6892
+ .sidenav li > a:not(.button, .circle, .extra),
6893
+ .sidenav summary {
6894
+ color: var(--md-sys-color-on-surface-variant);
5524
6895
  }
5525
- .sidenav li > a:not(.button, .circle, .extra):hover {
6896
+ .sidenav li > a:not(.button, .circle, .extra):hover,
6897
+ .sidenav summary:hover {
5526
6898
  background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
5527
6899
  }
5528
- .sidenav li > a:not(.button, .circle, .extra):focus-visible {
6900
+ .sidenav li > a:not(.button, .circle, .extra):focus-visible,
6901
+ .sidenav summary:focus-visible {
5529
6902
  outline: 3px solid var(--md-sys-color-secondary);
5530
6903
  outline-offset: 2px;
5531
6904
  }
5532
- .sidenav li > a.button, .sidenav li > a.circle, .sidenav li > a.extra {
6905
+ .sidenav li > a.button,
6906
+ .sidenav li > a.circle,
6907
+ .sidenav li > a.extra {
5533
6908
  margin: 10px 15px;
5534
6909
  }
5535
- .sidenav li > a > :is(.material-symbols,
5536
- .material-symbols-outlined,
5537
- .material-symbols-rounded,
5538
- .material-symbols-sharp,
5539
- .material-icons) {
5540
- display: inline-flex;
6910
+ .sidenav summary {
6911
+ box-sizing: border-box;
6912
+ border: 0;
6913
+ background: transparent;
6914
+ font: inherit;
6915
+ text-align: start;
6916
+ list-style: none;
6917
+ cursor: pointer;
6918
+ appearance: none;
6919
+ }
6920
+ .sidenav summary::-webkit-details-marker {
6921
+ display: none;
6922
+ }
6923
+ .sidenav summary::marker {
6924
+ content: none;
6925
+ }
6926
+ .sidenav summary::after {
6927
+ content: "expand_more";
5541
6928
  flex-shrink: 0;
5542
- margin-right: 12px;
6929
+ margin-inline-start: auto;
6930
+ font-family: var(--md-icon-font);
6931
+ font-size: 24px;
6932
+ font-style: normal;
6933
+ font-variation-settings: "FILL" var(--md-icon-fill), "wght" var(--md-icon-weight), "GRAD" var(--md-icon-grade), "opsz" var(--md-icon-optical-size);
6934
+ line-height: 1;
6935
+ -webkit-font-smoothing: antialiased;
6936
+ transition: transform var(--md-comp-nav-drawer-duration, 250ms) var(--md-comp-nav-drawer-easing, ease);
6937
+ }
6938
+ .sidenav details {
6939
+ margin: 0;
6940
+ }
6941
+ .sidenav details[open] > summary::after {
6942
+ transform: rotate(180deg);
6943
+ }
6944
+ .sidenav details > ul {
6945
+ margin: 0;
6946
+ padding: 0;
6947
+ padding-inline-start: 10px;
6948
+ list-style: none;
5543
6949
  }
5544
6950
  .sidenav .divider {
5545
6951
  margin: calc(var(--md-comp-nav-drawer-padding) * 0.5) 0 0;
@@ -5636,25 +7042,6 @@
5636
7042
  pointer-events: none;
5637
7043
  }
5638
7044
  }
5639
- .sidenav details > :not(summary) {
5640
- padding: 0;
5641
- }
5642
- .sidenav .collapsible,
5643
- .sidenav.sidenav-fixed .collapsible {
5644
- overflow: visible;
5645
- border: none;
5646
- border-radius: 0;
5647
- background: transparent;
5648
- box-shadow: none;
5649
- }
5650
- .sidenav summary,
5651
- .sidenav.sidenav-fixed summary {
5652
- border: none;
5653
- }
5654
- .sidenav details > :not(summary),
5655
- .sidenav.sidenav-fixed details > :not(summary) {
5656
- border: none;
5657
- }
5658
7045
  .progress,
5659
7046
  .preloader {
5660
7047
  --md-comp-progress-track: var(--md-sys-color-secondary-container);
@@ -6039,156 +7426,6 @@
6039
7426
  .carousel-item:not(.active) .lightboxed {
6040
7427
  pointer-events: none;
6041
7428
  }
6042
- .tap-target-wrapper {
6043
- --md-comp-tap-target-size: 480px;
6044
- --md-comp-tap-target-z: 1000;
6045
- --md-comp-tap-target-container-color: var(--md-sys-color-primary-container);
6046
- --md-comp-tap-target-supporting-color: var(--md-sys-color-on-primary-container);
6047
- --md-comp-tap-target-duration: 300ms;
6048
- --md-comp-tap-target-easing: cubic-bezier(0.65, 0, 0.35, 1);
6049
- --md-comp-tap-target-x: 50%;
6050
- --md-comp-tap-target-y: 50%;
6051
- --md-comp-tap-target-origin-size: 56px;
6052
- box-sizing: border-box;
6053
- position: fixed;
6054
- inset: auto;
6055
- left: var(--md-comp-tap-target-x);
6056
- top: var(--md-comp-tap-target-y);
6057
- translate: -50% -50%;
6058
- width: var(--md-comp-tap-target-size);
6059
- height: var(--md-comp-tap-target-size);
6060
- margin: 0;
6061
- padding: 0;
6062
- overflow: visible;
6063
- border: 0;
6064
- background: transparent;
6065
- color: var(--md-comp-tap-target-supporting-color);
6066
- visibility: hidden;
6067
- pointer-events: none;
6068
- z-index: var(--md-comp-tap-target-z);
6069
- transition: visibility 0s var(--md-comp-tap-target-duration), overlay var(--md-comp-tap-target-duration) allow-discrete, display var(--md-comp-tap-target-duration) allow-discrete;
6070
- }
6071
- .tap-target-wrapper:is(.open, :popover-open) {
6072
- visibility: visible;
6073
- pointer-events: none;
6074
- transition-delay: 0s;
6075
- }
6076
- .tap-target-wrapper:is(.open, :popover-open) .tap-target {
6077
- transform: scale(1);
6078
- opacity: 1;
6079
- }
6080
- .tap-target-wrapper:is(.open, :popover-open) .tap-target-wave::before {
6081
- transform: scale(1);
6082
- }
6083
- .tap-target-wrapper:is(.open, :popover-open) .tap-target-wave::after {
6084
- visibility: visible;
6085
- animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
6086
- }
6087
- .tap-target {
6088
- position: absolute;
6089
- inset: 0;
6090
- display: grid;
6091
- box-sizing: border-box;
6092
- width: 100%;
6093
- height: 100%;
6094
- overflow: hidden;
6095
- border-radius: 50%;
6096
- background-color: var(--md-comp-tap-target-container-color);
6097
- color: var(--md-comp-tap-target-supporting-color);
6098
- opacity: 0;
6099
- transform: scale(0);
6100
- transition: transform var(--md-comp-tap-target-duration) var(--md-comp-tap-target-easing), opacity var(--md-comp-tap-target-duration) var(--md-comp-tap-target-easing);
6101
- box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
6102
- font-family: var(--md-sys-typescale-body-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
6103
- font-size: var(--md-sys-typescale-body-medium-font-size);
6104
- font-weight: var(--md-sys-typescale-body-medium-font-weight);
6105
- line-height: var(--md-sys-typescale-body-medium-line-height);
6106
- letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
6107
- }
6108
- .tap-target-content {
6109
- position: relative;
6110
- z-index: 1;
6111
- display: grid;
6112
- align-content: start;
6113
- gap: 8px;
6114
- box-sizing: border-box;
6115
- max-width: min(18rem, 52%);
6116
- padding: calc(var(--md-comp-tap-target-origin-size) * 0.5 + 20px);
6117
- pointer-events: auto;
6118
- }
6119
- .tap-target-content > :is(h1, h2, h3, h4, h5, h6) {
6120
- margin: 0;
6121
- color: inherit;
6122
- font-family: var(--md-sys-typescale-title-medium-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
6123
- font-size: var(--md-sys-typescale-title-medium-font-size);
6124
- font-weight: var(--md-sys-typescale-title-medium-font-weight);
6125
- line-height: var(--md-sys-typescale-title-medium-line-height);
6126
- letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing);
6127
- }
6128
- .tap-target-content > p {
6129
- margin: 0;
6130
- color: inherit;
6131
- }
6132
- .tap-target-wrapper[data-edge^=top] .tap-target-content {
6133
- align-self: end;
6134
- }
6135
- .tap-target-wrapper[data-edge^=bottom] .tap-target-content {
6136
- align-self: start;
6137
- }
6138
- .tap-target-wrapper[data-edge$=left] .tap-target-content {
6139
- justify-self: end;
6140
- }
6141
- .tap-target-wrapper[data-edge$=right] .tap-target-content {
6142
- justify-self: start;
6143
- }
6144
- .tap-target-wrapper[data-edge$=center] .tap-target-content {
6145
- justify-self: center;
6146
- max-width: min(22rem, 80%);
6147
- text-align: center;
6148
- }
6149
- .tap-target-wave {
6150
- position: absolute;
6151
- top: 50%;
6152
- left: 50%;
6153
- z-index: 0;
6154
- width: calc(var(--md-comp-tap-target-origin-size) * 2);
6155
- height: calc(var(--md-comp-tap-target-origin-size) * 2);
6156
- translate: -50% -50%;
6157
- border-radius: 50%;
6158
- pointer-events: none;
6159
- }
6160
- .tap-target-wave::before, .tap-target-wave::after {
6161
- content: "";
6162
- position: absolute;
6163
- inset: 0;
6164
- display: block;
6165
- border-radius: 50%;
6166
- background-color: var(--md-sys-color-surface);
6167
- }
6168
- .tap-target-wave::before {
6169
- transform: scale(0);
6170
- transition: transform var(--md-comp-tap-target-duration) var(--md-comp-tap-target-easing);
6171
- }
6172
- .tap-target-wave::after {
6173
- visibility: hidden;
6174
- z-index: -1;
6175
- }
6176
- .tap-target-origin {
6177
- z-index: calc(var(--md-comp-tap-target-z, 1000) + 2);
6178
- }
6179
- @media (width < 601px) {
6180
- .tap-target-wrapper {
6181
- --md-comp-tap-target-size: 360px;
6182
- }
6183
- }
6184
- @media (prefers-reduced-motion: reduce) {
6185
- .tap-target-wrapper {
6186
- --md-comp-tap-target-duration: 0s;
6187
- }
6188
- .tap-target-wrapper:is(.open, :popover-open) .tap-target-wave::after {
6189
- animation: none;
6190
- }
6191
- }
6192
7429
  .pulse {
6193
7430
  overflow: visible;
6194
7431
  position: relative;
@@ -6904,6 +8141,30 @@
6904
8141
  .on-primary-container-text {
6905
8142
  color: var(--md-sys-color-on-primary-container);
6906
8143
  }
8144
+ .primary-fixed {
8145
+ background-color: var(--md-sys-color-primary-fixed);
8146
+ }
8147
+ .primary-fixed-text {
8148
+ color: var(--md-sys-color-primary-fixed);
8149
+ }
8150
+ .primary-fixed-dim {
8151
+ background-color: var(--md-sys-color-primary-fixed-dim);
8152
+ }
8153
+ .primary-fixed-dim-text {
8154
+ color: var(--md-sys-color-primary-fixed-dim);
8155
+ }
8156
+ .on-primary-fixed {
8157
+ background-color: var(--md-sys-color-on-primary-fixed);
8158
+ }
8159
+ .on-primary-fixed-text {
8160
+ color: var(--md-sys-color-on-primary-fixed);
8161
+ }
8162
+ .on-primary-fixed-variant {
8163
+ background-color: var(--md-sys-color-on-primary-fixed-variant);
8164
+ }
8165
+ .on-primary-fixed-variant-text {
8166
+ color: var(--md-sys-color-on-primary-fixed-variant);
8167
+ }
6907
8168
  .secondary {
6908
8169
  background-color: var(--md-sys-color-secondary);
6909
8170
  }
@@ -6928,6 +8189,30 @@
6928
8189
  .on-secondary-container-text {
6929
8190
  color: var(--md-sys-color-on-secondary-container);
6930
8191
  }
8192
+ .secondary-fixed {
8193
+ background-color: var(--md-sys-color-secondary-fixed);
8194
+ }
8195
+ .secondary-fixed-text {
8196
+ color: var(--md-sys-color-secondary-fixed);
8197
+ }
8198
+ .secondary-fixed-dim {
8199
+ background-color: var(--md-sys-color-secondary-fixed-dim);
8200
+ }
8201
+ .secondary-fixed-dim-text {
8202
+ color: var(--md-sys-color-secondary-fixed-dim);
8203
+ }
8204
+ .on-secondary-fixed {
8205
+ background-color: var(--md-sys-color-on-secondary-fixed);
8206
+ }
8207
+ .on-secondary-fixed-text {
8208
+ color: var(--md-sys-color-on-secondary-fixed);
8209
+ }
8210
+ .on-secondary-fixed-variant {
8211
+ background-color: var(--md-sys-color-on-secondary-fixed-variant);
8212
+ }
8213
+ .on-secondary-fixed-variant-text {
8214
+ color: var(--md-sys-color-on-secondary-fixed-variant);
8215
+ }
6931
8216
  .tertiary {
6932
8217
  background-color: var(--md-sys-color-tertiary);
6933
8218
  }
@@ -6952,6 +8237,30 @@
6952
8237
  .on-tertiary-container-text {
6953
8238
  color: var(--md-sys-color-on-tertiary-container);
6954
8239
  }
8240
+ .tertiary-fixed {
8241
+ background-color: var(--md-sys-color-tertiary-fixed);
8242
+ }
8243
+ .tertiary-fixed-text {
8244
+ color: var(--md-sys-color-tertiary-fixed);
8245
+ }
8246
+ .tertiary-fixed-dim {
8247
+ background-color: var(--md-sys-color-tertiary-fixed-dim);
8248
+ }
8249
+ .tertiary-fixed-dim-text {
8250
+ color: var(--md-sys-color-tertiary-fixed-dim);
8251
+ }
8252
+ .on-tertiary-fixed {
8253
+ background-color: var(--md-sys-color-on-tertiary-fixed);
8254
+ }
8255
+ .on-tertiary-fixed-text {
8256
+ color: var(--md-sys-color-on-tertiary-fixed);
8257
+ }
8258
+ .on-tertiary-fixed-variant {
8259
+ background-color: var(--md-sys-color-on-tertiary-fixed-variant);
8260
+ }
8261
+ .on-tertiary-fixed-variant-text {
8262
+ color: var(--md-sys-color-on-tertiary-fixed-variant);
8263
+ }
6955
8264
  .error {
6956
8265
  background-color: var(--md-sys-color-error);
6957
8266
  }
@@ -6976,18 +8285,6 @@
6976
8285
  .on-error-container-text {
6977
8286
  color: var(--md-sys-color-on-error-container);
6978
8287
  }
6979
- .background {
6980
- background-color: var(--md-sys-color-background);
6981
- }
6982
- .background-text {
6983
- color: var(--md-sys-color-background);
6984
- }
6985
- .on-background {
6986
- background-color: var(--md-sys-color-on-background);
6987
- }
6988
- .on-background-text {
6989
- color: var(--md-sys-color-on-background);
6990
- }
6991
8288
  .surface {
6992
8289
  background-color: var(--md-sys-color-surface);
6993
8290
  }
@@ -7000,29 +8297,65 @@
7000
8297
  .on-surface-text {
7001
8298
  color: var(--md-sys-color-on-surface);
7002
8299
  }
7003
- .surface-variant {
7004
- background-color: var(--md-sys-color-surface-variant);
7005
- }
7006
- .surface-variant-text {
7007
- color: var(--md-sys-color-surface-variant);
7008
- }
7009
8300
  .on-surface-variant {
7010
8301
  background-color: var(--md-sys-color-on-surface-variant);
7011
8302
  }
7012
8303
  .on-surface-variant-text {
7013
8304
  color: var(--md-sys-color-on-surface-variant);
7014
8305
  }
8306
+ .surface-dim {
8307
+ background-color: var(--md-sys-color-surface-dim);
8308
+ }
8309
+ .surface-dim-text {
8310
+ color: var(--md-sys-color-surface-dim);
8311
+ }
8312
+ .surface-bright {
8313
+ background-color: var(--md-sys-color-surface-bright);
8314
+ }
8315
+ .surface-bright-text {
8316
+ color: var(--md-sys-color-surface-bright);
8317
+ }
8318
+ .surface-container-lowest {
8319
+ background-color: var(--md-sys-color-surface-container-lowest);
8320
+ }
8321
+ .surface-container-lowest-text {
8322
+ color: var(--md-sys-color-surface-container-lowest);
8323
+ }
8324
+ .surface-container-low {
8325
+ background-color: var(--md-sys-color-surface-container-low);
8326
+ }
8327
+ .surface-container-low-text {
8328
+ color: var(--md-sys-color-surface-container-low);
8329
+ }
8330
+ .surface-container {
8331
+ background-color: var(--md-sys-color-surface-container);
8332
+ }
8333
+ .surface-container-text {
8334
+ color: var(--md-sys-color-surface-container);
8335
+ }
8336
+ .surface-container-high {
8337
+ background-color: var(--md-sys-color-surface-container-high);
8338
+ }
8339
+ .surface-container-high-text {
8340
+ color: var(--md-sys-color-surface-container-high);
8341
+ }
8342
+ .surface-container-highest {
8343
+ background-color: var(--md-sys-color-surface-container-highest);
8344
+ }
8345
+ .surface-container-highest-text {
8346
+ color: var(--md-sys-color-surface-container-highest);
8347
+ }
7015
8348
  .outline {
7016
8349
  background-color: var(--md-sys-color-outline);
7017
8350
  }
7018
8351
  .outline-text {
7019
8352
  color: var(--md-sys-color-outline);
7020
8353
  }
7021
- .inverse-on-surface {
7022
- background-color: var(--md-sys-color-inverse-on-surface);
8354
+ .outline-variant {
8355
+ background-color: var(--md-sys-color-outline-variant);
7023
8356
  }
7024
- .inverse-on-surface-text {
7025
- color: var(--md-sys-color-inverse-on-surface);
8357
+ .outline-variant-text {
8358
+ color: var(--md-sys-color-outline-variant);
7026
8359
  }
7027
8360
  .inverse-surface {
7028
8361
  background-color: var(--md-sys-color-inverse-surface);
@@ -7030,35 +8363,53 @@
7030
8363
  .inverse-surface-text {
7031
8364
  color: var(--md-sys-color-inverse-surface);
7032
8365
  }
8366
+ .inverse-on-surface {
8367
+ background-color: var(--md-sys-color-inverse-on-surface);
8368
+ }
8369
+ .inverse-on-surface-text {
8370
+ color: var(--md-sys-color-inverse-on-surface);
8371
+ }
7033
8372
  .inverse-primary {
7034
8373
  background-color: var(--md-sys-color-inverse-primary);
7035
8374
  }
7036
8375
  .inverse-primary-text {
7037
8376
  color: var(--md-sys-color-inverse-primary);
7038
8377
  }
8378
+ .scrim {
8379
+ background-color: var(--md-sys-color-scrim);
8380
+ }
8381
+ .scrim-text {
8382
+ color: var(--md-sys-color-scrim);
8383
+ }
7039
8384
  .shadow {
7040
8385
  background-color: var(--md-sys-color-shadow);
7041
8386
  }
7042
8387
  .shadow-text {
7043
8388
  color: var(--md-sys-color-shadow);
7044
8389
  }
7045
- .surface-tint {
7046
- background-color: var(--md-sys-color-surface-tint);
8390
+ .background {
8391
+ background-color: var(--md-sys-color-background);
7047
8392
  }
7048
- .surface-tint-text {
7049
- color: var(--md-sys-color-surface-tint);
8393
+ .background-text {
8394
+ color: var(--md-sys-color-background);
7050
8395
  }
7051
- .outline-variant {
7052
- background-color: var(--md-sys-color-outline-variant);
8396
+ .on-background {
8397
+ background-color: var(--md-sys-color-on-background);
7053
8398
  }
7054
- .outline-variant-text {
7055
- color: var(--md-sys-color-outline-variant);
8399
+ .on-background-text {
8400
+ color: var(--md-sys-color-on-background);
7056
8401
  }
7057
- .scrim {
7058
- background-color: var(--md-sys-color-scrim);
8402
+ .surface-variant {
8403
+ background-color: var(--md-sys-color-surface-variant);
7059
8404
  }
7060
- .scrim-text {
7061
- color: var(--md-sys-color-scrim);
8405
+ .surface-variant-text {
8406
+ color: var(--md-sys-color-surface-variant);
8407
+ }
8408
+ .surface-tint {
8409
+ background-color: var(--md-sys-color-surface-tint);
8410
+ }
8411
+ .surface-tint-text {
8412
+ color: var(--md-sys-color-surface-tint);
7062
8413
  }
7063
8414
  .display-large {
7064
8415
  font-family: var(--md-sys-typescale-display-large-font-family-name), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
@@ -7620,11 +8971,21 @@
7620
8971
  display: none !important;
7621
8972
  }
7622
8973
  }
8974
+ @media (width >= 1601px) {
8975
+ .hide-on-xxl-only {
8976
+ display: none !important;
8977
+ }
8978
+ }
7623
8979
  @media (width >= 1201px) {
7624
8980
  .show-on-extra-large {
7625
8981
  display: block !important;
7626
8982
  }
7627
8983
  }
8984
+ @media (width >= 1601px) {
8985
+ .show-on-xxl {
8986
+ display: block !important;
8987
+ }
8988
+ }
7628
8989
  @media (width >= 993px) {
7629
8990
  .show-on-large {
7630
8991
  display: block !important;