.button{--button-height:var(--control-height-md);--button-padding-x:16px;--button-radius:var(--radius-full);--button-icon-size:20px;--button-gap:8px;--button-ease:cubic-bezier(0.16,1,0.3,1);--button-ease-press:cubic-bezier(0.4,0,0.2,1);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--button-gap);height:var(--button-height);padding-left:var(--button-padding-x);padding-right:var(--button-padding-x);border:none;border-radius:var(--button-radius);background:transparent;color:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;touch-action:manipulation;outline:none;-webkit-tap-highlight-color:transparent;font:var(--type-subheadline-medium);letter-spacing:var(--type-subheadline-medium-tracking);transition:transform .15s var(--button-ease),box-shadow .15s var(--button-ease),background-color .15s ease,color .15s ease,opacity .15s ease}.button[data-size=small]{--button-height:var(--control-height-sm);--button-padding-x:12px;font:var(--type-footnote-medium);letter-spacing:var(--type-footnote-medium-tracking)}.button[data-size=medium]{--button-height:var(--control-height-md);--button-padding-x:16px}.button[data-size=large]{--button-height:var(--control-height-lg);--button-padding-x:20px}.button[data-size=medium]:not([data-appearance=link]):before,.button[data-size=small]:not([data-appearance=link]):before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:44px;min-height:var(--control-height-lg)}.button[data-appearance=solid][data-variant=primary]{background:var(--button-primary-bg);color:var(--button-primary-fg)}.button[data-appearance=solid][data-variant=secondary]{background:var(--button-secondary-bg);color:var(--button-secondary-fg)}.button[data-appearance=solid][data-variant=error]{background:var(--button-error-bg);color:var(--button-error-fg)}.button[data-appearance=solid][data-variant=success]{background:var(--button-success-bg);color:var(--button-success-fg)}.button[data-appearance=solid][data-variant=warning]{background:var(--button-warning-bg);color:var(--button-warning-fg)}.button[data-appearance=outline]{background:transparent;box-shadow:inset 0 0 0 .5px var(--button-outline-border)}.button[data-appearance=outline][data-variant=primary]{color:var(--button-primary-color)}.button[data-appearance=outline][data-variant=secondary]{color:var(--button-secondary-color)}.button[data-appearance=outline][data-variant=error]{color:var(--button-error-color)}.button[data-appearance=outline][data-variant=success]{color:var(--button-success-color)}.button[data-appearance=outline][data-variant=warning]{color:var(--button-warning-color)}.button[data-appearance=naked]{background:transparent}.button[data-appearance=naked][data-variant=primary]{color:var(--button-primary-color)}.button[data-appearance=naked][data-variant=secondary]{color:var(--button-secondary-color)}.button[data-appearance=naked][data-variant=error]{color:var(--button-error-color)}.button[data-appearance=naked][data-variant=success]{color:var(--button-success-color)}.button[data-appearance=naked][data-variant=warning]{color:var(--button-warning-color)}.button[data-appearance=link]{background:transparent;height:auto;padding:0;border-radius:0}.button[data-appearance=link][data-variant=primary]{color:var(--button-primary-color)}.button[data-appearance=link][data-variant=secondary]{color:var(--button-secondary-color)}.button[data-appearance=link][data-variant=error]{color:var(--button-error-color)}.button[data-appearance=link][data-variant=success]{color:var(--button-success-color)}.button[data-appearance=link][data-variant=warning]{color:var(--button-warning-color)}.button[data-appearance=glass]{background:var(--glass-faint);color:var(--fg-primary);box-shadow:inset 0 0 0 .5px var(--white-opacity-24),inset 0 .5px 0 0 var(--white-opacity-32);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));transition:background-color .15s ease,box-shadow .15s ease,color .15s ease,opacity .15s ease}.dark .button[data-appearance=glass]{background:var(--material-faint);box-shadow:inset 0 0 0 .5px var(--border-secondary),inset 0 .5px 0 0 var(--border-secondary)}.button[data-appearance=glass][data-icon-only][data-shape=square]{border-radius:var(--radius-md)}.button[data-appearance=glass][data-icon-only][data-shape=pill]{width:auto;padding-left:var(--button-padding-x);padding-right:var(--button-padding-x)}.button[data-appearance=glass]>.button__inner{display:inline-flex;align-items:center;justify-content:center;gap:var(--button-gap);min-width:0}.button[data-icon-only]{width:var(--button-height);padding:0}@media (hover:hover) and (pointer:fine){.button[data-appearance=solid][data-variant=primary]:hover:not(:disabled){background:var(--button-primary-bg-hover)}.button[data-appearance=solid][data-variant=secondary]:hover:not(:disabled){background:var(--button-secondary-bg-hover)}.button[data-appearance=solid][data-variant=error]:hover:not(:disabled){background:var(--button-error-bg-hover)}.button[data-appearance=solid][data-variant=success]:hover:not(:disabled){background:var(--button-success-bg-hover)}.button[data-appearance=solid][data-variant=warning]:hover:not(:disabled){background:var(--button-warning-bg-hover)}.button[data-appearance=naked][data-variant=primary]:hover:not(:disabled),.button[data-appearance=outline][data-variant=primary]:hover:not(:disabled){background:var(--button-primary-tint-hover)}.button[data-appearance=naked][data-variant=secondary]:hover:not(:disabled),.button[data-appearance=outline][data-variant=secondary]:hover:not(:disabled){background:var(--button-secondary-tint-hover)}.button[data-appearance=naked][data-variant=error]:hover:not(:disabled),.button[data-appearance=outline][data-variant=error]:hover:not(:disabled){background:var(--button-error-tint-hover)}.button[data-appearance=naked][data-variant=success]:hover:not(:disabled),.button[data-appearance=outline][data-variant=success]:hover:not(:disabled){background:var(--button-success-tint-hover)}.button[data-appearance=naked][data-variant=warning]:hover:not(:disabled),.button[data-appearance=outline][data-variant=warning]:hover:not(:disabled){background:var(--button-warning-tint-hover)}.button[data-appearance=link][data-variant=primary]:hover:not(:disabled){color:var(--button-primary-color-hover)}.button[data-appearance=link][data-variant=secondary]:hover:not(:disabled){color:var(--button-secondary-color-hover)}.button[data-appearance=link][data-variant=error]:hover:not(:disabled){color:var(--button-error-color-hover)}.button[data-appearance=link][data-variant=success]:hover:not(:disabled){color:var(--button-success-color-hover)}.button[data-appearance=link][data-variant=warning]:hover:not(:disabled){color:var(--button-warning-color-hover)}.button[data-appearance=glass]:hover:not(:disabled){background:var(--glass-pale)}.dark .button[data-appearance=glass]:hover:not(:disabled){background:var(--material-pale)}}.button[data-appearance=naked]:active:not(:disabled),.button[data-appearance=outline]:active:not(:disabled),.button[data-appearance=solid]:active:not(:disabled){transform:scale(.96);transition-duration:80ms;transition-timing-function:var(--button-ease-press)}.button[data-appearance=naked][data-variant=primary]:active:not(:disabled),.button[data-appearance=outline][data-variant=primary]:active:not(:disabled){background:var(--button-primary-tint-hover)}.button[data-appearance=naked][data-variant=secondary]:active:not(:disabled),.button[data-appearance=outline][data-variant=secondary]:active:not(:disabled){background:var(--button-secondary-tint-hover)}.button[data-appearance=naked][data-variant=error]:active:not(:disabled),.button[data-appearance=outline][data-variant=error]:active:not(:disabled){background:var(--button-error-tint-hover)}.button[data-appearance=naked][data-variant=success]:active:not(:disabled),.button[data-appearance=outline][data-variant=success]:active:not(:disabled){background:var(--button-success-tint-hover)}.button[data-appearance=naked][data-variant=warning]:active:not(:disabled),.button[data-appearance=outline][data-variant=warning]:active:not(:disabled){background:var(--button-warning-tint-hover)}@media (hover:hover) and (pointer:fine){.button[data-appearance=outline]:hover:not(:disabled){box-shadow:inset 0 0 0 .5px transparent}}.button[data-appearance=outline]:active:not(:disabled){box-shadow:inset 0 0 0 .5px transparent}.button[data-appearance=link][data-variant=primary]:active:not(:disabled){color:var(--button-primary-color-hover)}.button[data-appearance=link][data-variant=secondary]:active:not(:disabled){color:var(--button-secondary-color-hover)}.button[data-appearance=link][data-variant=error]:active:not(:disabled){color:var(--button-error-color-hover)}.button[data-appearance=link][data-variant=success]:active:not(:disabled){color:var(--button-success-color-hover)}.button[data-appearance=link][data-variant=warning]:active:not(:disabled){color:var(--button-warning-color-hover)}.button:focus-visible{outline:2px solid var(--button-focus-ring);outline-offset:2px}.button[data-appearance=link]:focus-visible{outline-offset:6px}.button[data-loading]{pointer-events:none;cursor:default}.button__icon,.button__label{transition:opacity .15s ease}.button[data-loading] .button__icon,.button[data-loading] .button__label{opacity:0}.button__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.button:disabled:not([data-loading]){cursor:default;background:var(--button-disabled-bg);color:var(--button-disabled-fg);box-shadow:none}.button[data-appearance=outline]:disabled:not([data-loading]){background:transparent;box-shadow:inset 0 0 0 .5px var(--button-outline-border)}.button[data-appearance=link]:disabled:not([data-loading]),.button[data-appearance=naked]:disabled:not([data-loading]){background:transparent;color:var(--button-disabled-fg)}.button__label{overflow:hidden;text-overflow:ellipsis;margin:-4px 0;padding:4px 0;min-width:0}.button__icon{display:flex;align-items:center;justify-content:center;width:var(--button-icon-size);height:var(--button-icon-size);flex-shrink:0}.button__icon>svg{width:100%;height:100%}@media (prefers-reduced-motion:reduce){.button{transition:none}.button:active:not(:disabled),.button:hover:not(:disabled){transform:none}}