@expressivecss/expressive 0.2.0 → 0.4.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 (80) hide show
  1. package/README.md +8 -8
  2. package/dist/css/expressive.css +1915 -1566
  3. package/dist/css/expressive.css.map +1 -1
  4. package/dist/css/expressive.min.css +1 -1
  5. package/dist/css/expressive.min.css.map +1 -1
  6. package/dist/js/expressive.cjs +1338 -1528
  7. package/dist/js/expressive.cjs.map +4 -4
  8. package/dist/js/expressive.js +1338 -1528
  9. package/dist/js/expressive.js.map +4 -4
  10. package/dist/js/expressive.min.js +10 -20
  11. package/dist/js/expressive.min.js.map +4 -4
  12. package/dist/js/expressive.mjs +1338 -1529
  13. package/dist/js/expressive.mjs.map +4 -4
  14. package/dist/types/components/autocomplete.d.ts +2 -9
  15. package/dist/types/components/buttons.d.ts +19 -43
  16. package/dist/types/components/cards.d.ts +3 -6
  17. package/dist/types/components/carousel.d.ts +42 -48
  18. package/dist/types/components/characterCounter.d.ts +3 -5
  19. package/dist/types/components/chips.d.ts +4 -4
  20. package/dist/types/components/collapsible.d.ts +28 -23
  21. package/dist/types/components/datepicker.d.ts +2 -8
  22. package/dist/types/components/dropdown.d.ts +11 -2
  23. package/dist/types/components/index.d.ts +0 -1
  24. package/dist/types/components/lightbox.d.ts +2 -2
  25. package/dist/types/components/parallax.d.ts +7 -37
  26. package/dist/types/components/pushpin.d.ts +2 -2
  27. package/dist/types/components/range.d.ts +2 -2
  28. package/dist/types/components/registry.d.ts +0 -4
  29. package/dist/types/components/scrollspy.d.ts +26 -50
  30. package/dist/types/components/select.d.ts +20 -6
  31. package/dist/types/components/sidenav.d.ts +40 -55
  32. package/dist/types/components/slider.d.ts +2 -2
  33. package/dist/types/components/tabs.d.ts +2 -2
  34. package/dist/types/components/tapTarget.d.ts +25 -26
  35. package/dist/types/components/timepicker.d.ts +2 -4
  36. package/dist/types/components/tooltip.d.ts +2 -2
  37. package/dist/types/core/component.d.ts +4 -4
  38. package/dist/types/index.d.ts +1 -1
  39. package/package.json +2 -2
  40. package/src/sass/README.md +3 -6
  41. package/src/sass/abstracts/_breakpoints.scss +0 -16
  42. package/src/sass/abstracts/_variables.scss +0 -21
  43. package/src/sass/base/_grid.scss +0 -19
  44. package/src/sass/components/_badges.scss +6 -5
  45. package/src/sass/components/_breadcrumb.scss +93 -16
  46. package/src/sass/components/_buttons.scss +212 -145
  47. package/src/sass/components/_cards.scss +50 -123
  48. package/src/sass/components/_carousel.scss +128 -63
  49. package/src/sass/components/_chips.scss +1 -1
  50. package/src/sass/components/_collapsible.scss +158 -60
  51. package/src/sass/components/_collection.scss +146 -80
  52. package/src/sass/components/_datepicker.scss +1 -15
  53. package/src/sass/components/_dropdown.scss +110 -14
  54. package/src/sass/components/_icons-material-design.scss +77 -4
  55. package/src/sass/components/_index.scss +1 -0
  56. package/src/sass/components/_lightbox.scss +4 -0
  57. package/src/sass/components/_modal.scss +13 -31
  58. package/src/sass/components/_navbar.scss +24 -6
  59. package/src/sass/components/_page-footer.scss +134 -15
  60. package/src/sass/components/_pagination.scss +131 -25
  61. package/src/sass/components/_parallax.scss +96 -21
  62. package/src/sass/components/_preloader.scss +145 -300
  63. package/src/sass/components/_scrollspy.scss +18 -0
  64. package/src/sass/components/_sidenav.scss +230 -119
  65. package/src/sass/components/_slider.scss +8 -0
  66. package/src/sass/components/_table_of_contents.scss +30 -14
  67. package/src/sass/components/_tabs.scss +54 -35
  68. package/src/sass/components/_tapTarget.scss +128 -45
  69. package/src/sass/components/_toast.scss +10 -11
  70. package/src/sass/components/_toolbar.scss +2 -2
  71. package/src/sass/components/_tooltip.scss +4 -9
  72. package/src/sass/components/_transitions.scss +0 -5
  73. package/src/sass/components/forms/_index.scss +0 -5
  74. package/src/sass/components/forms/_input-fields.scss +49 -52
  75. package/src/sass/components/forms/_select.scss +175 -60
  76. package/src/sass/components/forms/_switches.scss +21 -8
  77. package/src/sass/utilities/_helpers.scss +1 -3
  78. package/src/sass/utilities/_typescale.scss +0 -5
  79. package/src/sass/utilities/_visibility.scss +2 -2
  80. package/dist/types/components/modal.d.ts +0 -45
@@ -1179,7 +1179,7 @@
1179
1179
  --md-comp-filled-button-icon-size: 18px;
1180
1180
  --md-comp-filled-button-icon-label-space: 8px;
1181
1181
  }
1182
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small) {
1182
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button) {
1183
1183
  box-sizing: border-box;
1184
1184
  display: inline-flex;
1185
1185
  align-items: center;
@@ -1204,7 +1204,7 @@
1204
1204
  -webkit-tap-highlight-color: transparent;
1205
1205
  transition: background-color 0.2s ease-out, box-shadow 0.2s ease-out;
1206
1206
  }
1207
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small) > i {
1207
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button) > i {
1208
1208
  flex: 0 0 auto;
1209
1209
  font-size: var(--md-comp-filled-button-icon-size);
1210
1210
  width: var(--md-comp-filled-button-icon-size);
@@ -1212,119 +1212,100 @@
1212
1212
  line-height: var(--md-comp-filled-button-icon-size);
1213
1213
  overflow: hidden;
1214
1214
  }
1215
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small):has(> i + span) {
1215
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button):has(> i + span) {
1216
1216
  padding-inline-start: var(--md-comp-filled-button-with-icon-leading-space);
1217
1217
  }
1218
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small):has(> span + i) {
1218
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button):has(> span + i) {
1219
1219
  padding-inline-end: var(--md-comp-filled-button-with-icon-leading-space);
1220
1220
  }
1221
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).circle {
1221
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).circle {
1222
1222
  width: var(--md-comp-filled-button-container-height);
1223
1223
  padding: 0;
1224
1224
  border-radius: 50%;
1225
1225
  }
1226
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).circle > i {
1226
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).circle > i {
1227
1227
  font-size: 24px;
1228
1228
  width: 24px;
1229
1229
  height: 24px;
1230
1230
  line-height: 24px;
1231
1231
  }
1232
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small):not(.tonal, .outlined, .border, .elevated, .text, .transparent, .btn-flat) {
1232
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button):not(.tonal, .outlined, .elevated, .text) {
1233
1233
  color: var(--md-comp-filled-button-label-text-color, var(--md-sys-color-on-primary));
1234
1234
  background-color: var(--md-comp-filled-button-container-color, var(--md-sys-color-primary));
1235
1235
  }
1236
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small):not(.tonal, .outlined, .border, .elevated, .text, .transparent, .btn-flat):hover {
1236
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button):not(.tonal, .outlined, .elevated, .text):hover {
1237
1237
  background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 8%, var(--md-sys-color-primary));
1238
1238
  }
1239
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small):not(.tonal, .outlined, .border, .elevated, .text, .transparent, .btn-flat):active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small):not(.tonal, .outlined, .border, .elevated, .text, .transparent, .btn-flat):focus {
1239
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button):not(.tonal, .outlined, .elevated, .text):active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button):not(.tonal, .outlined, .elevated, .text):focus {
1240
1240
  background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 10%, var(--md-sys-color-primary));
1241
1241
  }
1242
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small):not(.tonal, .outlined, .border, .elevated, .text, .transparent, .btn-flat):focus-visible {
1242
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button):not(.tonal, .outlined, .elevated, .text):focus-visible {
1243
1243
  outline: 3px solid var(--md-sys-color-secondary);
1244
1244
  outline-offset: 2px;
1245
1245
  }
1246
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).tonal {
1246
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).tonal {
1247
1247
  color: var(--md-sys-color-on-secondary-container);
1248
1248
  background-color: var(--md-sys-color-secondary-container);
1249
1249
  }
1250
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).tonal:hover {
1250
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).tonal:hover {
1251
1251
  background-color: color-mix(in oklab, var(--md-sys-color-on-secondary-container) 8%, var(--md-sys-color-secondary-container));
1252
1252
  }
1253
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).tonal:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).tonal:focus {
1253
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).tonal:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).tonal:focus {
1254
1254
  background-color: color-mix(in oklab, var(--md-sys-color-on-secondary-container) 10%, var(--md-sys-color-secondary-container));
1255
1255
  }
1256
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).tonal:focus-visible {
1256
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).tonal:focus-visible {
1257
1257
  outline: 3px solid var(--md-sys-color-secondary);
1258
1258
  outline-offset: 2px;
1259
1259
  }
1260
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).outlined,
1261
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).border {
1260
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).outlined {
1262
1261
  background-color: transparent;
1263
1262
  color: var(--md-sys-color-primary);
1264
1263
  border: 1px solid var(--md-sys-color-outline);
1265
1264
  }
1266
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).outlined:hover,
1267
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).border:hover {
1265
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).outlined:hover {
1268
1266
  background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, transparent);
1269
1267
  }
1270
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).outlined:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).outlined:focus,
1271
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).border:active,
1272
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).border:focus {
1268
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).outlined:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).outlined:focus {
1273
1269
  background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
1274
1270
  }
1275
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).outlined:focus-visible,
1276
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).border:focus-visible {
1271
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).outlined:focus-visible {
1277
1272
  outline: 3px solid var(--md-sys-color-secondary);
1278
1273
  outline-offset: 2px;
1279
1274
  }
1280
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).elevated {
1275
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).elevated {
1281
1276
  color: var(--md-sys-color-primary);
1282
1277
  background-color: var(--md-sys-color-surface);
1283
1278
  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);
1284
1279
  }
1285
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).elevated:hover {
1280
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).elevated:hover {
1286
1281
  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);
1287
1282
  background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, var(--md-sys-color-surface));
1288
1283
  }
1289
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).elevated:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).elevated:focus {
1284
+ :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 {
1290
1285
  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);
1291
1286
  background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, var(--md-sys-color-surface));
1292
1287
  }
1293
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).elevated:focus-visible {
1288
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).elevated:focus-visible {
1294
1289
  outline: 3px solid var(--md-sys-color-secondary);
1295
1290
  outline-offset: 2px;
1296
1291
  }
1297
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).text,
1298
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).transparent,
1299
- .btn-flat {
1292
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).text {
1300
1293
  box-shadow: none !important;
1301
1294
  color: var(--md-sys-color-primary);
1302
1295
  background-color: transparent;
1303
1296
  border-color: transparent;
1304
1297
  }
1305
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).text:hover,
1306
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).transparent:hover,
1307
- .btn-flat:hover {
1298
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).text:hover {
1308
1299
  background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, transparent);
1309
1300
  }
1310
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).text:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).text:focus,
1311
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).transparent:active,
1312
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).transparent:focus,
1313
- .btn-flat:active,
1314
- .btn-flat:focus {
1301
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).text:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).text:focus {
1315
1302
  background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
1316
1303
  }
1317
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).text:focus-visible,
1318
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).transparent:focus-visible,
1319
- .btn-flat:focus-visible {
1304
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).text:focus-visible {
1320
1305
  outline: 3px solid var(--md-sys-color-secondary);
1321
1306
  outline-offset: 2px;
1322
1307
  }
1323
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).icon-right {
1324
- flex-direction: row-reverse;
1325
- }
1326
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).small,
1327
- .btn-small {
1308
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).small {
1328
1309
  --md-comp-filled-button-container-height: 32px;
1329
1310
  --md-comp-filled-button-container-shape: 16px;
1330
1311
  --md-comp-filled-button-leading-space: 16px;
@@ -1334,9 +1315,8 @@
1334
1315
  height: 32px;
1335
1316
  font-size: var(--md-sys-typescale-label-medium-font-size);
1336
1317
  }
1337
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large,
1338
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra,
1339
- .btn-large {
1318
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large,
1319
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra {
1340
1320
  --md-comp-filled-button-container-height: 56px;
1341
1321
  --md-comp-filled-button-container-shape: 28px;
1342
1322
  --md-comp-filled-button-leading-space: 24px;
@@ -1345,14 +1325,10 @@
1345
1325
  --md-comp-filled-button-icon-size: 24px;
1346
1326
  height: 56px;
1347
1327
  }
1348
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).rounded {
1328
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).rounded {
1349
1329
  border-radius: 9999px;
1350
1330
  }
1351
- .btn-block {
1352
- display: flex;
1353
- width: 100%;
1354
- }
1355
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extend {
1331
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extend {
1356
1332
  height: 56px;
1357
1333
  padding-inline: 16px 20px;
1358
1334
  border-radius: 16px;
@@ -1360,27 +1336,25 @@
1360
1336
  background-color: var(--md-sys-color-primary-container);
1361
1337
  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);
1362
1338
  }
1363
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extend:hover {
1339
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extend:hover {
1364
1340
  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
1365
1341
  background-color: color-mix(in oklab, var(--md-sys-color-on-primary-container) 8%, var(--md-sys-color-primary-container));
1366
1342
  }
1367
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extend:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extend:focus {
1343
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extend:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extend:focus {
1368
1344
  background-color: color-mix(in oklab, var(--md-sys-color-on-primary-container) 10%, var(--md-sys-color-primary-container));
1369
1345
  }
1370
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extend:focus-visible {
1346
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extend:focus-visible {
1371
1347
  outline: 3px solid var(--md-sys-color-secondary);
1372
1348
  outline-offset: 2px;
1373
1349
  }
1374
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extend > i {
1350
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extend > i {
1375
1351
  font-size: 24px;
1376
1352
  width: 24px;
1377
1353
  height: 24px;
1378
1354
  line-height: 24px;
1379
1355
  }
1380
- .btn-floating,
1381
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle,
1382
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle,
1383
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle {
1356
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle,
1357
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle {
1384
1358
  display: inline-flex;
1385
1359
  align-items: center;
1386
1360
  justify-content: center;
@@ -1397,94 +1371,53 @@
1397
1371
  vertical-align: middle;
1398
1372
  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);
1399
1373
  }
1400
- .btn-floating:focus-visible,
1401
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle:focus-visible,
1402
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle:focus-visible,
1403
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle:focus-visible {
1374
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle:focus-visible,
1375
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle:focus-visible {
1404
1376
  outline: 3px solid var(--md-sys-color-secondary);
1405
1377
  outline-offset: 2px;
1406
1378
  }
1407
- .btn-floating,
1408
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle,
1409
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle,
1410
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle {
1411
- transition: background-color 0.2s ease-out, box-shadow 0.2s ease-out;
1412
- }
1413
- .btn-floating > i,
1414
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle > i,
1415
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle > i,
1416
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle > i {
1379
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle > i,
1380
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle > i {
1417
1381
  font-size: 24px;
1418
1382
  width: 24px;
1419
1383
  height: 24px;
1420
1384
  line-height: 24px;
1421
1385
  color: inherit;
1422
1386
  }
1423
- .btn-floating:hover,
1424
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle:hover,
1425
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle:hover,
1426
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle:hover {
1387
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle:hover,
1388
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle:hover {
1427
1389
  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
1428
1390
  background-color: color-mix(in oklab, var(--md-sys-color-on-primary-container) 8%, var(--md-sys-color-primary-container));
1429
1391
  }
1430
- .btn-floating:active, .btn-floating:focus,
1431
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle:active,
1432
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle:focus,
1433
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle:active,
1434
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle:focus,
1435
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle:active,
1436
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle:focus {
1392
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle:active, :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle:focus,
1393
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle:active,
1394
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle:focus {
1437
1395
  background-color: color-mix(in oklab, var(--md-sys-color-on-primary-container) 10%, var(--md-sys-color-primary-container));
1438
1396
  }
1439
- .btn-floating.small, .btn-floating.btn-small,
1440
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle.small,
1441
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle.btn-small,
1442
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle.small,
1443
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle.btn-small,
1444
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle.small,
1445
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle.btn-small {
1397
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle.small,
1398
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle.small {
1446
1399
  width: 40px;
1447
1400
  height: 40px;
1448
1401
  border-radius: 12px;
1449
1402
  }
1450
- .btn-floating.small > i, .btn-floating.btn-small > i,
1451
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle.small > i,
1452
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle.btn-small > i,
1453
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle.small > i,
1454
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle.btn-small > i,
1455
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle.small > i,
1456
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle.btn-small > i {
1403
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle.small > i,
1404
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle.small > i {
1457
1405
  font-size: 24px;
1458
1406
  }
1459
- .btn-floating.halfway-fab,
1460
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle.halfway-fab,
1461
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle.halfway-fab,
1462
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle.halfway-fab {
1407
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle.halfway-fab,
1408
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle.halfway-fab {
1463
1409
  position: absolute;
1464
- right: 24px;
1410
+ inset-inline-end: 24px;
1465
1411
  bottom: -28px;
1466
1412
  }
1467
- .btn-floating.halfway-fab.left,
1468
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).extra.circle.halfway-fab.left,
1469
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).large.circle.halfway-fab.left,
1470
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).btn-large.circle.halfway-fab.left {
1471
- right: auto;
1472
- left: 24px;
1473
- }
1474
- .btn-floating:not(.large, .btn-large, .extra, .small, .btn-small) {
1475
- width: 40px;
1476
- height: 40px;
1477
- border-radius: 12px;
1478
- }
1479
- .btn-floating:not(.large, .btn-large, .extra, .small, .btn-small).halfway-fab {
1480
- bottom: -20px;
1413
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).extra.circle.halfway-fab.left,
1414
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).large.circle.halfway-fab.left {
1415
+ inset-inline-end: auto;
1416
+ inset-inline-start: 24px;
1481
1417
  }
1482
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small):disabled,
1483
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small)[disabled],
1484
- :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button, .btn, .btn-flat, .btn-large, .btn-small).disabled,
1485
- .btn-floating:disabled,
1486
- .btn-floating[disabled],
1487
- .btn-floating.disabled {
1418
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button):disabled,
1419
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button)[disabled],
1420
+ :where(button:not(.datepicker-day-button, .month-prev, .month-next, .indicator-item-btn), a.button).disabled {
1488
1421
  box-shadow: none !important;
1489
1422
  color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
1490
1423
  background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 12%, transparent);
@@ -1494,207 +1427,386 @@
1494
1427
  cursor: default;
1495
1428
  }
1496
1429
  .fixed-action-btn {
1430
+ --md-comp-fab-offset: 16px;
1431
+ --md-comp-fab-z: 997;
1432
+ --md-comp-fab-menu-gap: 16px;
1433
+ --md-comp-fab-duration: 200ms;
1434
+ --md-comp-fab-stagger: 40ms;
1435
+ --md-comp-fab-easing: cubic-bezier(0.65, 0, 0.35, 1);
1436
+ --md-comp-fab-travel: 64px;
1437
+ --md-comp-fab-hidden-transform: scale(0)
1438
+ translateY(calc(var(--md-comp-fab-travel) * (var(--i, 0) + 1)));
1497
1439
  position: fixed;
1498
- right: 23px;
1499
- bottom: 23px;
1500
- padding-top: 15px;
1501
- margin-bottom: 0;
1502
- z-index: 997;
1440
+ inset-inline-end: var(--md-comp-fab-offset);
1441
+ bottom: var(--md-comp-fab-offset);
1442
+ z-index: var(--md-comp-fab-z);
1443
+ padding-top: var(--md-comp-fab-menu-gap);
1444
+ margin: 0;
1445
+ overflow: visible;
1446
+ }
1447
+ .fixed-action-btn > :is(a, button) {
1448
+ position: relative;
1449
+ z-index: 1;
1450
+ }
1451
+ .fixed-action-btn :is(ul, menu) {
1452
+ --n: 1;
1453
+ position: absolute;
1454
+ inset-inline: 0;
1455
+ bottom: 64px;
1456
+ display: flex;
1457
+ flex-direction: column;
1458
+ align-items: center;
1459
+ gap: var(--md-comp-fab-menu-gap);
1460
+ margin: 0;
1461
+ padding: 0;
1462
+ list-style: none;
1463
+ visibility: hidden;
1464
+ overflow: visible;
1465
+ transition: visibility 0s calc(var(--md-comp-fab-duration) + var(--md-comp-fab-stagger) * (var(--n) - 1));
1466
+ }
1467
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(2)) {
1468
+ --n: 2;
1469
+ }
1470
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(3)) {
1471
+ --n: 3;
1472
+ }
1473
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(4)) {
1474
+ --n: 4;
1475
+ }
1476
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(5)) {
1477
+ --n: 5;
1478
+ }
1479
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(6)) {
1480
+ --n: 6;
1481
+ }
1482
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(7)) {
1483
+ --n: 7;
1484
+ }
1485
+ .fixed-action-btn :is(ul, menu):has(> :nth-child(8)) {
1486
+ --n: 8;
1487
+ }
1488
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(1) {
1489
+ --i: 0;
1490
+ }
1491
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(2) {
1492
+ --i: 1;
1493
+ }
1494
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(3) {
1495
+ --i: 2;
1496
+ }
1497
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(4) {
1498
+ --i: 3;
1499
+ }
1500
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(5) {
1501
+ --i: 4;
1502
+ }
1503
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(6) {
1504
+ --i: 5;
1505
+ }
1506
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(7) {
1507
+ --i: 6;
1503
1508
  }
