That's a perfectly good solution as well! It's just that it's more complicated (ie. takes more work, takes more code, etc.), so it's not quite as quick a fix. But if keeping the value unchanged is important, then by all means go with CSS.
s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/