/* Generated by forge/material/generate-buttons.mjs from current Material button sets. */
.md-button {
  --_button-container: transparent; --_button-container-opacity: 1;
  --_button-label-opacity: 1; --_button-icon-opacity: 1;
  --_button-state-color: currentColor; --_button-state-opacity: 0;
  --_button-background-state-color: currentColor; --_button-background-state-opacity: 0;
  --_button-outline: transparent; --_button-outline-width: 0px;
  --_elevation-level: 0; --_shadow-color: transparent;
  --_button-rest-shape: var(--_button-round-shape);
  --_button-shape: var(--_button-rest-shape);
  --_button-effects-duration: var(--_motion-fast-effects-duration);
  --_button-easing: var(--_motion-fast-effects-easing);
  position: relative; isolation: isolate; display: inline-flex; touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none;
  align-items: center; justify-content: center; flex: none;
  min-height: var(--_button-height); min-inline-size: max-content; white-space: nowrap;
  padding-block: 0; padding-inline: var(--_button-leading) var(--_button-trailing);
  gap: var(--_button-gap); font: var(--_button-font);
  letter-spacing: var(--_button-letter-spacing); text-decoration: none;
  border: var(--_button-outline-width) solid var(--_button-outline);
  border-radius: var(--_button-shape); vertical-align: middle;
  color: color-mix(in srgb,var(--_button-label) calc(var(--_button-label-opacity) * 100%),transparent);
  background: color-mix(in srgb,var(--_button-container) calc(var(--_button-container-opacity) * 100%),transparent);
  transition: background-color var(--_button-effects-duration) var(--_button-easing), color var(--_button-effects-duration) var(--_button-easing), border-color var(--_button-effects-duration) var(--_button-easing), box-shadow var(--_button-effects-duration) var(--_button-easing);
}
.md-button[hidden] { display: none; }
.md-button[data-shape="square"] { --_button-rest-shape: var(--_button-square-shape); }
.md-button[aria-pressed="true"] { --_button-rest-shape: var(--_button-selected-round-shape); }
.md-button[aria-pressed="true"][data-shape="square"] { --_button-rest-shape: var(--_button-selected-square-shape); }
.md-outlined-button { --_button-outline-width: var(--_button-size-outline-width); }
.md-outlined-button[aria-pressed="true"] { --_button-outline-width: 0px; --_button-outline: transparent; }
.md-button:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) { --_button-shape: var(--_button-pressed-shape); }
.md-button::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit; background: var(--_button-background-state-color); opacity: var(--_button-background-state-opacity); transition: opacity 15ms linear, background-color 15ms linear; }
.md-button > svg { flex: none; width: var(--_button-icon-size); height: var(--_button-icon-size); color: color-mix(in srgb,var(--_button-icon) calc(var(--_button-icon-opacity) * 100%),transparent); }
.md-button:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) { outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary); outline-offset: var(--md-sys-state-focus-indicator-outer-offset); }
.md-button:is(:disabled,[aria-disabled="true"]) { cursor: default; }
:root:not([data-feedback-ready]) :is(.md-button,.md-icon-button,.md-interactive-card,.md-filter-chip,.md-assist-chip,.md-suggestion-chip,.md-input-chip,.md-menu-item)::before { background: var(--_button-state-color); opacity: var(--_button-state-opacity); }
/* A forced gallery state is already the resting appearance of that specimen. */
:root :is(.md-button,.md-icon-button,.md-interactive-card,.md-filter-chip,.md-assist-chip,.md-suggestion-chip,.md-input-chip,.md-menu-item):is([data-button-state="pressed"],[data-component-state="pressed"]) { --_button-background-state-color: var(--_button-state-color); --_button-background-state-opacity: var(--_button-state-opacity); }
.md-button-ripple { position: absolute; inset: 0; z-index: -1; overflow: hidden; border-radius: inherit; pointer-events: none; opacity: 0; }
.md-button-ripple > span { position: absolute; border-radius: 50%; transform-origin: center center; background: radial-gradient(closest-side, var(--_button-pressed-state-color) max(calc(100% - 70px), 65%), transparent 100%); opacity: var(--_button-pressed-state-opacity); }
@media (forced-colors: active) { .md-button-ripple, :is(.md-button,.md-icon-button,.md-interactive-card,.md-filter-chip,.md-assist-chip,.md-suggestion-chip,.md-input-chip,.md-menu-item)::before { display: none; } }

