I found that this was possible with a satisfactory solution on ios 15.1+ using the a user.js and the Userscripts app.
https://apps.apple.com/us/app/userscripts/id1463298887
An example userscript that just adds css:
// ==UserScript==
// @name Nicer style on example.com
// @namespace codesthings.com
// @license MIT
// @version 1.0
// @description Adds my user style to example.com
// @author JamesCodesThings
// @match *://*.example.com/pages/*
// @grant GM_addStyle
// ==/UserScript==
(function(){
const userStyle = `body.readable {
font-family: sans-serif;
font-size: 1.2rem;
background-color: #222;
line-height: 1.25;
}
/* More CSS Here */
`;
// I found that increasing specificity helps on iOS.
document.body.className += 'readable';
GM_addStyle(readableCss);
})();
You can host your userscript somewhere like greasyfork.org, then visit the script download page on iOS safari and use the extension to install the user script.
Example full userscript: https://greasyfork.org/en/scripts/448219-lazyfoo-readable-css