Для таких вещей нет смысла ажно целое расширение писать, есть юзерскрипты: ставишь tempermonkey и сразу пишешь код.
Конкретно задача обычно решается добавлением inline стиля(не важно в юзерскрипте или в расширении), примерно как показал
Александр .
У меня в глобальном юзерскрипте для этого такая функция пошарена) :
tm_css(css, important) {
if(important) {
css = css.replace(/(?=[^\n\S]*;[^\n\S]*\n|[^\n\S]*\n[^\n\S]*\})/g, ' !important');
}
(document.body||document.head||document.documentElement)
.insertAdjacentHTML('beforeend', `<style is="tm_css">${css}</style>`);
}
Однако в расширении таки
можно подключать локальные ресурсы(не рандомные, а самого расширения, но всё же).