1504
- .fixed-action-btn.active ul {
1509
+ .fixed-action-btn :is(ul, menu) li:nth-last-child(8) {
1510
+ --i: 7;
1511
+ }
1512
+ .fixed-action-btn :is(ul, menu) > li > :is(a, button) {
1513
+ opacity: 0;
1514
+ transform: var(--md-comp-fab-hidden-transform);
1515
+ transition: opacity var(--md-comp-fab-duration) var(--md-comp-fab-easing), transform var(--md-comp-fab-duration) var(--md-comp-fab-easing), background-color 0.2s ease-out, box-shadow 0.2s ease-out;
1516
+ transition-delay: calc(var(--md-comp-fab-stagger) * (var(--n) - 1 - var(--i, 0)));
1517
+ }
1518
+ .fixed-action-btn.active :is(ul, menu) {
1505
1519
  visibility: visible;
1506
- padding-left: 0;
1507
- list-style-type: none;
1520
+ transition-delay: 0s;
1521
+ }
1522
+ .fixed-action-btn.active :is(ul, menu) > li > :is(a, button) {
1523
+ opacity: 1;
1524
+ transform: none;
1525
+ transition-delay: calc(var(--md-comp-fab-stagger) * var(--i, 0));
1526
+ }
1527
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(1), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(1), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(1) {
1528
+ --i: 0;
1529
+ }
1530
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(2), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(2), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(2) {
1531
+ --i: 1;
1532
+ }
1533
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(3), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(3), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(3) {
1534
+ --i: 2;
1535
+ }
1536
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(4), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(4), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(4) {
1537
+ --i: 3;
1538
+ }
1539
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(5), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(5), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(5) {
1540
+ --i: 4;
1541
+ }
1542
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(6), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(6), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(6) {
1543
+ --i: 5;
1544
+ }
1545
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(7), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(7), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(7) {
1546
+ --i: 6;
1547
+ }
1548
+ .fixed-action-btn.direction-left :is(ul, menu) li:nth-child(8), .fixed-action-btn.direction-right :is(ul, menu) li:nth-child(8), .fixed-action-btn.direction-bottom :is(ul, menu) li:nth-child(8) {
1549
+ --i: 7;
1508
1550
  }
1509
1551
  .fixed-action-btn.direction-left, .fixed-action-btn.direction-right {
1510
- padding: 0 0 0 15px;
1552
+ padding: 0;
1511
1553
  }
1512
- .fixed-action-btn.direction-left ul, .fixed-action-btn.direction-right ul {
1513
- text-align: right;
1514
- right: 64px;
1554
+ .fixed-action-btn.direction-left :is(ul, menu), .fixed-action-btn.direction-right :is(ul, menu) {
1555
+ inset: auto;
1515
1556
  top: 50%;
1516
- transform: translateY(-50%);
1517
- height: 100%;
1518
- left: auto;
1519
- width: 500px;
1557
+ translate: 0 -50%;
1558
+ flex-direction: row;
1559
+ width: max-content;
1560
+ height: auto;
1520
1561
  }
1521
- .fixed-action-btn.direction-left ul li, .fixed-action-btn.direction-right ul li {
1522
- display: inline-block;
1523
- margin: 7.5px 15px 0 0;
1562
+ .fixed-action-btn.direction-left {
1563
+ --md-comp-fab-hidden-transform: scale(0)
1564
+ translateX(calc(var(--md-comp-fab-travel) * (var(--i, 0) + 1)));
1565
+ padding-inline-start: var(--md-comp-fab-menu-gap);
1524
1566
  }
1525
- .fixed-action-btn.direction-right {
1526
- padding: 0 15px 0 0;
1567
+ .fixed-action-btn.direction-left :is(ul, menu) {
1568
+ inset-inline-end: 64px;
1569
+ flex-direction: row-reverse;
1527
1570
  }
1528
- .fixed-action-btn.direction-right ul {
1529
- text-align: left;
1530
- direction: rtl;
1531
- left: 64px;
1532
- right: auto;
1571
+ .fixed-action-btn.direction-right {
1572
+ --md-comp-fab-hidden-transform: scale(0)
1573
+ translateX(calc(-1 * var(--md-comp-fab-travel) * (var(--i, 0) + 1)));
1574
+ padding-inline-end: var(--md-comp-fab-menu-gap);
1533
1575
  }
1534
- .fixed-action-btn.direction-right ul li {
1535
- margin: 7.5px 0 0 15px;
1576
+ .fixed-action-btn.direction-right :is(ul, menu) {
1577
+ inset-inline-start: 64px;
1536
1578
  }
1537
1579
  .fixed-action-btn.direction-bottom {
1538
- padding: 0 0 15px 0;
1580
+ --md-comp-fab-hidden-transform: scale(0)
1581
+ translateY(calc(-1 * var(--md-comp-fab-travel) * (var(--i, 0) + 1)));
1582
+ padding: 0 0 var(--md-comp-fab-menu-gap);
1539
1583
  }
1540
- .fixed-action-btn.direction-bottom ul {
1584
+ .fixed-action-btn.direction-bottom :is(ul, menu) {
1585
+ inset: auto;
1541
1586
  top: 64px;
1542
1587
  bottom: auto;
1543
- display: flex;
1544
- flex-direction: column-reverse;
1545
- }
1546
- .fixed-action-btn.direction-bottom ul li {
1547
- margin: 15px 0 0 0;
1588
+ inset-inline: 0;
1548
1589
  }
1549
1590
  .fixed-action-btn.toolbar {
1550
1591
  padding: 0;
1551
1592
  height: 56px;
1552
1593
  }
1553
- .fixed-action-btn.toolbar.active > a i, .fixed-action-btn.toolbar.active > button i {
1594
+ .fixed-action-btn.toolbar :is(ul, menu) > li > :is(a, button) {
1595
+ opacity: 1;
1596
+ transform: none;
1597
+ transition: opacity var(--md-comp-fab-duration);
1598
+ }
1599
+ .fixed-action-btn.toolbar.active {
1600
+ inset-inline: 0;
1601
+ bottom: 0;
1602
+ width: 100%;
1603
+ height: 56px;
1604
+ }
1605
+ .fixed-action-btn.toolbar.active > :is(a, button) > i {
1554
1606
  opacity: 0;
1555
1607
  }
1556
- .fixed-action-btn.toolbar ul {
1608
+ .fixed-action-btn.toolbar.active :is(ul, menu) {
1609
+ visibility: visible;
1610
+ position: static;
1557
1611
  display: flex;
1558
- top: 0;
1559
- bottom: 0;
1560
- z-index: 1;
1612
+ flex-direction: row;
1613
+ width: 100%;
1614
+ height: 100%;
1615
+ gap: 0;
1561
1616
  }
1562
- .fixed-action-btn.toolbar ul li {
1617
+ .fixed-action-btn.toolbar :is(ul, menu) li {
1563
1618
  flex: 1;
1564
- display: inline-block;
1565
1619
  margin: 0;
1566
1620
  height: 100%;
1567
- transition: none;
1568
1621
  }
1569
- .fixed-action-btn.toolbar ul li a,
1570
- .fixed-action-btn.toolbar ul li button {
1571
- display: block;
1572
- overflow: hidden;
1573
- position: relative;
1622
+ .fixed-action-btn.toolbar :is(ul, menu) li :is(a, button) {
1623
+ display: grid;
1624
+ place-items: center;
1574
1625
  width: 100%;
1575
1626
  height: 100%;
1576
- background-color: transparent;
1627
+ background: transparent;
1577
1628
  box-shadow: none;
1578
1629
  color: var(--md-sys-color-on-primary-container);
1579
- line-height: 56px;
1580
- z-index: 1;
1581
- }
1582
- .fixed-action-btn.toolbar ul li a i,
1583
- .fixed-action-btn.toolbar ul li button i {
1584
- line-height: inherit;
1585
- }
1586
- .fixed-action-btn ul {
1587
- left: 0;
1588
- right: 0;
1589
- text-align: center;
1590
- position: absolute;
1591
- bottom: 64px;
1592
- margin: 0;
1593
- visibility: hidden;
1594
- }
1595
- .fixed-action-btn ul li {
1596
- margin-bottom: 15px;
1597
- }
1598
- .fixed-action-btn ul a.btn-floating,
1599
- .fixed-action-btn ul button.btn-floating {
1600
- opacity: 0;
1601
1630
  }
1602
1631
  .fixed-action-btn .fab-backdrop {
1603
1632
  position: absolute;
1604
- top: 0;
1605
- left: 0;
1633
+ inset: 0 auto auto 0;
1606
1634
  z-index: -1;
1607
1635
  width: 56px;
1608
1636
  height: 56px;
1609
- background-color: var(--md-sys-color-primary-container);
1610
1637
  border-radius: 16px;
1638
+ background-color: var(--md-sys-color-primary-container);
1611
1639
  transform: scale(0);
1612
1640
  }
1641
+ @media (hover: hover) {
1642
+ .fixed-action-btn:not(.click-to-toggle):hover :is(ul, menu) {
1643
+ visibility: visible;
1644
+ transition-delay: 0s;
1645
+ }
1646
+ .fixed-action-btn:not(.click-to-toggle):hover :is(ul, menu) > li > :is(a, button) {
1647
+ opacity: 1;
1648
+ transform: none;
1649
+ transition-delay: calc(var(--md-comp-fab-stagger) * var(--i, 0));
1650
+ }
1651
+ }
1652
+ @media (prefers-reduced-motion: reduce) {
1653
+ .fixed-action-btn {
1654
+ --md-comp-fab-duration: 0s;
1655
+ --md-comp-fab-stagger: 0s;
1656
+ }
1657
+ }
1613
1658
  .collection {
1614
- padding-left: 0;
1615
- list-style-type: none;
1616
- margin: 0.5rem 0 1rem 0;
1617
- border: 1px solid var(--md-sys-color-outline-variant);
1618
- border-radius: 2px;
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;
1665
+ box-sizing: border-box;
1666
+ padding: 0;
1667
+ margin: 0.5rem 0 1rem;
1619
1668
  overflow: hidden;
1620
- position: relative;
1669
+ 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
+ color: var(--md-sys-color-on-surface);
1621
1674
  }
1622
- .collection .collection-item {
1623
- background-color: transparent;
1624
- line-height: 1.5rem;
1625
- padding: 10px 20px;
1626
- margin: 0;
1627
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
1675
+ .collection > * + * {
1676
+ border-top: 1px solid var(--md-comp-collection-outline-color);
1628
1677
  }
1629
- .collection .collection-item.avatar {
1630
- min-height: 84px;
1631
- padding-left: 72px;
1632
- position: relative;
1678
+ .collection > :is(li, a) {
1679
+ display: grid;
1680
+ grid-template-columns: auto 1fr auto;
1681
+ grid-template-rows: auto auto;
1682
+ align-items: center;
1683
+ column-gap: 16px;
1684
+ 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;
1633
1692
  }
1634
- .collection .collection-item.avatar:not(.circle-clipper) > .circle,
1635
- .collection .collection-item.avatar :not(.circle-clipper) > .circle {
1636
- position: absolute;
1637
- width: 42px;
1638
- height: 42px;
1693
+ .collection > :is(li, a) > :is(img, i).circle {
1694
+ grid-column: 1;
1695
+ 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);
1639
1699
  overflow: hidden;
1640
- left: 15px;
1641
- display: inline-block;
1642
- vertical-align: middle;
1700
+ object-fit: cover;
1643
1701
  }
1644
- .collection .collection-item.avatar i.circle {
1645
- font-size: 18px;
1646
- line-height: 42px;
1647
- color: #fff;
1648
- background-color: var(--md-sys-color-shadow);
1702
+ .collection > :is(li, a) > i.circle {
1703
+ display: inline-flex;
1704
+ align-items: center;
1705
+ justify-content: center;
1706
+ font-size: 20px;
1707
+ line-height: 1;
1708
+ color: var(--md-sys-color-on-primary-container);
1709
+ background-color: var(--md-sys-color-primary-container);
1649
1710
  text-align: center;
1650
1711
  }
1651
- .collection .collection-item.avatar .title {
1652
- font-size: 16px;
1712
+ .collection > :is(li, a) > .title {
1713
+ grid-column: 2;
1714
+ grid-row: 1;
1715
+ 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);
1653
1721
  }
1654
- .collection .collection-item.avatar p {
1722
+ .collection > :is(li, a) > p {
1723
+ grid-column: 2;
1724
+ grid-row: 1;
1725
+ min-width: 0;
1655
1726
  margin: 0;
1727
+ color: var(--md-sys-color-on-surface-variant);
1728
+ 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;
1729
+ font-size: var(--md-sys-typescale-body-medium-font-size);
1730
+ font-weight: var(--md-sys-typescale-body-medium-font-weight);
1731
+ line-height: var(--md-sys-typescale-body-medium-line-height);
1732
+ letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
1656
1733
  }
1657
- .collection .collection-item.avatar .secondary-content {
1658
- position: absolute;
1659
- top: 16px;
1660
- right: 16px;
1734
+ .collection > :is(li, a) > .title ~ p {
1735
+ grid-row: 2;
1661
1736
  }
1662
- .collection .collection-item:last-child {
1663
- border-bottom: none;
1737
+ .collection > :is(li, a) > :is(a:last-child, .badge) {
1738
+ grid-column: 3;
1739
+ grid-row: 1/-1;
1740
+ align-self: center;
1741
+ justify-self: end;
1664
1742
  }
1665
- .collection .collection-item.active {
1666
- background-color: var(--md-sys-color-primary);
1667
- color: var(--md-sys-color-on-primary);
1743
+ .collection > :is(li, a) > a:not(.badge) {
1744
+ grid-column: 1/-1;
1745
+ display: flex;
1746
+ align-items: center;
1747
+ gap: 16px;
1748
+ min-width: 0;
1749
+ color: inherit;
1750
+ text-decoration: none;
1668
1751
  }
1669
- .collection .collection-item.active .secondary-content {
1670
- color: var(--md-sys-color-on-primary);
1752
+ .collection > :is(li, a) > a:not(.badge) > .badge {
1753
+ margin-inline-start: auto;
1671
1754
  }
1672
- .collection a.collection-item {
1673
- display: block;
1674
- transition: 0.25s;
1675
- color: var(--md-sys-color-primary);
1755
+ .collection > :is(li, a):has(> .circle) {
1756
+ min-height: 72px;
1676
1757
  }
1677
- .collection a.collection-item:not(.active):hover {
1678
- background-color: rgba(0, 0, 0, 0.04);
1758
+ .collection > li:has(> :is(h1, h2, h3, h4, h5, h6)) {
1759
+ min-height: 0;
1760
+ padding-block: 12px;
1679
1761
  }
1680
- .collection.with-header .collection-header {
1681
- background-color: transparent;
1682
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
1683
- padding: 10px 20px;
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);
1684
1770
  }
1685
- .collection.with-header .collection-item {
1686
- padding-left: 30px;
1771
+ .collection > a:focus-visible,
1772
+ .collection > li > a:focus-visible {
1773
+ outline: 3px solid var(--md-sys-color-secondary);
1774
+ outline-offset: 2px;
1687
1775
  }
1688
- .collection.with-header .collection-item.avatar {
1689
- padding-left: 72px;
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);
1690
1779
  }
1691
- .secondary-content {
1692
- float: right;
1693
- color: var(--md-sys-color-primary);
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);
1788
+ }
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);
1792
+ }
1793
+ .collection > :is(.disabled, [aria-disabled=true]) {
1794
+ pointer-events: none;
1795
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
1796
+ }
1797
+ .collection span.badge {
1798
+ float: none;
1799
+ margin-block: 0;
1800
+ margin-inline-start: auto;
1801
+ }
1802
+ .collection.flush {
1803
+ border: 0;
1804
+ border-radius: 0;
1694
1805
  }
1695
1806
  .collapsible .collection {
1696
1807
  margin: 0;
1697
1808
  border: none;
1809
+ border-radius: 0;
1698
1810
  }
1699
1811
  :root {
1700
1812
  --bagde-height: 22px;
@@ -1735,8 +1847,10 @@
1735
1847
  height: var(--bagde-height);
1736
1848
  -webkit-font-smoothing: auto;
1737
1849
  }
1738
- .collection-item span.badge {
1739
- margin-top: calc(0.75rem - var(--bagde-height) * 0.5);
1850
+ .collection span.badge {
1851
+ float: none;
1852
+ margin-block: 0;
1853
+ margin-inline-start: auto;
1740
1854
  }
1741
1855
  .collapsible span.badge {
1742
1856
  margin-left: auto;
@@ -1745,22 +1859,81 @@
1745
1859
  margin-right: 7px;
1746
1860
  order: -1;
1747
1861
  }
1748
- .collapsible .active span.badge:not(.new) {
1862
+ .collapsible :is(.active, [open]) span.badge:not(.new) {
1749
1863
  color: var(--md-sys-color-on-surface-variant);
1750
1864
  }
1751
1865
  .sidenav span.badge {
1752
- margin-top: calc(var(--sidenav-line-height) * 0.5 - 11px);
1866
+ margin-top: calc(var(--md-comp-nav-drawer-line-height) * 0.5 - 11px);
1753
1867
  }
1754
1868
  table span.badge {
1755
1869
  display: inline-block;
1756
1870
  float: none;
1757
1871
  margin-left: auto;
1758
1872
  }
1759
- /* This is needed for some mobile phones to display the Google Icon font properly */
1760
- .material-icons, .material-symbols-outlined,
1761
- .material-symbols-rounded, .material-symbols-sharp {
1873
+ :root {
1874
+ --md-icon-font-outlined: "Material Symbols Outlined";
1875
+ --md-icon-font-rounded: "Material Symbols Rounded";
1876
+ --md-icon-font-sharp: "Material Symbols Sharp";
1877
+ --md-icon-font: var(--md-icon-font-outlined);
1878
+ --md-icon-fill: 0;
1879
+ --md-icon-weight: 400;
1880
+ --md-icon-grade: 0;
1881
+ --md-icon-optical-size: 24;
1882
+ }
1883
+ [icon-style=outlined] {
1884
+ --md-icon-font: var(--md-icon-font-outlined);
1885
+ }
1886
+ [icon-style=rounded] {
1887
+ --md-icon-font: var(--md-icon-font-rounded);
1888
+ }
1889
+ [icon-style=sharp] {
1890
+ --md-icon-font: var(--md-icon-font-sharp);
1891
+ }
1892
+ .material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons {
1893
+ display: inline-block;
1894
+ font-family: var(--md-icon-font);
1895
+ font-weight: normal;
1896
+ font-style: normal;
1897
+ font-size: 24px;
1898
+ line-height: 1;
1899
+ letter-spacing: normal;
1900
+ text-transform: none;
1901
+ white-space: nowrap;
1902
+ word-wrap: normal;
1903
+ direction: ltr;
1904
+ user-select: none;
1762
1905
  text-rendering: optimizeLegibility;
1763
1906
  font-feature-settings: "liga";
1907
+ -webkit-font-smoothing: antialiased;
1908
+ font-variation-settings: "FILL" var(--md-icon-fill), "wght" var(--md-icon-weight), "GRAD" var(--md-icon-grade), "opsz" var(--md-icon-optical-size);
1909
+ }
1910
+ .material-symbols.tiny, .material-symbols-outlined.tiny, .material-symbols-rounded.tiny, .material-symbols-sharp.tiny, .material-icons.tiny {
1911
+ font-size: 1rem;
1912
+ --md-icon-optical-size: 20;
1913
+ }
1914
+ .material-symbols.small, .material-symbols-outlined.small, .material-symbols-rounded.small, .material-symbols-sharp.small, .material-icons.small {
1915
+ font-size: 2rem;
1916
+ --md-icon-optical-size: 24;
1917
+ }
1918
+ .material-symbols.medium, .material-symbols-outlined.medium, .material-symbols-rounded.medium, .material-symbols-sharp.medium, .material-icons.medium {
1919
+ font-size: 4rem;
1920
+ --md-icon-optical-size: 40;
1921
+ }
1922
+ .material-symbols.large, .material-symbols-outlined.large, .material-symbols-rounded.large, .material-symbols-sharp.large, .material-icons.large {
1923
+ font-size: 6rem;
1924
+ --md-icon-optical-size: 48;
1925
+ }
1926
+ .material-symbols-outlined {
1927
+ --md-icon-font: var(--md-icon-font-outlined);
1928
+ }
1929
+ .material-symbols-rounded {
1930
+ --md-icon-font: var(--md-icon-font-rounded);
1931
+ }
1932
+ .material-symbols-sharp {
1933
+ --md-icon-font: var(--md-icon-font-sharp);
1934
+ }
1935
+ .icon-filled {
1936
+ --md-icon-fill: 1;
1764
1937
  }
1765
1938
  header:has(> nav) {
1766
1939
  --md-comp-top-app-bar-container-color: var(--md-sys-color-surface);
@@ -1804,7 +1977,7 @@
1804
1977
  line-height: var(--md-sys-typescale-title-large-line-height);
1805
1978
  letter-spacing: var(--md-sys-typescale-title-large-letter-spacing);
1806
1979
  }
1807
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child) {
1980
+ header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) {
1808
1981
  display: inline-flex;
1809
1982
  flex: 0 0 auto;
1810
1983
  align-items: center;
@@ -1822,21 +1995,21 @@
1822
1995
  font: inherit;
1823
1996
  text-decoration: none;
1824
1997
  }
1825
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child):focus-visible {
1998
+ header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):focus-visible {
1826
1999
  outline: 3px solid var(--md-sys-color-secondary);
1827
2000
  outline-offset: 2px;
1828
2001
  }
1829
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child) > i {
2002
+ header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) > i {
1830
2003
  display: block;
1831
2004
  font-size: var(--md-comp-top-app-bar-leading-icon-size);
1832
2005
  width: var(--md-comp-top-app-bar-leading-icon-size);
1833
2006
  height: var(--md-comp-top-app-bar-leading-icon-size);
1834
2007
  line-height: var(--md-comp-top-app-bar-leading-icon-size);
1835
2008
  }
1836
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child):hover {
2009
+ header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):hover {
1837
2010
  background-color: color-mix(in oklab, currentColor 8%, transparent);
1838
2011
  }
1839
- header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child):active {
2012
+ header:has(> nav) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):active {
1840
2013
  background-color: color-mix(in oklab, currentColor 10%, transparent);
1841
2014
  }
1842
2015
  header:has(> nav) > nav:not(.tabs) > :is(menu, ul) {
@@ -1851,7 +2024,18 @@
1851
2024
  display: flex;
1852
2025
  align-items: stretch;
1853
2026
  }
1854
- header:has(> nav) > nav:not(.tabs) > form {
2027
+ header:has(> nav) > nav:not(.tabs) > ol {
2028
+ display: flex;
2029
+ flex-wrap: wrap;
2030
+ align-items: center;
2031
+ align-self: center;
2032
+ flex: 1 1 auto;
2033
+ min-width: 0;
2034
+ list-style: none;
2035
+ margin: 0;
2036
+ padding-inline: 12px;
2037
+ }
2038
+ header:has(> nav) > nav:not(.tabs) > form {
1855
2039
  display: flex;
1856
2040
  flex: 1 1 auto;
1857
2041
  align-items: center;
@@ -1891,7 +2075,7 @@
1891
2075
  padding-inline-start: 12px;
1892
2076
  }
1893
2077
  }
1894
- header:has(> nav) > nav:not(.tabs) > a:not(:has(> i:only-child)):not(.btn):not(.button):not(.btn-floating):not(.breadcrumb), header:has(> nav) > nav:not(.tabs) > :is(menu, ul) a {
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 {
1895
2079
  display: inline-flex;
1896
2080
  align-items: center;
1897
2081
  padding: 0 12px;
@@ -1903,14 +2087,14 @@
1903
2087
  line-height: var(--md-sys-typescale-label-large-line-height);
1904
2088
  letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
1905
2089
  }
1906
- header:has(> nav) > nav:not(.tabs) > a:focus-visible:not(:has(> i:only-child)):not(.btn):not(.button):not(.btn-floating):not(.breadcrumb), header:has(> nav) > nav:not(.tabs) > :is(menu, ul) a:focus-visible {
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 {
1907
2091
  outline: 3px solid var(--md-sys-color-secondary);
1908
2092
  outline-offset: 2px;
1909
2093
  }
1910
- header:has(> nav) > nav:not(.tabs) > a:hover:not(.active):not(:has(> i:only-child)):not(.btn):not(.button):not(.btn-floating):not(.breadcrumb), header:has(> nav) > nav:not(.tabs) > :is(menu, ul) a:hover:not(.active) {
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) {
1911
2095
  background-color: color-mix(in oklab, currentColor 8%, transparent);
1912
2096
  }
1913
- header:has(> nav) > nav:not(.tabs) > a.active:not(:has(> i:only-child)):not(.btn):not(.button):not(.btn-floating):not(.breadcrumb), header:has(> nav) > nav:not(.tabs) > :is(menu, ul) a.active {
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 {
1914
2098
  background-color: color-mix(in oklab, currentColor 10%, transparent);
1915
2099
  }
1916
2100
  header.center:has(> nav) > nav:not(.tabs) {
@@ -1978,7 +2162,7 @@
1978
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);
1979
2163
  }
1980
2164
  }
1981
- footer:not(.page-footer):has(> nav) {
2165
+ footer:has(> nav:only-child) {
1982
2166
  --md-comp-bottom-app-bar-container-color: var(--md-sys-color-surface);
1983
2167
  --md-comp-bottom-app-bar-container-height: 80px;
1984
2168
  background-color: var(--md-comp-bottom-app-bar-container-color);
@@ -1986,7 +2170,7 @@
1986
2170
  width: 100%;
1987
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);
1988
2172
  }
1989
- footer:not(.page-footer):has(> nav) > nav:not(.tabs) {
2173
+ footer:has(> nav:only-child) > nav:not(.tabs) {
1990
2174
  display: flex;
1991
2175
  align-items: center;
1992
2176
  box-sizing: border-box;
@@ -1995,7 +2179,7 @@
1995
2179
  padding: 12px 4px;
1996
2180
  margin: 0;
1997
2181
  }
1998
- footer:not(.page-footer):has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child) {
2182
+ footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) {
1999
2183
  display: inline-flex;
2000
2184
  flex: 0 0 auto;
2001
2185
  align-items: center;
@@ -2013,27 +2197,27 @@
2013
2197
  font: inherit;
2014
2198
  text-decoration: none;
2015
2199
  }
2016
- footer:not(.page-footer):has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child):focus-visible {
2200
+ footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):focus-visible {
2017
2201
  outline: 3px solid var(--md-sys-color-secondary);
2018
2202
  outline-offset: 2px;
2019
2203
  }
2020
- footer:not(.page-footer):has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child) > i {
2204
+ footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child) > i {
2021
2205
  display: block;
2022
2206
  font-size: 24px;
2023
2207
  width: 24px;
2024
2208
  height: 24px;
2025
2209
  line-height: 24px;
2026
2210
  }
2027
- footer:not(.page-footer):has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child):hover {
2211
+ footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):hover {
2028
2212
  background-color: color-mix(in oklab, currentColor 8%, transparent);
2029
2213
  }
2030
- footer:not(.page-footer):has(> nav) > nav:not(.tabs) > :is(a, button):not(.btn):not(.button):not(.btn-floating):not(.btn-large):not(.btn-small):has(> i:only-child):active {
2214
+ footer:has(> nav:only-child) > nav:not(.tabs) > :is(a, button):not(.button):not(.circle):not(.extra):has(> i:only-child):active {
2031
2215
  background-color: color-mix(in oklab, currentColor 10%, transparent);
2032
2216
  }
2033
- footer:not(.page-footer):has(> nav) > nav:not(.tabs) > :is(.btn, .btn-floating, .btn-large) {
2217
+ footer:has(> nav:only-child) > nav:not(.tabs) > :is(.button, .circle, .extra) {
2034
2218
  margin-inline-start: auto;
2035
2219
  }
2036
- footer:not(.page-footer):has(> nav).fixed {
2220
+ footer:has(> nav:only-child).fixed {
2037
2221
  position: sticky;
2038
2222
  bottom: 0;
2039
2223
  z-index: 997;
@@ -2063,7 +2247,7 @@
2063
2247
  nav.toolbar + nav.toolbar {
2064
2248
  margin-block-start: 16px;
2065
2249
  }
2066
- nav.toolbar > :is(a, button):not(.btn-floating, .extra) {
2250
+ nav.toolbar > :is(a, button):not(.extra) {
2067
2251
  box-sizing: border-box;
2068
2252
  display: inline-flex;
2069
2253
  flex: 0 0 auto;
@@ -2090,34 +2274,34 @@
2090
2274
  letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
2091
2275
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
2092
2276
  }
2093
- nav.toolbar > :is(a, button):not(.btn-floating, .extra):focus-visible {
2277
+ nav.toolbar > :is(a, button):not(.extra):focus-visible {
2094
2278
  outline: 3px solid var(--md-sys-color-secondary);
2095
2279
  outline-offset: 2px;
2096
2280
  }
2097
- nav.toolbar > :is(a, button):not(.btn-floating, .extra) > i {
2281
+ nav.toolbar > :is(a, button):not(.extra) > i {
2098
2282
  flex: 0 0 auto;
2099
2283
  font-size: var(--md-comp-toolbar-icon-size);
2100
2284
  width: var(--md-comp-toolbar-icon-size);
2101
2285
  height: var(--md-comp-toolbar-icon-size);
2102
2286
  line-height: var(--md-comp-toolbar-icon-size);
2103
2287
  }
2104
- nav.toolbar > :is(a, button):not(.btn-floating, .extra):hover:not(.active) {
2288
+ nav.toolbar > :is(a, button):not(.extra):hover:not(.active) {
2105
2289
  background-color: color-mix(in oklab, currentColor 8%, transparent);
2106
2290
  }
2107
- nav.toolbar > :is(a, button):not(.btn-floating, .extra):active:not(.active) {
2291
+ nav.toolbar > :is(a, button):not(.extra):active:not(.active) {
2108
2292
  background-color: color-mix(in oklab, currentColor 10%, transparent);
2109
2293
  }
2110
- nav.toolbar > :is(a, button):not(.btn-floating, .extra).active {
2294
+ nav.toolbar > :is(a, button):not(.extra).active {
2111
2295
  background-color: var(--md-sys-color-secondary-container);
2112
2296
  color: var(--md-sys-color-on-secondary-container);
2113
2297
  }
2114
- nav.toolbar > :is(a, button):not(.btn-floating, .extra):disabled {
2298
+ nav.toolbar > :is(a, button):not(.extra):disabled {
2115
2299
  color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
2116
2300
  background-color: transparent;
2117
2301
  box-shadow: none;
2118
2302
  cursor: default;
2119
2303
  }
2120
- nav.toolbar > :is(a, button):not(.btn-floating, .extra):is(.circle, :has(> i):not(:has(> span))) {
2304
+ nav.toolbar > :is(a, button):not(.extra):is(.circle, :has(> i):not(:has(> span))) {
2121
2305
  width: var(--md-comp-toolbar-action-size);
2122
2306
  padding: 0;
2123
2307
  border-radius: 50%;
@@ -2183,13 +2367,6 @@
2183
2367
  inset: 0 0 auto 0;
2184
2368
  transform: none;
2185
2369
  }
2186
- ul.staggered-list li {
2187
- opacity: 0;
2188
- }
2189
- .fade-in {
2190
- opacity: 0;
2191
- transform-origin: 0 50%;
2192
- }
2193
2370
  .scale-transition {
2194
2371
  transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
2195
2372
  }
@@ -2200,7 +2377,7 @@
2200
2377
  .scale-transition.scale-in {
2201
2378
  transform: scale(1);
2202
2379
  }
2203
- :where(article, .card, .card-panel) {
2380
+ :where(article) {
2204
2381
  --md-comp-elevated-card-container-color: var(--md-sys-color-surface);
2205
2382
  --md-comp-elevated-card-container-shape: 12px;
2206
2383
  position: relative;
@@ -2211,18 +2388,18 @@
2211
2388
  overflow: hidden;
2212
2389
  transition: box-shadow 0.2s ease-out;
2213
2390
  }
2214
- :where(article, .card, .card-panel):not(.filled, .outlined, .border) {
2391
+ :where(article):not(.filled, .outlined, .border) {
2215
2392
  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);
2216
2393
  }
2217
- :where(article, .card, .card-panel):not(.filled, .outlined, .border):hover {
2394
+ :where(article):not(.filled, .outlined, .border):hover {
2218
2395
  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);
2219
2396
  }
2220
- :where(article, .card, .card-panel).filled {
2397
+ :where(article).filled {
2221
2398
  box-shadow: none !important;
2222
2399
  background-color: var(--md-sys-color-surface-variant);
2223
2400
  }
2224
- :where(article, .card, .card-panel).outlined,
2225
- :where(article, .card, .card-panel).border {
2401
+ :where(article).outlined,
2402
+ :where(article).border {
2226
2403
  box-shadow: none !important;
2227
2404
  border: 1px solid var(--md-sys-color-outline-variant);
2228
2405
  }
@@ -2257,7 +2434,7 @@
2257
2434
  background: none;
2258
2435
  color: inherit;
2259
2436
  }
2260
- article > nav {
2437
+ article > nav:not(.tabs) {
2261
2438
  display: flex;
2262
2439
  flex-wrap: wrap;
2263
2440
  align-items: center;
@@ -2295,8 +2472,7 @@
2295
2472
  font-weight: var(--md-sys-typescale-title-medium-font-weight);
2296
2473
  line-height: var(--md-sys-typescale-title-medium-line-height);
2297
2474
  }
2298
- article.horizontal,
2299
- .card.horizontal {
2475
+ article.horizontal {
2300
2476
  display: flex;
2301
2477
  flex-direction: row;
2302
2478
  align-items: stretch;
@@ -2304,12 +2480,7 @@
2304
2480
  }
2305
2481
  article.horizontal > img,
2306
2482
  article.horizontal > picture,
2307
- article.horizontal > figure,
2308
- article.horizontal > .card-image,
2309
- .card.horizontal > img,
2310
- .card.horizontal > picture,
2311
- .card.horizontal > figure,
2312
- .card.horizontal > .card-image {
2483
+ article.horizontal > figure {
2313
2484
  flex: 0 0 40%;
2314
2485
  max-width: 40%;
2315
2486
  width: 40%;
@@ -2317,98 +2488,63 @@
2317
2488
  }
2318
2489
  article.horizontal > img,
2319
2490
  article.horizontal > picture img,
2320
- article.horizontal > figure img,
2321
- article.horizontal > .card-image img,
2322
- .card.horizontal > img,
2323
- .card.horizontal > picture img,
2324
- .card.horizontal > figure img,
2325
- .card.horizontal > .card-image img {
2491
+ article.horizontal > figure img {
2326
2492
  height: 100%;
2327
2493
  object-fit: cover;
2328
2494
  }
2329
- article.horizontal > div,
2330
- .card.horizontal > div {
2495
+ article.horizontal > div {
2331
2496
  flex: 1 1 auto;
2332
2497
  min-width: 0;
2333
2498
  display: flex;
2334
2499
  flex-direction: column;
2335
2500
  }
2336
- article.small, .card.small {
2501
+ article.small {
2337
2502
  height: 300px;
2338
2503
  }
2339
- article.medium, .card.medium {
2504
+ article.medium {
2340
2505
  height: 400px;
2341
2506
  }
2342
- article.large, .card.large {
2507
+ article.large {
2343
2508
  height: 500px;
2344
2509
  }
2345
- article.small, article.medium, article.large,
2346
- .card.small, .card.medium, .card.large {
2510
+ article.small, article.medium, article.large {
2347
2511
  display: flex;
2348
2512
  flex-direction: column;
2349
2513
  }
2350
- article.small > img, article.small > picture, article.small > figure, article.small > .card-image, article.medium > img, article.medium > picture, article.medium > figure, article.medium > .card-image, article.large > img, article.large > picture, article.large > figure, article.large > .card-image,
2351
- .card.small > img,
2352
- .card.small > picture,
2353
- .card.small > figure,
2354
- .card.small > .card-image, .card.medium > img, .card.medium > picture, .card.medium > figure, .card.medium > .card-image, .card.large > img, .card.large > picture, .card.large > figure, .card.large > .card-image {
2514
+ article.small > img, article.small > picture, article.small > figure, article.medium > img, article.medium > picture, article.medium > figure, article.large > img, article.large > picture, article.large > figure {
2355
2515
  flex: 0 1 60%;
2356
2516
  min-height: 0;
2357
2517
  overflow: hidden;
2358
2518
  }
2359
- article.small > img, article.small > figure img, article.small > .card-image img, article.medium > img, article.medium > figure img, article.medium > .card-image img, article.large > img, article.large > figure img, article.large > .card-image img,
2360
- .card.small > img,
2361
- .card.small > figure img,
2362
- .card.small > .card-image img, .card.medium > img, .card.medium > figure img, .card.medium > .card-image img, .card.large > img, .card.large > figure img, .card.large > .card-image img {
2519
+ article.small > img, article.small > figure img, article.medium > img, article.medium > figure img, article.large > img, article.large > figure img {
2363
2520
  height: 100%;
2364
2521
  }
2365
- article.small > p, article.small > .card-content, article.medium > p, article.medium > .card-content, article.large > p, article.large > .card-content,
2366
- .card.small > p,
2367
- .card.small > .card-content, .card.medium > p, .card.medium > .card-content, .card.large > p, .card.large > .card-content {
2522
+ article.small > p, article.medium > p, article.large > p {
2368
2523
  flex: 1 1 auto;
2369
2524
  min-height: 0;
2370
2525
  overflow: hidden;
2371
2526
  }
2372
- article.small > nav, article.small > .card-action, article.medium > nav, article.medium > .card-action, article.large > nav, article.large > .card-action,
2373
- .card.small > nav,
2374
- .card.small > .card-action, .card.medium > nav, .card.medium > .card-action, .card.large > nav, .card.large > .card-action {
2527
+ article.small > nav:not(.tabs), article.medium > nav:not(.tabs), article.large > nav:not(.tabs) {
2375
2528
  margin-top: auto;
2376
2529
  }
2377
2530
  article.horizontal.small,
2378
2531
  article.horizontal.medium,
2379
- article.horizontal.large,
2380
- .card.horizontal.small,
2381
- .card.horizontal.medium,
2382
- .card.horizontal.large {
2532
+ article.horizontal.large {
2383
2533
  flex-direction: row;
2384
2534
  }
2385
- article.horizontal.small > img, article.horizontal.small > picture, article.horizontal.small > figure, article.horizontal.small > .card-image,
2535
+ article.horizontal.small > img, article.horizontal.small > picture, article.horizontal.small > figure,
2386
2536
  article.horizontal.medium > img,
2387
2537
  article.horizontal.medium > picture,
2388
2538
  article.horizontal.medium > figure,
2389
- article.horizontal.medium > .card-image,
2390
2539
  article.horizontal.large > img,
2391
2540
  article.horizontal.large > picture,
2392
- article.horizontal.large > figure,
2393
- article.horizontal.large > .card-image,
2394
- .card.horizontal.small > img,
2395
- .card.horizontal.small > picture,
2396
- .card.horizontal.small > figure,
2397
- .card.horizontal.small > .card-image,
2398
- .card.horizontal.medium > img,
2399
- .card.horizontal.medium > picture,
2400
- .card.horizontal.medium > figure,
2401
- .card.horizontal.medium > .card-image,
2402
- .card.horizontal.large > img,
2403
- .card.horizontal.large > picture,
2404
- .card.horizontal.large > figure,
2405
- .card.horizontal.large > .card-image {
2541
+ article.horizontal.large > figure {
2406
2542
  flex: 0 0 40%;
2407
2543
  max-height: none;
2408
2544
  }
2409
- article > aside,
2410
- .card-reveal {
2411
- display: none;
2545
+ article > aside {
2546
+ --md-comp-card-reveal-duration: 300ms;
2547
+ --md-comp-card-reveal-easing: ease;
2412
2548
  position: absolute;
2413
2549
  inset: 0;
2414
2550
  z-index: 3;
@@ -2417,111 +2553,31 @@
2417
2553
  overflow-y: auto;
2418
2554
  background-color: var(--md-sys-color-surface);
2419
2555
  color: var(--md-sys-color-on-surface);
2556
+ transform: translateY(100%);
2557
+ visibility: hidden;
2558
+ pointer-events: none;
2559
+ transition: transform var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing), visibility 0s var(--md-comp-card-reveal-duration);
2560
+ }
2561
+ article > aside[aria-expanded=true] {
2562
+ transform: translateY(0);
2563
+ visibility: visible;
2564
+ pointer-events: auto;
2565
+ transition: transform var(--md-comp-card-reveal-duration) var(--md-comp-card-reveal-easing);
2420
2566
  }
2421
- article.sticky > nav,
2422
- .card.sticky-action > .card-action {
2567
+ @media (prefers-reduced-motion: reduce) {
2568
+ article > aside {
2569
+ transition: none;
2570
+ }
2571
+ }
2572
+ article.sticky > nav {
2423
2573
  position: relative;
2424
2574
  z-index: 4;
2425
2575
  background-color: inherit;
2426
2576
  }
2427
- article.sticky > aside,
2428
- .card.sticky-action > .card-reveal {
2577
+ article.sticky > aside {
2429
2578
  bottom: auto;
2430
2579
  height: calc(100% - 52px);
2431
2580
  }
2432
- .card-panel {
2433
- padding: 16px;
2434
- margin: 0.5rem 0 1rem 0;
2435
- }
2436
- .card-title {
2437
- font-family: var(--md-sys-typescale-title-medium-font-family-name);
2438
- font-size: var(--md-sys-typescale-title-medium-font-size);
2439
- font-weight: var(--md-sys-typescale-title-medium-font-weight);
2440
- line-height: var(--md-sys-typescale-title-medium-line-height);
2441
- letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing);
2442
- }
2443
- .card .card-image {
2444
- position: relative;
2445
- }
2446
- .card .card-image img {
2447
- display: block;
2448
- width: 100%;
2449
- object-fit: cover;
2450
- }
2451
- .card .card-image .card-title {
2452
- position: absolute;
2453
- bottom: 0;
2454
- left: 0;
2455
- max-width: 100%;
2456
- padding: 16px;
2457
- color: var(--md-sys-color-on-surface);
2458
- background: color-mix(in oklab, var(--md-sys-color-surface) 72%, transparent);
2459
- }
2460
- .card .card-image .activator {
2461
- position: absolute;
2462
- inset: 0;
2463
- cursor: pointer;
2464
- }
2465
- .card .card-image img.activator {
2466
- position: relative;
2467
- }
2468
- .card .card-content {
2469
- padding: 16px;
2470
- border-radius: 0;
2471
- }
2472
- .card .card-content p {
2473
- margin: 0;
2474
- }
2475
- .card .card-content .card-title {
2476
- display: block;
2477
- margin-bottom: 8px;
2478
- }
2479
- .card .card-content .card-title.activator {
2480
- cursor: pointer;
2481
- }
2482
- .card .card-action {
2483
- display: flex;
2484
- flex-wrap: wrap;
2485
- align-items: center;
2486
- gap: 8px;
2487
- padding: 4px 8px 8px;
2488
- }
2489
- .card .card-action a:not(.button):not(.btn):not(.btn-floating) {
2490
- box-shadow: none !important;
2491
- color: var(--md-sys-color-primary);
2492
- background-color: transparent;
2493
- border-color: transparent;
2494
- }
2495
- .card .card-action a:not(.button):not(.btn):not(.btn-floating):hover {
2496
- background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, transparent);
2497
- }
2498
- .card .card-action a:not(.button):not(.btn):not(.btn-floating):active, .card .card-action a:not(.button):not(.btn):not(.btn-floating):focus {
2499
- background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
2500
- }
2501
- .card .card-action a:not(.button):not(.btn):not(.btn-floating):focus-visible {
2502
- outline: 3px solid var(--md-sys-color-secondary);
2503
- outline-offset: 2px;
2504
- }
2505
- .card .card-action a:not(.button):not(.btn):not(.btn-floating) {
2506
- height: auto;
2507
- padding: 8px 12px;
2508
- min-height: 40px;
2509
- }
2510
- .card .card-stacked {
2511
- display: flex;
2512
- flex-direction: column;
2513
- flex: 1;
2514
- min-width: 0;
2515
- }
2516
- .card .card-stacked .card-content {
2517
- flex-grow: 1;
2518
- }
2519
- .card .card-image .activator {
2520
- cursor: pointer;
2521
- }
2522
- .no-padding {
2523
- padding: 0 !important;
2524
- }
2525
2581
  #toast-container {
2526
2582
  --md-comp-snackbar-container-margin-leading: 8px;
2527
2583
  --md-comp-snackbar-container-margin-trailing: 8px;
@@ -2561,7 +2617,7 @@
2561
2617
  right: auto;
2562
2618
  transform: translateX(-50%);
2563
2619
  }
2564
- :is(.toast, .snackbar) {
2620
+ .snackbar {
2565
2621
  --md-comp-snackbar-container-color: var(--md-sys-color-inverse-surface);
2566
2622
  --md-comp-snackbar-container-shape: 4px;
2567
2623
  --md-comp-snackbar-supporting-text-color: var(--md-sys-color-inverse-on-surface);
@@ -2590,13 +2646,13 @@
2590
2646
  cursor: default;
2591
2647
  }
2592
2648
  @media (width >= 601px) {
2593
- :is(.toast, .snackbar) {
2649
+ .snackbar {
2594
2650
  width: max-content;
2595
2651
  min-width: min(344px, 100%);
2596
2652
  }
2597
2653
  }
2598
- :is(.toast, .snackbar) > p,
2599
- :is(.toast, .snackbar) > span {
2654
+ .snackbar > p,
2655
+ .snackbar > span {
2600
2656
  flex: 1 1 auto;
2601
2657
  min-width: 0;
2602
2658
  margin: 0;
@@ -2612,7 +2668,7 @@
2612
2668
  -webkit-line-clamp: 2;
2613
2669
  overflow: hidden;
2614
2670
  }
2615
- :is(.toast, .snackbar) > i:first-child {
2671
+ .snackbar > i:first-child {
2616
2672
  flex: 0 0 auto;
2617
2673
  font-size: 24px;
2618
2674
  width: 24px;
@@ -2620,10 +2676,10 @@
2620
2676
  line-height: 24px;
2621
2677
  color: var(--md-comp-snackbar-icon-color);
2622
2678
  }
2623
- :is(.toast, .snackbar) a:not(.button, .toast-action) {
2679
+ .snackbar a:not(.button) {
2624
2680
  color: var(--md-comp-snackbar-action-label-text-color);
2625
2681
  }
2626
- :is(.toast, .snackbar) > nav {
2682
+ .snackbar > nav {
2627
2683
  display: flex;
2628
2684
  flex: 0 0 auto;
2629
2685
  align-items: center;
@@ -2635,8 +2691,8 @@
2635
2691
  background: none;
2636
2692
  box-shadow: none;
2637
2693
  }
2638
- :is(.toast, .snackbar) > :is(button, a.button, a.toast-action, .toast-action):not(.circle),
2639
- :is(.toast, .snackbar) > nav > :is(button, a.button, a.toast-action, .toast-action):not(.circle) {
2694
+ .snackbar > :is(button, a.button):not(.circle),
2695
+ .snackbar > nav > :is(button, a.button):not(.circle) {
2640
2696
  flex: 0 0 auto;
2641
2697
  height: 40px;
2642
2698
  min-width: 48px;
@@ -2652,22 +2708,22 @@
2652
2708
  line-height: var(--md-sys-typescale-label-large-line-height);
2653
2709
  letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
2654
2710
  }
2655
- :is(.toast, .snackbar) > :is(button, a.button, a.toast-action, .toast-action):not(.circle):hover,
2656
- :is(.toast, .snackbar) > nav > :is(button, a.button, a.toast-action, .toast-action):not(.circle):hover {
2711
+ .snackbar > :is(button, a.button):not(.circle):hover,
2712
+ .snackbar > nav > :is(button, a.button):not(.circle):hover {
2657
2713
  background-color: color-mix(in oklab, var(--md-sys-color-inverse-primary) 8%, transparent);
2658
2714
  }
2659
- :is(.toast, .snackbar) > :is(button, a.button, a.toast-action, .toast-action):not(.circle):active, :is(.toast, .snackbar) > :is(button, a.button, a.toast-action, .toast-action):not(.circle):focus,
2660
- :is(.toast, .snackbar) > nav > :is(button, a.button, a.toast-action, .toast-action):not(.circle):active,
2661
- :is(.toast, .snackbar) > nav > :is(button, a.button, a.toast-action, .toast-action):not(.circle):focus {
2715
+ .snackbar > :is(button, a.button):not(.circle):active, .snackbar > :is(button, a.button):not(.circle):focus,
2716
+ .snackbar > nav > :is(button, a.button):not(.circle):active,
2717
+ .snackbar > nav > :is(button, a.button):not(.circle):focus {
2662
2718
  background-color: color-mix(in oklab, var(--md-sys-color-inverse-primary) 10%, transparent);
2663
2719
  }
2664
- :is(.toast, .snackbar) > :is(button, a.button, a.toast-action, .toast-action):not(.circle):focus-visible,
2665
- :is(.toast, .snackbar) > nav > :is(button, a.button, a.toast-action, .toast-action):not(.circle):focus-visible {
2720
+ .snackbar > :is(button, a.button):not(.circle):focus-visible,
2721
+ .snackbar > nav > :is(button, a.button):not(.circle):focus-visible {
2666
2722
  outline: 3px solid var(--md-sys-color-inverse-primary);
2667
2723
  outline-offset: 2px;
2668
2724
  }
2669
- :is(.toast, .snackbar) > :is(button, a).circle,
2670
- :is(.toast, .snackbar) > nav > :is(button, a).circle {
2725
+ .snackbar > :is(button, a).circle,
2726
+ .snackbar > nav > :is(button, a).circle {
2671
2727
  flex: 0 0 auto;
2672
2728
  width: 40px;
2673
2729
  height: 40px;
@@ -2678,39 +2734,39 @@
2678
2734
  color: var(--md-comp-snackbar-icon-color);
2679
2735
  box-shadow: none;
2680
2736
  }
2681
- :is(.toast, .snackbar) > :is(button, a).circle > i,
2682
- :is(.toast, .snackbar) > nav > :is(button, a).circle > i {
2737
+ .snackbar > :is(button, a).circle > i,
2738
+ .snackbar > nav > :is(button, a).circle > i {
2683
2739
  font-size: 24px;
2684
2740
  width: 24px;
2685
2741
  height: 24px;
2686
2742
  line-height: 24px;
2687
2743
  }
2688
- :is(.toast, .snackbar) > :is(button, a).circle:hover,
2689
- :is(.toast, .snackbar) > nav > :is(button, a).circle:hover {
2744
+ .snackbar > :is(button, a).circle:hover,
2745
+ .snackbar > nav > :is(button, a).circle:hover {
2690
2746
  background-color: color-mix(in oklab, var(--md-sys-color-inverse-on-surface) 8%, transparent);
2691
2747
  }
2692
- :is(.toast, .snackbar) > :is(button, a).circle:active, :is(.toast, .snackbar) > :is(button, a).circle:focus,
2693
- :is(.toast, .snackbar) > nav > :is(button, a).circle:active,
2694
- :is(.toast, .snackbar) > nav > :is(button, a).circle:focus {
2748
+ .snackbar > :is(button, a).circle:active, .snackbar > :is(button, a).circle:focus,
2749
+ .snackbar > nav > :is(button, a).circle:active,
2750
+ .snackbar > nav > :is(button, a).circle:focus {
2695
2751
  background-color: color-mix(in oklab, var(--md-sys-color-inverse-on-surface) 10%, transparent);
2696
2752
  }
2697
- :is(.toast, .snackbar) > :is(button, a).circle:focus-visible,
2698
- :is(.toast, .snackbar) > nav > :is(button, a).circle:focus-visible {
2753
+ .snackbar > :is(button, a).circle:focus-visible,
2754
+ .snackbar > nav > :is(button, a).circle:focus-visible {
2699
2755
  outline: 3px solid var(--md-sys-color-inverse-on-surface);
2700
2756
  outline-offset: 2px;
2701
2757
  }
2702
- :is(.toast, .snackbar).rounded {
2758
+ .snackbar.rounded {
2703
2759
  border-radius: 24px;
2704
2760
  }
2705
- :is(.toast, .snackbar) + :is(.toast, .snackbar) {
2761
+ .snackbar + .snackbar {
2706
2762
  margin-top: 8px;
2707
2763
  }
2708
- #toast-container :is(.toast, .snackbar) {
2764
+ #toast-container .snackbar {
2709
2765
  position: relative;
2710
2766
  top: 35px;
2711
2767
  margin-top: 0;
2712
2768
  }
2713
- :is(.toast, .snackbar).active {
2769
+ .snackbar.active {
2714
2770
  position: fixed;
2715
2771
  z-index: 10000;
2716
2772
  inset: auto auto 16px 16px;
@@ -2719,21 +2775,21 @@
2719
2775
  max-width: min(672px, 100% - 32px);
2720
2776
  }
2721
2777
  @media (width < 601px) {
2722
- :is(.toast, .snackbar).active {
2778
+ .snackbar.active {
2723
2779
  inset: auto 8px 8px 8px;
2724
2780
  width: auto;
2725
2781
  max-width: none;
2726
2782
  }
2727
2783
  }
2728
- :is(.toast, .snackbar).active.top {
2784
+ .snackbar.active.top {
2729
2785
  inset: 16px auto auto 16px;
2730
2786
  }
2731
2787
  @media (width < 601px) {
2732
- :is(.toast, .snackbar).active.top {
2788
+ .snackbar.active.top {
2733
2789
  inset: 8px 8px auto 8px;
2734
2790
  }
2735
2791
  }
2736
- :is(.toast, .snackbar).active.center {
2792
+ .snackbar.active.center {
2737
2793
  left: 50%;
2738
2794
  right: auto;
2739
2795
  transform: translateX(-50%);
@@ -2765,14 +2821,14 @@
2765
2821
  .tabs::-webkit-scrollbar {
2766
2822
  display: none;
2767
2823
  }
2768
- .tabs > :is(.tab, li.tab) {
2824
+ .tabs > .tab {
2769
2825
  display: flex;
2770
2826
  flex: 0 0 auto;
2771
2827
  list-style: none;
2772
2828
  margin: 0;
2773
2829
  padding: 0;
2774
2830
  }
2775
- .tabs > :is(a, .tab > a, li.tab > a) {
2831
+ .tabs > a, .tabs > .tab > a {
2776
2832
  box-sizing: border-box;
2777
2833
  position: relative;
2778
2834
  display: inline-flex;
@@ -2800,7 +2856,7 @@
2800
2856
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
2801
2857
  transition: color 0.2s ease, background-color 0.2s ease;
2802
2858
  }
2803
- .tabs > :is(a, .tab > a, li.tab > a) > i {
2859
+ .tabs > a > i, .tabs > .tab > a > i {
2804
2860
  flex: 0 0 auto;
2805
2861
  font-size: var(--md-comp-primary-tab-icon-size);
2806
2862
  width: var(--md-comp-primary-tab-icon-size);
@@ -2808,30 +2864,36 @@
2808
2864
  line-height: var(--md-comp-primary-tab-icon-size);
2809
2865
  color: inherit;
2810
2866
  }
2811
- .tabs > :is(a, .tab > a, li.tab > a):hover {
2867
+ .tabs > a:hover, .tabs > .tab > a:hover {
2812
2868
  color: var(--md-sys-color-on-surface);
2813
2869
  background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
2814
2870
  }
2815
- .tabs > :is(a, .tab > a, li.tab > a):focus-visible, .tabs > :is(a, .tab > a, li.tab > a):focus {
2871
+ .tabs > a:focus-visible, .tabs > a:focus, .tabs > .tab > a:focus-visible, .tabs > .tab > a:focus {
2816
2872
  color: var(--md-sys-color-on-surface);
2817
2873
  background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, transparent);
2818
2874
  outline: none;
2819
2875
  }
2820
- .tabs > :is(a, .tab > a, li.tab > a).active {
2876
+ .tabs > a.active, .tabs > .tab > a.active {
2821
2877
  color: var(--md-comp-primary-tab-active-label-text-color);
2822
2878
  background-color: transparent;
2823
2879
  }
2824
- .tabs > :is(a, .tab > a, li.tab > a).active:hover {
2880
+ .tabs > a.active:hover, .tabs > .tab > a.active:hover {
2825
2881
  background-color: color-mix(in oklab, var(--md-sys-color-primary) 8%, transparent);
2826
2882
  }
2827
- .tabs > :is(a, .tab > a, li.tab > a).active:focus-visible, .tabs > :is(a, .tab > a, li.tab > a).active:focus {
2883
+ .tabs > a.active:focus-visible, .tabs > a.active:focus, .tabs > .tab > a.active:focus-visible, .tabs > .tab > a.active:focus {
2828
2884
  background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
2829
2885
  }
2830
- .tabs:not(.horizontal, .tabs-horizontal) > :is(a, .tab > a, li.tab > a):has(> i) {
2886
+ .tabs > a.disabled, .tabs > a[aria-disabled=true], .tabs > .tab > a.disabled, .tabs > .tab > a[aria-disabled=true] {
2887
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
2888
+ background-color: transparent;
2889
+ cursor: default;
2890
+ pointer-events: none;
2891
+ }
2892
+ .tabs:not(.horizontal) > a:has(> i), .tabs:not(.horizontal) > .tab > a:has(> i) {
2831
2893
  min-height: var(--md-comp-primary-tab-with-icon-container-height);
2832
2894
  padding-block: 8px;
2833
2895
  }
2834
- .tabs:not(:has(> .indicator)) > :is(a, .tab > a, li.tab > a).active::after {
2896
+ .tabs:not(:has(> .indicator)) > a.active::after, .tabs:not(:has(> .indicator)) > .tab > a.active::after {
2835
2897
  content: "";
2836
2898
  position: absolute;
2837
2899
  inset: auto 0 0 0;
@@ -2850,9 +2912,7 @@
2850
2912
  padding: 0;
2851
2913
  margin: 0;
2852
2914
  }
2853
- .tabs > :is(a, .tab > a, li.tab > a).disabled,
2854
- .tabs > :is(a, .tab > a, li.tab > a)[aria-disabled=true],
2855
- .tabs > :is(.tab, li.tab).disabled > a {
2915
+ .tabs > .tab.disabled > a {
2856
2916
  color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
2857
2917
  background-color: transparent;
2858
2918
  cursor: default;
@@ -2862,38 +2922,34 @@
2862
2922
  --md-comp-primary-tab-active-indicator-height: 2px;
2863
2923
  --md-comp-primary-tab-with-icon-container-height: 48px;
2864
2924
  }
2865
- .tabs.tabs-secondary > :is(a, .tab > a, li.tab > a) {
2925
+ .tabs.tabs-secondary > a, .tabs.tabs-secondary > .tab > a {
2866
2926
  flex-direction: row;
2867
2927
  gap: 8px;
2868
2928
  }
2869
- .tabs.horizontal > :is(a, .tab > a, li.tab > a),
2870
- .tabs.tabs-horizontal > :is(a, .tab > a, li.tab > a) {
2929
+ .tabs.horizontal > a, .tabs.horizontal > .tab > a {
2871
2930
  flex-direction: row;
2872
2931
  gap: 8px;
2873
2932
  min-height: var(--md-comp-primary-tab-container-height);
2874
2933
  padding-block: 0;
2875
2934
  }
2876
- .tabs.max > :is(a, .tab, li.tab),
2877
- .tabs.tabs-fixed-width > :is(a, .tab, li.tab) {
2935
+ .tabs.max > :is(a, .tab) {
2878
2936
  flex: 1 1 0;
2879
2937
  min-width: 0;
2880
2938
  }
2881
- .tabs.max > :is(a, .tab > a, li.tab > a),
2882
- .tabs.tabs-fixed-width > :is(a, .tab > a, li.tab > a) {
2939
+ .tabs.max > a, .tabs.max > .tab > a {
2883
2940
  width: 100%;
2884
2941
  }
2885
2942
  @media (width < 993px) {
2886
- .tabs > :is(a, .tab, li.tab) {
2943
+ .tabs > :is(a, .tab) {
2887
2944
  flex: 1 1 0;
2888
2945
  min-width: 0;
2889
2946
  }
2890
- .tabs > :is(a, .tab > a, li.tab > a) {
2947
+ .tabs > a, .tabs > .tab > a {
2891
2948
  width: 100%;
2892
2949
  padding-inline: 12px;
2893
2950
  }
2894
2951
  }
2895
- .tabs.transparent,
2896
- .tabs.tabs-transparent {
2952
+ .tabs.transparent {
2897
2953
  --md-comp-primary-tab-container-color: transparent;
2898
2954
  --md-comp-primary-tab-label-text-color: color-mix(
2899
2955
  in oklab,
@@ -2904,21 +2960,14 @@
2904
2960
  --md-comp-primary-tab-active-indicator-color: var(--md-sys-color-on-primary);
2905
2961
  border-block-end-color: color-mix(in oklab, var(--md-sys-color-on-primary) 20%, transparent);
2906
2962
  }
2907
- .tabs.transparent > :is(a, .tab > a, li.tab > a):hover,
2908
- .tabs.transparent > :is(a, .tab > a, li.tab > a):focus,
2909
- .tabs.tabs-transparent > :is(a, .tab > a, li.tab > a):hover,
2910
- .tabs.tabs-transparent > :is(a, .tab > a, li.tab > a):focus {
2963
+ .tabs.transparent > a:hover, .tabs.transparent > a:focus, .tabs.transparent > .tab > a:hover, .tabs.transparent > .tab > a:focus {
2911
2964
  color: var(--md-sys-color-on-primary);
2912
2965
  background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 8%, transparent);
2913
2966
  }
2914
- .tabs.transparent > :is(a, .tab > a, li.tab > a).active:hover,
2915
- .tabs.transparent > :is(a, .tab > a, li.tab > a).active:focus,
2916
- .tabs.tabs-transparent > :is(a, .tab > a, li.tab > a).active:hover,
2917
- .tabs.tabs-transparent > :is(a, .tab > a, li.tab > a).active:focus {
2967
+ .tabs.transparent > a.active:hover, .tabs.transparent > a.active:focus, .tabs.transparent > .tab > a.active:hover, .tabs.transparent > .tab > a.active:focus {
2918
2968
  background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 10%, transparent);
2919
2969
  }
2920
- .tooltip,
2921
- .material-tooltip {
2970
+ .tooltip {
2922
2971
  --md-comp-plain-tooltip-container-color: var(--md-sys-color-inverse-surface);
2923
2972
  --md-comp-plain-tooltip-supporting-text-color: var(--md-sys-color-inverse-on-surface);
2924
2973
  --md-comp-plain-tooltip-container-shape: 4px;
@@ -2994,8 +3043,7 @@
2994
3043
  :not(body) > .tooltip.right:hover {
2995
3044
  transform: translate(calc(100% + var(--md-comp-tooltip-anchor-gap)), -50%) scale(1);
2996
3045
  }
2997
- body > .tooltip,
2998
- .material-tooltip {
3046
+ body > .tooltip {
2999
3047
  position: absolute;
3000
3048
  left: 0;
3001
3049
  top: 0;
@@ -3004,9 +3052,7 @@
3004
3052
  overflow: hidden;
3005
3053
  }
3006
3054
  .tooltip.rich,
3007
- .tooltip.max,
3008
- .material-tooltip.rich,
3009
- .material-tooltip.max {
3055
+ .tooltip.max {
3010
3056
  --md-comp-rich-tooltip-container-color: var(--md-sys-color-surface);
3011
3057
  --md-comp-rich-tooltip-container-shape: 12px;
3012
3058
  display: flex;
@@ -3025,9 +3071,7 @@
3025
3071
  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);
3026
3072
  }
3027
3073
  .tooltip.rich > :is(h1, h2, h3, h4, h5, h6),
3028
- .tooltip.max > :is(h1, h2, h3, h4, h5, h6),
3029
- .material-tooltip.rich > :is(h1, h2, h3, h4, h5, h6),
3030
- .material-tooltip.max > :is(h1, h2, h3, h4, h5, h6) {
3074
+ .tooltip.max > :is(h1, h2, h3, h4, h5, h6) {
3031
3075
  margin: 0;
3032
3076
  color: var(--md-sys-color-on-surface);
3033
3077
  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;
@@ -3037,9 +3081,7 @@
3037
3081
  letter-spacing: var(--md-sys-typescale-title-small-letter-spacing);
3038
3082
  }
3039
3083
  .tooltip.rich > p,
3040
- .tooltip.max > p,
3041
- .material-tooltip.rich > p,
3042
- .material-tooltip.max > p {
3084
+ .tooltip.max > p {
3043
3085
  margin: 0;
3044
3086
  color: var(--md-sys-color-on-surface-variant);
3045
3087
  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;
@@ -3049,9 +3091,7 @@
3049
3091
  letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
3050
3092
  }
3051
3093
  .tooltip.rich > :is(nav, form),
3052
- .tooltip.max > :is(nav, form),
3053
- .material-tooltip.rich > :is(nav, form),
3054
- .material-tooltip.max > :is(nav, form) {
3094
+ .tooltip.max > :is(nav, form) {
3055
3095
  display: flex;
3056
3096
  justify-content: flex-end;
3057
3097
  gap: 8px;
@@ -3065,10 +3105,9 @@
3065
3105
  padding: 0;
3066
3106
  border: none;
3067
3107
  }
3068
- .dropdown-content,
3069
3108
  menu[id] {
3070
3109
  --md-comp-menu-container-color: var(--md-sys-color-surface);
3071
- --md-comp-menu-container-shape: 4px;
3110
+ --md-comp-menu-container-shape: 1rem;
3072
3111
  --md-comp-menu-item-container-height: 48px;
3073
3112
  box-sizing: border-box;
3074
3113
  display: none;
@@ -3089,8 +3128,8 @@
3089
3128
  color: var(--md-sys-color-on-surface);
3090
3129
  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);
3091
3130
  }
3092
- .dropdown-content > li,
3093
3131
  menu[id] > li {
3132
+ box-sizing: border-box;
3094
3133
  margin: 0;
3095
3134
  padding: 0;
3096
3135
  width: 100%;
@@ -3098,9 +3137,6 @@
3098
3137
  cursor: pointer;
3099
3138
  text-align: left;
3100
3139
  }
3101
- .dropdown-content > li > a,
3102
- .dropdown-content > li > button,
3103
- .dropdown-content > li > span,
3104
3140
  menu[id] > li > a,
3105
3141
  menu[id] > li > button,
3106
3142
  menu[id] > li > span {
@@ -3117,6 +3153,17 @@
3117
3153
  color: var(--md-sys-color-on-surface);
3118
3154
  text-decoration: none;
3119
3155
  cursor: pointer;
3156
+ }
3157
+ menu[id] > li > a:hover, menu[id] > li > a:focus,
3158
+ menu[id] > li > button:hover,
3159
+ menu[id] > li > button:focus,
3160
+ menu[id] > li > span:hover,
3161
+ menu[id] > li > span:focus {
3162
+ background: none;
3163
+ }
3164
+ menu[id] > li > a,
3165
+ menu[id] > li > button,
3166
+ menu[id] > li > span {
3120
3167
  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;
3121
3168
  font-size: var(--md-sys-typescale-label-large-font-size);
3122
3169
  font-weight: var(--md-sys-typescale-label-large-font-weight);
@@ -3124,9 +3171,6 @@
3124
3171
  letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
3125
3172
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3126
3173
  }
3127
- .dropdown-content > li > a > i,
3128
- .dropdown-content > li > button > i,
3129
- .dropdown-content > li > i,
3130
3174
  menu[id] > li > a > i,
3131
3175
  menu[id] > li > button > i,
3132
3176
  menu[id] > li > i {
@@ -3137,19 +3181,19 @@
3137
3181
  line-height: 24px;
3138
3182
  color: var(--md-sys-color-on-surface-variant);
3139
3183
  }
3140
- .dropdown-content > li:not(.disabled, .divider):hover,
3141
- .dropdown-content > li.active,
3184
+ menu[id] > li:not(.disabled, .divider, .optgroup) {
3185
+ width: calc(100% - 16px);
3186
+ margin-inline: 8px;
3187
+ border-radius: 2rem;
3188
+ }
3142
3189
  menu[id] > li:not(.disabled, .divider):hover,
3143
3190
  menu[id] > li.active {
3144
3191
  background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
3145
3192
  }
3146
- .dropdown-content > li.disabled,
3147
3193
  menu[id] > li.disabled {
3148
3194
  pointer-events: none;
3149
3195
  opacity: 0.38;
3150
3196
  }
3151
- .dropdown-content > hr,
3152
- .dropdown-content > li.divider,
3153
3197
  menu[id] > hr,
3154
3198
  menu[id] > li.divider {
3155
3199
  display: block;
@@ -3162,21 +3206,92 @@
3162
3206
  background-color: var(--md-sys-color-outline-variant);
3163
3207
  cursor: default;
3164
3208
  }
3165
- body.keyboard-focused .dropdown-content > li:focus,
3166
- body.keyboard-focused menu[id] > li:focus {
3167
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, transparent);
3209
+ menu[id]:has(> li > menu) {
3210
+ overflow: visible;
3168
3211
  }
3169
- .input-field.col .dropdown-content [type=checkbox] + label {
3170
- top: 1px;
3171
- left: 0;
3172
- height: 18px;
3212
+ menu[id] li:has(> menu) {
3213
+ position: relative;
3214
+ }
3215
+ menu[id] li:has(> menu) > :is(a, button, span)::after {
3216
+ content: "";
3217
+ flex: 0 0 24px;
3218
+ width: 24px;
3219
+ height: 24px;
3220
+ 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;
3223
+ }
3224
+ menu[id] li > menu {
3225
+ --md-comp-menu-container-color: var(--md-sys-color-surface);
3226
+ --md-comp-menu-container-shape: 1rem;
3227
+ --md-comp-menu-item-container-height: 48px;
3228
+ 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
+ min-width: 112px;
3235
+ margin: 0;
3236
+ padding: 8px 0;
3237
+ list-style: none;
3238
+ overflow: visible;
3239
+ opacity: 1;
3173
3240
  transform: none;
3241
+ background-color: var(--md-comp-menu-container-color);
3242
+ border-radius: var(--md-comp-menu-container-shape);
3243
+ color: var(--md-sys-color-on-surface);
3244
+ 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);
3245
+ }
3246
+ menu[id] li > menu > li {
3247
+ 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);
3258
+ }
3259
+ menu[id] li > menu > li > :is(a, button, span) {
3260
+ display: flex;
3261
+ align-items: center;
3262
+ gap: 12px;
3263
+ box-sizing: border-box;
3264
+ width: 100%;
3265
+ min-height: var(--md-comp-menu-item-container-height);
3266
+ padding: 0 12px;
3267
+ color: var(--md-sys-color-on-surface);
3268
+ text-decoration: none;
3269
+ 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
+ font-size: var(--md-sys-typescale-label-large-font-size);
3271
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
3272
+ line-height: var(--md-sys-typescale-label-large-line-height);
3273
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
3274
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3275
+ }
3276
+ @media (hover: hover) and (pointer: fine) {
3277
+ menu[id] li:is(:hover, :focus-within) > menu {
3278
+ display: block;
3279
+ }
3280
+ }
3281
+ menu[id] li.open > menu {
3282
+ display: block;
3283
+ }
3284
+ menu[id] li.submenu-start > menu {
3285
+ inset-inline-start: auto;
3286
+ inset-inline-end: 100%;
3287
+ }
3288
+ body.keyboard-focused menu[id] > li:focus {
3289
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, transparent);
3174
3290
  }
3175
3291
  .dropdown-trigger {
3176
3292
  cursor: pointer;
3177
3293
  }
3178
- dialog,
3179
- .modal {
3294
+ dialog {
3180
3295
  --md-comp-basic-dialog-container-color: var(--md-sys-color-surface);
3181
3296
  --md-comp-basic-dialog-container-shape: 28px;
3182
3297
  --md-comp-basic-dialog-container-min-width: 280px;
@@ -3196,16 +3311,14 @@
3196
3311
  outline: none;
3197
3312
  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);
3198
3313
  }
3199
- dialog::backdrop,
3200
- .modal::backdrop {
3314
+ dialog::backdrop {
3201
3315
  background-color: color-mix(in oklab, var(--md-sys-color-scrim) 32%, transparent);
3202
3316
  backdrop-filter: blur(var(--md-comp-basic-dialog-scrim-blur));
3203
3317
  }
3204
3318
  html:has(dialog:modal) {
3205
3319
  overflow: hidden;
3206
3320
  }
3207
- dialog[open],
3208
- .modal[open] {
3321
+ dialog[open] {
3209
3322
  display: flex;
3210
3323
  flex-direction: column;
3211
3324
  overflow: hidden;
@@ -3221,8 +3334,7 @@
3221
3334
  line-height: 24px;
3222
3335
  color: var(--md-sys-color-secondary);
3223
3336
  }
3224
- dialog > :is(h1, h2, h3, h4, h5, h6),
3225
- .modal-header {
3337
+ dialog > :is(h1, h2, h3, h4, h5, h6) {
3226
3338
  flex: 0 0 auto;
3227
3339
  margin: 0;
3228
3340
  padding: 24px 24px 16px;
@@ -3238,8 +3350,7 @@
3238
3350
  text-align: center;
3239
3351
  }
3240
3352
  dialog > p,
3241
- dialog > div,
3242
- .modal-content {
3353
+ dialog > div {
3243
3354
  flex: 1 1 auto;
3244
3355
  min-height: 0;
3245
3356
  overflow: auto;
@@ -3253,12 +3364,10 @@
3253
3364
  letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
3254
3365
  color: color-mix(in oklab, currentColor 72%, transparent);
3255
3366
  }
3256
- dialog > :is(h1, h2, h3, h4, h5, h6) + p,
3257
- .modal-header + .modal-content {
3367
+ dialog > :is(h1, h2, h3, h4, h5, h6) + p {
3258
3368
  padding-top: 0;
3259
3369
  }
3260
- dialog > :is(form, nav):last-child,
3261
- .modal-footer {
3370
+ dialog > :is(form, nav):last-child {
3262
3371
  display: flex;
3263
3372
  flex-wrap: wrap;
3264
3373
  justify-content: flex-end;
@@ -3270,11 +3379,7 @@
3270
3379
  border: 0;
3271
3380
  background: none;
3272
3381
  }
3273
- .modal-close {
3274
- cursor: pointer;
3275
- }
3276
- dialog.max,
3277
- .modal.max {
3382
+ dialog.max {
3278
3383
  width: 100%;
3279
3384
  max-width: none;
3280
3385
  height: 100%;
@@ -3284,8 +3389,7 @@
3284
3389
  border-radius: 0;
3285
3390
  }
3286
3391
  dialog.bottom,
3287
- dialog.bottom-sheet,
3288
- .modal.bottom-sheet {
3392
+ dialog.bottom-sheet {
3289
3393
  width: 100%;
3290
3394
  min-width: 0;
3291
3395
  max-width: none;
@@ -3294,8 +3398,7 @@
3294
3398
  border-radius: var(--md-comp-basic-dialog-container-shape) var(--md-comp-basic-dialog-container-shape) 0 0;
3295
3399
  }
3296
3400
  dialog.top,
3297
- dialog.top-sheet,
3298
- .modal.top-sheet {
3401
+ dialog.top-sheet {
3299
3402
  width: 100%;
3300
3403
  min-width: 0;
3301
3404
  max-width: none;
@@ -3305,10 +3408,8 @@
3305
3408
  }
3306
3409
  dialog.left,
3307
3410
  dialog.left-sheet,
3308
- .modal.left-sheet,
3309
3411
  dialog.right,
3310
- dialog.right-sheet,
3311
- .modal.right-sheet {
3412
+ dialog.right-sheet {
3312
3413
  float: none !important;
3313
3414
  width: min(var(--md-comp-basic-dialog-sheet-width), 85%);
3314
3415
  max-width: none;
@@ -3320,82 +3421,143 @@
3320
3421
  inset-block: 0;
3321
3422
  }
3322
3423
  dialog.left,
3323
- dialog.left-sheet,
3324
- .modal.left-sheet {
3424
+ dialog.left-sheet {
3325
3425
  inset-inline-start: 0;
3326
3426
  inset-inline-end: auto;
3327
3427
  border-radius: 0 var(--md-comp-basic-dialog-container-shape) var(--md-comp-basic-dialog-container-shape) 0;
3328
3428
  }
3329
3429
  dialog.right,
3330
- dialog.right-sheet,
3331
- .modal.right-sheet {
3430
+ dialog.right-sheet {
3332
3431
  inset-inline-start: auto;
3333
3432
  inset-inline-end: 0;
3334
3433
  border-radius: var(--md-comp-basic-dialog-container-shape) 0 0 var(--md-comp-basic-dialog-container-shape);
3335
3434
  }
3336
3435
  .collapsible {
3337
- padding-left: 0;
3338
- list-style-type: none;
3339
- border-top: 1px solid var(--md-sys-color-outline-variant);
3340
- border-right: 1px solid var(--md-sys-color-outline-variant);
3341
- border-left: 1px solid var(--md-sys-color-outline-variant);
3342
- margin: 0.5rem 0 1rem 0;
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);
3343
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);
3344
3457
  }
3345
- .collapsible-header {
3458
+ .collapsible > details + details {
3459
+ border-top: 1px solid var(--md-comp-collapsible-outline-color);
3460
+ }
3461
+ .collapsible summary {
3346
3462
  display: flex;
3463
+ align-items: center;
3464
+ box-sizing: border-box;
3465
+ width: 100%;
3466
+ margin: 0;
3467
+ padding: var(--md-comp-collapsible-header-padding);
3468
+ border: 0;
3469
+ 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;
3347
3476
  cursor: pointer;
3348
3477
  -webkit-tap-highlight-color: transparent;
3349
- line-height: 1.5;
3350
- padding: 1rem;
3351
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
3352
3478
  }
3353
- .collapsible-header:focus {
3354
- outline: 0;
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;
3355
3485
  }
3356
- .collapsible-header i {
3486
+ .collapsible summary > i {
3357
3487
  width: 2rem;
3488
+ margin-right: 1rem;
3358
3489
  font-size: 1.6rem;
3359
- display: inline-block;
3490
+ line-height: 1;
3360
3491
  text-align: center;
3361
- margin-right: 1rem;
3362
3492
  }
3363
- .collapsible-header::after {
3364
- content: "\e5cf";
3365
- margin-left: 0.5rem;
3366
- font-family: "Material Symbols Outlined", "Material Symbols Rounded", "Material Symbols Sharp", "Material Icons";
3367
- font-size: 25px;
3368
- line-height: 0.9;
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;
3369
3501
  -webkit-font-smoothing: antialiased;
3502
+ transition: transform var(--md-comp-collapsible-duration) var(--md-comp-collapsible-easing-close);
3370
3503
  }
3371
- .active .collapsible-header::after {
3372
- content: "\e5ce";
3504
+ .collapsible details[open] > summary::after {
3505
+ transform: rotate(180deg);
3506
+ transition-timing-function: var(--md-comp-collapsible-easing-open);
3373
3507
  }
3374
- .keyboard-focused .collapsible-header:focus {
3375
- background-color: rgba(0, 0, 0, 0.12);
3376
- }
3377
- .collapsible-header-content {
3508
+ .collapsible .collapsible-header-content {
3378
3509
  flex-grow: 1;
3379
3510
  }
3380
- .collapsible-body {
3381
- max-height: 0;
3382
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
3511
+ .collapsible details > :not(summary) {
3512
+ display: grid;
3513
+ grid-template-rows: 0fr;
3383
3514
  box-sizing: border-box;
3384
- padding: 0 2rem;
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;
3385
3521
  overflow: hidden;
3386
3522
  }
3523
+ .collapsible details[open] > :not(summary) {
3524
+ grid-template-rows: 1fr;
3525
+ transition-timing-function: var(--md-comp-collapsible-easing-open);
3526
+ }
3527
+ .collapsible details:not([open]) > :not(summary) {
3528
+ display: grid;
3529
+ }
3530
+ .collapsible.no-icon summary::after {
3531
+ content: none;
3532
+ }
3387
3533
  .collapsible.popout {
3388
- border: none;
3389
- box-shadow: none;
3534
+ overflow: visible;
3535
+ border: 0;
3536
+ background: transparent;
3537
+ box-shadow: none !important;
3390
3538
  }
3391
- .collapsible.popout > li {
3392
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
3393
- margin: 0 24px;
3394
- transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
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);
3547
+ }
3548
+ .collapsible.popout > details + details {
3549
+ border-top: 0;
3550
+ }
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);
3395
3556
  }
3396
- .collapsible.popout > li.active {
3397
- box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
3398
- margin: 16px 0;
3557
+ @media (prefers-reduced-motion: reduce) {
3558
+ .collapsible {
3559
+ --md-comp-collapsible-duration: 0s;
3560
+ }
3399
3561
  }
3400
3562
  .chip {
3401
3563
  --font-size: 14px;
@@ -3435,7 +3597,7 @@
3435
3597
  object-fit: cover;
3436
3598
  border-radius: 12px;
3437
3599
  }
3438
- .chip > .material-icons {
3600
+ .chip > :is(.material-symbols, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp, .material-icons) {
3439
3601
  font-size: var(--font-size-icon);
3440
3602
  color: var(--md-sys-color-on-surface-variant);
3441
3603
  }
@@ -3517,6 +3679,9 @@
3517
3679
  transition: opacity 0.4s;
3518
3680
  backface-visibility: hidden;
3519
3681
  }
3682
+ .lightboxed:not(.circle) {
3683
+ border-radius: 12px;
3684
+ }
3520
3685
  .lightboxed:hover:not(.active) {
3521
3686
  opacity: 0.8;
3522
3687
  }
@@ -3547,64 +3712,232 @@
3547
3712
  z-index: 1000;
3548
3713
  -webkit-font-smoothing: antialiased;
3549
3714
  }
3550
- .parallax-container {
3715
+ .parallax {
3716
+ --md-comp-parallax-height: 500px;
3717
+ --md-comp-parallax-travel: 120px;
3718
+ --md-comp-parallax-shape: 12px;
3551
3719
  position: relative;
3720
+ isolation: isolate;
3552
3721
  overflow: hidden;
3553
- height: 500px;
3554
- }
3555
- .parallax-container .parallax {
3556
- position: absolute;
3557
- top: 0;
3558
- left: 0;
3559
- right: 0;
3560
- bottom: 0;
3561
- z-index: -1;
3722
+ box-sizing: border-box;
3723
+ height: var(--md-comp-parallax-height);
3724
+ margin: 0;
3725
+ border-radius: var(--md-comp-parallax-shape);
3726
+ view-timeline-name: --parallax;
3727
+ view-timeline-axis: block;
3562
3728
  }
3563
- .parallax-container .parallax img {
3564
- opacity: 0;
3729
+ .parallax > :is(img, video),
3730
+ .parallax > picture {
3565
3731
  position: absolute;
3566
- left: 50%;
3567
- bottom: 0;
3568
- min-width: 100%;
3569
- min-height: 100%;
3570
- transform: translate3d(0, 0, 0);
3571
- transform: translateX(-50%);
3732
+ inset: 0;
3733
+ display: block;
3734
+ width: 100%;
3735
+ height: 100%;
3736
+ border: 0;
3572
3737
  }
3573
- .pin-top, .pin-bottom {
3574
- position: relative;
3738
+ .parallax > picture img {
3739
+ display: block;
3740
+ width: 100%;
3741
+ height: 100%;
3742
+ border: 0;
3575
3743
  }
3576
- .pinned {
3577
- position: fixed !important;
3744
+ .parallax > :is(img, video),
3745
+ .parallax > picture img {
3746
+ object-fit: cover;
3747
+ object-position: center;
3578
3748
  }
3579
- .display-docked {
3749
+ .parallax > :is(h1, h2, h3, h4, h5, h6),
3750
+ .parallax > p {
3580
3751
  position: absolute;
3581
- opacity: 0;
3752
+ inset: 0;
3753
+ z-index: 1;
3754
+ display: grid;
3755
+ place-items: center;
3756
+ margin: 0;
3757
+ padding: 24px;
3758
+ color: var(--md-sys-color-on-surface);
3759
+ text-align: center;
3760
+ }
3761
+ .parallax > figcaption {
3762
+ position: absolute;
3763
+ inset: auto 0 0;
3764
+ z-index: 1;
3765
+ margin: 0;
3766
+ padding: 16px 24px;
3767
+ color: var(--md-sys-color-on-surface);
3768
+ background: color-mix(in oklab, var(--md-sys-color-surface) 72%, transparent);
3769
+ }
3770
+ .parallax.max {
3771
+ height: 100vh;
3772
+ height: 100dvh;
3773
+ border-radius: 0;
3774
+ }
3775
+ @supports (animation-timeline: view()) {
3776
+ @media (prefers-reduced-motion: no-preference) {
3777
+ .parallax > :is(img, video),
3778
+ .parallax > picture img {
3779
+ height: calc(100% + 2 * var(--md-comp-parallax-travel));
3780
+ inset: calc(-1 * var(--md-comp-parallax-travel)) 0 auto;
3781
+ animation: parallax-shift linear both;
3782
+ animation-timeline: --parallax;
3783
+ animation-range: cover;
3784
+ }
3785
+ }
3786
+ }
3787
+ @keyframes parallax-shift {
3788
+ from {
3789
+ transform: translateY(var(--md-comp-parallax-travel));
3790
+ }
3791
+ to {
3792
+ transform: translateY(calc(-1 * var(--md-comp-parallax-travel)));
3793
+ }
3794
+ }
3795
+ .pin-top, .pin-bottom {
3796
+ position: relative;
3797
+ }
3798
+ .pinned {
3799
+ position: fixed !important;
3800
+ }
3801
+ .display-docked {
3802
+ position: absolute;
3803
+ opacity: 0;
3582
3804
  z-index: 9999;
3583
3805
  visibility: hidden;
3584
3806
  }
3585
- .page-footer {
3807
+ footer:not(:has(> nav:only-child)) {
3808
+ --md-comp-footer-padding-block: 3rem;
3809
+ --md-comp-footer-padding-inline: 1rem;
3810
+ --md-comp-footer-gap: 2rem;
3811
+ --md-comp-footer-legal-height: 48px;
3812
+ box-sizing: border-box;
3586
3813
  margin-top: 5rem;
3587
- padding-top: 3rem;
3814
+ padding: var(--md-comp-footer-padding-block) var(--md-comp-footer-padding-inline) 1rem;
3588
3815
  border-top: 1px dashed var(--md-sys-color-outline-variant);
3816
+ color: var(--md-sys-color-on-surface);
3589
3817
  }
3590
- .page-footer p {
3591
- color: var(--md-sys-color-outline);
3818
+ footer:not(:has(> nav:only-child)) p {
3819
+ margin: 0 0 8px;
3820
+ color: var(--md-sys-color-on-surface-variant);
3821
+ 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;
3822
+ font-size: var(--md-sys-typescale-body-medium-font-size);
3823
+ font-weight: var(--md-sys-typescale-body-medium-font-weight);
3824
+ line-height: var(--md-sys-typescale-body-medium-line-height);
3825
+ letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
3826
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3592
3827
  }
3593
- .page-footer a {
3828
+ footer:not(:has(> nav:only-child)) a:not(.button, .circle, .extra) {
3594
3829
  color: var(--md-sys-color-primary);
3830
+ text-decoration: none;
3595
3831
  }
3596
- .page-footer .footer-copyright,
3597
- .page-footer .footer-copyright a {
3598
- overflow: hidden;
3599
- min-height: 50px;
3832
+ footer:not(:has(> nav:only-child)) a:not(.button, .circle, .extra):focus-visible {
3833
+ outline: 3px solid var(--md-sys-color-secondary);
3834
+ outline-offset: 2px;
3835
+ }
3836
+ footer:not(:has(> nav:only-child)) :is(h1, h2, h3, h4, h5, h6) {
3837
+ margin: 0 0 8px;
3838
+ color: var(--md-sys-color-on-surface);
3839
+ 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;
3840
+ font-size: var(--md-sys-typescale-title-small-font-size);
3841
+ font-weight: var(--md-sys-typescale-title-small-font-weight);
3842
+ line-height: var(--md-sys-typescale-title-small-line-height);
3843
+ letter-spacing: var(--md-sys-typescale-title-small-letter-spacing);
3844
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3845
+ }
3846
+ footer:not(:has(> nav:only-child)) ul {
3847
+ margin: 0;
3848
+ padding: 0;
3849
+ list-style: none;
3850
+ }
3851
+ footer:not(:has(> nav:only-child)).filled,
3852
+ footer:not(:has(> nav:only-child)).surface {
3853
+ background-color: var(--md-sys-color-surface-container);
3854
+ border-top: 1px solid var(--md-sys-color-outline-variant);
3855
+ }
3856
+ footer:not(:has(> nav:only-child)) > .container,
3857
+ footer:not(:has(> nav:only-child)):not(:has(> .container)) {
3858
+ display: grid;
3859
+ gap: var(--md-comp-footer-gap);
3860
+ grid-template-columns: 1fr;
3861
+ }
3862
+ @media (width >= 601px) {
3863
+ footer:not(:has(> nav:only-child)) > .container,
3864
+ footer:not(:has(> nav:only-child)):not(:has(> .container)) {
3865
+ grid-template-columns: repeat(2, 1fr);
3866
+ }
3867
+ }
3868
+ @media (width >= 993px) {
3869
+ footer:not(:has(> nav:only-child)) > .container,
3870
+ footer:not(:has(> nav:only-child)):not(:has(> .container)) {
3871
+ grid-template-columns: repeat(4, 1fr);
3872
+ }
3873
+ }
3874
+ @media (width >= 1201px) {
3875
+ footer:not(:has(> nav:only-child)) > .container,
3876
+ footer:not(:has(> nav:only-child)):not(:has(> .container)) {
3877
+ grid-template-columns: repeat(5, 1fr);
3878
+ }
3879
+ }
3880
+ footer:not(:has(> nav:only-child)) > .container > .row,
3881
+ footer:not(:has(> nav:only-child)) > .row {
3882
+ grid-column: 1/-1;
3883
+ }
3884
+ footer:not(:has(> nav:only-child)) nav {
3885
+ display: flex;
3886
+ flex-direction: column;
3887
+ align-items: flex-start;
3888
+ gap: 0;
3889
+ min-width: 0;
3890
+ }
3891
+ footer:not(:has(> nav:only-child)) nav > a:not(.button, .circle, .extra),
3892
+ footer:not(:has(> nav:only-child)) ul a:not(.button, .circle, .extra) {
3893
+ display: inline-flex;
3894
+ align-items: center;
3895
+ box-sizing: border-box;
3896
+ min-height: 48px;
3897
+ padding: 0 12px;
3898
+ margin-inline-start: -12px;
3899
+ border-radius: 2rem;
3900
+ 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;
3901
+ font-size: var(--md-sys-typescale-label-large-font-size);
3902
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
3903
+ line-height: var(--md-sys-typescale-label-large-line-height);
3904
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
3905
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3906
+ }
3907
+ footer:not(:has(> nav:only-child)) nav > a:not(.button, .circle, .extra):hover,
3908
+ footer:not(:has(> nav:only-child)) ul a:not(.button, .circle, .extra):hover {
3909
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
3910
+ }
3911
+ footer:not(:has(> nav:only-child)) > small:last-child {
3600
3912
  display: flex;
3913
+ flex-wrap: wrap;
3601
3914
  align-items: center;
3602
3915
  justify-content: space-between;
3603
- padding: 10px 0px;
3916
+ gap: 8px 16px;
3917
+ box-sizing: border-box;
3918
+ min-height: var(--md-comp-footer-legal-height);
3919
+ margin: 0;
3920
+ padding-block: 12px;
3921
+ grid-column: 1/-1;
3922
+ border-top: 1px solid var(--md-sys-color-outline-variant);
3923
+ color: var(--md-sys-color-on-surface-variant);
3924
+ 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;
3925
+ font-size: var(--md-sys-typescale-body-small-font-size);
3926
+ font-weight: var(--md-sys-typescale-body-small-font-weight);
3927
+ line-height: var(--md-sys-typescale-body-small-line-height);
3928
+ letter-spacing: var(--md-sys-typescale-body-small-letter-spacing);
3929
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3604
3930
  }
3605
- .page-footer ul {
3606
- padding-left: 0;
3607
- list-style-type: none;
3931
+ footer:not(:has(> nav:only-child)) > small:last-child a:not(.button) {
3932
+ color: var(--md-sys-color-primary);
3933
+ }
3934
+ body:has(> footer:not(:has(> nav:only-child))) {
3935
+ min-height: 100dvh;
3936
+ display: flex;
3937
+ flex-direction: column;
3938
+ }
3939
+ body:has(> footer:not(:has(> nav:only-child))) > main {
3940
+ flex: 1 0 auto;
3608
3941
  }
3609
3942
  ::placeholder {
3610
3943
  color: var(--md-sys-color-on-surface-variant);
@@ -3622,146 +3955,89 @@
3622
3955
  letter-spacing: var(--md-sys-typescale-body-large-letter-spacing);
3623
3956
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3624
3957
  }
3625
- .field,
3626
- .input-field {
3958
+ .field {
3627
3959
  --md-comp-filled-text-field-container-color: var(--md-sys-color-surface-variant);
3960
+ --md-comp-filled-text-field-container-shape: 1rem;
3628
3961
  --md-comp-filled-text-field-caret-color: var(--md-sys-color-primary);
3629
3962
  --input-color: var(--md-comp-filled-text-field-caret-color);
3630
3963
  position: relative;
3631
3964
  clear: both;
3632
3965
  }
3633
- .field input:not([type=range]),
3634
- .field textarea,
3635
- .input-field input:not([type=range]),
3636
- .input-field textarea {
3966
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]),
3967
+ .field textarea {
3637
3968
  box-sizing: border-box;
3638
3969
  padding: 20px 16px 8px;
3639
3970
  border: none;
3640
- border-radius: 4px 4px 0 0;
3971
+ border-radius: var(--md-comp-filled-text-field-container-shape);
3641
3972
  border-bottom: 1px solid var(--md-sys-color-on-surface-variant);
3642
3973
  background-color: var(--md-comp-filled-text-field-container-color);
3643
3974
  caret-color: var(--input-color);
3644
3975
  }
3645
- .field input:not([type=range]):focus:not([readonly]),
3646
- .field textarea:focus:not([readonly]),
3647
- .input-field input:not([type=range]):focus:not([readonly]),
3648
- .input-field textarea:focus:not([readonly]) {
3976
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):focus:not([readonly]),
3977
+ .field textarea:focus:not([readonly]) {
3649
3978
  border-bottom-width: 2px;
3650
3979
  border-bottom-color: var(--input-color);
3651
3980
  padding-bottom: 7px;
3652
3981
  }
3653
- .field input:not([type=range]):disabled, .field input:not([type=range])[readonly=readonly],
3982
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):disabled, .field input:not([type=range], [type=checkbox], [type=radio], [type=file])[readonly=readonly],
3654
3983
  .field textarea:disabled,
3655
- .field textarea[readonly=readonly],
3656
- .input-field input:not([type=range]):disabled,
3657
- .input-field input:not([type=range])[readonly=readonly],
3658
- .input-field textarea:disabled,
3659
- .input-field textarea[readonly=readonly] {
3984
+ .field textarea[readonly=readonly] {
3660
3985
  color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
3661
3986
  border-color: color-mix(in oklab, var(--md-sys-color-on-surface) 12%, transparent);
3662
3987
  background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 4%, transparent);
3663
3988
  }
3664
- .field input:not([type=range]):focus:not([readonly]) + label, .field input:not([type=range]):focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3989
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):focus:not([readonly]) + label, .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):focus:not([readonly]) + span:not(.supporting-text, .character-counter, .caret),
3665
3990
  .field textarea:focus:not([readonly]) + label,
3666
- .field textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3667
- .input-field input:not([type=range]):focus:not([readonly]) + label,
3668
- .input-field input:not([type=range]):focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3669
- .input-field textarea:focus:not([readonly]) + label,
3670
- .input-field textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter) {
3991
+ .field textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter, .caret) {
3671
3992
  color: var(--input-color);
3672
3993
  }
3673
- .field input:not([type=range]):focus:not([readonly]) + label, .field input:not([type=range]):not([placeholder=" "]) + label, .field input:not([type=range]):not(:placeholder-shown) + label, .field input:not([type=range]):focus:not([readonly]) + span:not(.supporting-text, .character-counter), .field input:not([type=range]):not([placeholder=" "]) + span:not(.supporting-text, .character-counter), .field input:not([type=range]):not(:placeholder-shown) + span:not(.supporting-text, .character-counter),
3994
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):focus:not([readonly]) + label, .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):not([placeholder=" "]) + label, .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):not(:placeholder-shown) + label, .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):focus:not([readonly]) + span:not(.supporting-text, .character-counter, .caret), .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):not([placeholder=" "]) + span:not(.supporting-text, .character-counter, .caret), .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):not(:placeholder-shown) + span:not(.supporting-text, .character-counter, .caret),
3674
3995
  .field textarea:focus:not([readonly]) + label,
3675
3996
  .field textarea:not([placeholder=" "]) + label,
3676
3997
  .field textarea:not(:placeholder-shown) + label,
3677
- .field textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3678
- .field textarea:not([placeholder=" "]) + span:not(.supporting-text, .character-counter),
3679
- .field textarea:not(:placeholder-shown) + span:not(.supporting-text, .character-counter),
3680
- .input-field input:not([type=range]):focus:not([readonly]) + label,
3681
- .input-field input:not([type=range]):not([placeholder=" "]) + label,
3682
- .input-field input:not([type=range]):not(:placeholder-shown) + label,
3683
- .input-field input:not([type=range]):focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3684
- .input-field input:not([type=range]):not([placeholder=" "]) + span:not(.supporting-text, .character-counter),
3685
- .input-field input:not([type=range]):not(:placeholder-shown) + span:not(.supporting-text, .character-counter),
3686
- .input-field textarea:focus:not([readonly]) + label,
3687
- .input-field textarea:not([placeholder=" "]) + label,
3688
- .input-field textarea:not(:placeholder-shown) + label,
3689
- .input-field textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3690
- .input-field textarea:not([placeholder=" "]) + span:not(.supporting-text, .character-counter),
3691
- .input-field textarea:not(:placeholder-shown) + span:not(.supporting-text, .character-counter) {
3998
+ .field textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter, .caret),
3999
+ .field textarea:not([placeholder=" "]) + span:not(.supporting-text, .character-counter, .caret),
4000
+ .field textarea:not(:placeholder-shown) + span:not(.supporting-text, .character-counter, .caret) {
3692
4001
  transform: scale(0.75);
3693
4002
  top: 8px;
3694
4003
  }
3695
- .field input:not([type=range]):disabled + label, .field input:not([type=range])[readonly=readonly] + label,
4004
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):disabled + label, .field input:not([type=range], [type=checkbox], [type=radio], [type=file])[readonly=readonly] + label,
3696
4005
  .field textarea:disabled + label,
3697
- .field textarea[readonly=readonly] + label,
3698
- .input-field input:not([type=range]):disabled + label,
3699
- .input-field input:not([type=range])[readonly=readonly] + label,
3700
- .input-field textarea:disabled + label,
3701
- .input-field textarea[readonly=readonly] + label {
4006
+ .field textarea[readonly=readonly] + label {
3702
4007
  color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
3703
4008
  }
3704
- .field input:not([type=range]).invalid ~ .supporting-text[data-error] > span, .field input:not([type=range])[aria-invalid=true] ~ .supporting-text[data-error] > span, .field input:not([type=range]).invalid ~ small[data-error] > span, .field input:not([type=range])[aria-invalid=true] ~ small[data-error] > span,
4009
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]).invalid ~ .supporting-text[data-error] > span, .field input:not([type=range], [type=checkbox], [type=radio], [type=file])[aria-invalid=true] ~ .supporting-text[data-error] > span, .field input:not([type=range], [type=checkbox], [type=radio], [type=file]).invalid ~ small[data-error] > span, .field input:not([type=range], [type=checkbox], [type=radio], [type=file])[aria-invalid=true] ~ small[data-error] > span,
3705
4010
  .field textarea.invalid ~ .supporting-text[data-error] > span,
3706
4011
  .field textarea[aria-invalid=true] ~ .supporting-text[data-error] > span,
3707
4012
  .field textarea.invalid ~ small[data-error] > span,
3708
- .field textarea[aria-invalid=true] ~ small[data-error] > span,
3709
- .input-field input:not([type=range]).invalid ~ .supporting-text[data-error] > span,
3710
- .input-field input:not([type=range])[aria-invalid=true] ~ .supporting-text[data-error] > span,
3711
- .input-field input:not([type=range]).invalid ~ small[data-error] > span,
3712
- .input-field input:not([type=range])[aria-invalid=true] ~ small[data-error] > span,
3713
- .input-field textarea.invalid ~ .supporting-text[data-error] > span,
3714
- .input-field textarea[aria-invalid=true] ~ .supporting-text[data-error] > span,
3715
- .input-field textarea.invalid ~ small[data-error] > span,
3716
- .input-field textarea[aria-invalid=true] ~ small[data-error] > span {
4013
+ .field textarea[aria-invalid=true] ~ small[data-error] > span {
3717
4014
  display: none;
3718
4015
  }
3719
- .field input:not([type=range]).invalid, .field input:not([type=range])[aria-invalid=true],
4016
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]).invalid, .field input:not([type=range], [type=checkbox], [type=radio], [type=file])[aria-invalid=true],
3720
4017
  .field textarea.invalid,
3721
- .field textarea[aria-invalid=true],
3722
- .input-field input:not([type=range]).invalid,
3723
- .input-field input:not([type=range])[aria-invalid=true],
3724
- .input-field textarea.invalid,
3725
- .input-field textarea[aria-invalid=true] {
4018
+ .field textarea[aria-invalid=true] {
3726
4019
  border-bottom-color: var(--md-sys-color-error);
3727
4020
  box-shadow: 0 1px 0 0 var(--md-sys-color-error);
3728
4021
  }
3729
- .field input:not([type=range]).invalid ~ .supporting-text::after, .field input:not([type=range])[aria-invalid=true] ~ .supporting-text::after, .field input:not([type=range]).invalid ~ small::after, .field input:not([type=range])[aria-invalid=true] ~ small::after,
4022
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]).invalid ~ .supporting-text::after, .field input:not([type=range], [type=checkbox], [type=radio], [type=file])[aria-invalid=true] ~ .supporting-text::after, .field input:not([type=range], [type=checkbox], [type=radio], [type=file]).invalid ~ small::after, .field input:not([type=range], [type=checkbox], [type=radio], [type=file])[aria-invalid=true] ~ small::after,
3730
4023
  .field textarea.invalid ~ .supporting-text::after,
3731
4024
  .field textarea[aria-invalid=true] ~ .supporting-text::after,
3732
4025
  .field textarea.invalid ~ small::after,
3733
- .field textarea[aria-invalid=true] ~ small::after,
3734
- .input-field input:not([type=range]).invalid ~ .supporting-text::after,
3735
- .input-field input:not([type=range])[aria-invalid=true] ~ .supporting-text::after,
3736
- .input-field input:not([type=range]).invalid ~ small::after,
3737
- .input-field input:not([type=range])[aria-invalid=true] ~ small::after,
3738
- .input-field textarea.invalid ~ .supporting-text::after,
3739
- .input-field textarea[aria-invalid=true] ~ .supporting-text::after,
3740
- .input-field textarea.invalid ~ small::after,
3741
- .input-field textarea[aria-invalid=true] ~ small::after {
4026
+ .field textarea[aria-invalid=true] ~ small::after {
3742
4027
  content: attr(data-error);
3743
4028
  color: var(--md-sys-color-error);
3744
4029
  }
3745
- .field input:not([type=range]).invalid ~ label, .field input:not([type=range]):focus.invalid ~ label, .field input:not([type=range])[aria-invalid=true] ~ label,
4030
+ .field input:not([type=range], [type=checkbox], [type=radio], [type=file]).invalid ~ label, .field input:not([type=range], [type=checkbox], [type=radio], [type=file]):focus.invalid ~ label, .field input:not([type=range], [type=checkbox], [type=radio], [type=file])[aria-invalid=true] ~ label,
3746
4031
  .field textarea.invalid ~ label,
3747
4032
  .field textarea:focus.invalid ~ label,
3748
- .field textarea[aria-invalid=true] ~ label,
3749
- .input-field input:not([type=range]).invalid ~ label,
3750
- .input-field input:not([type=range]):focus.invalid ~ label,
3751
- .input-field input:not([type=range])[aria-invalid=true] ~ label,
3752
- .input-field textarea.invalid ~ label,
3753
- .input-field textarea:focus.invalid ~ label,
3754
- .input-field textarea[aria-invalid=true] ~ label {
4033
+ .field textarea[aria-invalid=true] ~ label {
3755
4034
  color: var(--md-sys-color-error);
3756
4035
  }
3757
- .field input::placeholder,
3758
- .input-field input::placeholder {
4036
+ .field input::placeholder {
3759
4037
  user-select: none;
3760
4038
  }
3761
4039
  .field > label,
3762
- .field > span:not(.supporting-text, .character-counter, .file-path),
3763
- .input-field > label,
3764
- .input-field > span:not(.supporting-text, .character-counter, .file-path) {
4040
+ .field > span:not(.supporting-text, .character-counter, .file-path, .caret) {
3765
4041
  color: var(--md-sys-color-on-surface-variant);
3766
4042
  user-select: none;
3767
4043
  position: absolute;
@@ -3779,9 +4055,7 @@
3779
4055
  transition: left 0.2s ease-out, top 0.2s ease-out, transform 0.2s ease-out, color 0.2s ease-out;
3780
4056
  }
3781
4057
  .field > small,
3782
- .field > .supporting-text,
3783
- .input-field > small,
3784
- .input-field > .supporting-text {
4058
+ .field > .supporting-text {
3785
4059
  display: block;
3786
4060
  margin-top: 4px;
3787
4061
  padding: 0 16px;
@@ -3793,8 +4067,7 @@
3793
4067
  letter-spacing: var(--md-sys-typescale-body-small-letter-spacing);
3794
4068
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3795
4069
  }
3796
- .field > .character-counter,
3797
- .input-field > .character-counter {
4070
+ .field > .character-counter {
3798
4071
  float: right;
3799
4072
  margin-top: 4px;
3800
4073
  padding: 0 16px;
@@ -3806,12 +4079,8 @@
3806
4079
  letter-spacing: var(--md-sys-typescale-body-small-letter-spacing);
3807
4080
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
3808
4081
  }
3809
- .field > i:first-child:not(.suffix),
3810
- .field > .prefix,
3811
- .input-field > i:first-child:not(.suffix),
3812
- .input-field > .prefix {
4082
+ .field > i:is(.prefix, .suffix, :first-of-type, :last-of-type, :last-child) {
3813
4083
  position: absolute;
3814
- left: 12px;
3815
4084
  top: 16px;
3816
4085
  display: flex;
3817
4086
  align-items: center;
@@ -3821,114 +4090,48 @@
3821
4090
  line-height: 24px;
3822
4091
  color: var(--md-sys-color-on-surface-variant);
3823
4092
  user-select: none;
4093
+ }
4094
+ .field > i:first-of-type:not(.suffix):not(:last-child),
4095
+ .field > i.prefix {
4096
+ left: 12px;
3824
4097
  pointer-events: none;
3825
4098
  }
3826
- .field > .suffix,
3827
4099
  .field > i.suffix,
3828
- .input-field > .suffix,
3829
- .input-field > i.suffix {
3830
- position: absolute;
4100
+ .field > i:last-of-type:not(:first-of-type),
4101
+ .field > i:last-child:not(:first-child):not(.prefix) {
3831
4102
  right: 12px;
3832
- top: 16px;
3833
- display: flex;
3834
- align-items: center;
3835
- font-size: 24px;
3836
- width: 24px;
3837
- height: 24px;
3838
- line-height: 24px;
3839
- color: var(--md-sys-color-on-surface-variant);
3840
- user-select: none;
3841
4103
  }
3842
- .field > i:first-child:not(.suffix) ~ input,
3843
- .field > i:first-child:not(.suffix) ~ textarea,
3844
- .field > .prefix ~ input,
3845
- .field > .prefix ~ textarea,
3846
- .input-field > i:first-child:not(.suffix) ~ input,
3847
- .input-field > i:first-child:not(.suffix) ~ textarea,
3848
- .input-field > .prefix ~ input,
3849
- .input-field > .prefix ~ textarea {
4104
+ .field:has(> i:first-of-type:not(.suffix):not(:last-child), > i.prefix) > :is(input, textarea) {
3850
4105
  padding-left: 52px;
3851
4106
  }
3852
- .field > .suffix ~ input,
3853
- .field > .suffix ~ textarea,
3854
- .field > i.suffix ~ input,
3855
- .field > i.suffix ~ textarea,
3856
- .input-field > .suffix ~ input,
3857
- .input-field > .suffix ~ textarea,
3858
- .input-field > i.suffix ~ input,
3859
- .input-field > i.suffix ~ textarea {
3860
- padding-right: 52px;
3861
- }
3862
- .field > i:first-child:not(.suffix) ~ label,
3863
- .field > i:first-child:not(.suffix) ~ span:not(.supporting-text, .character-counter),
3864
- .field > .prefix ~ label,
3865
- .input-field > i:first-child:not(.suffix) ~ label,
3866
- .input-field > i:first-child:not(.suffix) ~ span:not(.supporting-text, .character-counter),
3867
- .input-field > .prefix ~ label {
4107
+ .field:has(> i:first-of-type:not(.suffix):not(:last-child), > i.prefix) > :is(label, span:not(.supporting-text, .character-counter, .file-path, .caret)) {
3868
4108
  left: 52px;
3869
4109
  }
4110
+ .field:has(> i.suffix, > i:last-of-type:not(:first-of-type), > i:last-child:not(:first-child):not(.prefix)) > :is(input, textarea) {
4111
+ padding-right: 52px;
4112
+ }
3870
4113
  .field.outlined > input,
3871
- .field.outlined > textarea, .field.border > input,
3872
- .field.border > textarea,
3873
- .input-field.outlined > input,
3874
- .input-field.outlined > textarea,
3875
- .input-field.border > input,
3876
- .input-field.border > textarea {
4114
+ .field.outlined > textarea {
3877
4115
  padding-top: 8px;
3878
4116
  padding-bottom: 8px;
3879
4117
  background-color: transparent;
3880
4118
  border: 1px solid var(--md-sys-color-outline);
3881
- border-radius: 4px;
4119
+ border-radius: var(--md-comp-filled-text-field-container-shape);
3882
4120
  }
3883
4121
  .field.outlined > input:focus:not([readonly]),
3884
- .field.outlined > textarea:focus:not([readonly]), .field.border > input:focus:not([readonly]),
3885
- .field.border > textarea:focus:not([readonly]),
3886
- .input-field.outlined > input:focus:not([readonly]),
3887
- .input-field.outlined > textarea:focus:not([readonly]),
3888
- .input-field.border > input:focus:not([readonly]),
3889
- .input-field.border > textarea:focus:not([readonly]) {
4122
+ .field.outlined > textarea:focus:not([readonly]) {
3890
4123
  border-width: 2px;
3891
4124
  border-color: var(--input-color);
3892
4125
  padding-top: 7px;
3893
4126
  padding-bottom: 7px;
3894
4127
  }
3895
- .field.outlined > input:focus:not([readonly]) + label, .field.outlined > input:not([placeholder=" "]) + label, .field.outlined > input:not(:placeholder-shown) + label, .field.outlined > input:focus:not([readonly]) + span:not(.supporting-text, .character-counter), .field.outlined > input:not([placeholder=" "]) + span:not(.supporting-text, .character-counter), .field.outlined > input:not(:placeholder-shown) + span:not(.supporting-text, .character-counter),
4128
+ .field.outlined > input:focus:not([readonly]) + label, .field.outlined > input:not([placeholder=" "]) + label, .field.outlined > input:not(:placeholder-shown) + label, .field.outlined > input:focus:not([readonly]) + span:not(.supporting-text, .character-counter, .caret), .field.outlined > input:not([placeholder=" "]) + span:not(.supporting-text, .character-counter, .caret), .field.outlined > input:not(:placeholder-shown) + span:not(.supporting-text, .character-counter, .caret),
3896
4129
  .field.outlined > textarea:focus:not([readonly]) + label,
3897
4130
  .field.outlined > textarea:not([placeholder=" "]) + label,
3898
4131
  .field.outlined > textarea:not(:placeholder-shown) + label,
3899
- .field.outlined > textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3900
- .field.outlined > textarea:not([placeholder=" "]) + span:not(.supporting-text, .character-counter),
3901
- .field.outlined > textarea:not(:placeholder-shown) + span:not(.supporting-text, .character-counter), .field.border > input:focus:not([readonly]) + label, .field.border > input:not([placeholder=" "]) + label, .field.border > input:not(:placeholder-shown) + label, .field.border > input:focus:not([readonly]) + span:not(.supporting-text, .character-counter), .field.border > input:not([placeholder=" "]) + span:not(.supporting-text, .character-counter), .field.border > input:not(:placeholder-shown) + span:not(.supporting-text, .character-counter),
3902
- .field.border > textarea:focus:not([readonly]) + label,
3903
- .field.border > textarea:not([placeholder=" "]) + label,
3904
- .field.border > textarea:not(:placeholder-shown) + label,
3905
- .field.border > textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3906
- .field.border > textarea:not([placeholder=" "]) + span:not(.supporting-text, .character-counter),
3907
- .field.border > textarea:not(:placeholder-shown) + span:not(.supporting-text, .character-counter),
3908
- .input-field.outlined > input:focus:not([readonly]) + label,
3909
- .input-field.outlined > input:not([placeholder=" "]) + label,
3910
- .input-field.outlined > input:not(:placeholder-shown) + label,
3911
- .input-field.outlined > input:focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3912
- .input-field.outlined > input:not([placeholder=" "]) + span:not(.supporting-text, .character-counter),
3913
- .input-field.outlined > input:not(:placeholder-shown) + span:not(.supporting-text, .character-counter),
3914
- .input-field.outlined > textarea:focus:not([readonly]) + label,
3915
- .input-field.outlined > textarea:not([placeholder=" "]) + label,
3916
- .input-field.outlined > textarea:not(:placeholder-shown) + label,
3917
- .input-field.outlined > textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3918
- .input-field.outlined > textarea:not([placeholder=" "]) + span:not(.supporting-text, .character-counter),
3919
- .input-field.outlined > textarea:not(:placeholder-shown) + span:not(.supporting-text, .character-counter),
3920
- .input-field.border > input:focus:not([readonly]) + label,
3921
- .input-field.border > input:not([placeholder=" "]) + label,
3922
- .input-field.border > input:not(:placeholder-shown) + label,
3923
- .input-field.border > input:focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3924
- .input-field.border > input:not([placeholder=" "]) + span:not(.supporting-text, .character-counter),
3925
- .input-field.border > input:not(:placeholder-shown) + span:not(.supporting-text, .character-counter),
3926
- .input-field.border > textarea:focus:not([readonly]) + label,
3927
- .input-field.border > textarea:not([placeholder=" "]) + label,
3928
- .input-field.border > textarea:not(:placeholder-shown) + label,
3929
- .input-field.border > textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter),
3930
- .input-field.border > textarea:not([placeholder=" "]) + span:not(.supporting-text, .character-counter),
3931
- .input-field.border > textarea:not(:placeholder-shown) + span:not(.supporting-text, .character-counter) {
4132
+ .field.outlined > textarea:focus:not([readonly]) + span:not(.supporting-text, .character-counter, .caret),
4133
+ .field.outlined > textarea:not([placeholder=" "]) + span:not(.supporting-text, .character-counter, .caret),
4134
+ .field.outlined > textarea:not(:placeholder-shown) + span:not(.supporting-text, .character-counter, .caret) {
3932
4135
  top: -8px;
3933
4136
  left: 16px;
3934
4137
  margin-left: -4px;
@@ -3937,40 +4140,20 @@
3937
4140
  }
3938
4141
  .field.outlined > input:disabled, .field.outlined > input[readonly=readonly],
3939
4142
  .field.outlined > textarea:disabled,
3940
- .field.outlined > textarea[readonly=readonly], .field.border > input:disabled, .field.border > input[readonly=readonly],
3941
- .field.border > textarea:disabled,
3942
- .field.border > textarea[readonly=readonly],
3943
- .input-field.outlined > input:disabled,
3944
- .input-field.outlined > input[readonly=readonly],
3945
- .input-field.outlined > textarea:disabled,
3946
- .input-field.outlined > textarea[readonly=readonly],
3947
- .input-field.border > input:disabled,
3948
- .input-field.border > input[readonly=readonly],
3949
- .input-field.border > textarea:disabled,
3950
- .input-field.border > textarea[readonly=readonly] {
4143
+ .field.outlined > textarea[readonly=readonly] {
3951
4144
  border-color: color-mix(in oklab, var(--md-sys-color-on-surface) 12%, transparent);
3952
4145
  background-color: transparent;
3953
4146
  }
3954
4147
  .field.outlined > input.invalid, .field.outlined > input[aria-invalid=true],
3955
4148
  .field.outlined > textarea.invalid,
3956
- .field.outlined > textarea[aria-invalid=true], .field.border > input.invalid, .field.border > input[aria-invalid=true],
3957
- .field.border > textarea.invalid,
3958
- .field.border > textarea[aria-invalid=true],
3959
- .input-field.outlined > input.invalid,
3960
- .input-field.outlined > input[aria-invalid=true],
3961
- .input-field.outlined > textarea.invalid,
3962
- .input-field.outlined > textarea[aria-invalid=true],
3963
- .input-field.border > input.invalid,
3964
- .input-field.border > input[aria-invalid=true],
3965
- .input-field.border > textarea.invalid,
3966
- .input-field.border > textarea[aria-invalid=true] {
4149
+ .field.outlined > textarea[aria-invalid=true] {
3967
4150
  border-color: var(--md-sys-color-error);
3968
4151
  box-shadow: none;
3969
4152
  }
3970
4153
  .inline {
3971
4154
  display: inline-block;
3972
4155
  }
3973
- .searchbar .prefix {
4156
+ .searchbar > i:first-child {
3974
4157
  position: absolute;
3975
4158
  padding-left: 1rem;
3976
4159
  top: 0;
@@ -4460,17 +4643,20 @@
4460
4643
  border: 2px solid var(--md-sys-color-outline);
4461
4644
  border-radius: 16px;
4462
4645
  background-color: var(--md-sys-color-surface-variant);
4463
- background-image: radial-gradient(circle, var(--md-sys-color-outline) 0 8px, transparent 8.5px);
4646
+ background-image: radial-gradient(circle closest-side, var(--md-sys-color-outline) 100%, transparent 101%);
4464
4647
  background-repeat: no-repeat;
4465
- background-position: 8px center;
4648
+ background-origin: padding-box;
4649
+ background-size: var(--md-comp-switch-handle-unselected) var(--md-comp-switch-handle-unselected);
4650
+ background-position: 6px 50%;
4466
4651
  cursor: pointer;
4467
4652
  transition: background-color 0.2s ease, background-position 0.2s ease, background-size 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
4468
4653
  }
4469
4654
  .switch [type=checkbox]:not(:has(+ .lever)):not(:has(+ span)):checked {
4470
4655
  border-color: var(--md-sys-color-primary);
4471
4656
  background-color: var(--md-sys-color-primary);
4472
- background-image: radial-gradient(circle, var(--md-sys-color-on-primary) 0 12px, transparent 12.5px);
4473
- background-position: calc(100% - 14px) center;
4657
+ background-image: radial-gradient(circle closest-side, var(--md-sys-color-on-primary) 100%, transparent 101%);
4658
+ background-size: var(--md-comp-switch-handle-selected) var(--md-comp-switch-handle-selected);
4659
+ background-position: calc(var(--md-comp-switch-track-width) - 4px - 2px - var(--md-comp-switch-handle-selected)) 50%;
4474
4660
  }
4475
4661
  .switch [type=checkbox]:not(:has(+ .lever)):not(:has(+ span)):hover {
4476
4662
  box-shadow: 0 0 0 8px color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
@@ -4598,82 +4784,166 @@
4598
4784
  top: 4px;
4599
4785
  left: 24px;
4600
4786
  }
4601
- select.browser-default {
4602
- opacity: 1;
4603
- color: var(--md-sys-color-on-background);
4604
- }
4605
4787
  select {
4606
- background-color: var(--md-sys-color-surface);
4788
+ --md-comp-filled-select-container-color: var(--md-sys-color-surface-variant);
4789
+ --md-comp-filled-select-container-shape: 1rem;
4790
+ --md-comp-filled-select-input-text-color: var(--md-sys-color-on-surface);
4791
+ box-sizing: border-box;
4607
4792
  width: 100%;
4608
- padding: 5px;
4609
- border: 1px solid var(--md-sys-color-outline-variant);
4610
- border-radius: 2px;
4611
- height: 3rem;
4793
+ height: 56px;
4794
+ margin: 0;
4795
+ padding: 16px 12px;
4796
+ border: 1px solid var(--md-sys-color-outline);
4797
+ border-radius: var(--md-comp-filled-select-container-shape);
4798
+ background-color: var(--md-comp-filled-select-container-color);
4799
+ color: var(--md-comp-filled-select-input-text-color);
4800
+ 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;
4801
+ font-size: var(--md-sys-typescale-body-large-font-size);
4802
+ font-weight: var(--md-sys-typescale-body-large-font-weight);
4803
+ line-height: var(--md-sys-typescale-body-large-line-height);
4804
+ letter-spacing: var(--md-sys-typescale-body-large-letter-spacing);
4805
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
4612
4806
  }
4613
- .select-wrapper:focus-within {
4807
+ select:focus {
4614
4808
  outline: 2px solid var(--md-sys-color-primary);
4615
- border-radius: 4px;
4809
+ outline-offset: 2px;
4810
+ border-color: var(--md-sys-color-primary);
4811
+ }
4812
+ select:disabled {
4813
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
4814
+ border-color: color-mix(in oklab, var(--md-sys-color-on-surface) 12%, transparent);
4815
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 4%, transparent);
4816
+ }
4817
+ select.browser-default {
4818
+ opacity: 1;
4819
+ }
4820
+ @supports (appearance: base-select) {
4821
+ select.browser-default,
4822
+ select.browser-default::picker(select) {
4823
+ appearance: base-select;
4824
+ }
4825
+ select.browser-default::picker(select) {
4826
+ border: none;
4827
+ border-radius: var(--md-comp-menu-container-shape, 1rem);
4828
+ background-color: var(--md-sys-color-surface);
4829
+ color: var(--md-sys-color-on-surface);
4830
+ 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);
4831
+ }
4616
4832
  }
4617
- .select-wrapper {
4833
+ .field:has(> .hide-select) {
4834
+ --md-comp-filled-select-container-shape: 1rem;
4835
+ --md-comp-menu-container-shape: 1rem;
4836
+ --md-comp-filled-select-trailing-icon-size: 24px;
4837
+ --md-comp-filled-select-trailing-icon-color: var(--md-sys-color-on-surface-variant);
4838
+ --md-comp-menu-item-leading-image-size: 40px;
4618
4839
  position: relative;
4840
+ border-radius: var(--md-comp-filled-select-container-shape);
4841
+ }
4842
+ .field:has(> .hide-select) > input.dropdown-trigger {
4843
+ border-radius: inherit;
4619
4844
  }
4620
- .select-wrapper .caret {
4845
+ .field:has(> .hide-select) > input.dropdown-trigger {
4846
+ padding-inline-end: 52px;
4847
+ }
4848
+ .field:has(> .hide-select) .caret {
4621
4849
  position: absolute;
4622
- right: 0;
4623
- top: 0;
4624
- bottom: 0;
4625
- margin: auto 0;
4626
- z-index: 0;
4627
- fill: var(--md-sys-color-on-background);
4850
+ inset-block-start: 16px;
4851
+ inset-inline-start: auto;
4852
+ left: auto;
4853
+ inset-inline-end: 12px;
4854
+ z-index: 1;
4855
+ width: var(--md-comp-filled-select-trailing-icon-size);
4856
+ height: var(--md-comp-filled-select-trailing-icon-size);
4857
+ margin: 0;
4628
4858
  pointer-events: none;
4859
+ background-color: var(--md-comp-filled-select-trailing-icon-color);
4860
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") center/24px no-repeat;
4861
+ transition: transform 0.2s ease;
4629
4862
  }
4630
- .select-wrapper .hide-select {
4631
- width: 0;
4632
- height: 0;
4633
- overflow: hidden;
4863
+ .field:has(> .hide-select):has(> input[aria-expanded=true]) .caret, .field:has(> .hide-select):has(> menu:popover-open) .caret {
4864
+ transform: rotate(180deg);
4865
+ }
4866
+ .field:has(> .hide-select) .hide-select {
4634
4867
  position: absolute;
4635
- top: 0;
4868
+ inset: 0;
4869
+ overflow: hidden;
4870
+ opacity: 0;
4871
+ pointer-events: none;
4636
4872
  z-index: -1;
4637
4873
  }
4638
- select:disabled {
4639
- color: var(--md-sys-color-on-surface);
4874
+ .field:has(> .hide-select) .hide-select select {
4875
+ width: 100%;
4876
+ height: 100%;
4877
+ margin: 0;
4878
+ padding: 0;
4879
+ border: 0;
4640
4880
  }
4641
- .select-wrapper.disabled + label {
4642
- color: var(--md-sys-color-on-surface);
4881
+ .field:has(> .hide-select).disabled .caret {
4882
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
4643
4883
  }
4644
- .select-wrapper.disabled .caret {
4645
- fill: var(--md-sys-color-on-surface);
4884
+ .field:has(> .hide-select).disabled + label,
4885
+ .field:has(> .hide-select).disabled > label {
4886
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
4646
4887
  }
4647
- .select-wrapper input.select-dropdown:disabled {
4648
- color: var(--md-sys-color-on-surface);
4888
+ .field:has(> .hide-select) > input.dropdown-trigger:disabled {
4649
4889
  cursor: default;
4650
4890
  user-select: none;
4651
4891
  }
4652
- .select-wrapper i {
4653
- color: var(--md-sys-color-on-surface);
4892
+ menu[role=listbox] > li.disabled,
4893
+ menu[role=listbox] > li.disabled > span,
4894
+ menu[role=listbox] > li.optgroup {
4895
+ color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
4654
4896
  }
4655
- .select-dropdown li.disabled,
4656
- .select-dropdown li.disabled > span,
4657
- .select-dropdown li.optgroup {
4658
- color: var(--md-sys-color-on-surface);
4897
+ menu[role=listbox] > li:not(.optgroup, .divider) {
4898
+ display: flex;
4899
+ align-items: center;
4659
4900
  }
4660
- .select-dropdown li img {
4661
- height: 40px;
4662
- width: 40px;
4663
- margin: 5px 15px;
4664
- float: right;
4901
+ menu[role=listbox] > li.selected:not(.disabled, .optgroup) {
4902
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, transparent);
4903
+ }
4904
+ menu[role=listbox]:not(.multiple-select-dropdown) > li.selected:not(.disabled, .optgroup)::after {
4905
+ content: "";
4906
+ flex: 0 0 24px;
4907
+ width: 24px;
4908
+ height: 24px;
4909
+ 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;
4913
+ }
4914
+ menu[role=listbox] li img {
4915
+ box-sizing: border-box;
4916
+ flex: 0 0 var(--md-comp-menu-item-leading-image-size);
4917
+ width: var(--md-comp-menu-item-leading-image-size);
4918
+ height: var(--md-comp-menu-item-leading-image-size);
4919
+ margin: 4px 12px;
4920
+ object-fit: cover;
4921
+ border-radius: 4px;
4922
+ order: 1;
4923
+ margin-inline-start: auto;
4665
4924
  }
4666
- .select-dropdown li.optgroup {
4667
- border-top: 1px solid rgba(0, 0, 0, 0.04);
4925
+ menu[role=listbox] li img.left {
4926
+ order: 0;
4927
+ margin-inline-start: 12px;
4928
+ margin-inline-end: 0;
4668
4929
  }
4669
- .select-dropdown li.optgroup.selected > span {
4670
- color: var(--md-sys-color-on-background);
4930
+ menu[role=listbox] li.optgroup {
4931
+ cursor: default;
4932
+ pointer-events: none;
4671
4933
  }
4672
- .select-dropdown li.optgroup > span {
4934
+ menu[role=listbox] li.optgroup:not(:first-child) {
4935
+ border-top: 1px solid var(--md-sys-color-outline-variant);
4936
+ }
4937
+ menu[role=listbox] li.optgroup > span {
4673
4938
  color: var(--md-sys-color-on-surface-variant);
4674
4939
  }
4675
- .select-dropdown li.optgroup ~ li.optgroup-option {
4676
- padding-left: 1rem;
4940
+ menu[role=listbox] li.optgroup-option {
4941
+ padding-inline-start: 1rem;
4942
+ }
4943
+ @media (prefers-reduced-motion: reduce) {
4944
+ .field:has(> .hide-select) .caret {
4945
+ transition: none;
4946
+ }
4677
4947
  }
4678
4948
  .file-field {
4679
4949
  display: grid;
@@ -5061,15 +5331,17 @@
5061
5331
  transparent
5062
5332
  );
5063
5333
  }
5064
- select:focus {
5065
- outline: 1px solid var(--md-ref-palette-primary80);
5066
- }
5067
5334
  label {
5068
5335
  font-size: 0.8rem;
5069
5336
  color: var(--md-sys-color-on-surface-variant);
5070
5337
  }
5071
5338
  .table-of-contents {
5339
+ --md-comp-toc-label-color: var(--md-sys-color-on-surface-variant);
5340
+ --md-comp-toc-active-color: var(--md-sys-color-primary);
5341
+ --md-comp-toc-indicator: 2px;
5072
5342
  list-style: none;
5343
+ margin: 0;
5344
+ padding: 0;
5073
5345
  }
5074
5346
  .table-of-contents.fixed {
5075
5347
  position: fixed;
@@ -5078,129 +5350,212 @@
5078
5350
  padding: 0;
5079
5351
  }
5080
5352
  .table-of-contents a {
5081
- display: inline-block;
5082
- font-weight: 400;
5083
- color: var(--md-sys-color-secondary);
5084
- padding-left: 16px;
5085
- height: 2rem;
5086
- line-height: 2rem;
5087
- border-left: 1px solid var(--md-sys-color-outline-variant);
5353
+ display: inline-flex;
5354
+ align-items: center;
5355
+ box-sizing: border-box;
5356
+ min-height: 2rem;
5357
+ padding-inline-start: 16px;
5358
+ border-inline-start: var(--md-comp-toc-indicator) solid transparent;
5359
+ color: var(--md-comp-toc-label-color);
5360
+ text-decoration: none;
5361
+ 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;
5362
+ font-size: var(--md-sys-typescale-label-large-font-size);
5363
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
5364
+ line-height: var(--md-sys-typescale-label-large-line-height);
5365
+ letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
5366
+ }
5367
+ .table-of-contents a:focus-visible {
5368
+ outline: 3px solid var(--md-sys-color-secondary);
5369
+ outline-offset: 2px;
5088
5370
  }
5089
5371
  .table-of-contents a:hover {
5090
- color: var(--md-sys-color-on-background);
5091
- padding-left: 15px;
5372
+ color: var(--md-comp-toc-active-color);
5092
5373
  }
5093
- .table-of-contents a.active {
5094
- color: var(--md-sys-color-primary);
5374
+ .table-of-contents a:is(.active, [aria-current=true]) {
5375
+ color: var(--md-comp-toc-active-color);
5095
5376
  font-weight: 500;
5096
- padding-left: 14px;
5097
- border-left: 2px solid var(--md-sys-color-primary);
5377
+ border-inline-start-color: var(--md-comp-toc-active-color);
5098
5378
  }
5099
- .sidenav {
5100
- --sidenav-width: 300px;
5101
- --sidenav-font-size: 14px;
5102
- --sidenav-padding: 16px;
5103
- --sidenav-item-height: 48px;
5104
- --sidenav-line-height: var(--sidenav-item-height);
5105
- position: fixed;
5106
- width: var(--sidenav-width);
5107
- left: 0;
5108
- top: 0;
5109
- margin: 0;
5110
- transform: translateX(-100%);
5111
- height: 100vh;
5112
- padding: 0;
5113
- z-index: 999;
5379
+ .scrollspy {
5380
+ --md-comp-scrollspy-offset: 200px;
5381
+ scroll-margin-block-start: var(--md-comp-scrollspy-offset);
5382
+ }
5383
+ @media (prefers-reduced-motion: no-preference) {
5384
+ html:has(.scrollspy) {
5385
+ scroll-behavior: smooth;
5386
+ }
5387
+ }
5388
+ :root {
5389
+ --md-comp-nav-drawer-width: 300px;
5390
+ }
5391
+ dialog.sidenav-overlay,
5392
+ dialog.sidenav {
5393
+ --md-comp-nav-drawer-item-height: 48px;
5394
+ --md-comp-nav-drawer-duration: 250ms;
5395
+ --md-comp-nav-drawer-easing: ease;
5396
+ --md-comp-nav-drawer-shift: 0px;
5397
+ --md-comp-nav-drawer-open: 1;
5398
+ --md-comp-nav-drawer-font-size: 14px;
5399
+ --md-comp-nav-drawer-padding: 16px;
5400
+ --md-comp-nav-drawer-line-height: var(--md-comp-nav-drawer-item-height);
5401
+ box-sizing: border-box;
5402
+ width: var(--md-comp-nav-drawer-width);
5403
+ min-width: 0;
5404
+ max-width: none;
5405
+ max-height: none;
5406
+ height: 100dvh;
5407
+ margin: 0;
5408
+ padding: 0;
5409
+ border: none;
5410
+ border-radius: 0;
5411
+ inset: 0 auto 0 0;
5412
+ overflow: hidden;
5413
+ color: var(--md-sys-color-on-surface);
5414
+ background-color: var(--md-sys-color-surface);
5415
+ outline: none;
5416
+ 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
+ transform: translateX(calc(-100% + var(--md-comp-nav-drawer-shift)));
5418
+ transition: transform var(--md-comp-nav-drawer-duration) var(--md-comp-nav-drawer-easing), display var(--md-comp-nav-drawer-duration) allow-discrete, overlay var(--md-comp-nav-drawer-duration) allow-discrete;
5419
+ }
5420
+ dialog.sidenav-overlay:modal,
5421
+ dialog.sidenav:modal {
5422
+ display: flex;
5423
+ flex-direction: column;
5424
+ transform: translateX(var(--md-comp-nav-drawer-shift));
5425
+ }
5426
+ dialog.sidenav-overlay.right-aligned,
5427
+ dialog.sidenav.right-aligned {
5428
+ inset: 0 0 0 auto;
5429
+ transform: translateX(calc(100% - var(--md-comp-nav-drawer-shift)));
5430
+ }
5431
+ dialog.sidenav-overlay.right-aligned:modal,
5432
+ dialog.sidenav.right-aligned:modal {
5433
+ transform: translateX(calc(-1 * var(--md-comp-nav-drawer-shift)));
5434
+ }
5435
+ dialog.sidenav-overlay.dragging,
5436
+ dialog.sidenav.dragging {
5437
+ transition: none;
5438
+ }
5439
+ dialog.sidenav-overlay::backdrop,
5440
+ dialog.sidenav::backdrop {
5441
+ background-color: color-mix(in oklab, var(--md-sys-color-scrim) 32%, transparent);
5442
+ opacity: var(--md-comp-nav-drawer-open, 1);
5443
+ backdrop-filter: none;
5444
+ transition: opacity var(--md-comp-nav-drawer-duration) var(--md-comp-nav-drawer-easing), display var(--md-comp-nav-drawer-duration) allow-discrete, overlay var(--md-comp-nav-drawer-duration) allow-discrete;
5445
+ }
5446
+ @starting-style {
5447
+ :is(dialog.sidenav-overlay, dialog.sidenav):modal {
5448
+ transform: translateX(-100%);
5449
+ }
5450
+ :is(dialog.sidenav-overlay, dialog.sidenav).right-aligned:modal {
5451
+ transform: translateX(100%);
5452
+ }
5453
+ :is(dialog.sidenav-overlay, dialog.sidenav):modal::backdrop {
5454
+ opacity: 0;
5455
+ }
5456
+ }
5457
+ @media (prefers-reduced-motion: reduce) {
5458
+ dialog.sidenav-overlay,
5459
+ dialog.sidenav {
5460
+ transition: none;
5461
+ }
5462
+ dialog.sidenav-overlay::backdrop,
5463
+ dialog.sidenav::backdrop {
5464
+ transition: none;
5465
+ }
5466
+ }
5467
+ @media (width >= 993px) {
5468
+ dialog.sidenav-overlay:has(> .sidenav-fixed):not(:modal) {
5469
+ display: contents;
5470
+ }
5471
+ }
5472
+ .sidenav {
5473
+ --md-comp-nav-drawer-item-height: 48px;
5474
+ --md-comp-nav-drawer-font-size: 14px;
5475
+ --md-comp-nav-drawer-padding: 16px;
5476
+ --md-comp-nav-drawer-line-height: var(--md-comp-nav-drawer-item-height);
5477
+ box-sizing: border-box;
5478
+ position: fixed;
5479
+ width: var(--md-comp-nav-drawer-width);
5480
+ inset: 0 auto 0 0;
5481
+ margin: 0;
5482
+ padding: 0;
5483
+ height: 100dvh;
5484
+ z-index: 999;
5114
5485
  overflow-y: auto;
5115
- will-change: transform;
5116
- backface-visibility: hidden;
5117
- transform: translateX(-105%);
5486
+ overscroll-behavior: contain;
5118
5487
  user-select: none;
5119
- color: var(--md-sys-color-on-secondary-container);
5488
+ color: var(--md-sys-color-on-surface);
5120
5489
  background-color: var(--md-sys-color-surface);
5490
+ transform: translateX(-100%);
5121
5491
  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);
5122
5492
  }
5123
5493
  .sidenav.right-aligned {
5124
- right: 0;
5125
- transform: translateX(105%);
5126
- left: auto;
5494
+ inset: 0 0 0 auto;
5127
5495
  transform: translateX(100%);
5128
5496
  }
5129
5497
  .sidenav .collapsible {
5130
5498
  margin: 0;
5131
5499
  }
5132
- .sidenav {
5133
- /* Hover only on top row */
5134
- /*a:hover {
5135
- //color: red;
5136
- //background-color: var(--md-sys-color-on-secondary-container);
5137
- //md.sys.color.on-secondary-container
5138
- }*/
5139
- }
5140
- .sidenav a:focus {
5141
- background-color: rgba(0, 0, 0, 0.12);
5142
- }
5143
- .sidenav li.active > a:not(.collapsible-header):not(.btn):not(.btn-large):not(.btn-small):not(.btn-flat):not(.btn-large):not(.btn-floating) {
5144
- background-color: color-mix(in oklab, var(--md-sys-color-secondary) 10%, transparent);
5145
- }
5146
- .sidenav .collapsible-body > ul {
5147
- padding-left: 10px;
5148
- }
5149
5500
  .sidenav li {
5150
5501
  list-style: none;
5151
5502
  display: grid;
5152
5503
  align-content: center;
5153
5504
  }
5505
+ .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;
5510
+ }
5154
5511
  .sidenav li > a {
5155
- /* https://stackoverflow.com/questions/5848090/full-width-hover-background-for-nested-lists */
5156
- margin: 0 12px;
5157
- padding: 0 var(--sidenav-padding);
5158
- /*
5159
- min-width: 0;
5160
- white-space: nowrap;
5161
- overflow: hidden;
5162
- text-overflow: ellipsis;
5163
- */
5164
5512
  display: flex;
5165
- height: var(--sidenav-item-height);
5166
- font-size: var(--sidenav-font-size);
5167
- font-weight: 500;
5168
5513
  align-items: center;
5514
+ margin: 0 12px;
5515
+ padding: 0 var(--md-comp-nav-drawer-padding);
5516
+ height: var(--md-comp-nav-drawer-item-height);
5169
5517
  overflow: hidden;
5170
5518
  border-radius: 100px;
5519
+ font-size: var(--md-comp-nav-drawer-font-size);
5520
+ font-weight: 500;
5171
5521
  }
5172
- .sidenav li > a:not(.btn):not(.button):not(.btn-flat):not(.btn-large):not(.btn-floating) {
5522
+ .sidenav li > a:not(.button, .circle, .extra) {
5173
5523
  color: var(--md-sys-color-on-secondary-container);
5174
5524
  }
5175
- .sidenav li > a:not(.btn):not(.button):not(.btn-flat):not(.btn-large):not(.btn-floating):hover {
5525
+ .sidenav li > a:not(.button, .circle, .extra):hover {
5176
5526
  background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
5177
5527
  }
5178
- .sidenav li > a.btn, .sidenav li > a.button, .sidenav li > a.btn-large, .sidenav li > a.btn-flat, .sidenav li > a.btn-floating {
5179
- margin: 10px 15px;
5528
+ .sidenav li > a:not(.button, .circle, .extra):focus-visible {
5529
+ outline: 3px solid var(--md-sys-color-secondary);
5530
+ outline-offset: 2px;
5180
5531
  }
5181
- .sidenav li > a {
5182
- /* TODO: Use special class in future like "mw-icon" */
5532
+ .sidenav li > a.button, .sidenav li > a.circle, .sidenav li > a.extra {
5533
+ margin: 10px 15px;
5183
5534
  }
5184
- .sidenav li > a > .material-icons, .sidenav li > a > .material-symbols-outlined, .sidenav li > a > .material-symbols-rounded, .sidenav li > a > .material-symbols-sharp {
5535
+ .sidenav li > a > :is(.material-symbols,
5536
+ .material-symbols-outlined,
5537
+ .material-symbols-rounded,
5538
+ .material-symbols-sharp,
5539
+ .material-icons) {
5185
5540
  display: inline-flex;
5186
- vertical-align: middle;
5541
+ flex-shrink: 0;
5187
5542
  margin-right: 12px;
5188
5543
  }
5189
5544
  .sidenav .divider {
5190
- margin: calc(var(--sidenav-padding) * 0.5) 0 0 0;
5545
+ margin: calc(var(--md-comp-nav-drawer-padding) * 0.5) 0 0;
5191
5546
  }
5192
5547
  .sidenav .subheader {
5193
5548
  cursor: initial;
5194
5549
  pointer-events: none;
5195
- color: red;
5196
- font-size: var(--sidenav-font-size);
5550
+ color: var(--md-sys-color-on-surface-variant);
5551
+ font-size: var(--md-comp-nav-drawer-font-size);
5197
5552
  font-weight: 500;
5198
- line-height: var(--sidenav-line-height);
5553
+ line-height: var(--md-comp-nav-drawer-line-height);
5199
5554
  }
5200
5555
  .sidenav .user-view {
5201
5556
  position: relative;
5202
- padding: calc(var(--sidenav-padding) * 2) calc(var(--sidenav-padding) * 2) 0;
5203
- margin-bottom: calc(var(--sidenav-padding) * 0.5);
5557
+ padding: calc(var(--md-comp-nav-drawer-padding) * 2) calc(var(--md-comp-nav-drawer-padding) * 2) 0;
5558
+ margin-bottom: calc(var(--md-comp-nav-drawer-padding) * 0.5);
5204
5559
  }
5205
5560
  .sidenav .user-view > a {
5206
5561
  height: auto;
@@ -5212,13 +5567,12 @@
5212
5567
  .sidenav .user-view .background {
5213
5568
  overflow: hidden;
5214
5569
  position: absolute;
5215
- top: 0;
5216
- right: 0;
5217
- bottom: 0;
5218
- left: 0;
5570
+ inset: 0;
5219
5571
  z-index: -1;
5220
5572
  }
5221
- .sidenav .user-view .circle, .sidenav .user-view .name, .sidenav .user-view .email {
5573
+ .sidenav .user-view .circle,
5574
+ .sidenav .user-view .name,
5575
+ .sidenav .user-view .email {
5222
5576
  display: block;
5223
5577
  }
5224
5578
  .sidenav .user-view .circle {
@@ -5227,8 +5581,8 @@
5227
5581
  }
5228
5582
  .sidenav .user-view .name,
5229
5583
  .sidenav .user-view .email {
5230
- font-size: var(--sidenav-font-size);
5231
- line-height: calc(var(--sidenav-line-height) * 0.5);
5584
+ font-size: var(--md-comp-nav-drawer-font-size);
5585
+ line-height: calc(var(--md-comp-nav-drawer-line-height) * 0.5);
5232
5586
  }
5233
5587
  .sidenav .user-view .name {
5234
5588
  margin-top: 16px;
@@ -5238,110 +5592,151 @@
5238
5592
  padding-bottom: 16px;
5239
5593
  font-weight: 400;
5240
5594
  }
5241
- .drag-target {
5595
+ dialog.sidenav-overlay:modal > .sidenav {
5596
+ position: static;
5597
+ inset: auto;
5598
+ width: 100%;
5242
5599
  height: 100%;
5243
- position: fixed;
5244
- top: 0;
5245
- left: 0;
5246
- z-index: 998;
5247
- }
5248
- .drag-target.right-aligned {
5249
- right: 0;
5600
+ transform: none;
5601
+ box-shadow: none;
5602
+ background-color: transparent;
5603
+ z-index: auto;
5250
5604
  }
5251
5605
  .sidenav.sidenav-fixed {
5252
- left: 0;
5253
- transform: translateX(0);
5254
- position: fixed;
5606
+ transform: none;
5255
5607
  }
5256
5608
  .sidenav.sidenav-fixed.right-aligned {
5257
- right: 0;
5258
- left: auto;
5609
+ transform: none;
5259
5610
  }
5260
5611
  @media (width < 993px) {
5261
5612
  .sidenav.sidenav-fixed {
5262
- transform: translateX(-105%);
5613
+ transform: translateX(-100%);
5263
5614
  }
5264
5615
  .sidenav.sidenav-fixed.right-aligned {
5265
- transform: translateX(105%);
5266
- }
5267
- .sidenav > a {
5268
- padding: 0 var(--sidenav-padding);
5616
+ transform: translateX(100%);
5269
5617
  }
5270
5618
  .sidenav .user-view {
5271
- padding: var(--sidenav-padding) var(--sidenav-padding) 0;
5619
+ padding: var(--md-comp-nav-drawer-padding) var(--md-comp-nav-drawer-padding) 0;
5272
5620
  }
5273
5621
  }
5274
- .sidenav .collapsible-body {
5275
- padding: 0;
5276
- }
5277
- .sidenav-overlay {
5622
+ .drag-target {
5278
5623
  position: fixed;
5279
- top: 0;
5280
- left: 0;
5281
- right: 0;
5282
- opacity: 0;
5283
- height: 120vh;
5284
- background-color: rgba(0, 0, 0, 0.5);
5285
- z-index: 997;
5286
- display: none;
5624
+ inset: 0 auto 0 0;
5625
+ width: var(--md-comp-nav-drawer-drag-width, 10px);
5626
+ height: 100%;
5627
+ z-index: 998;
5628
+ touch-action: pan-y;
5629
+ }
5630
+ .drag-target.right-aligned {
5631
+ inset: 0 0 0 auto;
5632
+ }
5633
+ @media (width >= 993px) {
5634
+ .drag-target[data-fixed] {
5635
+ display: none;
5636
+ pointer-events: none;
5637
+ }
5638
+ }
5639
+ .sidenav details > :not(summary) {
5640
+ padding: 0;
5287
5641
  }
5288
5642
  .sidenav .collapsible,
5289
5643
  .sidenav.sidenav-fixed .collapsible {
5644
+ overflow: visible;
5290
5645
  border: none;
5646
+ border-radius: 0;
5647
+ background: transparent;
5291
5648
  box-shadow: none;
5292
5649
  }
5293
- .sidenav .collapsible-header,
5294
- .sidenav.sidenav-fixed .collapsible-header {
5650
+ .sidenav summary,
5651
+ .sidenav.sidenav-fixed summary {
5295
5652
  border: none;
5296
5653
  }
5297
- .sidenav .collapsible-body,
5298
- .sidenav.sidenav-fixed .collapsible-body {
5654
+ .sidenav details > :not(summary),
5655
+ .sidenav.sidenav-fixed details > :not(summary) {
5299
5656
  border: none;
5300
5657
  }
5658
+ .progress,
5659
+ .preloader {
5660
+ --md-comp-progress-track: var(--md-sys-color-secondary-container);
5661
+ --md-comp-progress-indicator: var(--md-sys-color-primary);
5662
+ --md-comp-progress-thickness: 4px;
5663
+ --md-comp-progress-shape: 4px;
5664
+ --md-comp-progress-circular-size: 48px;
5665
+ --md-comp-progress-circular-thickness: 4px;
5666
+ }
5301
5667
  .progress {
5668
+ box-sizing: border-box;
5302
5669
  position: relative;
5303
- height: 4px;
5304
5670
  display: block;
5305
5671
  width: 100%;
5306
- background-color: var(--md-sys-color-surface-variant);
5307
- border-radius: 4px;
5308
- margin: 0.5rem 0 1rem 0;
5672
+ height: var(--md-comp-progress-thickness);
5673
+ margin: 0.5rem 0 1rem;
5309
5674
  overflow: hidden;
5310
- background-color: var(--md-sys-color-secondary-container);
5675
+ border: 0;
5676
+ border-radius: var(--md-comp-progress-shape);
5677
+ background-color: var(--md-comp-progress-track);
5678
+ appearance: none;
5679
+ -webkit-appearance: none;
5680
+ }
5681
+ progress.progress {
5682
+ vertical-align: baseline;
5683
+ }
5684
+ progress.progress::-webkit-progress-bar {
5685
+ background-color: var(--md-comp-progress-track);
5686
+ border-radius: var(--md-comp-progress-shape);
5687
+ }
5688
+ progress.progress::-webkit-progress-value {
5689
+ background-color: var(--md-comp-progress-indicator);
5690
+ border-radius: var(--md-comp-progress-shape);
5311
5691
  }
5312
- .progress .determinate {
5692
+ progress.progress::-moz-progress-bar {
5693
+ background-color: var(--md-comp-progress-indicator);
5694
+ border-radius: var(--md-comp-progress-shape);
5695
+ }
5696
+ progress.progress:indeterminate::-webkit-progress-value, progress.progress:indeterminate::-moz-progress-bar {
5697
+ background-color: transparent;
5698
+ }
5699
+ .progress > .determinate {
5313
5700
  position: absolute;
5314
- top: 0;
5315
- left: 0;
5316
- bottom: 0;
5317
- background-color: var(--md-sys-color-primary);
5701
+ inset: 0 auto 0 0;
5702
+ width: var(--md-comp-progress-value, 0%);
5703
+ background-color: var(--md-comp-progress-indicator);
5318
5704
  transition: width 0.3s linear;
5319
5705
  }
5320
- .progress .indeterminate {
5321
- background-color: var(--md-sys-color-primary);
5322
- }
5323
- .progress .indeterminate:before {
5706
+ .progress:not(:is(progress)):not(:has(> .determinate, > .indeterminate))::after {
5324
5707
  content: "";
5325
5708
  position: absolute;
5326
- background-color: inherit;
5327
- top: 0;
5328
- left: 0;
5329
- bottom: 0;
5330
- will-change: left, right;
5331
- animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
5709
+ inset: 0 auto 0 0;
5710
+ width: var(--md-comp-progress-value, 0%);
5711
+ background-color: var(--md-comp-progress-indicator);
5712
+ transition: width 0.3s linear;
5713
+ }
5714
+ .progress:not(:is(progress)):not(:has(> .determinate, > .indeterminate)):not([style*="--md-comp-progress-value"])::after {
5715
+ width: auto;
5716
+ animation: preloader-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
5332
5717
  }
5333
- .progress .indeterminate:after {
5718
+ .progress > .indeterminate,
5719
+ progress.progress:indeterminate {
5720
+ background-color: transparent;
5721
+ }
5722
+ .progress > .indeterminate::before, .progress > .indeterminate::after,
5723
+ progress.progress:indeterminate::before,
5724
+ progress.progress:indeterminate::after {
5334
5725
  content: "";
5335
5726
  position: absolute;
5336
- background-color: inherit;
5337
- top: 0;
5338
- left: 0;
5339
- bottom: 0;
5340
- will-change: left, right;
5341
- animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
5727
+ inset: 0 auto 0 0;
5728
+ background-color: var(--md-comp-progress-indicator);
5729
+ }
5730
+ .progress > .indeterminate::before,
5731
+ progress.progress:indeterminate::before {
5732
+ animation: preloader-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
5733
+ }
5734
+ .progress > .indeterminate::after,
5735
+ progress.progress:indeterminate::after {
5736
+ animation: preloader-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
5342
5737
  animation-delay: 1.15s;
5343
5738
  }
5344
- @keyframes indeterminate {
5739
+ @keyframes preloader-indeterminate {
5345
5740
  0% {
5346
5741
  left: -35%;
5347
5742
  right: 100%;
@@ -5355,7 +5750,7 @@
5355
5750
  right: -90%;
5356
5751
  }
5357
5752
  }
5358
- @keyframes indeterminate-short {
5753
+ @keyframes preloader-indeterminate-short {
5359
5754
  0% {
5360
5755
  left: -200%;
5361
5756
  right: 100%;
@@ -5369,303 +5764,42 @@
5369
5764
  right: -8%;
5370
5765
  }
5371
5766
  }
5372
- /*
5373
- @license
5374
- Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
5375
- This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5376
- The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5377
- The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
5378
- Code distributed by Google as part of the polymer project is also
5379
- subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
5380
- */
5381
- /**************************/
5382
- /* STYLES FOR THE SPINNER */
5383
- /**************************/
5384
- /*
5385
- * Constants:
5386
- * STROKEWIDTH = 3px
5387
- * ARCSIZE = 270 degrees (amount of circle the arc takes up)
5388
- * ARCTIME = 1333ms (time it takes to expand and contract arc)
5389
- * ARCSTARTROT = 216 degrees (how much the start location of the arc
5390
- * should rotate each time, 216 gives us a
5391
- * 5 pointed star shape (it's 360/5 * 3).
5392
- * For a 7 pointed star, we might do
5393
- * 360/7 * 3 = 154.286)
5394
- * CONTAINERWIDTH = 28px
5395
- * SHRINK_TIME = 400ms
5396
- */
5397
- .preloader-wrapper {
5398
- display: inline-block;
5399
- position: relative;
5400
- width: 50px;
5401
- height: 50px;
5402
- }
5403
- .preloader-wrapper.small {
5404
- width: 36px;
5405
- height: 36px;
5406
- }
5407
- .preloader-wrapper.big {
5408
- width: 64px;
5409
- height: 64px;
5410
- }
5411
- .preloader-wrapper.active {
5412
- /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
5413
- animation: container-rotate 1568ms linear infinite;
5414
- }
5415
- @keyframes container-rotate {
5416
- to {
5417
- transform: rotate(360deg);
5418
- }
5419
- }
5420
- .spinner-layer {
5421
- position: absolute;
5422
- width: 100%;
5423
- height: 100%;
5424
- opacity: 0;
5425
- border-color: var(--md-sys-color-primary);
5426
- }
5427
- .spinner-blue,
5428
- .spinner-blue-only {
5429
- border-color: #4285f4;
5430
- }
5431
- .spinner-red,
5432
- .spinner-red-only {
5433
- border-color: #db4437;
5434
- }
5435
- .spinner-yellow,
5436
- .spinner-yellow-only {
5437
- border-color: #f4b400;
5438
- }
5439
- .spinner-green,
5440
- .spinner-green-only {
5441
- border-color: #0f9d58;
5442
- }
5443
- /**
5444
- * NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
5445
- *
5446
- * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
5447
- * guarantee that the animation will start _exactly_ after that value. So we avoid using
5448
- * animation-delay and instead set custom keyframes for each color (as redundant as it
5449
- * seems).
5450
- *
5451
- * The second half of this note explained why each animation is written as the
5452
- * `animation` shorthand rather than as separate animation-name/-duration
5453
- * longhands: the Web Animations polyfill on old Safari mistook the longhands
5454
- * for -webkit-animation. That polyfill is long gone, and the prefixed
5455
- * declarations it was about have been removed - the shorthand is kept only
5456
- * because it is shorter here. See github.com/Polymer/platform/issues/53.
5457
- */
5458
- .active .spinner-layer.spinner-blue {
5459
- /* durations: 4 * ARCTIME */
5460
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
5461
- }
5462
- .active .spinner-layer.spinner-red {
5463
- /* durations: 4 * ARCTIME */
5464
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
5465
- }
5466
- .active .spinner-layer.spinner-yellow {
5467
- /* durations: 4 * ARCTIME */
5468
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
5469
- }
5470
- .active .spinner-layer.spinner-green {
5471
- /* durations: 4 * ARCTIME */
5472
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
5473
- }
5474
- .active .spinner-layer,
5475
- .active .spinner-layer.spinner-blue-only,
5476
- .active .spinner-layer.spinner-red-only,
5477
- .active .spinner-layer.spinner-yellow-only,
5478
- .active .spinner-layer.spinner-green-only {
5479
- /* durations: 4 * ARCTIME */
5480
- opacity: 1;
5481
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
5482
- }
5483
- @keyframes fill-unfill-rotate {
5484
- 12.5% {
5485
- transform: rotate(135deg);
5486
- } /* 0.5 * ARCSIZE */
5487
- 25% {
5488
- transform: rotate(270deg);
5489
- } /* 1 * ARCSIZE */
5490
- 37.5% {
5491
- transform: rotate(405deg);
5492
- } /* 1.5 * ARCSIZE */
5493
- 50% {
5494
- transform: rotate(540deg);
5495
- } /* 2 * ARCSIZE */
5496
- 62.5% {
5497
- transform: rotate(675deg);
5498
- } /* 2.5 * ARCSIZE */
5499
- 75% {
5500
- transform: rotate(810deg);
5501
- } /* 3 * ARCSIZE */
5502
- 87.5% {
5503
- transform: rotate(945deg);
5504
- } /* 3.5 * ARCSIZE */
5505
- to {
5506
- transform: rotate(1080deg);
5507
- } /* 4 * ARCSIZE */
5508
- }
5509
- @keyframes blue-fade-in-out {
5510
- from {
5511
- opacity: 1;
5512
- }
5513
- 25% {
5514
- opacity: 1;
5515
- }
5516
- 26% {
5517
- opacity: 0;
5518
- }
5519
- 89% {
5520
- opacity: 0;
5521
- }
5522
- 90% {
5523
- opacity: 1;
5524
- }
5525
- 100% {
5526
- opacity: 1;
5527
- }
5528
- }
5529
- @keyframes red-fade-in-out {
5530
- from {
5531
- opacity: 0;
5532
- }
5533
- 15% {
5534
- opacity: 0;
5535
- }
5536
- 25% {
5537
- opacity: 1;
5538
- }
5539
- 50% {
5540
- opacity: 1;
5541
- }
5542
- 51% {
5543
- opacity: 0;
5544
- }
5545
- }
5546
- @keyframes yellow-fade-in-out {
5547
- from {
5548
- opacity: 0;
5549
- }
5550
- 40% {
5551
- opacity: 0;
5552
- }
5553
- 50% {
5554
- opacity: 1;
5555
- }
5556
- 75% {
5557
- opacity: 1;
5558
- }
5559
- 76% {
5560
- opacity: 0;
5561
- }
5562
- }
5563
- @keyframes green-fade-in-out {
5564
- from {
5565
- opacity: 0;
5566
- }
5567
- 65% {
5568
- opacity: 0;
5569
- }
5570
- 75% {
5571
- opacity: 1;
5572
- }
5573
- 90% {
5574
- opacity: 1;
5575
- }
5576
- 100% {
5577
- opacity: 0;
5578
- }
5579
- }
5580
- /**
5581
- * Patch the gap that appear between the two adjacent div.circle-clipper while the
5582
- * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
5583
- */
5584
- .gap-patch {
5585
- position: absolute;
5586
- top: 0;
5587
- left: 45%;
5588
- width: 10%;
5589
- height: 100%;
5590
- overflow: hidden;
5591
- border-color: inherit;
5592
- }
5593
- .gap-patch .circle {
5594
- width: 1000%;
5595
- left: -450%;
5596
- }
5597
- .circle-clipper {
5767
+ .preloader {
5768
+ box-sizing: border-box;
5598
5769
  display: inline-block;
5599
- position: relative;
5600
- width: 50%;
5601
- height: 100%;
5602
- overflow: hidden;
5603
- border-color: inherit;
5604
- }
5605
- .circle-clipper .circle {
5606
- width: 200%;
5607
- height: 100%;
5608
- border-width: 3px; /* STROKEWIDTH */
5609
- border-style: solid;
5610
- border-color: inherit;
5611
- border-bottom-color: transparent !important;
5770
+ width: var(--md-comp-progress-circular-size);
5771
+ height: var(--md-comp-progress-circular-size);
5612
5772
  border-radius: 50%;
5613
- animation: none;
5614
- position: absolute;
5615
- top: 0;
5616
- right: 0;
5617
- bottom: 0;
5618
- }
5619
- .circle-clipper.left .circle {
5620
- left: 0;
5621
- border-right-color: transparent !important;
5622
- transform: rotate(129deg);
5623
- }
5624
- .circle-clipper.right .circle {
5625
- left: -100%;
5626
- border-left-color: transparent !important;
5627
- transform: rotate(-129deg);
5773
+ background: conic-gradient(from 0turn, var(--md-comp-progress-indicator) 0 90deg, transparent 90deg 360deg);
5774
+ mask: radial-gradient(farthest-side, transparent calc(100% - var(--md-comp-progress-circular-thickness)), #000 0);
5775
+ -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--md-comp-progress-circular-thickness)), #000 0);
5776
+ animation: preloader-rotate 1.4s linear infinite;
5777
+ vertical-align: middle;
5628
5778
  }
5629
- .active .circle-clipper.left .circle {
5630
- /* duration: ARCTIME */
5631
- animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
5779
+ .preloader.small {
5780
+ --md-comp-progress-circular-size: 36px;
5632
5781
  }
5633
- .active .circle-clipper.right .circle {
5634
- /* duration: ARCTIME */
5635
- animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
5782
+ .preloader.big {
5783
+ --md-comp-progress-circular-size: 64px;
5636
5784
  }
5637
- @keyframes left-spin {
5638
- from {
5639
- transform: rotate(130deg);
5640
- }
5641
- 50% {
5642
- transform: rotate(-5deg);
5643
- }
5644
- to {
5645
- transform: rotate(130deg);
5646
- }
5785
+ .preloader.determinate {
5786
+ animation: none;
5787
+ background: conic-gradient(from 0turn, var(--md-comp-progress-indicator) 0 var(--md-comp-progress-value, 0%), color-mix(in oklab, var(--md-comp-progress-indicator) 20%, transparent) var(--md-comp-progress-value, 0%));
5647
5788
  }
5648
- @keyframes right-spin {
5649
- from {
5650
- transform: rotate(-130deg);
5651
- }
5652
- 50% {
5653
- transform: rotate(5deg);
5654
- }
5789
+ @keyframes preloader-rotate {
5655
5790
  to {
5656
- transform: rotate(-130deg);
5791
+ transform: rotate(1turn);
5657
5792
  }
5658
5793
  }
5659
- #spinnerContainer.cooldown {
5660
- /* duration: SHRINK_TIME */
5661
- animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
5662
- }
5663
- @keyframes fade-out {
5664
- from {
5665
- opacity: 1;
5794
+ @media (prefers-reduced-motion: reduce) {
5795
+ .progress > .indeterminate,
5796
+ progress.progress:indeterminate,
5797
+ .progress:not(:is(progress)):not(:has(> .determinate, > .indeterminate)):not([style*="--md-comp-progress-value"]),
5798
+ .preloader {
5799
+ animation: none;
5666
5800
  }
5667
- to {
5668
- opacity: 0;
5801
+ .preloader {
5802
+ transform: none;
5669
5803
  }
5670
5804
  }
5671
5805
  .slider {
@@ -5673,6 +5807,9 @@
5673
5807
  height: 400px;
5674
5808
  width: 100%;
5675
5809
  }
5810
+ .slider:not(.fullscreen) .slides, .slider:not(.fullscreen) .slides li {
5811
+ border-radius: 12px;
5812
+ }
5676
5813
  .slider.fullscreen {
5677
5814
  height: 100%;
5678
5815
  width: 100%;
@@ -5771,163 +5908,285 @@
5771
5908
  background-color: var(--md-sys-color-primary);
5772
5909
  }
5773
5910
  .carousel {
5774
- --carousel-height: 400px;
5911
+ --md-comp-carousel-height: 400px;
5912
+ --md-comp-carousel-shape: 12px;
5913
+ --md-comp-carousel-gap: 0px;
5775
5914
  overflow: hidden;
5776
5915
  position: relative;
5777
5916
  width: 100%;
5778
- height: var(--carousel-height);
5779
- perspective: 500px;
5780
- transform-style: preserve-3d;
5781
- transform-origin: 0% 50%;
5917
+ height: var(--carousel-height, var(--md-comp-carousel-height));
5918
+ border-radius: var(--md-comp-carousel-shape);
5782
5919
  }
5783
- .carousel.carousel-slider {
5784
- top: 0;
5785
- left: 0;
5920
+ .carousel .carousel-item > img,
5921
+ .carousel .carousel-item > video {
5922
+ display: block;
5923
+ width: 100%;
5924
+ height: 100%;
5925
+ object-fit: cover;
5786
5926
  }
5787
- .carousel.carousel-slider .carousel-fixed-item {
5927
+ .carousel .indicators {
5928
+ display: flex;
5929
+ justify-content: center;
5930
+ align-items: center;
5931
+ gap: 8px;
5932
+ list-style: none;
5788
5933
  position: absolute;
5789
- left: 0;
5790
- right: 0;
5791
- bottom: 20px;
5792
- z-index: 1;
5934
+ inset: auto 0 0;
5935
+ z-index: 2;
5936
+ margin: 0;
5937
+ padding: 16px 0;
5938
+ border: 0;
5939
+ background: none;
5793
5940
  }
5794
- .carousel.carousel-slider .carousel-fixed-item.with-indicators {
5795
- bottom: 68px;
5941
+ .carousel .indicators .indicator-item {
5942
+ appearance: none;
5943
+ box-sizing: border-box;
5944
+ display: block;
5945
+ width: 8px;
5946
+ height: 8px;
5947
+ margin: 0;
5948
+ padding: 0;
5949
+ border: 0;
5950
+ border-radius: 50%;
5951
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 45%, transparent);
5952
+ cursor: pointer;
5953
+ transition: background-color 0.2s ease-out;
5796
5954
  }
5797
- .carousel.carousel-slider .carousel-item {
5798
- width: 100%;
5799
- height: 100%;
5800
- min-height: var(--carousel-height);
5801
- position: absolute;
5802
- top: 0;
5803
- left: 0;
5955
+ .carousel .indicators .indicator-item:is(.active, [aria-current=true]) {
5956
+ background-color: var(--md-sys-color-primary);
5804
5957
  }
5805
- .carousel.carousel-slider .carousel-item h2 {
5806
- font-size: 24px;
5807
- font-weight: 500;
5808
- line-height: 32px;
5958
+ .carousel .indicators .indicator-item:focus-visible {
5959
+ outline: 3px solid var(--md-sys-color-secondary);
5960
+ outline-offset: 2px;
5809
5961
  }
5810
- .carousel.carousel-slider .carousel-item p {
5811
- font-size: 15px;
5962
+ .carousel:not(.flat) {
5963
+ perspective: 500px;
5964
+ transform-style: preserve-3d;
5965
+ transform-origin: 0% 50%;
5966
+ touch-action: pan-y;
5812
5967
  }
5813
- .carousel .carousel-item {
5968
+ .carousel:not(.flat) > .carousel-item {
5814
5969
  visibility: hidden;
5815
- width: calc(var(--carousel-height) * 0.5);
5816
- height: calc(var(--carousel-height) * 0.5);
5817
5970
  position: absolute;
5818
5971
  top: 0;
5819
5972
  left: 0;
5973
+ width: calc(var(--carousel-height, var(--md-comp-carousel-height)) * 0.5);
5974
+ height: calc(var(--carousel-height, var(--md-comp-carousel-height)) * 0.5);
5975
+ overflow: hidden;
5976
+ border-radius: var(--md-comp-carousel-shape);
5977
+ }
5978
+ .carousel.flat {
5979
+ overflow: hidden;
5980
+ perspective: none;
5981
+ transform: none;
5820
5982
  }
5821
- .carousel .carousel-item > img {
5983
+ .carousel.flat > .carousel-track {
5984
+ display: flex;
5985
+ gap: var(--md-comp-carousel-gap);
5986
+ box-sizing: border-box;
5822
5987
  width: 100%;
5988
+ height: 100%;
5989
+ overflow-x: auto;
5990
+ overflow-y: hidden;
5991
+ scroll-snap-type: x mandatory;
5992
+ scroll-behavior: smooth;
5993
+ touch-action: pan-x;
5994
+ scrollbar-width: none;
5823
5995
  }
5824
- .carousel .indicators {
5825
- padding-left: 0;
5826
- list-style-type: none;
5827
- position: absolute;
5828
- text-align: center;
5829
- left: 0;
5830
- right: 0;
5831
- bottom: 0;
5832
- margin: 0;
5996
+ .carousel.flat > .carousel-track::-webkit-scrollbar {
5997
+ display: none;
5833
5998
  }
5834
- .carousel .indicators .indicator-item {
5835
- display: inline-block;
5999
+ .carousel.flat .carousel-track > .carousel-item {
6000
+ flex: 0 0 100%;
6001
+ width: 100%;
6002
+ height: 100%;
6003
+ min-height: 0;
5836
6004
  position: relative;
5837
- cursor: pointer;
5838
- height: 8px;
5839
- width: 8px;
5840
- margin: 24px 4px;
5841
- background-color: rgba(255, 255, 255, 0.45);
5842
- transition: background-color 0.3s;
5843
- border-radius: 50%;
6005
+ visibility: visible;
6006
+ scroll-snap-align: start;
6007
+ scroll-snap-stop: always;
5844
6008
  }
5845
- .carousel .indicators .indicator-item.active {
5846
- background-color: var(--md-ref-palette-primary100);
6009
+ .carousel.flat .carousel-fixed-item {
6010
+ position: absolute;
6011
+ inset: auto 0 20px;
6012
+ z-index: 1;
6013
+ }
6014
+ .carousel.flat .carousel-fixed-item.with-indicators {
6015
+ bottom: 68px;
6016
+ }
6017
+ .carousel.flat .carousel-item h2 {
6018
+ 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;
6019
+ font-size: var(--md-sys-typescale-headline-small-font-size);
6020
+ font-weight: var(--md-sys-typescale-headline-small-font-weight);
6021
+ line-height: var(--md-sys-typescale-headline-small-line-height);
6022
+ letter-spacing: var(--md-sys-typescale-headline-small-letter-spacing);
6023
+ margin: 0 0 8px;
6024
+ }
6025
+ .carousel.flat .carousel-item p {
6026
+ 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;
6027
+ font-size: var(--md-sys-typescale-body-medium-font-size);
6028
+ font-weight: var(--md-sys-typescale-body-medium-font-weight);
6029
+ line-height: var(--md-sys-typescale-body-medium-line-height);
6030
+ letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
6031
+ margin: 0;
6032
+ }
6033
+ @media (prefers-reduced-motion: reduce) {
6034
+ .carousel.flat > .carousel-track {
6035
+ scroll-behavior: auto;
6036
+ }
5847
6037
  }
5848
6038
  .carousel.scrolling .carousel-item .lightboxed,
5849
- .carousel .carousel-item:not(.active) .lightboxed {
6039
+ .carousel-item:not(.active) .lightboxed {
5850
6040
  pointer-events: none;
5851
6041
  }
5852
6042
  .tap-target-wrapper {
5853
- width: 800px;
5854
- height: 800px;
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;
5855
6053
  position: fixed;
5856
- z-index: 1000;
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);
5857
6066
  visibility: hidden;
5858
- transition: visibility 0s 0.3s;
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;
5859
6070
  }
5860
- .tap-target-wrapper.open {
6071
+ .tap-target-wrapper:is(.open, :popover-open) {
5861
6072
  visibility: visible;
5862
- transition: visibility 0s;
6073
+ pointer-events: none;
6074
+ transition-delay: 0s;
5863
6075
  }
5864
- .tap-target-wrapper.open .tap-target {
6076
+ .tap-target-wrapper:is(.open, :popover-open) .tap-target {
5865
6077
  transform: scale(1);
5866
- opacity: 0.95;
5867
- transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
6078
+ opacity: 1;
5868
6079
  }
5869
- .tap-target-wrapper.open .tap-target-wave::before {
6080
+ .tap-target-wrapper:is(.open, :popover-open) .tap-target-wave::before {
5870
6081
  transform: scale(1);
5871
6082
  }
5872
- .tap-target-wrapper.open .tap-target-wave::after {
6083
+ .tap-target-wrapper:is(.open, :popover-open) .tap-target-wave::after {
5873
6084
  visibility: visible;
5874
6085
  animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
5875
- transition: opacity 0.3s, transform 0.3s, visibility 0s 1s;
5876
6086
  }
5877
6087
  .tap-target {
5878
6088
  position: absolute;
5879
- font-size: 1rem;
5880
- border-radius: 50%;
5881
- background-color: var(--md-sys-color-primary-container);
5882
- color: var(--md-sys-color-primary);
5883
- box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2);
6089
+ inset: 0;
6090
+ display: grid;
6091
+ box-sizing: border-box;
5884
6092
  width: 100%;
5885
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);
5886
6098
  opacity: 0;
5887
6099
  transform: scale(0);
5888
- transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
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);
5889
6107
  }
5890
6108
  .tap-target-content {
5891
6109
  position: relative;
5892
- display: table-cell;
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;
5893
6148
  }
5894
6149
  .tap-target-wave {
5895
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%;
5896
6157
  border-radius: 50%;
5897
- z-index: 10001;
6158
+ pointer-events: none;
5898
6159
  }
5899
6160
  .tap-target-wave::before, .tap-target-wave::after {
5900
6161
  content: "";
5901
- display: block;
5902
6162
  position: absolute;
5903
- width: 100%;
5904
- height: 100%;
6163
+ inset: 0;
6164
+ display: block;
5905
6165
  border-radius: 50%;
5906
6166
  background-color: var(--md-sys-color-surface);
5907
6167
  }
5908
6168
  .tap-target-wave::before {
5909
6169
  transform: scale(0);
5910
- transition: transform 0.3s;
6170
+ transition: transform var(--md-comp-tap-target-duration) var(--md-comp-tap-target-easing);
5911
6171
  }
5912
6172
  .tap-target-wave::after {
5913
6173
  visibility: hidden;
5914
- transition: opacity 0.3s, transform 0.3s, visibility 0s;
5915
6174
  z-index: -1;
5916
6175
  }
5917
6176
  .tap-target-origin {
5918
- top: 50%;
5919
- left: 50%;
5920
- z-index: 10002;
5921
- position: absolute !important;
5922
- transform: translate(-50%, -50%);
5923
- }
5924
- .tap-target-origin:not(.btn), .tap-target-origin:not(.btn):hover {
5925
- background: none;
6177
+ z-index: calc(var(--md-comp-tap-target-z, 1000) + 2);
5926
6178
  }
5927
6179
  @media (width < 601px) {
5928
- .tap-target, .tap-target-wrapper {
5929
- width: 600px;
5930
- height: 600px;
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;
5931
6190
  }
5932
6191
  }
5933
6192
  .pulse {
@@ -5963,13 +6222,6 @@
5963
6222
  transform: scale(1.5);
5964
6223
  }
5965
6224
  }
5966
- /* Modal */
5967
- /*.datepicker-modal {
5968
- max-width: 325px;
5969
- // @removed since v2.2.1-dev regarding Material M3 standards
5970
- min-width: 300px;
5971
- max-height: none;
5972
- }*/
5973
6225
  .datepicker-container {
5974
6226
  display: flex;
5975
6227
  flex-direction: column;
@@ -5986,27 +6238,23 @@
5986
6238
  .datepicker-controls .selects-container {
5987
6239
  display: flex;
5988
6240
  }
5989
- .datepicker-controls .select-wrapper input {
6241
+ .datepicker-controls .field:has(> .hide-select) input {
5990
6242
  height: 49px;
5991
6243
  margin: 4px 0 0 0;
5992
6244
  border-bottom: none;
5993
6245
  border-radius: 4px;
5994
6246
  text-align: center;
5995
6247
  }
5996
- .datepicker-controls .select-wrapper input:focus {
6248
+ .datepicker-controls .field:has(> .hide-select) input:focus {
5997
6249
  border-bottom: none;
5998
6250
  background-color: var(--md-sys-color-primary-container);
5999
6251
  }
6000
- .datepicker-controls .select-wrapper input::selection {
6252
+ .datepicker-controls .field:has(> .hide-select) input::selection {
6001
6253
  background-color: transparent;
6002
6254
  }
6003
- .datepicker-controls .select-wrapper .caret {
6255
+ .datepicker-controls .field:has(> .hide-select) .caret {
6004
6256
  display: none;
6005
6257
  }
6006
- .datepicker-controls .select-dropdown {
6007
- padding: 0;
6008
- vertical-align: middle;
6009
- }
6010
6258
  .datepicker-controls .select-year input,
6011
6259
  .datepicker-controls .select-month input {
6012
6260
  background-color: transparent;
@@ -6410,100 +6658,225 @@
6410
6658
  margin-top: 1.6rem;
6411
6659
  }
6412
6660
  }
6661
+ nav:has(> ol):not(.pagination),
6662
+ nav:has(> .breadcrumb),
6413
6663
  .breadcrumb-wrapper {
6664
+ --md-comp-breadcrumb-label-color: var(--md-sys-color-on-surface-variant);
6665
+ --md-comp-breadcrumb-current-color: var(--md-sys-color-on-surface);
6666
+ --md-comp-breadcrumb-separator: "/";
6667
+ --md-comp-breadcrumb-gap: 8px;
6668
+ display: flex;
6669
+ flex-wrap: wrap;
6670
+ align-items: center;
6671
+ margin: 0;
6672
+ padding: 0;
6673
+ color: var(--md-comp-breadcrumb-label-color);
6674
+ 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;
6675
+ font-size: var(--md-sys-typescale-body-small-font-size);
6676
+ font-weight: var(--md-sys-typescale-body-small-font-weight);
6677
+ line-height: var(--md-sys-typescale-body-small-line-height);
6678
+ letter-spacing: var(--md-sys-typescale-body-small-letter-spacing);
6679
+ }
6680
+ nav:has(> ol):not(.pagination).nowrap,
6681
+ nav:has(> .breadcrumb).nowrap,
6682
+ .breadcrumb-wrapper.nowrap {
6683
+ flex-wrap: nowrap;
6684
+ overflow-x: auto;
6685
+ scrollbar-width: none;
6686
+ }
6687
+ nav:has(> ol):not(.pagination).nowrap::-webkit-scrollbar,
6688
+ nav:has(> .breadcrumb).nowrap::-webkit-scrollbar,
6689
+ .breadcrumb-wrapper.nowrap::-webkit-scrollbar {
6690
+ display: none;
6691
+ }
6692
+ nav:has(> ol):not(.pagination) > ol,
6693
+ nav:has(> .breadcrumb) > ol,
6694
+ .breadcrumb-wrapper > ol {
6414
6695
  display: flex;
6696
+ flex-wrap: inherit;
6415
6697
  align-items: center;
6698
+ list-style: none;
6699
+ min-width: 0;
6700
+ margin: 0;
6701
+ padding: 0;
6416
6702
  }
6417
- .breadcrumb {
6703
+ nav:has(> ol):not(.pagination) > ol > li,
6704
+ nav:has(> .breadcrumb) > ol > li,
6705
+ .breadcrumb-wrapper > ol > li {
6418
6706
  display: inline-flex;
6419
6707
  align-items: center;
6708
+ min-width: 0;
6420
6709
  }
6421
- .breadcrumb i,
6422
- .breadcrumb i.material-icons, .breadcrumb i.material-symbols-outlined,
6423
- .breadcrumb i.material-symbols-rounded, .breadcrumb i.material-symbols-sharp, .breadcrumb:before {
6424
- font-weight: normal;
6425
- font-style: normal;
6426
- font-size: 24px;
6710
+ nav:has(> ol):not(.pagination) > ol > li:has(> [aria-current=page]),
6711
+ nav:has(> .breadcrumb) > ol > li:has(> [aria-current=page]),
6712
+ .breadcrumb-wrapper > ol > li:has(> [aria-current=page]) {
6713
+ flex-shrink: 0;
6714
+ }
6715
+ nav:has(> ol):not(.pagination) > ol > li + li::before,
6716
+ nav:has(> .breadcrumb) > ol > li + li::before,
6717
+ .breadcrumb-wrapper > ol > li + li::before {
6718
+ content: var(--md-comp-breadcrumb-separator);
6719
+ margin-inline: var(--md-comp-breadcrumb-gap);
6720
+ color: var(--md-comp-breadcrumb-label-color);
6721
+ }
6722
+ nav:has(> ol):not(.pagination) > .breadcrumb + .breadcrumb::before,
6723
+ nav:has(> .breadcrumb) > .breadcrumb + .breadcrumb::before,
6724
+ .breadcrumb-wrapper > .breadcrumb + .breadcrumb::before {
6725
+ content: var(--md-comp-breadcrumb-separator);
6726
+ margin-inline: var(--md-comp-breadcrumb-gap);
6727
+ color: var(--md-comp-breadcrumb-label-color);
6728
+ }
6729
+ nav:has(> ol):not(.pagination) :is(a, .breadcrumb),
6730
+ nav:has(> .breadcrumb) :is(a, .breadcrumb),
6731
+ .breadcrumb-wrapper :is(a, .breadcrumb) {
6732
+ display: inline-flex;
6733
+ align-items: center;
6734
+ min-height: 32px;
6735
+ color: var(--md-comp-breadcrumb-label-color);
6736
+ text-decoration: none;
6427
6737
  }
6428
- .breadcrumb:before {
6429
- content: "\e5cc";
6430
- font-family: "Material Symbols Outlined", "Material Symbols Rounded", "Material Symbols Sharp", "Material Icons";
6738
+ nav:has(> ol):not(.pagination) :is(a, .breadcrumb):focus-visible,
6739
+ nav:has(> .breadcrumb) :is(a, .breadcrumb):focus-visible,
6740
+ .breadcrumb-wrapper :is(a, .breadcrumb):focus-visible {
6741
+ outline: 3px solid var(--md-sys-color-secondary);
6742
+ outline-offset: 2px;
6431
6743
  }
6432
- .breadcrumb:first-child:before {
6433
- visibility: hidden;
6744
+ nav:has(> ol):not(.pagination) :is(a, .breadcrumb):hover,
6745
+ nav:has(> .breadcrumb) :is(a, .breadcrumb):hover,
6746
+ .breadcrumb-wrapper :is(a, .breadcrumb):hover {
6747
+ color: var(--md-comp-breadcrumb-current-color);
6748
+ }
6749
+ nav:has(> ol):not(.pagination) [aria-current=page],
6750
+ nav:has(> .breadcrumb) [aria-current=page],
6751
+ .breadcrumb-wrapper [aria-current=page] {
6752
+ color: var(--md-comp-breadcrumb-current-color);
6753
+ }
6754
+ nav:has(> ol):not(.pagination) i,
6755
+ nav:has(> .breadcrumb) i,
6756
+ .breadcrumb-wrapper i {
6757
+ font-size: 1.125em;
6758
+ margin-inline-end: 4px;
6759
+ }
6760
+ header:has(> nav) > nav:has(> ol):not(.pagination),
6761
+ header:has(> nav) > nav:has(> .breadcrumb) {
6762
+ --md-comp-breadcrumb-label-color: inherit;
6763
+ --md-comp-breadcrumb-current-color: inherit;
6764
+ }
6765
+ .pagination {
6766
+ --md-comp-pagination-size: 2rem;
6767
+ --md-comp-pagination-shape: 2rem;
6768
+ --md-comp-pagination-gap: 0px;
6769
+ --md-comp-pagination-padding: 0.66rem;
6770
+ --md-comp-pagination-icon-size: 2rem;
6771
+ --md-comp-pagination-selected-color: var(--md-sys-color-primary);
6772
+ --md-comp-pagination-selected-on-color: var(--md-sys-color-on-primary);
6773
+ box-sizing: border-box;
6774
+ margin: 0;
6775
+ padding: 0;
6776
+ color: var(--md-sys-color-on-surface);
6777
+ font-size: 1.2rem;
6778
+ line-height: 1;
6779
+ }
6780
+ .pagination,
6781
+ .pagination > :is(ul, ol) {
6782
+ display: flex;
6783
+ flex-wrap: wrap;
6784
+ align-items: center;
6785
+ gap: var(--md-comp-pagination-gap);
6786
+ list-style: none;
6787
+ margin: 0;
6788
+ padding: 0;
6789
+ }
6790
+ .pagination.nowrap, .pagination.nowrap > :is(ul, ol) {
6791
+ flex-wrap: nowrap;
6792
+ min-width: 0;
6793
+ overflow-x: auto;
6794
+ scrollbar-width: none;
6795
+ }
6796
+ .pagination.nowrap::-webkit-scrollbar, .pagination.nowrap > :is(ul, ol)::-webkit-scrollbar {
6797
+ display: none;
6434
6798
  }
6435
6799
  .pagination li {
6436
- display: inline-block;
6437
- vertical-align: top;
6800
+ display: flex;
6801
+ flex-shrink: 0;
6802
+ margin: 0;
6803
+ padding: 0;
6438
6804
  }
6439
- .pagination li a {
6805
+ .pagination :is(a, button) {
6440
6806
  box-sizing: border-box;
6441
6807
  display: inline-flex;
6442
6808
  align-items: center;
6443
6809
  justify-content: center;
6444
- gap: var(--md-comp-filled-button-icon-label-space, 8px);
6445
- height: 2rem;
6446
- padding-left: 0.66rem;
6447
- padding-right: 0.66rem;
6448
- border: none;
6449
- border-radius: var(--md-comp-filled-button-container-shape, 20px);
6450
- font-family: var(--md-sys-typescale-label-large-font-family-name);
6451
- font-size: 1.2rem;
6452
- font-weight: var(--md-sys-typescale-label-large-font-weight);
6453
- line-height: var(--md-sys-typescale-label-large-line-height);
6454
- letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);
6810
+ gap: 4px;
6811
+ min-width: var(--md-comp-pagination-size);
6812
+ height: var(--md-comp-pagination-size);
6813
+ padding: 0 var(--md-comp-pagination-padding);
6814
+ border: 0;
6815
+ border-radius: var(--md-comp-pagination-shape);
6816
+ background: transparent;
6817
+ color: inherit;
6818
+ font: inherit;
6819
+ line-height: inherit;
6455
6820
  text-decoration: none;
6456
- white-space: nowrap;
6457
6821
  cursor: pointer;
6458
- outline: 0;
6459
- user-select: none;
6460
- appearance: none;
6461
6822
  -webkit-tap-highlight-color: transparent;
6462
- transition: background-color 0.2s ease-out, box-shadow 0.2s ease-out;
6463
- }
6464
- .pagination li.active a {
6465
- color: var(--md-comp-filled-button-label-text-color, var(--md-sys-color-on-primary));
6466
- background-color: var(--md-comp-filled-button-container-color, var(--md-sys-color-primary));
6467
- }
6468
- .pagination li.active a:hover {
6469
- background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 8%, var(--md-sys-color-primary));
6823
+ transition: background-color 0.2s ease-out;
6470
6824
  }
6471
- .pagination li.active a:active, .pagination li.active a:focus {
6472
- background-color: color-mix(in oklab, var(--md-sys-color-on-primary) 10%, var(--md-sys-color-primary));
6473
- }
6474
- .pagination li.active a:focus-visible {
6825
+ .pagination :is(a, button):focus-visible {
6475
6826
  outline: 3px solid var(--md-sys-color-secondary);
6476
6827
  outline-offset: 2px;
6477
6828
  }
6478
- .pagination li.disabled a {
6479
- box-shadow: none !important;
6829
+ .pagination :is(a, button):hover {
6830
+ background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
6831
+ }
6832
+ .pagination :is(a, button):has(> span) {
6833
+ width: auto;
6834
+ }
6835
+ .pagination :is(a, button) > i {
6836
+ font-size: var(--md-comp-pagination-icon-size);
6837
+ width: var(--md-comp-pagination-icon-size);
6838
+ height: var(--md-comp-pagination-icon-size);
6839
+ line-height: 1;
6840
+ }
6841
+ .pagination :is(a, button)[aria-current=page],
6842
+ .pagination .active > :is(a, button),
6843
+ .pagination li:has(> [aria-current=page]) > :is(a, button) {
6844
+ background-color: var(--md-comp-pagination-selected-color);
6845
+ color: var(--md-comp-pagination-selected-on-color);
6846
+ }
6847
+ .pagination :is(a, button)[aria-current=page]:hover,
6848
+ .pagination .active > :is(a, button):hover,
6849
+ .pagination li:has(> [aria-current=page]) > :is(a, button):hover {
6850
+ background-color: color-mix(in oklab, var(--md-comp-pagination-selected-on-color) 8%, var(--md-comp-pagination-selected-color));
6851
+ }
6852
+ .pagination :is(a, button)[aria-disabled=true],
6853
+ .pagination .disabled > :is(a, button) {
6480
6854
  color: color-mix(in oklab, var(--md-sys-color-on-surface) 38%, transparent);
6481
- background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 12%, transparent);
6482
- border-color: transparent;
6855
+ background-color: transparent;
6483
6856
  pointer-events: none;
6484
- box-shadow: none;
6485
6857
  cursor: default;
6486
6858
  }
6487
- .pagination li i {
6488
- font-size: 2rem;
6859
+ .pagination li > span {
6860
+ box-sizing: border-box;
6861
+ display: inline-flex;
6862
+ align-items: center;
6863
+ justify-content: center;
6864
+ min-width: var(--md-comp-pagination-size);
6865
+ height: var(--md-comp-pagination-size);
6866
+ color: var(--md-sys-color-on-surface-variant);
6489
6867
  }
6490
- .pagination li.pages ul li {
6491
- display: inline-block;
6492
- float: none;
6868
+ .pagination .pages {
6869
+ min-width: 0;
6493
6870
  }
6494
- @media (width < 993px) {
6495
- .pagination {
6496
- width: 100%;
6497
- }
6498
- .pagination li.prev,
6499
- .pagination li.next {
6500
- width: 10%;
6501
- }
6502
- .pagination li.pages {
6503
- width: 80%;
6504
- overflow: hidden;
6505
- white-space: nowrap;
6506
- }
6871
+ .pagination .pages > :is(ul, ol) {
6872
+ display: flex;
6873
+ flex-wrap: inherit;
6874
+ align-items: center;
6875
+ gap: var(--md-comp-pagination-gap);
6876
+ list-style: none;
6877
+ min-width: 0;
6878
+ margin: 0;
6879
+ padding: 0;
6507
6880
  }
6508
6881
  }
6509
6882
  @layer utilities {
@@ -6819,27 +7192,6 @@
6819
7192
  .capitalize {
6820
7193
  text-transform: capitalize;
6821
7194
  }
6822
- .large-text {
6823
- 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;
6824
- font-size: var(--md-sys-typescale-body-large-font-size);
6825
- font-weight: var(--md-sys-typescale-body-large-font-weight);
6826
- line-height: var(--md-sys-typescale-body-large-line-height);
6827
- letter-spacing: var(--md-sys-typescale-body-large-letter-spacing);
6828
- }
6829
- .medium-text {
6830
- 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;
6831
- font-size: var(--md-sys-typescale-body-medium-font-size);
6832
- font-weight: var(--md-sys-typescale-body-medium-font-weight);
6833
- line-height: var(--md-sys-typescale-body-medium-line-height);
6834
- letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
6835
- }
6836
- .small-text {
6837
- 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;
6838
- font-size: var(--md-sys-typescale-body-small-font-size);
6839
- font-weight: var(--md-sys-typescale-body-small-font-weight);
6840
- line-height: var(--md-sys-typescale-body-small-line-height);
6841
- letter-spacing: var(--md-sys-typescale-body-small-letter-spacing);
6842
- }
6843
7195
  .z-depth-0 {
6844
7196
  box-shadow: none !important;
6845
7197
  }
@@ -7239,7 +7591,7 @@
7239
7591
  display: none !important;
7240
7592
  }
7241
7593
  @media (width < 601px) {
7242
- .hide-on-small-only, .hide-on-small-and-down {
7594
+ .hide-on-small-only {
7243
7595
  display: none !important;
7244
7596
  }
7245
7597
  }
@@ -7307,16 +7659,13 @@
7307
7659
  display: flex;
7308
7660
  align-items: center;
7309
7661
  }
7310
- .clearfix {
7311
- clear: both;
7312
- }
7313
7662
  .left-align {
7314
7663
  text-align: left;
7315
7664
  }
7316
7665
  .right-align {
7317
7666
  text-align: right;
7318
7667
  }
7319
- .center, .center-align {
7668
+ .center-align {
7320
7669
  text-align: center;
7321
7670
  }
7322
7671
  .left {