@media (prefers-reduced-motion: reduce) { .md-button, .md-button::before { transition: none; } .md-button::before { background: var(--_button-state-color); opacity: var(--_button-state-opacity); } }
.md-button[data-size="xsmall"] {
  --_button-height: var(--md-comp-button-xsmall-container-height);
  --_button-round-shape: var(--md-comp-button-xsmall-container-shape-round);
  --_button-square-shape: var(--md-comp-button-xsmall-container-shape-square);
  --_button-icon-size: var(--md-comp-button-xsmall-icon-size);
  --_button-gap: var(--md-comp-button-xsmall-icon-label-space);
  --_button-font: var(--md-comp-button-xsmall-label-text);
  --_button-leading: var(--md-comp-button-xsmall-leading-space);
  --_button-size-outline-width: var(--md-comp-button-xsmall-outlined-outline-width);
  --_button-spring-damping: var(--md-comp-button-xsmall-pressed-container-corner-size-motion-spring-damping);
  --_button-spring-stiffness: var(--md-comp-button-xsmall-pressed-container-corner-size-motion-spring-stiffness);
  --_button-pressed-shape: var(--md-comp-button-xsmall-pressed-container-shape);
  --_button-selected-round-shape: var(--md-comp-button-xsmall-selected-container-shape-round);
  --_button-selected-square-shape: var(--md-comp-button-xsmall-selected-container-shape-square);
  --_button-trailing: var(--md-comp-button-xsmall-trailing-space);
}
.md-button[data-size="xsmall"] { --_button-letter-spacing: var(--md-comp-button-xsmall-label-text-letter-spacing); }
.md-button:not([data-size]), .md-button[data-size="small"] {
  --_button-height: var(--md-comp-button-small-container-height);
  --_button-round-shape: var(--md-comp-button-small-container-shape-round);
  --_button-square-shape: var(--md-comp-button-small-container-shape-square);
  --_button-icon-size: var(--md-comp-button-small-icon-size);
  --_button-gap: var(--md-comp-button-small-icon-label-space);
  --_button-font: var(--md-comp-button-small-label-text);
  --_button-leading: var(--md-comp-button-small-leading-space);
  --_button-size-outline-width: var(--md-comp-button-small-outlined-outline-width);
  --_button-spring-damping: var(--md-comp-button-small-pressed-container-corner-size-motion-spring-damping);
  --_button-spring-stiffness: var(--md-comp-button-small-pressed-container-corner-size-motion-spring-stiffness);
  --_button-pressed-shape: var(--md-comp-button-small-pressed-container-shape);
  --_button-selected-round-shape: var(--md-comp-button-small-selected-container-shape-round);
  --_button-selected-square-shape: var(--md-comp-button-small-selected-container-shape-square);
  --_button-trailing: var(--md-comp-button-small-trailing-space);
}
.md-button:not([data-size]), .md-button[data-size="small"] { --_button-letter-spacing: var(--md-comp-button-small-label-text-letter-spacing); }
.md-button[data-size="medium"] {
  --_button-height: var(--md-comp-button-medium-container-height);
  --_button-round-shape: var(--md-comp-button-medium-container-shape-round);
  --_button-square-shape: var(--md-comp-button-medium-container-shape-square);
  --_button-icon-size: var(--md-comp-button-medium-icon-size);
  --_button-gap: var(--md-comp-button-medium-icon-label-space);
  --_button-font: var(--md-comp-button-medium-label-text);
  --_button-leading: var(--md-comp-button-medium-leading-space);
  --_button-size-outline-width: var(--md-comp-button-medium-outlined-outline-width);
  --_button-spring-damping: var(--md-comp-button-medium-pressed-container-corner-size-motion-spring-damping);
  --_button-spring-stiffness: var(--md-comp-button-medium-pressed-container-corner-size-motion-spring-stiffness);
  --_button-pressed-shape: var(--md-comp-button-medium-pressed-container-shape);
  --_button-selected-round-shape: var(--md-comp-button-medium-selected-container-shape-round);
  --_button-selected-square-shape: var(--md-comp-button-medium-selected-container-shape-square);
  --_button-trailing: var(--md-comp-button-medium-trailing-space);
}
.md-button[data-size="medium"] { --_button-letter-spacing: var(--md-comp-button-medium-label-text-letter-spacing); }
.md-button[data-size="large"] {
  --_button-height: var(--md-comp-button-large-container-height);
  --_button-round-shape: var(--md-comp-button-large-container-shape-round);
  --_button-square-shape: var(--md-comp-button-large-container-shape-square);
  --_button-icon-size: var(--md-comp-button-large-icon-size);
  --_button-gap: var(--md-comp-button-large-icon-label-space);
  --_button-font: var(--md-comp-button-large-label-text);
  --_button-leading: var(--md-comp-button-large-leading-space);
  --_button-size-outline-width: var(--md-comp-button-large-outlined-outline-width);
  --_button-spring-damping: var(--md-comp-button-large-pressed-container-corner-size-motion-spring-damping);
  --_button-spring-stiffness: var(--md-comp-button-large-pressed-container-corner-size-motion-spring-stiffness);
  --_button-pressed-shape: var(--md-comp-button-large-pressed-container-shape);
  --_button-selected-round-shape: var(--md-comp-button-large-selected-container-shape-round);
  --_button-selected-square-shape: var(--md-comp-button-large-selected-container-shape-square);
  --_button-trailing: var(--md-comp-button-large-trailing-space);
}
.md-button[data-size="large"] { --_button-letter-spacing: var(--md-comp-button-large-label-text-letter-spacing); }
.md-button[data-size="xlarge"] {
  --_button-height: var(--md-comp-button-xlarge-container-height);
  --_button-round-shape: var(--md-comp-button-xlarge-container-shape-round);
  --_button-square-shape: var(--md-comp-button-xlarge-container-shape-square);
  --_button-icon-size: var(--md-comp-button-xlarge-icon-size);
  --_button-gap: var(--md-comp-button-xlarge-icon-label-space);
  --_button-font: var(--md-comp-button-xlarge-label-text);
  --_button-leading: var(--md-comp-button-xlarge-leading-space);
  --_button-size-outline-width: var(--md-comp-button-xlarge-outlined-outline-width);
  --_button-spring-damping: var(--md-comp-button-xlarge-pressed-container-corner-size-motion-spring-damping);
  --_button-spring-stiffness: var(--md-comp-button-xlarge-pressed-container-corner-size-motion-spring-stiffness);
  --_button-pressed-shape: var(--md-comp-button-xlarge-pressed-container-shape);
  --_button-selected-round-shape: var(--md-comp-button-xlarge-selected-container-shape-round);
  --_button-selected-square-shape: var(--md-comp-button-xlarge-selected-container-shape-square);
  --_button-trailing: var(--md-comp-button-xlarge-trailing-space);
}
.md-button[data-size="xlarge"] { --_button-letter-spacing: var(--md-comp-button-xlarge-label-text-letter-spacing); }
.md-elevated-button {
  --_button-container: var(--md-comp-button-elevated-container-color);
  --_elevation-level: var(--md-comp-button-elevated-container-elevation);
  --_shadow-color: var(--md-comp-button-elevated-container-shadow-color);
  --_button-icon: var(--md-comp-button-elevated-icon-color);
  --_button-label: var(--md-comp-button-elevated-label-text-color);
}
.md-elevated-button[aria-pressed="false"] {
  --_button-container: var(--md-comp-button-elevated-unselected-container-color);
  --_button-icon: var(--md-comp-button-elevated-unselected-icon-color);
  --_button-label: var(--md-comp-button-elevated-unselected-label-text-color);
}
.md-elevated-button[aria-pressed="true"] {
  --_button-container: var(--md-comp-button-elevated-selected-container-color);
  --_button-icon: var(--md-comp-button-elevated-selected-icon-color);
  --_button-label: var(--md-comp-button-elevated-selected-label-text-color);
}
.md-elevated-button:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_elevation-level: var(--md-comp-button-elevated-hovered-container-elevation);
  --_button-icon: var(--md-comp-button-elevated-hovered-icon-color);
  --_button-label: var(--md-comp-button-elevated-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-elevated-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-elevated-hovered-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-elevated-hovered-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-elevated-hovered-state-layer-opacity);
}
.md-elevated-button[aria-pressed="false"]:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-elevated-unselected-hovered-icon-color);
  --_button-label: var(--md-comp-button-elevated-unselected-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-elevated-unselected-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-elevated-unselected-hovered-state-layer-color);
}
.md-elevated-button[aria-pressed="true"]:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-elevated-selected-hovered-icon-color);
  --_button-label: var(--md-comp-button-elevated-selected-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-elevated-selected-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-elevated-selected-hovered-state-layer-color);
}
.md-elevated-button:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_elevation-level: var(--md-comp-button-elevated-focused-container-elevation);
  --_button-icon: var(--md-comp-button-elevated-focused-icon-color);
  --_button-label: var(--md-comp-button-elevated-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-elevated-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-elevated-focused-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-elevated-focused-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-elevated-focused-state-layer-opacity);
}
.md-elevated-button[aria-pressed="false"]:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-elevated-unselected-focused-icon-color);
  --_button-label: var(--md-comp-button-elevated-unselected-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-elevated-unselected-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-elevated-unselected-focused-state-layer-color);
}
.md-elevated-button[aria-pressed="true"]:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-elevated-selected-focused-icon-color);
  --_button-label: var(--md-comp-button-elevated-selected-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-elevated-selected-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-elevated-selected-focused-state-layer-color);
}
.md-elevated-button:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_elevation-level: var(--md-comp-button-elevated-pressed-container-elevation);
  --_button-icon: var(--md-comp-button-elevated-pressed-icon-color);
  --_button-label: var(--md-comp-button-elevated-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-elevated-pressed-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-elevated-pressed-state-layer-opacity);
}
.md-elevated-button { --_button-pressed-state-color: var(--md-comp-button-elevated-pressed-state-layer-color); }
.md-elevated-button { --_button-pressed-state-opacity: var(--md-comp-button-elevated-pressed-state-layer-opacity); }
.md-elevated-button[aria-pressed="false"]:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-elevated-unselected-pressed-icon-color);
  --_button-label: var(--md-comp-button-elevated-unselected-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-elevated-unselected-pressed-state-layer-color);
}
.md-elevated-button[aria-pressed="false"] { --_button-pressed-state-color: var(--md-comp-button-elevated-unselected-pressed-state-layer-color); }
.md-elevated-button[aria-pressed="true"]:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-elevated-selected-pressed-icon-color);
  --_button-label: var(--md-comp-button-elevated-selected-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-elevated-selected-pressed-state-layer-color);
}
.md-elevated-button[aria-pressed="true"] { --_button-pressed-state-color: var(--md-comp-button-elevated-selected-pressed-state-layer-color); }
.md-elevated-button:is(:disabled,[aria-disabled="true"]) {
  --_button-container: var(--md-comp-button-elevated-disabled-container-color);
  --_elevation-level: var(--md-comp-button-elevated-disabled-container-elevation);
  --_button-container-opacity: var(--md-comp-button-elevated-disabled-container-opacity);
  --_button-icon: var(--md-comp-button-elevated-disabled-icon-color);
  --_button-icon-opacity: var(--md-comp-button-elevated-disabled-icon-opacity);
  --_button-label: var(--md-comp-button-elevated-disabled-label-text-color);
  --_button-label-opacity: var(--md-comp-button-elevated-disabled-label-text-opacity);
}
.md-filled-button {
  --_button-container: var(--md-comp-button-filled-container-color);
  --_elevation-level: var(--md-comp-button-filled-container-elevation);
  --_shadow-color: var(--md-comp-button-filled-container-shadow-color);
  --_button-icon: var(--md-comp-button-filled-icon-color);
  --_button-label: var(--md-comp-button-filled-label-text-color);
}
.md-filled-button[aria-pressed="false"] {
  --_button-container: var(--md-comp-button-filled-unselected-container-color);
  --_button-icon: var(--md-comp-button-filled-unselected-icon-color);
  --_button-label: var(--md-comp-button-filled-unselected-label-text-color);
}
.md-filled-button[aria-pressed="true"] {
  --_button-container: var(--md-comp-button-filled-selected-container-color);
  --_button-icon: var(--md-comp-button-filled-selected-icon-color);
  --_button-label: var(--md-comp-button-filled-selected-label-text-color);
}
.md-filled-button:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_elevation-level: var(--md-comp-button-filled-hovered-container-elevation);
  --_button-icon: var(--md-comp-button-filled-hovered-icon-color);
  --_button-label: var(--md-comp-button-filled-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-filled-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-filled-hovered-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-filled-hovered-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-filled-hovered-state-layer-opacity);
}
.md-filled-button[aria-pressed="false"]:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-filled-unselected-hovered-icon-color);
  --_button-label: var(--md-comp-button-filled-unselected-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-filled-unselected-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-filled-unselected-hovered-state-layer-color);
}
.md-filled-button[aria-pressed="true"]:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-filled-selected-hovered-icon-color);
  --_button-label: var(--md-comp-button-filled-selected-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-filled-selected-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-filled-selected-hovered-state-layer-color);
}
.md-filled-button:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_elevation-level: var(--md-comp-button-filled-focused-container-elevation);
  --_button-icon: var(--md-comp-button-filled-focused-icon-color);
  --_button-label: var(--md-comp-button-filled-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-filled-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-filled-focused-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-filled-focused-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-filled-focused-state-layer-opacity);
}
.md-filled-button[aria-pressed="false"]:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-filled-unselected-focused-icon-color);
  --_button-label: var(--md-comp-button-filled-unselected-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-filled-unselected-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-filled-unselected-focused-state-layer-color);
}
.md-filled-button[aria-pressed="true"]:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-filled-selected-focused-icon-color);
  --_button-label: var(--md-comp-button-filled-selected-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-filled-selected-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-filled-selected-focused-state-layer-color);
}
.md-filled-button:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_elevation-level: var(--md-comp-button-filled-pressed-container-elevation);
  --_button-icon: var(--md-comp-button-filled-pressed-icon-color);
  --_button-label: var(--md-comp-button-filled-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-filled-pressed-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-filled-pressed-state-layer-opacity);
}
.md-filled-button { --_button-pressed-state-color: var(--md-comp-button-filled-pressed-state-layer-color); }
.md-filled-button { --_button-pressed-state-opacity: var(--md-comp-button-filled-pressed-state-layer-opacity); }
.md-filled-button[aria-pressed="false"]:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-filled-unselected-pressed-icon-color);
  --_button-label: var(--md-comp-button-filled-unselected-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-filled-unselected-pressed-state-layer-color);
}
.md-filled-button[aria-pressed="false"] { --_button-pressed-state-color: var(--md-comp-button-filled-unselected-pressed-state-layer-color); }
.md-filled-button[aria-pressed="true"]:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-filled-selected-pressed-icon-color);
  --_button-label: var(--md-comp-button-filled-selected-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-filled-selected-pressed-state-layer-color);
}
.md-filled-button[aria-pressed="true"] { --_button-pressed-state-color: var(--md-comp-button-filled-selected-pressed-state-layer-color); }
.md-filled-button:is(:disabled,[aria-disabled="true"]) {
  --_button-container: var(--md-comp-button-filled-disabled-container-color);
  --_elevation-level: var(--md-comp-button-filled-disabled-container-elevation);
  --_button-container-opacity: var(--md-comp-button-filled-disabled-container-opacity);
  --_button-icon: var(--md-comp-button-filled-disabled-icon-color);
  --_button-icon-opacity: var(--md-comp-button-filled-disabled-icon-opacity);
  --_button-label: var(--md-comp-button-filled-disabled-label-text-color);
  --_button-label-opacity: var(--md-comp-button-filled-disabled-label-text-opacity);
}
.md-outlined-button {
  --_button-icon: var(--md-comp-button-outlined-icon-color);
  --_button-label: var(--md-comp-button-outlined-label-text-color);
  --_button-outline: var(--md-comp-button-outlined-outline-color);
}
.md-outlined-button[aria-pressed="false"] {
  --_button-icon: var(--md-comp-button-outlined-unselected-icon-color);
  --_button-label: var(--md-comp-button-outlined-unselected-label-text-color);
}
.md-outlined-button[aria-pressed="true"] {
  --_button-container: var(--md-comp-button-outlined-selected-container-color);
  --_button-icon: var(--md-comp-button-outlined-selected-icon-color);
  --_button-label: var(--md-comp-button-outlined-selected-label-text-color);
}
.md-outlined-button:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-outlined-hovered-icon-color);
  --_button-label: var(--md-comp-button-outlined-hovered-label-text-color);
  --_button-outline: var(--md-comp-button-outlined-hovered-outline-color);
  --_button-state-color: var(--md-comp-button-outlined-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-outlined-hovered-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-outlined-hovered-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-outlined-hovered-state-layer-opacity);
}
.md-outlined-button[aria-pressed="false"]:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-outlined-unselected-hovered-icon-color);
  --_button-label: var(--md-comp-button-outlined-unselected-hovered-label-text-color);
  --_button-outline: var(--md-comp-button-outlined-unselected-hovered-outline-color);
  --_button-state-color: var(--md-comp-button-outlined-unselected-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-outlined-unselected-hovered-state-layer-color);
}
.md-outlined-button[aria-pressed="true"]:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-outlined-selected-hovered-icon-color);
  --_button-label: var(--md-comp-button-outlined-selected-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-outlined-selected-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-outlined-selected-hovered-state-layer-color);
}
.md-outlined-button:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-outlined-focused-icon-color);
  --_button-label: var(--md-comp-button-outlined-focused-label-text-color);
  --_button-outline: var(--md-comp-button-outlined-focused-outline-color);
  --_button-state-color: var(--md-comp-button-outlined-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-outlined-focused-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-outlined-focused-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-outlined-focused-state-layer-opacity);
}
.md-outlined-button[aria-pressed="false"]:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-outlined-unselected-focused-icon-color);
  --_button-label: var(--md-comp-button-outlined-unselected-focused-label-text-color);
  --_button-outline: var(--md-comp-button-outlined-unselected-focused-outline-color);
  --_button-state-color: var(--md-comp-button-outlined-unselected-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-outlined-unselected-focused-state-layer-color);
}
.md-outlined-button[aria-pressed="true"]:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-outlined-selected-focused-icon-color);
  --_button-label: var(--md-comp-button-outlined-selected-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-outlined-selected-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-outlined-selected-focused-state-layer-color);
}
.md-outlined-button:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-outlined-pressed-icon-color);
  --_button-label: var(--md-comp-button-outlined-pressed-label-text-color);
  --_button-outline: var(--md-comp-button-outlined-pressed-outline-color);
  --_button-state-color: var(--md-comp-button-outlined-pressed-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-outlined-pressed-state-layer-opacity);
}
.md-outlined-button { --_button-pressed-state-color: var(--md-comp-button-outlined-pressed-state-layer-color); }
.md-outlined-button { --_button-pressed-state-opacity: var(--md-comp-button-outlined-pressed-state-layer-opacity); }
.md-outlined-button[aria-pressed="false"]:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-outlined-unselected-pressed-icon-color);
  --_button-label: var(--md-comp-button-outlined-unselected-pressed-label-text-color);
  --_button-outline: var(--md-comp-button-outlined-unselected-pressed-outline-color);
  --_button-state-color: var(--md-comp-button-outlined-unselected-pressed-state-layer-color);
}
.md-outlined-button[aria-pressed="false"] { --_button-pressed-state-color: var(--md-comp-button-outlined-unselected-pressed-state-layer-color); }
.md-outlined-button[aria-pressed="true"]:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-outlined-selected-pressed-icon-color);
  --_button-label: var(--md-comp-button-outlined-selected-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-outlined-selected-pressed-state-layer-color);
}
.md-outlined-button[aria-pressed="true"] { --_button-pressed-state-color: var(--md-comp-button-outlined-selected-pressed-state-layer-color); }
.md-outlined-button:is(:disabled,[aria-disabled="true"]) {
  --_button-container-opacity: var(--md-comp-button-outlined-disabled-container-opacity);
  --_button-icon: var(--md-comp-button-outlined-disabled-icon-color);
  --_button-icon-opacity: var(--md-comp-button-outlined-disabled-icon-opacity);
  --_button-label: var(--md-comp-button-outlined-disabled-label-text-color);
  --_button-label-opacity: var(--md-comp-button-outlined-disabled-label-text-opacity);
  --_button-outline: var(--md-comp-button-outlined-disabled-outline-color);
}
.md-outlined-button[aria-pressed="false"]:is(:disabled,[aria-disabled="true"]) {
  --_button-outline: var(--md-comp-button-outlined-unselected-disabled-outline-color);
}
.md-outlined-button[aria-pressed="true"]:is(:disabled,[aria-disabled="true"]) {
  --_button-container: var(--md-comp-button-outlined-selected-disabled-container-color);
}
.md-text-button {
  --_button-icon: var(--md-comp-button-text-icon-color);
  --_button-label: var(--md-comp-button-text-label-text-color);
}
.md-text-button:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-text-hovered-icon-color);
  --_button-label: var(--md-comp-button-text-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-text-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-text-hovered-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-text-hovered-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-text-hovered-state-layer-opacity);
}
.md-text-button:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-text-focused-icon-color);
  --_button-label: var(--md-comp-button-text-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-text-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-text-focused-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-text-focused-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-text-focused-state-layer-opacity);
}
.md-text-button:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-text-pressed-icon-color);
  --_button-label: var(--md-comp-button-text-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-text-pressed-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-text-pressed-state-layer-opacity);
}
.md-text-button { --_button-pressed-state-color: var(--md-comp-button-text-pressed-state-layer-color); }
.md-text-button { --_button-pressed-state-opacity: var(--md-comp-button-text-pressed-state-layer-opacity); }
.md-text-button:is(:disabled,[aria-disabled="true"]) {
  --_button-container: var(--md-comp-button-text-disabled-container-color);
  --_button-container-opacity: var(--md-comp-button-text-disabled-container-opacity);
  --_button-icon: var(--md-comp-button-text-disabled-icon-color);
  --_button-icon-opacity: var(--md-comp-button-text-disabled-icon-opacity);
  --_button-label: var(--md-comp-button-text-disabled-label-text-color);
  --_button-label-opacity: var(--md-comp-button-text-disabled-label-text-opacity);
}
.md-tonal-button {
  --_button-container: var(--md-comp-button-tonal-container-color);
  --_elevation-level: var(--md-comp-button-tonal-container-elevation);
  --_shadow-color: var(--md-comp-button-tonal-container-shadow-color);
  --_button-icon: var(--md-comp-button-tonal-icon-color);
  --_button-label: var(--md-comp-button-tonal-label-text-color);
}
.md-tonal-button[aria-pressed="false"] {
  --_button-container: var(--md-comp-button-tonal-unselected-container-color);
  --_button-icon: var(--md-comp-button-tonal-unselected-icon-color);
  --_button-label: var(--md-comp-button-tonal-unselected-label-text-color);
}
.md-tonal-button[aria-pressed="true"] {
  --_button-container: var(--md-comp-button-tonal-selected-container-color);
  --_button-icon: var(--md-comp-button-tonal-selected-icon-color);
  --_button-label: var(--md-comp-button-tonal-selected-label-text-color);
}
.md-tonal-button:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_elevation-level: var(--md-comp-button-tonal-hovered-container-elevation);
  --_button-icon: var(--md-comp-button-tonal-hovered-icon-color);
  --_button-label: var(--md-comp-button-tonal-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-tonal-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-tonal-hovered-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-tonal-hovered-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-tonal-hovered-state-layer-opacity);
}
.md-tonal-button[aria-pressed="false"]:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-tonal-unselected-hovered-icon-color);
  --_button-label: var(--md-comp-button-tonal-unselected-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-tonal-unselected-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-tonal-unselected-hovered-state-layer-color);
}
.md-tonal-button[aria-pressed="true"]:is(:hover,[data-button-state="hovered"]):not(:disabled):not([aria-disabled="true"]):not(:where([data-touch])) {
  --_button-icon: var(--md-comp-button-tonal-selected-hovered-icon-color);
  --_button-label: var(--md-comp-button-tonal-selected-hovered-label-text-color);
  --_button-state-color: var(--md-comp-button-tonal-selected-hovered-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-tonal-selected-hovered-state-layer-color);
}
.md-tonal-button:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_elevation-level: var(--md-comp-button-tonal-focused-container-elevation);
  --_button-icon: var(--md-comp-button-tonal-focused-icon-color);
  --_button-label: var(--md-comp-button-tonal-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-tonal-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-tonal-focused-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-tonal-focused-state-layer-opacity);
  --_button-background-state-opacity: var(--md-comp-button-tonal-focused-state-layer-opacity);
}
.md-tonal-button[aria-pressed="false"]:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-tonal-unselected-focused-icon-color);
  --_button-label: var(--md-comp-button-tonal-unselected-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-tonal-unselected-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-tonal-unselected-focused-state-layer-color);
}
.md-tonal-button[aria-pressed="true"]:is(:focus-visible,[data-button-state="focused"]):not(:disabled):not([aria-disabled="true"]) {
  --_button-icon: var(--md-comp-button-tonal-selected-focused-icon-color);
  --_button-label: var(--md-comp-button-tonal-selected-focused-label-text-color);
  --_button-state-color: var(--md-comp-button-tonal-selected-focused-state-layer-color);
  --_button-background-state-color: var(--md-comp-button-tonal-selected-focused-state-layer-color);
}
.md-tonal-button:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_elevation-level: var(--md-comp-button-tonal-pressed-container-elevation);
  --_button-icon: var(--md-comp-button-tonal-pressed-icon-color);
  --_button-label: var(--md-comp-button-tonal-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-tonal-pressed-state-layer-color);
  --_button-state-opacity: var(--md-comp-button-tonal-pressed-state-layer-opacity);
}
.md-tonal-button { --_button-pressed-state-color: var(--md-comp-button-tonal-pressed-state-layer-color); }
.md-tonal-button { --_button-pressed-state-opacity: var(--md-comp-button-tonal-pressed-state-layer-opacity); }
.md-tonal-button[aria-pressed="false"]:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-tonal-unselected-pressed-icon-color);
  --_button-label: var(--md-comp-button-tonal-unselected-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-tonal-unselected-pressed-state-layer-color);
}
.md-tonal-button[aria-pressed="false"] { --_button-pressed-state-color: var(--md-comp-button-tonal-unselected-pressed-state-layer-color); }
.md-tonal-button[aria-pressed="true"]:is(:active,[data-pressed],[data-button-state="pressed"]):not(:disabled):not([aria-disabled="true"]):not([data-button-cancelled]) {
  --_button-icon: var(--md-comp-button-tonal-selected-pressed-icon-color);
  --_button-label: var(--md-comp-button-tonal-selected-pressed-label-text-color);
  --_button-state-color: var(--md-comp-button-tonal-selected-pressed-state-layer-color);
}
.md-tonal-button[aria-pressed="true"] { --_button-pressed-state-color: var(--md-comp-button-tonal-selected-pressed-state-layer-color); }
.md-tonal-button:is(:disabled,[aria-disabled="true"]) {
  --_button-container: var(--md-comp-button-tonal-disabled-container-color);
  --_elevation-level: var(--md-comp-button-tonal-disabled-container-elevation);
  --_button-container-opacity: var(--md-comp-button-tonal-disabled-container-opacity);
  --_button-icon: var(--md-comp-button-tonal-disabled-icon-color);
  --_button-icon-opacity: var(--md-comp-button-tonal-disabled-icon-opacity);
  --_button-label: var(--md-comp-button-tonal-disabled-label-text-color);
  --_button-label-opacity: var(--md-comp-button-tonal-disabled-label-text-opacity);
}
