.button{--button-height:var(--control-height);--button-padding-x:var(--space-5);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--button-height);padding:0 var(--button-padding-x);border:var(--border-width-strong) solid transparent;border-radius:var(--radius-md);font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-tight);text-align:center;text-decoration:none;transition:color var(--transition),background-color var(--transition),border-color var(--transition),transform var(--transition)}.button--sm{--button-height:var(--control-height-sm);--button-padding-x:var(--space-4)}.button--lg{--button-height:var(--control-height-lg);--button-padding-x:var(--space-6)}.button--block{display:flex;width:100%}.button--primary{color:var(--color-on-primary);background:var(--color-primary)}.button--primary:active,.button--primary:hover{background:var(--color-primary-hover)}.button--secondary{border-color:var(--color-primary)}.button--ghost,.button--secondary{color:var(--color-primary);background:transparent}.button--ghost:active,.button--ghost:hover,.button--secondary:active,.button--secondary:hover{background:var(--color-primary-soft)}.button--danger{color:var(--color-on-danger);background:var(--color-danger)}.button--danger:active,.button--danger:hover{background:var(--color-danger-hover)}.button:active{transform:translateY(var(--press-offset))}.button[aria-disabled=true]{opacity:var(--opacity-disabled);cursor:not-allowed}.button[aria-disabled=true]:active{transform:none}