I've never had a designer tell me "if x typeface isn't available, fallback to y." Simply fall back to the generic name unless specified.
Why does "Monospace Code" begin with a generic name (`ui-monospace`) instead of ending with one?
(Well done demo, thanks for sharing!)