I won't get into what I love about the technology because that's not the point of this post (though will summarise that my key points are variable use, the ability to include partials - therefore the ability to abstract areas out into separate files cleanly - and the logical way documents can now be structured).
Anyway, I've worked with SASS, LESS and more prominently SCSS in recent years but I've always needed to use a task-runner (such as Gulp or Grunt) to compile the pre-processed code into a valid CSS file. Task runners are really handy (and most modern IDE's have the ability to add file-watchers for this anyway), but native support from an application level is always handy. Concrete5 5.7 now has LESS support as standard and it's incredibly easy to implement.
Simply ensure that your theme directory has a "css" directory. In this you'll want a "presets" directory with a "defaults.less" file. In here you can add global declarations (I often use them for concepts such as brand colours, fonts and other things that will be repeated over-and-over again in the file. It's useful to do here because if you later need to change fonts or colours, you won't be a slave to copy/paste.
Create your main LESS file (in this instance called main.less). At the top you'll want to import your defaults file:
/* Import our theme variables */ @import "presets/defaults.less";
From here you can then go on to create your LESS file as you ordinarily would. Go read up on LESS if you're new to it.
You no longer need to point directly to the compiled CSS anymore, Concrete5 will compile it for you - but only if you include it correctly.
Previously you'll have been adding this as the SRC for the link:
echo $view->getThemePath() . '/css/main.css';
Whereas now you'll want to include it specifically as a Stylesheet and point it at the LESS file:
Concrete5 will compile the LESS into CSS for you, no need to have your own task-runners or file-watchers.
Obviously you don't want it compiling the LESS each and every time it runs, so inside the normal "Cache & Speed Settings" area of the dashboard, there's a setting for caching the output and compressing it too, which you'll want off while developing but on for production.
Hope this was helpful! Pretty basic stuff, but useful.
Whether you want to discuss a piece of business, get advice on how to approach something in Concrete5, want my top Project Zomboid tips or just simply want to say hello, then please do. I'm not as anti-social as my status as a developer would suggest.