This may or may not be helpful but depending on your JS skills, I'm pretty sure you can use Canvas environment variables to identify if a user is anonymous (ie. not signed in). I have some sub-accounts where I use these variables to hide/show different elements depending on whether or not a teacher, admin or student is signed in, albeit I've never targeted anonymous users so there may be some things that I'm unaware of.
The environment variable ENV.current_user_roles is a JS array that includes all the roles the current user has. If you want to analyze it, open any page on your Canvas instance, right-click anywhere and hit inspect. Find the console in the developer tools that are now open and type: console.log(ENV.current_user_roles)
If you're an admin, you should see a list with several roles. If you're a student, it should only contain one. If you're not signed in, the array should be empty, so in theory you could just use JS to check "if the length of ENV.current_user_roles is equal to 0 or non-existent, hide X element with X CSS id/class". Or more precisely:
let user_roles = window.ENV?.current_user_roles || []; // default to empty array if variable isn't found (I think this might occur, not sure)
let element_to_hide = document.getElementById("css_selector"); // or get elements by class name if id not available or you need the whole class removed
if (user_roles.length === 0) {
div_element.style.display = "none"; // hide defined element if the user has no "user_roles" attached to them
}
If you only want to do this when the user is on mobile (ie. small screens) you can also use JS to query the browser about screen sizes or the OS of the device being used... but I'm so rusty with JS I can hardly remember what is possible, but it is for sure possible. 🙂