This is renderer-dependent (as it's a relatively new feature), but SVG alsp supports altering the vector by scale via CSS media-queries. Oversimplified example:
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> <style>@media (max-width: 24px) { .detail { display: none; } }</style> <path d="basic icon here" /> <path class="detail" d="extra icon details here" /> </svg>
This is renderer-dependent (as it's a relatively new feature), but SVG alsp supports altering the vector by scale via CSS media-queries. Oversimplified example: