You can use your browser’s Style Inspector. It shows that the declaration is overwritten by a more specific one on mobile:
So you can either use the more specific declaration for mobile yourself:
body:not([class*="category-"]) .list-controls .container #create-topic {
display: none;
}
Or give your general declaration priority with the !important property:
body:not([class*="category-"]) #create-topic {
display: none !important;
}