diff --git a/src/endWeek/saWorkTheFarm.js b/src/endWeek/saWorkTheFarm.js
index 2570b995320b2b16ac95933dc5e767a6df061b20..9fefc378a28510646fcd12740a5d8145ba1897c8 100644
--- a/src/endWeek/saWorkTheFarm.js
+++ b/src/endWeek/saWorkTheFarm.js
@@ -83,7 +83,7 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 	if (slave.tired === 1) {
 		t += `${He} is so tired that ${he} doesn't have the energy to work efficiently, impacting ${his} production. `;
 	}
-	t += `As a result, ${he} produces @@.chocolate;${ massFormat(food) }@@ of food over the week. `;
+	t += `As a result, ${he} produces <span class=chocolate>${ massFormat(food) }</span> of food over the week. `;
 
 	// Close Food Production
 
@@ -98,12 +98,12 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 
 		if (arcology.FSSupremacist !== "unset") {
 			if (slave.race === arcology.FFSupremacistRace) {
-				t += `Society @@.red;disapproves@@ of your allowing a member of the elite race to be degraded in such a fashion, and thus ${he} didn't earn as much. `;
+				t += `Society <span class=red>disapproves</span> of your allowing a member of the elite race to be degraded in such a fashion, and thus ${he} didn't earn as much. `;
 			}
 		}
 		if (arcology.FSSubjugationist !== "unset") {
 			if (slave.race === arcology.FSSubjugationistRace) {
-				t += `Society @@.green;approves@@ of the degradation you submit your ${ arcology.FSSubjugationistRace } slaves to, and so ${he} earns you a bit more. `;
+				t += `Society <span class=green>approves</span> of the degradation you submit your ${ arcology.FSSubjugationistRace } slaves to, and so ${he} earns you a bit more. `;
 			} else {
 				t += `Society doesn't disapprove of ${him} not being ${ arcology.FSSubjugationistRace }, but ${he} doesn't earn as much as ${he} would if ${he} was ${ arcology.FSSubjugationistRace }. `;
 			}
@@ -111,9 +111,9 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 		if (arcology.FSRepopulationFocus !== "unset") {
 			if (slave.pregWeek > 16) {
 				if (slave.eggType !== "human") {
-					t += `Society is @@.red;disgusted@@ by ${his} pregnancy when they realize that what it is in ${his} womb is not human. `;
+					t += `Society is <span class=red>disgusted</span> by ${his} pregnancy when they realize that what it is in ${his} womb is not human. `;
 				} else {
-					t += `Society @@.green;greatly approves@@ of your having pregnant slaves `;
+					t += `Society <span class=green>greatly approves</span> of your having pregnant slaves `;
 					if (V.seeBestiality === 1) {
 						t += `have sex`;
 					} else {
@@ -128,7 +128,7 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 				if (slave.eggType !== "human") {
 					t += `Society is disgusted by ${his} pregnancy until they learn that what is in ${his} womb is not human. `;
 				} else {
-					t += `Society is @@.red;extremely disgusted@@ by ${his} pregnancy and the fact that you would have ${him} `;
+					t += `Society is <span class=red>extremely disgusted</span> by ${his} pregnancy and the fact that you would have ${him} `;
 					if (V.seeBestiality === 1) {
 						t += `have sex`;
 					} else if (V.farmyardShows) {
@@ -140,14 +140,14 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 		}
 		if (arcology.FSGenderRadicalist !== "unset") {
 			if (slave.dick > 0) {
-				t += `${His} patrons @@.green;approve@@ of the fact that ${he} has a dick. `;
+				t += `${His} patrons <span class=green>approve</span> of the fact that ${he} has a dick. `;
 			} else {
 				// TODO: not sure what to do for this
 			}
 		}
 		if (arcology.FSGenderFundamentalist !== "unset") {
 			if (slave.pregWeek > 16) {
-				t += `${His} patrons @@.green;approve@@ of the fact that ${he} is sporting a baby bump.`;
+				t += `${His} patrons <span class=green>approve</span> of the fact that ${he} is sporting a baby bump.`;
 			} else {
 				// TODO: also this
 			}
@@ -157,16 +157,16 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 		}
 		if (arcology.FSPaternalist !== "unset") {
 			if (V.seeBestiality === 1 && V.farmyardBreeding) {
-				t += `Your citizens are @@.red;very disapproving@@ of the fact that you would allow something as degrading as having your slaves to be knocked up by filthy beasts. `;
+				t += `Your citizens are <span class=red>very disapproving</span> of the fact that you would allow something as degrading as having your slaves to be knocked up by filthy beasts. `;
 			} else {
-				t += `Your citizens @@.red;disapprove@@ of the fact that you would allow your slaves to be degraded in such a manner. `;
+				t += `Your citizens <span class=red>disapprove</span> of the fact that you would allow your slaves to be degraded in such a manner. `;
 			}
 		}
 		if (arcology.FSDegradationist !== "unset") {
 			if (V.seeBestiality === 1 && V.farmyardBreeding) {
-				t += `Your citizens are @@.green;very approving@@ of the fact that you would allow something as degrading as having your slaves to be knocked up by filthy beasts. `;
+				t += `Your citizens are <span class=green>very approving</span> of the fact that you would allow something as degrading as having your slaves to be knocked up by filthy beasts. `;
 			} else {
-				t += `Your citizens @@.green;approve@@ of the fact that you would allow your slaves to be degraded in such a manner. `;
+				t += `Your citizens <span class=green>approve</span> of the fact that you would allow your slaves to be degraded in such a manner. `;
 			}
 		}
 		if (arcology.FSBodyPurist !== "unset") {
@@ -201,21 +201,21 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 		}
 		if (arcology.FSYouthPreferentialist !== "unset") {
 			if (slave.visualAge > 25) {		// TODO: not sure about this age
-				t += `${arcology.name }'s citizens @@.red;disapprove@@ of your using such old slaves to put on shows. `;
+				t += `${arcology.name }'s citizens <span class=red>disapprove</span> of your using such old slaves to put on shows. `;
 			} else {
-				t += `${arcology.name }'s citizens @@.green;approve@@ of your using young slaves to put on shows. `;
+				t += `${arcology.name }'s citizens <span class=green>approve</span> of your using young slaves to put on shows. `;
 			}
 		}
 		if (arcology.FSMaturityPreferentialist !== "unset") {
 			if (slave.visualAge > 25) {		// TODO: not sure about this age
-				t += `${arcology.name }'s citizens @@.green;approve@@ of your using mature slaves to put on shows. `;
+				t += `${arcology.name }'s citizens <span class=green>approve</span> of your using mature slaves to put on shows. `;
 			} else {
-				t += `${arcology.name }'s citizens @@.red;disapprove@@ of your using such young slaves to put on shows. `;
+				t += `${arcology.name }'s citizens <span class=red>disapprove</span> of your using such young slaves to put on shows. `;
 			}
 		}
 		if (arcology.FSSlimnessEnthusiast !== "unset") {
 			if (slave.weight > 10) {
-				t += `Society finds a slave with such a flabby body @@.red;absolutely disgusting.@@ `;
+				t += `Society finds a slave with such a flabby body <span class=red>absolutely disgusting.</span> `;
 			}
 			if (slave.boobs > 799) {
 				t += `Your citizens `;
@@ -405,9 +405,9 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 	if (slave.fetishKnown && (slave.fetish === "submissive" || slave.fetish === "humiliation" || slave.fetish === "masochist") || slave.energy > 95) {
 		if (V.farmyardShows) {
 			if (V.seeBestiality === 1) {
-				t += `Getting fucked by animals is the perfect job for ${him}, as far as ${he} can tell. @@.hotpink;${He} is happy@@ to spend ${his} days being utterly degraded. `;
+				t += `Getting fucked by animals is the perfect job for ${him}, as far as ${he} can tell. <span class=hotpink>${He} is happy</span> to spend ${his} days being utterly degraded. `;
 			} else {
-				t += `${He} loves putting on shows with animals, and as far as ${he} can tell, it's the perfect job for ${him}. @@.hotpink;${He} is happy@@ to spend ${his} days doing something so degrading. `;		// TODO: not sure how degrading putting on shows is
+				t += `${He} loves putting on shows with animals, and as far as ${he} can tell, it's the perfect job for ${him}. <span class=hotpink>${He} is happy</span> to spend ${his} days doing something so degrading. `;		// TODO: not sure how degrading putting on shows is
 			}
 		}
 		slave.devotion += 1;
@@ -416,7 +416,7 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 		}
 	}
 	if (slave.behavioralQuirk === "fitness") {
-		t += `${slave.slaveName } @@.hotpink;privately enjoys@@ the exercise ${he} receives while working in ${farmyardName}. `;
+		t += `${slave.slaveName } <span class=hotpink>privately enjoys</span> the exercise ${he} receives while working in ${farmyardName}. `;
 		slave.devotion += 1;
 	}
 
@@ -430,9 +430,9 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 		if (vignette.type === "cash") {
 			FResult(slave);
 			if (vignette.effect > 0) {
-				t += ` @@.yellowgreen;making you an extra ${ cashFormat(Math.trunc(V.FResult*vignette.effect)) }.@@ `;
+				t += ` <span class=yellowgreen>making you an extra ${ cashFormat(Math.trunc(V.FResult*vignette.effect)) }.</span> `;
 			} else if (vignette.effect < 0) {
-				t += ` @@.red;losing you ${ cashFormat(Math.abs(Math.trunc(V.FResult*vignette.effect))) }.@@ `;
+				t += ` <span class=red>losing you ${ cashFormat(Math.abs(Math.trunc(V.FResult*vignette.effect))) }.</span> `;
 			} else {
 				t += ` an incident without lasting effect. `;
 			}
@@ -441,23 +441,23 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 		} else if (vignette.type === "devotion") {
 			if (vignette.effect > 0) {
 				if (slave.devotion > 50) {
-					t += ` @@.hotpink;increasing ${his} devotion to you.@@ `;
+					t += ` <span class=hotpink>increasing ${his} devotion to you.</span> `;
 				} else if (slave.devotion >= -20) {
-					t += ` @@.hotpink;increasing ${his} acceptance of you.@@ `;
+					t += ` <span class=hotpink>increasing ${his} acceptance of you.</span> `;
 				} else if (slave.devotion >= -20) {
-					t += ` @@.hotpink;reducing ${his} dislike of you.@@ `;
+					t += ` <span class=hotpink>reducing ${his} dislike of you.</span> `;
 				} else {
-					t += ` @@.hotpink;reducing ${his} hatred of you.@@ `;
+					t += ` <span class=hotpink>reducing ${his} hatred of you.</span> `;
 				}
 			} else if (vignette.effect < 0) {
 				if (slave.devotion > 50) {
-					t += ` @@.mediumorchid;reducing ${his} devotion to you.@@ `;
+					t += ` <span class=mediumorchid>reducing ${his} devotion to you.</span> `;
 				} else if (slave.devotion >= 20) {
-					t += ` @@.mediumorchid;reducing ${his} acceptance of you.@@ `;
+					t += ` <span class=mediumorchid>reducing ${his} acceptance of you.</span> `;
 				} else if (slave.devotion >= -20) {
-					t += ` @@.mediumorchid;increasing ${his} dislike of you.@@ `;
+					t += ` <span class=mediumorchid>increasing ${his} dislike of you.</span> `;
 				} else {
-					t += ` @@.mediumorchid;increasing ${his} hatred of you.@@ `;
+					t += ` <span class=mediumorchid>increasing ${his} hatred of you.</span> `;
 				}
 			} else {
 				t += ` an incident without lasting effect. `;
@@ -466,19 +466,19 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 		} else if (vignette.type === "trust") {
 			if (vignette.effect > 0) {
 				if (slave.trust > 20) {
-					t += ` @@.mediumaquamarine;increasing ${his} trust in you.@@ `;
+					t += ` <span class=mediumaquamarine>increasing ${his} trust in you.</span> `;
 				} else if (slave.trust >= -20) {
-					t += ` @@.mediumaquamarine;reducing ${his} fear of you.@@ `;
+					t += ` <span class=mediumaquamarine>reducing ${his} fear of you.</span> `;
 				} else {
-					t += ` @@.mediumaquamarine;reducing ${his} terror of you.@@ `;
+					t += ` <span class=mediumaquamarine>reducing ${his} terror of you.</span> `;
 				}
 			} else if (vignette.effect < 0) {
 				if (slave.trust > 20) {
-					t += ` @@.gold;reducing ${his} trust in you.@@ `;
+					t += ` <span class=gold>reducing ${his} trust in you.</span> `;
 				} else if (slave.trust >= -20) {
-					t += ` @@.gold;increasing ${his} fear of you.@@ `;
+					t += ` <span class=gold>increasing ${his} fear of you.</span> `;
 				} else {
-					t += ` @@.gold;increasing ${his} terror of you.@@ `;
+					t += ` <span class=gold>increasing ${his} terror of you.</span> `;
 				}
 			} else {
 				t += ` an incident without lasting effect. `;
@@ -486,9 +486,9 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 			slave.trust += 1*vignette.effect;
 		} else if (vignette.type === "health") {
 			if (vignette.effect > 0) {
-				t += ` @@.green;improving ${his} health.@@ `;
+				t += ` <span class=green>improving ${his} health.</span> `;
 			} else if (vignette.effect < 0) {
-				t += ` @@.red;affecting ${his} health.@@ `;
+				t += ` <span class=red>affecting ${his} health.</span> `;
 			} else {
 				t += ` an incident without lasting effect. `;
 			}
@@ -496,9 +496,9 @@ window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWo
 		} else {
 			FResult(slave);
 			if (vignette.effect > 0) {
-				t += ` @@.green;gaining you a bit of reputation.@@ `;
+				t += ` <span class=green>gaining you a bit of reputation.</span> `;
 			} else if (vignette.effect < 0) {
-				t += ` @@.red;losing you a bit of reputation.@@ `;
+				t += ` <span class=red>losing you a bit of reputation.</span> `;
 			} else {
 				t += ` an incident without lasting effect. `;
 			}
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 9b553e01b439b86e51a0d731b2b490f8c434aad5..0e4624c21433347eceb3610d7e7c9356615bdd6e 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -937,23 +937,23 @@ window.slaveJobValues = function() {
 	});
 	if(V.DJ !== 0) {
 		if(!canTalk(V.DJ)) {
-			//''__@@.pink;$DJ.slaveName@@__'' can't speak @@.yellow;and cannot serve as your DJ any more.@@<br>
+			// ''__<span class=pink>$DJ.slaveName</span>__'' can't speak <span class=yell>w;and cannot serve as your DJ any more.</span><br>
 			V.DJ = 0;
 			V.unDJ = 1;
 		} else if(V.DJ.preg > 37 && V.DJ.broodmother === 2) {
-			//''__@@.pink;$DJ.slaveName@@__'' spends so much time giving birth and laboring that @@.yellow;$he cannot effectively serve as your DJ any longer.@@
+			// ''__<span class=pink>$DJ.slaveName</span>__'' spends so much time giving birth and laboring that <span class=yell>w;$he cannot effectively serve as your DJ any longer.</span>
 			V.DJ = 0;
 			V.unDJ = 2;
 		} else if(V.DJ.fetish == "mindbroken") {
-			//''__@@.pink;$DJ.slaveName@@__'' is mindbroken @@.yellow;and cannot serve as your DJ any more.@@<br>
+			// ''__<span class=pink>$DJ.slaveName</span>__'' is mindbroken <span class=yell>w;and cannot serve as your DJ any more.</span><br>
 			V.DJ = 0;
 			V.unDJ = 3;
 		} else if(!canWalk(V.DJ)) {
-			//''__@@.pink;$DJ.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your DJ any more.@@<br>
+			// ''__<span class=pink>$DJ.slaveName</span>__'' is no longer independently mobile <span class=yell>w;and cannot serve as your DJ any more.</span><br>
 			V.DJ = 0;
 			V.unDJ = 4;
 		} else if(!canHear(V.DJ)) {
-			//''__@@.pink;$DJ.slaveName@@__'' can no longer hear @@.yellow;and cannot serve as your DJ any more.@@<br>
+			// ''__<span class=pink>$DJ.slaveName</span>__'' can no longer hear <span class=yell>w;and cannot serve as your DJ any more.</span><br>
 			V.DJ = 0;
 			V.unDJ = 5;
 		}
@@ -961,44 +961,44 @@ window.slaveJobValues = function() {
 	if(V.DJ !== 0) {
 		if(V.DJ.relationship === -3 && V.DJ.devotion > 50) {
 			DJRepBonus += 0.1;
-			//$He tries $his best to be your energetic, cheerful wife.
+			// $He tries $his best to be your energetic, cheerful wife.
 		}
 		if(V.DJ.eyes === -2) {
 			DJRepBonus += 0.15;
 		}
 		if(V.DJ.skill.entertainment <= 10) {
-			//Though $DJ.slaveName does $his best to lead on the club, with $his lack of skill $he can do little.
+			// Though $DJ.slaveName does $his best to lead on the club, with $his lack of skill $he can do little.
 		} else if(V.DJ.skill.entertainment <= 30) {
 			DJRepBonus += 0.05;
-			//$DJ.slaveName's basic skills marginally @@.green;improve@@ the atmosphere on $clubName.
+			// $DJ.slaveName's basic skills marginally <span class=gree>;improve</span> the atmosphere on $clubName.
 		} else if(V.DJ.skill.entertainment <= 60) {
 			DJRepBonus += 0.1;
-			//$DJ.slaveName's skills @@.green;improve@@ the atmosphere on $clubName.
+			// $DJ.slaveName's skills <span class=gree>;improve</span> the atmosphere on $clubName.
 		} else if(V.DJ.skill.entertainment < 100) {
 			DJRepBonus += 0.15;
-			//$DJ.slaveName's skills greatly @@.green;improve@@ the atmosphere on $clubName.
+			// $DJ.slaveName's skills greatly <span class=gree>;improve</span> the atmosphere on $clubName.
 		} else if(V.DJ.skill.entertainment >= 100) {
 			DJRepBonus += 0.20;
-			//$DJ.slaveName's mastery immensely @@.green;improves@@ the atmosphere on $clubName.
+			// $DJ.slaveName's mastery immensely <span class=gree>;improves</span> the atmosphere on $clubName.
 		}
 		if(V.DJ.muscles > 5 && V.DJ.muscles <= 95) {
 			V.DJRepBonus += 0.05;
-			//$His toned body helps $him lead $his fellow club girls by letting $him dance all night.
+			// $His toned body helps $him lead $his fellow club girls by letting $him dance all night.
 		}
 		if(V.DJ.intelligence + V.DJ.intelligenceImplant > 15) {
 			DJRepBonus += 0.05 * Math.floor((V.DJ.intelligence + V.DJ.intelligenceImplant)/32);
-			//$He's smart enough to make an actual contribution to the music, greatly enhancing the entire experience.
+			// $He's smart enough to make an actual contribution to the music, greatly enhancing the entire experience.
 		}
 		if(V.DJ.face > 95) {
 			DJRepBonus += 0.05;
-			//$His great beauty is a further draw, even when $he's in $his DJ booth, but especially when $he comes out to dance.
+			// $His great beauty is a further draw, even when $he's in $his DJ booth, but especially when $he comes out to dance.
 		}
 		if(setup.DJCareers.includes(V.DJ.career)) {
 			DJRepBonus += 0.05;
-			//$He has musical experience from $his life before $he was a slave, a grounding that gives $his tracks actual depth.
+			// $He has musical experience from $his life before $he was a slave, a grounding that gives $his tracks actual depth.
 		} else if(V.DJ.skill.DJ >= V.masteredXP) {
 			DJRepBonus += 0.05;
-			//$He has musical experience from working for you, giving $his tracks actual depth.
+			// $He has musical experience from working for you, giving $his tracks actual depth.
 		}
 
 		// The DJ adding to 'club'
@@ -1059,77 +1059,77 @@ window.slaveJobValues = function() {
 				if(V.clubAdsStacked === 1) {
 					if(isStacked(s) === true) {
 						beautyMultiplier += 0.05;
-						//$His stacked body fits $clubName's ad campaign, getting $him more attention.
+						// $His stacked body fits $clubName's ad campaign, getting $him more attention.
 					}
 				} else if(V.clubAdsStacked === -1) {
 					if(isSlim(s) === true) {
 						beautyMultiplier += 0.05;
-						//$His slim body fits $clubName's ad campaign, getting $him more attention.
+						// $His slim body fits $clubName's ad campaign, getting $him more attention.
 					}
 				}
 				if(V.clubAdsPreg === 1) {
 					if(isPreg(s) === true) {
 						beautyMultiplier += 0.05;
-						//$His gravid body fits $clubName's ad campaign, getting $him more attention.
+						// $His gravid body fits $clubName's ad campaign, getting $him more attention.
 					}
 				} else if(V.clubAdsPreg === -1) {
 					if(isNotPreg(s) === true) {
 						beautyMultiplier += 0.05;
-						//$His flat belly fits $clubName's ad campaign, getting $him more attention.
+						// $His flat belly fits $clubName's ad campaign, getting $him more attention.
 					}
 				}
 				if(V.clubAdsModded === 1) {
 					if(isModded(s) === true) {
 						beautyMultiplier += 0.05;
-						//Body art like $hers is a major draw.
+						// Body art like $hers is a major draw.
 					}
 				} else if(V.clubAdsModded === -1) {
 					if(isUnmodded(s) === true) {
 						beautyMultiplier += 0.05;
-						//Very clean bodies like $hers are a major draw.
+						// Very clean bodies like $hers are a major draw.
 					}
 				}
 				if(V.clubAdsImplanted === 1) {
 					if(isSurgicallyImproved(s) === true) {
 						beautyMultiplier += 0.05;
-						//Many citizens come to $clubName looking to fuck a plastic slut like $him.
+						// Many citizens come to $clubName looking to fuck a plastic slut like $him.
 					}
 				} else if(V.clubAdsImplanted === -1) {
 					if(isPure(s) === true) {
 						beautyMultiplier += 0.05;
-						//Many citizens come to $clubName looking to get with a natural $girl like $him.
+						// Many citizens come to $clubName looking to get with a natural $girl like $him.
 					}
 				}
 				if(V.clubAdsOld === 1) {
 					if(isYoung(s) === false) {
 						beautyMultiplier += 0.05;
-						//$He's perfect for $clubName, which practically exists to match citizens up with mature slaves.
+						// $He's perfect for $clubName, which practically exists to match citizens up with mature slaves.
 					}
 				} else if(V.clubAdsOld === -1) {
 					if(isYoung(s) === true && s.physical >= 18) {
 						beautyMultiplier += 0.05;
-						//$He's perfect for $clubName, which practically exists to match citizens up with young slaves.
+						// $He's perfect for $clubName, which practically exists to match citizens up with young slaves.
 					}
 				} else if(V.clubAdsOld === -2) {
 					if(s.physical <= 18 && s.physical >= 13) {
 						beautyMultiplier += 0.05;
-						//$He's perfect for $clubName, which practically exists to match citizens up with teenage slaves.
+						// $He's perfect for $clubName, which practically exists to match citizens up with teenage slaves.
 					}
 				} else if(V.clubAdsOld === -3) {
 					if(s.physical < 13) {
 						beautyMultiplier += 0.05;
-						//$He's perfect for $clubName, which practically exists to match citizens up with $loli slaves.
+						// $He's perfect for $clubName, which practically exists to match citizens up with $loli slaves.
 					}
 				}
 				if(V.clubAdsXX === 1) {
 					if(s.dick === 0) {
 						beautyMultiplier += 0.05;
-						//Almost everyone who comes to $clubName is looking to fuck a $girl like $him.
+						// Almost everyone who comes to $clubName is looking to fuck a $girl like $him.
 					}
 				} else if(V.clubAdsXX == -1) {
 					if(s.dick > 0) {
 						beautyMultiplier += 0.05;
-						//Almost everyone who comes to $clubName is looking to poke a $girl who cums when buttfucked.
+						// Almost everyone who comes to $clubName is looking to poke a $girl who cums when buttfucked.
 					}
 				}
 			}
@@ -1139,10 +1139,10 @@ window.slaveJobValues = function() {
 		}
 		if(canHear(s) === false) {
 			beautyMultiplier -= 0.15;
-			//$His inability to move to the rhythm of the music is very off putting to those looking to party.
+			// $His inability to move to the rhythm of the music is very off putting to those looking to party.
 		}
 
-		//Injuries
+		// Injuries
 		if(s.curatives < 1 || s.inflationType !== "curative") {
 			if(s.health < -50) {
 				s.health -= 8;
@@ -1565,7 +1565,7 @@ window.repX = function(rep, what, who) {
 		V.lastWeeksRepExpenses.overflow += (20000 - V.rep); V.rep = 20000;
 	}
 
-	//Rep should never be lower than 0.  Record this rounding purely to keep the books balanced.
+	// Rep should never be lower than 0.  Record this rounding purely to keep the books balanced.
 	else if (V.rep < 0) {
 		V.lastWeeksRepIncome.overflow += (0 - V.rep); V.rep = 0;
 	}
diff --git a/src/js/pregJS.js b/src/js/pregJS.js
index 766c846290b9b87b995f1ee7801ef9b5a797a312..c73df8068a0ecc636949b9263e2f2a18766942e2 100644
--- a/src/js/pregJS.js
+++ b/src/js/pregJS.js
@@ -423,7 +423,7 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) {
 				else if (!displayOverride) {
 					target.pregKnown = 1;
 					if (target.ID === -1) {
-						/* r += "@@.lime;You have gotten pregnant.@@"; */
+						/* r += "<span class=lime>You have gotten pregnant.</span>"; */
 					} else {
 						r += `<span class="lime">${He} has become pregnant.</span>`;
 					}
@@ -449,7 +449,7 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) {
 				else if (!displayOverride) {
 					target.pregKnown = 1;
 					if (target.ID === -1) {
-						/* r += "@@.lime;You have gotten pregnant.@@"; */
+						/* r += "<span class=lime>You have gotten pregnant.</span>"; */
 					} else {
 						r += `<span class="lime">${He} has become pregnant.</span>`;
 					}
diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js
index 4b095e0228f0968eca53e5e719ae8d1c71d78b95..dfe8dd1bc00ec6deb6fbf301eb0137283ca45fb5 100644
--- a/src/js/sexActsJS.js
+++ b/src/js/sexActsJS.js
@@ -16,13 +16,13 @@ window.AnalVCheck = function AnalVCheck(times = 1) {
 	const His = capFirstChar(his);
 	let r = ``;
 	if (canDoAnal(slave) && slave.anus === 0) {
-		r += `@@.lime;This breaks in ${slave.slaveName}'s virgin ass.@@ `;
+		r += `<span class=lime>This breaks in ${slave.slaveName}'s virgin ass.</span> `;
 		if (slave.devotion > 50 || slave.career === "a slave since birth") {
 			r += `Since it's ${his} first time, you gently ease yourself into ${his} butthole and gradually increase the intensity of your thrusts. Before long ${he}'s moaning loudly as you continue working away at ${his} butthole. `;
 			if (slave.tankBaby === 2) {
-				r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity.@@ ${He} expects ${his} asshole to be seeing a lot more attention now.`;
+				r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a <span class=hotpink>necessity.</span> ${He} expects ${his} asshole to be seeing a lot more attention now.`;
 			} else {
-				r += `${He} thinks of losing ${his} anal virginity to you as a @@.hotpink;connection@@ with ${his} beloved ${WrittenMaster(slave)}. `;
+				r += `${He} thinks of losing ${his} anal virginity to you as a <span class=hotpink>connection</span> with ${his} beloved ${WrittenMaster(slave)}. `;
 				if ((slave.fetishKnown && slave.fetish === "buttslut") || (slave.energy > 95) || (slave.attrXX >= 85 && V.PC.dick === 0)) {
 					r += `${He} can't wait to be fucked in the ass by you again.`;
 				} else {
@@ -33,10 +33,10 @@ window.AnalVCheck = function AnalVCheck(times = 1) {
 		} else if (slave.devotion > 20) {
 			r += `Since it's ${his} first time, you gently ease yourself into ${his} butthole and gradually increase the intensity of your thrusts. ${His} moans become louder and louder as you continue working away at ${his} butthole. ${He} accepts the pain and humiliation of anal sex as part of ${his} sexual servitude, though ${he} hopes that ${his} next time will be less painful.`;
 		} else if (slave.devotion >= -20) {
-			r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.gold;fears@@ ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
+			r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class=gold>fears</span> ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
 			slave.trust -= 5;
 		} else {
-			r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
+			r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class=mediumorchid>hates</span> and <span class=gold>fears</span> you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
 			slave.trust -= 5;
 			slave.devotion -= 5;
 		}
@@ -70,13 +70,13 @@ window.VaginalVCheck = function VaginalVCheck(times = 1) {
 	const His = capFirstChar(his);
 	let r = ``;
 	if (canDoVaginal(slave) && slave.vagina === 0) {
-		r += `@@.lime;This breaks in ${slave.slaveName}'s virgin pussy.@@ `;
+		r += `<span class=lime>This breaks in ${slave.slaveName}'s virgin pussy.</span> `;
 		if (slave.devotion > 50 || slave.career === "a slave since birth") {
 			r += `You ease yourself into ${his} pussy, since it's ${his} first time, then gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} moans loudly. `;
 			if (slave.tankBaby === 2) {
-				r += `${He} thinks of losing ${his} virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity to be happy.@@ ${He} expects ${his} pussy to be seeing a lot more attention in the future.`;
+				r += `${He} thinks of losing ${his} virginity to ${his} ${WrittenMaster(slave)} a <span class=hotpink>necessity to be happy.</span> ${He} expects ${his} pussy to be seeing a lot more attention in the future.`;
 			} else {
-				r += `@@.hotpink;${He} enjoys losing ${his} cherry to you.@@ `;
+				r += `<span class=hotpink>${He} enjoys losing ${his} cherry to you.</span> `;
 				if ((slave.fetishKnown && slave.fetish === "pregnancy") || (slave.energy > 95) || (slave.attrXY >= 85 && V.PC.dick === 1)) {
 					r += `${He} can't wait to have ${his} pussy fucked by you again.`;
 				} else {
@@ -87,11 +87,11 @@ window.VaginalVCheck = function VaginalVCheck(times = 1) {
 		} else if (slave.devotion > 20) {
 			r += `You ease yourself into ${his} pussy, since it's ${his} first time, then gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} accepts losing ${his} virginity to ${his} owner and ${he} looks forward to having ${his} pussy fucked by you again.`;
 		} else if (slave.devotion >= -20) {
-			r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue thrusting into ${his} fuck hole. ${He} @@.mediumorchid;hates@@ losing ${his} virginity this way and @@.gold;fears@@ the next time you'll conquer ${him}. ${He} dreads getting violated by you again.`;
+			r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue thrusting into ${his} fuck hole. ${He} <span class=mediumorchid>hates</span> losing ${his} virginity this way and <span class=gold>fears</span> the next time you'll conquer ${him}. ${He} dreads getting violated by you again.`;
 			slave.trust -= 5;
 			slave.devotion -= 5;
 		} else {
-			r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue working ${his} fuck hole. ${He} tries to struggle, but you only pound harder. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for robbing ${his} of ${his} virginity. ${He} dreads getting fucked by you again.`;
+			r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue working ${his} fuck hole. ${He} tries to struggle, but you only pound harder. ${He} <span class=mediumorchid>hates</span> and <span class=gold>fears</span> you for robbing ${his} of ${his} virginity. ${He} dreads getting fucked by you again.`;
 			slave.trust -= 10;
 			slave.devotion -= 15;
 		}
@@ -128,17 +128,17 @@ window.BothVCheck = function BothVCheck(analTimes = 1, bothTimes = 1) {
 	if (canDoVaginal(slave)) {
 		if (slave.vagina === 0) {
 			if (canDoAnal(slave) && slave.anus === 0) {
-				r += `@@.lime;This breaks in ${slave.slaveName}'s virgin holes.@@ `;
+				r += `<span class=lime>This breaks in ${slave.slaveName}'s virgin holes.</span> `;
 				if (slave.devotion > 50 || slave.career === "a slave since birth") {
 					r += `As it's ${his} first time, you ease yourself into ${his} pussy before gradually working your way into ${his} ass and alternate between the two holes while ${he} moans. `;
 					if (slave.tankBaby === 2) {
-						r += `${He} believes you taking ${his} virgin holes @@.hotpink;will keep ${him} from suffering.@@ ${He} expects you to require ${his} holes as tribute again soon.`;
+						r += `${He} believes you taking ${his} virgin holes <span class=hotpink>will keep ${him} from suffering.</span> ${He} expects you to require ${his} holes as tribute again soon.`;
 					} else {
-						r += `@@.hotpink;${He}'s so devoted ${he} enjoys being fucked in both holes for the first time.@@ ${He} looks forward to having ${his} holes fucked by you again.`;
+						r += `<span class=hotpink>${He}'s so devoted ${he} enjoys being fucked in both holes for the first time.</span> ${He} looks forward to having ${his} holes fucked by you again.`;
 					}
 					slave.devotion += 4;
 				} else if (slave.devotion <= 20) {
-					r += `You force yourself into ${his} pussy before working your way into ${his} ass. ${He} sobs and cries with disgust while you alternate between the two holes. ${He} @@.mediumorchid;hates@@ losing ${his} virginity and anal virginity in one @@.gold;brutal@@ incident. ${He} dreads having ${his} holes violated by you again.`;
+					r += `You force yourself into ${his} pussy before working your way into ${his} ass. ${He} sobs and cries with disgust while you alternate between the two holes. ${He} <span class=mediumorchid>hates</span> losing ${his} virginity and anal virginity in one <span class=gold>brutal</span> incident. ${He} dreads having ${his} holes violated by you again.`;
 					slave.trust -= 5;
 					slave.devotion -= 5;
 				} else {
@@ -146,17 +146,17 @@ window.BothVCheck = function BothVCheck(analTimes = 1, bothTimes = 1) {
 				}
 				slave.anus = 1;
 			} else {
-				r += `@@.lime;This breaks in ${slave.slaveName}'s virgin pussy.@@ `;
+				r += `<span class=lime>This breaks in ${slave.slaveName}'s virgin pussy.</span> `;
 				if (slave.devotion > 50 || slave.career === "a slave since birth") {
 					r += `As it's ${his} first time, you ease yourself into ${his} pussy and gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} moans loudly. `;
 					if (slave.tankBaby === 2) {
-						r += `${He} thinks of losing ${his} virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity to be happy.@@ ${He} expects ${his} pussy to be seeing a lot more attention in the future.`;
+						r += `${He} thinks of losing ${his} virginity to ${his} ${WrittenMaster(slave)} a <span class=hotpink>necessity to be happy.</span> ${He} expects ${his} pussy to be seeing a lot more attention in the future.`;
 					} else {
-						r += `@@.hotpink;${He} enjoys losing ${his} cherry to you.@@ ${He} looks forward to having ${his} pussy fucked by you again.`;
+						r += `<span class=hotpink>${He} enjoys losing ${his} cherry to you.</span> ${He} looks forward to having ${his} pussy fucked by you again.`;
 					}
 					slave.devotion += 4;
 				} else if (slave.devotion <= 20) {
-					r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue working ${his} fuck hole. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for taking ${his} virginity. ${He} dreads having ${his} pussy violated by you again.`;
+					r += `You force yourself into ${his} pussy. ${He} sobs and cries with disgust while you continue working ${his} fuck hole. ${He} <span class=mediumorchid>hates</span> and <span class=gold>fears</span> you for taking ${his} virginity. ${He} dreads having ${his} pussy violated by you again.`;
 					slave.trust -= 5;
 					slave.devotion -= 5;
 				} else {
@@ -165,22 +165,22 @@ window.BothVCheck = function BothVCheck(analTimes = 1, bothTimes = 1) {
 			}
 			slave.vagina = 1;
 		} else if (canDoAnal(slave) && slave.anus === 0) {
-			r += `@@.lime;This breaks in ${slave.slaveName}'s virgin ass.@@ `;
+			r += `<span class=lime>This breaks in ${slave.slaveName}'s virgin ass.</span> `;
 			if (slave.devotion > 50 || slave.career === "a slave since birth") {
 				r += `As it's ${his} first time, you ease yourself into ${his} butthole and gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} moans loudly. `;
 				if (slave.tankBaby === 2) {
-					r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity.@@ ${He} expects ${his} asshole to be seeing a lot more attention now.`;
+					r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a <span class=hotpink>necessity.</span> ${He} expects ${his} asshole to be seeing a lot more attention now.`;
 				} else {
-					r += `${He} thinks of losing ${his} anal virginity to you as a @@.hotpink;connection@@ with ${his} beloved ${WrittenMaster(slave)}. ${He} looks forward to having ${his} asshole fucked by you again.`;
+					r += `${He} thinks of losing ${his} anal virginity to you as a <span class=hotpink>connection</span> with ${his} beloved ${WrittenMaster(slave)}. ${He} looks forward to having ${his} asshole fucked by you again.`;
 				}
 				slave.devotion += 4;
 			} else if (slave.devotion > 20) {
 				r += `As it's ${his} first time, you ease yourself into ${his} butthole and gradually increase the intensity of your thrusts. ${He} accepts the pain and humiliation of anal sex as part of ${his} sexual servitude, though ${he} hopes that ${his} next time will be less painful.`;
 			} else if (slave.devotion >= -20) {
-				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.gold;fears@@ ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
+				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class=gold>fears</span> ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
 				slave.trust -= 5;
 			} else {
-				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
+				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class=mediumorchid>hates</span> and <span class=gold>fears</span> you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
 				slave.trust -= 5;
 				slave.devotion -= 5;
 			}
@@ -203,22 +203,22 @@ window.BothVCheck = function BothVCheck(analTimes = 1, bothTimes = 1) {
 		}
 	} else if (canDoAnal(slave)) {
 		if (slave.anus === 0) {
-			r += `@@.lime;This breaks in ${slave.slaveName}'s virgin ass.@@ `;
+			r += `<span class=lime>This breaks in ${slave.slaveName}'s virgin ass.</span> `;
 			if (slave.devotion > 50 || slave.career === "a slave since birth") {
 				r += `As it's ${his} first time, you ease yourself into ${his} butthole and gradually speed up your thrusts while ${he} slowly learns to move ${his} hips along with you. ${He} moans loudly. `;
 				if (slave.tankBaby === 2) {
-					r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a @@.hotpink;necessity.@@ ${He} expects ${his} asshole to be seeing a lot more attention now.`;
+					r += `${He} thinks of losing ${his} anal virginity to ${his} ${WrittenMaster(slave)} a <span class=hotpink>necessity.</span> ${He} expects ${his} asshole to be seeing a lot more attention now.`;
 				} else {
-					r += `${He} thinks of losing ${his} anal virginity to you as a @@.hotpink;connection@@ with ${his} beloved ${WrittenMaster(slave)}. ${He} looks forward to having ${his} asshole fucked by you again.`;
+					r += `${He} thinks of losing ${his} anal virginity to you as a <span class=hotpink>connection</span> with ${his} beloved ${WrittenMaster(slave)}. ${He} looks forward to having ${his} asshole fucked by you again.`;
 				}
 				slave.devotion += 4;
 			} else if (slave.devotion > 20) {
 				r += `As it's ${his} first time, you ease yourself into ${his} butthole and gradually increase the intensity of your thrusts. ${He} accepts the pain and humiliation of anal sex as part of ${his} sexual servitude, though ${he} hopes that ${his} next time will be less painful.`;
 			} else if (slave.devotion >= -20) {
-				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.gold;fears@@ ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
+				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class=gold>fears</span> ${his} next anal sex, remembering the pain of losing ${his} anal virginity. ${He} dreads having ${his} ass violated by you again.`;
 				slave.trust -= 5;
 			} else {
-				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} @@.mediumorchid;hates@@ and @@.gold;fears@@ you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
+				r += `You force yourself into ${his} butthole. ${He} sobs and cries with disgust while you continue thrusting into ${his} ass. ${He} <span class=mediumorchid>hates</span> and <span class=gold>fears</span> you for violating ${his} virgin butt. ${He} dreads having ${his} ass fucked by you again.`;
 				slave.trust -= 5;
 				slave.devotion -= 5;
 			}
@@ -270,19 +270,19 @@ window.PartnerVCheck = function PartnerVCheck(analTimes = 1, bothTimes = 1) {
 	let r = ``;
 
 	if (V.partner < 0 || V.partner >= V.slaves.length) {
-		r += `@@.red;PartnerVCheck called with invalid partner '$partner' from passage ${passage()}.@@`;
+		r += `<span class=red>PartnerVCheck called with invalid partner '$partner' from passage ${passage()}.</span>`;
 	} else if (canDoVaginal(partner)) {
 		if (partner.vagina === 0) {
 			if (canDoAnal(partner) && partner.anus === 0) {
-				r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} pussy before gradually working your way into ${his} butthole, alternating between ${his} holes. @@.lime;This breaks in ${partner.slaveName}'s virgin holes.@@ `;
+				r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} pussy before gradually working your way into ${his} butthole, alternating between ${his} holes. <span class=lime>This breaks in ${partner.slaveName}'s virgin holes.</span> `;
 				partner.vagina = 1;
 				partner.anus = 1;
 			} else {
-				r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} pussy before gradually increasing the intensity of your thrusts. @@.lime;This breaks in ${partner.slaveName}'s virgin pussy.@@ `;
+				r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} pussy before gradually increasing the intensity of your thrusts. <span class=lime>This breaks in ${partner.slaveName}'s virgin pussy.</span> `;
 				partner.vagina = 1;
 			}
 		} else if (canDoAnal(partner) && partner.anus === 0) {
-			r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} butthole before gradually increasing the intensity of your thrusts into ${his} ass. @@.lime;This breaks in ${partner.slaveName}'s virgin ass.@@ `;
+			r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} butthole before gradually increasing the intensity of your thrusts into ${his} ass. <span class=lime>This breaks in ${partner.slaveName}'s virgin ass.</span> `;
 			partner.anus = 1;
 		}
 
@@ -303,7 +303,7 @@ window.PartnerVCheck = function PartnerVCheck(analTimes = 1, bothTimes = 1) {
 		}
 	} else if (canDoAnal(partner)) {
 		if (partner.anus === 0) {
-			r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} butthole before gradually increasing the intensity of your thrusts into ${his} ass. @@.lime;This breaks in ${partner.slaveName}'s virgin ass.@@ `;
+			r += `Since it's ${partner.slaveName}'s first time, you take your time and gently ease yourself into ${his} butthole before gradually increasing the intensity of your thrusts into ${his} ass. <span class=lime>This breaks in ${partner.slaveName}'s virgin ass.</span> `;
 			partner.anus = 1;
 		}
 		V.analTotal += analTimes;
diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index ac0906e2a39fd87b116a62f6f20bd29d2b08f62e..5efad3090631db056a38c3eeecc274a6afd07db0 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -5091,12 +5091,12 @@ App.UI.slaveSummaryList = function (passageName) {
 					_Slave = slaves[_ssi]; /* restore devotion value so repeatedly changing clothes isn't an exploit */
 				}
 				res.push(dividerAndImage(_Slave));
-				if ("be your Head Girl" === _Slave.assignment) res.push('<strong>@@.lightcoral;HG@@</strong> ');
-				else if ("recruit girls" === _Slave.assignment) res.push('<strong>@@.lightcoral;RC@@</strong> ');
-				else if ("guard you" === _Slave.assignment) res.push('<strong>@@.lightcoral;BG@@</strong> ');
+				if ("be your Head Girl" === _Slave.assignment) res.push('<strong><span class=lightcoral>HG</span></strong> ');
+				else if ("recruit girls" === _Slave.assignment) res.push('<strong></span>.lightcoral;RC</span></strong> ');
+				else if ("guard you" === _Slave.assignment) res.push('<strong></span>.lightcoral;BG</span></strong> ');
 
 				if (Array.isArray(V.personalAttention) && V.personalAttention.findIndex(s => s.ID === _Slave.ID) !== -1) {
-					res.push('<strong>@@.lightcoral; PA@@</strong> ');
+					res.push('<strong></span>.lightcoral; PA</span></strong> ');
 				}
 				res.push(this.passageLink(_slaveName, 'Slave Interact', `$activeSlave = $slaves[${_ssi}]`)); /* lists their names */
 				break;
@@ -5532,9 +5532,9 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "New Game Plus":
 				res.push(dividerAndImage(_Slave));
 				if (V.Flag === 0) {
-					res.push(`__''@@.pink;${_Slave.slaveName}@@''__`);
+					res.push(`__''</span>.pink;${_Slave.slaveName}</span>''__`);
 				} else {
-					res.push(`__''@@.pink;${_Slave.slaveName}@@''__`);
+					res.push(`__''</span>.pink;${_Slave.slaveName}</span>''__`);
 				}
 				break;
 			case "Rules Slave Select":
@@ -5572,9 +5572,9 @@ App.UI.slaveSummaryList = function (passageName) {
 
 		res.push(' will ');
 		if ((_Slave.assignment === "rest") && (_Slave.health >= -20)) {
-			res.push("''__@@.lawngreen;rest@@__''");
+			res.push("''__</span>.lawngreen;rest</span>__''");
 		} else if ((_Slave.assignment === "stay confined") && ((_Slave.devotion > 20) || ((_Slave.trust < -20) && (_Slave.devotion >= -20)) || ((_Slave.trust < -50) && (_Slave.devotion >= -50)))) {
-			res.push("''__@@.lawngreen;stay confined.@@__''");
+			res.push("''__</span>.lawngreen;stay confined.</span>__''");
 			if (_Slave.sentence > 0) {
 				res.push(`(${_Slave.sentence} weeks)`);
 			}
@@ -5802,7 +5802,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "HG Select":
 				if (setup.HGCareers.includes(_Slave.career) || (_Slave.skill.headGirl >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Head Girl Suite":
@@ -5816,13 +5816,13 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Recruiter Select":
 				if (setup.recruiterCareers.includes(_Slave.career) || (_Slave.skill.recruiter >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "BG Select":
 				if (setup.bodyguardCareers.includes(_Slave.career) || (_Slave.skill.bodyguard >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Spa":
@@ -5838,7 +5838,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Attendant Select":
 				if (setup.attendantCareers.includes(_Slave.career) || (_Slave.skill.attendant >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Nursery":
@@ -5854,7 +5854,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Matron Select":
 				if (setup.matronCareers.includes(_Slave.career) || (_Slave.skill.matron >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Brothel":
@@ -5870,7 +5870,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Madam Select":
 				if (setup.madamCareers.includes(_Slave.career) || (_Slave.skill.madam >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Club":
@@ -5894,13 +5894,13 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "DJ Select":
 				if (setup.DJCareers.includes(_Slave.career) || (_Slave.skill.DJ >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Clinic":
 				res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
 				if (V.clinicUpgradeScanner === 1) {
-					res.push(`@@.cyan;Estimated DNA error value: ${Math.ceil(_Slave.chem / 10)}@@`);
+					res.push(`</span>.cyan;Estimated DNA error value: ${Math.ceil(_Slave.chem / 10)}</span>`);
 				}
 				if (V.Flag === 0) {
 					res.push(`<<link "Send ${_Slave.object} to $clinicName" "Assign">><<set $i = ${_ssi}>><</link>>`);
@@ -5913,7 +5913,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Nurse Select":
 				if (setup.nurseCareers.includes(_Slave.career) || (_Slave.skill.nurse >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Schoolroom":
@@ -5929,7 +5929,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Schoolteacher Select":
 				if (setup.schoolteacherCareers.includes(_Slave.career) || (_Slave.skill.teacher >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Dairy":
@@ -5945,7 +5945,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Milkmaid Select":
 				if (setup.milkmaidCareers.includes(_Slave.career) || (_Slave.skill.milkmaid >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Farmyard":
@@ -5961,7 +5961,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Farmer Select":
 				if (setup.farmerCareers.includes(_Slave.career) || (_Slave.skill.farmer >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Servants' Quarters":
@@ -5977,7 +5977,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Stewardess Select":
 				if (setup.stewardessCareers.includes(_Slave.career) || (_Slave.skill.stewardess >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "Master Suite":
@@ -6003,7 +6003,7 @@ App.UI.slaveSummaryList = function (passageName) {
 			case "Wardeness Select":
 				if (setup.wardenessCareers.includes(_Slave.career) || (_Slave.skill.wardeness >= V.masteredXP)) {
 					res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
-					res.push('@@.lime;Has applicable career experience.@@');
+					res.push('</span>.lime;Has applicable career experience.</span>');
 				}
 				break;
 			case "New Game Plus":
diff --git a/src/js/utilJS.js b/src/js/utilJS.js
index d999102978187378875ae65fb079dc04b1acd051..fa3eae7724cf573f63d1c3fc4ea9b6f92edbfbf2 100644
--- a/src/js/utilJS.js
+++ b/src/js/utilJS.js
@@ -430,18 +430,18 @@ Original SugarCube code
 	Toned
 <<elseif _Slave.muscles > -6>>
 <<elseif _Slave.muscles > -31>>
-	@@.red;weak@@
+	<span class=red>weak</span>
 <<elseif _Slave.muscles > -96>>
-	@@.red;weak+@@
+	<span class=red>weak+</span>
 <<else>>
-	@@.red;weak++@@
+	<span class=red>weak++</span>
 <</if>>
 
 As a categorizer
 <<if ndef $cats>><<set $cats = {}>><</if>>
 <<if ndef $cats.muscleCat>>
 	<!-- This only gets set once, skipping much of the code evaluation, and can be set outside of the code in an "init" passage for further optimization -->
-	<<set $cats.muscleCat = new Categorizer([96, 'Musc++'], [31, 'Musc+'], [6, 'Toned'], [-5, ''], [-30, '@@.red;weak@@'], [-95, '@@.red;weak+@@'], [-Infinity, '@@.red;weak++@@'])>>
+	<<set $cats.muscleCat = new Categorizer([96, 'Musc++'], [31, 'Musc+'], [6, 'Toned'], [-5, ''], [-30, '<span class=red>weak</span>'], [-95, '<span class=red>weak+</span>'], [-Infinity, '<span class=red>weak++</span>'])>>
 <</if>>
 <<print $cats.muscleCat.cat(_Slave.muscles)>>
 */
@@ -614,9 +614,9 @@ window.repFormat = function(s) {
 	/* if (!s) { s = 0; }*/
 	if (V.cheatMode === 1 || V.debugMode === 1) {
 		if (s > 0) {
-			return `@@.green;${ num(Math.round(s * 100) / 100) } rep@@`;
+			return `<span class=green>${ num(Math.round(s * 100) / 100) } rep</span>`;
 		} else if (s < 0) {
-			return `@@.red;${ num(Math.round(s * 100) / 100) } rep@@`;
+			return `<span class=red>${ num(Math.round(s * 100) / 100) } rep</span>`;
 		} else {
 			return `${num(Math.round(s * 100) / 100) } rep`;
 		}
@@ -624,27 +624,27 @@ window.repFormat = function(s) {
 		/* In order to calculate just how much any one category matters so we can show a "fuzzy" symbolic value to the player, we need to know how "busy" reputation was this week. To calculate this, I ADD income to expenses. Why? 100 - 100 and 10000 - 10000 BOTH are 0, but a +50 event matters a lot more in the first case than the second. I exclude overflow from the calculation because it's not a "real" expense for our purposes, and divide by half just to make percentages a bit easier. */
 		let weight = s/(((V.lastWeeksRepIncome.Total - V.lastWeeksRepExpenses.Total) + V.lastWeeksRepExpenses.overflow)/2);
 		if (weight > 0.60) {
-			return "@@.green;+++++ rep@@";
+			return "<span class=green>+++++ rep</span>";
 		} else if (weight > 0.45) {
-			return "@@.green;++++ rep@@";
+			return "<span class=green>++++ rep</span>";
 		} else if (weight > 0.30) {
-			return "@@.green;+++ rep@@";
+			return "<span class=green>+++ rep</span>";
 		} else if (weight > 0.15) {
-			return "@@.green;++ rep@@";
+			return "<span class=green>++ rep</span>";
 		} else if (weight > 0.0) {
-			return "@@.green;+ rep@@";
+			return "<span class=green>+ rep</span>";
 		} else if (weight === 0) {
 			return "0 rep";
 		} else if (weight < -0.60) {
-			return "@@.red;----- rep@@";
+			return "<span class=red>----- rep</span>";
 		} else if (weight < -0.45) {
-			return "@@.red;---- rep@@";
+			return "<span class=red>---- rep</span>";
 		} else if (weight < -0.30) {
-			return "@@.red;--- rep@@";
+			return "<span class=red>--- rep</span>";
 		} else if (weight < -0.15) {
-			return "@@.red;-- rep@@";
+			return "<span class=red>-- rep</span>";
 		} else if (weight < 0) {
-			return "@@.red;- rep@@";
+			return "<span class=red>- rep</span>";
 		}
 		/* return weight;*/
 	}
@@ -691,14 +691,14 @@ window.budgetLine = function(category, title) {
 		<td>${title}</td>\
 		<td>\
 			<<if (${income}.${category}) > 0>>\
-				@@.yellowgreen;<<print cashFormat(${income}.${category})>>@@ /*please don't put a plus sign in front of income, it's not done on a budget sheet. Safe to assume money is money unless it's in parenthesis or with a - sign.*/
+				<span class=yellowgreen><<print cashFormat(${income}.${category})>></span> /*please don't put a plus sign in front of income, it's not done on a budget sheet. Safe to assume money is money unless it's in parenthesis or with a - sign.*/
 			<<else>>\
 				<<print cashFormat(${income}.${category})>>\
 			<</if>>\
 		</td>\
 		<td>\
 			<<if (${expenses}.${category}) < 0>>\
-				@@.red;-<<print cashFormat(Math.abs(${expenses}.${category}))>>\
+				<span class=red>-<<print cashFormat(Math.abs(${expenses}.${category}))>>\
 			<<else>>\
 				<<print cashFormat(${expenses}.${category})>>\
 			<</if>>\
@@ -706,9 +706,9 @@ window.budgetLine = function(category, title) {
 		<<set ${profits}.${category} = (${income}.${category} + ${expenses}.${category})>>\
 		<td>\
 			<<if (${profits}.${category}) > 0>>\
-				@@.yellowgreen;<<print cashFormat(${profits}.${category})>>.@@
+				<span class=yellowgreen><<print cashFormat(${profits}.${category})>>.</span>
 			<<elseif (${profits}.${category}) < 0>>\
-				@@.red;-<<print cashFormat(Math.abs(${profits}.${category}))>>.@@
+				<span class=red>-<<print cashFormat(Math.abs(${profits}.${category}))>>.</span>
 			<<else>>\
 				<<print cashFormat(${profits}.${category})>>\
 			<</if>>\
@@ -1032,7 +1032,7 @@ window.induceLactation = function induceLactation(slave) {
 	let r = "";
 	if (slave.induceLactation >= 10) {
 		if (jsRandom(1, 100) < slave.induceLactation) {
-			r += `${His} breasts have been stimulated often enough to @@.lime;induce lactation.@@`;
+			r += `${His} breasts have been stimulated often enough to <span class=lime>induce lactation.</span>`;
 			slave.induceLactation = 0;
 			slave.lactationDuration = 2;
 			slave.lactation = 1;