@mond-design-system/react 2.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -116,17 +116,25 @@
116
116
  flex: none;
117
117
  color: inherit;
118
118
  }
119
+ .mds-Icon__size-slot {
120
+ width: var(--mds-icon-slot, var(--mds-icon-md));
121
+ height: var(--mds-icon-slot, var(--mds-icon-md));
122
+ font-size: var(--mds-icon-slot, var(--mds-icon-md));
123
+ }
119
124
  .mds-Icon__size-sm {
120
125
  width: var(--mds-icon-sm);
121
126
  height: var(--mds-icon-sm);
127
+ font-size: var(--mds-icon-sm);
122
128
  }
123
129
  .mds-Icon__size-md {
124
130
  width: var(--mds-icon-md);
125
131
  height: var(--mds-icon-md);
132
+ font-size: var(--mds-icon-md);
126
133
  }
127
134
  .mds-Icon__size-lg {
128
135
  width: var(--mds-icon-lg);
129
136
  height: var(--mds-icon-lg);
137
+ font-size: var(--mds-icon-lg);
130
138
  }
131
139
 
132
140
  /* mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Button/Button.module.css?mds-scoped */
@@ -589,6 +597,16 @@ button.mds-Link__link {
589
597
  .mds-CountButton__glyph {
590
598
  display: inline-flex;
591
599
  align-items: center;
600
+ justify-content: center;
601
+ flex: none;
602
+ --mds-icon-slot: var(--mds-icon-md);
603
+ width: var(--mds-icon-slot);
604
+ height: var(--mds-icon-slot);
605
+ font-size: var(--mds-icon-slot);
606
+ }
607
+ .mds-CountButton__glyph > svg {
608
+ width: 100%;
609
+ height: 100%;
592
610
  }
593
611
 
594
612
  /* mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Field/Field.module.css?mds-scoped */
@@ -686,6 +704,7 @@ button.mds-Link__link {
686
704
  .mds-Overlay__variant-sheet {
687
705
  z-index: var(--mds-z-sheet);
688
706
  align-items: flex-end;
707
+ justify-content: center;
689
708
  }
690
709
 
691
710
  /* mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Sheet/Sheet.module.css?mds-scoped */
@@ -693,6 +712,7 @@ button.mds-Link__link {
693
712
  display: flex;
694
713
  flex-direction: column;
695
714
  width: 100%;
715
+ max-width: var(--mds-frame-width);
696
716
  max-height: 85%;
697
717
  padding-bottom: var(--mds-safe-bottom);
698
718
  background: var(--mds-surface-raised);
@@ -1917,10 +1937,17 @@ button.mds-Link__link {
1917
1937
  z-index: var(--mds-z-tabbar);
1918
1938
  display: flex;
1919
1939
  align-items: stretch;
1920
- height: var(--mds-tabbar-h);
1940
+ margin-top: calc(-1 * var(--mds-tabbar-action-lift));
1941
+ height: calc(var(--mds-tabbar-h) + var(--mds-tabbar-action-lift) + var(--mds-safe-bottom));
1942
+ padding: var(--mds-tabbar-action-lift) var(--mds-tabbar-pad-x) calc(var(--mds-tabbar-seat) + var(--mds-safe-bottom));
1943
+ }
1944
+ .mds-TabBar__bar::before {
1945
+ content: "";
1946
+ position: absolute;
1947
+ z-index: -1;
1948
+ inset: var(--mds-tabbar-action-lift) 0 0;
1921
1949
  background: var(--mds-surface-page);
1922
1950
  border-top: var(--mds-border-width) solid var(--mds-border-subtle);
1923
- padding-bottom: var(--mds-safe-bottom);
1924
1951
  }
1925
1952
  .mds-TabBar__item {
1926
1953
  flex: 1;
@@ -1934,7 +1961,7 @@ button.mds-Link__link {
1934
1961
  border: none;
1935
1962
  background: none;
1936
1963
  cursor: pointer;
1937
- font: var(--mds-type-meta);
1964
+ font: var(--mds-type-tab);
1938
1965
  color: var(--mds-text-muted);
1939
1966
  text-decoration: none;
1940
1967
  transition: color var(--mds-transition-control);
@@ -1949,6 +1976,14 @@ button.mds-Link__link {
1949
1976
  .mds-TabBar__icon {
1950
1977
  position: relative;
1951
1978
  display: inline-flex;
1979
+ --mds-icon-slot: var(--mds-tabbar-icon);
1980
+ width: var(--mds-icon-slot);
1981
+ height: var(--mds-icon-slot);
1982
+ font-size: var(--mds-icon-slot);
1983
+ }
1984
+ .mds-TabBar__icon > svg {
1985
+ width: 100%;
1986
+ height: 100%;
1952
1987
  }
1953
1988
  .mds-TabBar__badge {
1954
1989
  position: absolute;
@@ -1961,7 +1996,10 @@ button.mds-Link__link {
1961
1996
  box-shadow: 0 0 0 var(--mds-dot-ring) var(--mds-surface-page);
1962
1997
  }
1963
1998
  .mds-TabBar__label {
1964
- line-height: 1;
1999
+ max-width: 100%;
2000
+ overflow: hidden;
2001
+ text-overflow: ellipsis;
2002
+ white-space: nowrap;
1965
2003
  }
1966
2004
  .mds-TabBar__action {
1967
2005
  flex: none;
@@ -1 +1 @@
1
- {"version":3,"sources":["mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Text/Text.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Heading/Heading.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Spinner/Spinner.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Icon/Icon.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Button/Button.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Link/Link.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Avatar/Avatar.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/AvatarGroup/AvatarGroup.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Badge/Badge.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Chip/Chip.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Chip/ChipGroup.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Chip/ChipBar.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/CountButton/CountButton.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Field/Field.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Select/Select.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Overlay/Overlay.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Sheet/Sheet.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/DateTimePicker/DateTimePicker.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Tag/Tag.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Divider/Divider.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Skeleton/Skeleton.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/ProgressBar/ProgressBar.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Input/Input.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/PasswordInput/PasswordInput.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Textarea/Textarea.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Checkbox/Checkbox.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Radio/Radio.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Switch/Switch.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/SegmentedControl/SegmentedControl.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/SearchField/SearchField.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/List/List.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/EmptyState/EmptyState.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Tabs/Tabs.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Toast/Toast.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Stack/Stack.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Inline/Inline.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Container/Container.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Card/Card.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Modal/Modal.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/ConfirmDialog/ConfirmDialog.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Screen/Screen.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/AppBar/AppBar.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/TabBar/TabBar.module.css?mds-scoped"],"sourcesContent":[".mds-Text__text {\n margin: 0;\n}\n\n/* Type roles — the core shorthands. */\n.mds-Text__variant-body { font: var(--mds-type-body); }\n.mds-Text__variant-label { font: var(--mds-type-label); }\n.mds-Text__variant-note { font: var(--mds-type-note); }\n.mds-Text__variant-meta { font: var(--mds-type-meta); }\n.mds-Text__variant-eyebrow {\n font: var(--mds-type-eyebrow);\n letter-spacing: var(--mds-tracking-eyebrow);\n text-transform: uppercase;\n}\n\n/* Tones — semantic aliases only. */\n.mds-Text__tone-primary { color: var(--mds-text-primary); }\n.mds-Text__tone-secondary { color: var(--mds-text-secondary); }\n.mds-Text__tone-muted { color: var(--mds-text-muted); }\n.mds-Text__tone-inverse { color: var(--mds-text-inverse); }\n.mds-Text__tone-accent { color: var(--mds-text-accent); }\n.mds-Text__tone-on-media { color: var(--mds-text-on-media); }\n.mds-Text__tone-danger { color: var(--mds-status-danger); }\n.mds-Text__tone-warning { color: var(--mds-status-warning); }\n.mds-Text__tone-success { color: var(--mds-status-success); }\n\n.mds-Text__align-left { text-align: left; }\n.mds-Text__align-center { text-align: center; }\n.mds-Text__align-right { text-align: right; }\n\n.mds-Text__truncate {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n",".mds-Heading__heading {\n margin: 0;\n}\n\n.mds-Heading__variant-display {\n font: var(--mds-type-display);\n letter-spacing: var(--mds-tracking-display);\n}\n.mds-Heading__variant-title { font: var(--mds-type-title); }\n.mds-Heading__variant-subtitle { font: var(--mds-type-subtitle); }\n\n.mds-Heading__tone-primary { color: var(--mds-text-primary); }\n.mds-Heading__tone-secondary { color: var(--mds-text-secondary); }\n.mds-Heading__tone-inverse { color: var(--mds-text-inverse); }\n.mds-Heading__tone-accent { color: var(--mds-text-accent); }\n.mds-Heading__tone-on-media { color: var(--mds-text-on-media); }\n","@keyframes mds-Spinner__spin {\n to { transform: rotate(360deg); }\n}\n\n.mds-Spinner__spinner {\n display: inline-block;\n flex: none;\n width: var(--spinner-size);\n height: var(--spinner-size);\n border: var(--spinner-border) solid var(--mds-border-strong);\n border-top-color: currentcolor;\n border-radius: var(--mds-radius-pill);\n animation: mds-Spinner__spin 0.7s linear infinite;\n}\n",".mds-Icon__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n color: inherit;\n}\n\n.mds-Icon__size-sm { width: var(--mds-icon-sm); height: var(--mds-icon-sm); }\n.mds-Icon__size-md { width: var(--mds-icon-md); height: var(--mds-icon-md); }\n.mds-Icon__size-lg { width: var(--mds-icon-lg); height: var(--mds-icon-lg); }\n",".mds-Button__button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--mds-gap-tight);\n /* A button's outline is a drawn stroke, not a hairline — the same weight\n the accent border on a Card gets. Filled variants keep it transparent so\n a row of buttons is one height whether or not it is outlined. */\n border: var(--mds-border-emphasis) solid transparent;\n border-radius: var(--mds-radius-control);\n font-family: var(--mds-font-body);\n font-weight: var(--mds-weight-semibold);\n line-height: 1;\n white-space: nowrap;\n cursor: pointer;\n text-decoration: none;\n transition: background-color var(--mds-transition-control), color var(--mds-transition-control);\n}\n\n/* Sizes — height from the control scale, padding from the space scale, glyph\n from the icon scale. */\n.mds-Button__size-sm {\n height: var(--mds-control-h-sm);\n padding: 0 var(--mds-pad-button-sm);\n font-size: var(--mds-text-button-sm);\n --mds-icon-slot: var(--mds-icon-sm);\n}\n\n.mds-Button__size-md {\n height: var(--mds-control-h-md);\n padding: 0 var(--mds-pad-button-md);\n font-size: var(--mds-text-button-md);\n --mds-icon-slot: var(--mds-icon-md);\n}\n\n.mds-Button__size-lg {\n height: var(--mds-control-h-lg);\n padding: 0 var(--mds-pad-button-lg);\n font-size: var(--mds-text-button-lg);\n --mds-icon-slot: var(--mds-icon-lg);\n}\n\n/* How big the glyph is belongs to the button, not to whoever passed it. The\n spinner replaces the left glyph while busy, so it reads the same step and the\n button keeps its width across the change. An icon set that cannot be sized\n from the outside reads --mds-icon-slot for its own default. */\n.mds-Button__slot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: var(--mds-icon-slot);\n height: var(--mds-icon-slot);\n font-size: var(--mds-icon-slot);\n}\n\n.mds-Button__slot > svg {\n width: 100%;\n height: 100%;\n}\n\n/* Variants */\n.mds-Button__variant-primary {\n background: var(--mds-action-bg);\n color: var(--mds-action-fg);\n}\n\n.mds-Button__variant-primary:hover:not(:disabled) { background: var(--mds-action-bg-hover); }\n.mds-Button__variant-primary:active:not(:disabled) { background: var(--mds-action-bg-active); }\n\n.mds-Button__variant-secondary {\n background: transparent;\n color: var(--mds-button-secondary-fg);\n border-color: var(--mds-button-border);\n}\n\n.mds-Button__variant-ghost {\n background: transparent;\n color: var(--mds-text-primary);\n}\n\n.mds-Button__variant-secondary:hover:not(:disabled),\n.mds-Button__variant-ghost:hover:not(:disabled) {\n background: var(--mds-surface-sunken);\n}\n\n.mds-Button__variant-highlight {\n background: var(--mds-highlight);\n color: var(--mds-highlight-contrast);\n}\n\n.mds-Button__variant-highlight:hover:not(:disabled) { background: var(--mds-highlight-hover); }\n\n.mds-Button__variant-danger {\n background: var(--mds-status-danger);\n color: var(--mds-status-danger-contrast);\n}\n\n.mds-Button__variant-danger:hover:not(:disabled) { filter: brightness(0.94); }\n\n.mds-Button__variant-warning {\n background: var(--mds-status-warning);\n color: var(--mds-status-warning-contrast);\n}\n.mds-Button__variant-warning:hover:not(:disabled) { filter: brightness(0.94); }\n\n/* Unavailable is a color, not a fade — opacity composites unpredictably. */\n.mds-Button__button:disabled {\n background: var(--mds-action-disabled-bg);\n color: var(--mds-action-disabled-fg);\n border-color: transparent;\n cursor: not-allowed;\n}\n\n.mds-Button__fullWidth {\n width: 100%;\n}\n\n/* Icon-only: circle, one glyph, width locked to the control height. */\n.mds-Button__icon-only {\n padding: 0;\n border-radius: var(--mds-radius-pill);\n}\n\n.mds-Button__icon-only.mds-Button__size-sm { width: var(--mds-control-h-sm); }\n.mds-Button__icon-only.mds-Button__size-md { width: var(--mds-control-h-md); }\n.mds-Button__icon-only.mds-Button__size-lg { width: var(--mds-control-h-lg); }\n",".mds-Link__link {\n color: var(--mds-text-accent);\n border-radius: var(--mds-radius-focus); /* focus outline hugs the text */\n transition: color var(--mds-transition-control);\n}\n\n/* `as=\"button\"` renders a native button, which brings its own chrome — strip\n it so the control reads as link text. font: inherit also drops the UA's\n button font, so the size classes below still apply (they are declared\n later, and equal specificity lets order decide). */\nbutton.mds-Link__link {\n border: none;\n background: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n}\n\n.mds-Link__variant-inline {\n text-decoration: underline;\n text-underline-offset: 0.15em;\n}\n\n.mds-Link__variant-standalone {\n text-decoration: none;\n font-weight: var(--mds-weight-medium);\n}\n\n.mds-Link__link:hover {\n color: var(--mds-accent-hover);\n}\n\n/* Plain rides its context: same color and weight as the surrounding text,\n the hover underline is the only tell. Sits after .link:hover — equal\n specificity, so order decides who wins the hover color. */\n.mds-Link__variant-plain {\n color: inherit;\n font-weight: inherit;\n text-decoration: none;\n}\n\n.mds-Link__variant-plain:hover {\n color: inherit;\n text-decoration: underline;\n text-underline-offset: 0.15em;\n}\n\n.mds-Link__size-xs { font-size: var(--mds-text-xs); }\n.mds-Link__size-sm { font-size: var(--mds-text-sm); }\n.mds-Link__size-base { font-size: var(--mds-text-base); }\n.mds-Link__size-lg { font-size: var(--mds-text-lg); }\n.mds-Link__size-xl { font-size: var(--mds-text-xl); }\n",".mds-Avatar__avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n overflow: hidden;\n border-radius: var(--mds-radius-avatar);\n background: var(--mds-surface-sunken);\n color: var(--mds-text-secondary);\n /* Initials are display type, not body copy — a brand with a distinct\n display face wants to see it here, at the size the circle allows. */\n font-family: var(--mds-font-display);\n font-weight: var(--mds-weight-medium);\n user-select: none;\n}\n\n.mds-Avatar__size-xs { width: var(--mds-avatar-xs); height: var(--mds-avatar-xs); font-size: var(--mds-avatar-text-xs); }\n.mds-Avatar__size-sm { width: var(--mds-avatar-sm); height: var(--mds-avatar-sm); font-size: var(--mds-avatar-text-sm); }\n.mds-Avatar__size-md { width: var(--mds-avatar-md); height: var(--mds-avatar-md); font-size: var(--mds-avatar-text-md); }\n.mds-Avatar__size-lg { width: var(--mds-avatar-lg); height: var(--mds-avatar-lg); font-size: var(--mds-avatar-text-lg); }\n.mds-Avatar__size-xl { width: var(--mds-avatar-xl); height: var(--mds-avatar-xl); font-size: var(--mds-avatar-text-xl); }\n\n/* Identity tints — initials stay --mds-text-primary on every tone; the\n contrast gate holds each pairing in both themes. */\n.mds-Avatar__tone-1 { background: var(--mds-avatar-tone-1); color: var(--mds-text-primary); }\n.mds-Avatar__tone-2 { background: var(--mds-avatar-tone-2); color: var(--mds-text-primary); }\n.mds-Avatar__tone-3 { background: var(--mds-avatar-tone-3); color: var(--mds-text-primary); }\n.mds-Avatar__tone-4 { background: var(--mds-avatar-tone-4); color: var(--mds-text-primary); }\n.mds-Avatar__tone-5 { background: var(--mds-avatar-tone-5); color: var(--mds-text-primary); }\n\n.mds-Avatar__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.mds-Avatar__initials {\n line-height: 1;\n}\n",".mds-AvatarGroup__group {\n display: inline-flex;\n align-items: center;\n}\n\n/* Overlap by a tight step; ring separates neighbours. */\n.mds-AvatarGroup__item {\n display: inline-flex;\n border-radius: var(--mds-radius-avatar);\n box-shadow: 0 0 0 var(--mds-focus-width) var(--mds-surface-card);\n}\n\n.mds-AvatarGroup__item + .mds-AvatarGroup__item {\n margin-left: calc(-1 * var(--mds-avatar-overlap));\n}\n\n.mds-AvatarGroup__overflow {\n align-items: center;\n justify-content: center;\n flex: none;\n background: var(--mds-surface-sunken);\n color: var(--mds-text-secondary);\n font-family: var(--mds-font-body);\n font-weight: var(--mds-weight-semibold);\n user-select: none;\n}\n\n/* One rule per AvatarSize step. Only the overflow chip carries these — the\n avatars inside .item size themselves — so the type here is the count, a\n notch under the initials ratio because it is two or three characters. */\n.mds-AvatarGroup__size-xs { width: var(--mds-avatar-xs); height: var(--mds-avatar-xs); font-size: calc(var(--mds-avatar-xs) * var(--mds-avatar-count-ratio)); }\n.mds-AvatarGroup__size-sm { width: var(--mds-avatar-sm); height: var(--mds-avatar-sm); font-size: calc(var(--mds-avatar-sm) * var(--mds-avatar-count-ratio)); }\n.mds-AvatarGroup__size-md { width: var(--mds-avatar-md); height: var(--mds-avatar-md); font-size: calc(var(--mds-avatar-md) * var(--mds-avatar-count-ratio)); }\n.mds-AvatarGroup__size-lg { width: var(--mds-avatar-lg); height: var(--mds-avatar-lg); font-size: calc(var(--mds-avatar-lg) * var(--mds-avatar-count-ratio)); }\n.mds-AvatarGroup__size-xl { width: var(--mds-avatar-xl); height: var(--mds-avatar-xl); font-size: calc(var(--mds-avatar-xl) * var(--mds-avatar-count-ratio)); }\n",".mds-Badge__badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--mds-pad-badge-x);\n min-width: var(--mds-badge-size);\n height: var(--mds-badge-size);\n border-radius: var(--mds-radius-pill);\n font: var(--mds-type-meta);\n font-weight: var(--mds-weight-semibold);\n white-space: nowrap;\n}\n\n.mds-Badge__tone-neutral {\n background: var(--mds-surface-sunken);\n color: var(--mds-text-primary);\n}\n\n.mds-Badge__tone-accent {\n background: var(--mds-accent-soft);\n color: var(--mds-text-primary);\n}\n\n/* The promoted marker — full highlight fill where the other tones stay soft. */\n.mds-Badge__tone-highlight {\n background: var(--mds-highlight);\n color: var(--mds-highlight-contrast);\n}\n\n.mds-Badge__tone-danger {\n background: var(--mds-status-danger-soft);\n color: var(--mds-text-primary);\n}\n\n.mds-Badge__tone-warning {\n background: var(--mds-status-warning-soft);\n color: var(--mds-text-primary);\n}\n\n.mds-Badge__tone-success {\n background: var(--mds-status-success-soft);\n color: var(--mds-text-primary);\n}\n",".mds-Chip__chip {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-hairline);\n padding: var(--mds-pad-pill-y) var(--mds-pad-pill-x);\n border-radius: var(--mds-radius-chip);\n font: var(--mds-type-pill);\n white-space: nowrap;\n cursor: default;\n transition: var(--mds-transition-control);\n}\n\n/* A chip's glyph is the size of its label. The pill is barely taller than its\n type, so a step off the icon scale does not fit inside one, and the glyph\n the caller passed would otherwise set the chip's height. */\n.mds-Chip__icon {\n --mds-icon-slot: 1em;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: var(--mds-icon-slot);\n height: var(--mds-icon-slot);\n font-size: var(--mds-icon-slot);\n}\n\n.mds-Chip__icon > svg {\n width: 100%;\n height: 100%;\n}\n\n/* Unselected skins. */\n.mds-Chip__variant-soft {\n background: var(--mds-accent-soft);\n border: var(--mds-border-width) solid transparent;\n color: var(--mds-text-accent);\n}\n\n.mds-Chip__variant-outline {\n background: transparent;\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n color: var(--mds-text-secondary);\n}\n\n/* The promoted pill — full highlight fill where soft/outline stay quiet. */\n.mds-Chip__variant-highlight {\n background: var(--mds-highlight);\n border: var(--mds-border-width) solid transparent;\n color: var(--mds-highlight-contrast);\n}\n\n/* After the variants, so a selected chip wins whichever it was built from. */\n.mds-Chip__selected {\n background: var(--mds-accent);\n border-color: transparent;\n color: var(--mds-accent-contrast);\n}\n\n/* Only the button branch gets pointer + hover feedback; a selected chip is\n already at full accent and would only muddy under a filter. */\n.mds-Chip__interactive {\n cursor: pointer;\n}\n\n.mds-Chip__interactive:not(.mds-Chip__selected):hover {\n filter: brightness(0.97);\n}\n\n.mds-Chip__disabled {\n opacity: 0.5;\n}\n",".mds-ChipGroup__group {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n\n.mds-ChipGroup__gap-hairline {\n gap: var(--mds-gap-hairline);\n}\n\n.mds-ChipGroup__gap-tight {\n gap: var(--mds-gap-tight);\n}\n\n.mds-ChipGroup__gap-base {\n gap: var(--mds-gap);\n}\n",".mds-ChipBar__bar {\n display: flex;\n align-items: center;\n overflow-x: auto;\n scrollbar-width: none;\n min-width: 0;\n}\n\n.mds-ChipBar__gap-hairline {\n gap: var(--mds-gap-hairline);\n}\n\n.mds-ChipBar__gap-tight {\n gap: var(--mds-gap-tight);\n}\n\n.mds-ChipBar__gap-base {\n gap: var(--mds-gap);\n}\n\n/* Frames the strip so its overflow reads as a scroll area. */\n.mds-ChipBar__bordered {\n padding: var(--mds-pad-pill-y) var(--mds-pad-pill-x);\n border-radius: var(--mds-radius-pill);\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n background: var(--mds-surface-sunken);\n}\n\n/* Fade only the trailing edge; the leading chip stays fully legible at rest.\n `black` is a mask stop, not a colour — only its alpha is read, so it is\n theme-independent by definition and deliberately not a token. */\n.mds-ChipBar__fade {\n mask-image: linear-gradient(to right, black calc(100% - var(--mds-fade-w)), transparent);\n}\n\n/* Each child keeps its intrinsic width so the row never wraps. */\n.mds-ChipBar__item {\n flex: none;\n display: flex;\n}\n",".mds-CountButton__button {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-hairline);\n padding: var(--mds-pad-count-y) var(--mds-pad-count-x);\n margin: calc(-1 * var(--mds-pad-count-y)) calc(-1 * var(--mds-pad-count-x));\n border: none;\n background: transparent;\n border-radius: var(--mds-radius-control);\n color: var(--mds-text-secondary);\n font: var(--mds-type-label);\n cursor: pointer;\n transition: var(--mds-transition-control);\n}\n\n.mds-CountButton__button:hover:not(:disabled) {\n background: var(--mds-surface-sunken);\n}\n\n.mds-CountButton__button:active:not(:disabled) {\n background: var(--mds-surface-selected);\n}\n\n.mds-CountButton__button:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n/* Active tint — the glyph inherits it via currentColor. */\n.mds-CountButton__tone-accent {\n color: var(--mds-accent);\n}\n\n.mds-CountButton__tone-danger {\n color: var(--mds-status-danger);\n}\n\n.mds-CountButton__glyph {\n display: inline-flex;\n align-items: center;\n}\n",".mds-Field__field {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-hairline);\n}\n\n.mds-Field__label {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n.mds-Field__required {\n color: var(--mds-status-danger);\n margin-left: var(--mds-gap-hairline);\n}\n\n.mds-Field__message {\n font: var(--mds-type-note);\n color: var(--mds-text-secondary);\n}\n\n.mds-Field__error {\n color: var(--mds-status-danger);\n}\n",".mds-Select__wrap {\n position: relative;\n display: inline-flex;\n width: 100%;\n}\n\n.mds-Select__select {\n appearance: none;\n width: 100%;\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-control);\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n font-family: var(--mds-font-body);\n cursor: pointer;\n transition: border-color var(--mds-transition-control);\n}\n\n.mds-Select__select:disabled {\n background: var(--mds-action-disabled-bg);\n color: var(--mds-action-disabled-fg);\n cursor: not-allowed;\n}\n\n.mds-Select__select[aria-invalid=\"true\"] {\n border-color: var(--mds-status-danger);\n}\n\n/* Room for the chevron. */\n.mds-Select__size-sm { height: var(--mds-control-h-sm); padding: 0 calc(var(--mds-pad-tight) + var(--mds-icon-sm) + var(--mds-gap-hairline)) 0 var(--mds-pad-control-sm); font-size: var(--mds-text-control-sm); }\n.mds-Select__size-md { height: var(--mds-control-h-md); padding: 0 calc(var(--mds-pad-tight) + var(--mds-icon-sm) + var(--mds-gap-tight)) 0 var(--mds-pad-control-md); font-size: var(--mds-text-control-md); }\n.mds-Select__size-lg { height: var(--mds-control-h-lg); padding: 0 calc(var(--mds-pad-tight) + var(--mds-icon-sm) + var(--mds-gap-tight)) 0 var(--mds-pad-control-lg); font-size: var(--mds-text-control-lg); }\n\n.mds-Select__chevron {\n position: absolute;\n right: var(--mds-pad-tight);\n top: 50%;\n transform: translateY(-50%);\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n color: var(--mds-text-secondary);\n pointer-events: none;\n}\n",".mds-Overlay__scrim {\n position: fixed;\n inset: 0;\n /* Height beats the bottom inset-0 implies. The keyboard shrinks the visual\n viewport without shrinking 100dvh; a host that mirrors\n visualViewport.height into --mds-vvh keeps sheet and modal above it. */\n height: var(--mds-vvh, 100dvh);\n display: flex;\n background: var(--mds-scrim);\n opacity: 0;\n transition: opacity var(--mds-dur-base) var(--mds-ease-standard);\n}\n\n.mds-Overlay__scrim[data-open] {\n opacity: 1;\n}\n\n.mds-Overlay__variant-modal {\n z-index: var(--mds-z-modal);\n align-items: center;\n justify-content: center;\n padding: var(--mds-pad-page-x);\n}\n\n.mds-Overlay__variant-sheet {\n z-index: var(--mds-z-sheet);\n align-items: flex-end;\n}\n",".mds-Sheet__panel {\n display: flex;\n flex-direction: column;\n width: 100%;\n /* Of the scrim, which already tracks the visual viewport (--mds-vvh). */\n max-height: 85%;\n /* Portalled past the app chrome, so nothing else reserves the home-bar\n inset for it. */\n padding-bottom: var(--mds-safe-bottom);\n background: var(--mds-surface-raised);\n border-radius: var(--mds-radius-sheet) var(--mds-radius-sheet) 0 0;\n box-shadow: var(--mds-elevation-sheet);\n transform: translateY(100%);\n transition: var(--mds-transition-sheet);\n}\n\n.mds-Sheet__panel[data-open] {\n transform: none;\n}\n\n.mds-Sheet__header {\n display: flex;\n align-items: center;\n gap: var(--mds-gap);\n padding: var(--mds-pad-card) var(--mds-pad-card) 0;\n font: var(--mds-type-panel-title);\n color: var(--mds-text-primary);\n}\n\n.mds-Sheet__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--mds-pad-card);\n}\n\n.mds-Sheet__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--mds-gap);\n padding: 0 var(--mds-pad-card) var(--mds-pad-card);\n}\n\n.mds-Sheet__headerTitle {\n flex: 1;\n min-width: 0;\n}\n\n.mds-Sheet__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: var(--mds-tap-min);\n height: var(--mds-tap-min);\n margin: calc((var(--mds-tap-min) - var(--mds-icon-lg)) / -2);\n margin-left: 0;\n border: none;\n border-radius: var(--mds-radius-pill);\n background: transparent;\n color: var(--mds-text-secondary);\n cursor: pointer;\n}\n\n.mds-Sheet__closeGlyph {\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n","/* Trigger — reads like an Input so it sits beside form fields. */\n.mds-DateTimePicker__trigger {\n display: flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n width: 100%;\n height: var(--mds-control-h-md);\n padding: 0 var(--mds-pad-control-md);\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-control);\n background: var(--mds-surface-card);\n color: var(--mds-text-muted);\n font: var(--mds-type-body);\n text-align: left;\n cursor: pointer;\n transition: var(--mds-transition-control);\n}\n\n.mds-DateTimePicker__trigger:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.mds-DateTimePicker__hasValue {\n color: var(--mds-text-primary);\n}\n\n.mds-DateTimePicker__triggerLabel {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mds-DateTimePicker__glyph {\n flex: none;\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n\n.mds-DateTimePicker__timeRow {\n display: flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n margin-bottom: var(--mds-stack-group);\n color: var(--mds-text-secondary);\n}\n\n.mds-DateTimePicker__grow {\n flex: 1;\n}\n\n.mds-DateTimePicker__meridiem {\n flex: none;\n}\n\n.mds-DateTimePicker__colon {\n color: var(--mds-text-muted);\n}\n\n.mds-DateTimePicker__calendarHeader {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--mds-gap-tight);\n}\n\n.mds-DateTimePicker__monthLabel {\n font: var(--mds-type-subtitle);\n color: var(--mds-text-primary);\n}\n\n.mds-DateTimePicker__weekdays {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n margin-bottom: var(--mds-gap-hairline);\n}\n\n.mds-DateTimePicker__weekday {\n text-align: center;\n font: var(--mds-type-meta);\n color: var(--mds-text-muted);\n}\n\n/* Fixed 6-row height so the panel does not jump between 4/5/6-week months. */\n.mds-DateTimePicker__grid {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n grid-auto-rows: var(--mds-tap-min);\n min-height: calc(6 * var(--mds-tap-min));\n align-items: stretch;\n}\n\n.mds-DateTimePicker__day {\n border: none;\n background: transparent;\n border-radius: var(--mds-radius-control);\n color: var(--mds-text-primary);\n font: var(--mds-type-body);\n cursor: pointer;\n transition: var(--mds-transition-control);\n}\n\n.mds-DateTimePicker__day:hover:not(:disabled) {\n background: var(--mds-surface-sunken);\n}\n\n.mds-DateTimePicker__day:disabled {\n color: var(--mds-text-muted);\n opacity: 0.5;\n cursor: default;\n}\n\n.mds-DateTimePicker__today {\n font-weight: var(--mds-weight-semibold);\n color: var(--mds-text-accent);\n}\n\n.mds-DateTimePicker__selected {\n background: var(--mds-accent);\n color: var(--mds-accent-contrast);\n}\n\n.mds-DateTimePicker__selected:hover:not(:disabled) {\n background: var(--mds-accent-hover);\n}\n\n/* Neighbour-month filler: keeps the week shape, draws no attention. */\n.mds-DateTimePicker__outside {\n visibility: hidden;\n}\n",".mds-Tag__tag {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-hairline);\n padding: var(--mds-pad-tag-y) var(--mds-pad-tag-x);\n border-radius: var(--mds-radius-tag);\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n background: var(--mds-surface-card);\n color: var(--mds-text-secondary);\n font: var(--mds-type-pill);\n white-space: nowrap;\n}\n\n.mds-Tag__tone-accent {\n background: var(--mds-accent-soft);\n border-color: transparent;\n color: var(--mds-text-primary);\n}\n\n.mds-Tag__remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n padding: 0;\n margin-right: calc(-1 * var(--mds-gap-hairline));\n width: var(--mds-icon-md);\n height: var(--mds-icon-md);\n border-radius: var(--mds-radius-pill);\n background: transparent;\n color: inherit;\n cursor: pointer;\n}\n\n.mds-Tag__remove:hover {\n background: var(--mds-surface-sunken);\n}\n\n.mds-Tag__removeGlyph {\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n",".mds-Divider__divider {\n background: var(--mds-border-subtle);\n flex: none;\n}\n\n.mds-Divider__horizontal {\n height: var(--mds-border-width);\n width: 100%;\n}\n\n.mds-Divider__vertical {\n width: var(--mds-border-width);\n align-self: stretch;\n}\n",".mds-Skeleton__skeleton {\n display: block;\n background: var(--mds-surface-sunken);\n animation: mds-Skeleton__pulse var(--mds-dur-pulse) var(--mds-ease-standard) infinite;\n width: var(--skeleton-w, 100%);\n}\n\n.mds-Skeleton__variant-text {\n height: var(--skeleton-h, 1em);\n border-radius: var(--mds-radius-skeleton);\n}\n\n.mds-Skeleton__variant-rect {\n height: var(--skeleton-h, var(--mds-skeleton-h));\n border-radius: var(--mds-radius-media);\n}\n\n.mds-Skeleton__variant-circle {\n width: var(--skeleton-w, var(--mds-avatar-md));\n height: var(--skeleton-h, var(--mds-avatar-md));\n border-radius: var(--mds-radius-pill);\n}\n\n@keyframes mds-Skeleton__pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.55; }\n}\n",".mds-ProgressBar__track {\n display: block;\n width: 100%;\n height: var(--mds-progress-h);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-surface-sunken);\n overflow: hidden;\n}\n\n.mds-ProgressBar__fill {\n display: block;\n height: 100%;\n width: var(--progress, 0%);\n border-radius: inherit;\n background: var(--mds-accent);\n transition: width var(--mds-transition-control);\n}\n\n.mds-ProgressBar__indeterminate .mds-ProgressBar__fill {\n width: 40%;\n animation: mds-ProgressBar__slide var(--mds-dur-pulse) var(--mds-ease-standard) infinite;\n}\n\n@keyframes mds-ProgressBar__slide {\n from { transform: translateX(-100%); }\n to { transform: translateX(250%); }\n}\n",".mds-Input__input {\n width: 100%;\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-control);\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n font-family: var(--mds-font-body);\n transition: border-color var(--mds-transition-control);\n}\n\n.mds-Input__input::placeholder {\n color: var(--mds-text-muted);\n}\n\n.mds-Input__input:disabled {\n background: var(--mds-action-disabled-bg);\n color: var(--mds-action-disabled-fg);\n cursor: not-allowed;\n}\n\n.mds-Input__input[aria-invalid=\"true\"] {\n border-color: var(--mds-status-danger);\n}\n\n.mds-Input__size-sm { height: var(--mds-control-h-sm); padding: 0 var(--mds-pad-control-sm); font-size: var(--mds-text-control-sm); }\n.mds-Input__size-md { height: var(--mds-control-h-md); padding: 0 var(--mds-pad-control-md); font-size: var(--mds-text-control-md); }\n.mds-Input__size-lg { height: var(--mds-control-h-lg); padding: 0 var(--mds-pad-control-lg); font-size: var(--mds-text-control-lg); }\n\n/* Icon slots overlay the input's edges; the input pads out of their way.\n The clearance is fixed across sizes — icons don't grow with the field — so\n the slot states that same step and the glyph cannot disagree with the\n padding reserved for it. */\n.mds-Input__iconWrap {\n position: relative;\n display: block;\n width: 100%;\n}\n\n.mds-Input__icon {\n --mds-icon-slot: var(--mds-icon-md);\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--mds-icon-slot);\n height: var(--mds-icon-slot);\n font-size: var(--mds-icon-slot);\n color: var(--mds-text-muted);\n pointer-events: none;\n}\n\n.mds-Input__icon > svg {\n width: 100%;\n height: 100%;\n}\n\n.mds-Input__iconLeft { left: var(--mds-pad-control-md); }\n.mds-Input__iconRight { right: var(--mds-pad-control-md); }\n\n.mds-Input__with-icon-left { padding-left: calc(var(--mds-pad-control-md) + var(--mds-icon-md) + var(--mds-gap-tight)); }\n.mds-Input__with-icon-right { padding-right: calc(var(--mds-pad-control-md) + var(--mds-icon-md) + var(--mds-gap-tight)); }\n",".mds-PasswordInput__wrap {\n position: relative;\n display: block;\n}\n\n.mds-PasswordInput__input {\n width: 100%;\n /* Room for the toggle: its hit target plus the usual inline padding. */\n padding-right: calc(var(--mds-control-h-md) + var(--mds-gap-hairline));\n}\n\n.mds-PasswordInput__toggle {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--mds-control-h-md);\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n color: var(--mds-text-muted);\n font-size: var(--mds-icon-sm);\n cursor: pointer;\n transition: color var(--mds-transition-control);\n}\n\n.mds-PasswordInput__toggle:hover {\n color: var(--mds-text-primary);\n}\n",".mds-Textarea__textarea {\n width: 100%;\n padding: var(--mds-pad-tight) var(--mds-pad-control-md);\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-control);\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n font-family: var(--mds-font-body);\n font-size: var(--mds-text-control);\n line-height: var(--mds-leading-normal);\n resize: vertical;\n transition: border-color var(--mds-transition-control);\n}\n\n.mds-Textarea__textarea::placeholder {\n color: var(--mds-text-muted);\n}\n\n.mds-Textarea__textarea:disabled {\n background: var(--mds-action-disabled-bg);\n color: var(--mds-action-disabled-fg);\n cursor: not-allowed;\n resize: none;\n}\n\n.mds-Textarea__textarea[aria-invalid=\"true\"] {\n border-color: var(--mds-status-danger);\n}\n\n.mds-Textarea__wrap {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: var(--mds-gap-hairline);\n}\n\n.mds-Textarea__count {\n font: var(--mds-type-meta);\n color: var(--mds-text-muted);\n}\n",".mds-Checkbox__root {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n cursor: pointer;\n}\n\n.mds-Checkbox__root:has(.mds-Checkbox__box:disabled) {\n cursor: not-allowed;\n}\n\n.mds-Checkbox__box {\n appearance: none;\n flex: none;\n margin: 0;\n width: var(--mds-check-size);\n height: var(--mds-check-size);\n /* em-based checkmark geometry scales with the box. */\n font-size: var(--mds-check-size);\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-checkbox);\n background: var(--mds-surface-card);\n display: inline-grid;\n place-content: center;\n cursor: inherit;\n transition: var(--mds-transition-control);\n position: relative;\n}\n\n.mds-Checkbox__box:checked {\n background: var(--mds-action-bg);\n border-color: var(--mds-action-bg);\n}\n\n.mds-Checkbox__box:checked::after {\n content: \"\";\n width: 0.32em;\n height: 0.6em;\n margin-top: -0.12em;\n border: solid var(--mds-action-fg);\n border-width: 0 calc(var(--mds-border-width) * 2) calc(var(--mds-border-width) * 2) 0;\n transform: rotate(45deg);\n}\n\n.mds-Checkbox__box:disabled {\n background: var(--mds-action-disabled-bg);\n border-color: var(--mds-border-strong);\n}\n\n.mds-Checkbox__box:disabled:checked::after {\n border-color: var(--mds-action-disabled-fg);\n}\n\n.mds-Checkbox__label {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n.mds-Checkbox__box:disabled ~ .mds-Checkbox__label {\n color: var(--mds-action-disabled-fg);\n}\n\n/* The target measures 44px in both axes without the control taking 44px of\n layout. A bare control is usually dropped into someone else's row — a list\n row's trailing slot — and a min-height on the root forced that whole row\n taller than its content. WCAG 2.5.8 measures the target, not the painted box,\n so the target is an out-of-flow pseudo-element instead. */\n.mds-Checkbox__box::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n translate: -50% -50%;\n width: max(100%, var(--mds-tap-min));\n height: max(100%, var(--mds-tap-min));\n}\n",".mds-Radio__root {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n cursor: pointer;\n}\n\n.mds-Radio__root:has(.mds-Radio__dot:disabled) {\n cursor: not-allowed;\n}\n\n.mds-Radio__dot {\n appearance: none;\n flex: none;\n margin: 0;\n width: var(--mds-check-size);\n height: var(--mds-check-size);\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-surface-card);\n display: inline-grid;\n place-content: center;\n cursor: inherit;\n transition: var(--mds-transition-control);\n position: relative;\n}\n\n.mds-Radio__dot:checked {\n border-color: var(--mds-action-bg);\n}\n\n.mds-Radio__dot:checked::after {\n content: \"\";\n width: 50%;\n height: 50%;\n border-radius: var(--mds-radius-pill);\n background: var(--mds-action-bg);\n}\n\n.mds-Radio__dot:disabled {\n background: var(--mds-action-disabled-bg);\n border-color: var(--mds-border-strong);\n}\n\n.mds-Radio__dot:disabled:checked::after {\n background: var(--mds-action-disabled-fg);\n}\n\n.mds-Radio__label {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n.mds-Radio__dot:disabled ~ .mds-Radio__label {\n color: var(--mds-action-disabled-fg);\n}\n\n/* The target measures 44px in both axes without the control taking 44px of\n layout. A bare control is usually dropped into someone else's row — a list\n row's trailing slot — and a min-height on the root forced that whole row\n taller than its content. WCAG 2.5.8 measures the target, not the painted box,\n so the target is an out-of-flow pseudo-element instead. */\n.mds-Radio__dot::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n translate: -50% -50%;\n width: max(100%, var(--mds-tap-min));\n height: max(100%, var(--mds-tap-min));\n}\n",".mds-Switch__root {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n cursor: pointer;\n}\n\n.mds-Switch__root:has(.mds-Switch__track:disabled) {\n cursor: not-allowed;\n}\n\n.mds-Switch__track {\n appearance: none;\n flex: none;\n margin: 0;\n width: var(--mds-switch-w);\n height: var(--mds-switch-h);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-border-strong);\n position: relative;\n cursor: inherit;\n transition: background-color var(--mds-transition-control);\n}\n\n.mds-Switch__track::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: var(--mds-switch-inset);\n transform: translateY(-50%);\n width: var(--mds-switch-knob);\n height: var(--mds-switch-knob);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-surface-card);\n transition: transform var(--mds-transition-control);\n}\n\n.mds-Switch__track:checked {\n background: var(--mds-action-bg);\n}\n\n.mds-Switch__track:checked::after {\n transform: translateY(-50%)\n translateX(calc(var(--mds-switch-w) - var(--mds-switch-knob) - 2 * var(--mds-switch-inset)));\n}\n\n.mds-Switch__track:disabled {\n background: var(--mds-action-disabled-bg);\n}\n\n.mds-Switch__track:disabled::after {\n background: var(--mds-action-disabled-fg);\n}\n\n/* Hosts the busy spinner over the track without moving the input. */\n.mds-Switch__trackWrap {\n position: relative;\n display: inline-flex;\n flex: none;\n}\n\n.mds-Switch__spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: var(--mds-text-secondary);\n pointer-events: none;\n}\n\n.mds-Switch__label {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n/* The label sits beside the wrapper, not the input — climb via :has. */\n.mds-Switch__root:has(.mds-Switch__track:disabled) .mds-Switch__label {\n color: var(--mds-action-disabled-fg);\n}\n\n/* The target measures 44px in both axes without the control taking 44px of\n layout. A bare control is usually dropped into someone else's row — a list\n row's trailing slot — and a min-height on the root forced that whole row\n taller than its content. WCAG 2.5.8 measures the target, not the painted box,\n so the target is an out-of-flow pseudo-element instead. */\n.mds-Switch__track::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n translate: -50% -50%;\n width: max(100%, var(--mds-tap-min));\n height: max(100%, var(--mds-tap-min));\n}\n",".mds-SegmentedControl__group {\n display: inline-flex;\n padding: var(--mds-pad-segment);\n gap: var(--mds-gap-hairline);\n background: var(--mds-surface-sunken);\n border-radius: var(--mds-radius-control);\n}\n\n.mds-SegmentedControl__segment {\n display: inline-flex;\n position: relative;\n cursor: pointer;\n}\n\n.mds-SegmentedControl__fullWidth {\n display: flex;\n}\n\n.mds-SegmentedControl__fullWidth .mds-SegmentedControl__segment {\n flex: 1;\n}\n\n.mds-SegmentedControl__fullWidth .mds-SegmentedControl__face {\n flex: 1;\n}\n\n/* Radio overlays the whole segment, invisible but real — it stays the hit\n target and the focusable element. */\n.mds-SegmentedControl__input {\n appearance: none;\n margin: 0;\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: inherit;\n}\n\n.mds-SegmentedControl__face {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: calc(var(--mds-control-h-md) - 2 * var(--mds-pad-segment));\n padding: 0 var(--mds-pad-pill-x);\n border-radius: var(--mds-radius-segment);\n font: var(--mds-type-pill);\n color: var(--mds-text-secondary);\n white-space: nowrap;\n transition: var(--mds-transition-control);\n}\n\n.mds-SegmentedControl__input:checked + .mds-SegmentedControl__face {\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n box-shadow: var(--mds-elevation-card);\n}\n\n/* Unavailable is a color, not a fade — matches the control convention. */\n.mds-SegmentedControl__input:disabled + .mds-SegmentedControl__face {\n color: var(--mds-action-disabled-fg);\n cursor: not-allowed;\n}\n\n.mds-SegmentedControl__input:disabled:checked + .mds-SegmentedControl__face {\n background: var(--mds-action-disabled-bg);\n box-shadow: none;\n}\n\n.mds-SegmentedControl__segment:has(.mds-SegmentedControl__input:disabled) {\n cursor: not-allowed;\n}\n\n.mds-SegmentedControl__input:focus-visible + .mds-SegmentedControl__face {\n outline: var(--mds-focus-width) solid var(--mds-focus-ring-color);\n outline-offset: var(--mds-focus-offset);\n}\n",".mds-SearchField__wrap {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: 100%;\n}\n\n.mds-SearchField__glass {\n position: absolute;\n left: var(--mds-pad-control-md);\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n color: var(--mds-text-muted);\n pointer-events: none;\n}\n\n.mds-SearchField__input {\n width: 100%;\n height: var(--mds-control-h-md);\n padding: 0 calc(var(--mds-pad-tight) + var(--mds-icon-lg) + var(--mds-gap-tight))\n 0 calc(var(--mds-pad-control-md) + var(--mds-icon-sm) + var(--mds-gap-hairline));\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n font-family: var(--mds-font-body);\n font-size: var(--mds-text-control);\n transition: border-color var(--mds-transition-control);\n}\n\n.mds-SearchField__input::placeholder {\n color: var(--mds-text-muted);\n}\n\n/* Native clear crosses collide with ours. */\n.mds-SearchField__input::-webkit-search-cancel-button {\n display: none;\n}\n\n.mds-SearchField__clear {\n position: absolute;\n right: var(--mds-pad-tight);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--mds-icon-lg);\n height: var(--mds-icon-lg);\n border: none;\n border-radius: var(--mds-radius-pill);\n background: transparent;\n color: var(--mds-text-secondary);\n cursor: pointer;\n}\n\n.mds-SearchField__clear:hover {\n background: var(--mds-surface-sunken);\n}\n\n.mds-SearchField__clearGlyph {\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n",".mds-List__group {\n list-style: none;\n margin: 0;\n padding: 0;\n background: var(--mds-surface-card);\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n border-radius: var(--mds-radius-card);\n overflow: hidden;\n}\n\n.mds-List__labelledGroup {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-tight);\n}\n\n/* The heading sits over the card, aligned with the rows' text rather than\n with the card's edge — the rows' own padding is what the eye reads as the\n list's left margin, so a heading flush with the border reads as indented\n the other way. */\n.mds-List__label {\n padding-inline: var(--mds-pad-card); /* matches the rows' inline padding */\n font-weight: var(--mds-weight-semibold);\n font-size: var(--mds-text-section);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--mds-text-secondary);\n}\n\n/* Separators belong to the group — standalone rows sitting side by side\n keep their own borders instead. */\n.mds-List__group > .mds-List__item + .mds-List__item {\n border-top: var(--mds-border-width) solid var(--mds-border-subtle);\n}\n\n/* Standalone surfaces. The row paints its own background: a wrapper's paint\n would bring a wrapper's corner radius with it. */\n.mds-List__surface-card,\n.mds-List__surface-sunken,\n.mds-List__surface-accent {\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n border-radius: var(--mds-radius-card);\n}\n\n.mds-List__surface-card { background: var(--mds-surface-card); }\n.mds-List__surface-sunken { background: var(--mds-surface-sunken); }\n\n/* The prompt row: full-strength accent on the left edge, soft fill behind.\n Longhands so a call site's border-color override still lands. */\n.mds-List__surface-accent {\n border-left-width: var(--mds-edge-width);\n border-left-color: var(--mds-accent);\n background: var(--mds-accent-soft);\n}\n\n/* Paints nothing on purpose — transparent, not unset, so a row on a tinted\n parent shows what's behind it. */\n.mds-List__surface-plain {\n background: transparent;\n border: 0;\n border-radius: 0;\n}\n\n.mds-List__row {\n display: flex;\n align-items: center;\n gap: var(--mds-gap);\n width: 100%;\n min-height: var(--mds-tap-min);\n padding: var(--mds-pad-item-y) var(--mds-pad-card);\n text-align: left;\n color: inherit;\n text-decoration: none;\n}\n\n/* Interactive rows reset button chrome and signal affordance. */\n.mds-List__interactive {\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n transition: background-color var(--mds-transition-control);\n}\n\n.mds-List__interactive:hover {\n background: var(--mds-surface-sunken);\n}\n\n.mds-List__leading,\n.mds-List__trailing {\n display: inline-flex;\n flex: none;\n align-items: center;\n}\n\n.mds-List__text {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-hairline);\n min-width: 0;\n flex: 1;\n}\n\n.mds-List__title {\n font: var(--mds-type-item-title);\n color: var(--mds-text-primary);\n}\n\n.mds-List__description {\n font: var(--mds-type-note);\n color: var(--mds-text-secondary);\n}\n",".mds-EmptyState__root {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n gap: var(--mds-stack-item);\n padding: var(--mds-pad-empty-y) var(--mds-pad-card);\n}\n\n.mds-EmptyState__icon {\n display: inline-flex;\n color: var(--mds-text-muted);\n}\n\n.mds-EmptyState__action {\n margin-top: var(--mds-gap-tight);\n}\n",".mds-Tabs__list {\n display: flex;\n gap: var(--mds-gap-hairline);\n border-bottom: var(--mds-border-width) solid var(--mds-border-subtle);\n}\n\n.mds-Tabs__tab {\n border: none;\n background: transparent;\n padding: var(--mds-pad-tab-y) var(--mds-pad-tab-x);\n margin-bottom: calc(-1 * var(--mds-border-width));\n border-bottom: calc(2 * var(--mds-border-width)) solid transparent;\n font: var(--mds-type-label);\n color: var(--mds-text-secondary);\n cursor: pointer;\n white-space: nowrap;\n transition: color var(--mds-transition-control);\n}\n\n.mds-Tabs__tab:hover {\n color: var(--mds-text-primary);\n}\n\n.mds-Tabs__selected {\n color: var(--mds-text-primary);\n border-bottom-color: var(--mds-accent);\n}\n\n.mds-Tabs__panel {\n padding-top: var(--mds-stack-item);\n}\n",".mds-Toast__viewport {\n position: fixed;\n bottom: calc(var(--mds-toast-inset) + var(--mds-safe-bottom));\n left: 50%;\n transform: translateX(-50%);\n z-index: var(--mds-z-toast);\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-tight);\n width: min(var(--mds-toast-w), calc(100vw - 2 * var(--mds-toast-inset)));\n pointer-events: none;\n}\n\n.mds-Toast__toast {\n display: flex;\n align-items: flex-start;\n gap: var(--mds-gap);\n padding: var(--mds-pad-toast-y) var(--mds-pad-toast-x);\n border-radius: var(--mds-radius-card);\n border-left: calc(3 * var(--mds-border-width)) solid var(--mds-border-strong);\n background: var(--mds-surface-raised);\n box-shadow: var(--mds-elevation-modal);\n pointer-events: auto;\n}\n\n.mds-Toast__tone-success { border-left-color: var(--mds-status-success); }\n.mds-Toast__tone-danger { border-left-color: var(--mds-status-danger); }\n\n.mds-Toast__body {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-hairline);\n flex: 1;\n min-width: 0;\n}\n\n.mds-Toast__title {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n.mds-Toast__description {\n font: var(--mds-type-note);\n color: var(--mds-text-secondary);\n}\n\n.mds-Toast__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: var(--mds-icon-lg);\n height: var(--mds-icon-lg);\n border: none;\n border-radius: var(--mds-radius-pill);\n background: transparent;\n color: var(--mds-text-secondary);\n cursor: pointer;\n}\n\n.mds-Toast__close:hover {\n background: var(--mds-surface-sunken);\n}\n\n.mds-Toast__closeGlyph {\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n",".mds-Stack__stack {\n display: flex;\n flex-direction: column;\n}\n\n.mds-Stack__gap-hairline { gap: var(--mds-gap-hairline); }\n.mds-Stack__gap-tight { gap: var(--mds-gap-tight); }\n.mds-Stack__gap-base { gap: var(--mds-gap); }\n.mds-Stack__gap-loose { gap: var(--mds-gap-loose); }\n.mds-Stack__gap-section { gap: var(--mds-stack-section); }\n\n.mds-Stack__align-start { align-items: flex-start; }\n.mds-Stack__align-center { align-items: center; }\n.mds-Stack__align-end { align-items: flex-end; }\n.mds-Stack__align-stretch { align-items: stretch; }\n",".mds-Inline__inline {\n display: flex;\n flex-direction: row;\n}\n\n.mds-Inline__gap-hairline { gap: var(--mds-gap-hairline); }\n.mds-Inline__gap-tight { gap: var(--mds-gap-tight); }\n.mds-Inline__gap-base { gap: var(--mds-gap); }\n.mds-Inline__gap-loose { gap: var(--mds-gap-loose); }\n\n.mds-Inline__align-start { align-items: flex-start; }\n.mds-Inline__align-center { align-items: center; }\n.mds-Inline__align-end { align-items: flex-end; }\n.mds-Inline__align-baseline { align-items: baseline; }\n\n.mds-Inline__justify-start { justify-content: flex-start; }\n.mds-Inline__justify-center { justify-content: center; }\n.mds-Inline__justify-end { justify-content: flex-end; }\n.mds-Inline__justify-between { justify-content: space-between; }\n\n.mds-Inline__wrap {\n flex-wrap: wrap;\n}\n",".mds-Container__container {\n width: 100%;\n margin-inline: auto;\n padding-inline: var(--mds-pad-page-x);\n}\n\n.mds-Container__width-content { max-width: var(--mds-content-max); }\n.mds-Container__width-wide { max-width: var(--mds-content-max-wide); }\n",".mds-Card__card {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap);\n background: var(--mds-surface-card);\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n border-radius: var(--mds-radius-card);\n overflow: hidden;\n color: inherit;\n text-decoration: none;\n}\n\n.mds-Card__variant-raised {\n border-color: transparent;\n background: var(--mds-surface-raised);\n box-shadow: var(--mds-elevation-raised);\n}\n\n.mds-Card__variant-sunken {\n background: var(--mds-surface-sunken);\n}\n\n/* Slightly heavier than the plain border so the accent reads at the same\n visual weight. */\n.mds-Card__emphasis {\n border: var(--mds-border-emphasis) solid var(--mds-accent);\n}\n\n/* Whole-card button/link resets + affordance. */\n.mds-Card__interactive {\n padding: 0;\n margin: 0;\n font: inherit;\n text-align: left;\n cursor: pointer;\n transition: box-shadow var(--mds-transition-surface), background-color var(--mds-transition-surface);\n}\n\n.mds-Card__interactive:hover {\n box-shadow: var(--mds-elevation-hover);\n}\n\n.mds-Card__header {\n display: flex;\n align-items: center;\n gap: var(--mds-gap);\n font: var(--mds-type-card-title);\n color: var(--mds-text-primary);\n}\n\n/* A lone child is the header row, so it gets the width AppBar gives its title. */\n.mds-Card__header > :only-child {\n flex: 1;\n min-width: 0;\n}\n\n.mds-Card__body {\n flex: 1;\n}\n\n/* The card clips its overflow, so a row of actions that outgrows one line has\n to fall to the next rather than disappear off the edge. */\n.mds-Card__footer {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mds-gap);\n}\n\n/* A slot pays for the card edge it sits against; the card's own gap pays for\n the space between two of them. Padding the outer edges from each slot instead\n left a header above a footer with nothing between them, and a card ending on\n its header with no bottom padding at all. */\n.mds-Card__header,\n.mds-Card__body,\n.mds-Card__footer {\n padding: 0 var(--mds-pad-card);\n}\n\n.mds-Card__header:first-child,\n.mds-Card__body:first-child,\n.mds-Card__footer:first-child {\n padding-top: var(--mds-pad-card);\n}\n\n.mds-Card__header:last-child,\n.mds-Card__body:last-child,\n.mds-Card__footer:last-child {\n padding-bottom: var(--mds-pad-card);\n}\n",".mds-Modal__panel {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: var(--mds-modal-w);\n max-height: 85dvh;\n background: var(--mds-surface-raised);\n border-radius: var(--mds-radius-modal);\n box-shadow: var(--mds-elevation-modal);\n opacity: 0;\n transform: scale(0.96);\n transition:\n opacity var(--mds-dur-base) var(--mds-ease-standard),\n transform var(--mds-dur-base) var(--mds-ease-standard);\n}\n\n.mds-Modal__panel[data-open] {\n opacity: 1;\n transform: none;\n}\n\n.mds-Modal__header {\n display: flex;\n align-items: center;\n gap: var(--mds-gap);\n padding: var(--mds-pad-card) var(--mds-pad-card) 0;\n font: var(--mds-type-panel-title);\n color: var(--mds-text-primary);\n}\n\n.mds-Modal__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--mds-pad-card);\n}\n\n.mds-Modal__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--mds-gap);\n padding: 0 var(--mds-pad-card) var(--mds-pad-card);\n}\n",".mds-ConfirmDialog__description {\n margin: 0;\n font: var(--mds-type-body);\n color: var(--mds-text-secondary);\n}\n\n.mds-ConfirmDialog__error {\n margin: 0;\n font: var(--mds-type-body);\n color: var(--mds-status-danger);\n}\n","/* Needs a host with a resolved height — the app root, a device frame, or a\n `flex: 1; min-height: 0` slot. The host owns the viewport (see Screen.tsx);\n claiming the viewport height here would overflow any frame the keyboard has shrunk. */\n.mds-Screen__screen {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mds-surface-page);\n}\n\n/* min-height: 0 is what lets the region shrink inside the flex column and\n keep the scroll, instead of growing the screen and handing the scroll to\n whatever contains it. */\n.mds-Screen__content {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: var(--mds-pad-page-y) var(--mds-pad-page-x);\n}\n\n.mds-Screen__content.mds-Screen__flush {\n padding: 0;\n}\n",".mds-AppBar__bar {\n position: sticky;\n top: 0;\n z-index: var(--mds-z-header);\n display: flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n height: var(--mds-header-h);\n padding-inline: var(--mds-pad-page-x);\n background: var(--mds-surface-page);\n border-bottom: var(--mds-border-width) solid var(--mds-border-subtle);\n}\n\n.mds-AppBar__title {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n margin: 0;\n font: var(--mds-type-panel-title);\n color: var(--mds-text-primary);\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n/* Title + subtitle stack. Takes over the title's flex share; the title\n inside keeps its own ellipsis. */\n.mds-AppBar__text {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.mds-AppBar__text .mds-AppBar__title {\n flex: none;\n}\n\n.mds-AppBar__subtitle {\n min-width: 0;\n overflow: hidden;\n font: var(--mds-type-note);\n color: var(--mds-text-secondary);\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.mds-AppBar__slot {\n display: flex;\n align-items: center;\n gap: var(--mds-gap-hairline);\n}\n\n/* The actions belong at the end even when no title is there to push them:\n auto margin absorbs the free space the missing flex child leaves behind.\n With a title present its flex share is already 1, so this is a no-op. */\n.mds-AppBar__trailing {\n margin-inline-start: auto;\n}\n",".mds-TabBar__bar {\n position: sticky;\n bottom: 0;\n z-index: var(--mds-z-tabbar);\n display: flex;\n align-items: stretch;\n height: var(--mds-tabbar-h);\n background: var(--mds-surface-page);\n border-top: var(--mds-border-width) solid var(--mds-border-subtle);\n padding-bottom: var(--mds-safe-bottom);\n}\n\n.mds-TabBar__item {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--mds-gap-hairline);\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n font: var(--mds-type-meta);\n color: var(--mds-text-muted);\n text-decoration: none;\n transition: color var(--mds-transition-control);\n}\n\n.mds-TabBar__item:hover {\n color: var(--mds-text-secondary);\n}\n\n.mds-TabBar__active,\n.mds-TabBar__active:hover {\n color: var(--mds-text-accent);\n}\n\n.mds-TabBar__icon {\n position: relative; /* anchors the badge dot */\n display: inline-flex;\n}\n\n/* Attention dot, pinned to the icon's top-right corner. */\n.mds-TabBar__badge {\n position: absolute;\n top: var(--mds-dot-offset-y);\n right: var(--mds-dot-offset-x);\n width: var(--mds-dot);\n height: var(--mds-dot);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-status-danger);\n /* Ring in the bar's color so the dot stays legible over the glyph. */\n box-shadow: 0 0 0 var(--mds-dot-ring) var(--mds-surface-page);\n}\n\n.mds-TabBar__label {\n line-height: 1;\n}\n\n/* The raised center action. Negative top margin lifts it above the bar's\n edge; the pill radius keeps it a circle at its fixed size. */\n.mds-TabBar__action {\n flex: none;\n align-self: flex-start;\n width: var(--mds-tabbar-action);\n height: var(--mds-tabbar-action);\n margin-top: calc(-1 * var(--mds-tabbar-action-lift));\n border: none;\n border-radius: var(--mds-radius-pill);\n background: var(--mds-accent);\n color: var(--mds-accent-contrast);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-shadow: var(--mds-elevation-raised);\n cursor: pointer;\n transition: background-color var(--mds-transition-control);\n}\n\n.mds-TabBar__action:hover {\n background: var(--mds-accent-hover);\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Text/Text.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Heading/Heading.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Spinner/Spinner.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Icon/Icon.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Button/Button.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Link/Link.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Avatar/Avatar.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/AvatarGroup/AvatarGroup.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Badge/Badge.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Chip/Chip.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Chip/ChipGroup.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Chip/ChipBar.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/CountButton/CountButton.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Field/Field.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Select/Select.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Overlay/Overlay.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Sheet/Sheet.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/DateTimePicker/DateTimePicker.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Tag/Tag.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Divider/Divider.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Skeleton/Skeleton.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/ProgressBar/ProgressBar.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Input/Input.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/PasswordInput/PasswordInput.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Textarea/Textarea.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Checkbox/Checkbox.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Radio/Radio.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Switch/Switch.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/SegmentedControl/SegmentedControl.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/SearchField/SearchField.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/List/List.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/EmptyState/EmptyState.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Tabs/Tabs.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Toast/Toast.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Stack/Stack.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Inline/Inline.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Container/Container.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Card/Card.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Modal/Modal.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/ConfirmDialog/ConfirmDialog.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/Screen/Screen.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/AppBar/AppBar.module.css?mds-scoped","mds-css:/home/runner/work/mond-design-system/mond-design-system/packages/react/src/components/TabBar/TabBar.module.css?mds-scoped"],"sourcesContent":[".mds-Text__text {\n margin: 0;\n}\n\n/* Type roles — the core shorthands. */\n.mds-Text__variant-body { font: var(--mds-type-body); }\n.mds-Text__variant-label { font: var(--mds-type-label); }\n.mds-Text__variant-note { font: var(--mds-type-note); }\n.mds-Text__variant-meta { font: var(--mds-type-meta); }\n.mds-Text__variant-eyebrow {\n font: var(--mds-type-eyebrow);\n letter-spacing: var(--mds-tracking-eyebrow);\n text-transform: uppercase;\n}\n\n/* Tones — semantic aliases only. */\n.mds-Text__tone-primary { color: var(--mds-text-primary); }\n.mds-Text__tone-secondary { color: var(--mds-text-secondary); }\n.mds-Text__tone-muted { color: var(--mds-text-muted); }\n.mds-Text__tone-inverse { color: var(--mds-text-inverse); }\n.mds-Text__tone-accent { color: var(--mds-text-accent); }\n.mds-Text__tone-on-media { color: var(--mds-text-on-media); }\n.mds-Text__tone-danger { color: var(--mds-status-danger); }\n.mds-Text__tone-warning { color: var(--mds-status-warning); }\n.mds-Text__tone-success { color: var(--mds-status-success); }\n\n.mds-Text__align-left { text-align: left; }\n.mds-Text__align-center { text-align: center; }\n.mds-Text__align-right { text-align: right; }\n\n.mds-Text__truncate {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n",".mds-Heading__heading {\n margin: 0;\n}\n\n.mds-Heading__variant-display {\n font: var(--mds-type-display);\n letter-spacing: var(--mds-tracking-display);\n}\n.mds-Heading__variant-title { font: var(--mds-type-title); }\n.mds-Heading__variant-subtitle { font: var(--mds-type-subtitle); }\n\n.mds-Heading__tone-primary { color: var(--mds-text-primary); }\n.mds-Heading__tone-secondary { color: var(--mds-text-secondary); }\n.mds-Heading__tone-inverse { color: var(--mds-text-inverse); }\n.mds-Heading__tone-accent { color: var(--mds-text-accent); }\n.mds-Heading__tone-on-media { color: var(--mds-text-on-media); }\n","@keyframes mds-Spinner__spin {\n to { transform: rotate(360deg); }\n}\n\n.mds-Spinner__spinner {\n display: inline-block;\n flex: none;\n width: var(--spinner-size);\n height: var(--spinner-size);\n border: var(--spinner-border) solid var(--mds-border-strong);\n border-top-color: currentcolor;\n border-radius: var(--mds-radius-pill);\n animation: mds-Spinner__spin 0.7s linear infinite;\n}\n",".mds-Icon__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n color: inherit;\n}\n\n/* No step stated: the control around it published one as --mds-icon-slot, and\n md is what a glyph outside any slot is. font-size carries it to an icon set\n that sizes itself from the inside — a ligature font has no width to set. */\n.mds-Icon__size-slot {\n width: var(--mds-icon-slot, var(--mds-icon-md));\n height: var(--mds-icon-slot, var(--mds-icon-md));\n font-size: var(--mds-icon-slot, var(--mds-icon-md));\n}\n\n.mds-Icon__size-sm { width: var(--mds-icon-sm); height: var(--mds-icon-sm); font-size: var(--mds-icon-sm); }\n.mds-Icon__size-md { width: var(--mds-icon-md); height: var(--mds-icon-md); font-size: var(--mds-icon-md); }\n.mds-Icon__size-lg { width: var(--mds-icon-lg); height: var(--mds-icon-lg); font-size: var(--mds-icon-lg); }\n",".mds-Button__button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--mds-gap-tight);\n /* A button's outline is a drawn stroke, not a hairline — the same weight\n the accent border on a Card gets. Filled variants keep it transparent so\n a row of buttons is one height whether or not it is outlined. */\n border: var(--mds-border-emphasis) solid transparent;\n border-radius: var(--mds-radius-control);\n font-family: var(--mds-font-body);\n font-weight: var(--mds-weight-semibold);\n line-height: 1;\n white-space: nowrap;\n cursor: pointer;\n text-decoration: none;\n transition: background-color var(--mds-transition-control), color var(--mds-transition-control);\n}\n\n/* Sizes — height from the control scale, padding from the space scale, glyph\n from the icon scale. */\n.mds-Button__size-sm {\n height: var(--mds-control-h-sm);\n padding: 0 var(--mds-pad-button-sm);\n font-size: var(--mds-text-button-sm);\n --mds-icon-slot: var(--mds-icon-sm);\n}\n\n.mds-Button__size-md {\n height: var(--mds-control-h-md);\n padding: 0 var(--mds-pad-button-md);\n font-size: var(--mds-text-button-md);\n --mds-icon-slot: var(--mds-icon-md);\n}\n\n.mds-Button__size-lg {\n height: var(--mds-control-h-lg);\n padding: 0 var(--mds-pad-button-lg);\n font-size: var(--mds-text-button-lg);\n --mds-icon-slot: var(--mds-icon-lg);\n}\n\n/* How big the glyph is belongs to the button, not to whoever passed it. The\n spinner replaces the left glyph while busy, so it reads the same step and the\n button keeps its width across the change. An icon set that cannot be sized\n from the outside reads --mds-icon-slot for its own default. */\n.mds-Button__slot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: var(--mds-icon-slot);\n height: var(--mds-icon-slot);\n font-size: var(--mds-icon-slot);\n}\n\n.mds-Button__slot > svg {\n width: 100%;\n height: 100%;\n}\n\n/* Variants */\n.mds-Button__variant-primary {\n background: var(--mds-action-bg);\n color: var(--mds-action-fg);\n}\n\n.mds-Button__variant-primary:hover:not(:disabled) { background: var(--mds-action-bg-hover); }\n.mds-Button__variant-primary:active:not(:disabled) { background: var(--mds-action-bg-active); }\n\n.mds-Button__variant-secondary {\n background: transparent;\n color: var(--mds-button-secondary-fg);\n border-color: var(--mds-button-border);\n}\n\n.mds-Button__variant-ghost {\n background: transparent;\n color: var(--mds-text-primary);\n}\n\n.mds-Button__variant-secondary:hover:not(:disabled),\n.mds-Button__variant-ghost:hover:not(:disabled) {\n background: var(--mds-surface-sunken);\n}\n\n.mds-Button__variant-highlight {\n background: var(--mds-highlight);\n color: var(--mds-highlight-contrast);\n}\n\n.mds-Button__variant-highlight:hover:not(:disabled) { background: var(--mds-highlight-hover); }\n\n.mds-Button__variant-danger {\n background: var(--mds-status-danger);\n color: var(--mds-status-danger-contrast);\n}\n\n.mds-Button__variant-danger:hover:not(:disabled) { filter: brightness(0.94); }\n\n.mds-Button__variant-warning {\n background: var(--mds-status-warning);\n color: var(--mds-status-warning-contrast);\n}\n.mds-Button__variant-warning:hover:not(:disabled) { filter: brightness(0.94); }\n\n/* Unavailable is a color, not a fade — opacity composites unpredictably. */\n.mds-Button__button:disabled {\n background: var(--mds-action-disabled-bg);\n color: var(--mds-action-disabled-fg);\n border-color: transparent;\n cursor: not-allowed;\n}\n\n.mds-Button__fullWidth {\n width: 100%;\n}\n\n/* Icon-only: circle, one glyph, width locked to the control height. */\n.mds-Button__icon-only {\n padding: 0;\n border-radius: var(--mds-radius-pill);\n}\n\n.mds-Button__icon-only.mds-Button__size-sm { width: var(--mds-control-h-sm); }\n.mds-Button__icon-only.mds-Button__size-md { width: var(--mds-control-h-md); }\n.mds-Button__icon-only.mds-Button__size-lg { width: var(--mds-control-h-lg); }\n",".mds-Link__link {\n color: var(--mds-text-accent);\n border-radius: var(--mds-radius-focus); /* focus outline hugs the text */\n transition: color var(--mds-transition-control);\n}\n\n/* `as=\"button\"` renders a native button, which brings its own chrome — strip\n it so the control reads as link text. font: inherit also drops the UA's\n button font, so the size classes below still apply (they are declared\n later, and equal specificity lets order decide). */\nbutton.mds-Link__link {\n border: none;\n background: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n}\n\n.mds-Link__variant-inline {\n text-decoration: underline;\n text-underline-offset: 0.15em;\n}\n\n.mds-Link__variant-standalone {\n text-decoration: none;\n font-weight: var(--mds-weight-medium);\n}\n\n.mds-Link__link:hover {\n color: var(--mds-accent-hover);\n}\n\n/* Plain rides its context: same color and weight as the surrounding text,\n the hover underline is the only tell. Sits after .link:hover — equal\n specificity, so order decides who wins the hover color. */\n.mds-Link__variant-plain {\n color: inherit;\n font-weight: inherit;\n text-decoration: none;\n}\n\n.mds-Link__variant-plain:hover {\n color: inherit;\n text-decoration: underline;\n text-underline-offset: 0.15em;\n}\n\n.mds-Link__size-xs { font-size: var(--mds-text-xs); }\n.mds-Link__size-sm { font-size: var(--mds-text-sm); }\n.mds-Link__size-base { font-size: var(--mds-text-base); }\n.mds-Link__size-lg { font-size: var(--mds-text-lg); }\n.mds-Link__size-xl { font-size: var(--mds-text-xl); }\n",".mds-Avatar__avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n overflow: hidden;\n border-radius: var(--mds-radius-avatar);\n background: var(--mds-surface-sunken);\n color: var(--mds-text-secondary);\n /* Initials are display type, not body copy — a brand with a distinct\n display face wants to see it here, at the size the circle allows. */\n font-family: var(--mds-font-display);\n font-weight: var(--mds-weight-medium);\n user-select: none;\n}\n\n.mds-Avatar__size-xs { width: var(--mds-avatar-xs); height: var(--mds-avatar-xs); font-size: var(--mds-avatar-text-xs); }\n.mds-Avatar__size-sm { width: var(--mds-avatar-sm); height: var(--mds-avatar-sm); font-size: var(--mds-avatar-text-sm); }\n.mds-Avatar__size-md { width: var(--mds-avatar-md); height: var(--mds-avatar-md); font-size: var(--mds-avatar-text-md); }\n.mds-Avatar__size-lg { width: var(--mds-avatar-lg); height: var(--mds-avatar-lg); font-size: var(--mds-avatar-text-lg); }\n.mds-Avatar__size-xl { width: var(--mds-avatar-xl); height: var(--mds-avatar-xl); font-size: var(--mds-avatar-text-xl); }\n\n/* Identity tints — initials stay --mds-text-primary on every tone; the\n contrast gate holds each pairing in both themes. */\n.mds-Avatar__tone-1 { background: var(--mds-avatar-tone-1); color: var(--mds-text-primary); }\n.mds-Avatar__tone-2 { background: var(--mds-avatar-tone-2); color: var(--mds-text-primary); }\n.mds-Avatar__tone-3 { background: var(--mds-avatar-tone-3); color: var(--mds-text-primary); }\n.mds-Avatar__tone-4 { background: var(--mds-avatar-tone-4); color: var(--mds-text-primary); }\n.mds-Avatar__tone-5 { background: var(--mds-avatar-tone-5); color: var(--mds-text-primary); }\n\n.mds-Avatar__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.mds-Avatar__initials {\n line-height: 1;\n}\n",".mds-AvatarGroup__group {\n display: inline-flex;\n align-items: center;\n}\n\n/* Overlap by a tight step; ring separates neighbours. */\n.mds-AvatarGroup__item {\n display: inline-flex;\n border-radius: var(--mds-radius-avatar);\n box-shadow: 0 0 0 var(--mds-focus-width) var(--mds-surface-card);\n}\n\n.mds-AvatarGroup__item + .mds-AvatarGroup__item {\n margin-left: calc(-1 * var(--mds-avatar-overlap));\n}\n\n.mds-AvatarGroup__overflow {\n align-items: center;\n justify-content: center;\n flex: none;\n background: var(--mds-surface-sunken);\n color: var(--mds-text-secondary);\n font-family: var(--mds-font-body);\n font-weight: var(--mds-weight-semibold);\n user-select: none;\n}\n\n/* One rule per AvatarSize step. Only the overflow chip carries these — the\n avatars inside .item size themselves — so the type here is the count, a\n notch under the initials ratio because it is two or three characters. */\n.mds-AvatarGroup__size-xs { width: var(--mds-avatar-xs); height: var(--mds-avatar-xs); font-size: calc(var(--mds-avatar-xs) * var(--mds-avatar-count-ratio)); }\n.mds-AvatarGroup__size-sm { width: var(--mds-avatar-sm); height: var(--mds-avatar-sm); font-size: calc(var(--mds-avatar-sm) * var(--mds-avatar-count-ratio)); }\n.mds-AvatarGroup__size-md { width: var(--mds-avatar-md); height: var(--mds-avatar-md); font-size: calc(var(--mds-avatar-md) * var(--mds-avatar-count-ratio)); }\n.mds-AvatarGroup__size-lg { width: var(--mds-avatar-lg); height: var(--mds-avatar-lg); font-size: calc(var(--mds-avatar-lg) * var(--mds-avatar-count-ratio)); }\n.mds-AvatarGroup__size-xl { width: var(--mds-avatar-xl); height: var(--mds-avatar-xl); font-size: calc(var(--mds-avatar-xl) * var(--mds-avatar-count-ratio)); }\n",".mds-Badge__badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--mds-pad-badge-x);\n min-width: var(--mds-badge-size);\n height: var(--mds-badge-size);\n border-radius: var(--mds-radius-pill);\n font: var(--mds-type-meta);\n font-weight: var(--mds-weight-semibold);\n white-space: nowrap;\n}\n\n.mds-Badge__tone-neutral {\n background: var(--mds-surface-sunken);\n color: var(--mds-text-primary);\n}\n\n.mds-Badge__tone-accent {\n background: var(--mds-accent-soft);\n color: var(--mds-text-primary);\n}\n\n/* The promoted marker — full highlight fill where the other tones stay soft. */\n.mds-Badge__tone-highlight {\n background: var(--mds-highlight);\n color: var(--mds-highlight-contrast);\n}\n\n.mds-Badge__tone-danger {\n background: var(--mds-status-danger-soft);\n color: var(--mds-text-primary);\n}\n\n.mds-Badge__tone-warning {\n background: var(--mds-status-warning-soft);\n color: var(--mds-text-primary);\n}\n\n.mds-Badge__tone-success {\n background: var(--mds-status-success-soft);\n color: var(--mds-text-primary);\n}\n",".mds-Chip__chip {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-hairline);\n padding: var(--mds-pad-pill-y) var(--mds-pad-pill-x);\n border-radius: var(--mds-radius-chip);\n font: var(--mds-type-pill);\n white-space: nowrap;\n cursor: default;\n transition: var(--mds-transition-control);\n}\n\n/* A chip's glyph is the size of its label. The pill is barely taller than its\n type, so a step off the icon scale does not fit inside one, and the glyph\n the caller passed would otherwise set the chip's height. */\n.mds-Chip__icon {\n --mds-icon-slot: 1em;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: var(--mds-icon-slot);\n height: var(--mds-icon-slot);\n font-size: var(--mds-icon-slot);\n}\n\n.mds-Chip__icon > svg {\n width: 100%;\n height: 100%;\n}\n\n/* Unselected skins. */\n.mds-Chip__variant-soft {\n background: var(--mds-accent-soft);\n border: var(--mds-border-width) solid transparent;\n color: var(--mds-text-accent);\n}\n\n.mds-Chip__variant-outline {\n background: transparent;\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n color: var(--mds-text-secondary);\n}\n\n/* The promoted pill — full highlight fill where soft/outline stay quiet. */\n.mds-Chip__variant-highlight {\n background: var(--mds-highlight);\n border: var(--mds-border-width) solid transparent;\n color: var(--mds-highlight-contrast);\n}\n\n/* After the variants, so a selected chip wins whichever it was built from. */\n.mds-Chip__selected {\n background: var(--mds-accent);\n border-color: transparent;\n color: var(--mds-accent-contrast);\n}\n\n/* Only the button branch gets pointer + hover feedback; a selected chip is\n already at full accent and would only muddy under a filter. */\n.mds-Chip__interactive {\n cursor: pointer;\n}\n\n.mds-Chip__interactive:not(.mds-Chip__selected):hover {\n filter: brightness(0.97);\n}\n\n.mds-Chip__disabled {\n opacity: 0.5;\n}\n",".mds-ChipGroup__group {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n\n.mds-ChipGroup__gap-hairline {\n gap: var(--mds-gap-hairline);\n}\n\n.mds-ChipGroup__gap-tight {\n gap: var(--mds-gap-tight);\n}\n\n.mds-ChipGroup__gap-base {\n gap: var(--mds-gap);\n}\n",".mds-ChipBar__bar {\n display: flex;\n align-items: center;\n overflow-x: auto;\n scrollbar-width: none;\n min-width: 0;\n}\n\n.mds-ChipBar__gap-hairline {\n gap: var(--mds-gap-hairline);\n}\n\n.mds-ChipBar__gap-tight {\n gap: var(--mds-gap-tight);\n}\n\n.mds-ChipBar__gap-base {\n gap: var(--mds-gap);\n}\n\n/* Frames the strip so its overflow reads as a scroll area. */\n.mds-ChipBar__bordered {\n padding: var(--mds-pad-pill-y) var(--mds-pad-pill-x);\n border-radius: var(--mds-radius-pill);\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n background: var(--mds-surface-sunken);\n}\n\n/* Fade only the trailing edge; the leading chip stays fully legible at rest.\n `black` is a mask stop, not a colour — only its alpha is read, so it is\n theme-independent by definition and deliberately not a token. */\n.mds-ChipBar__fade {\n mask-image: linear-gradient(to right, black calc(100% - var(--mds-fade-w)), transparent);\n}\n\n/* Each child keeps its intrinsic width so the row never wraps. */\n.mds-ChipBar__item {\n flex: none;\n display: flex;\n}\n",".mds-CountButton__button {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-hairline);\n padding: var(--mds-pad-count-y) var(--mds-pad-count-x);\n margin: calc(-1 * var(--mds-pad-count-y)) calc(-1 * var(--mds-pad-count-x));\n border: none;\n background: transparent;\n border-radius: var(--mds-radius-control);\n color: var(--mds-text-secondary);\n font: var(--mds-type-label);\n cursor: pointer;\n transition: var(--mds-transition-control);\n}\n\n.mds-CountButton__button:hover:not(:disabled) {\n background: var(--mds-surface-sunken);\n}\n\n.mds-CountButton__button:active:not(:disabled) {\n background: var(--mds-surface-selected);\n}\n\n.mds-CountButton__button:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n/* Active tint — the glyph inherits it via currentColor. */\n.mds-CountButton__tone-accent {\n color: var(--mds-accent);\n}\n\n.mds-CountButton__tone-danger {\n color: var(--mds-status-danger);\n}\n\n/* The glyph is the button's, not the caller's: a row of these sits on one\n baseline, and the spinner takes the glyph's place while the count is in\n flight, so both stand at the same step or the row reflows on a tap. */\n.mds-CountButton__glyph {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n --mds-icon-slot: var(--mds-icon-md);\n width: var(--mds-icon-slot);\n height: var(--mds-icon-slot);\n font-size: var(--mds-icon-slot);\n}\n\n.mds-CountButton__glyph > svg {\n width: 100%;\n height: 100%;\n}\n",".mds-Field__field {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-hairline);\n}\n\n.mds-Field__label {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n.mds-Field__required {\n color: var(--mds-status-danger);\n margin-left: var(--mds-gap-hairline);\n}\n\n.mds-Field__message {\n font: var(--mds-type-note);\n color: var(--mds-text-secondary);\n}\n\n.mds-Field__error {\n color: var(--mds-status-danger);\n}\n",".mds-Select__wrap {\n position: relative;\n display: inline-flex;\n width: 100%;\n}\n\n.mds-Select__select {\n appearance: none;\n width: 100%;\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-control);\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n font-family: var(--mds-font-body);\n cursor: pointer;\n transition: border-color var(--mds-transition-control);\n}\n\n.mds-Select__select:disabled {\n background: var(--mds-action-disabled-bg);\n color: var(--mds-action-disabled-fg);\n cursor: not-allowed;\n}\n\n.mds-Select__select[aria-invalid=\"true\"] {\n border-color: var(--mds-status-danger);\n}\n\n/* Room for the chevron. */\n.mds-Select__size-sm { height: var(--mds-control-h-sm); padding: 0 calc(var(--mds-pad-tight) + var(--mds-icon-sm) + var(--mds-gap-hairline)) 0 var(--mds-pad-control-sm); font-size: var(--mds-text-control-sm); }\n.mds-Select__size-md { height: var(--mds-control-h-md); padding: 0 calc(var(--mds-pad-tight) + var(--mds-icon-sm) + var(--mds-gap-tight)) 0 var(--mds-pad-control-md); font-size: var(--mds-text-control-md); }\n.mds-Select__size-lg { height: var(--mds-control-h-lg); padding: 0 calc(var(--mds-pad-tight) + var(--mds-icon-sm) + var(--mds-gap-tight)) 0 var(--mds-pad-control-lg); font-size: var(--mds-text-control-lg); }\n\n.mds-Select__chevron {\n position: absolute;\n right: var(--mds-pad-tight);\n top: 50%;\n transform: translateY(-50%);\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n color: var(--mds-text-secondary);\n pointer-events: none;\n}\n",".mds-Overlay__scrim {\n position: fixed;\n inset: 0;\n /* Height beats the bottom inset-0 implies. The keyboard shrinks the visual\n viewport without shrinking 100dvh; a host that mirrors\n visualViewport.height into --mds-vvh keeps sheet and modal above it. */\n height: var(--mds-vvh, 100dvh);\n display: flex;\n background: var(--mds-scrim);\n opacity: 0;\n transition: opacity var(--mds-dur-base) var(--mds-ease-standard);\n}\n\n.mds-Overlay__scrim[data-open] {\n opacity: 1;\n}\n\n.mds-Overlay__variant-modal {\n z-index: var(--mds-z-modal);\n align-items: center;\n justify-content: center;\n padding: var(--mds-pad-page-x);\n}\n\n.mds-Overlay__variant-sheet {\n z-index: var(--mds-z-sheet);\n align-items: flex-end;\n justify-content: center;\n}\n",".mds-Sheet__panel {\n display: flex;\n flex-direction: column;\n width: 100%;\n /* Portalled to <body>, so nothing in the app tree holds it to the app's own\n column — left at 100% it spans a desktop window while the app beside it is\n a phone-width frame. */\n max-width: var(--mds-frame-width);\n /* Of the scrim, which already tracks the visual viewport (--mds-vvh). */\n max-height: 85%;\n /* Portalled past the app chrome, so nothing else reserves the home-bar\n inset for it. */\n padding-bottom: var(--mds-safe-bottom);\n background: var(--mds-surface-raised);\n border-radius: var(--mds-radius-sheet) var(--mds-radius-sheet) 0 0;\n box-shadow: var(--mds-elevation-sheet);\n transform: translateY(100%);\n transition: var(--mds-transition-sheet);\n}\n\n.mds-Sheet__panel[data-open] {\n transform: none;\n}\n\n.mds-Sheet__header {\n display: flex;\n align-items: center;\n gap: var(--mds-gap);\n padding: var(--mds-pad-card) var(--mds-pad-card) 0;\n font: var(--mds-type-panel-title);\n color: var(--mds-text-primary);\n}\n\n.mds-Sheet__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--mds-pad-card);\n}\n\n.mds-Sheet__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--mds-gap);\n padding: 0 var(--mds-pad-card) var(--mds-pad-card);\n}\n\n.mds-Sheet__headerTitle {\n flex: 1;\n min-width: 0;\n}\n\n.mds-Sheet__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: var(--mds-tap-min);\n height: var(--mds-tap-min);\n margin: calc((var(--mds-tap-min) - var(--mds-icon-lg)) / -2);\n margin-left: 0;\n border: none;\n border-radius: var(--mds-radius-pill);\n background: transparent;\n color: var(--mds-text-secondary);\n cursor: pointer;\n}\n\n.mds-Sheet__closeGlyph {\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n","/* Trigger — reads like an Input so it sits beside form fields. */\n.mds-DateTimePicker__trigger {\n display: flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n width: 100%;\n height: var(--mds-control-h-md);\n padding: 0 var(--mds-pad-control-md);\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-control);\n background: var(--mds-surface-card);\n color: var(--mds-text-muted);\n font: var(--mds-type-body);\n text-align: left;\n cursor: pointer;\n transition: var(--mds-transition-control);\n}\n\n.mds-DateTimePicker__trigger:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.mds-DateTimePicker__hasValue {\n color: var(--mds-text-primary);\n}\n\n.mds-DateTimePicker__triggerLabel {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mds-DateTimePicker__glyph {\n flex: none;\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n\n.mds-DateTimePicker__timeRow {\n display: flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n margin-bottom: var(--mds-stack-group);\n color: var(--mds-text-secondary);\n}\n\n.mds-DateTimePicker__grow {\n flex: 1;\n}\n\n.mds-DateTimePicker__meridiem {\n flex: none;\n}\n\n.mds-DateTimePicker__colon {\n color: var(--mds-text-muted);\n}\n\n.mds-DateTimePicker__calendarHeader {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--mds-gap-tight);\n}\n\n.mds-DateTimePicker__monthLabel {\n font: var(--mds-type-subtitle);\n color: var(--mds-text-primary);\n}\n\n.mds-DateTimePicker__weekdays {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n margin-bottom: var(--mds-gap-hairline);\n}\n\n.mds-DateTimePicker__weekday {\n text-align: center;\n font: var(--mds-type-meta);\n color: var(--mds-text-muted);\n}\n\n/* Fixed 6-row height so the panel does not jump between 4/5/6-week months. */\n.mds-DateTimePicker__grid {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n grid-auto-rows: var(--mds-tap-min);\n min-height: calc(6 * var(--mds-tap-min));\n align-items: stretch;\n}\n\n.mds-DateTimePicker__day {\n border: none;\n background: transparent;\n border-radius: var(--mds-radius-control);\n color: var(--mds-text-primary);\n font: var(--mds-type-body);\n cursor: pointer;\n transition: var(--mds-transition-control);\n}\n\n.mds-DateTimePicker__day:hover:not(:disabled) {\n background: var(--mds-surface-sunken);\n}\n\n.mds-DateTimePicker__day:disabled {\n color: var(--mds-text-muted);\n opacity: 0.5;\n cursor: default;\n}\n\n.mds-DateTimePicker__today {\n font-weight: var(--mds-weight-semibold);\n color: var(--mds-text-accent);\n}\n\n.mds-DateTimePicker__selected {\n background: var(--mds-accent);\n color: var(--mds-accent-contrast);\n}\n\n.mds-DateTimePicker__selected:hover:not(:disabled) {\n background: var(--mds-accent-hover);\n}\n\n/* Neighbour-month filler: keeps the week shape, draws no attention. */\n.mds-DateTimePicker__outside {\n visibility: hidden;\n}\n",".mds-Tag__tag {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-hairline);\n padding: var(--mds-pad-tag-y) var(--mds-pad-tag-x);\n border-radius: var(--mds-radius-tag);\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n background: var(--mds-surface-card);\n color: var(--mds-text-secondary);\n font: var(--mds-type-pill);\n white-space: nowrap;\n}\n\n.mds-Tag__tone-accent {\n background: var(--mds-accent-soft);\n border-color: transparent;\n color: var(--mds-text-primary);\n}\n\n.mds-Tag__remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n padding: 0;\n margin-right: calc(-1 * var(--mds-gap-hairline));\n width: var(--mds-icon-md);\n height: var(--mds-icon-md);\n border-radius: var(--mds-radius-pill);\n background: transparent;\n color: inherit;\n cursor: pointer;\n}\n\n.mds-Tag__remove:hover {\n background: var(--mds-surface-sunken);\n}\n\n.mds-Tag__removeGlyph {\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n",".mds-Divider__divider {\n background: var(--mds-border-subtle);\n flex: none;\n}\n\n.mds-Divider__horizontal {\n height: var(--mds-border-width);\n width: 100%;\n}\n\n.mds-Divider__vertical {\n width: var(--mds-border-width);\n align-self: stretch;\n}\n",".mds-Skeleton__skeleton {\n display: block;\n background: var(--mds-surface-sunken);\n animation: mds-Skeleton__pulse var(--mds-dur-pulse) var(--mds-ease-standard) infinite;\n width: var(--skeleton-w, 100%);\n}\n\n.mds-Skeleton__variant-text {\n height: var(--skeleton-h, 1em);\n border-radius: var(--mds-radius-skeleton);\n}\n\n.mds-Skeleton__variant-rect {\n height: var(--skeleton-h, var(--mds-skeleton-h));\n border-radius: var(--mds-radius-media);\n}\n\n.mds-Skeleton__variant-circle {\n width: var(--skeleton-w, var(--mds-avatar-md));\n height: var(--skeleton-h, var(--mds-avatar-md));\n border-radius: var(--mds-radius-pill);\n}\n\n@keyframes mds-Skeleton__pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.55; }\n}\n",".mds-ProgressBar__track {\n display: block;\n width: 100%;\n height: var(--mds-progress-h);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-surface-sunken);\n overflow: hidden;\n}\n\n.mds-ProgressBar__fill {\n display: block;\n height: 100%;\n width: var(--progress, 0%);\n border-radius: inherit;\n background: var(--mds-accent);\n transition: width var(--mds-transition-control);\n}\n\n.mds-ProgressBar__indeterminate .mds-ProgressBar__fill {\n width: 40%;\n animation: mds-ProgressBar__slide var(--mds-dur-pulse) var(--mds-ease-standard) infinite;\n}\n\n@keyframes mds-ProgressBar__slide {\n from { transform: translateX(-100%); }\n to { transform: translateX(250%); }\n}\n",".mds-Input__input {\n width: 100%;\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-control);\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n font-family: var(--mds-font-body);\n transition: border-color var(--mds-transition-control);\n}\n\n.mds-Input__input::placeholder {\n color: var(--mds-text-muted);\n}\n\n.mds-Input__input:disabled {\n background: var(--mds-action-disabled-bg);\n color: var(--mds-action-disabled-fg);\n cursor: not-allowed;\n}\n\n.mds-Input__input[aria-invalid=\"true\"] {\n border-color: var(--mds-status-danger);\n}\n\n.mds-Input__size-sm { height: var(--mds-control-h-sm); padding: 0 var(--mds-pad-control-sm); font-size: var(--mds-text-control-sm); }\n.mds-Input__size-md { height: var(--mds-control-h-md); padding: 0 var(--mds-pad-control-md); font-size: var(--mds-text-control-md); }\n.mds-Input__size-lg { height: var(--mds-control-h-lg); padding: 0 var(--mds-pad-control-lg); font-size: var(--mds-text-control-lg); }\n\n/* Icon slots overlay the input's edges; the input pads out of their way.\n The clearance is fixed across sizes — icons don't grow with the field — so\n the slot states that same step and the glyph cannot disagree with the\n padding reserved for it. */\n.mds-Input__iconWrap {\n position: relative;\n display: block;\n width: 100%;\n}\n\n.mds-Input__icon {\n --mds-icon-slot: var(--mds-icon-md);\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--mds-icon-slot);\n height: var(--mds-icon-slot);\n font-size: var(--mds-icon-slot);\n color: var(--mds-text-muted);\n pointer-events: none;\n}\n\n.mds-Input__icon > svg {\n width: 100%;\n height: 100%;\n}\n\n.mds-Input__iconLeft { left: var(--mds-pad-control-md); }\n.mds-Input__iconRight { right: var(--mds-pad-control-md); }\n\n.mds-Input__with-icon-left { padding-left: calc(var(--mds-pad-control-md) + var(--mds-icon-md) + var(--mds-gap-tight)); }\n.mds-Input__with-icon-right { padding-right: calc(var(--mds-pad-control-md) + var(--mds-icon-md) + var(--mds-gap-tight)); }\n",".mds-PasswordInput__wrap {\n position: relative;\n display: block;\n}\n\n.mds-PasswordInput__input {\n width: 100%;\n /* Room for the toggle: its hit target plus the usual inline padding. */\n padding-right: calc(var(--mds-control-h-md) + var(--mds-gap-hairline));\n}\n\n.mds-PasswordInput__toggle {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--mds-control-h-md);\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n color: var(--mds-text-muted);\n font-size: var(--mds-icon-sm);\n cursor: pointer;\n transition: color var(--mds-transition-control);\n}\n\n.mds-PasswordInput__toggle:hover {\n color: var(--mds-text-primary);\n}\n",".mds-Textarea__textarea {\n width: 100%;\n padding: var(--mds-pad-tight) var(--mds-pad-control-md);\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-control);\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n font-family: var(--mds-font-body);\n font-size: var(--mds-text-control);\n line-height: var(--mds-leading-normal);\n resize: vertical;\n transition: border-color var(--mds-transition-control);\n}\n\n.mds-Textarea__textarea::placeholder {\n color: var(--mds-text-muted);\n}\n\n.mds-Textarea__textarea:disabled {\n background: var(--mds-action-disabled-bg);\n color: var(--mds-action-disabled-fg);\n cursor: not-allowed;\n resize: none;\n}\n\n.mds-Textarea__textarea[aria-invalid=\"true\"] {\n border-color: var(--mds-status-danger);\n}\n\n.mds-Textarea__wrap {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: var(--mds-gap-hairline);\n}\n\n.mds-Textarea__count {\n font: var(--mds-type-meta);\n color: var(--mds-text-muted);\n}\n",".mds-Checkbox__root {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n cursor: pointer;\n}\n\n.mds-Checkbox__root:has(.mds-Checkbox__box:disabled) {\n cursor: not-allowed;\n}\n\n.mds-Checkbox__box {\n appearance: none;\n flex: none;\n margin: 0;\n width: var(--mds-check-size);\n height: var(--mds-check-size);\n /* em-based checkmark geometry scales with the box. */\n font-size: var(--mds-check-size);\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-checkbox);\n background: var(--mds-surface-card);\n display: inline-grid;\n place-content: center;\n cursor: inherit;\n transition: var(--mds-transition-control);\n position: relative;\n}\n\n.mds-Checkbox__box:checked {\n background: var(--mds-action-bg);\n border-color: var(--mds-action-bg);\n}\n\n.mds-Checkbox__box:checked::after {\n content: \"\";\n width: 0.32em;\n height: 0.6em;\n margin-top: -0.12em;\n border: solid var(--mds-action-fg);\n border-width: 0 calc(var(--mds-border-width) * 2) calc(var(--mds-border-width) * 2) 0;\n transform: rotate(45deg);\n}\n\n.mds-Checkbox__box:disabled {\n background: var(--mds-action-disabled-bg);\n border-color: var(--mds-border-strong);\n}\n\n.mds-Checkbox__box:disabled:checked::after {\n border-color: var(--mds-action-disabled-fg);\n}\n\n.mds-Checkbox__label {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n.mds-Checkbox__box:disabled ~ .mds-Checkbox__label {\n color: var(--mds-action-disabled-fg);\n}\n\n/* The target measures 44px in both axes without the control taking 44px of\n layout. A bare control is usually dropped into someone else's row — a list\n row's trailing slot — and a min-height on the root forced that whole row\n taller than its content. WCAG 2.5.8 measures the target, not the painted box,\n so the target is an out-of-flow pseudo-element instead. */\n.mds-Checkbox__box::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n translate: -50% -50%;\n width: max(100%, var(--mds-tap-min));\n height: max(100%, var(--mds-tap-min));\n}\n",".mds-Radio__root {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n cursor: pointer;\n}\n\n.mds-Radio__root:has(.mds-Radio__dot:disabled) {\n cursor: not-allowed;\n}\n\n.mds-Radio__dot {\n appearance: none;\n flex: none;\n margin: 0;\n width: var(--mds-check-size);\n height: var(--mds-check-size);\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-surface-card);\n display: inline-grid;\n place-content: center;\n cursor: inherit;\n transition: var(--mds-transition-control);\n position: relative;\n}\n\n.mds-Radio__dot:checked {\n border-color: var(--mds-action-bg);\n}\n\n.mds-Radio__dot:checked::after {\n content: \"\";\n width: 50%;\n height: 50%;\n border-radius: var(--mds-radius-pill);\n background: var(--mds-action-bg);\n}\n\n.mds-Radio__dot:disabled {\n background: var(--mds-action-disabled-bg);\n border-color: var(--mds-border-strong);\n}\n\n.mds-Radio__dot:disabled:checked::after {\n background: var(--mds-action-disabled-fg);\n}\n\n.mds-Radio__label {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n.mds-Radio__dot:disabled ~ .mds-Radio__label {\n color: var(--mds-action-disabled-fg);\n}\n\n/* The target measures 44px in both axes without the control taking 44px of\n layout. A bare control is usually dropped into someone else's row — a list\n row's trailing slot — and a min-height on the root forced that whole row\n taller than its content. WCAG 2.5.8 measures the target, not the painted box,\n so the target is an out-of-flow pseudo-element instead. */\n.mds-Radio__dot::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n translate: -50% -50%;\n width: max(100%, var(--mds-tap-min));\n height: max(100%, var(--mds-tap-min));\n}\n",".mds-Switch__root {\n display: inline-flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n cursor: pointer;\n}\n\n.mds-Switch__root:has(.mds-Switch__track:disabled) {\n cursor: not-allowed;\n}\n\n.mds-Switch__track {\n appearance: none;\n flex: none;\n margin: 0;\n width: var(--mds-switch-w);\n height: var(--mds-switch-h);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-border-strong);\n position: relative;\n cursor: inherit;\n transition: background-color var(--mds-transition-control);\n}\n\n.mds-Switch__track::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: var(--mds-switch-inset);\n transform: translateY(-50%);\n width: var(--mds-switch-knob);\n height: var(--mds-switch-knob);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-surface-card);\n transition: transform var(--mds-transition-control);\n}\n\n.mds-Switch__track:checked {\n background: var(--mds-action-bg);\n}\n\n.mds-Switch__track:checked::after {\n transform: translateY(-50%)\n translateX(calc(var(--mds-switch-w) - var(--mds-switch-knob) - 2 * var(--mds-switch-inset)));\n}\n\n.mds-Switch__track:disabled {\n background: var(--mds-action-disabled-bg);\n}\n\n.mds-Switch__track:disabled::after {\n background: var(--mds-action-disabled-fg);\n}\n\n/* Hosts the busy spinner over the track without moving the input. */\n.mds-Switch__trackWrap {\n position: relative;\n display: inline-flex;\n flex: none;\n}\n\n.mds-Switch__spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: var(--mds-text-secondary);\n pointer-events: none;\n}\n\n.mds-Switch__label {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n/* The label sits beside the wrapper, not the input — climb via :has. */\n.mds-Switch__root:has(.mds-Switch__track:disabled) .mds-Switch__label {\n color: var(--mds-action-disabled-fg);\n}\n\n/* The target measures 44px in both axes without the control taking 44px of\n layout. A bare control is usually dropped into someone else's row — a list\n row's trailing slot — and a min-height on the root forced that whole row\n taller than its content. WCAG 2.5.8 measures the target, not the painted box,\n so the target is an out-of-flow pseudo-element instead. */\n.mds-Switch__track::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n translate: -50% -50%;\n width: max(100%, var(--mds-tap-min));\n height: max(100%, var(--mds-tap-min));\n}\n",".mds-SegmentedControl__group {\n display: inline-flex;\n padding: var(--mds-pad-segment);\n gap: var(--mds-gap-hairline);\n background: var(--mds-surface-sunken);\n border-radius: var(--mds-radius-control);\n}\n\n.mds-SegmentedControl__segment {\n display: inline-flex;\n position: relative;\n cursor: pointer;\n}\n\n.mds-SegmentedControl__fullWidth {\n display: flex;\n}\n\n.mds-SegmentedControl__fullWidth .mds-SegmentedControl__segment {\n flex: 1;\n}\n\n.mds-SegmentedControl__fullWidth .mds-SegmentedControl__face {\n flex: 1;\n}\n\n/* Radio overlays the whole segment, invisible but real — it stays the hit\n target and the focusable element. */\n.mds-SegmentedControl__input {\n appearance: none;\n margin: 0;\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: inherit;\n}\n\n.mds-SegmentedControl__face {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: calc(var(--mds-control-h-md) - 2 * var(--mds-pad-segment));\n padding: 0 var(--mds-pad-pill-x);\n border-radius: var(--mds-radius-segment);\n font: var(--mds-type-pill);\n color: var(--mds-text-secondary);\n white-space: nowrap;\n transition: var(--mds-transition-control);\n}\n\n.mds-SegmentedControl__input:checked + .mds-SegmentedControl__face {\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n box-shadow: var(--mds-elevation-card);\n}\n\n/* Unavailable is a color, not a fade — matches the control convention. */\n.mds-SegmentedControl__input:disabled + .mds-SegmentedControl__face {\n color: var(--mds-action-disabled-fg);\n cursor: not-allowed;\n}\n\n.mds-SegmentedControl__input:disabled:checked + .mds-SegmentedControl__face {\n background: var(--mds-action-disabled-bg);\n box-shadow: none;\n}\n\n.mds-SegmentedControl__segment:has(.mds-SegmentedControl__input:disabled) {\n cursor: not-allowed;\n}\n\n.mds-SegmentedControl__input:focus-visible + .mds-SegmentedControl__face {\n outline: var(--mds-focus-width) solid var(--mds-focus-ring-color);\n outline-offset: var(--mds-focus-offset);\n}\n",".mds-SearchField__wrap {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: 100%;\n}\n\n.mds-SearchField__glass {\n position: absolute;\n left: var(--mds-pad-control-md);\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n color: var(--mds-text-muted);\n pointer-events: none;\n}\n\n.mds-SearchField__input {\n width: 100%;\n height: var(--mds-control-h-md);\n padding: 0 calc(var(--mds-pad-tight) + var(--mds-icon-lg) + var(--mds-gap-tight))\n 0 calc(var(--mds-pad-control-md) + var(--mds-icon-sm) + var(--mds-gap-hairline));\n border: var(--mds-border-width) solid var(--mds-control-border);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-surface-card);\n color: var(--mds-text-primary);\n font-family: var(--mds-font-body);\n font-size: var(--mds-text-control);\n transition: border-color var(--mds-transition-control);\n}\n\n.mds-SearchField__input::placeholder {\n color: var(--mds-text-muted);\n}\n\n/* Native clear crosses collide with ours. */\n.mds-SearchField__input::-webkit-search-cancel-button {\n display: none;\n}\n\n.mds-SearchField__clear {\n position: absolute;\n right: var(--mds-pad-tight);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--mds-icon-lg);\n height: var(--mds-icon-lg);\n border: none;\n border-radius: var(--mds-radius-pill);\n background: transparent;\n color: var(--mds-text-secondary);\n cursor: pointer;\n}\n\n.mds-SearchField__clear:hover {\n background: var(--mds-surface-sunken);\n}\n\n.mds-SearchField__clearGlyph {\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n",".mds-List__group {\n list-style: none;\n margin: 0;\n padding: 0;\n background: var(--mds-surface-card);\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n border-radius: var(--mds-radius-card);\n overflow: hidden;\n}\n\n.mds-List__labelledGroup {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-tight);\n}\n\n/* The heading sits over the card, aligned with the rows' text rather than\n with the card's edge — the rows' own padding is what the eye reads as the\n list's left margin, so a heading flush with the border reads as indented\n the other way. */\n.mds-List__label {\n padding-inline: var(--mds-pad-card); /* matches the rows' inline padding */\n font-weight: var(--mds-weight-semibold);\n font-size: var(--mds-text-section);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--mds-text-secondary);\n}\n\n/* Separators belong to the group — standalone rows sitting side by side\n keep their own borders instead. */\n.mds-List__group > .mds-List__item + .mds-List__item {\n border-top: var(--mds-border-width) solid var(--mds-border-subtle);\n}\n\n/* Standalone surfaces. The row paints its own background: a wrapper's paint\n would bring a wrapper's corner radius with it. */\n.mds-List__surface-card,\n.mds-List__surface-sunken,\n.mds-List__surface-accent {\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n border-radius: var(--mds-radius-card);\n}\n\n.mds-List__surface-card { background: var(--mds-surface-card); }\n.mds-List__surface-sunken { background: var(--mds-surface-sunken); }\n\n/* The prompt row: full-strength accent on the left edge, soft fill behind.\n Longhands so a call site's border-color override still lands. */\n.mds-List__surface-accent {\n border-left-width: var(--mds-edge-width);\n border-left-color: var(--mds-accent);\n background: var(--mds-accent-soft);\n}\n\n/* Paints nothing on purpose — transparent, not unset, so a row on a tinted\n parent shows what's behind it. */\n.mds-List__surface-plain {\n background: transparent;\n border: 0;\n border-radius: 0;\n}\n\n.mds-List__row {\n display: flex;\n align-items: center;\n gap: var(--mds-gap);\n width: 100%;\n min-height: var(--mds-tap-min);\n padding: var(--mds-pad-item-y) var(--mds-pad-card);\n text-align: left;\n color: inherit;\n text-decoration: none;\n}\n\n/* Interactive rows reset button chrome and signal affordance. */\n.mds-List__interactive {\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n transition: background-color var(--mds-transition-control);\n}\n\n.mds-List__interactive:hover {\n background: var(--mds-surface-sunken);\n}\n\n.mds-List__leading,\n.mds-List__trailing {\n display: inline-flex;\n flex: none;\n align-items: center;\n}\n\n.mds-List__text {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-hairline);\n min-width: 0;\n flex: 1;\n}\n\n.mds-List__title {\n font: var(--mds-type-item-title);\n color: var(--mds-text-primary);\n}\n\n.mds-List__description {\n font: var(--mds-type-note);\n color: var(--mds-text-secondary);\n}\n",".mds-EmptyState__root {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n gap: var(--mds-stack-item);\n padding: var(--mds-pad-empty-y) var(--mds-pad-card);\n}\n\n.mds-EmptyState__icon {\n display: inline-flex;\n color: var(--mds-text-muted);\n}\n\n.mds-EmptyState__action {\n margin-top: var(--mds-gap-tight);\n}\n",".mds-Tabs__list {\n display: flex;\n gap: var(--mds-gap-hairline);\n border-bottom: var(--mds-border-width) solid var(--mds-border-subtle);\n}\n\n.mds-Tabs__tab {\n border: none;\n background: transparent;\n padding: var(--mds-pad-tab-y) var(--mds-pad-tab-x);\n margin-bottom: calc(-1 * var(--mds-border-width));\n border-bottom: calc(2 * var(--mds-border-width)) solid transparent;\n font: var(--mds-type-label);\n color: var(--mds-text-secondary);\n cursor: pointer;\n white-space: nowrap;\n transition: color var(--mds-transition-control);\n}\n\n.mds-Tabs__tab:hover {\n color: var(--mds-text-primary);\n}\n\n.mds-Tabs__selected {\n color: var(--mds-text-primary);\n border-bottom-color: var(--mds-accent);\n}\n\n.mds-Tabs__panel {\n padding-top: var(--mds-stack-item);\n}\n",".mds-Toast__viewport {\n position: fixed;\n bottom: calc(var(--mds-toast-inset) + var(--mds-safe-bottom));\n left: 50%;\n transform: translateX(-50%);\n z-index: var(--mds-z-toast);\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-tight);\n width: min(var(--mds-toast-w), calc(100vw - 2 * var(--mds-toast-inset)));\n pointer-events: none;\n}\n\n.mds-Toast__toast {\n display: flex;\n align-items: flex-start;\n gap: var(--mds-gap);\n padding: var(--mds-pad-toast-y) var(--mds-pad-toast-x);\n border-radius: var(--mds-radius-card);\n border-left: calc(3 * var(--mds-border-width)) solid var(--mds-border-strong);\n background: var(--mds-surface-raised);\n box-shadow: var(--mds-elevation-modal);\n pointer-events: auto;\n}\n\n.mds-Toast__tone-success { border-left-color: var(--mds-status-success); }\n.mds-Toast__tone-danger { border-left-color: var(--mds-status-danger); }\n\n.mds-Toast__body {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap-hairline);\n flex: 1;\n min-width: 0;\n}\n\n.mds-Toast__title {\n font: var(--mds-type-label);\n color: var(--mds-text-primary);\n}\n\n.mds-Toast__description {\n font: var(--mds-type-note);\n color: var(--mds-text-secondary);\n}\n\n.mds-Toast__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: var(--mds-icon-lg);\n height: var(--mds-icon-lg);\n border: none;\n border-radius: var(--mds-radius-pill);\n background: transparent;\n color: var(--mds-text-secondary);\n cursor: pointer;\n}\n\n.mds-Toast__close:hover {\n background: var(--mds-surface-sunken);\n}\n\n.mds-Toast__closeGlyph {\n width: var(--mds-icon-sm);\n height: var(--mds-icon-sm);\n}\n",".mds-Stack__stack {\n display: flex;\n flex-direction: column;\n}\n\n.mds-Stack__gap-hairline { gap: var(--mds-gap-hairline); }\n.mds-Stack__gap-tight { gap: var(--mds-gap-tight); }\n.mds-Stack__gap-base { gap: var(--mds-gap); }\n.mds-Stack__gap-loose { gap: var(--mds-gap-loose); }\n.mds-Stack__gap-section { gap: var(--mds-stack-section); }\n\n.mds-Stack__align-start { align-items: flex-start; }\n.mds-Stack__align-center { align-items: center; }\n.mds-Stack__align-end { align-items: flex-end; }\n.mds-Stack__align-stretch { align-items: stretch; }\n",".mds-Inline__inline {\n display: flex;\n flex-direction: row;\n}\n\n.mds-Inline__gap-hairline { gap: var(--mds-gap-hairline); }\n.mds-Inline__gap-tight { gap: var(--mds-gap-tight); }\n.mds-Inline__gap-base { gap: var(--mds-gap); }\n.mds-Inline__gap-loose { gap: var(--mds-gap-loose); }\n\n.mds-Inline__align-start { align-items: flex-start; }\n.mds-Inline__align-center { align-items: center; }\n.mds-Inline__align-end { align-items: flex-end; }\n.mds-Inline__align-baseline { align-items: baseline; }\n\n.mds-Inline__justify-start { justify-content: flex-start; }\n.mds-Inline__justify-center { justify-content: center; }\n.mds-Inline__justify-end { justify-content: flex-end; }\n.mds-Inline__justify-between { justify-content: space-between; }\n\n.mds-Inline__wrap {\n flex-wrap: wrap;\n}\n",".mds-Container__container {\n width: 100%;\n margin-inline: auto;\n padding-inline: var(--mds-pad-page-x);\n}\n\n.mds-Container__width-content { max-width: var(--mds-content-max); }\n.mds-Container__width-wide { max-width: var(--mds-content-max-wide); }\n",".mds-Card__card {\n display: flex;\n flex-direction: column;\n gap: var(--mds-gap);\n background: var(--mds-surface-card);\n border: var(--mds-border-width) solid var(--mds-border-subtle);\n border-radius: var(--mds-radius-card);\n overflow: hidden;\n color: inherit;\n text-decoration: none;\n}\n\n.mds-Card__variant-raised {\n border-color: transparent;\n background: var(--mds-surface-raised);\n box-shadow: var(--mds-elevation-raised);\n}\n\n.mds-Card__variant-sunken {\n background: var(--mds-surface-sunken);\n}\n\n/* Slightly heavier than the plain border so the accent reads at the same\n visual weight. */\n.mds-Card__emphasis {\n border: var(--mds-border-emphasis) solid var(--mds-accent);\n}\n\n/* Whole-card button/link resets + affordance. */\n.mds-Card__interactive {\n padding: 0;\n margin: 0;\n font: inherit;\n text-align: left;\n cursor: pointer;\n transition: box-shadow var(--mds-transition-surface), background-color var(--mds-transition-surface);\n}\n\n.mds-Card__interactive:hover {\n box-shadow: var(--mds-elevation-hover);\n}\n\n.mds-Card__header {\n display: flex;\n align-items: center;\n gap: var(--mds-gap);\n font: var(--mds-type-card-title);\n color: var(--mds-text-primary);\n}\n\n/* A lone child is the header row, so it gets the width AppBar gives its title. */\n.mds-Card__header > :only-child {\n flex: 1;\n min-width: 0;\n}\n\n.mds-Card__body {\n flex: 1;\n}\n\n/* The card clips its overflow, so a row of actions that outgrows one line has\n to fall to the next rather than disappear off the edge. */\n.mds-Card__footer {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mds-gap);\n}\n\n/* A slot pays for the card edge it sits against; the card's own gap pays for\n the space between two of them. Padding the outer edges from each slot instead\n left a header above a footer with nothing between them, and a card ending on\n its header with no bottom padding at all. */\n.mds-Card__header,\n.mds-Card__body,\n.mds-Card__footer {\n padding: 0 var(--mds-pad-card);\n}\n\n.mds-Card__header:first-child,\n.mds-Card__body:first-child,\n.mds-Card__footer:first-child {\n padding-top: var(--mds-pad-card);\n}\n\n.mds-Card__header:last-child,\n.mds-Card__body:last-child,\n.mds-Card__footer:last-child {\n padding-bottom: var(--mds-pad-card);\n}\n",".mds-Modal__panel {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: var(--mds-modal-w);\n max-height: 85dvh;\n background: var(--mds-surface-raised);\n border-radius: var(--mds-radius-modal);\n box-shadow: var(--mds-elevation-modal);\n opacity: 0;\n transform: scale(0.96);\n transition:\n opacity var(--mds-dur-base) var(--mds-ease-standard),\n transform var(--mds-dur-base) var(--mds-ease-standard);\n}\n\n.mds-Modal__panel[data-open] {\n opacity: 1;\n transform: none;\n}\n\n.mds-Modal__header {\n display: flex;\n align-items: center;\n gap: var(--mds-gap);\n padding: var(--mds-pad-card) var(--mds-pad-card) 0;\n font: var(--mds-type-panel-title);\n color: var(--mds-text-primary);\n}\n\n.mds-Modal__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--mds-pad-card);\n}\n\n.mds-Modal__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--mds-gap);\n padding: 0 var(--mds-pad-card) var(--mds-pad-card);\n}\n",".mds-ConfirmDialog__description {\n margin: 0;\n font: var(--mds-type-body);\n color: var(--mds-text-secondary);\n}\n\n.mds-ConfirmDialog__error {\n margin: 0;\n font: var(--mds-type-body);\n color: var(--mds-status-danger);\n}\n","/* Needs a host with a resolved height — the app root, a device frame, or a\n `flex: 1; min-height: 0` slot. The host owns the viewport (see Screen.tsx);\n claiming the viewport height here would overflow any frame the keyboard has shrunk. */\n.mds-Screen__screen {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mds-surface-page);\n}\n\n/* min-height: 0 is what lets the region shrink inside the flex column and\n keep the scroll, instead of growing the screen and handing the scroll to\n whatever contains it. */\n.mds-Screen__content {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: var(--mds-pad-page-y) var(--mds-pad-page-x);\n}\n\n.mds-Screen__content.mds-Screen__flush {\n padding: 0;\n}\n",".mds-AppBar__bar {\n position: sticky;\n top: 0;\n z-index: var(--mds-z-header);\n display: flex;\n align-items: center;\n gap: var(--mds-gap-tight);\n height: var(--mds-header-h);\n padding-inline: var(--mds-pad-page-x);\n background: var(--mds-surface-page);\n border-bottom: var(--mds-border-width) solid var(--mds-border-subtle);\n}\n\n.mds-AppBar__title {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n margin: 0;\n font: var(--mds-type-panel-title);\n color: var(--mds-text-primary);\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n/* Title + subtitle stack. Takes over the title's flex share; the title\n inside keeps its own ellipsis. */\n.mds-AppBar__text {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.mds-AppBar__text .mds-AppBar__title {\n flex: none;\n}\n\n.mds-AppBar__subtitle {\n min-width: 0;\n overflow: hidden;\n font: var(--mds-type-note);\n color: var(--mds-text-secondary);\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.mds-AppBar__slot {\n display: flex;\n align-items: center;\n gap: var(--mds-gap-hairline);\n}\n\n/* The actions belong at the end even when no title is there to push them:\n auto margin absorbs the free space the missing flex child leaves behind.\n With a title present its flex share is already 1, so this is a no-op. */\n.mds-AppBar__trailing {\n margin-inline-start: auto;\n}\n",".mds-TabBar__bar {\n position: sticky;\n bottom: 0;\n z-index: var(--mds-z-tabbar);\n display: flex;\n align-items: stretch;\n /* The raised action stands inside this box instead of hanging out of the top\n of it. A child outside its parent is at the mercy of every ancestor's\n overflow and of paint order, and a z-index buys nothing for the part that\n is not in the box. The strip it stands in is transparent and taken back out\n of the flow, so the screen above keeps its height and scrolls under it. */\n margin-top: calc(-1 * var(--mds-tabbar-action-lift));\n /* The home-bar inset is added to the bar, not spent out of it: the box is\n border-box, so padding alone would take the inset out of the height the\n items stand in and squash them against the edge on a device that has one. */\n height: calc(var(--mds-tabbar-h) + var(--mds-tabbar-action-lift) + var(--mds-safe-bottom));\n padding: var(--mds-tabbar-action-lift) var(--mds-tabbar-pad-x) calc(var(--mds-tabbar-seat) + var(--mds-safe-bottom));\n}\n\n/* The bar's surface. Drawn as a layer rather than as the bar's own background\n so it stops below the lifted strip, which has to stay transparent for the\n action to read as rising out of the bar. Behind the items (z-index -1) and\n trapped in the bar's stacking context, so it cannot fall behind the screen. */\n.mds-TabBar__bar::before {\n content: \"\";\n position: absolute;\n z-index: -1;\n inset: var(--mds-tabbar-action-lift) 0 0;\n background: var(--mds-surface-page);\n border-top: var(--mds-border-width) solid var(--mds-border-subtle);\n}\n\n.mds-TabBar__item {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--mds-gap-hairline);\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n font: var(--mds-type-tab);\n color: var(--mds-text-muted);\n text-decoration: none;\n transition: color var(--mds-transition-control);\n}\n\n.mds-TabBar__item:hover {\n color: var(--mds-text-secondary);\n}\n\n.mds-TabBar__active,\n.mds-TabBar__active:hover {\n color: var(--mds-text-accent);\n}\n\n/* A tab's glyph is a step of its own, above the icon scale — see\n --mds-tabbar-icon. Published as the slot so an icon that states no size of\n its own takes it, and so does an icon set that can only size itself. */\n.mds-TabBar__icon {\n position: relative; /* anchors the badge dot */\n display: inline-flex;\n --mds-icon-slot: var(--mds-tabbar-icon);\n width: var(--mds-icon-slot);\n height: var(--mds-icon-slot);\n font-size: var(--mds-icon-slot);\n}\n\n.mds-TabBar__icon > svg {\n width: 100%;\n height: 100%;\n}\n\n/* Attention dot, pinned to the icon's top-right corner. */\n.mds-TabBar__badge {\n position: absolute;\n top: var(--mds-dot-offset-y);\n right: var(--mds-dot-offset-x);\n width: var(--mds-dot);\n height: var(--mds-dot);\n border-radius: var(--mds-radius-pill);\n background: var(--mds-status-danger);\n /* Ring in the bar's color so the dot stays legible over the glyph. */\n box-shadow: 0 0 0 var(--mds-dot-ring) var(--mds-surface-page);\n}\n\n/* A caption never wraps: the bar's height is fixed, and a translation twice\n the length of the English would push the glyph out of it. */\n.mds-TabBar__label {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* The raised center action. Aligned to the top of the bar's content, then\n pulled up by the lift so it sits flush with the bar's own top edge — above\n the surface, still inside the box. Not centred: flex centring measures the\n margin box, so a negative margin there moves nothing. */\n.mds-TabBar__action {\n flex: none;\n align-self: flex-start;\n width: var(--mds-tabbar-action);\n height: var(--mds-tabbar-action);\n margin-top: calc(-1 * var(--mds-tabbar-action-lift));\n border: none;\n border-radius: var(--mds-radius-pill);\n background: var(--mds-accent);\n color: var(--mds-accent-contrast);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-shadow: var(--mds-elevation-raised);\n cursor: pointer;\n transition: background-color var(--mds-transition-control);\n}\n\n.mds-TabBar__action:hover {\n background: var(--mds-accent-hover);\n}\n"],"mappings":";AAAA,CAAC;AACC,UAAQ;AACV;AAGA,CAAC;AAAyB,QAAM,IAAI;AAAkB;AACtD,CAAC;AAA0B,QAAM,IAAI;AAAmB;AACxD,CAAC;AAAyB,QAAM,IAAI;AAAkB;AACtD,CAAC;AAAyB,QAAM,IAAI;AAAkB;AACtD,CAAC;AACC,QAAM,IAAI;AACV,kBAAgB,IAAI;AACpB,kBAAgB;AAClB;AAGA,CAAC;AAAyB,SAAO,IAAI;AAAqB;AAC1D,CAAC;AAA2B,SAAO,IAAI;AAAuB;AAC9D,CAAC;AAAuB,SAAO,IAAI;AAAmB;AACtD,CAAC;AAAyB,SAAO,IAAI;AAAqB;AAC1D,CAAC;AAAwB,SAAO,IAAI;AAAoB;AACxD,CAAC;AAA0B,SAAO,IAAI;AAAsB;AAC5D,CAAC;AAAwB,SAAO,IAAI;AAAsB;AAC1D,CAAC;AAAyB,SAAO,IAAI;AAAuB;AAC5D,CAAC;AAAyB,SAAO,IAAI;AAAuB;AAE5D,CAAC;AAAuB,cAAY;AAAM;AAC1C,CAAC;AAAyB,cAAY;AAAQ;AAC9C,CAAC;AAAwB,cAAY;AAAO;AAE5C,CAAC;AACC,YAAU;AACV,eAAa;AACb,iBAAe;AACjB;;;AClCA,CAAC;AACC,UAAQ;AACV;AAEA,CAAC;AACC,QAAM,IAAI;AACV,kBAAgB,IAAI;AACtB;AACA,CAAC;AAA6B,QAAM,IAAI;AAAmB;AAC3D,CAAC;AAAgC,QAAM,IAAI;AAAsB;AAEjE,CAAC;AAA4B,SAAO,IAAI;AAAqB;AAC7D,CAAC;AAA8B,SAAO,IAAI;AAAuB;AACjE,CAAC;AAA4B,SAAO,IAAI;AAAqB;AAC7D,CAAC;AAA2B,SAAO,IAAI;AAAoB;AAC3D,CAAC;AAA6B,SAAO,IAAI;AAAsB;;;ACf/D,WAAW;AACT;AAAK,eAAW,OAAO;AAAS;AAClC;AAEA,CAAC;AACC,WAAS;AACT,QAAM;AACN,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,UAAQ,IAAI,kBAAkB,MAAM,IAAI;AACxC,oBAAkB;AAClB,iBAAe,IAAI;AACnB,aAAW,kBAAkB,KAAK,OAAO;AAC3C;;;ACbA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,QAAM;AACN,SAAO;AACT;AAKA,CAAC;AACC,SAAO,IAAI,eAAe,EAAE,IAAI;AAChC,UAAQ,IAAI,eAAe,EAAE,IAAI;AACjC,aAAW,IAAI,eAAe,EAAE,IAAI;AACtC;AAEA,CAAC;AAAoB,SAAO,IAAI;AAAgB,UAAQ,IAAI;AAAgB,aAAW,IAAI;AAAgB;AAC3G,CAAC;AAAoB,SAAO,IAAI;AAAgB,UAAQ,IAAI;AAAgB,aAAW,IAAI;AAAgB;AAC3G,CAAC;AAAoB,SAAO,IAAI;AAAgB,UAAQ,IAAI;AAAgB,aAAW,IAAI;AAAgB;;;ACnB3G,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,OAAK,IAAI;AAIT,UAAQ,IAAI,uBAAuB,MAAM;AACzC,iBAAe,IAAI;AACnB,eAAa,IAAI;AACjB,eAAa,IAAI;AACjB,eAAa;AACb,eAAa;AACb,UAAQ;AACR,mBAAiB;AACjB,cAAY,iBAAiB,IAAI,yBAAyB,EAAE,MAAM,IAAI;AACxE;AAIA,CAAC;AACC,UAAQ,IAAI;AACZ,WAAS,EAAE,IAAI;AACf,aAAW,IAAI;AACf,mBAAiB,IAAI;AACvB;AAEA,CAAC;AACC,UAAQ,IAAI;AACZ,WAAS,EAAE,IAAI;AACf,aAAW,IAAI;AACf,mBAAiB,IAAI;AACvB;AAEA,CAAC;AACC,UAAQ,IAAI;AACZ,WAAS,EAAE,IAAI;AACf,aAAW,IAAI;AACf,mBAAiB,IAAI;AACvB;AAMA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,QAAM;AACN,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,aAAW,IAAI;AACjB;AAEA,CAVC,iBAUiB,EAAE;AAClB,SAAO;AACP,UAAQ;AACV;AAGA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAEA,CALC,2BAK2B,MAAM,KAAK;AAAa,cAAY,IAAI;AAAwB;AAC5F,CANC,2BAM2B,OAAO,KAAK;AAAa,cAAY,IAAI;AAAyB;AAE9F,CAAC;AACC,cAAY;AACZ,SAAO,IAAI;AACX,gBAAc,IAAI;AACpB;AAEA,CAAC;AACC,cAAY;AACZ,SAAO,IAAI;AACb;AAEA,CAXC,6BAW6B,MAAM,KAAK;AACzC,CANC,yBAMyB,MAAM,KAAK;AACnC,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAEA,CALC,6BAK6B,MAAM,KAAK;AAAa,cAAY,IAAI;AAAwB;AAE9F,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAEA,CALC,0BAK0B,MAAM,KAAK;AAAa,UAAQ,WAAW;AAAO;AAE7E,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AACA,CAJC,2BAI2B,MAAM,KAAK;AAAa,UAAQ,WAAW;AAAO;AAG9E,CA3GC,kBA2GkB;AACjB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,gBAAc;AACd,UAAQ;AACV;AAEA,CAAC;AACC,SAAO;AACT;AAGA,CAAC;AACC,WAAS;AACT,iBAAe,IAAI;AACrB;AAEA,CALC,qBAKqB,CAvGrB;AAuG4C,SAAO,IAAI;AAAqB;AAC7E,CANC,qBAMqB,CAjGrB;AAiG4C,SAAO,IAAI;AAAqB;AAC7E,CAPC,qBAOqB,CA3FrB;AA2F4C,SAAO,IAAI;AAAqB;;;AC9H7E,CAAC;AACC,SAAO,IAAI;AACX,iBAAe,IAAI;AACnB,cAAY,MAAM,IAAI;AACxB;AAMA,MAAM,CAVL;AAWC,UAAQ;AACR,cAAY;AACZ,WAAS;AACT,QAAM;AACN,UAAQ;AACV;AAEA,CAAC;AACC,mBAAiB;AACjB,yBAAuB;AACzB;AAEA,CAAC;AACC,mBAAiB;AACjB,eAAa,IAAI;AACnB;AAEA,CA5BC,cA4Bc;AACb,SAAO,IAAI;AACb;AAKA,CAAC;AACC,SAAO;AACP,eAAa;AACb,mBAAiB;AACnB;AAEA,CANC,uBAMuB;AACtB,SAAO;AACP,mBAAiB;AACjB,yBAAuB;AACzB;AAEA,CAAC;AAAoB,aAAW,IAAI;AAAgB;AACpD,CAAC;AAAoB,aAAW,IAAI;AAAgB;AACpD,CAAC;AAAsB,aAAW,IAAI;AAAkB;AACxD,CAAC;AAAoB,aAAW,IAAI;AAAgB;AACpD,CAAC;AAAoB,aAAW,IAAI;AAAgB;;;ACnDpD,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,QAAM;AACN,YAAU;AACV,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,SAAO,IAAI;AAGX,eAAa,IAAI;AACjB,eAAa,IAAI;AACjB,eAAa;AACf;AAEA,CAAC;AAAsB,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,IAAI;AAAuB;AACxH,CAAC;AAAsB,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,IAAI;AAAuB;AACxH,CAAC;AAAsB,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,IAAI;AAAuB;AACxH,CAAC;AAAsB,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,IAAI;AAAuB;AACxH,CAAC;AAAsB,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,IAAI;AAAuB;AAIxH,CAAC;AAAqB,cAAY,IAAI;AAAsB,SAAO,IAAI;AAAqB;AAC5F,CAAC;AAAqB,cAAY,IAAI;AAAsB,SAAO,IAAI;AAAqB;AAC5F,CAAC;AAAqB,cAAY,IAAI;AAAsB,SAAO,IAAI;AAAqB;AAC5F,CAAC;AAAqB,cAAY,IAAI;AAAsB,SAAO,IAAI;AAAqB;AAC5F,CAAC;AAAqB,cAAY,IAAI;AAAsB,SAAO,IAAI;AAAqB;AAE5F,CAAC;AACC,SAAO;AACP,UAAQ;AACR,cAAY;AACd;AAEA,CAAC;AACC,eAAa;AACf;;;ACtCA,CAAC;AACC,WAAS;AACT,eAAa;AACf;AAGA,CAAC;AACC,WAAS;AACT,iBAAe,IAAI;AACnB,cAAY,EAAE,EAAE,EAAE,IAAI,mBAAmB,IAAI;AAC/C;AAEA,CANC,sBAMsB,EAAE,CANxB;AAOC,eAAa,KAAK,GAAG,EAAE,IAAI;AAC7B;AAEA,CAAC;AACC,eAAa;AACb,mBAAiB;AACjB,QAAM;AACN,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,eAAa,IAAI;AACjB,eAAa;AACf;AAKA,CAAC;AAA2B,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,KAAK,IAAI,iBAAiB,EAAE,IAAI;AAA4B;AAC9J,CAAC;AAA2B,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,KAAK,IAAI,iBAAiB,EAAE,IAAI;AAA4B;AAC9J,CAAC;AAA2B,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,KAAK,IAAI,iBAAiB,EAAE,IAAI;AAA4B;AAC9J,CAAC;AAA2B,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,KAAK,IAAI,iBAAiB,EAAE,IAAI;AAA4B;AAC9J,CAAC;AAA2B,SAAO,IAAI;AAAkB,UAAQ,IAAI;AAAkB,aAAW,KAAK,IAAI,iBAAiB,EAAE,IAAI;AAA4B;;;AClC9J,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,WAAS,EAAE,IAAI;AACf,aAAW,IAAI;AACf,UAAQ,IAAI;AACZ,iBAAe,IAAI;AACnB,QAAM,IAAI;AACV,eAAa,IAAI;AACjB,eAAa;AACf;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAGA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;;;AC1CA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,WAAS,IAAI,kBAAkB,IAAI;AACnC,iBAAe,IAAI;AACnB,QAAM,IAAI;AACV,eAAa;AACb,UAAQ;AACR,cAAY,IAAI;AAClB;AAKA,CAAC;AACC,mBAAiB;AACjB,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,QAAM;AACN,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,aAAW,IAAI;AACjB;AAEA,CAXC,eAWe,EAAE;AAChB,SAAO;AACP,UAAQ;AACV;AAGA,CAAC;AACC,cAAY,IAAI;AAChB,UAAQ,IAAI,oBAAoB,MAAM;AACtC,SAAO,IAAI;AACb;AAEA,CAAC;AACC,cAAY;AACZ,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,SAAO,IAAI;AACb;AAGA,CAAC;AACC,cAAY,IAAI;AAChB,UAAQ,IAAI,oBAAoB,MAAM;AACtC,SAAO,IAAI;AACb;AAGA,CAAC;AACC,cAAY,IAAI;AAChB,gBAAc;AACd,SAAO,IAAI;AACb;AAIA,CAAC;AACC,UAAQ;AACV;AAEA,CAJC,qBAIqB,KAAK,CAZ1B,mBAY8C;AAC7C,UAAQ,WAAW;AACrB;AAEA,CAAC;AACC,WAAS;AACX;;;ACtEA,CAAC;AACC,WAAS;AACT,aAAW;AACX,eAAa;AACf;AAEA,CAAC;AACC,OAAK,IAAI;AACX;AAEA,CAAC;AACC,OAAK,IAAI;AACX;AAEA,CAAC;AACC,OAAK,IAAI;AACX;;;AChBA,CAAC;AACC,WAAS;AACT,eAAa;AACb,cAAY;AACZ,mBAAiB;AACjB,aAAW;AACb;AAEA,CAAC;AACC,OAAK,IAAI;AACX;AAEA,CAAC;AACC,OAAK,IAAI;AACX;AAEA,CAAC;AACC,OAAK,IAAI;AACX;AAGA,CAAC;AACC,WAAS,IAAI,kBAAkB,IAAI;AACnC,iBAAe,IAAI;AACnB,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,cAAY,IAAI;AAClB;AAKA,CAAC;AACC;AAAA,IAAY;AAAA,MAAgB,GAAG,KAAK;AAAA,MAAE,MAAM,KAAK,KAAK,EAAE,IAAI,cAAc;AAAA,MAAE;AAC9E;AAGA,CAAC;AACC,QAAM;AACN,WAAS;AACX;;;ACvCA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,WAAS,IAAI,mBAAmB,IAAI;AACpC,UAAQ,KAAK,GAAG,EAAE,IAAI,oBAAoB,KAAK,GAAG,EAAE,IAAI;AACxD,UAAQ;AACR,cAAY;AACZ,iBAAe,IAAI;AACnB,SAAO,IAAI;AACX,QAAM,IAAI;AACV,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAfC,uBAeuB,MAAM,KAAK;AACjC,cAAY,IAAI;AAClB;AAEA,CAnBC,uBAmBuB,OAAO,KAAK;AAClC,cAAY,IAAI;AAClB;AAEA,CAvBC,uBAuBuB;AACtB,UAAQ;AACR,WAAS;AACX;AAGA,CAAC;AACC,SAAO,IAAI;AACb;AAEA,CAAC;AACC,SAAO,IAAI;AACb;AAKA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,QAAM;AACN,mBAAiB,IAAI;AACrB,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,aAAW,IAAI;AACjB;AAEA,CAXC,uBAWuB,EAAE;AACxB,SAAO;AACP,UAAQ;AACV;;;ACtDA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACX;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAAC;AACC,SAAO,IAAI;AACX,eAAa,IAAI;AACnB;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAAC;AACC,SAAO,IAAI;AACb;;;ACvBA,CAAC;AACC,YAAU;AACV,WAAS;AACT,SAAO;AACT;AAEA,CAAC;AACC,cAAY;AACZ,SAAO;AACP,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,UAAQ;AACR,cAAY,aAAa,IAAI;AAC/B;AAEA,CAZC,kBAYkB;AACjB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,UAAQ;AACV;AAEA,CAlBC,kBAkBkB,CAAC;AAClB,gBAAc,IAAI;AACpB;AAGA,CAAC;AAAsB,UAAQ,IAAI;AAAqB,WAAS,EAAE,KAAK,IAAI,iBAAiB,EAAE,IAAI,eAAe,EAAE,IAAI,qBAAqB,EAAE,IAAI;AAAuB,aAAW,IAAI;AAAwB;AACjN,CAAC;AAAsB,UAAQ,IAAI;AAAqB,WAAS,EAAE,KAAK,IAAI,iBAAiB,EAAE,IAAI,eAAe,EAAE,IAAI,kBAAkB,EAAE,IAAI;AAAuB,aAAW,IAAI;AAAwB;AAC9M,CAAC;AAAsB,UAAQ,IAAI;AAAqB,WAAS,EAAE,KAAK,IAAI,iBAAiB,EAAE,IAAI,eAAe,EAAE,IAAI,kBAAkB,EAAE,IAAI;AAAuB,aAAW,IAAI;AAAwB;AAE9M,CAAC;AACC,YAAU;AACV,SAAO,IAAI;AACX,OAAK;AACL,aAAW,WAAW;AACtB,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,SAAO,IAAI;AACX,kBAAgB;AAClB;;;AC1CA,CAAC;AACC,YAAU;AACV,SAAO;AAIP,UAAQ,IAAI,SAAS,EAAE;AACvB,WAAS;AACT,cAAY,IAAI;AAChB,WAAS;AACT,cAAY,QAAQ,IAAI,gBAAgB,IAAI;AAC9C;AAEA,CAbC,kBAakB,CAAC;AAClB,WAAS;AACX;AAEA,CAAC;AACC,WAAS,IAAI;AACb,eAAa;AACb,mBAAiB;AACjB,WAAS,IAAI;AACf;AAEA,CAAC;AACC,WAAS,IAAI;AACb,eAAa;AACb,mBAAiB;AACnB;;;AC5BA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,SAAO;AAIP,aAAW,IAAI;AAEf,cAAY;AAGZ,kBAAgB,IAAI;AACpB,cAAY,IAAI;AAChB,iBAAe,IAAI,oBAAoB,IAAI,oBAAoB,EAAE;AACjE,cAAY,IAAI;AAChB,aAAW,WAAW;AACtB,cAAY,IAAI;AAClB;AAEA,CApBC,gBAoBgB,CAAC;AAChB,aAAW;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,WAAS,IAAI,gBAAgB,IAAI,gBAAgB;AACjD,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAAC;AACC,QAAM;AACN,cAAY;AACZ,WAAS,IAAI;AACf;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,OAAK,IAAI;AACT,WAAS,EAAE,IAAI,gBAAgB,IAAI;AACrC;AAEA,CAAC;AACC,QAAM;AACN,aAAW;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,QAAM;AACN,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,UAAQ,KAAK,CAAC,IAAI,eAAe,EAAE,IAAI,gBAAgB,EAAE;AACzD,eAAa;AACb,UAAQ;AACR,iBAAe,IAAI;AACnB,cAAY;AACZ,SAAO,IAAI;AACX,UAAQ;AACV;AAEA,CAAC;AACC,SAAO,IAAI;AACX,UAAQ,IAAI;AACd;;;ACtEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,SAAO;AACP,UAAQ,IAAI;AACZ,WAAS,EAAE,IAAI;AACf,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,QAAM,IAAI;AACV,cAAY;AACZ,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAjBC,2BAiB2B;AAC1B,UAAQ;AACR,WAAS;AACX;AAEA,CAAC;AACC,SAAO,IAAI;AACb;AAEA,CAAC;AACC,YAAU;AACV,iBAAe;AACf,eAAa;AACf;AAEA,CAAC;AACC,QAAM;AACN,SAAO,IAAI;AACX,UAAQ,IAAI;AACd;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,iBAAe,IAAI;AACnB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,QAAM;AACR;AAEA,CAAC;AACC,QAAM;AACR;AAEA,CAAC;AACC,SAAO,IAAI;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAAC;AACC,WAAS;AACT,yBAAuB,OAAO,CAAC,EAAE;AACjC,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,cAAY;AACZ,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAGA,CAAC;AACC,WAAS;AACT,yBAAuB,OAAO,CAAC,EAAE;AACjC,kBAAgB,IAAI;AACpB,cAAY,KAAK,EAAE,EAAE,IAAI;AACzB,eAAa;AACf;AAEA,CAAC;AACC,UAAQ;AACR,cAAY;AACZ,iBAAe,IAAI;AACnB,SAAO,IAAI;AACX,QAAM,IAAI;AACV,UAAQ;AACR,cAAY,IAAI;AAClB;AAEA,CAVC,uBAUuB,MAAM,KAAK;AACjC,cAAY,IAAI;AAClB;AAEA,CAdC,uBAcuB;AACtB,SAAO,IAAI;AACX,WAAS;AACT,UAAQ;AACV;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAEA,CALC,4BAK4B,MAAM,KAAK;AACtC,cAAY,IAAI;AAClB;AAGA,CAAC;AACC,cAAY;AACd;;;ACjIA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,WAAS,IAAI,iBAAiB,IAAI;AAClC,iBAAe,IAAI;AACnB,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,QAAM,IAAI;AACV,eAAa;AACf;AAEA,CAAC;AACC,cAAY,IAAI;AAChB,gBAAc;AACd,SAAO,IAAI;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,UAAQ;AACR,WAAS;AACT,gBAAc,KAAK,GAAG,EAAE,IAAI;AAC5B,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,iBAAe,IAAI;AACnB,cAAY;AACZ,SAAO;AACP,UAAQ;AACV;AAEA,CAfC,eAee;AACd,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,SAAO,IAAI;AACX,UAAQ,IAAI;AACd;;;ACzCA,CAAC;AACC,cAAY,IAAI;AAChB,QAAM;AACR;AAEA,CAAC;AACC,UAAQ,IAAI;AACZ,SAAO;AACT;AAEA,CAAC;AACC,SAAO,IAAI;AACX,cAAY;AACd;;;ACbA,CAAC;AACC,WAAS;AACT,cAAY,IAAI;AAChB,aAAW,oBAAoB,IAAI,iBAAiB,IAAI,qBAAqB;AAC7E,SAAO,IAAI,YAAY,EAAE;AAC3B;AAEA,CAAC;AACC,UAAQ,IAAI,YAAY,EAAE;AAC1B,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,UAAQ,IAAI,YAAY,EAAE,IAAI;AAC9B,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,SAAO,IAAI,YAAY,EAAE,IAAI;AAC7B,UAAQ,IAAI,YAAY,EAAE,IAAI;AAC9B,iBAAe,IAAI;AACrB;AAEA,WApBa;AAqBX;AAAW,aAAS;AAAG;AACvB;AAAM,aAAS;AAAM;AACvB;;;AC1BA,CAAC;AACC,WAAS;AACT,SAAO;AACP,UAAQ,IAAI;AACZ,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,YAAU;AACZ;AAEA,CAAC;AACC,WAAS;AACT,UAAQ;AACR,SAAO,IAAI,UAAU,EAAE;AACvB,iBAAe;AACf,cAAY,IAAI;AAChB,cAAY,MAAM,IAAI;AACxB;AAEA,CAAC,+BAA+B,CAT/B;AAUC,SAAO;AACP,aAAW,uBAAuB,IAAI,iBAAiB,IAAI,qBAAqB;AAClF;AAEA,WAHa;AAIX;AAAO,eAAW,WAAW;AAAQ;AACrC;AAAK,eAAW,WAAW;AAAO;AACpC;;;AC1BA,CAAC;AACC,SAAO;AACP,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,cAAY,aAAa,IAAI;AAC/B;AAEA,CAVC,gBAUgB;AACf,SAAO,IAAI;AACb;AAEA,CAdC,gBAcgB;AACf,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,UAAQ;AACV;AAEA,CApBC,gBAoBgB,CAAC;AAChB,gBAAc,IAAI;AACpB;AAEA,CAAC;AAAqB,UAAQ,IAAI;AAAqB,WAAS,EAAE,IAAI;AAAuB,aAAW,IAAI;AAAwB;AACpI,CAAC;AAAqB,UAAQ,IAAI;AAAqB,WAAS,EAAE,IAAI;AAAuB,aAAW,IAAI;AAAwB;AACpI,CAAC;AAAqB,UAAQ,IAAI;AAAqB,WAAS,EAAE,IAAI;AAAuB,aAAW,IAAI;AAAwB;AAMpI,CAAC;AACC,YAAU;AACV,WAAS;AACT,SAAO;AACT;AAEA,CAAC;AACC,mBAAiB,IAAI;AACrB,YAAU;AACV,OAAK;AACL,aAAW,WAAW;AACtB,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,aAAW,IAAI;AACf,SAAO,IAAI;AACX,kBAAgB;AAClB;AAEA,CAfC,gBAegB,EAAE;AACjB,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AAAsB,QAAM,IAAI;AAAuB;AACxD,CAAC;AAAuB,SAAO,IAAI;AAAuB;AAE1D,CAAC;AAA4B,gBAAc,KAAK,IAAI,sBAAsB,EAAE,IAAI,eAAe,EAAE,IAAI;AAAmB;AACxH,CAAC;AAA6B,iBAAe,KAAK,IAAI,sBAAsB,EAAE,IAAI,eAAe,EAAE,IAAI;AAAmB;;;AC9D1H,CAAC;AACC,YAAU;AACV,WAAS;AACX;AAEA,CAAC;AACC,SAAO;AAEP,iBAAe,KAAK,IAAI,oBAAoB,EAAE,IAAI;AACpD;AAEA,CAAC;AACC,YAAU;AACV,OAAK;AACL,SAAO;AACP,UAAQ;AACR,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO,IAAI;AACX,UAAQ;AACR,WAAS;AACT,UAAQ;AACR,cAAY;AACZ,SAAO,IAAI;AACX,aAAW,IAAI;AACf,UAAQ;AACR,cAAY,MAAM,IAAI;AACxB;AAEA,CAnBC,yBAmByB;AACxB,SAAO,IAAI;AACb;;;AChCA,CAAC;AACC,SAAO;AACP,WAAS,IAAI,iBAAiB,IAAI;AAClC,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,UAAQ;AACR,cAAY,aAAa,IAAI;AAC/B;AAEA,CAdC,sBAcsB;AACrB,SAAO,IAAI;AACb;AAEA,CAlBC,sBAkBsB;AACrB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,UAAQ;AACR,UAAQ;AACV;AAEA,CAzBC,sBAyBsB,CAAC;AACtB,gBAAc,IAAI;AACpB;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,OAAK,IAAI;AACX;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;;;ACvCA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,UAAQ;AACV;AAEA,CAPC,kBAOkB,KAAK,CAAC,iBAAiB;AACxC,UAAQ;AACV;AAEA,CAJyB;AAKvB,cAAY;AACZ,QAAM;AACN,UAAQ;AACR,SAAO,IAAI;AACX,UAAQ,IAAI;AAEZ,aAAW,IAAI;AACf,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,WAAS;AACT,iBAAe;AACf,UAAQ;AACR,cAAY,IAAI;AAChB,YAAU;AACZ;AAEA,CAtByB,iBAsBP;AAChB,cAAY,IAAI;AAChB,gBAAc,IAAI;AACpB;AAEA,CA3ByB,iBA2BP,QAAQ;AACxB,WAAS;AACT,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,UAAQ,MAAM,IAAI;AAClB,gBAAc,EAAE,KAAK,IAAI,oBAAoB,EAAE,GAAG,KAAK,IAAI,oBAAoB,EAAE,GAAG;AACpF,aAAW,OAAO;AACpB;AAEA,CArCyB,iBAqCP;AAChB,cAAY,IAAI;AAChB,gBAAc,IAAI;AACpB;AAEA,CA1CyB,iBA0CP,SAAS,QAAQ;AACjC,gBAAc,IAAI;AACpB;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAnDyB,iBAmDP,UAAU,EAAE,CAL7B;AAMC,SAAO,IAAI;AACb;AAOA,CA5DyB,iBA4DP;AAChB,WAAS;AACT,YAAU;AACV,OAAK;AACL,QAAM;AACN,aAAW,KAAK;AAChB,SAAO,IAAI,IAAI,EAAE,IAAI;AACrB,UAAQ,IAAI,IAAI,EAAE,IAAI;AACxB;;;AC3EA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,UAAQ;AACV;AAEA,CAPC,eAOe,KAAK,CAAC,cAAc;AAClC,UAAQ;AACV;AAEA,CAJsB;AAKpB,cAAY;AACZ,QAAM;AACN,UAAQ;AACR,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,WAAS;AACT,iBAAe;AACf,UAAQ;AACR,cAAY,IAAI;AAChB,YAAU;AACZ;AAEA,CApBsB,cAoBP;AACb,gBAAc,IAAI;AACpB;AAEA,CAxBsB,cAwBP,QAAQ;AACrB,WAAS;AACT,SAAO;AACP,UAAQ;AACR,iBAAe,IAAI;AACnB,cAAY,IAAI;AAClB;AAEA,CAhCsB,cAgCP;AACb,cAAY,IAAI;AAChB,gBAAc,IAAI;AACpB;AAEA,CArCsB,cAqCP,SAAS,QAAQ;AAC9B,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CA9CsB,cA8CP,UAAU,EAAE,CAL1B;AAMC,SAAO,IAAI;AACb;AAOA,CAvDsB,cAuDP;AACb,WAAS;AACT,YAAU;AACV,OAAK;AACL,QAAM;AACN,aAAW,KAAK;AAChB,SAAO,IAAI,IAAI,EAAE,IAAI;AACrB,UAAQ,IAAI,IAAI,EAAE,IAAI;AACxB;;;ACtEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,UAAQ;AACV;AAEA,CAPC,gBAOgB,KAAK,CAAC,iBAAiB;AACtC,UAAQ;AACV;AAEA,CAJuB;AAKrB,cAAY;AACZ,QAAM;AACN,UAAQ;AACR,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,YAAU;AACV,UAAQ;AACR,cAAY,iBAAiB,IAAI;AACnC;AAEA,CAjBuB,iBAiBL;AAChB,WAAS;AACT,YAAU;AACV,OAAK;AACL,QAAM,IAAI;AACV,aAAW,WAAW;AACtB,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,cAAY,UAAU,IAAI;AAC5B;AAEA,CA9BuB,iBA8BL;AAChB,cAAY,IAAI;AAClB;AAEA,CAlCuB,iBAkCL,QAAQ;AACxB,aAAW,WAAW,MACpB,WAAW,KAAK,IAAI,gBAAgB,EAAE,IAAI,mBAAmB,EAAE,EAAE,EAAE,IAAI;AAC3E;AAEA,CAvCuB,iBAuCL;AAChB,cAAY,IAAI;AAClB;AAEA,CA3CuB,iBA2CL,SAAS;AACzB,cAAY,IAAI;AAClB;AAGA,CAAC;AACC,YAAU;AACV,WAAS;AACT,QAAM;AACR;AAEA,CAAC;AACC,YAAU;AACV,OAAK;AACL,QAAM;AACN,aAAW,UAAU,IAAI,EAAE;AAC3B,SAAO,IAAI;AACX,kBAAgB;AAClB;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAGA,CA5EC,gBA4EgB,KAAK,CArEC,iBAqEiB,WAAW,CANlD;AAOC,SAAO,IAAI;AACb;AAOA,CA9EuB,iBA8EL;AAChB,WAAS;AACT,YAAU;AACV,OAAK;AACL,QAAM;AACN,aAAW,KAAK;AAChB,SAAO,IAAI,IAAI,EAAE,IAAI;AACrB,UAAQ,IAAI,IAAI,EAAE,IAAI;AACxB;;;AC7FA,CAAC;AACC,WAAS;AACT,WAAS,IAAI;AACb,OAAK,IAAI;AACT,cAAY,IAAI;AAChB,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,WAAS;AACT,YAAU;AACV,UAAQ;AACV;AAEA,CAAC;AACC,WAAS;AACX;AAEA,CAJC,gCAIgC,CAVhC;AAWC,QAAM;AACR;AAEA,CARC,gCAQgC,CAAC;AAChC,QAAM;AACR;AAIA,CAAC;AACC,cAAY;AACZ,UAAQ;AACR,YAAU;AACV,SAAO;AACP,SAAO;AACP,UAAQ;AACR,WAAS;AACT,UAAQ;AACV;AAEA,CAjBkC;AAkBhC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,UAAQ,KAAK,IAAI,oBAAoB,EAAE,EAAE,EAAE,IAAI;AAC/C,WAAS,EAAE,IAAI;AACf,iBAAe,IAAI;AACnB,QAAM,IAAI;AACV,SAAO,IAAI;AACX,eAAa;AACb,cAAY,IAAI;AAClB;AAEA,CAxBC,2BAwB2B,SAAS,EAAE,CA9BL;AA+BhC,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,cAAY,IAAI;AAClB;AAGA,CA/BC,2BA+B2B,UAAU,EAAE,CArCN;AAsChC,SAAO,IAAI;AACX,UAAQ;AACV;AAEA,CApCC,2BAoC2B,SAAS,SAAS,EAAE,CA1Cd;AA2ChC,cAAY,IAAI;AAChB,cAAY;AACd;AAEA,CA7DC,6BA6D6B,KAAK,CAzClC,2BAyC8D;AAC7D,UAAQ;AACV;AAEA,CA7CC,2BA6C2B,eAAe,EAAE,CAnDX;AAoDhC,WAAS,IAAI,mBAAmB,MAAM,IAAI;AAC1C,kBAAgB,IAAI;AACtB;;;AC5EA,CAAC;AACC,YAAU;AACV,WAAS;AACT,eAAa;AACb,SAAO;AACT;AAEA,CAAC;AACC,YAAU;AACV,QAAM,IAAI;AACV,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,SAAO,IAAI;AACX,kBAAgB;AAClB;AAEA,CAAC;AACC,SAAO;AACP,UAAQ,IAAI;AACZ,WAAS,EAAE,KAAK,IAAI,iBAAiB,EAAE,IAAI,eAAe,EAAE,IAAI,kBAC9D,EAAE,KAAK,IAAI,sBAAsB,EAAE,IAAI,eAAe,EAAE,IAAI;AAC9D,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,cAAY,aAAa,IAAI;AAC/B;AAEA,CAdC,sBAcsB;AACrB,SAAO,IAAI;AACb;AAGA,CAnBC,sBAmBsB;AACrB,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACV,SAAO,IAAI;AACX,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,UAAQ;AACR,iBAAe,IAAI;AACnB,cAAY;AACZ,SAAO,IAAI;AACX,UAAQ;AACV;AAEA,CAfC,sBAesB;AACrB,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,SAAO,IAAI;AACX,UAAQ,IAAI;AACd;;;AC7DA,CAAC;AACC,cAAY;AACZ,UAAQ;AACR,WAAS;AACT,cAAY,IAAI;AAChB,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACnB,YAAU;AACZ;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACX;AAMA,CAAC;AACC,kBAAgB,IAAI;AACpB,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,kBAAgB;AAChB,kBAAgB;AAChB,SAAO,IAAI;AACb;AAIA,CA/BC,gBA+BgB,EAAE,CAAC,eAAe,EAAE,CAAjB;AAClB,cAAY,IAAI,oBAAoB,MAAM,IAAI;AAChD;AAIA,CAAC;AACD,CAAC;AACD,CAAC;AACC,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACrB;AAEA,CAPC;AAOyB,cAAY,IAAI;AAAqB;AAC/D,CAPC;AAO2B,cAAY,IAAI;AAAuB;AAInE,CAVC;AAWC,qBAAmB,IAAI;AACvB,qBAAmB,IAAI;AACvB,cAAY,IAAI;AAClB;AAIA,CAAC;AACC,cAAY;AACZ,UAAQ;AACR,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,SAAO;AACP,cAAY,IAAI;AAChB,WAAS,IAAI,kBAAkB,IAAI;AACnC,cAAY;AACZ,SAAO;AACP,mBAAiB;AACnB;AAGA,CAAC;AACC,UAAQ;AACR,cAAY;AACZ,QAAM;AACN,UAAQ;AACR,cAAY,iBAAiB,IAAI;AACnC;AAEA,CARC,qBAQqB;AACpB,cAAY,IAAI;AAClB;AAEA,CAAC;AACD,CAAC;AACC,WAAS;AACT,QAAM;AACN,eAAa;AACf;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,aAAW;AACX,QAAM;AACR;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;;;AC/GA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,cAAY;AACZ,OAAK,IAAI;AACT,WAAS,IAAI,mBAAmB,IAAI;AACtC;AAEA,CAAC;AACC,WAAS;AACT,SAAO,IAAI;AACb;AAEA,CAAC;AACC,cAAY,IAAI;AAClB;;;AChBA,CAAC;AACC,WAAS;AACT,OAAK,IAAI;AACT,iBAAe,IAAI,oBAAoB,MAAM,IAAI;AACnD;AAEA,CAAC;AACC,UAAQ;AACR,cAAY;AACZ,WAAS,IAAI,iBAAiB,IAAI;AAClC,iBAAe,KAAK,GAAG,EAAE,IAAI;AAC7B,iBAAe,KAAK,EAAE,EAAE,IAAI,qBAAqB,MAAM;AACvD,QAAM,IAAI;AACV,SAAO,IAAI;AACX,UAAQ;AACR,eAAa;AACb,cAAY,MAAM,IAAI;AACxB;AAEA,CAbC,aAaa;AACZ,SAAO,IAAI;AACb;AAEA,CAAC;AACC,SAAO,IAAI;AACX,uBAAqB,IAAI;AAC3B;AAEA,CAAC;AACC,eAAa,IAAI;AACnB;;;AC9BA,CAAC;AACC,YAAU;AACV,UAAQ,KAAK,IAAI,mBAAmB,EAAE,IAAI;AAC1C,QAAM;AACN,aAAW,WAAW;AACtB,WAAS,IAAI;AACb,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,SAAO,IAAI,IAAI,cAAc,EAAE,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI;AACpD,kBAAgB;AAClB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,WAAS,IAAI,mBAAmB,IAAI;AACpC,iBAAe,IAAI;AACnB,eAAa,KAAK,EAAE,EAAE,IAAI,qBAAqB,MAAM,IAAI;AACzD,cAAY,IAAI;AAChB,cAAY,IAAI;AAChB,kBAAgB;AAClB;AAEA,CAAC;AAA0B,qBAAmB,IAAI;AAAuB;AACzE,CAAC;AAAyB,qBAAmB,IAAI;AAAsB;AAEvE,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,QAAM;AACN,aAAW;AACb;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAAC;AACC,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,QAAM;AACN,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,UAAQ;AACR,iBAAe,IAAI;AACnB,cAAY;AACZ,SAAO,IAAI;AACX,UAAQ;AACV;AAEA,CAdC,gBAcgB;AACf,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,SAAO,IAAI;AACX,UAAQ,IAAI;AACd;;;ACnEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAClB;AAEA,CAAC;AAA0B,OAAK,IAAI;AAAqB;AACzD,CAAC;AAAuB,OAAK,IAAI;AAAkB;AACnD,CAAC;AAAsB,OAAK,IAAI;AAAY;AAC5C,CAAC;AAAuB,OAAK,IAAI;AAAkB;AACnD,CAAC;AAAyB,OAAK,IAAI;AAAsB;AAEzD,CAAC;AAAyB,eAAa;AAAY;AACnD,CAAC;AAA0B,eAAa;AAAQ;AAChD,CAAC;AAAuB,eAAa;AAAU;AAC/C,CAAC;AAA2B,eAAa;AAAS;;;ACdlD,CAAC;AACC,WAAS;AACT,kBAAgB;AAClB;AAEA,CAAC;AAA2B,OAAK,IAAI;AAAqB;AAC1D,CAAC;AAAwB,OAAK,IAAI;AAAkB;AACpD,CAAC;AAAuB,OAAK,IAAI;AAAY;AAC7C,CAAC;AAAwB,OAAK,IAAI;AAAkB;AAEpD,CAAC;AAA0B,eAAa;AAAY;AACpD,CAAC;AAA2B,eAAa;AAAQ;AACjD,CAAC;AAAwB,eAAa;AAAU;AAChD,CAAC;AAA6B,eAAa;AAAU;AAErD,CAAC;AAA4B,mBAAiB;AAAY;AAC1D,CAAC;AAA6B,mBAAiB;AAAQ;AACvD,CAAC;AAA0B,mBAAiB;AAAU;AACtD,CAAC;AAA8B,mBAAiB;AAAe;AAE/D,CAAC;AACC,aAAW;AACb;;;ACtBA,CAAC;AACC,SAAO;AACP,iBAAe;AACf,kBAAgB,IAAI;AACtB;AAEA,CAAC;AAA+B,aAAW,IAAI;AAAoB;AACnE,CAAC;AAA4B,aAAW,IAAI;AAAyB;;;ACPrE,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,cAAY,IAAI;AAChB,UAAQ,IAAI,oBAAoB,MAAM,IAAI;AAC1C,iBAAe,IAAI;AACnB,YAAU;AACV,SAAO;AACP,mBAAiB;AACnB;AAEA,CAAC;AACC,gBAAc;AACd,cAAY,IAAI;AAChB,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,cAAY,IAAI;AAClB;AAIA,CAAC;AACC,UAAQ,IAAI,uBAAuB,MAAM,IAAI;AAC/C;AAGA,CAAC;AACC,WAAS;AACT,UAAQ;AACR,QAAM;AACN,cAAY;AACZ,UAAQ;AACR,cAAY,WAAW,IAAI,yBAAyB,EAAE,iBAAiB,IAAI;AAC7E;AAEA,CATC,qBASqB;AACpB,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAGA,CATC,iBASiB,EAAE;AAClB,QAAM;AACN,aAAW;AACb;AAEA,CAAC;AACC,QAAM;AACR;AAIA,CAAC;AACC,WAAS;AACT,eAAa;AACb,aAAW;AACX,OAAK,IAAI;AACX;AAMA,CA/BC;AAgCD,CAlBC;AAmBD,CAbC;AAcC,WAAS,EAAE,IAAI;AACjB;AAEA,CArCC,gBAqCgB;AACjB,CAxBC,cAwBc;AACf,CAnBC,gBAmBgB;AACf,eAAa,IAAI;AACnB;AAEA,CA3CC,gBA2CgB;AACjB,CA9BC,cA8Bc;AACf,CAzBC,gBAyBgB;AACf,kBAAgB,IAAI;AACtB;;;ACzFA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,SAAO;AACP,aAAW,IAAI;AACf,cAAY;AACZ,cAAY,IAAI;AAChB,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,WAAS;AACT,aAAW,MAAM;AACjB,cACE,QAAQ,IAAI,gBAAgB,IAAI,oBAAoB,EACpD,UAAU,IAAI,gBAAgB,IAAI;AACtC;AAEA,CAhBC,gBAgBgB,CAAC;AAChB,WAAS;AACT,aAAW;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,WAAS,IAAI,gBAAgB,IAAI,gBAAgB;AACjD,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAAC;AACC,QAAM;AACN,cAAY;AACZ,WAAS,IAAI;AACf;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,OAAK,IAAI;AACT,WAAS,EAAE,IAAI,gBAAgB,IAAI;AACrC;;;AC1CA,CAAC;AACC,UAAQ;AACR,QAAM,IAAI;AACV,SAAO,IAAI;AACb;AAEA,CAAC;AACC,UAAQ;AACR,QAAM,IAAI;AACV,SAAO,IAAI;AACb;;;ACPA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,UAAQ;AACR,cAAY;AACZ,cAAY,IAAI;AAClB;AAKA,CAAC;AACC,QAAM;AACN,cAAY;AACZ,cAAY;AACZ,WAAS,IAAI,kBAAkB,IAAI;AACrC;AAEA,CAPC,mBAOmB,CAAC;AACnB,WAAS;AACX;;;ACvBA,CAAC;AACC,YAAU;AACV,OAAK;AACL,WAAS,IAAI;AACb,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,UAAQ,IAAI;AACZ,kBAAgB,IAAI;AACpB,cAAY,IAAI;AAChB,iBAAe,IAAI,oBAAoB,MAAM,IAAI;AACnD;AAEA,CAAC;AACC,QAAM;AACN,aAAW;AACX,YAAU;AACV,UAAQ;AACR,QAAM,IAAI;AACV,SAAO,IAAI;AACX,eAAa;AACb,iBAAe;AACjB;AAIA,CAAC;AACC,QAAM;AACN,aAAW;AACX,WAAS;AACT,kBAAgB;AAClB;AAEA,CAPC,iBAOiB,CApBjB;AAqBC,QAAM;AACR;AAEA,CAAC;AACC,aAAW;AACX,YAAU;AACV,QAAM,IAAI;AACV,SAAO,IAAI;AACX,eAAa;AACb,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACX;AAKA,CAAC;AACC,uBAAqB;AACvB;;;ACzDA,CAAC;AACC,YAAU;AACV,UAAQ;AACR,WAAS,IAAI;AACb,WAAS;AACT,eAAa;AAMb,cAAY,KAAK,GAAG,EAAE,IAAI;AAI1B,UAAQ,KAAK,IAAI,gBAAgB,EAAE,IAAI,0BAA0B,EAAE,IAAI;AACvE,WAAS,IAAI,0BAA0B,IAAI,oBAAoB,KAAK,IAAI,mBAAmB,EAAE,IAAI;AACnG;AAMA,CAvBC,eAuBe;AACd,WAAS;AACT,YAAU;AACV,WAAS;AACT,SAAO,IAAI,0BAA0B,EAAE;AACvC,cAAY,IAAI;AAChB,cAAY,IAAI,oBAAoB,MAAM,IAAI;AAChD;AAEA,CAAC;AACC,QAAM;AACN,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,mBAAiB;AACjB,OAAK,IAAI;AACT,UAAQ;AACR,WAAS;AACT,UAAQ;AACR,cAAY;AACZ,UAAQ;AACR,QAAM,IAAI;AACV,SAAO,IAAI;AACX,mBAAiB;AACjB,cAAY,MAAM,IAAI;AACxB;AAEA,CAlBC,gBAkBgB;AACf,SAAO,IAAI;AACb;AAEA,CAAC;AACD,CADC,kBACkB;AACjB,SAAO,IAAI;AACb;AAKA,CAAC;AACC,YAAU;AACV,WAAS;AACT,mBAAiB,IAAI;AACrB,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,aAAW,IAAI;AACjB;AAEA,CATC,iBASiB,EAAE;AAClB,SAAO;AACP,UAAQ;AACV;AAGA,CAAC;AACC,YAAU;AACV,OAAK,IAAI;AACT,SAAO,IAAI;AACX,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,iBAAe,IAAI;AACnB,cAAY,IAAI;AAEhB,cAAY,EAAE,EAAE,EAAE,IAAI,gBAAgB,IAAI;AAC5C;AAIA,CAAC;AACC,aAAW;AACX,YAAU;AACV,iBAAe;AACf,eAAa;AACf;AAMA,CAAC;AACC,QAAM;AACN,cAAY;AACZ,SAAO,IAAI;AACX,UAAQ,IAAI;AACZ,cAAY,KAAK,GAAG,EAAE,IAAI;AAC1B,UAAQ;AACR,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,cAAY,IAAI;AAChB,UAAQ;AACR,cAAY,iBAAiB,IAAI;AACnC;AAEA,CAlBC,kBAkBkB;AACjB,cAAY,IAAI;AAClB;","names":[]}
package/dist/index.d.cts CHANGED
@@ -83,8 +83,11 @@ interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
83
83
  declare function Spinner({ size, label, className, style, ...rest }: SpinnerProps): ReactElement;
84
84
 
85
85
  interface IconRenderProps {
86
- /** Pixel size of the requested step. */
87
- size: number;
86
+ /** Pixel size of the requested step, or undefined when the glyph should take
87
+ the size of the slot it sits in. An icon set that can only be sized with a
88
+ number falls back to its own default; one that can read a CSS length uses
89
+ var(--mds-icon-slot, var(--mds-icon-md)). */
90
+ size?: number | undefined;
88
91
  }
89
92
  /** Brand-owned glyph resolver: name → rendered glyph (svg, font ligature, …). */
90
93
  type IconRender = (name: string, props: IconRenderProps) => ReactNode;
@@ -99,7 +102,7 @@ interface IconProviderProps {
99
102
  *
100
103
  * ```tsx
101
104
  * // App root: map names to your icon set once.
102
- * <IconProvider render={(name, { size }) => <MyGlyph name={name} width={size} />}>
105
+ * <IconProvider render={(name, { size }) => <MyGlyph name={name} width={size ?? 20} />}>
103
106
  * <App />
104
107
  * </IconProvider>
105
108
  *
@@ -112,7 +115,8 @@ type IconSize = "sm" | "md" | "lg";
112
115
  interface IconProps extends HTMLAttributes<HTMLSpanElement> {
113
116
  /** Glyph name in the app's registered set. */
114
117
  name: string;
115
- /** Default "md". */
118
+ /** A step on the icon scale. Left unset, the glyph takes the step of the
119
+ control slot around it, and the md step outside one. */
116
120
  size?: IconSize;
117
121
  /** Accessible name. Omitted = decorative (aria-hidden). */
118
122
  label?: string;
@@ -332,7 +336,8 @@ declare function ChipBar({ children, gap, bordered, fade, className, ...rest }:
332
336
 
333
337
  type CountButtonTone = "accent" | "danger";
334
338
  interface CountButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "aria-label" | "aria-pressed"> {
335
- /** Glyph shown before the text, e.g. `<Icon name="heart" />` (md). */
339
+ /** Glyph shown before the text, e.g. `<Icon name="heart" />`. Sized by the
340
+ button, whatever the icon set's own default is. */
336
341
  icon: ReactNode;
337
342
  /** Accessible label (required) — describes the action for screen readers. */
338
343
  label: string;
@@ -553,7 +558,7 @@ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size">
553
558
  * <Input value={name} onChange={(e) => setName(e.target.value)} />
554
559
  * </Field>
555
560
  *
556
- * <Input aria-label="Search" iconLeft={<Icon name="search" size="sm" />} />
561
+ * <Input aria-label="Search" iconLeft={<Icon name="search" />} />
557
562
  * ```
558
563
  */
559
564
  declare function Input({ size, invalid, iconLeft, iconRight, className, ...rest }: InputProps): ReactElement;
@@ -1268,12 +1273,14 @@ declare const OverlayHistoryContext: react.Context<OverlayHistory | null>;
1268
1273
  interface Presence {
1269
1274
  /** Keep the element in the DOM (true during exit animation). */
1270
1275
  mounted: boolean;
1271
- /** Drive the visual state — false during exit. */
1276
+ /** Drive the visual state — false on the frame it enters and during exit. */
1272
1277
  visible: boolean;
1273
1278
  }
1274
1279
  /**
1275
- * Exit-animation helper. `open` flips instantly; `mounted` lags by
1276
- * `durationMs` on close so the exit transition can play.
1280
+ * Enter/exit animation helper. An element inserted already carrying its open
1281
+ * style has nothing to transition from, so `visible` stays false for the frame
1282
+ * the closed style is painted in and flips on the next one. `mounted` lags
1283
+ * `open` by `durationMs` on close so the exit transition can finish.
1277
1284
  */
1278
1285
  declare function usePresence(open: boolean, durationMs: number): Presence;
1279
1286