Javascript could be an option here- using something like:
function getURLParameter(name){
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
};
var version=getURLParameter('version');
var headHTML = document.getElementsByTagName('head')[0].innerHTML;
switch(version){
case 'mobile':
headHTML += '<link type="text/css" rel="stylesheet" href="style.css" media="only screen and (max-device-width: 480px)">';
break;
case 'desktop':
headHTML += '<link type="text/css" rel="stylesheet" href="style.css" media="only screen and (max-device-width: 1040px)">';
break;
default:
headHTML += '<link type="text/css" rel="stylesheet" href="style.css" >';
break;
}
version && document.getElementsByTagName('head')[0].innerHTML = headHTML;
The links to various versions would then append the GET variable version=desktop
etc and only the relevant CSS would be loaded.
Clearly- change the media property in the stylesheet inclusion as appropriate.