diff --git a/css/gui/encyclopedia.css b/css/gui/encyclopedia.css
index 099ff21636e2db96c5a31036604d6faacfa40236..0ed81266dcd5ea2f061ce444a05ed7307ee4c75f 100644
--- a/css/gui/encyclopedia.css
+++ b/css/gui/encyclopedia.css
@@ -20,3 +20,7 @@
 .encyclopedia-source .article {
 	font-style: italic;
 }
+
+.encyclopedia.emphasize {
+	text-decoration-line: underline
+}
diff --git a/js/medicine/surgery/eye/ocularImplant.js b/js/medicine/surgery/eye/ocularImplant.js
index 17b942494fe6eafa4c9993e298525cd9b41a0121..0f26faaacc2ac154df42230cdedde4705b49d411 100644
--- a/js/medicine/surgery/eye/ocularImplant.js
+++ b/js/medicine/surgery/eye/ocularImplant.js
@@ -16,7 +16,7 @@ App.Medicine.Surgery.Reactions.OcularImplant = class extends App.Medicine.Surger
 				reaction.trust += 10;
 			} else {
 				r.push(`${He} is <span class="trust dec">disturbed</span> that you replaced ${his} eyes with artificial ones and afraid of increased control over ${him} that such device grants.`);
-				reaction.devotion -= 5; // TODO: text says trust, but devotion changed?
+				reaction.trust -= 5;
 			}
 		}
 
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index 3162b8cc160249a18cc41261744bd465180d30ce..6d6e9ba8caec35f90cc6c9c3904af99f5d55cb1b 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -84,121 +84,6 @@ SLAVE SKILLS
 <<case "Whoring Skill">>
 	''Whoring skill'' is available in three levels. It improves performance on all sexual assignments, though it affects whoring or working in the brothel most. Training methods include schooling (up to level one), personal attention (up to level one), Head Girl attention (up to the Head Girl's skill), and on the job experience (unlimited).
 
-/**********
-SLAVE FETISHES:
-**********/
-<<case "Fetishes">>
-	//Future room for lore text//
-
-	<br><br>
-	Choose a more particular entry below:
-	<br>
-
-<<case "Boob Fetishists">>
-	''Boob Fetishists'' like breasts.
-
-	<br><br>The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, and being milked.
-
-	<br><br>It can be advanced by appropriate smart clit piercing settings, high @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>,@@ and being milked.
-
-	<br><br>The fetish will increase XX attraction. Boob Fetishists enjoy cowbell collars, breast surgery, and being milked. Milkmaids can become boob fetishists naturally.
-
-	<br><br>Boob fetishists may become <<= App.Encyclopedia.Dialog.linkSC("obsessed with breast expansion", "Breast Obsession")>> as their breasts grow.
-
-
-<<case "Buttsluts">>
-	''Buttsluts'' fetishize anal sex — mostly on the receiving end, though they'll enjoy other anal play.
-
-	<br><br>The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, anally focused fucktoy service, service in a <<= App.Encyclopedia.Dialog.linkSC("Dairy", "Dairy")>> upgraded with reciprocating dildos, the dildo drug dispenser upgrade, anal accessories, and being a painal queen.
-
-	<br><br>It can be advanced by appropriate smart clit piercing settings, high @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>,@@ the dildo drug dispenser upgrade, and being a painal queen.
-
-	<br><br>Buttsluttery will soften the 'hates anal' flaw into 'painal queen,' the 'hates penetration' flaw into 'strugglefuck queen,' and the 'repressed' flaw into 'perverted,' or remove these flaws if a quirk is already present. Buttsluts with vaginas enjoy wearing chastity belts, and all buttsluts enjoy buttock enhancement and anal rejuvenation surgeries. Buttsluts do not mind a lack of hormonal feminization. The fetish will increase XY attraction.
-
-	<br><br>Buttsluts whose only available hole for receptive intercourse is the anus may become <<= App.Encyclopedia.Dialog.linkSC("anal addicts", "Anal Addicts")>>.
-
-
-<<case "Cumsluts">>
-	''Cumsluts'' fetishize oral sex and ejaculate.
-
-	<br><br>It can be advanced by appropriate smart clit piercing settings, high @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>,@@ the phallic food dispenser upgrade, cum diets, and being a gagfuck queen.
-
-	<br><br>Cumsluttery will soften the 'hates oral' flaw into 'gagfuck queen,' the 'hates women' flaw into 'adores men,' and the 'repressed' flaw into 'perverted,' or remove these flaws if a quirk is already present. Cumsluts enjoy cum diets. The fetish will increase XY attraction.
-
-	<br><br>Cumsluts who eat out of phallic feeders or are fed cum may become <<= App.Encyclopedia.Dialog.linkSC("cum addicts", "Cum Addicts")>>.
-
-
-<<case "Doms">>
-	''Doms'' fetishize dominance.
-
-	<br><br>The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, unfocused fucktoy service, and being confident or cutting.
-
-	<br><br>It can be advanced by appropriate smart clit piercing settings, high @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>,@@ being confident, and being cutting.
-
-	<br><br>Dominance will remove the 'apathetic' flaw if a quirk is already present. Doms do not mind a lack of hormonal feminization. The fetish will increase XX attraction. Stewardesses do better when either dominant or <<= App.Encyclopedia.Dialog.linkSC("nymphomaniacal", "Nymphomania")>>. The <<= App.Encyclopedia.Dialog.linkSC("Head Girl", "Head Girl")>>, <<= App.Encyclopedia.Dialog.linkSC("Madam", "Madam")>>, <<= App.Encyclopedia.Dialog.linkSC("Schoolteacher", "Schoolteacher")>>, <<= App.Encyclopedia.Dialog.linkSC("Stewardess", "Stewardess")>>, and <<= App.Encyclopedia.Dialog.linkSC("Nurse", "Nurse")>> can become Doms naturally.
-
-	<br><br>Doms serving as Head Girls may become <<= App.Encyclopedia.Dialog.linkSC("abusive", "Abusiveness")>> if allowed to punish slaves by molesting them.
-
-
-<<case "Humiliation Fetishists">>
-	''Humiliation Fetishists'' like exhibitionism.
-
-	<br><br>The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, or being sinful, a tease, or perverted.
-
-	<br><br>It can be advanced by appropriate smart clit piercing settings, high @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>,@@ being sinful, being a tease, and being perverted.
-
-	<br><br>A humiliation fetish will soften the 'bitchy' flaw into 'cutting' and the 'shamefast' flaw into 'tease,' or remove these flaws if a quirk is already present. The fetish will increase XY attraction. Humiliation fetishists enjoy nudity, and like revealing clothing at a lower @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ than other slaves. DJs can become humiliation fetishists naturally.
-
-	<br><br>Humiliation fetishists on public sexual assignments may become <<= App.Encyclopedia.Dialog.linkSC("attention whores", "Attention Whores")>>.
-
-
-<<case "Masochists">>
-	''Masochists'' fetishize abuse and pain aimed at themselves.
-
-	<br><br>The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, uncomfortable clothing, being <<= App.Encyclopedia.Dialog.linkSC("funny", "Funny")>> and being a <<= App.Encyclopedia.Dialog.linkSC("strugglefuck queen", "Strugglefuck Queen")>>.
-
-	<br><br>It can be advanced by appropriate smart clit piercing settings, high @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>,@@ being <<= App.Encyclopedia.Dialog.linkSC("funny", "Funny")>> and being a <<= App.Encyclopedia.Dialog.linkSC("strugglefuck queen", "Strugglefuck Queen")>>.
-
-	<br><br>Masochism will soften the 'liberated' flaw into 'advocate' or remove this flaw if a quirk is already present. Masochists can be abused without causing deleterious flaws.
-
-	<br><br>Masochists serving in an industrialized dairy, in an arcade, or in a glory hole have a chance to become <<= App.Encyclopedia.Dialog.linkSC("self hating", "Self Hatred")>>.
-
-
-<<case "Pregnancy Fetishists">>
-	''Pregnancy Fetishists'' like being impregnated, sex with pregnant slaves, and getting others pregnant. (It is not necessary that the slave actually be able to do any of these things; such is life.)
-
-	<br><br>The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, having sex while pregnant, adoring men, being a tease, and being romantic.
-
-	<br><br>It can be advanced by appropriate smart clit piercing settings, high @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>,@@ adoring men, being a tease, and being romantic.
-
-	<br><br>The fetish will increase XY attraction. Pregnancy fetishists greatly enjoy all kinds of impregnation, and love or hate fertility surgeries depending on what's being changed.
-
-	<br><br>Pregnancy Fetishists who are repeatedly bred or are serving in an industrialized Dairy may develop <<= App.Encyclopedia.Dialog.linkSC("breeding obsessions", "Breeding Obsession")>>.
-
-
-<<case "Sadists">>
-	''Sadists'' fetishize abuse and pain aimed at others.
-
-	<br><br>The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, and relationships.
-
-	<br><br>It can be advanced by appropriate smart clit piercing settings, and high @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>.@@
-
-	<br><br>Sadists do not mind a lack of hormonal feminization. The fetish will increase XX attraction. Wardenesses do better when sadistic, and can become sadists naturally.
-
-	<br><br>Sadists serving as Wardeness may become <<= App.Encyclopedia.Dialog.linkSC("sexually malicious", "Maliciousness")>>.
-
-
-<<case "Submissives">>
-	''Submissives'' fetishize submission.
-
-	<br><br>The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, unfocused fucktoy service, crawling due to damaged tendons, being caring, being an advocate, and being insecure.
-
-	<br><br>It can be advanced by appropriate smart clit piercing settings, high @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>,@@ being caring, being an advocate, and being insecure.
-
-	<br><br>Submissiveness will soften the 'arrogant' flaw into 'confident,' the 'apathetic' flaw into 'caring,' and the 'idealistic' flaw into 'romantic,' or remove these flaws if a quirk is already present. The fetish will increase XY attraction. It improves performance at the servant assignment and working in the Servants' Quarters. Attendants do better when submissive, and can become submissives naturally.
-
-	<br><br>Submissives serving on public sexual assignment may become <<= App.Encyclopedia.Dialog.linkSC("sexually self neglectful", "Self Neglect")>>.
-
 /**********
 SLAVE PARAPHILIAS
 **********/
@@ -404,141 +289,6 @@ FACILITY BONUSES
 
 	<br><br>Variety bonuses, if any, will be called out in the facility report at the end of the week. <<= App.Encyclopedia.Dialog.linkSC("Advertising", "Advertising")>> that the facility specializes in any of these areas will supersede variety bonuses for the related qualities. Staffing a facility to appeal to all tastes can be more challenging than building a homogeneous stable and advertising it, but is both powerful and free.
 
-<<case "Credits">>
-	This game was created by a person with no coding experience whatsoever. If I can create a playable h-game, so can you.
-
-	<br><br>__I do not give credit without explicit permission to do so.__ If you have contributed content and are not credited, please reach out on gitgud so credit can be given where due.
-
-	<br><br>''Boney M'' of JoNT /hgg/ mod fame has been invaluable, combing tirelessly through the code to find and report my imbecilities.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Coded an improvement to the relative recruitment system.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Wrote and coded the Ancient Egyptian Revivalism acquisition event.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Wrote and coded a prestige event for ex-abolitionists.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Coded a training event for slaves who hate blowjobs.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Wrote and coded several slave introduction options.
-	<br>''DrPill'' has offered great feedback, playtested exhaustively, and more.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Wrote a slave introduction option.
-	<br>''bob22smith2000'' has made major contributions, not limited to close review of thousands of lines of code.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Improved all facility and most assignment code for v0.5.11, an immense task.
-	<br>''Gerald Russell'' went into the code to locate and fix bugs.
-	<br>''Ryllynyth'' contributed many bugfixes and suggestions in convenient code format.
-	<br>''CornCobMan'' contributed several major modpacks, which include clothing, hair and eye colors, a facility name and arcology name expansions, UI improvements, nicknames, names, balance, a huge rework of the Rules Assistant, and more. CornCobMan has indefatigably supported the RA updates.
-	<br>''Klementine'' wrote the fertility goddess skin for the personal assistant.
-	<br>''Wahn'' wrote numerous generic recruitment events.
-	<br>''PregModder'' has modded extensively, including descriptive embellishments for pregnant slaves, various asset descriptions, Master Suite reporting, the Wardrobe, a pack of facility leader interactions, options for Personal Assistant appearances, birthing scenes, fake pregnancy accessories, many other preg mechanics, blind content, expanded chubby belly descriptions, several new surgeries, neon and metallic makeup, better descriptive support for different refreshments, work on choosesOwnJob, many bugfixes, an expansion to the hostage corruption event chain, slave specific player titles, gagging and several basic gags, extended family mode, oversized sex toys, buttplug attachment system, and other, likely forgotten, things. (And that's just the vanilla added stuff!)
-	<br>''Lolimodder'' your loli expertise will be missed.
-	<br>''pregmodfan'' for tremendous amounts of work with compilers, decompilers, etc. Single-handedly kicked this mod into its new git home. Contributed lots of bugfixes as well as fixed the RA considerably. Revamped pregnancy tracking as well then further expanded it — and then expanding it more with superfetation. Also for ppmod, ramod, implmod, cfpmod and psmod (preg speed). Added a pregnancy adapatation upgrade to the incubator.
-	<br>''FCGudder'' for advanced economy reports, image improvements, cleaning and fixing extended-extended family mode, extending building widgets, anaphrodisiacs, name cleaning, height overhauling, proper slave summary caching, new shelter slaves, some crazy ass shit with vector art, fixing seDeath, coding jQuery in ui support and likely one to two of these other anon credits.
-	<br>''family mod anon'' for extending extended family mode.
-	<br>''anon'' for lolimod content, new slave careers, new pubestyles, and general improvements.
-	<br>''anon'' for considerable bugfixing, most notably that infernal @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ bug.
-	<br>''anon'' added a pair of fairy PA appearances.
-	<br>''anon'' for their clitoral surgery, SMRs, and hip changes.
-	<br>''DarkTalon25'' for the Scots, Belarus, Dominicans, gilfwork, additional nicknames and a scalemail bikini.
-	<br>''anon'' for FAbuse alterations, gang leader start, and scarring.
-	<br>''anon'' for numerous pointed out typos.
-	<br>''anon'' for grorious nihon starting rocation.
-	<br>''anon'' for player getting fucked work.
-	<br>''anon'' for additional bodyguard weapons.
-	<br>''anon'' for HGExclusion and animal pregnancy work.
-	<br>''anon'' for putting up with my javascript incompetence.
-	<br>''anon'' for player family listing.
-	<br>''anon'' for interchangeable prosthetics, advanced facial surgeries, custom nationality distribution and corporation assets overhaul.
-	<br>''anon'' for filter by assignment.
-	<br>''anon'' for filter by facility.
-	<br>''anon'' for forcing dicks onto slavegirls.
-	<br>''anon'' for forcing dicks into slavegirls and forced slave riding.
-	<br>''Unknown modder'' who did betterRA mod for old 0.9.5.4 version of original FC.
-	<br>''brpregmodfan'' for Brazilian start and slave gen.
-	<br>''fcanon'' for various fixes, massive improvements to the RA and wrangling my inabilty to spll gud.
-	<br>''stuffedgameanon'' for fixes, streamlining the starting girls family code, family trees, unbelievable improvements to the games functionality, the sanityChecker, a tag checker and above ALL else; Improving the game's speed by an obscene amount. I swear this guy is a wizard. Now overhauling the UI as well.
-	<br>''anon'' for a prototype foot job scene.
-	<br>''Preglocke'' for cleaning and expanding the foot job scene and various little content additions and corrections.
-	<br>''anon'' for writing forced marriages, extra escape outcomes, new recruits and events, a story for FCTV and more player refreshment types.
-	<br>''anon'' for global realism stave trade setting.
-	<br>''anon'' for new recruit events.
-	<br>''anon'' for expanding the cheat edit menu for slaves.
-	<br>''thaumx'' for bigger player balls, cum production, self-impregnation and FCTV.
-	<br>''anon'' for head pats. What's next? Handholding? Consensual sex in the missionary position for the sole purpose of reproduction?
-	<br>''anon'' for Physical Idealist's beauty standard.
-	<br>''anon'' for Gender Radicalist's trap preference.
-	<br>''anon'' for the slave mutiny event.
-	<br>''onithyr'' for various little tweaks and additions.
-	<br>''anonNeo'' for spellchecking.
-	<br>''kopareigns'' for countless text and bug fixes. Also large swathes of code improvements.
-	<br>''Utopia'' for dirty dealings gang leader focus and updates to it.
-	<br>''hexall90'' for height growth drugs, incubator organ farm support and detailing, the dispensary cleanup, the joint Eugenics bad end rework with ''SFanon (blank)'', the Hippolyta Academy, and the Security Expansion Mod (SecEx).
-	<br>''sensei'' for coding in support for commas and an excellent family tree rework.
-	<br>''laziestman'' for sexy spats.
-	<br>''SFanon (blank)'' for SF related work, passive player skill gain, fulfillment order, player into summary and options rewriting, general fixes, storyCaption overhauling, updating and re-organizing the in-game wiki in addition to the joint Eugenics bad end rework with ''hexall90''. Cleaned up the sidebar, now maintaining and expanding SecEx. Added warfare/engineering personal attention targets. Likes tabs.
-	<br>''anon'' for extending FCGudder's economy reports to the other facilities.
-	<br>''MilkAnon'' for his contributions to FCTV and the FC world in general.
-	<br>''valen102938'' for dealing with vector art, both creating new art and utilizing unused art.
-	<br>''anon'' for making slaves seed their own fields.
-	<br>''Ansopedi'' for slave career skills.
-	<br>''Emuis'' for various compiler tweaks
-	<br>''anon'' for continued tweaks to various economy formulas.
-	<br>''anon'' for master slaving's multi slave training.
-	<br>''Faraen'' for a full vector art variant.
-	<br>''anon'' for more hair vectors for the external art.
-	<br>''Vas'' for massive JS work and completely redoing the RA. Set up the 'make' compiler. Gave nulls some nicknames.
-	<br>''deepmurk'' for a massive expansion in conjunction with Nox to the original embedded vector art. Also more hairs, clothes, shoes, clothes, descriptions and clothes. Overhauled skin colors too.
-	<br>''Channel8'' for FCTV content (and likely giving the spellCheck an aneurysm).
-	<br>''Channel13'' for FCTV content.
-	<br>''kidkinster'' for slave management ui stuff and induced NCS.
-	<br>''editoranon'' for cleaning text and drafting up bodyswap reactions.
-	<br>''anon'' for the wetware CPU market.
-	<br>''Autistic Boi'' for Mediterranean market preset.
-	<br>''anon'' for the PA subjugationist and supremacist FS appearances.
-	<br>''Editoranon and Milkanon?'' for prison markets and the nursing handjob scene.
-	<br>''DCoded'' for creating the favicon, nursery, and farmyard, as well as animal-related content. Created a food system as well as a loan system. Refactored tons of code and standardized the facility passages. Also added several new scenes and interactions, the reminder system, and created and fixed a number of bugs.
-	<br>''HiveBro'' for giving hyperpregnant slaves some serious loving.
-	<br>''Quin2k'' for overwriting save function and expired tweak via Vrelnir & co.
-	<br>''ezsh'' for bugfixing and creating a tool to build twineJS and twineCSS for me. Set up a revised SC update process as well. Has contributed massive revisions to the game's structure. Keeps the RA in line.
-	<br>''Sonofrevvan'' for making slaves beg and dance.
-	<br>''skriv'' for fixes and endless code cleaning.
-	<br>''Arkerthan'' for various additions including merging cybermod and vanilla prosthetics. Java sanity check. Limbs and reworked amputation. Eye rework. Has begun overhauling various systems including the building layout. Dick tower. Work on user themes. Custom hotkeys.
-	<br>''MouseOfLight'' for overhauling the corporation. V proxy, nuff said. Added better safeguards to the RA.
-	<br>''svornost'': A great asset. Various fixes and tools, including FCHost. Gave players the ability to find that one slave they are looking for. The 'Scope' macro. Optimized porn so beautifully I can't even think. Has continued his reign of optimization. Got extended family mode so smooth it supplanted vanilla. Laid the groundwork for the new event layout system.
-	<br>''Trashman1138'' for various tweaks and fixes.
-	<br>''maxd569'' for adding .mp4 and .webm support to custom images.
-	<br>''Anu'' for various fixes.
-	<br>''Cayleth'' for various fixes and support.
-	<br>''Jones'' for major overhauling of the economy/population/health systems.
-	<br>''PandemoniumPenguin'' for giving players a choice in FS names.
-	<br>''torbjornhub'' for adding pit rules to the RA.
-	<br>''CheatMode'' for additional cheatmode options.
-	<br>''Transhumanist01'' for the production of husk slaves via incubator. Contributed the uterine hypersensitivity genetic quirk.
-	<br>''Fake_Dev'' for nipple enhancers.
-	<br>''UnwrappedGodiva'' for a tool to edit save files.
-	<br>''git contributors lost to time'' for their submissions and work through pregmod's git.
-	<br>''Bane70'' optimized huge swaths of code with notable professionalism.
-	<br>''Circle Tritagonist'' provided several new collars and outfits.
-	<br>''Qotsafan'' submitted bugfixes.
-	<br>''FireDrops'' provided standardized body mod scoring, gave Recruiters their idle functions, revised personal assistant future society associations, and fixed bugs.
-	<br>''Princess April'' wrote and coded several random events and the Slimness Enthusiast Dairy upgrade.
-	<br>''Hicks'' provided minor logic and balance improvements in coded, release-ready form.
-	<br>''Dej'' coded better diet logic for the RA.
-	<br>''Flooby Badoop'' wrote and coded a random recruitment event.
-	<br>''FC_BourbonDrinker'' went into the code to locate and fix bugs.
-	<br>''Shokushu'' created a rendered imagepack comprising 775 images, and assisted with the code necessary to display them. Also maybe the dinner party event?
-	<br>''NovX'' created a vector art system.
-	<br>''Mauve'' contributed vector collars and pubic hair.
-	<br>''Rodziel'' contributed the cybernetics mod.
-	<br>''prndev'' wrote the Free Range Dairy Assignment scene. Also did tons of vector art work.
-	<br>''freecitiesbandit'' wrote a number of recruitment, future society, mercenary and random events, provided tailed buttplugs, new eyes and tattoos, and contributed the code for the mercenary raiders policy.
-	<br>''DrNoOne'' wrote the bulk slave purchase and persistent summary code.
-	<br>''Mauve'' provided vector art for chastity belts and limp dicks.
-	<br>''Klorpa'' for dozens of new nationalities and boundless new names and nicknames. Also monokinis, middle eastern clothing, overalls and aprons. Also the hearing, taste, and smell overhauls. Added basic support for watersports. Has declared war on bad spelling, grammar and formatting. Added eyebrows too. Dug up ancient abandoned vanilla vignettes and implemented them. Toiled in the depths to extend limb support.
-	<br>''lowercasedonkey'' for various additions, not limited to the budget overhauls. Set up all the tabs too. Gave events dynamic vector art. Hammered the scarring and branding systems into place. Been a real boon writing events and other things as well. Used ezsh's facility framework to enhance slave summaries. Set up a system to recall where slaves were serving. Striving to master DOM with great gains.
-	<br>''amomynous0'' for bug reports and testing in addition to SFmod unit descriptions.
-	<br>''wepsrd'' for QOL (hormonal balance cheat and lactation adaptation to new menu) fixes.
-	<br>''i107760'' for Costs Budget, CashX work, The Utopian Orphanage, Farmyard, Special Forces work, various QoL additions and Private Tutoring System.
-
-	<br><br>''Many other anonymous contributors'' helped fix bugs via GitHub. They will be credited by name upon request.
-
-	<br><br>
-	Thanks are due to all the anons that submitted slaves for inclusion in the pre-owned database and offered content ideas. Many anonymous playtesters also gave crucial feedback and bug reports. May you all ride straight to the gates of Valhalla, shiny and chrome.
-
 <<default>>
 	Error: bad title.
 <</switch>>
diff --git a/src/gui/Encyclopedia/encyclopediaBlackMarket.js b/src/gui/Encyclopedia/encyclopediaBlackMarket.js
index b2467f6145500d9ee07d15822c57b3d252e52322..14018628109102df0d79891b2457ee4646671719 100644
--- a/src/gui/Encyclopedia/encyclopediaBlackMarket.js
+++ b/src/gui/Encyclopedia/encyclopediaBlackMarket.js
@@ -1,61 +1,61 @@
 App.Encyclopedia.addArticle("The Black Market", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
- r.push("You may be the ruler of your arcology, but you don't exist in a vacuum. You can do all kinds of thing and get lots of things that regular citizens can't. So the Black Market, is a chance for less prominent citizens to do or get stuff like an arcology leader might experience. But for a ruler like yourself, it's a chance to avoid the severe scrutiny you're subject to on a regular basis, and to get a hold of bleeding edge or illegal research and technologies. The market itself is always moving from place to place, but if you're reputable enough, you can find it when you need it.");
- r.toNode("div");
+	r.push("You may be the ruler of your arcology, but you don't exist in a vacuum. You can do all kinds of thing and get lots of things that regular citizens can't. So the Black Market, is a chance for less prominent citizens to do or get stuff like an arcology leader might experience. But for a ruler like yourself, it's a chance to avoid the severe scrutiny you're subject to on a regular basis, and to get a hold of bleeding edge or illegal research and technologies. The market itself is always moving from place to place, but if you're reputable enough, you can find it when you need it.");
+	r.toNode("div");
 
- r.push("You will be able to find all manner of Future Society technologies which are not exactly illegal, but difficult to get through regular channels. Every week, the dealers will have a few for you to purchase, but for the truly illegal or unethical items, your only choice is to go to the Black Market.");
- r.toNode("p");
+	r.push("You will be able to find all manner of Future Society technologies which are not exactly illegal, but difficult to get through regular channels. Every week, the dealers will have a few for you to purchase, but for the truly illegal or unethical items, your only choice is to go to the Black Market.");
+	r.toNode("p");
 
- r.push("Specialty goods:", App.Encyclopedia.Dialog.linkDOM("Childhood Fertility Induced NCS"));
- r.toNode("p");
+	r.push("Specialty goods:", App.Encyclopedia.Dialog.linkDOM("Childhood Fertility Induced NCS"));
+	r.toNode("p");
 
- return t;
+	return t;
 }, "BlackMarket");
 
 App.Encyclopedia.addArticle("Contraband and Illegal Goods", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
- r.push("While there is little to no issue with possessing nearly anything, getting your hands on it may not always be feasible. Be it local policy or overreaching business deals, certain goods may not be found for sale in the Free City. This does not stop some of the shadier dealers from risking the sale of them, of course; this is where smugglers come in. There is always a market for contraband and illicit goods and never a shortage of people looking to buy them. Not all smugglers are successful, and those that aren't soon find themselves up for sale in the slave markets.");
- r.toNode("div");
+	r.push("While there is little to no issue with possessing nearly anything, getting your hands on it may not always be feasible. Be it local policy or overreaching business deals, certain goods may not be found for sale in the Free City. This does not stop some of the shadier dealers from risking the sale of them, of course; this is where smugglers come in. There is always a market for contraband and illicit goods and never a shortage of people looking to buy them. Not all smugglers are successful, and those that aren't soon find themselves up for sale in the slave markets.");
+	r.toNode("div");
 
- return t;
+	return t;
 }, "BlackMarket");
 
 App.Encyclopedia.addArticle("Childhood Fertility Induced NCS", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
- r.push("This uses a designer retrograde virus to set the genetic markers for the Neotenic Complex Syndrome, a syndrome originally called Syndrome X discovered in the early 2000s.");
- r.push("In layman's terms, it", App.UI.DOM.makeElement("span", "suppresses the growth and secondary sexual characteristics of slaves", ["gold"]), "both male and female.");
- r.push("The original condition was usually fatal or dangerous.");
- r.push("This modified version of the genetic flaw is not harmful (relatively speaking), and in addition to the growth blockage, it permits the slave to continue the", App.UI.DOM.makeElement("span", "development of gonads", ["lime"]), "at a slightly faster than normal pace.");
- r.push("Secondary sexual characteristics are also reversed, though interestingly enough, pregnancy is still possible.Slaves put on this genetic engineered blend will be permanently changed and will no longer grow in stature or assets without severe chemical assistance, and even then at a reduced rate when compared to non-NCS-induced slaves, and should their ongoing growth treatments stop they will slowly regress back to the physicality of a child.");
- r.toNode("div");
+	r.push("This uses a designer retrograde virus to set the genetic markers for the Neotenic Complex Syndrome, a syndrome originally called Syndrome X discovered in the early 2000s.");
+	r.push("In layman's terms, it", App.UI.DOM.makeElement("span", "suppresses the growth and secondary sexual characteristics of slaves", ["gold"]), "both male and female.");
+	r.push("The original condition was usually fatal or dangerous.");
+	r.push("This modified version of the genetic flaw is not harmful (relatively speaking), and in addition to the growth blockage, it permits the slave to continue the", App.UI.DOM.makeElement("span", "development of gonads", ["lime"]), "at a slightly faster than normal pace.");
+	r.push("Secondary sexual characteristics are also reversed, though interestingly enough, pregnancy is still possible.Slaves put on this genetic engineered blend will be permanently changed and will no longer grow in stature or assets without severe chemical assistance, and even then at a reduced rate when compared to non-NCS-induced slaves, and should their ongoing growth treatments stop they will slowly regress back to the physicality of a child.");
+	r.toNode("div");
 
- r.push(App.UI.DOM.makeElement("span", "The genetic tampering is considered illegal,", ["red"]), "but there is also a", App.UI.DOM.makeElement("span", "moral question as this abrogates the rights of slaves to ever grow up.", ["yellow"]));
- r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "The genetic tampering is considered illegal,", ["red"]), "but there is also a", App.UI.DOM.makeElement("span", "moral question as this abrogates the rights of slaves to ever grow up.", ["yellow"]));
+	r.toNode("p");
 
- r.push("Can only be purchased in", App.Encyclopedia.Dialog.linkDOM("The Black Market"));
- r.addToLast(".");
- r.toNode("p");
+	r.push("Can only be purchased in", App.Encyclopedia.Dialog.linkDOM("The Black Market"));
+	r.addToLast(".");
+	r.toNode("p");
 
- return t;
+	return t;
 }, "BlackMarket");
 
 App.Encyclopedia.addCategory("BlackMarket", function() {
- const r = [];
- r.push(App.Encyclopedia.Dialog.linkDOM("The Black Market"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Contraband and Illegal Goods"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Gender Radicalism Research"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Slave Professionalism Research"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Transformation Fetishism Research"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Asset Expansionist Research"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Slimness Enthusiast Research"));
+	const r = [];
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Black Market"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Contraband and Illegal Goods"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Gender Radicalism Research"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slave Professionalism Research"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Transformation Fetishism Research"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Asset Expansionist Research"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slimness Enthusiast Research"));
 	r.push(App.Encyclopedia.Dialog.linkDOM("Youth Preferentialism Research"));
 	r.push(App.Encyclopedia.Dialog.linkDOM("Hedonistic Decadence Research"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Childhood Fertility Induced NCS"));
- return App.UI.DOM.generateLinksStrip(r);
+	r.push(App.Encyclopedia.Dialog.linkDOM("Childhood Fertility Induced NCS"));
+	return App.UI.DOM.generateLinksStrip(r);
 });
diff --git a/src/gui/Encyclopedia/encyclopediaCredits.js b/src/gui/Encyclopedia/encyclopediaCredits.js
new file mode 100644
index 0000000000000000000000000000000000000000..935ff63553ce5c81e477b5a019d444d4633f055c
--- /dev/null
+++ b/src/gui/Encyclopedia/encyclopediaCredits.js
@@ -0,0 +1,290 @@
+App.Encyclopedia.addArticle("Credits", function() {
+	const r = new SpacedTextAccumulator();
+
+	r.push("This game was created by a person with no coding experience whatsoever. If I can create a playable h-game, so can you.");
+	r.toParagraph();
+	r.push("<span class='encyclopedia emphasize'>I do not give credit without explicit permission to do so.</span> If you have contributed content and are not credited, please reach out on gitgud so credit can be given where due.");
+	r.toParagraph();
+
+	const credits = [{
+		n: "Boney M",
+		d: ["of JoNT /hgg/ mod fame has been invaluable, combing tirelessly through the code to find and report my imbecilities.", "Coded an improvement to the relative recruitment system.", "Wrote and coded the Ancient Egyptian Revivalism acquisition event.", "Wrote and coded a prestige event for ex-abolitionists.", "Coded a training event for slaves who hate blowjobs.", "Wrote and coded several slave introduction options."]
+	}, {
+		n: "DrPill",
+		d: ["has offered great feedback, playtested exhaustively, and more.", "Wrote a slave introduction option."]
+	}, {
+		n: "bob22smith2000",
+		d: ["has made major contributions, not limited to close review of thousands of lines of code.", "Improved all facility and most assignment code for v0.5.11, an immense task."]
+	}, {
+		n: "Gerald Russell", d: ["went into the code to locate and fix bugs."]
+	}, {
+		n: "Ryllynyth", d: ["contributed many bugfixes and suggestions in convenient code format."]
+	}, {
+		n: "CornCobMan",
+		d: ["contributed several major modpacks, which include clothing, hair and eye colors, a facility name and arcology name expansions, UI improvements, nicknames, names, balance, a huge rework of the Rules Assistant, and more. CornCobMan has indefatigably supported the RA updates."]
+	}, {
+		n: "Klementine", d: ["wrote the fertility goddess skin for the personal assistant."]
+	}, {
+		n: "Wahn", d: ["wrote numerous generic recruitment events."]
+	}, {
+		n: "PregModder",
+		d: ["has modded extensively, including descriptive embellishments for pregnant slaves, various asset descriptions, Master Suite reporting, the Wardrobe, a pack of facility leader interactions, options for Personal Assistant appearances, birthing scenes, fake pregnancy accessories, many other preg mechanics, blind content, expanded chubby belly descriptions, several new surgeries, neon and metallic makeup, better descriptive support for different refreshments, work on choosesOwnJob, many bugfixes, an expansion to the hostage corruption event chain, slave specific player titles, gagging and several basic gags, extended family mode, oversized sex toys, buttplug attachment system, and other, likely forgotten, things. (And that's just the vanilla added stuff!)"]
+	}, {
+		n: "Lolimodder", d: ["your loli expertise will be missed."]
+	}, {
+		n: "pregmodfan",
+		d: ["for tremendous amounts of work with compilers, decompilers, etc. Single-handedly kicked this mod into its new git home. Contributed lots of bugfixes as well as fixed the RA considerably. Revamped pregnancy tracking as well then further expanded it — and then expanding it more with superfetation. Also for ppmod, ramod, implmod, cfpmod and psmod (preg speed). Added a pregnancy adapatation upgrade to the incubator."]
+	}, {
+		n: "FCGudder",
+		d: ["for advanced economy reports, image improvements, cleaning and fixing extended-extended family mode, extending building widgets, anaphrodisiacs, name cleaning, height overhauling, proper slave summary caching, new shelter slaves, some crazy ass shit with vector art, fixing seDeath, coding jQuery in ui support and likely one to two of these other anon credits."]
+	}, {
+		n: "family mod anon", d: ["for extending extended family mode."]
+	}, {
+		n: "anon",
+		d: ["for lolimod content, new slave careers, new pubestyles, and general improvements.", // ]},{n:"anon", d: ["for considerable bugfixing, most notably that infernal @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ bug.",
+		]
+	}, {
+		n: "anon", d: ["added a pair of fairy PA appearances."]
+	}, {
+		n: "anon", d: ["for their clitoral surgery, SMRs, and hip changes."]
+	}, {
+		n: "DarkTalon25",
+		d: ["for the Scots, Belarus, Dominicans, gilfwork, additional nicknames and a scalemail bikini."]
+	}, {
+		n: "anon", d: ["for FAbuse alterations, gang leader start, and scarring."]
+	}, {
+		n: "anon", d: ["for numerous pointed out typos."]
+	}, {
+		n: "anon", d: ["for grorious nihon starting rocation."]
+	}, {
+		n: "anon", d: ["for player getting fucked work."]
+	}, {
+		n: "anon", d: ["for additional bodyguard weapons."]
+	}, {
+		n: "anon", d: ["for HGExclusion and animal pregnancy work."]
+	}, {
+		n: "anon", d: ["for putting up with my javascript incompetence."]
+	}, {
+		n: "anon", d: ["for player family listing."]
+	}, {
+		n: "anon",
+		d: ["for interchangeable prosthetics, advanced facial surgeries, custom nationality distribution and corporation assets overhaul."]
+	}, {
+		n: "anon", d: ["for filter by assignment."]
+	}, {
+		n: "anon", d: ["for filter by facility."]
+	}, {
+		n: "anon", d: ["for forcing dicks onto slavegirls."]
+	}, {
+		n: "anon", d: ["for forcing dicks into slavegirls and forced slave riding."]
+	}, {
+		n: "Unknown modder", d: ["who did betterRA mod for old 0.9.5.4 version of original FC."]
+	}, {
+		n: "brpregmodfan", d: ["for Brazilian start and slave gen."]
+	}, {
+		n: "fcanon", d: ["for various fixes, massive improvements to the RA and wrangling my inabilty to spll gud."]
+	}, {
+		n: "stuffedgameanon",
+		d: ["for fixes, streamlining the starting girls family code, family trees, unbelievable improvements to the games functionality, the sanityChecker, a tag checker and above ALL else; Improving the game's speed by an obscene amount. I swear this guy is a wizard. Now overhauling the UI as well."]
+	}, {
+		n: "anon", d: ["for a prototype foot job scene."]
+	}, {
+		n: "Preglocke",
+		d: ["for cleaning and expanding the foot job scene and various little content additions and corrections."]
+	}, {
+		n: "anon",
+		d: ["for writing forced marriages, extra escape outcomes, new recruits and events, a story for FCTV and more player refreshment types."]
+	}, {
+		n: "anon", d: ["for global realism stave trade setting."]
+	}, {
+		n: "anon", d: ["for new recruit events."]
+	}, {
+		n: "anon", d: ["for expanding the cheat edit menu for slaves."]
+	}, {
+		n: "thaumx", d: ["for bigger player balls, cum production, self-impregnation and FCTV."]
+	}, {
+		n: "anon",
+		d: ["for head pats. What's next? Handholding? Consensual sex in the missionary position for the sole purpose of reproduction?"]
+	}, {
+		n: "anon", d: ["for Physical Idealist's beauty standard."]
+	}, {
+		n: "anon", d: ["for Gender Radicalist's trap preference."]
+	}, {
+		n: "anon", d: ["for the slave mutiny event."]
+	}, {
+		n: "onithyr", d: ["for various little tweaks and additions."]
+	}, {
+		n: "anonNeo", d: ["for spellchecking."]
+	}, {
+		n: "kopareigns", d: ["for countless text and bug fixes. Also large swathes of code improvements."]
+	}, {
+		n: "Utopia", d: ["for dirty dealings gang leader focus and updates to it."]
+	}, {
+		n: "hexall90'' for height growth drugs, incubator organ farm support and detailing, the dispensary cleanup, the joint Eugenics bad end rework with ''SFanon (blank)",
+		d: [", the Hippolyta Academy, and the Security Expansion Mod (SecEx)."]
+	}, {
+		n: "sensei", d: ["for coding in support for commas and an excellent family tree rework."]
+	}, {
+		n: "laziestman", d: ["for sexy spats."]
+	}, {
+		n: "SFanon (blank)'' for SF related work, passive player skill gain, fulfillment order, player into summary and options rewriting, general fixes, storyCaption overhauling, updating and re-organizing the in-game wiki in addition to the joint Eugenics bad end rework with ''hexall90",
+		d: [". Cleaned up the sidebar, now maintaining and expanding SecEx. Added warfare/engineering personal attention targets. Likes tabs."]
+	}, {
+		n: "anon", d: ["for extending FCGudder's economy reports to the other facilities."]
+	}, {
+		n: "MilkAnon", d: ["for his contributions to FCTV and the FC world in general."]
+	}, {
+		n: "valen102938", d: ["for dealing with vector art, both creating new art and utilizing unused art."]
+	}, {
+		n: "anon", d: ["for making slaves seed their own fields."]
+	}, {
+		n: "Ansopedi", d: ["for slave career skills."]
+	}, {
+		n: "Emuis", d: ["for various compiler tweaks"]
+	}, {
+		n: "anon", d: ["for continued tweaks to various economy formulas."]
+	}, {
+		n: "anon", d: ["for master slaving's multi slave training."]
+	}, {
+		n: "Faraen", d: ["for a full vector art variant."]
+	}, {
+		n: "anon", d: ["for more hair vectors for the external art."]
+	}, {
+		n: "Vas",
+		d: ["for massive JS work and completely redoing the RA. Set up the 'make' compiler. Gave nulls some nicknames."]
+	}, {
+		n: "deepmurk",
+		d: ["for a massive expansion in conjunction with Nox to the original embedded vector art. Also more hairs, clothes, shoes, clothes, descriptions and clothes. Overhauled skin colors too."]
+	}, {
+		n: "Channel8", d: ["for FCTV content (and likely giving the spellCheck an aneurysm)."]
+	}, {
+		n: "Channel13", d: ["for FCTV content."]
+	}, {
+		n: "kidkinster", d: ["for slave management ui stuff and induced NCS."]
+	}, {
+		n: "editoranon", d: ["for cleaning text and drafting up bodyswap reactions."]
+	}, {
+		n: "anon", d: ["for the wetware CPU market."]
+	}, {
+		n: "Autistic Boi", d: ["for Mediterranean market preset."]
+	}, {
+		n: "anon", d: ["for the PA subjugationist and supremacist FS appearances."]
+	}, {
+		n: "Editoranon and Milkanon?", d: ["for prison markets and the nursing handjob scene."]
+	}, {
+		n: "DCoded",
+		d: ["for creating the favicon, nursery, and farmyard, as well as animal-related content. Created a food system as well as a loan system. Refactored tons of code and standardized the facility passages. Also added several new scenes and interactions, the reminder system, and created and fixed a number of bugs."]
+	}, {
+		n: "HiveBro", d: ["for giving hyperpregnant slaves some serious loving."]
+	}, {
+		n: "Quin2k", d: ["for overwriting save function and expired tweak via Vrelnir & co."]
+	}, {
+		n: "ezsh",
+		d: ["for bugfixing and creating a tool to build twineJS and twineCSS for me. Set up a revised SC update process as well. Has contributed massive revisions to the game's structure. Keeps the RA in line."]
+	}, {
+		n: "Sonofrevvan", d: ["for making slaves beg and dance."]
+	}, {
+		n: "skriv", d: ["for fixes and endless code cleaning."]
+	}, {
+		n: "Arkerthan",
+		d: ["for various additions including merging cybermod and vanilla prosthetics. Java sanity check. Limbs and reworked amputation. Eye rework. Has begun overhauling various systems including the building layout. Dick tower. Work on user themes. Custom hotkeys."]
+	}, {
+		n: "MouseOfLight",
+		d: ["for overhauling the corporation. V proxy, nuff said. Added better safeguards to the RA."]
+	}, {
+		n: "svornost",
+		d: [": A great asset. Various fixes and tools, including FCHost. Gave players the ability to find that one slave they are looking for. The 'Scope' macro. Optimized porn so beautifully I can't even think. Has continued his reign of optimization. Got extended family mode so smooth it supplanted vanilla. Laid the groundwork for the new event layout system."]
+	}, {
+		n: "Trashman1138", d: ["for various tweaks and fixes."]
+	}, {
+		n: "maxd569", d: ["for adding .mp4 and .webm support to custom images."]
+	}, {
+		n: "Anu", d: ["for various fixes."]
+	}, {
+		n: "Cayleth", d: ["for various fixes and support."]
+	}, {
+		n: "Jones", d: ["for major overhauling of the economy/population/health systems."]
+	}, {
+		n: "PandemoniumPenguin", d: ["for giving players a choice in FS names."]
+	}, {
+		n: "torbjornhub", d: ["for adding pit rules to the RA."]
+	}, {
+		n: "CheatMode", d: ["for additional cheatmode options."]
+	}, {
+		n: "Transhumanist01",
+		d: ["for the production of husk slaves via incubator. Contributed the uterine hypersensitivity genetic quirk."]
+	}, {
+		n: "Fake_Dev", d: ["for nipple enhancers."]
+	}, {
+		n: "UnwrappedGodiva", d: ["for a tool to edit save files."]
+	}, {
+		n: "git contributors lost to time", d: ["for their submissions and work through pregmod's git."]
+	}, {
+		n: "Bane70", d: ["optimized huge swaths of code with notable professionalism."]
+	}, {
+		n: "Circle Tritagonist", d: ["provided several new collars and outfits."]
+	}, {
+		n: "Qotsafan", d: ["submitted bugfixes."]
+	}, {
+		n: "FireDrops",
+		d: ["provided standardized body mod scoring, gave Recruiters their idle functions, revised personal assistant future society associations, and fixed bugs."]
+	}, {
+		n: "Princess April", d: ["wrote and coded several random events and the Slimness Enthusiast Dairy upgrade."]
+	}, {
+		n: "Hicks", d: ["provided minor logic and balance improvements in coded, release-ready form."]
+	}, {
+		n: "Dej", d: ["coded better diet logic for the RA."]
+	}, {
+		n: "Flooby Badoop", d: ["wrote and coded a random recruitment event."]
+	}, {
+		n: "FC_BourbonDrinker", d: ["went into the code to locate and fix bugs."]
+	}, {
+		n: "Shokushu",
+		d: ["created a rendered imagepack comprising 775 images, and assisted with the code necessary to display them. Also maybe the dinner party event?"]
+	}, {
+		n: "NovX", d: ["created a vector art system."]
+	}, {
+		n: "Mauve", d: ["contributed vector collars and pubic hair."]
+	}, {
+		n: "Rodziel", d: ["contributed the cybernetics mod."]
+	}, {
+		n: "prndev", d: ["wrote the Free Range Dairy Assignment scene. Also did tons of vector art work."]
+	}, {
+		n: "freecitiesbandit",
+		d: ["wrote a number of recruitment, future society, mercenary and random events, provided tailed buttplugs, new eyes and tattoos, and contributed the code for the mercenary raiders policy."]
+	}, {
+		n: "DrNoOne", d: ["wrote the bulk slave purchase and persistent summary code."]
+	}, {
+		n: "Mauve", d: ["provided vector art for chastity belts and limp dicks."]
+	}, {
+		n: "Klorpa",
+		d: ["for dozens of new nationalities and boundless new names and nicknames. Also monokinis, middle eastern clothing, overalls and aprons. Also the hearing, taste, and smell overhauls. Added basic support for watersports. Has declared war on bad spelling, grammar and formatting. Added eyebrows too. Dug up ancient abandoned vanilla vignettes and implemented them. Toiled in the depths to extend limb support."]
+	}, {
+		n: "lowercasedonkey",
+		d: ["for various additions, not limited to the budget overhauls. Set up all the tabs too. Gave events dynamic vector art. Hammered the scarring and branding systems into place. Been a real boon writing events and other things as well. Used ezsh's facility framework to enhance slave summaries. Set up a system to recall where slaves were serving. Striving to master DOM with great gains."]
+	}, {
+		n: "amomynous0", d: ["for bug reports and testing in addition to SFmod unit descriptions."]
+	}, {
+		n: "wepsrd", d: ["for QOL (hormonal balance cheat and lactation adaptation to new menu) fixes."]
+	}, {
+		n: "i107760",
+		d: ["for Costs Budget, CashX work, The Utopian Orphanage, Farmyard, Special Forces work, various QoL additions and Private Tutoring System."]
+	}];
+
+	for (const credit of credits) {
+		const div = document.createElement("div");
+		App.UI.DOM.appendNewElement("span", div, credit.n, ["encyclopedia", "topic"]);
+		for (const line of credit.d) {
+			div.append(" ", line);
+		}
+		r.container().append(div);
+	}
+
+	r.push("<span class='encyclopedia topic'>Many other anonymous contributors</span> helped fix bugs via GitHub. They will be credited by name upon request.");
+	r.toParagraph();
+
+	r.push("Thanks are due to all the anons that submitted slaves for inclusion in the pre-owned database and offered content ideas. Many anonymous playtesters also gave crucial feedback and bug reports. May you all ride straight to the gates of Valhalla, shiny and chrome.");
+	r.toParagraph();
+
+	return r.container();
+}, "credits");
diff --git a/src/gui/Encyclopedia/encyclopediaFetish.js b/src/gui/Encyclopedia/encyclopediaFetish.js
new file mode 100644
index 0000000000000000000000000000000000000000..436707dea43a38f62a8d2b7a5c65743e10a3348e
--- /dev/null
+++ b/src/gui/Encyclopedia/encyclopediaFetish.js
@@ -0,0 +1,244 @@
+App.Encyclopedia.addArticle("Fetishes", function() {
+	const r = new SpacedTextAccumulator();
+	// Future room for lore text
+
+	r.push("Choose a more particular entry below:");
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addArticle("Boob Fetishists", function() {
+	const r = new SpacedTextAccumulator();
+	r.push("<span class='encyclopedia topic'>Boob Fetishists</span> like breasts.");
+	r.toParagraph();
+
+	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, and being milked.");
+	r.toParagraph();
+
+	r.push("It can be advanced by appropriate smart clit piercing settings, high");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"), "and");
+	r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"]));
+	r.push("and being milked.");
+	r.toParagraph();
+
+	r.push("The fetish will increase XX attraction. Boob Fetishists enjoy cowbell collars, breast surgery, and being milked. Milkmaids can become boob fetishists naturally.");
+	r.toParagraph();
+
+	r.push("Boob fetishists may become", App.Encyclopedia.Dialog.linkDOM("obsessed with breast expansion", "Breast Obsession"), "as their breasts grow.");
+	r.toParagraph();
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addArticle("Buttsluts", function() {
+	const r = new SpacedTextAccumulator();
+	r.push("<span class='encyclopedia topic'>Buttsluts</span> fetishize anal sex — mostly on the receiving end, though they'll enjoy other anal play.");
+	r.toParagraph();
+
+	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, anally focused fucktoy service, service in a", App.Encyclopedia.Dialog.linkDOM("Dairy", "Dairy"), "upgraded with reciprocating dildos, the dildo drug dispenser upgrade, anal accessories, and being a painal queen.");
+	r.toParagraph();
+
+	r.push("It can be advanced by appropriate smart clit piercing settings, high");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"), "and");
+	r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"]));
+	r.push("the dildo drug dispenser upgrade, and being a painal queen.");
+	r.toParagraph();
+
+	r.push("Buttsluttery will soften the", App.Encyclopedia.Dialog.linkDOM("hates anal", "Hates anal"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("painal queen", "Painal Queen"), ","),
+		"the", App.Encyclopedia.Dialog.linkDOM("hates penetration"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("strugglefuck queen", "Strugglefuck Queen"), ","),
+		"and the", App.Encyclopedia.Dialog.linkDOM("repressed", "Repressed"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("perverted", "Perverted"), ","),
+		"or remove these flaws if a quirk is already present. Buttsluts with vaginas enjoy wearing chastity belts, and all buttsluts enjoy buttock enhancement and anal rejuvenation surgeries. Buttsluts do not mind a lack of hormonal feminization. The fetish will increase XY attraction.");
+	r.toParagraph();
+
+	r.push("Buttsluts whose only available hole for receptive intercourse is the anus may become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("anal addicts", "Anal Addicts"), "."));
+	r.toParagraph();
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addArticle("Cumsluts", function() {
+	const r = new SpacedTextAccumulator();
+	r.push("<span class='encyclopedia topic'>Cumsluts</span> fetishize oral sex and ejaculate.");
+	r.toParagraph();
+
+	r.push("It can be advanced by appropriate smart clit piercing settings, high");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"), "and");
+	r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"]));
+	r.push("the phallic food dispenser upgrade, cum diets, and being a gagfuck queen.");
+	r.toParagraph();
+
+	r.push("Cumsluttery will soften the", App.Encyclopedia.Dialog.linkDOM("hates oral", "Hates oral"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("gagfuck queen", "Gagfuck Queen"), ","),
+		"the", App.Encyclopedia.Dialog.linkDOM("hates women", "Hates women"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("adores men", "Adores men"), ","),
+		"and the", App.Encyclopedia.Dialog.linkDOM("repressed", "Repressed"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("perverted", "Perverted"), ","),
+		"or remove these flaws if a quirk is already present. Cumsluts enjoy cum diets. The fetish will increase XY attraction.");
+	r.toParagraph();
+
+	r.push("Cumsluts who eat out of phallic feeders or are fed cum may become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("cum addicts", "Cum Addicts"), "."));
+	r.toParagraph();
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addArticle("Doms", function() {
+	const r = new SpacedTextAccumulator();
+	r.push("<span class='encyclopedia topic'>Doms</span> fetishize dominance.");
+	r.toParagraph();
+
+	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, unfocused fucktoy service, and being confident or cutting.");
+	r.toParagraph();
+
+	r.push("It can be advanced by appropriate smart clit piercing settings, high");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"), "and");
+	r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"]));
+	r.push("being confident, and being cutting.");
+	r.toParagraph();
+
+	r.push("Dominance will remove the", App.Encyclopedia.Dialog.linkDOM("apathetic", "Apathetic"), "flaw if a quirk is already present. Doms do not mind a lack of hormonal feminization. The fetish will increase XX attraction. Stewardesses do better when either dominant or",
+		App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("nymphomaniacal", "Nymphomania"), ". The"),
+		App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Head Girl", "Head Girl"), ","),
+		App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Madam", "Madam"), ","),
+		App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Schoolteacher", "Schoolteacher"), ","),
+		App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Stewardess", "Stewardess"), ", and"),
+		App.Encyclopedia.Dialog.linkDOM("Nurse", "Nurse"), "can become Doms naturally.");
+	r.toParagraph();
+
+	r.push("Doms serving as Head Girls may become", App.Encyclopedia.Dialog.linkDOM("abusive", "Abusiveness"), "if allowed to punish slaves by molesting them.");
+	r.toParagraph();
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addArticle("Humiliation Fetishists", function() {
+	const r = new SpacedTextAccumulator();
+	r.push("<span class='encyclopedia topic'>Humiliation Fetishists</span> like exhibitionism.");
+	r.toParagraph();
+
+	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, or being sinful, a tease, or perverted.");
+	r.toParagraph();
+
+	r.push("It can be advanced by appropriate smart clit piercing settings, high");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"), "and");
+	r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"]));
+	r.push("being sinful, being a tease, and being perverted.");
+	r.toParagraph();
+
+	r.push("A humiliation fetish will soften the, ", App.Encyclopedia.Dialog.linkDOM("bitchy", "Bitchy"), "flaw into", App.Encyclopedia.Dialog.linkDOM("cutting", "Cutting"),
+		"and the", App.Encyclopedia.Dialog.linkDOM("shamefast", "Shamefast"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("tease", "Tease"), ","),
+		"or remove these flaws if a quirk is already present. The fetish will increase XY attraction. Humiliation fetishists enjoy nudity, and like revealing clothing at a lower");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"),
+		"than other slaves. DJs can become humiliation fetishists naturally.");
+	r.toParagraph();
+
+	r.push("Humiliation fetishists on public sexual assignments may become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("attention whores", "Attention Whores"), "."));
+	r.toParagraph();
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addArticle("Masochists", function() {
+	const r = new SpacedTextAccumulator();
+	r.push("<span class='encyclopedia topic'>Masochists</span> fetishize abuse and pain aimed at themselves.");
+	r.toParagraph();
+
+	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, uncomfortable clothing, being", App.Encyclopedia.Dialog.linkDOM("funny", "Funny"), "and being a", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("strugglefuck queen", "Strugglefuck Queen"), "."));
+	r.toParagraph();
+
+	r.push("It can be advanced by appropriate smart clit piercing settings, high");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"), "and");
+	r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"]));
+	r.push("being", App.Encyclopedia.Dialog.linkDOM("funny", "Funny"), "and being a", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("strugglefuck queen", "Strugglefuck Queen"), "."));
+	r.toParagraph();
+
+	r.push("Masochism will soften the", App.Encyclopedia.Dialog.linkDOM("liberated", "Liberated"), "flaw into", App.Encyclopedia.Dialog.linkDOM("advocate", "Advocate"), "or remove this flaw if a quirk is already present. Masochists can be abused without causing deleterious flaws.");
+	r.toParagraph();
+
+	r.push("Masochists serving in an industrialized dairy, in an arcade, or in a glory hole have a chance to become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("self hating", "Self Hatred"), "."));
+	r.toParagraph();
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addArticle("Pregnancy Fetishists", function() {
+	const r = new SpacedTextAccumulator();
+	r.push("<span class='encyclopedia topic'>Pregnancy Fetishists</span> like being impregnated, sex with pregnant slaves, and getting others pregnant. (It is not necessary that the slave actually be able to do any of these things; such is life.)");
+	r.toParagraph();
+
+	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, having sex while pregnant, adoring men, being a tease, and being romantic.");
+	r.toParagraph();
+
+	r.push("It can be advanced by appropriate smart clit piercing settings, high");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"), "and");
+	r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"]));
+	r.push("adoring men, being a tease, and being romantic.");
+	r.toParagraph();
+
+	r.push("The fetish will increase XY attraction. Pregnancy fetishists greatly enjoy all kinds of impregnation, and love or hate fertility surgeries depending on what's being changed.");
+	r.toParagraph();
+
+	r.push("Pregnancy Fetishists who are repeatedly bred or are serving in an industrialized Dairy may develop", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("breeding obsessions", "Breeding Obsession"), "."));
+	r.toParagraph();
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addArticle("Sadists", function() {
+	const r = new SpacedTextAccumulator();
+	r.push("<span class='encyclopedia topic'>Sadists</span> fetishize abuse and pain aimed at others.");
+	r.toParagraph();
+
+	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, and relationships.");
+	r.toParagraph();
+
+	r.push("It can be advanced by appropriate smart clit piercing settings, and high");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"), "and");
+	r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), "."), ["trust", "careful"]));
+	r.toParagraph();
+
+	r.push("Sadists do not mind a lack of hormonal feminization. The fetish will increase XX attraction. Wardenesses do better when sadistic, and can become sadists naturally.");
+	r.toParagraph();
+
+	r.push("Sadists serving as Wardeness may become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("sexually malicious", "Maliciousness"), "."));
+	r.toParagraph();
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addArticle("Submissives", function() {
+	const r = new SpacedTextAccumulator();
+	r.push("<span class='encyclopedia topic'>Submissives</span> fetishize submission.");
+	r.toParagraph();
+
+	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, unfocused fucktoy service, crawling due to damaged tendons, being caring, being an advocate, and being insecure.");
+	r.toParagraph();
+
+	r.push("It can be advanced by appropriate smart clit piercing settings, high");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept"), "and");
+	r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"]));
+	r.push("being caring, being an advocate, and being insecure.");
+	r.toParagraph();
+
+	r.push("Submissiveness will soften the", App.Encyclopedia.Dialog.linkDOM("arrogant", "Arrogant"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("confident", "Confident"), ","),
+		"the", App.Encyclopedia.Dialog.linkDOM("apathetic", "Apathetic"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("caring", "Caring"), ","),
+		"and the", App.Encyclopedia.Dialog.linkDOM("idealistic", "Idealilstic"), "flaw into", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("romantic", "Romantic"), ","),
+		"or remove these flaws if a quirk is already present. The fetish will increase XY attraction. It improves performance at the servant assignment and working in the Servants' Quarters. Attendants do better when submissive, and can become submissives naturally.");
+	r.toParagraph();
+
+	r.push("Submissives serving on public sexual assignment may become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("sexually self neglectful", "Self Neglect"), "."));
+	r.toParagraph();
+
+	return r.container();
+}, "fetish");
+
+App.Encyclopedia.addCategory("fetish", function() {
+	const links = [];
+	links.push(App.Encyclopedia.Dialog.linkDOM("Boob Fetishists"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Buttsluts"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Cumsluts"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Doms"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Humiliation Fetishists"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Masochists"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Pregnancy Fetishists"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Sadists"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Submissives"));
+	return App.UI.DOM.generateLinksStrip(links);
+});
diff --git a/src/gui/Encyclopedia/encyclopediaFutureSocities.js b/src/gui/Encyclopedia/encyclopediaFutureSocities.js
index 39bd7a0675179adcbf0051356f67499b611f3980..5b67ee99f183a32d3df38f448434f3be10525058 100644
--- a/src/gui/Encyclopedia/encyclopediaFutureSocities.js
+++ b/src/gui/Encyclopedia/encyclopediaFutureSocities.js
@@ -78,7 +78,7 @@ App.Encyclopedia.addArticle("Gender Fundamentalism", function() {
 App.Encyclopedia.addArticle("Paternalism", function() {
 	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
-	const devotion = (text="devotion", colour="hotpink") => App.Encyclopedia.Dialog.linkDOM(text, "From Rebellious to Devoted", colour);
+	const devotion = (text = "devotion", colour = "hotpink") => App.Encyclopedia.Dialog.linkDOM(text, "From Rebellious to Devoted", colour);
 	const PaternalismApproval = [devotion(), "slaves choosing their own assignments", "good education", "mental health treatment", App.Encyclopedia.Dialog.linkDOM("high health", "Health")];
 
 	r.push(App.UI.DOM.makeElement("span", "Paternalism", ["bold"]), "is a future society model which approves of");
@@ -102,7 +102,7 @@ App.Encyclopedia.addArticle("Degradationism", function() {
 	App.Events.addNode(t, ["Makes intelligent slaves less attractive and stupid slaves more attractive."], "div", ["indent"]);
 	App.Events.addNode(t, ["Can apply unique names to slaves."], "div", ["indent"]);
 	App.Events.addNode(t, ["Drives an increase in the ratio of slaves to citizens."], "div", ["indent"]);
-	App.Events.addNode(t, ["Eliminates the", App.Encyclopedia.Dialog.linkDOM("reputation", "Arcologies and Reputation", "green"),  "penalty for operating an arcade along with fining citizens who injure whores and public servants."], "div", ["indent"]);
+	App.Events.addNode(t, ["Eliminates the", App.Encyclopedia.Dialog.linkDOM("reputation", "Arcologies and Reputation", "green"), "penalty for operating an arcade along with fining citizens who injure whores and public servants."], "div", ["indent"]);
 	App.Events.addNode(t, ["Can be developed to increase demand for glory holes and arcades."], "div", ["indent"]);
 	App.Events.addNode(t, ["Provides demand for: brutal slave breaking, stupid slaves and cruelly altered slaves from the", App.Encyclopedia.Dialog.linkDOM("The Corporation.", "The Corporation")]);
 	App.Events.addNode(t, ["Mutually exclusive with", App.Encyclopedia.Dialog.linkDOM("Paternalism.", "Paternalism")]);
@@ -217,7 +217,7 @@ App.Encyclopedia.addArticle("Physical Idealism", function() {
 App.Encyclopedia.addArticle("Chattel Religionism", function() {
 	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
-	const devotion = (text="devotion") => App.Encyclopedia.Dialog.linkDOM(text, "From Rebellious to Devoted", "hotpink");
+	const devotion = (text = "devotion") => App.Encyclopedia.Dialog.linkDOM(text, "From Rebellious to Devoted", "hotpink");
 	const chattelReligionism = ["appropriate clothing", devotion("high devotion"), App.Encyclopedia.Dialog.linkDOM("slave marriages", "Slave marriages")];
 
 	r.push(App.UI.DOM.makeElement("span", "Chattel Religionism", ["bold"]), "is a future society model which approves of");
@@ -420,7 +420,7 @@ App.Encyclopedia.addArticle("Aztec Revivalism", function() {
 	r.push(App.UI.DOM.makeElement("span", "Aztec Revivalism", ["bold"]), "is a future society model which approves of");
 	r.push("qualities like good military education and an older leader.");
 	r.toNode("div");
-	App.Events.addNode(t, ["Improves all military acquisitions of slaves and allows for the sacrifice of slaves for", App.Encyclopedia.Dialog.linkDOM("reputation.", "Arcologies and Reputation", "green"),]);
+	App.Events.addNode(t, ["Improves all military acquisitions of slaves and allows for the sacrifice of slaves for", App.Encyclopedia.Dialog.linkDOM("reputation.", "Arcologies and Reputation", "green")]);
 	App.Events.addNode(t, ["Can apply unique names to slaves."], "div", ["indent"]);
 	App.Events.addNode(t, ["Slows increases in the ratio of slaves to citizens."], "div", ["indent"]);
 	App.Events.addNode(t, ["Can be developed to greatly rely on the Head Girl position as an advisor and assistant."], "div", ["indent"]);
@@ -520,7 +520,7 @@ App.Encyclopedia.addCategory("FutureSocities", function() {
 	const vanilla = [];
 	const modded = [];
 	const research = [];
-	
+
 	vanilla.push(App.Encyclopedia.Dialog.linkDOM("Ethnic Supremacy"));
 	vanilla.push(App.Encyclopedia.Dialog.linkDOM("Ethnic Subjugationism"));
 	vanilla.push(App.Encyclopedia.Dialog.linkDOM("Gender Radicalism"));
@@ -542,7 +542,7 @@ App.Encyclopedia.addCategory("FutureSocities", function() {
 	vanilla.push(App.Encyclopedia.Dialog.linkDOM("Edo Revivalism"));
 	vanilla.push(App.Encyclopedia.Dialog.linkDOM("Arabian Revivalism"));
 	vanilla.push(App.Encyclopedia.Dialog.linkDOM("Chinese Revivalism"));
-	
+
 	modded.push(App.Encyclopedia.Dialog.linkDOM("Repopulationism"));
 	modded.push(App.Encyclopedia.Dialog.linkDOM("Eugenics Focus"));
 	modded.push(App.Encyclopedia.Dialog.linkDOM("Slave Professionalism"));
@@ -552,7 +552,7 @@ App.Encyclopedia.addCategory("FutureSocities", function() {
 	modded.push(App.Encyclopedia.Dialog.linkDOM("Hedonistic Decadence"));
 	modded.push(App.Encyclopedia.Dialog.linkDOM("Aztec Revivalism"));
 	modded.push(App.Encyclopedia.Dialog.linkDOM("Neo-Imperialism"));
-	
+
 	research.push(App.Encyclopedia.Dialog.linkDOM("Gender Radicalism Research"));
 	research.push(App.Encyclopedia.Dialog.linkDOM("Slave Professionalism Research"));
 	research.push(App.Encyclopedia.Dialog.linkDOM("Transformation Fetishism Research"));
@@ -560,7 +560,7 @@ App.Encyclopedia.addCategory("FutureSocities", function() {
 	research.push(App.Encyclopedia.Dialog.linkDOM("Slimness Enthusiast Research"));
 	research.push(App.Encyclopedia.Dialog.linkDOM("Youth Preferentialism Research"));
 	research.push(App.Encyclopedia.Dialog.linkDOM("Hedonistic Decadence Research"));
-	
+
 	if (V.encyclopedia !== "Future Societies") {
 		App.Events.addNode(t, ["Future Societies"], "div");
 	}
diff --git a/src/gui/Encyclopedia/encyclopediaLore.js b/src/gui/Encyclopedia/encyclopediaLore.js
index d5a96847ab7dcc24a814103e1057f3504132d06b..8908523e9aab0719544a8097ef5d90c92cd9471b 100644
--- a/src/gui/Encyclopedia/encyclopediaLore.js
+++ b/src/gui/Encyclopedia/encyclopediaLore.js
@@ -1,1199 +1,1199 @@
 App.Encyclopedia.addArticle("Lore", function() {
 	const f = new DocumentFragment();
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Future room for lore text", ["note"])], "p");
- App.Events.addNode(f, ["Choose a more particular entry below:"], "div");
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Future room for lore text", ["note"])], "p");
+	App.Events.addNode(f, ["Choose a more particular entry below:"], "div");
 	return f;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Money", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Digital currencies have come a long way in the past twenty years. From the poorly managed, excessively ideological, incompetently run experiments whose failures inspired years of public skepticism, they have matured into a reliable means of exchange. The technical details are unimportant for all but students of economics, since broad diversification and clever design have made them reliable and stable means of exchange. With so many old world currencies collapsing, they are coming to dominate world commerce at last.");
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("Digital currencies have come a long way in the past twenty years. From the poorly managed, excessively ideological, incompetently run experiments whose failures inspired years of public skepticism, they have matured into a reliable means of exchange. The technical details are unimportant for all but students of economics, since broad diversification and clever design have made them reliable and stable means of exchange. With so many old world currencies collapsing, they are coming to dominate world commerce at last.");
+	r.toNode("div", ["note"]);
 
- r.push(`The diversified bundle of assets that constitutes the unit of exchange that allows the Free Cities to function is commonly referred to as the "credit" and denoted in print by a ¤ symbol. It is unusually valuable for a basic monetary unit, but the extreme wealth concentration seen in most of the Free Cities makes this a feature rather than a flaw. Estimating its value is extremely difficult, since the value of goods and services varies wildly between Free Cities, and even more wildly between any given Free City and the surrounding old world.`);
- r.toNode("p", ["note"]);
+	r.push(`The diversified bundle of assets that constitutes the unit of exchange that allows the Free Cities to function is commonly referred to as the "credit" and denoted in print by a ¤ symbol. It is unusually valuable for a basic monetary unit, but the extreme wealth concentration seen in most of the Free Cities makes this a feature rather than a flaw. Estimating its value is extremely difficult, since the value of goods and services varies wildly between Free Cities, and even more wildly between any given Free City and the surrounding old world.`);
+	r.toNode("p", ["note"]);
 
- r.push("Direct comparisons of purchasing power across long gulfs of time are often unscientific. Such comparisons usually rely on indexing currencies to a good or a market basket of goods, ignoring the constant shifts in the value of goods and services throughout history. The best that a responsible economist can do for a historical value of the ¤ is to give a range. Depending on the index good, the 2037 ¤ can be argued to be worth anywhere between thirty and several hundred US dollars.");
- r.toNode("p", ["note"]);
+	r.push("Direct comparisons of purchasing power across long gulfs of time are often unscientific. Such comparisons usually rely on indexing currencies to a good or a market basket of goods, ignoring the constant shifts in the value of goods and services throughout history. The best that a responsible economist can do for a historical value of the ¤ is to give a range. Depending on the index good, the 2037 ¤ can be argued to be worth anywhere between thirty and several hundred US dollars.");
+	r.toNode("p", ["note"]);
 
- r.push(`— St. Croix, Marianne, "Digital Currencies: A Review,"`, App.UI.DOM.makeElement("span", "Journal of Economics, March 2037", ["note"]));
- r.toNode("p", ["note"]);
+	r.push(`— St. Croix, Marianne, "Digital Currencies: A Review,"`, App.UI.DOM.makeElement("span", "Journal of Economics, March 2037", ["note"]));
+	r.toNode("p", ["note"]);
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Food", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("An army marches on its stomach. Likewise, an arcology cannot function without sustenance.");
- r.toNode("div", ["note"]);
- r.push("Please expand this. I'm not good at writing lore. — DCoded");
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("An army marches on its stomach. Likewise, an arcology cannot function without sustenance.");
+	r.toNode("div", ["note"]);
+	r.push("Please expand this. I'm not good at writing lore. — DCoded");
+	r.toNode("div", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Disease in the Free Cities", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("In light of some recent alarmism, it's time for the medical profession to clear the air about diseases.");
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("In light of some recent alarmism, it's time for the medical profession to clear the air about diseases.");
+	r.toNode("div", ["note"]);
 
- r.push("Over the course of the 21st century, diseases and disease treatments have become more powerful, side by side. New disease vectors, antibiotic resistances, and even malicious engineering have combined to make infectious agents tougher. However, medicine has advanced as well, with distributed fabrication techniques and genetic sequencing making tailored drugs widely available to those with the resources to afford them.");
- r.toNode("p", ["note"]);
+	r.push("Over the course of the 21st century, diseases and disease treatments have become more powerful, side by side. New disease vectors, antibiotic resistances, and even malicious engineering have combined to make infectious agents tougher. However, medicine has advanced as well, with distributed fabrication techniques and genetic sequencing making tailored drugs widely available to those with the resources to afford them.");
+	r.toNode("p", ["note"]);
 
- r.push("This sounds like balance. In the old world, however, it looks like the bugs may be winning. Life expectancy is beginning to settle to pre-antibiotic levels. Meanwhile, in the Free Cities, medicine is", App.Encyclopedia.Dialog.linkDOM("nymphomania:", "Nymphomania"), "better health care and the ubiquity of modern medicine have nearly eliminated disease as a day-to-day concern.");
- r.toNode("p", ["note"]);
+	r.push("This sounds like balance. In the old world, however, it looks like the bugs may be winning. Life expectancy is beginning to settle to pre-antibiotic levels. Meanwhile, in the Free Cities, medicine is", App.Encyclopedia.Dialog.linkDOM("nymphomania:", "Nymphomania"), "better health care and the ubiquity of modern medicine have nearly eliminated disease as a day-to-day concern.");
+	r.toNode("p", ["note"]);
 
- r.push("If you want simple advice, here it is: fuck your Free Cities slaves bareback, but wrap up if you visit the old world.");
- r.toNode("p", ["note"]);
+	r.push("If you want simple advice, here it is: fuck your Free Cities slaves bareback, but wrap up if you visit the old world.");
+	r.toNode("p", ["note"]);
 
- r.push("— Dodgson, Jane Elizabeth,", App.UI.DOM.makeElement("span","FC Med Today, March 25, 2032", ["note"]));
- r.toNode("p", ["note"]);
+	r.push("— Dodgson, Jane Elizabeth,", App.UI.DOM.makeElement("span", "FC Med Today, March 25, 2032", ["note"]));
+	r.toNode("p", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Free Cities Justice", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("The Free Cities are not lawless.");
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("The Free Cities are not lawless.");
+	r.toNode("div", ["note"]);
 
- r.push("The only law respected across all Cities is the enforcement of contracts. Some Cities have limited regulation of other areas, but in general, the only justice available comes when a contract has been breached.");
- r.toNode("p", ["note"]);
+	r.push("The only law respected across all Cities is the enforcement of contracts. Some Cities have limited regulation of other areas, but in general, the only justice available comes when a contract has been breached.");
+	r.toNode("p", ["note"]);
 
- r.push("Different Cities have taken different approaches to the obvious problem of dealing with criminal conduct, which in the old world breaks no traditional contract. The most common approach is to require everyone to sign contracts with the owners of their homes and workplaces to commit no crimes while there. In this way, what would be murder in the old world is a breach of the contract with one's landlord not to murder on his property.");
- r.toNode("p", ["note"]);
+	r.push("Different Cities have taken different approaches to the obvious problem of dealing with criminal conduct, which in the old world breaks no traditional contract. The most common approach is to require everyone to sign contracts with the owners of their homes and workplaces to commit no crimes while there. In this way, what would be murder in the old world is a breach of the contract with one's landlord not to murder on his property.");
+	r.toNode("p", ["note"]);
 
- r.push("Penalties for such conduct are usually left to the imagination of the property owner. With the traditional roles of judge, jury, and jailer concentrated into the hands of a single wealthy person, rich potentates of the Cities hold more personal power over their tenants than anyone since the great feudal lords seven centuries ago.");
- r.toNode("p", ["note"]);
+	r.push("Penalties for such conduct are usually left to the imagination of the property owner. With the traditional roles of judge, jury, and jailer concentrated into the hands of a single wealthy person, rich potentates of the Cities hold more personal power over their tenants than anyone since the great feudal lords seven centuries ago.");
+	r.toNode("p", ["note"]);
 
- r.push("— Torstein, Jens Learned,", App.UI.DOM.makeElement("span","The Modern Libertarian Paradise, March 25, 2032", ["note"]));
- r.toNode("p", ["note"]);
+	r.push("— Torstein, Jens Learned,", App.UI.DOM.makeElement("span", "The Modern Libertarian Paradise, March 25, 2032", ["note"]));
+	r.toNode("p", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Modern Anal", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("The modern acceptance and frequency of heterosexual anal sex has only increased with the return of slavery.");
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("The modern acceptance and frequency of heterosexual anal sex has only increased with the return of slavery.");
+	r.toNode("div", ["note"]);
 
- r.push("There are numerous reasons for this. First and most obviously, the fact that many men now own women and can thus dictate sexual relations has popularized a sex act that has always appealed to many men. Second, the extremely libertine culture of the Free Cities has placed slaveowners in a perpetual contest with one another for sexual decadence; voluntarily //not// using a slave in all possible manners is considered unusual and even prudish. Third, the assignment of some persons born without natural vaginas to status as female sex slaves has served to make standard the use of the orifice that all slaves, regardless of biological particulars, share in common.");
- r.toNode("p", ["note"]);
+	r.push("There are numerous reasons for this. First and most obviously, the fact that many men now own women and can thus dictate sexual relations has popularized a sex act that has always appealed to many men. Second, the extremely libertine culture of the Free Cities has placed slaveowners in a perpetual contest with one another for sexual decadence; voluntarily //not// using a slave in all possible manners is considered unusual and even prudish. Third, the assignment of some persons born without natural vaginas to status as female sex slaves has served to make standard the use of the orifice that all slaves, regardless of biological particulars, share in common.");
+	r.toNode("p", ["note"]);
 
- r.push("Finally, the development of the now-common slave diet has played a part. In addition to providing slaves with bland, featureless and mildly aphrodisiac nutrition, standard slave nutriment is a cleverly designed liquid diet that almost completely stops the normal digestive processes that might interfere with sex of this kind.");
- r.toNode("p", ["note"]);
+	r.push("Finally, the development of the now-common slave diet has played a part. In addition to providing slaves with bland, featureless and mildly aphrodisiac nutrition, standard slave nutriment is a cleverly designed liquid diet that almost completely stops the normal digestive processes that might interfere with sex of this kind.");
+	r.toNode("p", ["note"]);
 
- r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span","Guide to Modern Slavery, 2037 Edition", ["note"]));
- r.toNode("p", ["note"]);
+	r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span", "Guide to Modern Slavery, 2037 Edition", ["note"]));
+	r.toNode("p", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Slave Couture", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("My name is Danni Diemen, and I'm here today to talk about your slaves' clothes.");
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("My name is Danni Diemen, and I'm here today to talk about your slaves' clothes.");
+	r.toNode("div", ["note"]);
 
- r.push("Let's break it right down into categories, shall we?");
- r.toNode("p", ["note"]);
+	r.push("Let's break it right down into categories, shall we?");
+	r.toNode("p", ["note"]);
 
- r.push(App.UI.DOM.makeElement("span","First, clothes for your disobedient bitches.", ["bold"]), "We must keep them uncomfortable, yes? The old reliable is slave clothes, sometimes referred to as straps. These give her that sex slave allure while keeping her nice and uncomfortable. You can also go for full coverage with latex. A suit of that will keep her totally reliant on your little whims. Plugs are nice sturdy leather affairs with inward-facing dildos for all the holes — and I do mean all. They're good stuff for breaking a bitch, and she might even learn to take dick a bit better! Word to the wise: not a good idea if you want those holes tight, though. Finally, corsets. These will make life tough, but that's good for a", App.Encyclopedia.Dialog.linkDOM("rebellious", "From Rebellious to Devoted", "orangered"), "little cunt, no? And corseting might just narrow that waist. But never mind, on to my favorites.");
- r.toNode("p", ["note"]);
+	r.push(App.UI.DOM.makeElement("span", "First, clothes for your disobedient bitches.", ["bold"]), "We must keep them uncomfortable, yes? The old reliable is slave clothes, sometimes referred to as straps. These give her that sex slave allure while keeping her nice and uncomfortable. You can also go for full coverage with latex. A suit of that will keep her totally reliant on your little whims. Plugs are nice sturdy leather affairs with inward-facing dildos for all the holes — and I do mean all. They're good stuff for breaking a bitch, and she might even learn to take dick a bit better! Word to the wise: not a good idea if you want those holes tight, though. Finally, corsets. These will make life tough, but that's good for a", App.Encyclopedia.Dialog.linkDOM("rebellious", "From Rebellious to Devoted", "orangered"), "little cunt, no? And corseting might just narrow that waist. But never mind, on to my favorites.");
+	r.toNode("p", ["note"]);
 
- r.push(App.UI.DOM.makeElement("span","Second, nice attire for your prize stock.", ["bold"]), "These clothes will keep your good slaves happy. You know, women out in the old world still wear attractive lingerie UNDER clothing? Absurd. It's lovely on its own. If you're looking to be a bit more fun and a bit less classy, go for string lingerie instead. You could even let her choose her own slutty outfits; watching livestock dress itself is always good fun. When you can afford proper slutty jewelry, who needs clothes? I suggest accenting heavy piercings with this. For your hookah fanatics and decadent harem masters, there's sheer gauze. Makes even a clumsy girl look like she's dancing to a zither.");
- r.toNode("p", ["note"]);
+	r.push(App.UI.DOM.makeElement("span", "Second, nice attire for your prize stock.", ["bold"]), "These clothes will keep your good slaves happy. You know, women out in the old world still wear attractive lingerie UNDER clothing? Absurd. It's lovely on its own. If you're looking to be a bit more fun and a bit less classy, go for string lingerie instead. You could even let her choose her own slutty outfits; watching livestock dress itself is always good fun. When you can afford proper slutty jewelry, who needs clothes? I suggest accenting heavy piercings with this. For your hookah fanatics and decadent harem masters, there's sheer gauze. Makes even a clumsy girl look like she's dancing to a zither.");
+	r.toNode("p", ["note"]);
 
- r.push("Finally, chastity belts. Hard to categorize. Different bitches react in different ways to having the front door locked. Depends on how much traffic goes in the back, I find.");
- r.toNode("p", ["note"]);
+	r.push("Finally, chastity belts. Hard to categorize. Different bitches react in different ways to having the front door locked. Depends on how much traffic goes in the back, I find.");
+	r.toNode("p", ["note"]);
 
- r.push("— Van Diemen, D. C. G.,", App.UI.DOM.makeElement("span","Free Cities Fashion (FCF), March 2032", ["note"]));
- r.toNode("p", ["note"]);
+	r.push("— Van Diemen, D. C. G.,", App.UI.DOM.makeElement("span", "Free Cities Fashion (FCF), March 2032", ["note"]));
+	r.toNode("p", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Slave Marriage", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Marriage between slaves is one of the facets of slave culture that has varied the most between historical slave societies. Many forbade it entirely, considering it a source of sedition. Others permitted it, but accorded it little force of law. A few have offered it some limited protections even against the slaveowner's will.");
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("Marriage between slaves is one of the facets of slave culture that has varied the most between historical slave societies. Many forbade it entirely, considering it a source of sedition. Others permitted it, but accorded it little force of law. A few have offered it some limited protections even against the slaveowner's will.");
+	r.toNode("div", ["note"]);
 
- r.push("Most Free Cities fall into the middle case. Many slaveowners find it amusing to permit their slaves to form and even formalize long term relationships. Slave wives are often permitted to live and work together, sharing a little room and enjoying some measure of sexual exclusivity. Of course, it is just as common for slave wives to be marketed together in brothels.");
- r.toNode("p", ["note"]);
+	r.push("Most Free Cities fall into the middle case. Many slaveowners find it amusing to permit their slaves to form and even formalize long term relationships. Slave wives are often permitted to live and work together, sharing a little room and enjoying some measure of sexual exclusivity. Of course, it is just as common for slave wives to be marketed together in brothels.");
+	r.toNode("p", ["note"]);
 
- r.push("To date, none of the Free Cities has extended any real legal protection to slave marriages. There is nothing to stop a slaveowner from separating slave wives by sale.");
- r.toNode("p", ["note"]);
+	r.push("To date, none of the Free Cities has extended any real legal protection to slave marriages. There is nothing to stop a slaveowner from separating slave wives by sale.");
+	r.toNode("p", ["note"]);
 
- r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span","Guide to Modern Slavery, 2037 Edition", ["note"]));
- r.toNode("p", ["note"]);
+	r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span", "Guide to Modern Slavery, 2037 Edition", ["note"]));
+	r.toNode("p", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("The Ejaculate Market", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Fun has a price.");
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("Fun has a price.");
+	r.toNode("div", ["note"]);
 
- r.push("Understanding this is the only way to understand some emerging markets in the Free Cities. This maxim often receives criticism from the uninformed, but all it means is that enjoyment is a good (or service) that can be bought and sold like any other. The market for exotic varieties of fun has never been more open than it is right now.");
- r.toNode("p", ["note"]);
+	r.push("Understanding this is the only way to understand some emerging markets in the Free Cities. This maxim often receives criticism from the uninformed, but all it means is that enjoyment is a good (or service) that can be bought and sold like any other. The market for exotic varieties of fun has never been more open than it is right now.");
+	r.toNode("p", ["note"]);
 
- r.push("The forming market for ejaculate can only be understood in this context. In the old world, a thriving market for semen for insemination purposes has been thriving for a long while. In the Free Cities, however, homogenized ejaculate is now available in quantities and at prices that make it obvious that it's being put to other uses. Semen is nutritionally marginal; it has some cosmetic applications, but like every other natural cosmetic it has long since been eclipsed by artificial means. The only possible explanation is that many citizens of the Free Cities find various combinations of slaves and large volumes of ejaculate an amusing combination.");
- r.toNode("p", ["note"]);
+	r.push("The forming market for ejaculate can only be understood in this context. In the old world, a thriving market for semen for insemination purposes has been thriving for a long while. In the Free Cities, however, homogenized ejaculate is now available in quantities and at prices that make it obvious that it's being put to other uses. Semen is nutritionally marginal; it has some cosmetic applications, but like every other natural cosmetic it has long since been eclipsed by artificial means. The only possible explanation is that many citizens of the Free Cities find various combinations of slaves and large volumes of ejaculate an amusing combination.");
+	r.toNode("p", ["note"]);
 
- r.push("Anecdotes abound. Some slaveowners claim that using it as a dietary additive with the knowledge of their slaves enforces an extra layer of degradation and sexual servitude while habituating the unfortunates to oral sex.");
- r.toNode("p", ["note"]);
+	r.push("Anecdotes abound. Some slaveowners claim that using it as a dietary additive with the knowledge of their slaves enforces an extra layer of degradation and sexual servitude while habituating the unfortunates to oral sex.");
+	r.toNode("p", ["note"]);
 
- r.push("— Editorial,", App.UI.DOM.makeElement("span","FC Daily Economic Report, October 13, 2031", ["note"]));
- r.toNode("p", ["note"]);
+	r.push("— Editorial,", App.UI.DOM.makeElement("span", "FC Daily Economic Report, October 13, 2031", ["note"]));
+	r.toNode("p", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Gingering", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Like much of the traditional husbandry terminology, 'gingering' is a term whose meaning in the Free Cities is slowly diverging from its original old world definition. In animal husbandry, especially of horses, gingering is the nearly extinct practice of placing an irritant compound (traditionally ginger, hence the term) inside one of the animal's orifices, typically the anus, in order to make the animal step high, be sprightly, and generally behave energetically due to the discomfort. Though it was sometimes used at shows and competitions, the usual application was to make the animal seem more valuable for sale.");
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("Like much of the traditional husbandry terminology, 'gingering' is a term whose meaning in the Free Cities is slowly diverging from its original old world definition. In animal husbandry, especially of horses, gingering is the nearly extinct practice of placing an irritant compound (traditionally ginger, hence the term) inside one of the animal's orifices, typically the anus, in order to make the animal step high, be sprightly, and generally behave energetically due to the discomfort. Though it was sometimes used at shows and competitions, the usual application was to make the animal seem more valuable for sale.");
+	r.toNode("div", ["note"]);
 
- r.push("In the Free Cities, 'gingering' is coming to mean any drugging or other temporary adulteration of a slave in order to make her seem more valuable. For poorly broken slaves, stimulants and depressants are both common. These can be applied to make a resistant slave seem less", App.Encyclopedia.Dialog.linkDOM("rebellious,", "From Rebellious to Devoted", "hotpink"), "or a terrified slave more", App.Encyclopedia.Dialog.linkDOM("trusting,", "Trust", "mediumaquamarine"), "though of course this is unreliable.");
- r.toNode("p", ["note"]);
+	r.push("In the Free Cities, 'gingering' is coming to mean any drugging or other temporary adulteration of a slave in order to make her seem more valuable. For poorly broken slaves, stimulants and depressants are both common. These can be applied to make a resistant slave seem less", App.Encyclopedia.Dialog.linkDOM("rebellious,", "From Rebellious to Devoted", "hotpink"), "or a terrified slave more", App.Encyclopedia.Dialog.linkDOM("trusting,", "Trust", "mediumaquamarine"), "though of course this is unreliable.");
+	r.toNode("p", ["note"]);
 
- r.push("More traditional gingering is also sometimes applied. Many new slaves will naturally present their buttocks if an anal irritant is administered in an attempt to relieve the uncomfortable area. Novices to the slave markets may mistake this for sexual promiscuity, though few experienced brokers are likely to be misled, a clue as to why few experienced brokers seriously oppose gingering.");
- r.toNode("p", ["note"]);
+	r.push("More traditional gingering is also sometimes applied. Many new slaves will naturally present their buttocks if an anal irritant is administered in an attempt to relieve the uncomfortable area. Novices to the slave markets may mistake this for sexual promiscuity, though few experienced brokers are likely to be misled, a clue as to why few experienced brokers seriously oppose gingering.");
+	r.toNode("p", ["note"]);
 
- r.push("Some markets attempt to stamp out the practice, but most do not. It is generally accepted as permissible gamesmanship on the part of slave vendors, part of the natural skirmishing between buyers and sellers. In some areas it may even be considered lazy and even offensive for a seller to not doctor his human wares: it denies the buyer an opportunity to exercise his acumen in discovering what has been administered, and might even indicate that the seller is not making an effort in more important areas, too. Finally, many in the Free Cities might ask what proper slave dealer would willingly forgo the amusing sight of a girl bouncing with discomfort because someone has just roughly inserted a finger coated with ginger oil into her rectum.");
- r.toNode("p", ["note"]);
+	r.push("Some markets attempt to stamp out the practice, but most do not. It is generally accepted as permissible gamesmanship on the part of slave vendors, part of the natural skirmishing between buyers and sellers. In some areas it may even be considered lazy and even offensive for a seller to not doctor his human wares: it denies the buyer an opportunity to exercise his acumen in discovering what has been administered, and might even indicate that the seller is not making an effort in more important areas, too. Finally, many in the Free Cities might ask what proper slave dealer would willingly forgo the amusing sight of a girl bouncing with discomfort because someone has just roughly inserted a finger coated with ginger oil into her rectum.");
+	r.toNode("p", ["note"]);
 
- r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span","Guide to Modern Slavery, 2037 Edition", ["note"]));
- r.toNode("p", ["note"]);
+	r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span", "Guide to Modern Slavery, 2037 Edition", ["note"]));
+	r.toNode("p", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Dyes", function() {
- const approvedDyes = ["blazing red", "neon green", "neon blue", "neon pink", "platinum blonde", "dark brown", "brown", "auburn", "black", "blonde", "blue", "burgundy", "chestnut", "chocolate", "copper", "ginger", "golden", "green", "grey", "hazel", "pink", "red", "blue-violet", "purple", "dark orchid", "sea green", "green-yellow", "dark blue", "jet black", "silver"];
+	const approvedDyes = ["blazing red", "neon green", "neon blue", "neon pink", "platinum blonde", "dark brown", "brown", "auburn", "black", "blonde", "blue", "burgundy", "chestnut", "chocolate", "copper", "ginger", "golden", "green", "grey", "hazel", "pink", "red", "blue-violet", "purple", "dark orchid", "sea green", "green-yellow", "dark blue", "jet black", "silver"];
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push(`Fantastic news for every fashion oriented citizen and slaveowner: Your slave's hair color must no longer be exclusively chosen by one the bland authority-approved colors: ${toSentence(approvedDyes)}.`);
- r.toNode("div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push(`Fantastic news for every fashion oriented citizen and slaveowner: Your slave's hair color must no longer be exclusively chosen by one the bland authority-approved colors: ${toSentence(approvedDyes)}.`);
+	r.toNode("div", ["note"]);
 
- r.push(`Today, we are proud to announce that our, the Free Cities Dyes Department, Research and Development team, found 140 new and exciting ways to color your slave's capital hair. The <a target="_blank" href="https://www.w3schools.com/colors/colors_names.asp">extensive list</a> with the names of all the available colors will be made available to the public, soon.`);
- r.toNode("p", ["note"]);
+	r.push(`Today, we are proud to announce that our, the Free Cities Dyes Department, Research and Development team, found 140 new and exciting ways to color your slave's capital hair. The <a target="_blank" href="https://www.w3schools.com/colors/colors_names.asp">extensive list</a> with the names of all the available colors will be made available to the public, soon.`);
+	r.toNode("p", ["note"]);
 
- r.push(`Please be aware, when you place your order on a custom dye, your description should be precise. Preparing, mixing and shipping is a fully automated process. You may put spaces into the color name. For example, "dark violet" will be handled as "darkviolet". Be sure to put the desired color at the beginning of your description. "Dark violet with silver highlights" is a solid description. Avoid anything too exotic or convoluted. With a description like "weird-ass color with a reddish tint", you will probably end up with red hair. Our guesswork is only so good.`);
- r.toNode("p", ["note"]);
+	r.push(`Please be aware, when you place your order on a custom dye, your description should be precise. Preparing, mixing and shipping is a fully automated process. You may put spaces into the color name. For example, "dark violet" will be handled as "darkviolet". Be sure to put the desired color at the beginning of your description. "Dark violet with silver highlights" is a solid description. Avoid anything too exotic or convoluted. With a description like "weird-ass color with a reddish tint", you will probably end up with red hair. Our guesswork is only so good.`);
+	r.toNode("p", ["note"]);
 
- r.push("We hope to extend the applicability to body hair and even skin in the near future, too.");
- r.toNode("p", ["note"]);
+	r.push("We hope to extend the applicability to body hair and even skin in the near future, too.");
+	r.toNode("p", ["note"]);
 
- r.push(`- Free Cities Dyes Department R&amp;D, "Announcing exciting Dyes of the Future,"`, App.UI.DOM.makeElement("span","Press Conference, January 7th 2037", ["note"]));
- r.toNode("p", ["note"]);
+	r.push(`- Free Cities Dyes Department R&amp;D, "Announcing exciting Dyes of the Future,"`, App.UI.DOM.makeElement("span", "Press Conference, January 7th 2037", ["note"]));
+	r.toNode("p", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("The New Rome", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push(App.UI.DOM.makeElement("span","SCFC", ["note"]));
- r.toNode("div", ["note"]);
- App.Events.addNode(t, [`— Free Cities armor pauldron inscription; "Slaveholders and Citizens of the Free Cities"`], "div", ["note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push(App.UI.DOM.makeElement("span", "SCFC", ["note"]));
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, [`— Free Cities armor pauldron inscription; "Slaveholders and Citizens of the Free Cities"`], "div", ["note"]);
 
- r.push("In the Free Cities, Rome is come again.");
- r.toNode("p", ["note"]);
+	r.push("In the Free Cities, Rome is come again.");
+	r.toNode("p", ["note"]);
 
- r.push("No people before or since have influenced modern society so deeply as the Romans. The Free Cities are, in return, emulating the Romans more deeply than any other society since their time. Based on the writings, great and low, that have come down to us from that innovative, grasping, and deeply licentious people, it seems that the Romans would likely approve of their posterity.");
- r.toNode("p", ["note"]);
+	r.push("No people before or since have influenced modern society so deeply as the Romans. The Free Cities are, in return, emulating the Romans more deeply than any other society since their time. Based on the writings, great and low, that have come down to us from that innovative, grasping, and deeply licentious people, it seems that the Romans would likely approve of their posterity.");
+	r.toNode("p", ["note"]);
 
- r.push("Fine historical parallels are probably lost on the person with XY chromosomes who is brought to the Free Cities, enslaved, treated thenceforth as female, and expected to behave as female on pain of severe punishment (sometimes with gender reassignment surgery to match, but often without). This redefinition of gender is common in the Free Cities: being penetrated makes one female, while penetrating makes one male. It almost certainly arose as a way for citizens to partake in all that a slave society has to offer, sexually, without reconsidering their own sexual identity. It is not identical to Roman sexual mores, but the Romans are the closest precedent.");
- r.toNode("p", ["note"]);
+	r.push("Fine historical parallels are probably lost on the person with XY chromosomes who is brought to the Free Cities, enslaved, treated thenceforth as female, and expected to behave as female on pain of severe punishment (sometimes with gender reassignment surgery to match, but often without). This redefinition of gender is common in the Free Cities: being penetrated makes one female, while penetrating makes one male. It almost certainly arose as a way for citizens to partake in all that a slave society has to offer, sexually, without reconsidering their own sexual identity. It is not identical to Roman sexual mores, but the Romans are the closest precedent.");
+	r.toNode("p", ["note"]);
 
- r.push("This new and evolving system of sexual values does not free citizens from all expectations. Quite to the contrary, many find it just as restrictive as old world values, although differently so. For example, a naturally heterosexual female arcology owner who indulges in vanilla sex with masculine slaves will typically find her strength and acumen being questioned for no other reason than that she permits slaves to penetrate her.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["note"]);
+	r.push("This new and evolving system of sexual values does not free citizens from all expectations. Quite to the contrary, many find it just as restrictive as old world values, although differently so. For example, a naturally heterosexual female arcology owner who indulges in vanilla sex with masculine slaves will typically find her strength and acumen being questioned for no other reason than that she permits slaves to penetrate her.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("The Return of Feudalism", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("By the Powers invested in me by the Board of Directors and the Rightful Executive Lord of Arcology F-8, His Majesty King William the First, I proclaim you a Knight, and grant you the right to two slaves, a monthly stipend of six hundred credits and one unit of stock in the Arcology, and the authority to bear a noble Coat of Arms...");
- r.toNode("div", ["note"]);
- App.Events.addNode(t, [App.UI.DOM.makeElement("span","— Count Felix II von Feight, Knighthood Ceremony recorded in 2032", ["note"])], "div", ["indent"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("By the Powers invested in me by the Board of Directors and the Rightful Executive Lord of Arcology F-8, His Majesty King William the First, I proclaim you a Knight, and grant you the right to two slaves, a monthly stipend of six hundred credits and one unit of stock in the Arcology, and the authority to bear a noble Coat of Arms...");
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, [App.UI.DOM.makeElement("span", "— Count Felix II von Feight, Knighthood Ceremony recorded in 2032", ["note"])], "div", ["indent"]);
 
- r.push("Once thought to have been a relic of an ancient, less enlightened time, the simultaneously decentralized and individual-focused corporate power structures of the Free Cities has led to the return of feudal power structures. For many arcologies, this has simply occurred without attention or fanfare, as increasingly serf-like underclasses accept the domination of ever-more-powerful executives and elites; some arcologies, such as F-8, have manifested entire, complex new social systems involving 'Kings' and 'Emperors' from which all corporate authority flows.");
- r.toNode("div", ["note"]);
+	r.push("Once thought to have been a relic of an ancient, less enlightened time, the simultaneously decentralized and individual-focused corporate power structures of the Free Cities has led to the return of feudal power structures. For many arcologies, this has simply occurred without attention or fanfare, as increasingly serf-like underclasses accept the domination of ever-more-powerful executives and elites; some arcologies, such as F-8, have manifested entire, complex new social systems involving 'Kings' and 'Emperors' from which all corporate authority flows.");
+	r.toNode("div", ["note"]);
 
- r.push("Originally the idea of an individual crowning himself absolute 'Emperor' of a free city seemed absurd, or even totalitarian, and the first Free City petty kings were met with mockery. This mocking tone appears to have quickly faded from popular Free Cities culture, however, likely due to the realization that new 'Imperial' power structures came with a host of benefits to the wealthy and elite of the arcology that adopts them.");
- r.toNode("div", ["note"]);
+	r.push("Originally the idea of an individual crowning himself absolute 'Emperor' of a free city seemed absurd, or even totalitarian, and the first Free City petty kings were met with mockery. This mocking tone appears to have quickly faded from popular Free Cities culture, however, likely due to the realization that new 'Imperial' power structures came with a host of benefits to the wealthy and elite of the arcology that adopts them.");
+	r.toNode("div", ["note"]);
 
- r.push("More than simply being rich, the elites of Neo-Feudal, or Neo-Imperial arcologies dub themselves 'Barons' and 'Counts', putting themselves not only monetarily but also socially above the common masses and giving those who hold seats on boards of directors or invest stock in the arcology a physical advantage over their benighted underlings. To the common citizen, the result is ultimately the same, as a factory worker remains a peasant whether he's known as a serf or a citizen. But to the wealthy and distinct within the arcology, the new Feudalism creates a long list of titles and accomplishments to jockey for, manifesting a strange new culture in which junior executives compete with one another for the attention of outright 'Kings' in the hope of one day acquiring the limitless prestige felt by the select caste of neo-Imperial nobility.");
- r.toNode("div", ["note"]);
+	r.push("More than simply being rich, the elites of Neo-Feudal, or Neo-Imperial arcologies dub themselves 'Barons' and 'Counts', putting themselves not only monetarily but also socially above the common masses and giving those who hold seats on boards of directors or invest stock in the arcology a physical advantage over their benighted underlings. To the common citizen, the result is ultimately the same, as a factory worker remains a peasant whether he's known as a serf or a citizen. But to the wealthy and distinct within the arcology, the new Feudalism creates a long list of titles and accomplishments to jockey for, manifesting a strange new culture in which junior executives compete with one another for the attention of outright 'Kings' in the hope of one day acquiring the limitless prestige felt by the select caste of neo-Imperial nobility.");
+	r.toNode("div", ["note"]);
 
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "div", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "div", ["note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Naked, Barefoot, and Pregnant", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("...and helpless, and illiterate, and dependent...");
- r.toNode("div", ["note"]);
- App.Events.addNode(t, ["— Anonymous slaveowner, on the ideal woman"], "div", ["indent", "note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("...and helpless, and illiterate, and dependent...");
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, ["— Anonymous slaveowner, on the ideal woman"], "div", ["indent", "note"]);
 
- r.push("It must be admitted that some of the boldest statements of early 21st century social justice advocates are now receiving some justification in the Free Cities. A tourist visiting some of the more notorious arcologies is given a public, in-person lesson in precisely what some men are willing to do with women they own. For every misogynist credo there is a Free Cities slaveowner putting it into practice.");
- r.toNode("p", ["note"]);
+	r.push("It must be admitted that some of the boldest statements of early 21st century social justice advocates are now receiving some justification in the Free Cities. A tourist visiting some of the more notorious arcologies is given a public, in-person lesson in precisely what some men are willing to do with women they own. For every misogynist credo there is a Free Cities slaveowner putting it into practice.");
+	r.toNode("p", ["note"]);
 
- r.push("Recent reactionism spawned by 20th century social movements pales in comparison to traditionalism, however. Reactionaries of the early 21st century may have breathlessly taken some extreme positions, but for a return to traditional values, true traditionalists have proven themselves to be the unquestioned masters. There are certainly arcologies in which no free women are permitted. The authors recommend that anyone inclined to hold such arcologies up as the extreme by which all others are to be judged should first visit one of the few arcologies in which no free women are permitted,", App.UI.DOM.makeElement("span","and", ["note"]), "no contraceptives of any kind are permitted, either.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
+	r.push("Recent reactionism spawned by 20th century social movements pales in comparison to traditionalism, however. Reactionaries of the early 21st century may have breathlessly taken some extreme positions, but for a return to traditional values, true traditionalists have proven themselves to be the unquestioned masters. There are certainly arcologies in which no free women are permitted. The authors recommend that anyone inclined to hold such arcologies up as the extreme by which all others are to be judged should first visit one of the few arcologies in which no free women are permitted,", App.UI.DOM.makeElement("span", "and", ["note"]), "no contraceptives of any kind are permitted, either.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("The Sons of Sekhmet", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Bhalwi al-sham asmik qalbik, abna Sakhmat damkun. (By the Sun I grasp your Heart, the Sons of Sekhmet have your Blood.)");
- r.toNode("div", ["note"]);
- App.Events.addNode(t, ["— Mantra, unknown author"], "div", ["indent", "note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("Bhalwi al-sham asmik qalbik, abna Sakhmat damkun. (By the Sun I grasp your Heart, the Sons of Sekhmet have your Blood.)");
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, ["— Mantra, unknown author"], "div", ["indent", "note"]);
 
- r.push(`Described as the "logical continuation of terrorism within the new world" by a prominent arcology owner, The Sons of Sekhmet are a global terrorist organization notorious for its viciousness and worldwide strike capacity. Formed in 2018 by Quati ibn Malek, the leader of a relatively minor sect of cat worshippers within Egypt, the Sons gained notoriety for seizing one of the first arcology clusters in the Sahara Desert and defending it from multiple incursions by old world peacekeeping forces. Ibn Malek was successfully assassinated by the Egyptian government in 2024, but the Sons have been resilient to being dislodged from their desert stronghold, and have used the resources of an arcology cluster to expand their presence and doctrine onto the global stage.`);
- r.toNode("p", ["note"]);
+	r.push(`Described as the "logical continuation of terrorism within the new world" by a prominent arcology owner, The Sons of Sekhmet are a global terrorist organization notorious for its viciousness and worldwide strike capacity. Formed in 2018 by Quati ibn Malek, the leader of a relatively minor sect of cat worshippers within Egypt, the Sons gained notoriety for seizing one of the first arcology clusters in the Sahara Desert and defending it from multiple incursions by old world peacekeeping forces. Ibn Malek was successfully assassinated by the Egyptian government in 2024, but the Sons have been resilient to being dislodged from their desert stronghold, and have used the resources of an arcology cluster to expand their presence and doctrine onto the global stage.`);
+	r.toNode("p", ["note"]);
 
- r.push(`Their use of cell tactics and frequent insurgent action against arcology owners has led to comparisons with the Daughters of Liberty, but this is a misguided comparison. Where the Daughters are an ideologically-motivated anti-slavery organization, the Sons long ago cast off their ideological roots to adopt a brutal, pragmatic approach to terrorism with few considerations other than the expansion of their own power; Sekhmet cells frequently use slaves as foot soldiers and suicide bombers, but their primary approach to recruitment is with the poor and downtrodden of arcologies and old world nations. Basic Sons doctrine holds that the Old World was destroyed by wealthy, hedonistic plutocrats who have fled their failed nations to the arcologies to live out lives of decadence as the world they shattered collapses, leaving the "common people" to starve in their wake. This simple mantra attracts disgruntled individuals from around the world, and the Sons maintain an extremely online presence, with underground cells active in nearly every old world nation.`);
- r.toNode("p", ["note"]);
+	r.push(`Their use of cell tactics and frequent insurgent action against arcology owners has led to comparisons with the Daughters of Liberty, but this is a misguided comparison. Where the Daughters are an ideologically-motivated anti-slavery organization, the Sons long ago cast off their ideological roots to adopt a brutal, pragmatic approach to terrorism with few considerations other than the expansion of their own power; Sekhmet cells frequently use slaves as foot soldiers and suicide bombers, but their primary approach to recruitment is with the poor and downtrodden of arcologies and old world nations. Basic Sons doctrine holds that the Old World was destroyed by wealthy, hedonistic plutocrats who have fled their failed nations to the arcologies to live out lives of decadence as the world they shattered collapses, leaving the "common people" to starve in their wake. This simple mantra attracts disgruntled individuals from around the world, and the Sons maintain an extremely online presence, with underground cells active in nearly every old world nation.`);
+	r.toNode("p", ["note"]);
 
- r.push("The capability of the Sons to provide manufactured weaponry and training, and their willingness to do so to anyone willing to pledge their life to the Orange Sun, makes them exceptionally dangerous. The Sons seize any possible opportunity to expand their wealth and power, and frequently launch assassination attempts on prominent public figures, sabotage essential facilities, and attempt to stir chaos and unrest in vulnerable regions, often with the intent of stepping in and seizing power for themselves once the area has been sufficiently destabilized. Unlike many smaller-scale terrorist groups, the Sons produce some of the best-trained killers and thugs in the New World, and are almost completely out of the reach of old world nations and arcology owners alike in their scorching desert arcology. Any responsible arcology owner should be aware of the orange sun used as the logo of the Sons of Sekhmet and take care to not expose themselves to any weakness.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
+	r.push("The capability of the Sons to provide manufactured weaponry and training, and their willingness to do so to anyone willing to pledge their life to the Orange Sun, makes them exceptionally dangerous. The Sons seize any possible opportunity to expand their wealth and power, and frequently launch assassination attempts on prominent public figures, sabotage essential facilities, and attempt to stir chaos and unrest in vulnerable regions, often with the intent of stepping in and seizing power for themselves once the area has been sufficiently destabilized. Unlike many smaller-scale terrorist groups, the Sons produce some of the best-trained killers and thugs in the New World, and are almost completely out of the reach of old world nations and arcology owners alike in their scorching desert arcology. Any responsible arcology owner should be aware of the orange sun used as the logo of the Sons of Sekhmet and take care to not expose themselves to any weakness.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("The Top", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("The Master never beats me half as hard as the Head Girl. She fucks me harder, too.");
- r.toNode("div", ["note"]);
- App.Events.addNode(t, ["— Anonymous slave"], "div", ["indent", "note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("The Master never beats me half as hard as the Head Girl. She fucks me harder, too.");
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, ["— Anonymous slave"], "div", ["indent", "note"]);
 
- r.push("The safest slave society is a stratified slave society. Innovative Free Cities slaveowners are carefully differentiating their chattel, ensuring that favored slaves are interposed between them and the masses of their lesser stock. This is one of the oldest principles of leadership, ensuring that the grind of day-to-day direction and correction comes from subordinate leaders, while rewards and planning come from the top. The addition of sexuality to this model simply means that many Free Cities slaves get it, so to speak, from both ends.");
- r.toNode("p", ["note"]);
+	r.push("The safest slave society is a stratified slave society. Innovative Free Cities slaveowners are carefully differentiating their chattel, ensuring that favored slaves are interposed between them and the masses of their lesser stock. This is one of the oldest principles of leadership, ensuring that the grind of day-to-day direction and correction comes from subordinate leaders, while rewards and planning come from the top. The addition of sexuality to this model simply means that many Free Cities slaves get it, so to speak, from both ends.");
+	r.toNode("p", ["note"]);
 
- r.push("There can be great advantages for talented and hardworking slaves. Out in the old world, crime, war, natural disasters, and simple crushing want often strike with little distinction based on", App.UI.DOM.makeElement("span","intelligence", ["cyan"]), "skill, or strength. A truly excellent individual serving in a well-thought-out arcology can rise to a position of considerable", App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "and power on her merits. It would be foolish to over-romanticize the reality of slavery, however, for all that advancement rests entirely on the whim of her owner. Talent can count for little for girls unlucky enough to find themselves owned by a capricious master.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
+	r.push("There can be great advantages for talented and hardworking slaves. Out in the old world, crime, war, natural disasters, and simple crushing want often strike with little distinction based on", App.UI.DOM.makeElement("span", "intelligence", ["cyan"]), "skill, or strength. A truly excellent individual serving in a well-thought-out arcology can rise to a position of considerable", App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "and power on her merits. It would be foolish to over-romanticize the reality of slavery, however, for all that advancement rests entirely on the whim of her owner. Talent can count for little for girls unlucky enough to find themselves owned by a capricious master.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("The Bottom", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Public servant today, whore tomorrow, glory hole bitch next month.");
- r.toNode("div", ["note"]);
- App.Events.addNode(t, ["— Anonymous slave"], "div", ["indent", "note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("Public servant today, whore tomorrow, glory hole bitch next month.");
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, ["— Anonymous slave"], "div", ["indent", "note"]);
 
- r.push("Slaves at the top of the Free Cities hierarchy enjoy a standard of life far above the average free citizen of the old world. However, slaves at the bottom do not. As the Free Cities redefine what it means to be human, they can be extraordinarily callous to those people who are excluded from the new rubric.");
- r.toNode("p", ["note"]);
+	r.push("Slaves at the top of the Free Cities hierarchy enjoy a standard of life far above the average free citizen of the old world. However, slaves at the bottom do not. As the Free Cities redefine what it means to be human, they can be extraordinarily callous to those people who are excluded from the new rubric.");
+	r.toNode("p", ["note"]);
 
- r.push("Free Cities glory holes are perhaps the ultimate expression of the dark side of modern slavery. In the old world, glory holes were mostly a sexual fantasy, and were confined to certain sexual subcultures where they did exist in reality. Free Cities glory holes are different both in that they exist, and are indeed very common; and in that their occupants are almost never present voluntarily.");
- r.toNode("p", ["note"]);
+	r.push("Free Cities glory holes are perhaps the ultimate expression of the dark side of modern slavery. In the old world, glory holes were mostly a sexual fantasy, and were confined to certain sexual subcultures where they did exist in reality. Free Cities glory holes are different both in that they exist, and are indeed very common; and in that their occupants are almost never present voluntarily.");
+	r.toNode("p", ["note"]);
 
- r.push("Glory holes and slave brothels have a symbiotic existence, and any Free Cities slaveholder who owns a brothel full of pampered prostitutes who claims moral ascendancy for not owning an arcade is ignoring realities. In truth, all slave brothels benefit from the existence of arcades. After all, every slave whore in the Free Cities knows that if she does not perform up to her Master's standards, the arcades exist as a way of extracting value from her body. Every slave brothel receives better efforts out of its slaves due to their knowledge that a worse alternative is always available — if not with their current master, then with some other.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
+	r.push("Glory holes and slave brothels have a symbiotic existence, and any Free Cities slaveholder who owns a brothel full of pampered prostitutes who claims moral ascendancy for not owning an arcade is ignoring realities. In truth, all slave brothels benefit from the existence of arcades. After all, every slave whore in the Free Cities knows that if she does not perform up to her Master's standards, the arcades exist as a way of extracting value from her body. Every slave brothel receives better efforts out of its slaves due to their knowledge that a worse alternative is always available — if not with their current master, then with some other.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("The Purity of the Human Form", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Twentieth century eugenicists weren't wrong, they just didn't have the tools to be right.");
- r.toNode("div", ["note"]);
- App.Events.addNode(t, ["— Anonymous"], "div", ["indent", "note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("Twentieth century eugenicists weren't wrong, they just didn't have the tools to be right.");
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, ["— Anonymous"], "div", ["indent", "note"]);
 
- r.push("High quality Free Cities slaves are remarkably healthy. It should be unsurprising that a population of humans selected for beauty, fed perfectly, required to exercise, given modern medical care, and prevented from indulging any non-sexual excess at all, has become quite impressive in this regard. The cultural fallout of this has been less easy to predict.");
- r.toNode("p", ["note"]);
+	r.push("High quality Free Cities slaves are remarkably healthy. It should be unsurprising that a population of humans selected for beauty, fed perfectly, required to exercise, given modern medical care, and prevented from indulging any non-sexual excess at all, has become quite impressive in this regard. The cultural fallout of this has been less easy to predict.");
+	r.toNode("p", ["note"]);
 
- r.push("Throughout the early part of the 21st century a wide spectra of movements were taking place that have informed the Free Cities ideology of body purism. The left-wing counterculture health movement has found much open ground in a society that allows its adherents to totally control what goes into the bodies of some of its members. On the opposite side of the spectrum, some long-standing reactionary groups have taken this opportunity to experiment with some of their non-racial theories on purity. Finally, many religious or simply moral fundamentalists who believe in some form of purity code now have a captive population to subject to their whims.");
- r.toNode("p", ["note"]);
+	r.push("Throughout the early part of the 21st century a wide spectra of movements were taking place that have informed the Free Cities ideology of body purism. The left-wing counterculture health movement has found much open ground in a society that allows its adherents to totally control what goes into the bodies of some of its members. On the opposite side of the spectrum, some long-standing reactionary groups have taken this opportunity to experiment with some of their non-racial theories on purity. Finally, many religious or simply moral fundamentalists who believe in some form of purity code now have a captive population to subject to their whims.");
+	r.toNode("p", ["note"]);
 
- r.push("Thousands of unintentional experiments on what really makes the ideal human are now under way in the Free Cities, and whatever the balance of humanity may feel about their morality, it is hard to deny that we as a whole stand to benefit from the experimentation.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
+	r.push("Thousands of unintentional experiments on what really makes the ideal human are now under way in the Free Cities, and whatever the balance of humanity may feel about their morality, it is hard to deny that we as a whole stand to benefit from the experimentation.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("A World Built on Implants", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("The earlier a slave gets on advanced growth hormones, the better. After all, good-looking implants are a ratio game. The bigger a girl's natural tits are, the bigger implants she can get without looking ridiculous.");
- r.toNode("div", ["note"]);
- App.Events.addNode(t, ["— standard Free Cities surgical advice"], "div", ["indent", "note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("The earlier a slave gets on advanced growth hormones, the better. After all, good-looking implants are a ratio game. The bigger a girl's natural tits are, the bigger implants she can get without looking ridiculous.");
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, ["— standard Free Cities surgical advice"], "div", ["indent", "note"]);
 
- r.push("One of the most furious ideological divides in the Free Cities is over implants. Most Free Cities arcologies display a mix of slaves with breast and other implants, but some follow the tastes of owners who strongly prefer all-natural slaves, and some fetishize expansionism to the point of near-universal implantation. This can be a remarkably bitter controversy in places, and should Free Cities culture continue to develop, it is not unlikely that some day physical violence may take place in the Free Cities between extremists on opposite sides of the implant debate.");
- r.toNode("p", ["note"]);
+	r.push("One of the most furious ideological divides in the Free Cities is over implants. Most Free Cities arcologies display a mix of slaves with breast and other implants, but some follow the tastes of owners who strongly prefer all-natural slaves, and some fetishize expansionism to the point of near-universal implantation. This can be a remarkably bitter controversy in places, and should Free Cities culture continue to develop, it is not unlikely that some day physical violence may take place in the Free Cities between extremists on opposite sides of the implant debate.");
+	r.toNode("p", ["note"]);
 
- r.push("In any case, the medical technology of implantation has not advanced hugely since the start of the 21st century. The vast majority of implants are still either water-bag or silicone, with silicone generally preferred for its better, more realistic feel. At the more extreme sizes, a variety of fluid-based designs are used, with polypropylene string implants making a return, and newer, fillable adaptive implants becoming more common.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
+	r.push("In any case, the medical technology of implantation has not advanced hugely since the start of the 21st century. The vast majority of implants are still either water-bag or silicone, with silicone generally preferred for its better, more realistic feel. At the more extreme sizes, a variety of fluid-based designs are used, with polypropylene string implants making a return, and newer, fillable adaptive implants becoming more common.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Slaves as Stock", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Here we have a fine piece for the dairy folks");
- r.toNode("div", ["note"]);
- r.push("Fine dairy cow for you here ladies and ge-entlemen");
- r.toNode("div", ["note"]);
- r.push("Who'll give me ten thousand ¤?");
- r.toNode("div", ["note"]);
- r.push("Ten thousand ¤ bid, now ten thousand five,");
- r.toNode("div", ["note"]);
- r.push("Now ten thousand five, will you give me eleven?");
- r.toNode("div", ["note"]);
- r.push("Thirty-two years old, nipples the size of silver dollars");
- r.toNode("div", ["note"]);
- r.push("Eleven thousand ¤ bid, eleven, eleven?");
- App.Events.addNode(t, ["— Free Cities auctioneer"], "div", ["indent", "note"]);
-
- r.push("At different points in the history of slavery, slaves have been nearly equal to or even in some cases superior to the lowest classes of free citizen, and have been nearly as low as or even lower than the most valuable categories of animal livestock. Which will become the Free Cities norm remains to be seen; there are arcologies that exemplify either approach. A few arcologies apply both standards, and standards in between, all at once.");
- r.toNode("p", ["note"]);
-
- r.push("The present, however, is a time of great supply in the slave market. The social collapse of many societies in the old world and the perpetual conflicts in many areas are producing an immense number of captives for sale, keeping prices at historically low levels. Many slaveowners treat their chattel relatively well, but this comes from motivations other than financial necessity. With no laws requiring it and no economic reason to treat slaves as different from livestock, many citizens of the Free Cities see little reason to make a distinction. Spectacular expressions of this callousness, like the restraint of women for use as milk production devices or the usage of dangerous dosages of growth hormones, become more understandable when one realizes that the Free Cities are refining what was once a settled idea: what it means to be human.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
- 
+	const r = new SpacedTextAccumulator(t);
+	r.push("Here we have a fine piece for the dairy folks");
+	r.toNode("div", ["note"]);
+	r.push("Fine dairy cow for you here ladies and ge-entlemen");
+	r.toNode("div", ["note"]);
+	r.push("Who'll give me ten thousand ¤?");
+	r.toNode("div", ["note"]);
+	r.push("Ten thousand ¤ bid, now ten thousand five,");
+	r.toNode("div", ["note"]);
+	r.push("Now ten thousand five, will you give me eleven?");
+	r.toNode("div", ["note"]);
+	r.push("Thirty-two years old, nipples the size of silver dollars");
+	r.toNode("div", ["note"]);
+	r.push("Eleven thousand ¤ bid, eleven, eleven?");
+	App.Events.addNode(t, ["— Free Cities auctioneer"], "div", ["indent", "note"]);
+
+	r.push("At different points in the history of slavery, slaves have been nearly equal to or even in some cases superior to the lowest classes of free citizen, and have been nearly as low as or even lower than the most valuable categories of animal livestock. Which will become the Free Cities norm remains to be seen; there are arcologies that exemplify either approach. A few arcologies apply both standards, and standards in between, all at once.");
+	r.toNode("p", ["note"]);
+
+	r.push("The present, however, is a time of great supply in the slave market. The social collapse of many societies in the old world and the perpetual conflicts in many areas are producing an immense number of captives for sale, keeping prices at historically low levels. Many slaveowners treat their chattel relatively well, but this comes from motivations other than financial necessity. With no laws requiring it and no economic reason to treat slaves as different from livestock, many citizens of the Free Cities see little reason to make a distinction. Spectacular expressions of this callousness, like the restraint of women for use as milk production devices or the usage of dangerous dosages of growth hormones, become more understandable when one realizes that the Free Cities are refining what was once a settled idea: what it means to be human.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
+
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Slavery and the Physical Ideal", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Quoth BRODIN:");
- r.toNode("div", ["note"]);
- r.push("All must lift.");
- r.toNode("div", ["note"]);
- App.Events.addNode(t, ["— Anonymous"], "div", ["indent", "note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("Quoth BRODIN:");
+	r.toNode("div", ["note"]);
+	r.push("All must lift.");
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, ["— Anonymous"], "div", ["indent", "note"]);
 
- r.push("The medical impacts of the widespread reintroduction of slavery are not at all what might have been predicted twenty years ago. Medicine is not our primary focus in this review of Free Cities cultural trends, but a brief look at the striking medical outcomes is critical to understanding some of the social currents at work. By the second half of the twentieth century, the majority of humanity had reached a state of plenty so great that the health dangers of excess were greater than the health dangers of want.");
- r.toNode("p", ["note"]);
+	r.push("The medical impacts of the widespread reintroduction of slavery are not at all what might have been predicted twenty years ago. Medicine is not our primary focus in this review of Free Cities cultural trends, but a brief look at the striking medical outcomes is critical to understanding some of the social currents at work. By the second half of the twentieth century, the majority of humanity had reached a state of plenty so great that the health dangers of excess were greater than the health dangers of want.");
+	r.toNode("p", ["note"]);
 
- r.push("For the first time in modern memory, people — slaves — in the Free Cities are, in large numbers, doing exactly what their doctors recommend. Properly managed slaves eat right, exercise regularly, and do not smoke, drink, or do recreational drugs. These simple but revolutionary changes mean that the more valuable classes of slave are healthier, on average, than any group of human beings has ever been.");
- r.toNode("p", ["note"]);
+	r.push("For the first time in modern memory, people — slaves — in the Free Cities are, in large numbers, doing exactly what their doctors recommend. Properly managed slaves eat right, exercise regularly, and do not smoke, drink, or do recreational drugs. These simple but revolutionary changes mean that the more valuable classes of slave are healthier, on average, than any group of human beings has ever been.");
+	r.toNode("p", ["note"]);
 
- r.push("Naturally, fetishism, competitiveness, and leisure have intersected to create in the Free Cities a constant escalation of physical one-upmanship when it comes to the training of slaves. Wonderfully muscled specimens have become very common, with feats of athletic prowess cited alongside sexual accomplishments without any distinction. The arcology owners most", App.Encyclopedia.Dialog.linkDOM("devoted", "From Rebellious to Devoted", "hotpink"), "to the human form are creating societies of uniform physical perfection unlike anything in human history.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
+	r.push("Naturally, fetishism, competitiveness, and leisure have intersected to create in the Free Cities a constant escalation of physical one-upmanship when it comes to the training of slaves. Wonderfully muscled specimens have become very common, with feats of athletic prowess cited alongside sexual accomplishments without any distinction. The arcology owners most", App.Encyclopedia.Dialog.linkDOM("devoted", "From Rebellious to Devoted", "hotpink"), "to the human form are creating societies of uniform physical perfection unlike anything in human history.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Faith in the Free Cities", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("I recognize my faults;");
- r.toNode("div", ["note"]);
- r.push("I am always conscious of my sins.");
- r.toNode("div", ["note"]);
- r.push("I have sinned against you, Master and God,");
- r.toNode("div", ["note"]);
- r.push("And done what you consider evil.");
- r.toNode("div", ["note"]);
- r.push("So you are right in judging me;");
- r.toNode("div", ["note"]);
- r.push("You are justified in condemning me.");
- r.toNode("div", ["note"]);
- App.Events.addNode(t, ["— Anonymous slave, 2030"], "div", ["indent", "note"]);
-
- r.push("There are almost as many approaches to faith in the Free Cities as there are arcologies. For every arcology owner who cynically exploits religion, there is another who truly believes himself to be ordained by God as master of his fellow human beings. Nevertheless, common elements are identifiable. The most notorious arise from literal readings of scriptural passages that reference slavery.");
- r.toNode("p", ["note"]);
-
- r.push("Each of the three major monotheistic religions arose in a time and place where slavery was common. Thus the institution appears in all three of the great monotheistic holy books. It is childishly simple to find all the scriptural support for a reintroduction of slavery even the most illiberal arcology owner could desire in any one of these. This is presumably not what religious conservatives of the late 20th and early 21st centuries intended when advocating scriptural literalism.");
- r.toNode("p", ["note"]);
- App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span","Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span","Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
+	const r = new SpacedTextAccumulator(t);
+	r.push("I recognize my faults;");
+	r.toNode("div", ["note"]);
+	r.push("I am always conscious of my sins.");
+	r.toNode("div", ["note"]);
+	r.push("I have sinned against you, Master and God,");
+	r.toNode("div", ["note"]);
+	r.push("And done what you consider evil.");
+	r.toNode("div", ["note"]);
+	r.push("So you are right in judging me;");
+	r.toNode("div", ["note"]);
+	r.push("You are justified in condemning me.");
+	r.toNode("div", ["note"]);
+	App.Events.addNode(t, ["— Anonymous slave, 2030"], "div", ["indent", "note"]);
+
+	r.push("There are almost as many approaches to faith in the Free Cities as there are arcologies. For every arcology owner who cynically exploits religion, there is another who truly believes himself to be ordained by God as master of his fellow human beings. Nevertheless, common elements are identifiable. The most notorious arise from literal readings of scriptural passages that reference slavery.");
+	r.toNode("p", ["note"]);
+
+	r.push("Each of the three major monotheistic religions arose in a time and place where slavery was common. Thus the institution appears in all three of the great monotheistic holy books. It is childishly simple to find all the scriptural support for a reintroduction of slavery even the most illiberal arcology owner could desire in any one of these. This is presumably not what religious conservatives of the late 20th and early 21st centuries intended when advocating scriptural literalism.");
+	r.toNode("p", ["note"]);
+	App.Events.addNode(t, ["— Lawrence, J. K., and Bolingbroke, D. S.,", App.UI.DOM.makeElement("span", "Trends in Free Cities Culture, 2031", ["underline"]), App.UI.DOM.makeElement("span", "Journal of Modern Social Sciences, International Edition, February 2032", ["note"])], "p", ["indent", "note"]);
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Slave Whore, Arcology K-2", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Interview with a slave whore");
-	r.toNode("div");
- r.push(`"The Rose Petal," Arcology K-2, April 21, 2036`);
- r.toNode("div");
-
- r.push("Good afternoon. What's your name?");
- r.toNode("p", ["note"]);
- r.push("Um, what? Are, um, you going to fuck me? I mean, whatever you want to do is okay.");
- r.toNode("div");
-
- r.push("I'd like to learn more about you.");
- r.toNode("p", ["note"]);
- r.push("Um, okay. My name is Candace Ass, I'm twenty years old, and I'm one of the slave whores here at the Petal. Um, what else?");
- r.toNode("div");
-
- r.push("How did you become a slave? Tell me about how you got here.");
- r.toNode("p", ["note"]);
- r.push("Sure. Well, uh, it's kind of boring. I was at a club, and I guess someone put something in my drink, and I passed out, and well [laughs nervously] here I am, I guess?");
- r.toNode("div");
-
- r.push("What happened when you woke up?");
- r.toNode("p", ["note"]);
- r.push("Oh, like, you want me to tell you my life story?");
- r.toNode("div");
-
- r.push("Sure.");
- r.toNode("p", ["note"]);
- r.push("Would it be okay if you fucked me while I tell you? I, uh, can't really think right now. I guess I could also suck — but then I wouldn't be able to talk? Here, please, please stick — oh, okay. Okay! Uh. Yeah. [giggles] That feels better. Thanks!");
- r.toNode("div");
-
- r.push("Why couldn't you talk without being fucked?");
- r.toNode("p", ["note"]);
- r.push("Well, we're all really horny. I'm really horny. Everything does it. The hormones, and all the training, and the drugs, and it's also kind of a habit, you know? It's been almost an hour! If you do it slow like that I'll be okay. [giggles] Yeah. Thank you!");
- r.toNode("div");
-
- r.push("You can touch yourself if it helps you think more clearly.");
- r.toNode("p", ["note"]);
- r.push("Oh thanks but, um, no. That's okay. It's actually really sensitive. Like, um, nobody touches it? And we're not allowed to do that alone anyway. So this is, um, good for me. I'm used to it, I get off like this a lot. If you do it much harder I'll cum, but if you just do it like that, I'll edge for a while. Um, so we can talk? Is that what you wanted?");
- r.toNode("div");
-
- r.push("You were telling me about being enslaved.");
- r.toNode("p", ["note"]);
- r.push("Well, I woke up with a guy on top of me. Kind of like now! But, like, he was really pounding me. It kind of hurt, but I was still really drugged. And I was already on the slave drugs too. And then they put me through a bunch of tests and stuff. That first buttfuck wasn't really a test, it was just a slaver using me. All the new girls get used. But later they tested me a lot, and showed me a bunch of porn and stuff. I think it was to see what I liked. Then they put me in a little room, like a cell, and kept me there for a while.");
- r.toNode("div");
-
- r.push("How long were you there?");
- r.toNode("p", ["note"]);
- r.push("I don't really know? All I really did was sleep. It's what happens when you're getting a lot of drugs and need curatives to keep them from hurting you. You just sleep a lot. And when you're awake, you're really groggy and can't remember much. It makes it easier.");
- r.toNode("div");
-
- r.push("It makes what easier?");
- r.toNode("p", ["note"]);
- r.push("Being raped. I mean, um, that was before I was trained a lot? So I didn't like it most of the time guys fucked me in the ass. But I just laid there and let it happen mostly. I heard from girls later that the slave market I was at uses that as a test, actually.");
- r.toNode("div");
-
- r.push("A test of what?");
- r.toNode("p", ["note"]);
- r.push("Well if a new girl is all drugged up and, you know, gets hard and cums when they fuck her, she gets special treatment. A girl they caught with me, I think she came the first day, and she's, like, a Concubine now? But if a girl still fights on all the drugs they put her in the arcade. Most just lie there like me, which means they need better hormones. So then they clip you.");
- r.toNode("div");
-
- r.push("Perform an orchiectomy, you mean?");
- r.toNode("p", ["note"]);
- r.push("Yeah, cut your balls off. [giggles] I don't remember. I just noticed one day that I was really soft and they were gone. And then I started getting really soft and growing better boobs, and the slavers who came in and used me seemed cuter. I asked one of he wanted a blowjob, and then they took me out and trained me a little.");
- r.toNode("div");
-
- r.push("Sexual training?");
- r.toNode("p", ["note"]);
- r.push("No, no, just obedience and stuff. I mean, they trained me by making me suck cock and bend over and take it up the butt, but no, like, sex classes. But still mostly sleeping. It's like, I would wake up being fucked, and when the guy was done and had injected whatever into me and made me follow a few commands, I'd go shower and then go back to bed again. Weeks and weeks like that, and then some surgeries.");
- r.toNode("div");
-
- r.push("What surgeries have you had?");
- r.toNode("p", ["note"]);
- r.push("Lots! [giggles] Um, lip implants. [kissing noise] Obviously. And some little face stuff, like, bone stuff on my jaw and cheekbones. They did something to my throat, and after not letting me talk for a week my voice was high like it is now. Shoulders and hips, more bone stuff. Those hurt, I slept for like a week after each and they left me alone. Butt implants. And boobs, like, obviously. Three times, bigger each time. If they give you the big kind right away you get stretch marks and it's ugly. They say they're going to do it at least once more, so they're bigger than my head. [giggles]");
- r.toNode("div");
-
- r.push("When did you move to the brothel?");
- r.toNode("p", ["note"]);
- r.push("Well Mistress bought me! I think they decided I was ready to be sold when I started asking for sex. They fuck you regularly, like, it's on a schedule? To get you into the habit, and also to get your asshole used to being a fuckhole. And I started wanting it more than the schedule, and cumming almost every time. So they sold me. Mistress kept me for a week, and then sent me down to the brothel.");
- r.toNode("div");
-
- r.push("What was that week like?");
- r.toNode("p", ["note"]);
- r.push("Um, I'm not supposed to talk about that? But, um, she fucked me, of course. That's not a big secret. Most sex slaves on the drugs and the training and stuff need sex, like, a lot. So if we're serving only one person, we have to beg. It's nice working here, I don't have to beg much. Oh! And that's also when Mistress picked my name and style. Since my skin is so pale, and my asshole bleached to pink, I'm pink! Pink hair, pink lips, pink nails, pink collar, pink heels, pink asspussy. Candy Ass!");
- r.toNode("div");
-
- r.push("How long have you been here?");
- r.toNode("p", ["note"]);
- r.push("Well, ever since Mistress sent me here! So like a year?");
- r.toNode("div");
-
- r.push("Do you know what you'll be doing in the future?");
- r.toNode("p", ["note"]);
- r.push("Um what? Working here I guess? I don't understand.");
- r.toNode("div");
-
- r.push("How long do you think you'll be here?");
- r.toNode("p", ["note"]);
- r.push("Well I guess the oldest girl here is around forty? [giggles] She's nice, I like her. She has these huge soft boobs, and her milk is really nice. So I'm twenty, so twenty years I guess?");
- r.toNode("div");
-
- r.push("How many customers do you see a day?");
- r.toNode("p", ["note"]);
- r.push("It depends, like, it depends on what they want? Like a long fuck or something weird like you, it takes a while, but most just want me to suck them off or take their cock up my butthole. Fifteen maybe?");
- r.toNode("div");
-
- r.push("That means you're going to have sex in this brothel more than 100,000 times.");
- r.toNode("p", ["note"]);
- r.push("The way you say that make it sound like a lot. Oh! Oh, uh, you want me to -");
- r.toNode("div");
-
- r.push("Be quiet, slave.");
- r.toNode("p", ["note"]);
-
- r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span","Guide to Modern Slavery, 2037 Edition", ["note"]));
- r.toNode("p");
- r.push("Appendix A, Interviews");
- r.toNode("div");
+	const r = new SpacedTextAccumulator(t);
+	r.push("Interview with a slave whore");
+	r.toNode("div");
+	r.push(`"The Rose Petal," Arcology K-2, April 21, 2036`);
+	r.toNode("div");
+
+	r.push("Good afternoon. What's your name?");
+	r.toNode("p", ["note"]);
+	r.push("Um, what? Are, um, you going to fuck me? I mean, whatever you want to do is okay.");
+	r.toNode("div");
+
+	r.push("I'd like to learn more about you.");
+	r.toNode("p", ["note"]);
+	r.push("Um, okay. My name is Candace Ass, I'm twenty years old, and I'm one of the slave whores here at the Petal. Um, what else?");
+	r.toNode("div");
+
+	r.push("How did you become a slave? Tell me about how you got here.");
+	r.toNode("p", ["note"]);
+	r.push("Sure. Well, uh, it's kind of boring. I was at a club, and I guess someone put something in my drink, and I passed out, and well [laughs nervously] here I am, I guess?");
+	r.toNode("div");
+
+	r.push("What happened when you woke up?");
+	r.toNode("p", ["note"]);
+	r.push("Oh, like, you want me to tell you my life story?");
+	r.toNode("div");
+
+	r.push("Sure.");
+	r.toNode("p", ["note"]);
+	r.push("Would it be okay if you fucked me while I tell you? I, uh, can't really think right now. I guess I could also suck — but then I wouldn't be able to talk? Here, please, please stick — oh, okay. Okay! Uh. Yeah. [giggles] That feels better. Thanks!");
+	r.toNode("div");
+
+	r.push("Why couldn't you talk without being fucked?");
+	r.toNode("p", ["note"]);
+	r.push("Well, we're all really horny. I'm really horny. Everything does it. The hormones, and all the training, and the drugs, and it's also kind of a habit, you know? It's been almost an hour! If you do it slow like that I'll be okay. [giggles] Yeah. Thank you!");
+	r.toNode("div");
+
+	r.push("You can touch yourself if it helps you think more clearly.");
+	r.toNode("p", ["note"]);
+	r.push("Oh thanks but, um, no. That's okay. It's actually really sensitive. Like, um, nobody touches it? And we're not allowed to do that alone anyway. So this is, um, good for me. I'm used to it, I get off like this a lot. If you do it much harder I'll cum, but if you just do it like that, I'll edge for a while. Um, so we can talk? Is that what you wanted?");
+	r.toNode("div");
+
+	r.push("You were telling me about being enslaved.");
+	r.toNode("p", ["note"]);
+	r.push("Well, I woke up with a guy on top of me. Kind of like now! But, like, he was really pounding me. It kind of hurt, but I was still really drugged. And I was already on the slave drugs too. And then they put me through a bunch of tests and stuff. That first buttfuck wasn't really a test, it was just a slaver using me. All the new girls get used. But later they tested me a lot, and showed me a bunch of porn and stuff. I think it was to see what I liked. Then they put me in a little room, like a cell, and kept me there for a while.");
+	r.toNode("div");
+
+	r.push("How long were you there?");
+	r.toNode("p", ["note"]);
+	r.push("I don't really know? All I really did was sleep. It's what happens when you're getting a lot of drugs and need curatives to keep them from hurting you. You just sleep a lot. And when you're awake, you're really groggy and can't remember much. It makes it easier.");
+	r.toNode("div");
+
+	r.push("It makes what easier?");
+	r.toNode("p", ["note"]);
+	r.push("Being raped. I mean, um, that was before I was trained a lot? So I didn't like it most of the time guys fucked me in the ass. But I just laid there and let it happen mostly. I heard from girls later that the slave market I was at uses that as a test, actually.");
+	r.toNode("div");
+
+	r.push("A test of what?");
+	r.toNode("p", ["note"]);
+	r.push("Well if a new girl is all drugged up and, you know, gets hard and cums when they fuck her, she gets special treatment. A girl they caught with me, I think she came the first day, and she's, like, a Concubine now? But if a girl still fights on all the drugs they put her in the arcade. Most just lie there like me, which means they need better hormones. So then they clip you.");
+	r.toNode("div");
+
+	r.push("Perform an orchiectomy, you mean?");
+	r.toNode("p", ["note"]);
+	r.push("Yeah, cut your balls off. [giggles] I don't remember. I just noticed one day that I was really soft and they were gone. And then I started getting really soft and growing better boobs, and the slavers who came in and used me seemed cuter. I asked one of he wanted a blowjob, and then they took me out and trained me a little.");
+	r.toNode("div");
+
+	r.push("Sexual training?");
+	r.toNode("p", ["note"]);
+	r.push("No, no, just obedience and stuff. I mean, they trained me by making me suck cock and bend over and take it up the butt, but no, like, sex classes. But still mostly sleeping. It's like, I would wake up being fucked, and when the guy was done and had injected whatever into me and made me follow a few commands, I'd go shower and then go back to bed again. Weeks and weeks like that, and then some surgeries.");
+	r.toNode("div");
+
+	r.push("What surgeries have you had?");
+	r.toNode("p", ["note"]);
+	r.push("Lots! [giggles] Um, lip implants. [kissing noise] Obviously. And some little face stuff, like, bone stuff on my jaw and cheekbones. They did something to my throat, and after not letting me talk for a week my voice was high like it is now. Shoulders and hips, more bone stuff. Those hurt, I slept for like a week after each and they left me alone. Butt implants. And boobs, like, obviously. Three times, bigger each time. If they give you the big kind right away you get stretch marks and it's ugly. They say they're going to do it at least once more, so they're bigger than my head. [giggles]");
+	r.toNode("div");
+
+	r.push("When did you move to the brothel?");
+	r.toNode("p", ["note"]);
+	r.push("Well Mistress bought me! I think they decided I was ready to be sold when I started asking for sex. They fuck you regularly, like, it's on a schedule? To get you into the habit, and also to get your asshole used to being a fuckhole. And I started wanting it more than the schedule, and cumming almost every time. So they sold me. Mistress kept me for a week, and then sent me down to the brothel.");
+	r.toNode("div");
+
+	r.push("What was that week like?");
+	r.toNode("p", ["note"]);
+	r.push("Um, I'm not supposed to talk about that? But, um, she fucked me, of course. That's not a big secret. Most sex slaves on the drugs and the training and stuff need sex, like, a lot. So if we're serving only one person, we have to beg. It's nice working here, I don't have to beg much. Oh! And that's also when Mistress picked my name and style. Since my skin is so pale, and my asshole bleached to pink, I'm pink! Pink hair, pink lips, pink nails, pink collar, pink heels, pink asspussy. Candy Ass!");
+	r.toNode("div");
+
+	r.push("How long have you been here?");
+	r.toNode("p", ["note"]);
+	r.push("Well, ever since Mistress sent me here! So like a year?");
+	r.toNode("div");
+
+	r.push("Do you know what you'll be doing in the future?");
+	r.toNode("p", ["note"]);
+	r.push("Um what? Working here I guess? I don't understand.");
+	r.toNode("div");
+
+	r.push("How long do you think you'll be here?");
+	r.toNode("p", ["note"]);
+	r.push("Well I guess the oldest girl here is around forty? [giggles] She's nice, I like her. She has these huge soft boobs, and her milk is really nice. So I'm twenty, so twenty years I guess?");
+	r.toNode("div");
+
+	r.push("How many customers do you see a day?");
+	r.toNode("p", ["note"]);
+	r.push("It depends, like, it depends on what they want? Like a long fuck or something weird like you, it takes a while, but most just want me to suck them off or take their cock up my butthole. Fifteen maybe?");
+	r.toNode("div");
+
+	r.push("That means you're going to have sex in this brothel more than 100,000 times.");
+	r.toNode("p", ["note"]);
+	r.push("The way you say that make it sound like a lot. Oh! Oh, uh, you want me to -");
+	r.toNode("div");
+
+	r.push("Be quiet, slave.");
+	r.toNode("p", ["note"]);
+
+	r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span", "Guide to Modern Slavery, 2037 Edition", ["note"]));
+	r.toNode("p");
+	r.push("Appendix A, Interviews");
+	r.toNode("div");
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Slave Acolyte, Arcology V-7", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Interview with a Chattel Religionist acolyte");
- r.toNode("div");
- r.push("Main plaza, Arcology V-7, April 28, 2036");
- r.toNode("div");
- r.push("Good morning, honored visitor! I'm Patience; how may I serve you?");
- r.toNode("p");
-
- r.push(App.UI.DOM.makeElement("span","Good morning. What do you do here?", ["note"]));
- r.toNode("div");
- r.push("Why, I am an acolyte of the Prophet! I have the ordained and undeserved glory of being one of his slaves. I do my unworthy best to do whatever he in his infinite wisdom commands me. Today I am a public servant on the plaza, and it is my duty and pleasure to greet visitors to his arcology, Sir, and to serve them in whatever way I can.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You seem very enthusiastic.", ["note"]));
- r.toNode("div");
- r.push("Oh thank you Sir! The Prophet says that the best slave is beautiful and cheerful, but if a slave cannot be both, it is much better for her to be cheerful. [laughs] So I do my best to be cheerful. May I ask what brings you to his arcology, Sir?");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You may. I travel from arcology to arcology. A tourist, you might say. And I write about what I find.", ["note"]));
- r.toNode("div");
- r.push("That's wonderful! I'd be happy to share anything with you, anything at all. The Prophet says that all slavery is holy, but Sir, I think his arcology must be more holy than most. And the Prophet says that acolytes are to always be honest, for the holy have nothing to hide.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","I see that.", ["note"]));
- r.toNode("div");
- r.push("[laughs] My habit, you mean? You must be joking, Sir! It covers most of me.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Tell me about it.", ["note"]));
- r.toNode("div");
- r.push("With pleasure, Sir. It is white, because all sex slaves are pure. It covers my head and my shoulders but leaves my face bare so that everyone may see me smile. My breasts are bare because, the Prophet says, they are especially holy things, beautiful, and sexual, and nourishing. They must also be bare so that all can see how they are pure and unspoiled by false implants. My belly is bare to show that I have the very great honor of carrying new slaves for the Prophet. I have a golden belt with a strip of cloth in front and behind, because the Prophet says that sometimes, the imagined sight of a slave's holes are as beautiful as the true sight of them.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You must be carrying twins.", ["note"]));
- r.toNode("div");
- r.push("Yes, Sir, twins. I hope very much to be blessed with triplets next time.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Are they the Prophet's?", ["note"]));
- r.toNode("div");
- r.push("[laughs] Oh, no, Sir! I am just an unworthy old acolyte, not one of the Prophet's wives. I was blessed with the seed of one of the Prophet's breeding girls, much better seed than I deserve. She is young and very beautiful, much more beautiful than me, and many acolytes receive her seed so they can make beautiful new slaves.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Between your pregnancy and your breasts, doesn't standing out here on the plaza tire you out?", ["note"]));
- r.toNode("div");
- r.push("No, Sir. Look here, Sir; [turns sideways] a good acolyte has strong legs, and I exercise twice a day. We must be strong to bear new slaves, work hard, and give pleasure without tiring. I can serve you standing, Sir, even like this. May I show you?");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Perhaps later. You seem proud of your body.", ["note"]));
- r.toNode("div");
- r.push("I am! The Prophet says that a holy slave may certainly be proud of the way in which she serves. I am not beautiful and I am not young, but I am healthy and strong and I am proud of that. I am blessed to be in an arcology where I can take pride in such things.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","What do you do when you are not being bred or serving in public?", ["note"]));
- r.toNode("div");
- r.push("Well, Sir, those are my roles as one of the Prophet's many slave acolytes. In daily life, do you mean, Sir? Well, as I said I exercise a great deal. To maintain my body I must eat a lot, so I have to work hard or I will become fat. Other than that, I live up above us, Sir, in a lower level of the Prophet's penthouse, in a room with my wife. It's a simple life.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Your wife?", ["note"]));
- r.toNode("div");
- r.push("Yes, Sir, my wife Perseverance. There she is, Sir, on the other side of the plaza. One of the ones dressed like me. She has bigger boobs, but she isn't as pregnant right now. [points]");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","She looks a lot like you.", ["note"]));
- r.toNode("div");
- r.push("Well, she should, Sir, we're sisters. The Prophet says that slave marriages between sisters are very holy, as long as no seed passes between them, and of course no seed can pass between us, because we both have pussies. I love her very much.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Did you always?", ["note"]));
- r.toNode("div");
- r.push("Well yes! Oh, I see, Sir. No, no not that way. It was very hard for us, for a long time, but the Prophet is very wise. We were unworthy and slow to accept his wisdom, but he was patient with us and we learned in the end.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","That's certainly impressive. How did he teach you?", ["note"]));
- r.toNode("div");
- r.push("Many ways, of course, Sir, but the Prophet is so wise that he often brings slaves to teach themselves by his wisdom. He has many ways of filling a slave with radiant sexual desire, Sir, so many ways, and they are so powerful, that she must find some way of getting relief. And the Prophet provided that we were each other's only source of relief.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","How was that hard for you?", ["note"]));
- r.toNode("div");
- r.push("The Prophet says that it is natural for it to be hard, and as in all things he was right. We were ashamed, and we cried afterward, every time, for a long time. But we became accustomed to each other's bodies, and we saw that many sister-wives were happy, and no one looked down on us. So we agreed with each other to stop being ashamed.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You're completely comfortable speaking about being married to your sister, here in the plaza?", ["note"]));
- r.toNode("div");
- r.push("Sir, I'm completely comfortable saying here in the plaza that when I awoke this morning, she was sucking the milk from one of my nipples, and that we brought each other to orgasm twice before we came out to the plaza today. I love her! I hope you will let us serve you together.");
- r.toNode("div");
-
- r.toNode("p");
- r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span","Guide to Modern Slavery, 2037 Edition", ["note"]));
- r.toNode("div");
- r.push("Appendix A, Interviews");
- r.toNode("div");
+	const r = new SpacedTextAccumulator(t);
+	r.push("Interview with a Chattel Religionist acolyte");
+	r.toNode("div");
+	r.push("Main plaza, Arcology V-7, April 28, 2036");
+	r.toNode("div");
+	r.push("Good morning, honored visitor! I'm Patience; how may I serve you?");
+	r.toNode("p");
+
+	r.push(App.UI.DOM.makeElement("span", "Good morning. What do you do here?", ["note"]));
+	r.toNode("div");
+	r.push("Why, I am an acolyte of the Prophet! I have the ordained and undeserved glory of being one of his slaves. I do my unworthy best to do whatever he in his infinite wisdom commands me. Today I am a public servant on the plaza, and it is my duty and pleasure to greet visitors to his arcology, Sir, and to serve them in whatever way I can.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You seem very enthusiastic.", ["note"]));
+	r.toNode("div");
+	r.push("Oh thank you Sir! The Prophet says that the best slave is beautiful and cheerful, but if a slave cannot be both, it is much better for her to be cheerful. [laughs] So I do my best to be cheerful. May I ask what brings you to his arcology, Sir?");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You may. I travel from arcology to arcology. A tourist, you might say. And I write about what I find.", ["note"]));
+	r.toNode("div");
+	r.push("That's wonderful! I'd be happy to share anything with you, anything at all. The Prophet says that all slavery is holy, but Sir, I think his arcology must be more holy than most. And the Prophet says that acolytes are to always be honest, for the holy have nothing to hide.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "I see that.", ["note"]));
+	r.toNode("div");
+	r.push("[laughs] My habit, you mean? You must be joking, Sir! It covers most of me.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Tell me about it.", ["note"]));
+	r.toNode("div");
+	r.push("With pleasure, Sir. It is white, because all sex slaves are pure. It covers my head and my shoulders but leaves my face bare so that everyone may see me smile. My breasts are bare because, the Prophet says, they are especially holy things, beautiful, and sexual, and nourishing. They must also be bare so that all can see how they are pure and unspoiled by false implants. My belly is bare to show that I have the very great honor of carrying new slaves for the Prophet. I have a golden belt with a strip of cloth in front and behind, because the Prophet says that sometimes, the imagined sight of a slave's holes are as beautiful as the true sight of them.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You must be carrying twins.", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Sir, twins. I hope very much to be blessed with triplets next time.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Are they the Prophet's?", ["note"]));
+	r.toNode("div");
+	r.push("[laughs] Oh, no, Sir! I am just an unworthy old acolyte, not one of the Prophet's wives. I was blessed with the seed of one of the Prophet's breeding girls, much better seed than I deserve. She is young and very beautiful, much more beautiful than me, and many acolytes receive her seed so they can make beautiful new slaves.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Between your pregnancy and your breasts, doesn't standing out here on the plaza tire you out?", ["note"]));
+	r.toNode("div");
+	r.push("No, Sir. Look here, Sir; [turns sideways] a good acolyte has strong legs, and I exercise twice a day. We must be strong to bear new slaves, work hard, and give pleasure without tiring. I can serve you standing, Sir, even like this. May I show you?");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Perhaps later. You seem proud of your body.", ["note"]));
+	r.toNode("div");
+	r.push("I am! The Prophet says that a holy slave may certainly be proud of the way in which she serves. I am not beautiful and I am not young, but I am healthy and strong and I am proud of that. I am blessed to be in an arcology where I can take pride in such things.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "What do you do when you are not being bred or serving in public?", ["note"]));
+	r.toNode("div");
+	r.push("Well, Sir, those are my roles as one of the Prophet's many slave acolytes. In daily life, do you mean, Sir? Well, as I said I exercise a great deal. To maintain my body I must eat a lot, so I have to work hard or I will become fat. Other than that, I live up above us, Sir, in a lower level of the Prophet's penthouse, in a room with my wife. It's a simple life.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Your wife?", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Sir, my wife Perseverance. There she is, Sir, on the other side of the plaza. One of the ones dressed like me. She has bigger boobs, but she isn't as pregnant right now. [points]");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "She looks a lot like you.", ["note"]));
+	r.toNode("div");
+	r.push("Well, she should, Sir, we're sisters. The Prophet says that slave marriages between sisters are very holy, as long as no seed passes between them, and of course no seed can pass between us, because we both have pussies. I love her very much.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Did you always?", ["note"]));
+	r.toNode("div");
+	r.push("Well yes! Oh, I see, Sir. No, no not that way. It was very hard for us, for a long time, but the Prophet is very wise. We were unworthy and slow to accept his wisdom, but he was patient with us and we learned in the end.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "That's certainly impressive. How did he teach you?", ["note"]));
+	r.toNode("div");
+	r.push("Many ways, of course, Sir, but the Prophet is so wise that he often brings slaves to teach themselves by his wisdom. He has many ways of filling a slave with radiant sexual desire, Sir, so many ways, and they are so powerful, that she must find some way of getting relief. And the Prophet provided that we were each other's only source of relief.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "How was that hard for you?", ["note"]));
+	r.toNode("div");
+	r.push("The Prophet says that it is natural for it to be hard, and as in all things he was right. We were ashamed, and we cried afterward, every time, for a long time. But we became accustomed to each other's bodies, and we saw that many sister-wives were happy, and no one looked down on us. So we agreed with each other to stop being ashamed.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You're completely comfortable speaking about being married to your sister, here in the plaza?", ["note"]));
+	r.toNode("div");
+	r.push("Sir, I'm completely comfortable saying here in the plaza that when I awoke this morning, she was sucking the milk from one of my nipples, and that we brought each other to orgasm twice before we came out to the plaza today. I love her! I hope you will let us serve you together.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span", "Guide to Modern Slavery, 2037 Edition", ["note"]));
+	r.toNode("div");
+	r.push("Appendix A, Interviews");
+	r.toNode("div");
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Public Slave, Arcology A-3", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Interview with a public slave subject to Degradationism");
- r.toNode("div");
- r.push("Main plaza, Arcology A-3, April 16, 2036");
- r.toNode("div");
- r.push("P-please, Sir! Please fuck me, Sir!");
- r.toNode("p");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Very well. I will ask, though: why?", ["note"]));
- r.toNode("div");
- r.push("B-because I'm overdue, Sir. If I d-don't get someone to f-fuck me soon, my c-collar will hurt me, Sir. Oh please, oh — oh thank you Sir, please, please — oh, OH —");
- r.toNode("div");
-
- r.toNode("p");
- r.push("[Some time later.]");
- r.toNode("div");
- r.push("[Slave collar chimes.]");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","What was that?", ["note"]));
- r.toNode("div");
- r.push("Oh, um, [sniff] Sir, the arcology detected that you came inside me, Sir. That means that I have a little time before I have to get fucked again, Sir. [sniff]");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","All public slaves are subject to this system?", ["note"]));
- r.toNode("div");
- r.push("All of the Mistress's public slaves, Sir. Some other owners use it, some don't. [sniff] It's s-supposed to make us g-good public representatives for the arcology's slaves. B-because it makes us d-desperate. [sniff] Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You seem articulate, slave. What were you before enslavement?", ["note"]));
- r.toNode("div");
- r.push("I was a s-student, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","I see. Slave, I would like to learn more about the arcology. You will accompany me as I tour it. If you answer my questions as I do so, I will fuck you when your collar requires it.", ["note"]));
- r.toNode("div");
- r.push("Oh, thank you, Sir. Thank you. Um, how long will you be here, Sir?");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","None of your concern. Who is the person in that cage hanging there?", ["note"]));
- r.toNode("div");
- r.push("I don't know, Sir. And, Sir, that's not, um, a person. She's a slave, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","I see. What sorts of things are punished that way?", ["note"]));
- r.toNode("div");
- r.push("Oh, lots of things, Sir. Hesitating. Dropping things. Touching a dick or a clit with teeth. Letting cum spill. Anyone can put a slave in one of the cages; they're public, Sir, and anyone can use a slave in them. You see they're kind of shaped so that the slave is positioned so her holes are sticking out, Sir?");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Follow me.", ["note"]));
- r.toNode("div");
- r.push("Yes, Sir. [winces] Oh. Um, sorry, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Does it hurt to walk in those shoes?", ["note"]));
- r.toNode("div");
- r.push("N-no, Sir. I need the heels to walk. It's the chain between my nipples that hurts a little when I walk, Sir, and it bounces around. I was wincing, earlier, partly because I was bouncing around, and it hurt, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","And yet you orgasmed.", ["note"]));
- r.toNode("div");
- r.push("It's h-hard not to, Sir. I have a smart piercing that makes me orgasm, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Why do you need heels to walk?", ["note"]));
- r.toNode("div");
- r.push("Because my tendons have been clipped, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","What did you do?", ["note"]));
- r.toNode("div");
- r.push("Um, nothing, Sir? It wasn't a punishment, all slaves have their tendons clipped. The heels are a reward. If we're not good, we have to crawl, Sir.");
- r.toNode("div");
-
- r.push("[Walking.]");
- r.toNode("p");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Was that fear I just saw?", ["note"]));
- r.toNode("div");
- r.push("Yes, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Why?", ["note"]));
- r.toNode("div");
- r.push("That's the main dairy ahead of us, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Is it open to the public?", ["note"]));
- r.toNode("div");
- r.push("T-t-to view, yes, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Follow me.", ["note"]));
- r.toNode("div");
- r.push("Y-yes, Sir. [sniff]");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","That is quite an impressive sight.", ["note"]));
- r.toNode("div");
- r.push("Yes, Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Do you know how large they are?", ["note"]));
- r.toNode("div");
- r.push("Th-th-their breasts, Sir? About t-twenty or twenty five liters e-ea-each, S-Sir.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Why does this frighten you so much?", ["note"]));
- r.toNode("div");
- r.push("W-well, I'll, um, be put in here, Sir. Someday. Oh. [sniff]");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Why?", ["note"]));
- r.toNode("div");
- r.push("All slaves are p-put in h-here, when they're loose, Sir. All the, the, the", App.UI.DOM.makeElement("span","sex,", ["note"]), "it's just to loosen us, s-so those", App.UI.DOM.makeElement("span","things,", ["note"]), "will fit inside...");
- r.toNode("div");
-
- r.toNode("p");
- r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span","Guide to Modern Slavery, 2037 Edition", ["note"]));
- r.toNode("div");
- r.push("Appendix A, Interviews");
- r.toNode("div");
+	const r = new SpacedTextAccumulator(t);
+	r.push("Interview with a public slave subject to Degradationism");
+	r.toNode("div");
+	r.push("Main plaza, Arcology A-3, April 16, 2036");
+	r.toNode("div");
+	r.push("P-please, Sir! Please fuck me, Sir!");
+	r.toNode("p");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Very well. I will ask, though: why?", ["note"]));
+	r.toNode("div");
+	r.push("B-because I'm overdue, Sir. If I d-don't get someone to f-fuck me soon, my c-collar will hurt me, Sir. Oh please, oh — oh thank you Sir, please, please — oh, OH —");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push("[Some time later.]");
+	r.toNode("div");
+	r.push("[Slave collar chimes.]");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "What was that?", ["note"]));
+	r.toNode("div");
+	r.push("Oh, um, [sniff] Sir, the arcology detected that you came inside me, Sir. That means that I have a little time before I have to get fucked again, Sir. [sniff]");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "All public slaves are subject to this system?", ["note"]));
+	r.toNode("div");
+	r.push("All of the Mistress's public slaves, Sir. Some other owners use it, some don't. [sniff] It's s-supposed to make us g-good public representatives for the arcology's slaves. B-because it makes us d-desperate. [sniff] Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You seem articulate, slave. What were you before enslavement?", ["note"]));
+	r.toNode("div");
+	r.push("I was a s-student, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "I see. Slave, I would like to learn more about the arcology. You will accompany me as I tour it. If you answer my questions as I do so, I will fuck you when your collar requires it.", ["note"]));
+	r.toNode("div");
+	r.push("Oh, thank you, Sir. Thank you. Um, how long will you be here, Sir?");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "None of your concern. Who is the person in that cage hanging there?", ["note"]));
+	r.toNode("div");
+	r.push("I don't know, Sir. And, Sir, that's not, um, a person. She's a slave, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "I see. What sorts of things are punished that way?", ["note"]));
+	r.toNode("div");
+	r.push("Oh, lots of things, Sir. Hesitating. Dropping things. Touching a dick or a clit with teeth. Letting cum spill. Anyone can put a slave in one of the cages; they're public, Sir, and anyone can use a slave in them. You see they're kind of shaped so that the slave is positioned so her holes are sticking out, Sir?");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Follow me.", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Sir. [winces] Oh. Um, sorry, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Does it hurt to walk in those shoes?", ["note"]));
+	r.toNode("div");
+	r.push("N-no, Sir. I need the heels to walk. It's the chain between my nipples that hurts a little when I walk, Sir, and it bounces around. I was wincing, earlier, partly because I was bouncing around, and it hurt, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "And yet you orgasmed.", ["note"]));
+	r.toNode("div");
+	r.push("It's h-hard not to, Sir. I have a smart piercing that makes me orgasm, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Why do you need heels to walk?", ["note"]));
+	r.toNode("div");
+	r.push("Because my tendons have been clipped, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "What did you do?", ["note"]));
+	r.toNode("div");
+	r.push("Um, nothing, Sir? It wasn't a punishment, all slaves have their tendons clipped. The heels are a reward. If we're not good, we have to crawl, Sir.");
+	r.toNode("div");
+
+	r.push("[Walking.]");
+	r.toNode("p");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Was that fear I just saw?", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Why?", ["note"]));
+	r.toNode("div");
+	r.push("That's the main dairy ahead of us, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Is it open to the public?", ["note"]));
+	r.toNode("div");
+	r.push("T-t-to view, yes, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Follow me.", ["note"]));
+	r.toNode("div");
+	r.push("Y-yes, Sir. [sniff]");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "That is quite an impressive sight.", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Do you know how large they are?", ["note"]));
+	r.toNode("div");
+	r.push("Th-th-their breasts, Sir? About t-twenty or twenty five liters e-ea-each, S-Sir.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Why does this frighten you so much?", ["note"]));
+	r.toNode("div");
+	r.push("W-well, I'll, um, be put in here, Sir. Someday. Oh. [sniff]");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Why?", ["note"]));
+	r.toNode("div");
+	r.push("All slaves are p-put in h-here, when they're loose, Sir. All the, the, the", App.UI.DOM.makeElement("span", "sex,", ["note"]), "it's just to loosen us, s-so those", App.UI.DOM.makeElement("span", "things,", ["note"]), "will fit inside...");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span", "Guide to Modern Slavery, 2037 Edition", ["note"]));
+	r.toNode("div");
+	r.push("Appendix A, Interviews");
+	r.toNode("div");
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Mercenary, Arcology B-2", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Interview with a Free Cities mercenary");
- r.toNode("div");
- r.push("The Wild Goose, Arcology B-2, March 11, 2036");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Good evening.", ["note"]));
- r.toNode("div");
- r.push("No offense, but I only fuck girls.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","None taken, and I'm just looking for conversation.", ["note"]));
- r.toNode("div");
- r.push("'k, buy the next round and converse away.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Done. Fine to meet you. I'm touring the arcologies, writing a book. I'd like to ask you about life as a mercenary here in the Free Cities.", ["note"]));
- r.toNode("div");
- r.push("[laughs] Shit, I'm going to be famous.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","If you'd like to be. I'm W.G.; what's your name?", ["note"]));
- r.toNode("div");
- r.push("Well, W.G., I'll answer questions for your book, but I don't actually want to be famous. No names.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","That works fine for me. How did you become a mercenary?", ["note"]));
- r.toNode("div");
- r.push("I was a soldier, and the pay was shit, so instead of re-upping I went merc. Boring, but pretty common, believe me. Half the old world militaries are just merc training camps now. You enlist, and then you get out as soon as you have enough experience that a mercenary group'll take you on.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Did you have combat experience?", ["note"]));
- r.toNode("div");
- r.push("[laughs] You know your shit. No, no I did not. I wasn't even infantry. Dirty little secret you probably already know: if you're a girl, most merc groups don't give a fuck what experience you actually have, 'cause either way, they win.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","I think I understand, but lay it out for me.", ["note"]));
- r.toNode("div");
- r.push("If you're a good troop, you're a good troop and they come out ahead. Rifle don't care what equipment the merc holding it has. If you're not a good troop, they tie you up in a shipping container, use you 'till they get bored, and then sell you. And they come out ahead. Win-win.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You obviously came out on the right side of that, but did you suffer any abuse before then?", ["note"]));
- r.toNode("div");
- r.push("Nah. It'd be dumb to do anything to a newbie and then not enslave 'em. What, you're gonna rape somebody and then give 'em two-forty rounds, four frags, and a satchel charge? Fuck no.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","That's what you carry?", ["note"]));
- r.toNode("div");
- r.push("Yeah fuck that subject anyway. And yeah, when taking prisoners isn't on the agenda. I'm a big girl, I can manage eight mags in a double deck chest rig. If we are taking prisoners, then swap out half the frags for gas and half the mags for an underslung S. G. with beanbags and taser rounds. Though you never want to use any of that, nonlethals included.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Because you might damage the merchandise?", ["note"]));
- r.toNode("div");
- r.push("Because you might damage the merchandise. Did you know it's possible to burst an implant with a beanbag round? Well, it's possible to burst an implant with a beanbag round.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You know I have to ask about that now.", ["note"]));
- r.toNode("div");
- r.push("And I wouldn't have said it if I didn't want to tell the story. Not a long one anyway. Old world mob boss asshole with a moored yacht full of hoes, all tats and fake tits and shit. We went in quick without enough muscle and the guards resisted. Perfect op is, you go in so heavy that nobody resists, but it was rushed and we had to put 'em down. So all these bitches are running around screaming their heads off and we get the call that the police are coming. Didn't want to shoot it out with them since the tip came from a cop in the first place. So we had a couple of minutes to grab what we could and jet. So, beanbags, zipties, bodybags, and off — we — go, one hoe apiece.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","That sounds risky.", ["note"]));
- r.toNode("div");
- r.push("Yeah it was. I'm not some hothead who does shit like that for the rush. If you run that op once a week you're going to be dead inside a year. I found new employers not long after that one. Funny story and all, but if I hadn't gone with ceramic side plates in my vest that night I would have been fucked.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","This is a quieter outfit?", ["note"]));
- r.toNode("div");
- r.push("Much. Writer, I am now bored. And since I am drunk, and horny, and an incorrigible dyke, I am going to go find a cute slave with freckles and make her eat my pussy until I pass out. You want the other end?");
- r.toNode("div");
-
- r.toNode("p");
- r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span","Guide to Modern Slavery, 2037 Edition", ["note"]));
- r.toNode("div");
- r.push("Appendix A, Interviews");
- r.toNode("div");
+	const r = new SpacedTextAccumulator(t);
+	r.push("Interview with a Free Cities mercenary");
+	r.toNode("div");
+	r.push("The Wild Goose, Arcology B-2, March 11, 2036");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Good evening.", ["note"]));
+	r.toNode("div");
+	r.push("No offense, but I only fuck girls.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "None taken, and I'm just looking for conversation.", ["note"]));
+	r.toNode("div");
+	r.push("'k, buy the next round and converse away.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Done. Fine to meet you. I'm touring the arcologies, writing a book. I'd like to ask you about life as a mercenary here in the Free Cities.", ["note"]));
+	r.toNode("div");
+	r.push("[laughs] Shit, I'm going to be famous.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "If you'd like to be. I'm W.G.; what's your name?", ["note"]));
+	r.toNode("div");
+	r.push("Well, W.G., I'll answer questions for your book, but I don't actually want to be famous. No names.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "That works fine for me. How did you become a mercenary?", ["note"]));
+	r.toNode("div");
+	r.push("I was a soldier, and the pay was shit, so instead of re-upping I went merc. Boring, but pretty common, believe me. Half the old world militaries are just merc training camps now. You enlist, and then you get out as soon as you have enough experience that a mercenary group'll take you on.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Did you have combat experience?", ["note"]));
+	r.toNode("div");
+	r.push("[laughs] You know your shit. No, no I did not. I wasn't even infantry. Dirty little secret you probably already know: if you're a girl, most merc groups don't give a fuck what experience you actually have, 'cause either way, they win.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "I think I understand, but lay it out for me.", ["note"]));
+	r.toNode("div");
+	r.push("If you're a good troop, you're a good troop and they come out ahead. Rifle don't care what equipment the merc holding it has. If you're not a good troop, they tie you up in a shipping container, use you 'till they get bored, and then sell you. And they come out ahead. Win-win.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You obviously came out on the right side of that, but did you suffer any abuse before then?", ["note"]));
+	r.toNode("div");
+	r.push("Nah. It'd be dumb to do anything to a newbie and then not enslave 'em. What, you're gonna rape somebody and then give 'em two-forty rounds, four frags, and a satchel charge? Fuck no.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "That's what you carry?", ["note"]));
+	r.toNode("div");
+	r.push("Yeah fuck that subject anyway. And yeah, when taking prisoners isn't on the agenda. I'm a big girl, I can manage eight mags in a double deck chest rig. If we are taking prisoners, then swap out half the frags for gas and half the mags for an underslung S. G. with beanbags and taser rounds. Though you never want to use any of that, nonlethals included.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Because you might damage the merchandise?", ["note"]));
+	r.toNode("div");
+	r.push("Because you might damage the merchandise. Did you know it's possible to burst an implant with a beanbag round? Well, it's possible to burst an implant with a beanbag round.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You know I have to ask about that now.", ["note"]));
+	r.toNode("div");
+	r.push("And I wouldn't have said it if I didn't want to tell the story. Not a long one anyway. Old world mob boss asshole with a moored yacht full of hoes, all tats and fake tits and shit. We went in quick without enough muscle and the guards resisted. Perfect op is, you go in so heavy that nobody resists, but it was rushed and we had to put 'em down. So all these bitches are running around screaming their heads off and we get the call that the police are coming. Didn't want to shoot it out with them since the tip came from a cop in the first place. So we had a couple of minutes to grab what we could and jet. So, beanbags, zipties, bodybags, and off — we — go, one hoe apiece.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "That sounds risky.", ["note"]));
+	r.toNode("div");
+	r.push("Yeah it was. I'm not some hothead who does shit like that for the rush. If you run that op once a week you're going to be dead inside a year. I found new employers not long after that one. Funny story and all, but if I hadn't gone with ceramic side plates in my vest that night I would have been fucked.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "This is a quieter outfit?", ["note"]));
+	r.toNode("div");
+	r.push("Much. Writer, I am now bored. And since I am drunk, and horny, and an incorrigible dyke, I am going to go find a cute slave with freckles and make her eat my pussy until I pass out. You want the other end?");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span", "Guide to Modern Slavery, 2037 Edition", ["note"]));
+	r.toNode("div");
+	r.push("Appendix A, Interviews");
+	r.toNode("div");
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Slave Trainer, Arcology D-10", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push("Interview and observation with a Free Cities slave trainer");
- r.toNode("div");
- r.push("Slave Market training plaza, Arcology D-10, May 23, 2036");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span", "Good morning! I'm Lawrence, W.G. Lawrence.", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","Hello. Nice to meet you. I'm Claudia.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span", "I'd like to thank you for being willing to have me along as an observer; it's very kind of you.", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","My pleasure. I do good work and I don't mind people knowing it.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span", "May I ask you a few questions before you get back to your routine?", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","Sure. We're going to be working with a new slave today, and I've got her in my office, sitting and thinking. There's no rush. Unpredictability is good.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","What got you into this career?", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","Well, I'm an ex-slave. I served my Mistress, the owner of this arcology, for three years. But I'm getting things out of order. I was a Sister before that. That's a very long story. Do you want to get into that? Every single Sister has the same story. [laughs] That's the beauty of it.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","That's all right. You mentioned before that you'd like to be known for what you're doing now.", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","Yeah. I'm not ashamed of any of it, and I wouldn't be where I am without it, but I'm my own woman now.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","And you became your own woman after retiring from slavery here?", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","I did, yes. It was bittersweet, but it was time. Mistress prefers young ladies.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You keep referring to her as Mistress. Is that leftover conditioning?", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","[laughs] No, no, that's just what I call her, you know? She'll always be my Mistress in a way. And again, I'm here because she retires her girls incredibly well.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","What was your role with her?", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","I was her Head Girl, for my last year with her, at least. Before that, her Head Girl's girl. That Head Girl was a Sister, too. I can introduce you, if you'd like; she's a trainer here too. We work together sometimes.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Was that a blush?", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","Okay, okay! We spend time together after work sometimes, too. Anyway, slave training. Come with me, my office is back this way.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Who are you training today?", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","New slave, just bought her from the kidnappers yesterday. Pretty average. Mid-twenties, student then housewife. Decent tits, but too chubby. We'll work on that. And here we are.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Impressive office, even from the outside.", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","Thanks. So, she's in there. Room's soundproof, she can't hear us. Here's how I'd like to play this: just stay out of the light, and you can observe as long as you like. She's under a spotlight, and everything else is dark. She probably won't even know you're there.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","That would work very well, thank you.", ["bold"]));
- r.toNode("div");
- r.push(App.UI.DOM.makeElement("span","You're welcome. After you.", ["note"]));
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Hello, Suzanne.", ["note"]));
- r.toNode("div");
- r.push("H-hi, Ma'am.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Stand up.", ["note"]));
- r.toNode("div");
- r.push("Yes, Ma'am. Um, Ma'am, may I please have my pants back? They took them away in the market, and I thought since you gave my sweater back, you'd -");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Be quiet.", ["note"]));
- r.toNode("div");
- r.push("Yes, Ma'am.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Hold your hands at your sides like I told you, and stop pulling your sweater down over your pussy.", ["note"]));
- r.toNode("div");
- r.push("Y-yes, Ma'am.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Turn around.", ["note"]));
- r.toNode("div");
- r.push("Yes, Ma'am.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Do you like having your big fat naked butt hanging out, bitch?", ["note"]));
- r.toNode("div");
- r.push("Yes, Ma — aaAAH! Oh, ow, oh my God, ow -");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Be quiet. That was a 2. Your collar goes to 10.", ["note"]));
- r.toNode("div");
- r.push("[sobbing] Yes, Ma'am.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You just lied to me. I will ask again: do you like having your big fat naked butt hang out?", ["note"]));
- r.toNode("div");
- r.push("N-no, Ma'am.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Take your sweater off. Good bitch. That's right, blush for me. Now, tear it in half.", ["note"]));
- r.toNode("div");
- r.push("What!? Oh please, no, please no, I'll do it! Please don't shock me again, Ma'am! [frantic tearing]");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","You don't need clothes, bitch. Not anymore. Now, turn back around, and bend over.", ["note"]));
- r.toNode("div");
- r.push("Yes, Ma'am.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Spread your big fat buttcheeks.", ["note"]));
- r.toNode("div");
- r.push("Yes, Ma'am.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Ever had a cock up your butthole, Suzie?", ["note"]));
- r.toNode("div");
- r.push("[sobbing]");
- r.toNode("div");
-
- r.toNode("p");
- r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span","Guide to Modern Slavery, 2037 Edition", ["note"]));
- r.toNode("div");
- r.push("Appendix A, Interviews");
- r.toNode("div");
+	const r = new SpacedTextAccumulator(t);
+	r.push("Interview and observation with a Free Cities slave trainer");
+	r.toNode("div");
+	r.push("Slave Market training plaza, Arcology D-10, May 23, 2036");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Good morning! I'm Lawrence, W.G. Lawrence.", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Hello. Nice to meet you. I'm Claudia.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "I'd like to thank you for being willing to have me along as an observer; it's very kind of you.", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "My pleasure. I do good work and I don't mind people knowing it.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "May I ask you a few questions before you get back to your routine?", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Sure. We're going to be working with a new slave today, and I've got her in my office, sitting and thinking. There's no rush. Unpredictability is good.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "What got you into this career?", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Well, I'm an ex-slave. I served my Mistress, the owner of this arcology, for three years. But I'm getting things out of order. I was a Sister before that. That's a very long story. Do you want to get into that? Every single Sister has the same story. [laughs] That's the beauty of it.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "That's all right. You mentioned before that you'd like to be known for what you're doing now.", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Yeah. I'm not ashamed of any of it, and I wouldn't be where I am without it, but I'm my own woman now.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "And you became your own woman after retiring from slavery here?", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "I did, yes. It was bittersweet, but it was time. Mistress prefers young ladies.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You keep referring to her as Mistress. Is that leftover conditioning?", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "[laughs] No, no, that's just what I call her, you know? She'll always be my Mistress in a way. And again, I'm here because she retires her girls incredibly well.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "What was your role with her?", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "I was her Head Girl, for my last year with her, at least. Before that, her Head Girl's girl. That Head Girl was a Sister, too. I can introduce you, if you'd like; she's a trainer here too. We work together sometimes.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Was that a blush?", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Okay, okay! We spend time together after work sometimes, too. Anyway, slave training. Come with me, my office is back this way.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Who are you training today?", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "New slave, just bought her from the kidnappers yesterday. Pretty average. Mid-twenties, student then housewife. Decent tits, but too chubby. We'll work on that. And here we are.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Impressive office, even from the outside.", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Thanks. So, she's in there. Room's soundproof, she can't hear us. Here's how I'd like to play this: just stay out of the light, and you can observe as long as you like. She's under a spotlight, and everything else is dark. She probably won't even know you're there.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "That would work very well, thank you.", ["bold"]));
+	r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "You're welcome. After you.", ["note"]));
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Hello, Suzanne.", ["note"]));
+	r.toNode("div");
+	r.push("H-hi, Ma'am.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Stand up.", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Ma'am. Um, Ma'am, may I please have my pants back? They took them away in the market, and I thought since you gave my sweater back, you'd -");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Be quiet.", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Ma'am.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Hold your hands at your sides like I told you, and stop pulling your sweater down over your pussy.", ["note"]));
+	r.toNode("div");
+	r.push("Y-yes, Ma'am.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Turn around.", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Ma'am.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Do you like having your big fat naked butt hanging out, bitch?", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Ma — aaAAH! Oh, ow, oh my God, ow -");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Be quiet. That was a 2. Your collar goes to 10.", ["note"]));
+	r.toNode("div");
+	r.push("[sobbing] Yes, Ma'am.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You just lied to me. I will ask again: do you like having your big fat naked butt hang out?", ["note"]));
+	r.toNode("div");
+	r.push("N-no, Ma'am.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Take your sweater off. Good bitch. That's right, blush for me. Now, tear it in half.", ["note"]));
+	r.toNode("div");
+	r.push("What!? Oh please, no, please no, I'll do it! Please don't shock me again, Ma'am! [frantic tearing]");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "You don't need clothes, bitch. Not anymore. Now, turn back around, and bend over.", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Ma'am.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Spread your big fat buttcheeks.", ["note"]));
+	r.toNode("div");
+	r.push("Yes, Ma'am.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Ever had a cock up your butthole, Suzie?", ["note"]));
+	r.toNode("div");
+	r.push("[sobbing]");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span", "Guide to Modern Slavery, 2037 Edition", ["note"]));
+	r.toNode("div");
+	r.push("Appendix A, Interviews");
+	r.toNode("div");
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addArticle("Monarch, Arcology F-8", function() {
 	const t = new DocumentFragment();
- const r = new SpacedTextAccumulator(t);
- r.push(`Interview with a Free Cities "anarcho-monarch"`);
- r.toNode("div");
- r.push("Arcological Penthouse, Arcology F-8, June 23, 2036");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Good afternoon. My name is -", ["note"]));
- r.toNode("div");
- r.push("(From Guard) You will address His Highness with proper courtesy, peasant.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Ah, my apologies. What I meant to say was, your Majesty, my name is W.G. Lawrence, and I'd like to interview you about this arcology, and your role in leading it. Err, for my book, your Highness.", ["note"]));
- r.toNode("div");
- r.push("A scribe. Well, speak quickly. I am a busy man.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Of course. Just for the record, might you introduce yourself?", ["note"]));
- r.toNode("div");
- r.push("(Gestures to a guard.)");
- r.toNode("div");
- r.push("(From Guard) You are speaking with His Highness King William, First of His name, Savior of the Arcology, Executive Lord and Master of the Board of Directors, Majority Shareholder and Anarcho-Monarch of the most noble Arcology of Feight.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Yes, yes, right, quite a magnificent title. Might I ask how it came to be that a Monarch took control of a Free City? Isn't strong authority antithetical to the free cities ideal?", ["note"]));
- r.toNode("div");
- r.push("[laughs] Not a monarch, an anarcho-monarch. I did not earn my titles through bullying or force, and certainly not through inheriting it from some decrepit geriatric moron like in the old world. I am the legitimate majority stakeholder of the arcology and the rightful head of its board of directors. My rule is strong because I am strong. Were I to become weak, my position would be ousted and the people would take my place directly.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Is that what the 'anarcho' means?", ["note"]));
- r.toNode("div");
- r.push("Mmm. I do not simply rule the people. I am the people.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","But you dictate laws down to them - isn't that mutally contradictory?", ["note"]));
- r.toNode("div");
- r.push("No. Peasants do not understand how to govern themselves. Look at the 'pure' anarchies outside our walls, scribe, and you'll see men tearing each other apart for scraps on a bone or a chance with an emaciated crack-whore. Without a strong force to bind a society in place, society falls apart entirely. If my people dislike paying my rents or obeying my Knights, they are free to leave, and take their chances in the ruins of the Old World.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","So your majority ownership and management of the arcology gives you the right to control its populace, who live under the laws you set, and if they disagree with your, ah, symbolic totality, their only option is to leave?", ["note"]));
- r.toNode("div");
- r.push("Now you understand.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Alright. Well, what about the lesser nobles? The Counts and Barons and Knights of the arcology?", ["note"]));
- r.toNode("div");
- r.push("What about them?");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","Why do they have the right to authority in your free society?", ["note"]));
- r.toNode("div");
- r.push("They are my representatives. To be a Knight is to have my personal trust to act in my name, wherever I cannot be. I am the fountain from which all authority stems. So long as my water flows pure, all steps of the fountain remain clear.");
- r.toNode("div");
-
- r.toNode("p");
- r.push(App.UI.DOM.makeElement("span","What about corruption? Doesn't giving so much power to entrenched nobility make it more likely that -", ["note"]));
- r.toNode("div");
- r.push("(From Guard) Alright, that's enough out of you. The King has better things to do than explain his policies all day. Let's go.");
- r.toNode("div");
-
- r.toNode("p");
- r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span","Guide to Modern Slavery, 2037 Edition", ["note"]));
- r.toNode("div");
- r.push("Appendix A, Interviews");
- r.toNode("div");
+	const r = new SpacedTextAccumulator(t);
+	r.push(`Interview with a Free Cities "anarcho-monarch"`);
+	r.toNode("div");
+	r.push("Arcological Penthouse, Arcology F-8, June 23, 2036");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Good afternoon. My name is -", ["note"]));
+	r.toNode("div");
+	r.push("(From Guard) You will address His Highness with proper courtesy, peasant.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Ah, my apologies. What I meant to say was, your Majesty, my name is W.G. Lawrence, and I'd like to interview you about this arcology, and your role in leading it. Err, for my book, your Highness.", ["note"]));
+	r.toNode("div");
+	r.push("A scribe. Well, speak quickly. I am a busy man.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Of course. Just for the record, might you introduce yourself?", ["note"]));
+	r.toNode("div");
+	r.push("(Gestures to a guard.)");
+	r.toNode("div");
+	r.push("(From Guard) You are speaking with His Highness King William, First of His name, Savior of the Arcology, Executive Lord and Master of the Board of Directors, Majority Shareholder and Anarcho-Monarch of the most noble Arcology of Feight.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Yes, yes, right, quite a magnificent title. Might I ask how it came to be that a Monarch took control of a Free City? Isn't strong authority antithetical to the free cities ideal?", ["note"]));
+	r.toNode("div");
+	r.push("[laughs] Not a monarch, an anarcho-monarch. I did not earn my titles through bullying or force, and certainly not through inheriting it from some decrepit geriatric moron like in the old world. I am the legitimate majority stakeholder of the arcology and the rightful head of its board of directors. My rule is strong because I am strong. Were I to become weak, my position would be ousted and the people would take my place directly.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Is that what the 'anarcho' means?", ["note"]));
+	r.toNode("div");
+	r.push("Mmm. I do not simply rule the people. I am the people.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "But you dictate laws down to them - isn't that mutally contradictory?", ["note"]));
+	r.toNode("div");
+	r.push("No. Peasants do not understand how to govern themselves. Look at the 'pure' anarchies outside our walls, scribe, and you'll see men tearing each other apart for scraps on a bone or a chance with an emaciated crack-whore. Without a strong force to bind a society in place, society falls apart entirely. If my people dislike paying my rents or obeying my Knights, they are free to leave, and take their chances in the ruins of the Old World.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "So your majority ownership and management of the arcology gives you the right to control its populace, who live under the laws you set, and if they disagree with your, ah, symbolic totality, their only option is to leave?", ["note"]));
+	r.toNode("div");
+	r.push("Now you understand.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Alright. Well, what about the lesser nobles? The Counts and Barons and Knights of the arcology?", ["note"]));
+	r.toNode("div");
+	r.push("What about them?");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "Why do they have the right to authority in your free society?", ["note"]));
+	r.toNode("div");
+	r.push("They are my representatives. To be a Knight is to have my personal trust to act in my name, wherever I cannot be. I am the fountain from which all authority stems. So long as my water flows pure, all steps of the fountain remain clear.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push(App.UI.DOM.makeElement("span", "What about corruption? Doesn't giving so much power to entrenched nobility make it more likely that -", ["note"]));
+	r.toNode("div");
+	r.push("(From Guard) Alright, that's enough out of you. The King has better things to do than explain his policies all day. Let's go.");
+	r.toNode("div");
+
+	r.toNode("p");
+	r.push("— Lawrence, W. G.,", App.UI.DOM.makeElement("span", "Guide to Modern Slavery, 2037 Edition", ["note"]));
+	r.toNode("div");
+	r.push("Appendix A, Interviews");
+	r.toNode("div");
 
 	return t;
 }, "Lore");
 
 App.Encyclopedia.addCategory("Lore", function() {
- const f = new DocumentFragment();
- let r = [];
- if (V.encyclopedia !== "Lore") {
-  r.push(App.Encyclopedia.Dialog.linkDOM("Lore"));
- }
- r.push(App.Encyclopedia.Dialog.linkDOM("Money", "Money", "yellowgreen"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Food"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Disease in the Free Cities"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Free Cities Justice"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Modern Anal"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Slave Couture"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Slave Marriage"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Ejaculate Market"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Gingering"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Dyes"));
- App.Events.addNode(f, ["The Free Cities today:", App.UI.DOM.generateLinksStrip(r)], "div");
-
- r = [];
- r.push(App.Encyclopedia.Dialog.linkDOM("The New Rome"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Return of Feudalism"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Naked, Barefoot, and Pregnant"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Sons of Sekhmet"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Top"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Bottom"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Purity of the Human Form"));
- r.push(App.Encyclopedia.Dialog.linkDOM("A World Built on Implants"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Slaves as Stock"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Slavery and the Physical Ideal"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Faith in the Free Cities"));
- App.Events.addNode(f, ["Free Cities culture tomorrow:", App.UI.DOM.generateLinksStrip(r)], "div");
-
- r = [];
- r.push(App.Encyclopedia.Dialog.linkDOM("Slave Whore, Arcology K-2"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Slave Acolyte, Arcology V-7"));
- if (V.seeExtreme !== 0) {
-  r.push(App.Encyclopedia.Dialog.linkDOM("Public Slave, Arcology A-3"));
- }
- r.push(App.Encyclopedia.Dialog.linkDOM("Mercenary, Arcology B-2"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Slave Trainer, Arcology D-10"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Monarch, Arcology F-8"));
- App.Events.addNode(f, ["Interviews:", App.UI.DOM.generateLinksStrip(r)], "div");
-
- return f;
+	const f = new DocumentFragment();
+	let r = [];
+	if (V.encyclopedia !== "Lore") {
+		r.push(App.Encyclopedia.Dialog.linkDOM("Lore"));
+	}
+	r.push(App.Encyclopedia.Dialog.linkDOM("Money", "Money", "yellowgreen"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Food"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Disease in the Free Cities"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Free Cities Justice"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Modern Anal"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slave Couture"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slave Marriage"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Ejaculate Market"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Gingering"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Dyes"));
+	App.Events.addNode(f, ["The Free Cities today:", App.UI.DOM.generateLinksStrip(r)], "div");
+
+	r = [];
+	r.push(App.Encyclopedia.Dialog.linkDOM("The New Rome"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Return of Feudalism"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Naked, Barefoot, and Pregnant"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Sons of Sekhmet"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Top"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Bottom"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Purity of the Human Form"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("A World Built on Implants"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slaves as Stock"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slavery and the Physical Ideal"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Faith in the Free Cities"));
+	App.Events.addNode(f, ["Free Cities culture tomorrow:", App.UI.DOM.generateLinksStrip(r)], "div");
+
+	r = [];
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slave Whore, Arcology K-2"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slave Acolyte, Arcology V-7"));
+	if (V.seeExtreme !== 0) {
+		r.push(App.Encyclopedia.Dialog.linkDOM("Public Slave, Arcology A-3"));
+	}
+	r.push(App.Encyclopedia.Dialog.linkDOM("Mercenary, Arcology B-2"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slave Trainer, Arcology D-10"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Monarch, Arcology F-8"));
+	App.Events.addNode(f, ["Interviews:", App.UI.DOM.generateLinksStrip(r)], "div");
+
+	return f;
 });
diff --git a/src/gui/Encyclopedia/encyclopediaMods.js b/src/gui/Encyclopedia/encyclopediaMods.js
index 600145ee8e60cf54bc49e523bfeba8817b7b13c6..1ef8346bdd6bf4edc9b3c08d7e82fcd710cc598c 100644
--- a/src/gui/Encyclopedia/encyclopediaMods.js
+++ b/src/gui/Encyclopedia/encyclopediaMods.js
@@ -8,7 +8,7 @@ App.Encyclopedia.addArticle("Loli Mode", function() {
 
 App.Encyclopedia.addArticle("Special Force", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push(App.Encyclopedia.topic("NOTE: The Special Force is an optional mod, and as such will only be initialized in-game if it is enabled at game start or in the options menu."));
 	r.toNode("p");
 
@@ -63,7 +63,7 @@ App.Encyclopedia.addArticle("Special Force", function() {
 
 App.Encyclopedia.addArticle("Security Expansion", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push(App.Encyclopedia.topic("Note: The Security Expansion mod is an optional mod. It can be switched freely on and off from the game option menu or at the start of the game."));
 	r.toNode("div");
 
@@ -76,7 +76,7 @@ App.Encyclopedia.addArticle("Security Expansion", function() {
 	r.toNode("p");
 	App.Events.addNode(f, [App.UI.DOM.appendNewElement("div", f, "Authority", ["darkviolet", "strong"]), "represents the power the player holds over the arcology. If", App.Encyclopedia.Dialog.linkDOM("reputation", "Arcologies and Reputation", "green"), "is how well the protagonist is known,", App.UI.DOM.appendNewElement("div", f, "authority", ["darkviolet"]), "is how much is feared or respected.", "Authority influences many things, but it is mainly used to enact edicts, who, similarly to policies, allow to shape the sociopolitical profile of your arcology. Like", App.Encyclopedia.Dialog.linkDOM("reputation", "Arcologies and Reputation", "green"), ",", App.UI.DOM.appendNewElement("div", f, "authority", ["darkviolet"]), `has a maximum of ${num(20000)}.`], "div", ["indent"]);
 	App.Events.addNode(f, [App.UI.DOM.appendNewElement("div", f, "Security", ["deepskyblue", "strong"]), "represents how safe the arcology is, how likely it is for a citizen to get stabbed, killed or simply mugged in the streets as well as wider concerns like dangerous political organizations, terrorist groups and more. It influences many things, but its main task is to combat", App.UI.DOM.appendNewElement("div", f, "crime", ["orangered"])], "div", ["indent"]);
-	App.Events.addNode(f, [App.UI.DOM.appendNewElement("div", f, "Crime", ["orangered", "strong"]), "represents the accumulated power of criminals in the arcology. Rather than representing low level criminal activity, better represented by", App.UI.DOM.appendNewElement("div", f, "security", ["deepskyblue"]), "(or better lack of), but the influence, organization and reach of criminal organizations, be it classic mafia families or high tech hacker groups. Do not let their power run rampant or you'll find your treasury emptier and emptier. Both", App.UI.DOM.appendNewElement("div", f, "security", ["deepskyblue"]), "and",App.UI.DOM.appendNewElement("div", f, "crime", ["orangered"]), "are displayed a 0-100% scale."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.appendNewElement("div", f, "Crime", ["orangered", "strong"]), "represents the accumulated power of criminals in the arcology. Rather than representing low level criminal activity, better represented by", App.UI.DOM.appendNewElement("div", f, "security", ["deepskyblue"]), "(or better lack of), but the influence, organization and reach of criminal organizations, be it classic mafia families or high tech hacker groups. Do not let their power run rampant or you'll find your treasury emptier and emptier. Both", App.UI.DOM.appendNewElement("div", f, "security", ["deepskyblue"]), "and", App.UI.DOM.appendNewElement("div", f, "crime", ["orangered"]), "are displayed a 0-100% scale."], "div", ["indent"]);
 
 	r.push("The battles:");
 	r.toNode("p");
@@ -95,7 +95,7 @@ App.Encyclopedia.addArticle("Security Expansion", function() {
 
 App.Encyclopedia.addArticle("Battles", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("With the Security Expansion mod enabled there is a small chance each week that an attacking force will be approaching the arcology. Their motives may vary, but their intentions are clear: hit you where it hurts.");
 	r.push("You arcology will start being the subject of incursions only when the", App.Encyclopedia.Dialog.linkDOM("security drones", "Security Drones"), "upgrade has been installed.");
 	r.toNode("div");
@@ -198,7 +198,7 @@ App.Encyclopedia.addArticle("Battles", function() {
 	r.toNode("div");
 	App.UI.DOM.appendNewElement("div", f, "Do note however there is the possibility of getting wounded, which makes you unable to focus on any task for a few weeks.", ["indent"]);
 
-	r.push("Your", App.Encyclopedia.topic("Bodyguard"), "or", App.Encyclopedia.topic("Your Head Girl"), "can guide the troops.")
+	r.push("Your", App.Encyclopedia.topic("Bodyguard"), "or", App.Encyclopedia.topic("Your Head Girl"), "can guide the troops.");
 	r.push("Their performance will greatly depend on their intelligence and past.");
 	r.push("Be aware that both slaves run the risk of getting wounded, potentially with grave wounds like blindness or limb loss.");
 	r.push("Slaves will be happy to be lead by one of them, but militia and mercenaries will not, unless your own authority is high enough to make up for the fact they are being lead by a slave.");
@@ -222,7 +222,7 @@ App.Encyclopedia.addArticle("Battles", function() {
 
 App.Encyclopedia.addArticle("FCTV", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("Free Cities TV, or", App.Encyclopedia.topic("FCTV"), "as it is more commonly called, is a very popular streaming video service. A venture started not long after the first Free Cities were founded, it took advantage of the new lack of regulatory oversight to create and host content that had long been banned in the old world. Under the guidance of 8HGG Inc., FCTV has developed into a popular mixed-mode service, with a variety of live streaming channels as well as a large selection of ready stream content ranging from hyper porn to contemporary broadcast series shows.");
 	r.toNode("div");
 	r.push("The successful service is largely supported by a combination of subscription and advertising revenue, and to a smaller extent on-demand content payments. Though still targeted at free citizens — or their slaves in the case of for-slave content — FCTV has become very popular in the old world. A combination of the service's eroticism, extreme content, and high production value has given it extraordinary popularity. Savvy execs at 8HGG Inc. and arcology owners alike have realized the benefits of exposing the old world populations to FCTV content, and a carefully-curated selection of content is kept available to old-worlders thanks to revenue from advertisements supporting immigration and voluntary enslavement. The content selection has a glamorized and often romanticized view of slavery, and typically displays common citizens and slaves alike living in opulence beyond the realm of possibility for most old-worlders.");
@@ -235,7 +235,7 @@ App.Encyclopedia.addArticle("FCTV", function() {
 
 App.Encyclopedia.addArticle("Lolis and the Free Cities", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("For the most part, the greater world condemns those using underaged girls as sex slaves, but some Free Cities feel otherwise. In those, underage girls may be purchased like any other slave, though they might be more valuable depending on the arcology.");
 	r.toNode("div");
 
@@ -244,7 +244,7 @@ App.Encyclopedia.addArticle("Lolis and the Free Cities", function() {
 
 App.Encyclopedia.addArticle("Fertility Age", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("The normal girl will undergo puberty and become fertile between the ages of 10 and 14, though with hormonal treatments can very easily become fertile earlier. Given the passive female hormones in the slave food, an arcology cluster can practically control the exact age a girl will become fertile.");
 	r.toNode("div");
 
@@ -253,7 +253,7 @@ App.Encyclopedia.addArticle("Fertility Age", function() {
 
 App.Encyclopedia.addArticle("Male Fertility", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("The normal boy will undergo puberty and become potent between the ages of 12 and 16, though with hormonal treatments can very easily become potent earlier. Given the passive female hormones in the slave food, boys will generally become fertile later than the average loli, though with the careful application of hormones, the potency age can practically be controlled.");
 	r.toNode("div");
 
@@ -262,7 +262,7 @@ App.Encyclopedia.addArticle("Male Fertility", function() {
 
 App.Encyclopedia.addArticle("Precocious Puberty", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("While most girls will grow fertile around $fertilityAge and most boys will become virile around $potencyAge, the mass prevalence of male and female hormones in the Free Cities can have extreme effects on a developing slave's puberty. Hormone injections and hormonal based drugs can lead to early puberty or even delay it indefinitely, something some trainers use to their advantage in keeping their male slaves soft and feminine.");
 	r.toNode("div");
 
@@ -271,7 +271,7 @@ App.Encyclopedia.addArticle("Precocious Puberty", function() {
 
 App.Encyclopedia.addArticle("Cradle Robbers", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("A specialized group of slavers focusing entirely on capturing girls that have not had their first period. Disliked in many arcologies, they only appear before those they feel they can", App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "as being sympathetic to their views.");
 	r.toNode("div");
 
@@ -280,7 +280,7 @@ App.Encyclopedia.addArticle("Cradle Robbers", function() {
 
 App.Encyclopedia.addArticle("The Incubation Facility", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("A facility used to rapidly age children kept within its aging tanks using a combination of growth hormones, accelerants, stem cells and other chemicals; slaves that come out of it are rarely healthy. The Incubator requires a massive amount of electricity to run, though once powered contains a battery backup that can last at least a day. It can be upgraded to combat malnutrition and thinness caused by a body growing far beyond any natural rate. Hormones can also be added to encourage puberty and even sex organ development. Growth control systems include cost saving overrides, though enabling them may result in bloated, sex crazed slaves barely capable of moving.");
 	r.toNode("div");
 
@@ -289,10 +289,10 @@ App.Encyclopedia.addArticle("The Incubation Facility", function() {
 
 App.Encyclopedia.addArticle("FCTV Receiver", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("While nearly indistinguishable from a standard satellite antenna, the satellite dish used to receive FCTV-Citizen content is special because of the unique FCTV Receiver.");
 	r.push("Utilizing the latest in matched-pair quantum encryption, it is the only device capable of decrypting and encrypting your arcology-specific FCTV content communication.");
-	r.push("Simple additions to your arcology's existing fiber optics extend the", App.Encyclopedia.Dialog.linkDOM("FCTV") ,"network to your citizens.");
+	r.push("Simple additions to your arcology's existing fiber optics extend the", App.Encyclopedia.Dialog.linkDOM("FCTV"), "network to your citizens.");
 	r.push("In exchange for bearing the cost of the encrypted network, arcology owners get a certain level of control over available content for cultural purposes, and also discounted rates for local advertisement.");
 	r.toNode("div");
 	r.push("Some owners choose to have their citizens subsidize the installation: having them pay for fiber to their residence, or possibly even charging for a portion of the receiver. FCTV service experts warn that forcing citizens to bear too much of the cost usually results in angry citizens and many citizens who refuse to pay for access to the service. They suggest that it is in the best interests of FCTV and arcology owners alike to have greater service penetration, as low penetration results in less revenue for 8HGG Inc. and less advertising and cultural benefits for owners.");
@@ -303,7 +303,7 @@ App.Encyclopedia.addArticle("FCTV Receiver", function() {
 
 App.Encyclopedia.addArticle("Catmod", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("Catmod is an optional modification that focuses on, surprise surprise, adding catgirls to the game. However, as you might have noticed, Free Cities is based on our own universe, and, unfortunately, catgirls don't actually exist. So how is one to acquire fuckable cats in a world sadly devoid of them? Well, multi-million dollar genetic engineering projects, of course! After a massive investment in your genelab and the best old world engineers available, you too will be able to create your very own inhuman abominations of science with cute, twitchy ears and button noses. Catgirls contain a number of mechanical changes and unique features, many of which you will have to find out for yourself through your exciting journey through the world of scientific malpractice. Worth noting for mechanical purposes, however, is that the", App.UI.DOM.makeElement("span", "Feline", ["note"]), "face type is only found on catgirls, and has a similar effect to exotic faces; uglier feline faces are dramatically worse, while beautiful feline faces are significantly better from a beauty perspective.");
 	r.toNode("div");
 
@@ -312,7 +312,7 @@ App.Encyclopedia.addArticle("Catmod", function() {
 
 App.Encyclopedia.addArticle("Catgirls", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("Part of humanity's dream for thousands of years. As far back as the Ancient Egyptians, humans have looked at the sleek and smug nature of cats, and imagined them as tall, busty catgirls with which they could fornicate. Yet all those men and women of the past lacked the capability to make their dreams come true; you, on the other hand, do not. While the process to splice human and cat DNA, whether you take from common housecats or the more dangerous coding of lion or panther genetics, will undoubtedly be arduous and expensive, the end result of a sleek, dexterous, inhumanly flexible creature that can wrap its tail around your throat as you fuck it is perhaps enough of a prize to make the difficulties worth it. To get started on engineering catgirls, you'll need to contact a team of genetic engineers from a fully upgraded genelab, and give them enough time and money to achieve results within your lab.");
 	r.toNode("div");
 
@@ -321,7 +321,7 @@ App.Encyclopedia.addArticle("Catgirls", function() {
 
 App.Encyclopedia.addArticle("Bioengineering", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("With the technological advancements of 2037, society stands on the precipice of truly transhumanist biological engineering. Those with the will and the resources to get what they want, meaning you, are now uniquely capable of taking the fundamental code of DNA and using it as a building block to create and reshape biology as they desire. That doesn't mean the process of genetic engineering is going to be easy or simple; at minimum, you'll need a fully upgraded genelab and a team of professional, world-class scientists with the resources of a small nation at their disposal to get what you want. But once you've put all the pieces in place, the possibilities that can emerge from your engineering tubes are nearly endless.");
 	r.toNode("div");
 
@@ -330,7 +330,7 @@ App.Encyclopedia.addArticle("Bioengineering", function() {
 
 App.Encyclopedia.addArticle("Inflation", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("Future room for lore text");
 	r.toNode("div", ["note"]);
 
@@ -342,7 +342,7 @@ App.Encyclopedia.addArticle("Inflation", function() {
 
 App.Encyclopedia.addArticle("Hyper-Pregnancy", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push(App.Encyclopedia.topic("Hyper Pregnancy"), "refers to when a slave is carrying ten or more children in one pregnancy. It is largely unhealthy for a slave, and can lead to immobilization and even death, so be sure to keep your overfilled slaves happy and healthy. Due to the size of the pregnancy, a slaves abdomen is greatly stretched, causing it to sag after the pregnancy is complete. Surgery, time, or refilling the slave's belly will eliminate sag, if only temporary. Only achievable via powerful fertility agents researched through the dispensary.");
 	r.toNode("div");
 
@@ -351,7 +351,7 @@ App.Encyclopedia.addArticle("Hyper-Pregnancy", function() {
 
 App.Encyclopedia.addArticle("Super Fertility Drugs", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push(App.Encyclopedia.topic("Super Fertility Drugs"), "practically guarantee a slave will bear multiple children, and when combined with female hormones, will generally lead to hyper-pregnancy The also have the side effects of inducing lactation, increasing sex drive, and increasing attraction to men. Researched through the dispensary.");
 	r.toNode("div");
 
@@ -360,19 +360,19 @@ App.Encyclopedia.addArticle("Super Fertility Drugs", function() {
 
 App.Encyclopedia.addArticle("Pregnancy Generator", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("The", App.Encyclopedia.topic("Pregnancy Generator"), "is a small implant inserted into a slave's womb where it anchors itself and begins pumping the slave full of drugs and hormones with the intent to trick the slave's body into believing it both is and isn't pregnant. The slave's body will begin constantly releasing ovum that, once fertilized, will embed themselves into the uterine lining and begin growing. This will continue for as long as the implant is in place, regardless of how large the slave grows with children. Once the first set of infants is born, the implanted slave will give birth nearly a dozen times per week as her body continuously produces new offspring. Will likely lead to the slave's early death as her body will be consumed to feed her unending brood. Researched through the implant manufactory.");
 	r.toNode("div");
 
 	r.push("Extreme content must be enabled.");
-	r.toNode("div", ["yellow"])
+	r.toNode("div", ["yellow"]);
 
 	return f;
 }, "Mods");
 
 App.Encyclopedia.addArticle("Childbirth and C-Secs", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("Eventually a pregnant slave will need to give birth. Cesarean sections are an option should a slave's health not permit a safe natural birth, or should a slaveowner want to keep her from being stretched out by her newborn child. A healthy, well rested slave, with wide hips and some knowledge will generally find childbirth easy. Though poor health, tiredness, narrow hips, anorexia, tight vaginas, excessively young motherhood, and lack of experience can complicate things, potentially leading to the loss of both child and mother.");
 	r.toNode("div");
 
@@ -381,7 +381,7 @@ App.Encyclopedia.addArticle("Childbirth and C-Secs", function() {
 
 App.Encyclopedia.addArticle("Surrogacy", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push(App.Encyclopedia.topic("Surrogacy"), "is an arrangement whereby a woman agrees or is forced to become pregnant, carry the pregnancy to due term, and give birth to a child or children, all of this for another person or persons, who are or will ultimately become the parent(s) of the newborn child or children. There are two types of surrogacies: traditional and gestational (full). Traditional is mostly used by homosexual couples or if fertility treatments are too expensive. With the exception of societies that embraced Repopulationism or Gender Fundamentalism, full surrogacy is popular among free women, who want children, but don't want pregnancy to impact their careers or physical attributes. It created a market of living incubators — perfectly healthy slaves of safe age for carrying pregnancies with often little to no skills necessary for most other slaves.");
 	r.toNode("div");
 
@@ -390,7 +390,7 @@ App.Encyclopedia.addArticle("Surrogacy", function() {
 
 App.Encyclopedia.addArticle("Ova Transplantation", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push(App.Encyclopedia.topic("Ova transplantation"), "is a procedure where an already fertilized ova is transplanted from one womb to another of the same species. It requires a remote surgery to perform and an advanced pregnancy monitoring systems to locate the egg, confirm the fertilization and determine that it happened less than four weeks ago, so that the ova is not too attached to the lining. Optimally the new host must be healthy and must not be already pregnant with large number of fetuses or hit menopause, but be old enough to carry children successfully.");
 	r.toNode("div");
 
@@ -399,7 +399,7 @@ App.Encyclopedia.addArticle("Ova Transplantation", function() {
 
 App.Encyclopedia.addArticle("Enemas and Force-Feeding", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("With the proper supplies ordered into your wardrobe, you can distend a slave's belly via enema leaving her notably rounded. Distended slaves are likely to feel discomfort, and if overfilled, face health complications. A standard enema is about 2 liters, though the adventurous may test their limits with a gallon, roughly 4 liters, or nearly burst themselves with a staggering 2 gallons, about 8 liters.");
 	r.toNode("div");
 
@@ -427,7 +427,7 @@ App.Encyclopedia.addArticle("Enemas and Force-Feeding", function() {
 
 App.Encyclopedia.addArticle("Belly Implants", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("A fillable implant inserted into a slave's uterus following tube tying to prevent ovulation. Can safely be filled with 200cc each week to simulate a growing pregnancy. However, if kept at a full term size (or higher), the slave's body may adjust to the implant causing issues upon removal. Also to note, a slave that lacks a uterus to hold the implant can still be implanted; invasive surgery will be preformed to create a pocket to safely hold the implant without damage to the slave's internals.");
 	r.toNode("div");
 
@@ -436,7 +436,7 @@ App.Encyclopedia.addArticle("Belly Implants", function() {
 
 App.Encyclopedia.addArticle("Player Pregnancy", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("Sexual intercourse ending with ejaculation into a fertile cunt ends with a chance of pregnancy. Since arcology owners are expected to be masculine, being pregnant ruins that image. Female arcology owners displaying their pregnancies should expect to face public backlash for it. Luckily, pregnancies are easily prevented via contraceptives and easily dealt with via abortions; a pregnant arcology owner has plenty of means to maintain their image before it becomes a problem.");
 	r.toNode("div");
 
@@ -445,7 +445,7 @@ App.Encyclopedia.addArticle("Player Pregnancy", function() {
 
 App.Encyclopedia.addArticle("Cervix Micropump Filter", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("An implant inserted into a slave's cervix and linked with a fillable belly implant. Converts a portion of semen into usable filler and pumps said substance into the attached implant resulting in a slow, steady increase in size. Once the pressure in the implant reaches a set threshold, filler is outputted by the pump, maintaining the implant's size. Research is currently underway to see if the tubing can be effectively extended to pump filler into fillable butt and breast implants.");
 	r.toNode("div");
 
@@ -454,7 +454,7 @@ App.Encyclopedia.addArticle("Cervix Micropump Filter", function() {
 
 App.Encyclopedia.addArticle("Eugenics Breeding Proposal", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("Eugenics frowns on reproducing with the lower classes, but what about those with good genes that ended up caught in said classes? Would it not make sense to use them as breeders? With the Eugenics Breeding Proposal*, one can propose the use of well-bred slaves as bearers of societies finest children. *Success not guaranteed, some terms and conditions may apply, ask your local Elites for more information.");
 	r.toNode("div");
 
@@ -463,7 +463,7 @@ App.Encyclopedia.addArticle("Eugenics Breeding Proposal", function() {
 
 App.Encyclopedia.addArticle("Gestation Drugs and Labor Suppressants", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("Not all drugs are applied directly to your slavegirl. In this case, gestation accelerants and retardants are passed through the mother into her unborn children to control the rate of fetal growth. While slightly unhealthy for the mother, gestation slowing drugs are relatively harmless, though an unwilling mother may become more distraught when she realizes her pregnancy will last even longer. Due to the extended duration of the pregnancy, the mother's body may become accustomed to being so round, leading towards a sagging middle once birth occurs. On the other hand, gestation hastening drugs are extremely dangerous to the mother. It is strongly recommended to keep her under the observation and care of an experienced doctor or nurse. Failure to do so will cause her body to struggle to keep up with the rate of growth of her children, harming her physical and mental health, as well as potentially bursting her uterus later in her pregnancy. Labor suppressants are exactly that; they prevent the mother from entering labor, thus allowing the child to grow longer than a normal pregnancy. Excessive use may lead to health complications, especially during childbirth, though going even further may result in the slave's body suddenly entering labor and rapidly birthing her children, often without giving the slave time to prepare or even get undressed.");
 	r.toNode("div");
 
@@ -472,7 +472,7 @@ App.Encyclopedia.addArticle("Gestation Drugs and Labor Suppressants", function()
 
 App.Encyclopedia.addArticle("Organic Mesh Breast Implant", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("A specialized organic implant produced from the dispensary designed to be implanted into to a slave's natural breast tissue to maintain a slave's breast shape no matter how big her breasts may grow. An expensive and risky procedure proportional to the size of the breasts the mesh will be implanted into. Should health become an issue, the slave in surgery may undergo an emergency mastectomy. Furthermore, once implanted, the mesh cannot be safely removed from the breast. However, total breast removal will rid the slave of the implant; consider strongly when and if you want to implant the mesh before doing so. They are exceedingly difficult to identify once bound to the breast tissue, and combined with their natural shape, are often overlooked.");
 	r.toNode("div");
 
@@ -481,7 +481,7 @@ App.Encyclopedia.addArticle("Organic Mesh Breast Implant", function() {
 
 App.Encyclopedia.addArticle("Repopulationist Breeding School", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("With the sheer number of children being brought into the world in the average Repopulationist society, society had to come up with a way to rear them all. Breeding schools are publicly funded institutions devoted to raising children into future breeders. Their hormone levels are carefully managed both to encourage early puberty and to maximize fertility. Once a class has become sexual active, boys and girls are encouraged to pair off and explore each other's bodies. Virginities are quickly lost, and more often than not, girls find themselves pregnant, usually with multiples. The pairings, or groups should females outnumber males, are encouraged to stay together and form caring family-like units. In addition, girls are taught to enjoy and idolize motherhood, while boys are taught that it is their duty to mount and fuck any non-gravid slave girls they see until pregnancy is assured. Free women are encouraged to avoid the schools, lest they get pinned and gang raped by horny adolescents. While administration respects rape fetishists and their desire to have a rape baby, doing this sets a poor example to the impressionable youths and may lead to the rape and impregnation of other free women later on in their lives.");
 	r.toNode("div");
 
@@ -490,7 +490,7 @@ App.Encyclopedia.addArticle("Repopulationist Breeding School", function() {
 
 App.Encyclopedia.addArticle("Slave Fertility", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push(`When it comes to breeding your slaves, one must ask themselves; "Do I want a single child, or do I want to get her so pregnant she can barely ride me any longer?"`);
 	r.toNode("div");
 	r.push("Under normal circumstances, a slave will likely bear a single child from a pregnancy, but with a little extra help from a number of fertility boosting methods, that count can easily be pushed higher. While each fertility agent will only add a chance of an additional ovum, combining treatments will yield a cumulative effect, greatly enhancing the likelihood of multiples. One must exercise caution, however, as a slave's body can only support so many offspring without complications. Miscarriage, discarded embryos, and even slave death are all possible with excessive misuse of fertility agents.");
@@ -501,7 +501,7 @@ App.Encyclopedia.addArticle("Slave Fertility", function() {
 
 App.Encyclopedia.addArticle("Fertility Mix", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("A simple dietary blend designed to encourage ovulation. Fertile slaves will find themselves subconsciously lusting for loads of cum blasting into their pussies and, once they give in to temptation, will likely find their bellies swelling with twins or even triplets.");
 	r.toNode("div");
 
@@ -510,7 +510,7 @@ App.Encyclopedia.addArticle("Fertility Mix", function() {
 
 App.Encyclopedia.addArticle("Breeders Dietary Blend", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("When it comes to slave breeding, the natural chance of conception is just too low for your profit margins. The Breeder's Dietary Blend is the end result of the quest to enhance fertility* and potency in slaves. Sperm will live longer and swim harder, eggs will readily implant post fertilization, and pregnancies will be robust and healthy. This diet tweak guarantees your slaves will be a reproductive bunch or your", App.Encyclopedia.Dialog.linkDOM("money", "Money", "yellowgreen"), "back!**");
 	r.toNode("p");
 
@@ -524,7 +524,7 @@ App.Encyclopedia.addArticle("Breeders Dietary Blend", function() {
 
 App.Encyclopedia.addArticle("Artificial Insemination", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("A simple surgical procedure involving the injection of harvested sperm into a fertile womb. Useful for assuring the conception of a child of the desired union, impregnation without sexual intercourse, circumventing physical and mental quirks in copulation, or just finding the perfect Virgin Mary for the holidays.");
 	r.toNode("div");
 
@@ -533,7 +533,7 @@ App.Encyclopedia.addArticle("Artificial Insemination", function() {
 
 App.Encyclopedia.addArticle("Cloning", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push(`A surgical procedure requiring the gene lab that injects the DNA of an individual into an viable egg cell which is then carried to term in a fertile womb. Will create a child with the basic physical traits of the person they are cloned from. While clones will likely be identical to each other, they are unlikely to bear more than a passing resemblance to the person their DNA was harvested from; for that to occur, they would need to be raised in almost the same way. They will, however, be a genetic match with their "parent".`);
 	r.toNode("div");
 
@@ -542,10 +542,10 @@ App.Encyclopedia.addArticle("Cloning", function() {
 
 App.Encyclopedia.addArticle("Inbreeding", function() {
 	const f = new DocumentFragment();
- const r = new SpacedTextAccumulator(f);
+	const r = new SpacedTextAccumulator(f);
 	r.push("At the intersection of incest and pregnancy lies inbreeding. As seen in royal families throughout history, high levels of inbreeding can result in severe issues, often manifesting as facial deformities or reduced intellectual capacity.");
 	r.toNode("div");
-	
+
 	r.push("One metric for quantifying inbreeding is the coefficient of inbreeding (CoI), which is the probability that both copies of a person's genes come from the same common ancestor.");
 	r.push("For example, without any previous inbreeding a child from self-fertilization has a CoI of 0.5, a child of two full siblings has a CoI of 0.25, and a child of two first cousins has a CoI of 0.0625.");
 	r.toNode("p");
diff --git a/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw b/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw
index 95d1e05199a362ed54e52c31f4cf77bbd46acfa9..26ea52d1f77b37d032b12229b368822a745f68c2 100644
--- a/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw
+++ b/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw
@@ -24,20 +24,6 @@ SLAVE SKILLS
 	| <<= App.Encyclopedia.Dialog.linkSC("Whoring Skill", "Whoring Skill")>>
 	| <<= App.Encyclopedia.Dialog.linkSC("Career Experience", "Career Experience")>>
 
-/**********
-SLAVE FETISHES:
-**********/
-<<case "Boob Fetishists" "Buttsluts" "Cumsluts" "Doms" "Fetishes" "Humiliation Fetishists" "Masochists" "Pregnancy Fetishists" "Sadists" "Submissives">>
-	<<= App.Encyclopedia.Dialog.linkSC("Boob Fetishists", "Boob Fetishists")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Buttsluts", "Buttsluts")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Cumsluts", "Cumsluts")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Doms", "Doms")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Humiliation Fetishists", "Humiliation Fetishists")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Masochists", "Masochists")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Pregnancy Fetishists", "Pregnancy Fetishists")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Sadists", "Sadists")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Submissives", "Submissives")>>
-
 /**********
 SLAVE PARAPHILIAS
 **********/
diff --git a/src/gui/Encyclopedia/encyclopediaSlaveFlaws.js b/src/gui/Encyclopedia/encyclopediaSlaveFlaws.js
index 00616393bb0e86b20f8970f7340d73f3624ad04f..b0799bee2dc39a4a2c1770f8c9453ccc8a368817 100644
--- a/src/gui/Encyclopedia/encyclopediaSlaveFlaws.js
+++ b/src/gui/Encyclopedia/encyclopediaSlaveFlaws.js
@@ -33,7 +33,7 @@ App.Encyclopedia.addArticle("Arrogant", function() {
 	r.push("In addition to the standard penalties to value and performance on sexual assignments, weekly", App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "gains are limited.");
 	r.toNode("div");
 
- r.toNode("div");
+	r.toNode("div");
 
 	return f;
 }, "slaveFlaws");
@@ -42,10 +42,10 @@ App.Encyclopedia.addArticle("Bitchy", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
 	r.push(App.UI.DOM.makeElement("span", "Bitchy", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "that can be softened into the");
-		r.push(App.Encyclopedia.Dialog.linkDOM("cutting"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "."));
-		r.push("The", App.Encyclopedia.Dialog.linkDOM("humiliation", "Humiliation Fetishists"), "fetish fetish can do this naturally.");
-		r.push("In addition to the standard penalties to value and performance on sexual assignments, weekly", App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "gains are limited.");
-		r.toNode("div");
+	r.push(App.Encyclopedia.Dialog.linkDOM("cutting"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "."));
+	r.push("The", App.Encyclopedia.Dialog.linkDOM("humiliation", "Humiliation Fetishists"), "fetish fetish can do this naturally.");
+	r.push("In addition to the standard penalties to value and performance on sexual assignments, weekly", App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "gains are limited.");
+	r.toNode("div");
 
 	return f;
 }, "slaveFlaws");
@@ -57,7 +57,7 @@ App.Encyclopedia.addArticle("Devout", function() {
 	r.push(App.Encyclopedia.Dialog.linkDOM("sinful"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "."));
 	r.push("A very powerful sex drive can do this naturally.");
 	r.push("In addition to the standard penalties to value and performance on sexual assignments, weekly", App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "gains are limited.");
- r.toNode("div");
+	r.toNode("div");
 
 	return f;
 }, "slaveFlaws");
@@ -68,7 +68,7 @@ App.Encyclopedia.addArticle("Gluttonous", function() {
 	r.push(App.UI.DOM.makeElement("span", "Gluttonous", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "that can be softened into the");
 	r.push(App.Encyclopedia.Dialog.linkDOM("fitness"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "."));
 	r.push("In addition to the standard penalties to value and performance on sexual assignments, gluttons will enjoy gaining weight but dislike dieting, and may bilk attempts to make them lose weight.");
- r.toNode("div");
+	r.toNode("div");
 
 	return f;
 }, "slaveFlaws");
@@ -81,7 +81,7 @@ App.Encyclopedia.addArticle("Hates men", function() {
 	r.push("a good", App.Encyclopedia.Dialog.linkDOM("Attendant"), ", a powerful sex drive, or the", App.Encyclopedia.Dialog.linkDOM("boob fetish.", "Boob Fetishists"));
 	r.push("Strong attraction to men or the", App.Encyclopedia.Dialog.linkDOM("pregnancy fetish", "Pregnancy Fetishists"), "will soften it so she", App.Encyclopedia.Dialog.linkDOM("adores men"), "instead.");
 	r.push("This flaw can also be removed by serving a player character or another slave with a dick.");
- r.toNode("div");
+	r.toNode("div");
 
 	return f;
 }, "slaveFlaws");
@@ -94,7 +94,7 @@ App.Encyclopedia.addArticle("Hates women", function() {
 	r.push("a good", App.Encyclopedia.Dialog.linkDOM("Attendant"), ", a powerful sex drive, or the", App.Encyclopedia.Dialog.linkDOM("cumslut", "Cumsluts"), "fetish.");
 	r.push("Strong attraction to women or the", App.Encyclopedia.Dialog.linkDOM("pregnancy fetish", "Pregnancy Fetishists"), "will soften it so she", App.Encyclopedia.Dialog.linkDOM("Adores women"), "instead.");
 	r.push("This flaw can also be removed by serving a player character or another slave with a vagina.");
- r.toNode("div");
+	r.toNode("div");
 
 	return f;
 }, "slaveFlaws");
@@ -106,7 +106,7 @@ App.Encyclopedia.addArticle("Liberated", function() {
 	r.push(App.Encyclopedia.Dialog.linkDOM("advocate"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "."));
 	r.push("The", App.Encyclopedia.Dialog.linkDOM("submissive", "Submissives"), "fetish can do this naturally.");
 	r.push("In addition to the standard penalties to value and performance on sexual assignments, weekly", App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "gains are limited.");
- r.toNode("div");
+	r.toNode("div");
 
 	return f;
 }, "slaveFlaws");
@@ -239,7 +239,7 @@ App.Encyclopedia.addCategory("slaveFlaws", function() {
 	r.push(App.Encyclopedia.Dialog.linkDOM("Liberated"));
 	r.push(App.Encyclopedia.Dialog.linkDOM("Odd"));
 	App.Events.addNode(f, ["Behavioral ", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Flaws"), ":"), App.UI.DOM.generateLinksStrip(r)], "div");
- 
+
 	r = [];
 	r.push(App.Encyclopedia.Dialog.linkDOM("Apathetic"));
 	r.push(App.Encyclopedia.Dialog.linkDOM("Crude"));
diff --git a/src/gui/Encyclopedia/encyclopediaSlaveLeaders.js b/src/gui/Encyclopedia/encyclopediaSlaveLeaders.js
index 7d61715f93f00ab4d2e120188ffd24f827c0fa8a..40a99f394d47b284d666e31fff6a0c9288c8da11 100644
--- a/src/gui/Encyclopedia/encyclopediaSlaveLeaders.js
+++ b/src/gui/Encyclopedia/encyclopediaSlaveLeaders.js
@@ -1,446 +1,427 @@
 App.Encyclopedia.addArticle("Leadership Positions", function() {
-  const r = new DocumentFragment();
-  App.Events.addParagraph(r, ["Slave assignments are stratified into ordinary", App.Encyclopedia.Dialog.linkDOM("assignments", "Slave Assignments"), "and leadership positions."]);
-  r.append("Choose a more particular entry below:");
+	const r = new DocumentFragment();
+	App.Events.addParagraph(r, ["Slave assignments are stratified into ordinary", App.Encyclopedia.Dialog.linkDOM("assignments", "Slave Assignments"), "and leadership positions."]);
+	r.append("Choose a more particular entry below:");
 
-  return r;
+	return r;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Career Experience", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const devotion = (text="devotion") => link(text, "From Rebellious to Devoted", "hotpink");
-  const trust = (text="trust") => link(text, "Trust", "mediumaquamarine");
-  /** @type {[string, HTMLElement, string, string?][]} */
-  const careerData = [
-	["Grateful", trust(), "grateful"],
-	["Menial", devotion() , "menial"],
-	["Servant", link("keeping your estate", "Servitude"), "servant"],
-	["Entertainment", link("public service", "Public Service"), "entertainment", "If a slave has a lot of entertainment experience, she can qualify for this bonus without career experience."],
-	["Sex work", link("whoring"), "entertainment", "If a slave is very sexually experienced, she can qualify for this bonus without career experience."],
-	["Leadership", link("Head Girl"), "HG"],
-	["Procuring", link("Madam"), "madam"],
-	["Musical", link("DJ"), "DJ"],
-	["Defensive", link("Bodyguard"), "bodyguard"],
-	["Convincing", link("Recruiter"), "recruiter"],
-	["Security", link("Wardeness"), "wardeness"],
-	["Medical", link("Nurse"), "nurse"],
-	["Counseling", link("Attendant"), "attendant"],
-	["Nannying", link("Matron"), "matron"],
-	["Accounting", link("Stewardess"), "stewardess"],
-	["Husbandry", link("Milkmaid"), "milkmaid"],
-	["Farming", link("Farmer"), "farmer"],
-	["Teaching", link("Schoolteacher"), "schoolteacher"],
-  ];
-  const t = new DocumentFragment();
-  const r = [];
-
-  t.append("Slaves may retain useful experience from their lives before enslavement. Freedom and slavery are so different that the bonuses slaves get are minor. Careers fall into categories, each with its own bonus; these are:");
-  for (const [boldItem, bonus, career, note] of careerData) {
-	  App.Events.addParagraph(t, [CareerBonus(boldItem, bonus, career, note)]);
-  }
-  r.push("Slaves who have been in slavery long enough that it is effectively their career get a bonus to", devotion("devotion."));
-  r.push("Slaves can forget their career experience in an industrialized Dairy, but if they do so and remain sane, they will get a special bonus to both", devotion(), "and", trust("trust."));
-  App.Events.addParagraph(t, r);
-
-  App.Events.addParagraph(t, ["Facility heads and working slaves can gain work experience to provide the same benefit as having a relevant career. Intelligence is the deciding factor in how long this will take, brilliant slaves can achieve this ideally in about fourteen weeks, while borderline retarded slaves can take up two hundred weeks (Assuming that the slave's intelligence doesn't change at all and the dice roll is consistent)."]);
-
-  return t;
-
-  /**
-  * @param {string} career
-  * @param {HTMLElement} bonus
-  * @param {string} list
-  * @param {string} [note]
-  */
-  function CareerBonus(career, bonus, list, note) {
-    const r = new SpacedTextAccumulator();
-    const notLeader = ["Grateful", "Menial", "Servant", "Entertainment", "Sex work"].includes(career);
-    const applicable = notLeader ? App.Data.Careers.General[list] : App.Data.Careers.Leader[list];
-
-    r.push(App.UI.DOM.makeElement("span", career, ["underline"]), `which offers a ${career === "Grateful" || career === "Menial" ? 'potential' : ''} bonus to`, bonus, `includes slaves who were: ${toSentence(applicable)}.`);
-    r.toNode("div");
-    if (note) {
-      r.push(note);
-      r.toNode("div");
-    }
-    return r.container();
-  }
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const devotion = (text = "devotion") => link(text, "From Rebellious to Devoted", "hotpink");
+	const trust = (text = "trust") => link(text, "Trust", "mediumaquamarine");
+	/** @type {[string, HTMLElement, string, string?][]} */
+	const careerData = [["Grateful", trust(), "grateful"], ["Menial", devotion(), "menial"], ["Servant", link("keeping your estate", "Servitude"), "servant"], ["Entertainment", link("public service", "Public Service"), "entertainment", "If a slave has a lot of entertainment experience, she can qualify for this bonus without career experience."], ["Sex work", link("whoring"), "entertainment", "If a slave is very sexually experienced, she can qualify for this bonus without career experience."], ["Leadership", link("Head Girl"), "HG"], ["Procuring", link("Madam"), "madam"], ["Musical", link("DJ"), "DJ"], ["Defensive", link("Bodyguard"), "bodyguard"], ["Convincing", link("Recruiter"), "recruiter"], ["Security", link("Wardeness"), "wardeness"], ["Medical", link("Nurse"), "nurse"], ["Counseling", link("Attendant"), "attendant"], ["Nannying", link("Matron"), "matron"], ["Accounting", link("Stewardess"), "stewardess"], ["Husbandry", link("Milkmaid"), "milkmaid"], ["Farming", link("Farmer"), "farmer"], ["Teaching", link("Schoolteacher"), "schoolteacher"],];
+	const t = new DocumentFragment();
+	const r = [];
+
+	t.append("Slaves may retain useful experience from their lives before enslavement. Freedom and slavery are so different that the bonuses slaves get are minor. Careers fall into categories, each with its own bonus; these are:");
+	for (const [boldItem, bonus, career, note] of careerData) {
+		App.Events.addParagraph(t, [CareerBonus(boldItem, bonus, career, note)]);
+	}
+	r.push("Slaves who have been in slavery long enough that it is effectively their career get a bonus to", devotion("devotion."));
+	r.push("Slaves can forget their career experience in an industrialized Dairy, but if they do so and remain sane, they will get a special bonus to both", devotion(), "and", trust("trust."));
+	App.Events.addParagraph(t, r);
+
+	App.Events.addParagraph(t, ["Facility heads and working slaves can gain work experience to provide the same benefit as having a relevant career. Intelligence is the deciding factor in how long this will take, brilliant slaves can achieve this ideally in about fourteen weeks, while borderline retarded slaves can take up two hundred weeks (Assuming that the slave's intelligence doesn't change at all and the dice roll is consistent)."]);
+
+	return t;
+
+	/**
+	 * @param {string} career
+	 * @param {HTMLElement} bonus
+	 * @param {string} list
+	 * @param {string} [note]
+	 */
+	function CareerBonus(career, bonus, list, note) {
+		const r = new SpacedTextAccumulator();
+		const notLeader = ["Grateful", "Menial", "Servant", "Entertainment", "Sex work"].includes(career);
+		const applicable = notLeader ? App.Data.Careers.General[list] : App.Data.Careers.Leader[list];
+
+		r.push(App.UI.DOM.makeElement("span", career, ["underline"]), `which offers a ${career === "Grateful" || career === "Menial" ? 'potential' : ''} bonus to`, bonus, `includes slaves who were: ${toSentence(applicable)}.`);
+		r.toNode("div");
+		if (note) {
+			r.push(note);
+			r.toNode("div");
+		}
+		return r.container();
+	}
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Attendant", function() {
-  const t = new DocumentFragment();
-  const r = [];
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const goodAttendant = [link("submissiveness", "Submissives"), "have a calm libido", "appear older than 35", "a motherly air", App.UI.DOM.makeElement("span", "intelligent", ["cyan"]), "naturally female."];
+	const t = new DocumentFragment();
+	const r = [];
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const goodAttendant = [link("submissiveness", "Submissives"), "have a calm libido", "appear older than 35", "a motherly air", App.UI.DOM.makeElement("span", "intelligent", ["cyan"]), "naturally female."];
 
-  r.push("An", App.UI.DOM.makeElement("span", "Attendant", ["bold"]), "can be selected once the", link("Spa"), "facility has been built.");
-  r.push("Attendants provide emotional help to slaves in the spa, and can also soften flaws and even fix mindbroken slaves.");
-  r.push("Good Attendants are free of:", link("fetishes"), "or", App.UI.DOM.toSentence(goodAttendant));
-  App.Events.addNode(t, r, "div");
+	r.push("An", App.UI.DOM.makeElement("span", "Attendant", ["bold"]), "can be selected once the", link("Spa"), "facility has been built.");
+	r.push("Attendants provide emotional help to slaves in the spa, and can also soften flaws and even fix mindbroken slaves.");
+	r.push("Good Attendants are free of:", link("fetishes"), "or", App.UI.DOM.toSentence(goodAttendant));
+	App.Events.addNode(t, r, "div");
 
-  return t;
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Matron", function() { // TODO: will still need more updating
-  const t = new DocumentFragment();
-  const r = [];
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const goodMatron = [link("caring"), link("funny"), link("intelligent", "Intelligence"), "has given birth before."];
+	const t = new DocumentFragment();
+	const r = [];
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const goodMatron = [link("caring"), link("funny"), link("intelligent", "Intelligence"), "has given birth before."];
 
-  r.push("A", App.UI.DOM.makeElement("span", "Matron", ["bold"]), "can be selected once the", link("Nursery"), "facility has been built.");
-  r.push("Matrons oversee the day-to-day activities of the Nursery, and can soften flaws of nannies working under them. A good Matron is:", App.UI.DOM.toSentence(goodMatron));
-  App.Events.addNode(t, r, "div");
+	r.push("A", App.UI.DOM.makeElement("span", "Matron", ["bold"]), "can be selected once the", link("Nursery"), "facility has been built.");
+	r.push("Matrons oversee the day-to-day activities of the Nursery, and can soften flaws of nannies working under them. A good Matron is:", App.UI.DOM.toSentence(goodMatron));
+	App.Events.addNode(t, r, "div");
 
-  return t;
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Bodyguard", function() {
-  const t = new DocumentFragment();
-  let r = [];
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const reduceDeadliness = [link("Big breasts", "Breasts"), link("butts"), link("poor health", "Health"), link("excess weight", "Weight"), link("pregnancy")];
-  const bodyguardTrainees = ["her lover or wife if she has one",	link("the Head Girl", "Head Girl"), link("the Wardeness", "Wardeness"), link("your Concubine.", "Concubine")];
-
-  App.UI.DOM.appendNewElement("div", t, "Slave bodyguards are best understood not as protection for a slaveowner's person, but rather as a projection of their skill at slave breaking.", ["note"]);
-
-  r.push("By giving a slave the means and position to easily kill her master, that master displays their total trust in them. The simple fact that an armed slave is near a slaveowner at all times is proof that that slaveowner has produced at least one slave that never wavers in her");
-  r.push(link("devotion.", "From Rebellious to Devoted", "hotpink"));
-  r.push("After all, if she ever wavered, the slaveowner would likely be dead.");
-  App.Events.addNode(t, r, "p", "note");
-
-  App.UI.DOM.appendNewElement("p", t, "It is obvious to any real security professional that slave bodyguards are mostly for show, from the moment of seeing one. After all, they are not equipped with modern sensors, armor, and weapons; if they were so attired and loaded down it would be quite impossible to tell if they were even female: the huge weight and bulk of modern combat gear gives an androgynous appearance. Instead, they are usually kept scantily clad or even naked, and armed with visually impressive weapons.", ["note"]);
-
-  App.UI.DOM.appendNewElement("p", t, "— Lawrence, W. G., Guide to Modern Slavery, 2037 Edition", ["note"]);
-
-  r = [];
-  r.push("A", App.UI.DOM.makeElement("span", "Bodyguard", ["bold"]));
-  r.push("can be selected once the Armory upgrade is purchased. Duties include protection of the player character during violent events; good bodyguards produce some");
-  r.push(link("reputation", "Arcologies and Reputation", "green"));
-  r.push("as well, based on how deadly they are.", "Toned but not excessive", link("muscles", "Musculature"));
-  r.push(link("combat skill", "Combat Skill"), "and", link("height"));
-  r.push("contribute to deadliness.");
-  r.push(App.UI.DOM.toSentence(reduceDeadliness), "all detract from deadliness.");
-  App.Events.addParagraph(t, r);
-
-  r = [];
-  r.push("Skilled", App.UI.DOM.makeElement("span", "intelligent", ["cyan"]), "and", link("devoted", "From Rebellious to Devoted", "hotpink"));
-  r.push("Bodyguards may become concerned that they have no potential successor if you do not keep several other combat capable slaves in your penthouse.");
-  r.push("Such a Bodyguard will do her best to find responsible and physically capable slaves to teach self defense to when she can.");
-  r.push("Potential recipients of this training include:", App.UI.DOM.toSentence(bodyguardTrainees));
-  App.Events.addNode(t, r, "div");
-
-  return t;
+	const t = new DocumentFragment();
+	let r = [];
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const reduceDeadliness = [link("Big breasts", "Breasts"), link("butts"), link("poor health", "Health"), link("excess weight", "Weight"), link("pregnancy")];
+	const bodyguardTrainees = ["her lover or wife if she has one", link("the Head Girl", "Head Girl"), link("the Wardeness", "Wardeness"), link("your Concubine.", "Concubine")];
+
+	App.UI.DOM.appendNewElement("div", t, "Slave bodyguards are best understood not as protection for a slaveowner's person, but rather as a projection of their skill at slave breaking.", ["note"]);
+
+	r.push("By giving a slave the means and position to easily kill her master, that master displays their total trust in them. The simple fact that an armed slave is near a slaveowner at all times is proof that that slaveowner has produced at least one slave that never wavers in her");
+	r.push(link("devotion.", "From Rebellious to Devoted", "hotpink"));
+	r.push("After all, if she ever wavered, the slaveowner would likely be dead.");
+	App.Events.addNode(t, r, "p", "note");
+
+	App.UI.DOM.appendNewElement("p", t, "It is obvious to any real security professional that slave bodyguards are mostly for show, from the moment of seeing one. After all, they are not equipped with modern sensors, armor, and weapons; if they were so attired and loaded down it would be quite impossible to tell if they were even female: the huge weight and bulk of modern combat gear gives an androgynous appearance. Instead, they are usually kept scantily clad or even naked, and armed with visually impressive weapons.", ["note"]);
+
+	App.UI.DOM.appendNewElement("p", t, "— Lawrence, W. G., Guide to Modern Slavery, 2037 Edition", ["note"]);
+
+	r = [];
+	r.push("A", App.UI.DOM.makeElement("span", "Bodyguard", ["bold"]));
+	r.push("can be selected once the Armory upgrade is purchased. Duties include protection of the player character during violent events; good bodyguards produce some");
+	r.push(link("reputation", "Arcologies and Reputation", "green"));
+	r.push("as well, based on how deadly they are.", "Toned but not excessive", link("muscles", "Musculature"));
+	r.push(link("combat skill", "Combat Skill"), "and", link("height"));
+	r.push("contribute to deadliness.");
+	r.push(App.UI.DOM.toSentence(reduceDeadliness), "all detract from deadliness.");
+	App.Events.addParagraph(t, r);
+
+	r = [];
+	r.push("Skilled", App.UI.DOM.makeElement("span", "intelligent", ["cyan"]), "and", link("devoted", "From Rebellious to Devoted", "hotpink"));
+	r.push("Bodyguards may become concerned that they have no potential successor if you do not keep several other combat capable slaves in your penthouse.");
+	r.push("Such a Bodyguard will do her best to find responsible and physically capable slaves to teach self defense to when she can.");
+	r.push("Potential recipients of this training include:", App.UI.DOM.toSentence(bodyguardTrainees));
+	App.Events.addNode(t, r, "div");
+
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Concubine", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const t = new DocumentFragment();
-  const r = [];
-
-  r.push("A", App.UI.DOM.makeElement("span", "Concubine", ["bold"]));
-  r.push("can be selected once the", link("Master Suite"), "facility is built.");
-  r.push("Concubines benefit from high beauty and sexual skills in the same way as public servants;");
-  r.push("they should also be extremely", link("devoted.", "From Rebellious to Devoted", "hotpink"));
-  r.push("Concubines do not apply any bonuses to other slaves in the", link("Master suite"), "rather,");
-  r.push ("they are the game's single most efficient production of", link("reputation", "Arcologies and Reputation", "green"), "themselves.");
-  App.Events.addNode(t, r, "div");
-
-  return t;
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const t = new DocumentFragment();
+	const r = [];
+
+	r.push("A", App.UI.DOM.makeElement("span", "Concubine", ["bold"]));
+	r.push("can be selected once the", link("Master Suite"), "facility is built.");
+	r.push("Concubines benefit from high beauty and sexual skills in the same way as public servants;");
+	r.push("they should also be extremely", link("devoted.", "From Rebellious to Devoted", "hotpink"));
+	r.push("Concubines do not apply any bonuses to other slaves in the", link("Master suite"), "rather,");
+	r.push("they are the game's single most efficient production of", link("reputation", "Arcologies and Reputation", "green"), "themselves.");
+	App.Events.addNode(t, r, "div");
+
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("DJ", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const t = new DocumentFragment();
-  let r = [];
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const t = new DocumentFragment();
+	let r = [];
 
-  r.push(`My name is Danni Diemen, and I'm here today to talk about the prettiest girls in the Free Cities. That's right, DJs! When a slave bitch says, "Sweetie, I'm not that kind of girl," she's lying. She's a slave, and she is that kind of girl! So, have your way with her.`);
-  App.Events.addNode(t, r, "p", "note");
+	r.push(`My name is Danni Diemen, and I'm here today to talk about the prettiest girls in the Free Cities. That's right, DJs! When a slave bitch says, "Sweetie, I'm not that kind of girl," she's lying. She's a slave, and she is that kind of girl! So, have your way with her.`);
+	App.Events.addNode(t, r, "p", "note");
 
-  r = [];
-  r.push("Except if she's a DJ. Then she probably isn't that kind of girl after all! Rare, I know. That's what makes them so hot! Some of the Free Cities' most prominent slaveowners have taken sluttery to the next level. They're building clubs designed around constant beats and constant sex, so it pays to have a hot girl maintain the party, whether it's up on stage, in the DJ booth, or down on the floor!");
-  App.Events.addNode(t, r, "p", "note");
+	r = [];
+	r.push("Except if she's a DJ. Then she probably isn't that kind of girl after all! Rare, I know. That's what makes them so hot! Some of the Free Cities' most prominent slaveowners have taken sluttery to the next level. They're building clubs designed around constant beats and constant sex, so it pays to have a hot girl maintain the party, whether it's up on stage, in the DJ booth, or down on the floor!");
+	App.Events.addNode(t, r, "p", "note");
 
-  r = [];
-  r.push("As for what makes a good DJ, beauty is obvious. But I also I hear the best trend a little older, too. Let's be honest, there's something a high-class woman has that a high-class girl doesn't.");
-  App.Events.addNode(t, r, "p", "note");
+	r = [];
+	r.push("As for what makes a good DJ, beauty is obvious. But I also I hear the best trend a little older, too. Let's be honest, there's something a high-class woman has that a high-class girl doesn't.");
+	App.Events.addNode(t, r, "p", "note");
 
-  r = [];
-  r.push("— Van Diemen, D. C. G.,", App.UI.DOM.makeElement("span", "Free Cities Fashion (FCF), January 2032", ["note"]));
-  App.Events.addNode(t, r, "p", "note");
+	r = [];
+	r.push("— Van Diemen, D. C. G.,", App.UI.DOM.makeElement("span", "Free Cities Fashion (FCF), January 2032", ["note"]));
+	App.Events.addNode(t, r, "p", "note");
 
-  r = [];
-  r.push("A", App.UI.DOM.makeElement("span", "DJ", ["bold"]));
-  r.push("can be selected once the", link("Club"), "facility is built.");
-  r.push("DJs apply a multiplier to", link("reputation", "Arcologies and Reputation", "green"), "gains from serving in the club.");
-  r.push("Entertainment skills, toned but not massive", link("muscles", "Musculature"), App.UI.DOM.makeElement("span", "intelligence", ["cyan"]), "and a pretty face make a good DJ.");
-  App.Events.addParagraph(t, r);
+	r = [];
+	r.push("A", App.UI.DOM.makeElement("span", "DJ", ["bold"]));
+	r.push("can be selected once the", link("Club"), "facility is built.");
+	r.push("DJs apply a multiplier to", link("reputation", "Arcologies and Reputation", "green"), "gains from serving in the club.");
+	r.push("Entertainment skills, toned but not massive", link("muscles", "Musculature"), App.UI.DOM.makeElement("span", "intelligence", ["cyan"]), "and a pretty face make a good DJ.");
+	App.Events.addParagraph(t, r);
 
-  r = []
-  r.push("If a DJ isn't responsible for enough sluts to occupy her full time, she'll spend time fucking citizens herself. This is exactly the same as", link("Public Service"), "out of the Club: she'll benefit from any", link("Advertising"), "or", link("Variety"), "bonuses available, and will even benefit from her own leadership skills.");
-  App.Events.addNode(t, r, "div");
+	r = [];
+	r.push("If a DJ isn't responsible for enough sluts to occupy her full time, she'll spend time fucking citizens herself. This is exactly the same as", link("Public Service"), "out of the Club: she'll benefit from any", link("Advertising"), "or", link("Variety"), "bonuses available, and will even benefit from her own leadership skills.");
+	App.Events.addNode(t, r, "div");
 
-  return t;
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Farmer", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const t = new DocumentFragment();
-  let r = [];
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const t = new DocumentFragment();
+	let r = [];
 
-  r.push("A", App.UI.DOM.makeElement("span", "Farmer", ["bold"]), "can be selected once the", link("Farmyard"), "facility is built.");
-  r.push("Having applicable", link("career experience", "Career Experience"), "and strong", link("muscles", "Musculature"), "allow a Farmer to maintain the different crops and animals.");
-  App.Events.addNode(t, r, "div");
+	r.push("A", App.UI.DOM.makeElement("span", "Farmer", ["bold"]), "can be selected once the", link("Farmyard"), "facility is built.");
+	r.push("Having applicable", link("career experience", "Career Experience"), "and strong", link("muscles", "Musculature"), "allow a Farmer to maintain the different crops and animals.");
+	App.Events.addNode(t, r, "div");
 
-  App.Events.addNode(t, ["This description needs to be expanded."], "div", "note");
+	App.Events.addNode(t, ["This description needs to be expanded."], "div", "note");
 
-  return t;
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Head Girl", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const devotion = (text="devotion", colour="hotpink") => link(text, "From Rebellious to Devoted", colour);
-  const trust = (text="trust") => link(text, "Trust", "mediumaquamarine");
-  const t = new DocumentFragment();
-  let r = [];
-
-  r.push("Most Free Cities slaveowners eventually find it convenient to promote a", trust("trusting"), "slave to a position over others.");
-  r.push("The stable of slaves necessary to present a proper public image has become so large that assistance managing and overseeing slaves is quite useful.");
-  r.push("In addition, such a slave can be an example to lesser livestock.");
-  App.Events.addNode(t, r, "div", "note");
-
-  r = [];
-  r.push("A good Head Girl will be", devotion("devoted"), "to her master and sexually skilled.");
-  r.push("Experienced slaveowners have also found that an older slave girl is often more effective than a young one.");
-  r.push("Since slavery is new, older slave girls will have spent part of their adult lives as free women, and have a deeper body of life experience to draw on.");
-  App.Events.addNode(t, r, "p", "note");
-
-  r = [];
-  r.push("Naturally, some slaveowners form a strong emotional bond with their Head Girl.");
-  r.push(trust("Trusting"), "and relying on a close companion can begin to resemble old world relationships.");
-  r.push("It is a paradox of modern Free Cities life that such closeness is strongly frowned upon.");
-  r.push("Rumors that a prominent person is emotionally involved with his or her Head Girl can be as socially devastating as rumors of infidelity were a hundred years ago.");
-  App.Events.addNode(t, r, "p", "note");
-
-  App.Events.addNode(t, ["— Lawrence, W. G., Guide to Modern Slavery, 2037 Edition"], "p", "note");
-
-  r = [];
-  r.push("A", App.UI.DOM.makeElement("span", "Head Girl", ["bold"]));
-  r.push("can be selected from among your", devotion("devoted"), "slaves immediately.");
-  r.push("Duties are numerous, but mostly involve training slaves.");
-  r.push("They will generally train whichever girls they think appropriate, but can be given some direction on the same menu used to select one.");
-  r.push("Giving your", link("Head Girl a suite", "Head Girl Suite"), "and a personal slave will allow her to train an extra slave each week, an extremely powerful ability.");
-  App.Events.addParagraph(t, r);
-
-  r = [];
-  r.push(devotion(), App.UI.DOM.makeElement("span", "intelligence", ["cyan"]), "and age over 30 all help Head Girls do well.");
-  r.push("Head Girls will do better if they are comfortable with the arcology's", link("lingua franca"), ".");
-  r.push("Skills are required when teaching that skill, meaning that slaves without vaginas cannot teach vaginal skills.");
-  r.push("Conversely, slaves with functional dicks are better at teaching other sexual skills.");
-  r.push("Also having max sex skills, dom as their fetish and being your wife provide more boosts.");
-  App.Events.addNode(t, r, "div");
-
-  return t;
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const devotion = (text = "devotion", colour = "hotpink") => link(text, "From Rebellious to Devoted", colour);
+	const trust = (text = "trust") => link(text, "Trust", "mediumaquamarine");
+	const t = new DocumentFragment();
+	let r = [];
+
+	r.push("Most Free Cities slaveowners eventually find it convenient to promote a", trust("trusting"), "slave to a position over others.");
+	r.push("The stable of slaves necessary to present a proper public image has become so large that assistance managing and overseeing slaves is quite useful.");
+	r.push("In addition, such a slave can be an example to lesser livestock.");
+	App.Events.addNode(t, r, "div", "note");
+
+	r = [];
+	r.push("A good Head Girl will be", devotion("devoted"), "to her master and sexually skilled.");
+	r.push("Experienced slaveowners have also found that an older slave girl is often more effective than a young one.");
+	r.push("Since slavery is new, older slave girls will have spent part of their adult lives as free women, and have a deeper body of life experience to draw on.");
+	App.Events.addNode(t, r, "p", "note");
+
+	r = [];
+	r.push("Naturally, some slaveowners form a strong emotional bond with their Head Girl.");
+	r.push(trust("Trusting"), "and relying on a close companion can begin to resemble old world relationships.");
+	r.push("It is a paradox of modern Free Cities life that such closeness is strongly frowned upon.");
+	r.push("Rumors that a prominent person is emotionally involved with his or her Head Girl can be as socially devastating as rumors of infidelity were a hundred years ago.");
+	App.Events.addNode(t, r, "p", "note");
+
+	App.Events.addNode(t, ["— Lawrence, W. G., Guide to Modern Slavery, 2037 Edition"], "p", "note");
+
+	r = [];
+	r.push("A", App.UI.DOM.makeElement("span", "Head Girl", ["bold"]));
+	r.push("can be selected from among your", devotion("devoted"), "slaves immediately.");
+	r.push("Duties are numerous, but mostly involve training slaves.");
+	r.push("They will generally train whichever girls they think appropriate, but can be given some direction on the same menu used to select one.");
+	r.push("Giving your", link("Head Girl a suite", "Head Girl Suite"), "and a personal slave will allow her to train an extra slave each week, an extremely powerful ability.");
+	App.Events.addParagraph(t, r);
+
+	r = [];
+	r.push(devotion(), App.UI.DOM.makeElement("span", "intelligence", ["cyan"]), "and age over 30 all help Head Girls do well.");
+	r.push("Head Girls will do better if they are comfortable with the arcology's", link("lingua franca"), ".");
+	r.push("Skills are required when teaching that skill, meaning that slaves without vaginas cannot teach vaginal skills.");
+	r.push("Conversely, slaves with functional dicks are better at teaching other sexual skills.");
+	r.push("Also having max sex skills, dom as their fetish and being your wife provide more boosts.");
+	App.Events.addNode(t, r, "div");
+
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Madam", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const t = new DocumentFragment();
-  let r = [];
-
-  r.push("Prostitution is indeed the oldest profession. It follows that the madam is probably the oldest managerial position.");
-  App.Events.addNode(t, r, "div", "note");
-
-  r = [];
-  r.push("Free madams are very common in the Free Cities. As free prostitutes are priced out of their profession by slaves, many of the wealthiest are purchasing slaves and setting themselves up as madams. However, slave madams are becoming common as well.");
-  App.Events.addNode(t, r, "p", "note");
-
-  r = [];
-  r.push("The selling of sex is one of the largest growth markets in the Free Cities. As has been confidently predicted by economists since the first Free City was founded, the near-anarchy of these new polities has accelerated the concentration of wealth that began in the final years of the twentieth century. Thus, the majority of free citizens of the Cities own no slaves, while the majority of slaves are owned by a very few extremely wealthy persons. Extremely large stables of slave whores are becoming common for those in the industry.");
-  App.Events.addNode(t, r, "p", "note");
-
-  r = [];
-  r.push("Managing this many prostitutes is a science and an art. Naturally, it is not difficult to find slaves that are experienced in the sex trade. Setting slaves over other slaves has been a part of human slavery for all of recorded history; all of the tropes that once applied to the slave overseer in the field or the quarry now apply to the slave Madam in the brothel. The more experience they have in the field, the better they do.");
-  App.Events.addNode(t, r, "p", "note");
-  r = [];
-  r.push("— Lawrence, W. G., Guide to Modern Slavery, 2037 Edition");
-  App.Events.addNode(t, r, "p", "note");
-
-  r = [];
-  r.push("A", App.UI.DOM.makeElement("span", "Madam", ["bold"]), "can be selected once the", link("Brothel"), "facility is built.");
-  r.push("Madams apply a multiplier to", link("income", "Money", "yellowgreen"), "from the brothel.");
-  App.Events.addParagraph(t, r);
-
-  r = [];
-  r.push("Whoring skills, age over 35", App.UI.DOM.makeElement("span", "intelligence", ["cyan"]), "being your wife and a functional cock help a Madam.");
-  App.Events.addParagraph(t, r);
-
-  r = [];
-  r.push("If a Madam isn't managing enough whores to occupy her full time, she'll sell herself as much as she has time for.");
-  r.push("This is exactly the same as", link("whoring"), "out of the Brothel: she'll benefit from any", link("Advertising"), "or", link("Variety"), "bonuses available, and will even benefit from her own management skills.");
-  App.Events.addNode(t, r, "div");
-
-  return t;
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const t = new DocumentFragment();
+	let r = [];
+
+	r.push("Prostitution is indeed the oldest profession. It follows that the madam is probably the oldest managerial position.");
+	App.Events.addNode(t, r, "div", "note");
+
+	r = [];
+	r.push("Free madams are very common in the Free Cities. As free prostitutes are priced out of their profession by slaves, many of the wealthiest are purchasing slaves and setting themselves up as madams. However, slave madams are becoming common as well.");
+	App.Events.addNode(t, r, "p", "note");
+
+	r = [];
+	r.push("The selling of sex is one of the largest growth markets in the Free Cities. As has been confidently predicted by economists since the first Free City was founded, the near-anarchy of these new polities has accelerated the concentration of wealth that began in the final years of the twentieth century. Thus, the majority of free citizens of the Cities own no slaves, while the majority of slaves are owned by a very few extremely wealthy persons. Extremely large stables of slave whores are becoming common for those in the industry.");
+	App.Events.addNode(t, r, "p", "note");
+
+	r = [];
+	r.push("Managing this many prostitutes is a science and an art. Naturally, it is not difficult to find slaves that are experienced in the sex trade. Setting slaves over other slaves has been a part of human slavery for all of recorded history; all of the tropes that once applied to the slave overseer in the field or the quarry now apply to the slave Madam in the brothel. The more experience they have in the field, the better they do.");
+	App.Events.addNode(t, r, "p", "note");
+	r = [];
+	r.push("— Lawrence, W. G., Guide to Modern Slavery, 2037 Edition");
+	App.Events.addNode(t, r, "p", "note");
+
+	r = [];
+	r.push("A", App.UI.DOM.makeElement("span", "Madam", ["bold"]), "can be selected once the", link("Brothel"), "facility is built.");
+	r.push("Madams apply a multiplier to", link("income", "Money", "yellowgreen"), "from the brothel.");
+	App.Events.addParagraph(t, r);
+
+	r = [];
+	r.push("Whoring skills, age over 35", App.UI.DOM.makeElement("span", "intelligence", ["cyan"]), "being your wife and a functional cock help a Madam.");
+	App.Events.addParagraph(t, r);
+
+	r = [];
+	r.push("If a Madam isn't managing enough whores to occupy her full time, she'll sell herself as much as she has time for.");
+	r.push("This is exactly the same as", link("whoring"), "out of the Brothel: she'll benefit from any", link("Advertising"), "or", link("Variety"), "bonuses available, and will even benefit from her own management skills.");
+	App.Events.addNode(t, r, "div");
+
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Milkmaid", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const devotion = (text="devotion", colour="hotpink") => link(text, "From Rebellious to Devoted", colour);
-  const trust = (text="trust") => link(text, "Trust", "mediumaquamarine");
-  const t = new DocumentFragment();
-  let r = [];
-
-  r.push("Most slaveowners get into dairy as a hobby. Why not? It's fun, tasty, and sexy. But sooner or later, almost everyone who starts out with a few low-volume milkers hears the call of mass production. After all, if it's hot to have one slave to use as the milking machine holds her down, it's hotter to have a whole row of moaning milkers at your mercy.");
-  App.Events.addNode(t, r, "div");
-
-  r = [];
-  r.push("Unfortunately, the everyday work of husbandry goes from an amusement to a chore as a herd grows. Helping a tired slave cow with huge tits up from a long milking is fun once a day, but it gets bothersome and backbreaking the tenth time one does it. What's to be done?");
-  App.Events.addParagraph(t, r);
-
-  r = [];
-  r.push("Train a milkmaid! Any decently obedient slave will do, but the stronger the better. As you probably know by now, just because slave husbandry involves human stock doesn't mean it isn't hard work, just like traditional stock keeping! The traditional image of milkmaids might be girly and innocent, but we're after a good hale bitch that can lift, carry and scrub from dawn to dusk. If you're looking to economize, you can even use a slave too old or ugly to appeal in other, more sexual jobs. After all, when it comes to the third milking of the day, cows don't care how pretty the hands that examine their tits are.");
-  App.Events.addParagraph(t, r);
-
-  r = [];
-  r.push("— Banaszewski, Valerie P.,", App.UI.DOM.makeElement("span", "Free Cities Husbandry Weekly, February 16, 2032", ["note"]));
-  App.Events.addParagraph(t, r);
-
-  r = [];
-  r.push("A", App.UI.DOM.makeElement("span", "Milkmaid", ["bold"]), "can be selected once the", link("Dairy"), "facility is built.");
-  r.push("Having applicable", link("career experience", "Career Experience"), "and strong", link("muscles", "Musculature"), "allow a Milkmaid to help cows maintain their health.");
-  r.push("If a Milkmaid is Funny or Caring, she can improve cow's", trust("trusting"), "resting point; if she has oral skills, she can improve their", devotion(), "resting point.");
-  if (V.seeDicks !== 0) {
-	  r.push("If she has a very large dick capable of erection, a Milkmaid can assist cows with ejaculation if the Dairy is not already stimulating prostates.");
-  }
-  App.Events.addNode(t, r, "div");
-
-  return t;
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const devotion = (text = "devotion", colour = "hotpink") => link(text, "From Rebellious to Devoted", colour);
+	const trust = (text = "trust") => link(text, "Trust", "mediumaquamarine");
+	const t = new DocumentFragment();
+	let r = [];
+
+	r.push("Most slaveowners get into dairy as a hobby. Why not? It's fun, tasty, and sexy. But sooner or later, almost everyone who starts out with a few low-volume milkers hears the call of mass production. After all, if it's hot to have one slave to use as the milking machine holds her down, it's hotter to have a whole row of moaning milkers at your mercy.");
+	App.Events.addNode(t, r, "div");
+
+	r = [];
+	r.push("Unfortunately, the everyday work of husbandry goes from an amusement to a chore as a herd grows. Helping a tired slave cow with huge tits up from a long milking is fun once a day, but it gets bothersome and backbreaking the tenth time one does it. What's to be done?");
+	App.Events.addParagraph(t, r);
+
+	r = [];
+	r.push("Train a milkmaid! Any decently obedient slave will do, but the stronger the better. As you probably know by now, just because slave husbandry involves human stock doesn't mean it isn't hard work, just like traditional stock keeping! The traditional image of milkmaids might be girly and innocent, but we're after a good hale bitch that can lift, carry and scrub from dawn to dusk. If you're looking to economize, you can even use a slave too old or ugly to appeal in other, more sexual jobs. After all, when it comes to the third milking of the day, cows don't care how pretty the hands that examine their tits are.");
+	App.Events.addParagraph(t, r);
+
+	r = [];
+	r.push("— Banaszewski, Valerie P.,", App.UI.DOM.makeElement("span", "Free Cities Husbandry Weekly, February 16, 2032", ["note"]));
+	App.Events.addParagraph(t, r);
+
+	r = [];
+	r.push("A", App.UI.DOM.makeElement("span", "Milkmaid", ["bold"]), "can be selected once the", link("Dairy"), "facility is built.");
+	r.push("Having applicable", link("career experience", "Career Experience"), "and strong", link("muscles", "Musculature"), "allow a Milkmaid to help cows maintain their health.");
+	r.push("If a Milkmaid is Funny or Caring, she can improve cow's", trust("trusting"), "resting point; if she has oral skills, she can improve their", devotion(), "resting point.");
+	if (V.seeDicks !== 0) {
+		r.push("If she has a very large dick capable of erection, a Milkmaid can assist cows with ejaculation if the Dairy is not already stimulating prostates.");
+	}
+	App.Events.addNode(t, r, "div");
+
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Nurse", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const t = new DocumentFragment();
-  const r = [];
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const t = new DocumentFragment();
+	const r = [];
 
-  r.push("An", App.UI.DOM.makeElement("span", "Nurse", ["bold"]), "can be selected once the", link("Clinic"), "facility is built.");
-  r.push("Nurses increase", link("health"), "gains in the Clinic, and play a major role in the prevention and treatment of", "illness among slaves.");
-  r.push("Good Nurses are", link("nymphomaniacs", "Nymphomania"), ", highly", App.UI.DOM.makeElement("span", "intelligent,", ["cyan"]), "physically fit, and very beautiful.");
-  App.Events.addNode(t, r, "div");
+	r.push("An", App.UI.DOM.makeElement("span", "Nurse", ["bold"]), "can be selected once the", link("Clinic"), "facility is built.");
+	r.push("Nurses increase", link("health"), "gains in the Clinic, and play a major role in the prevention and treatment of", "illness among slaves.");
+	r.push("Good Nurses are", link("nymphomaniacs", "Nymphomania"), ", highly", App.UI.DOM.makeElement("span", "intelligent,", ["cyan"]), "physically fit, and very beautiful.");
+	App.Events.addNode(t, r, "div");
 
-  return t;
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Recruiter", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const devotion = (text="devotion", colour="hotpink") => link(text, "From Rebellious to Devoted", colour);
-  const rep = (text="reputation") => link(text, "Arcologies and Reputation", "green");
-  const t = new DocumentFragment();
-  let r = [];
-
-  r.push("A", App.UI.DOM.makeElement("span", "Recruiter", ["bold"]), "can be selected from among your", devotion("devoted"), "slaves immediately.");
-  r.push(App.UI.DOM.makeElement("span", "Intelligence", ["cyan"]), "entertainment skills, and luxurious living standards help a recruiter convince vulnerable people to submit to voluntary enslavement.");
-  r.push("Each targetable group is also more sympathetic to an appropriate recruiter.");
-  App.Events.addNode(t, r, "div");
-  App.Events.addNode(t, ["Desperate whores: a sexual veteran."], "div", ["indent"]);
-  App.Events.addNode(t, ["Expectant mothers: visibly pregnant."], "div", ["indent"]);
-  App.Events.addNode(t, ["Young migrants:", link("healthy"), "and pretty."], "div", ["indent"]);
-  App.Events.addNode(t, ["Dissolute sissies: with a working dick."], "div", ["indent"]);
-  App.Events.addNode(t, ["Reassignment candidates: pretty without working female reproductive organs."], "div", ["indent"]);
-  App.Events.addNode(t, r, "p");
-
-  r = [];
-  r.push("Once your household reaches a significant number of slaves you may direct the Recruiter to do publicity instead of acquisitions, for a boost to");
-  r.push(rep());
-  r.push("and possibly advancing");
-  r.push(link("future societies", "Future Societies"));
-  r.push(". Activating this ability does not influence any other means of obtaining new slaves. (Note that 'Facilities & leadership' includes the Recruiter herself and a slot for Head Girl, two positions that do not require a facility.)");
-  App.Events.addNode(t, r, "div");
-
-  return t;
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const devotion = (text = "devotion", colour = "hotpink") => link(text, "From Rebellious to Devoted", colour);
+	const rep = (text = "reputation") => link(text, "Arcologies and Reputation", "green");
+	const t = new DocumentFragment();
+	let r = [];
+
+	r.push("A", App.UI.DOM.makeElement("span", "Recruiter", ["bold"]), "can be selected from among your", devotion("devoted"), "slaves immediately.");
+	r.push(App.UI.DOM.makeElement("span", "Intelligence", ["cyan"]), "entertainment skills, and luxurious living standards help a recruiter convince vulnerable people to submit to voluntary enslavement.");
+	r.push("Each targetable group is also more sympathetic to an appropriate recruiter.");
+	App.Events.addNode(t, r, "div");
+	App.Events.addNode(t, ["Desperate whores: a sexual veteran."], "div", ["indent"]);
+	App.Events.addNode(t, ["Expectant mothers: visibly pregnant."], "div", ["indent"]);
+	App.Events.addNode(t, ["Young migrants:", link("healthy"), "and pretty."], "div", ["indent"]);
+	App.Events.addNode(t, ["Dissolute sissies: with a working dick."], "div", ["indent"]);
+	App.Events.addNode(t, ["Reassignment candidates: pretty without working female reproductive organs."], "div", ["indent"]);
+	App.Events.addNode(t, r, "p");
+
+	r = [];
+	r.push("Once your household reaches a significant number of slaves you may direct the Recruiter to do publicity instead of acquisitions, for a boost to");
+	r.push(rep());
+	r.push("and possibly advancing");
+	r.push(link("future societies", "Future Societies"));
+	r.push(". Activating this ability does not influence any other means of obtaining new slaves. (Note that 'Facilities & leadership' includes the Recruiter herself and a slot for Head Girl, two positions that do not require a facility.)");
+	App.Events.addNode(t, r, "div");
+
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Schoolteacher", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const t = new DocumentFragment();
-  const r = [];
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const t = new DocumentFragment();
+	const r = [];
 
-  r.push("A", App.UI.DOM.makeElement("span", "schoolteacher", ["bold"]), "can be selected once the", link("Schoolroom"), "facility is built.");
-  r.push("Schoolteachers increase the rate at which students in the schoolroom learn.");
-  r.push("Good schoolteachers appear older than 35, beautiful,", App.UI.DOM.makeElement("span", "intelligent", ["cyan"]), "and educated.");
-  App.Events.addNode(t, r, "div");
+	r.push("A", App.UI.DOM.makeElement("span", "schoolteacher", ["bold"]), "can be selected once the", link("Schoolroom"), "facility is built.");
+	r.push("Schoolteachers increase the rate at which students in the schoolroom learn.");
+	r.push("Good schoolteachers appear older than 35, beautiful,", App.UI.DOM.makeElement("span", "intelligent", ["cyan"]), "and educated.");
+	App.Events.addNode(t, r, "div");
 
-  return t;
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Stewardess", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const devotion = (text="devotion", colour="hotpink") => link(text, "From Rebellious to Devoted", colour);
-  const trust = (text="trust") => link(text, "Trust", "mediumaquamarine");
-  const t = new DocumentFragment();
-  let r = [];
-
-  r.push("Throughout recorded history, wherever there have been mature slave societies, there have been slave overseers set over their peers by their masters. Naturally, these individuals have simultaneously been among the most");
-  r.push(trust("trusted"));
-  r.push("to their masters, and among the most hated to their compatriots in slavery. They have perhaps the greatest interest in preservation of a slave society, since the masters have only the loss of property to fear by abolition; slave overseers would likely be less lucky.");
-  App.Events.addNode(t, r, "p", "note");
-
-  r = [];
-  r.push("The stewardess is the modern, domestic expression of the old overseer. Many wealthy slaveowners keep an extensive stable of less valuable slaves around their estates to serve as labor, raw material for slave training, and targets for recreational abuse. Successful oversight of this often mulish mass of stock requires a high degree of");
-  r.push(devotion());
-  r.push("to the master's will, of course. Good health to put in the necessarily long hours also helps. Some slaveowners also find that a functional dick allows a Stewardess to add a useful element of sexual abuse to her ministrations.");
-  App.Events.addNode(t, r, "p", "note");
-
-  r = [];
-  r.push("— Lawrence, W. G., Guide to Modern Slavery, 2037 Edition");
-  App.Events.addNode(t, r, "p", "note");
-
-  r = [];
-  r.push("A", App.UI.DOM.makeElement("span", "Stewardess", ["bold"]), "can be selected once the", link("Servants' Quarters"), "facility is built.");
-  r.push("Stewardesses increase the upkeep reduction effects of servants working out of the servants' quarters. Being older than 35, having good");
-  r.push(link("health"), ",");
-  r.push(App.UI.DOM.makeElement("span", "intelligence", ["cyan"]), "and");
-  r.push(link("nymphomania"), "or");
-  r.push(link("dominance", "Doms"));
-  r.push("make a good Stewardess.");
-  App.Events.addNode(t, r, "div");
-
-  return t;
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const devotion = (text = "devotion", colour = "hotpink") => link(text, "From Rebellious to Devoted", colour);
+	const trust = (text = "trust") => link(text, "Trust", "mediumaquamarine");
+	const t = new DocumentFragment();
+	let r = [];
+
+	r.push("Throughout recorded history, wherever there have been mature slave societies, there have been slave overseers set over their peers by their masters. Naturally, these individuals have simultaneously been among the most");
+	r.push(trust("trusted"));
+	r.push("to their masters, and among the most hated to their compatriots in slavery. They have perhaps the greatest interest in preservation of a slave society, since the masters have only the loss of property to fear by abolition; slave overseers would likely be less lucky.");
+	App.Events.addNode(t, r, "p", "note");
+
+	r = [];
+	r.push("The stewardess is the modern, domestic expression of the old overseer. Many wealthy slaveowners keep an extensive stable of less valuable slaves around their estates to serve as labor, raw material for slave training, and targets for recreational abuse. Successful oversight of this often mulish mass of stock requires a high degree of");
+	r.push(devotion());
+	r.push("to the master's will, of course. Good health to put in the necessarily long hours also helps. Some slaveowners also find that a functional dick allows a Stewardess to add a useful element of sexual abuse to her ministrations.");
+	App.Events.addNode(t, r, "p", "note");
+
+	r = [];
+	r.push("— Lawrence, W. G., Guide to Modern Slavery, 2037 Edition");
+	App.Events.addNode(t, r, "p", "note");
+
+	r = [];
+	r.push("A", App.UI.DOM.makeElement("span", "Stewardess", ["bold"]), "can be selected once the", link("Servants' Quarters"), "facility is built.");
+	r.push("Stewardesses increase the upkeep reduction effects of servants working out of the servants' quarters. Being older than 35, having good");
+	r.push(link("health"), ",");
+	r.push(App.UI.DOM.makeElement("span", "intelligence", ["cyan"]), "and");
+	r.push(link("nymphomania"), "or");
+	r.push(link("dominance", "Doms"));
+	r.push("make a good Stewardess.");
+	App.Events.addNode(t, r, "div");
+
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addArticle("Wardeness", function() {
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
-  const devotion = (text="devotion", colour="hotpink") => link(text, "From Rebellious to Devoted", colour);
-  const t = new DocumentFragment();
-  const r = [];
-
-  r.push("A", App.UI.DOM.makeElement("span", "Wardeness", ["bold"]), "can be selected once the");
-  r.push(link("Cellblock"));
-  r.push("facility is built. Wardenesses increase the rate at which slaves in the cellblock are broken. Very high");
-  r.push(devotion(), ",", link("nymphomania"), "or");
-  r.push(link("sadism", "Sadists"), ", strong");
-  r.push(link("muscles", "Musculature"), ", applicable");
-  r.push(link("career experience"), ", and a solid dick make a powerful Wardeness.");
-  App.Events.addNode(t, r, "div");
-
-  return t;
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	const devotion = (text = "devotion", colour = "hotpink") => link(text, "From Rebellious to Devoted", colour);
+	const t = new DocumentFragment();
+	const r = [];
+
+	r.push("A", App.UI.DOM.makeElement("span", "Wardeness", ["bold"]), "can be selected once the");
+	r.push(link("Cellblock"));
+	r.push("facility is built. Wardenesses increase the rate at which slaves in the cellblock are broken. Very high");
+	r.push(devotion(), ",", link("nymphomania"), "or");
+	r.push(link("sadism", "Sadists"), ", strong");
+	r.push(link("muscles", "Musculature"), ", applicable");
+	r.push(link("career experience"), ", and a solid dick make a powerful Wardeness.");
+	App.Events.addNode(t, r, "div");
+
+	return t;
 }, "slaveLeaders");
 
 App.Encyclopedia.addCategory("slaveLeaders", function() {
-  const r = [];
-  r.push(App.Encyclopedia.Dialog.linkDOM("Leadership Positions"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Career Experience"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Attendant"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Matron"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Bodyguard"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Concubine"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("DJ"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Farmer"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Head Girl"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Madam"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Milkmaid"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Nurse"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Recruiter"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Schoolteacher"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Stewardess"));
-  r.push(App.Encyclopedia.Dialog.linkDOM("Wardeness"));
-  return App.UI.DOM.generateLinksStrip(r);
+	const r = [];
+	r.push(App.Encyclopedia.Dialog.linkDOM("Leadership Positions"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Career Experience"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Attendant"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Matron"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Bodyguard"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Concubine"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("DJ"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Farmer"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Head Girl"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Madam"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Milkmaid"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Nurse"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Recruiter"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Schoolteacher"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Stewardess"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Wardeness"));
+	return App.UI.DOM.generateLinksStrip(r);
 });
diff --git a/src/gui/Encyclopedia/encyclopediaSlaveModification.js b/src/gui/Encyclopedia/encyclopediaSlaveModification.js
index b6606e2bc96f34cea81a550d8dbe6d44f612ec95..c4da828c4168ea3bf7e17eb8b8019dd8b27d4400 100644
--- a/src/gui/Encyclopedia/encyclopediaSlaveModification.js
+++ b/src/gui/Encyclopedia/encyclopediaSlaveModification.js
@@ -29,7 +29,7 @@ App.Encyclopedia.addArticle("Nipple Conversion — Penetratable", function() {
 App.Encyclopedia.addArticle("Ejaculation Boosting Prostate Implant", function() {
 	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
-	r.push("An additional prostate implant designed to hyperstimulate one's prostate and store the resulting fluid for release during ejaculation in a specialized reservoir."); 
+	r.push("An additional prostate implant designed to hyperstimulate one's prostate and store the resulting fluid for release during ejaculation in a specialized reservoir.");
 	r.push("An easy way to tell if the precum soaked slave you are fucking is sporting this implant is the distinct swelling in her lower belly as she nears release.");
 	r.push("Due to the sheer amount of prostate fluid released, sperm per volume is greatly reduced, devastating profits of those looking to sell cum.");
 	r.push("Remember to keep your slaves well hydrated!");
diff --git a/src/gui/Encyclopedia/encyclopediaSlaveQuirks.js b/src/gui/Encyclopedia/encyclopediaSlaveQuirks.js
index c840b8185d13b33500458c44e54899263cd18a8c..cf3c1d1235d92e655da3c6859428a84dbfbd5c0d 100644
--- a/src/gui/Encyclopedia/encyclopediaSlaveQuirks.js
+++ b/src/gui/Encyclopedia/encyclopediaSlaveQuirks.js
@@ -16,12 +16,12 @@ App.Encyclopedia.addArticle("Quirks", function() {
 App.Encyclopedia.addArticle("Adores men", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Adores men", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("hates women"), App.Encyclopedia.Dialog.linkDOM(".flaw", "Flaws"));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("pregnancy fetishists", "Pregnancy Fetishists"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty if the player character is masculine, and increased chance of gaining additional XY attraction.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Adores men", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("hates women"), App.Encyclopedia.Dialog.linkDOM(".flaw", "Flaws"));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("pregnancy fetishists", "Pregnancy Fetishists"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty if the player character is masculine, and increased chance of gaining additional XY attraction.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -29,12 +29,12 @@ App.Encyclopedia.addArticle("Adores men", function() {
 App.Encyclopedia.addArticle("Adores women", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Adores women", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("hates men"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("breast fetishists", "Boob Fetishists", ".")));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty if the player character is feminine, and increased chance of gaining additional XX attraction.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Adores women", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("hates men"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("breast fetishists", "Boob Fetishists", ".")));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty if the player character is feminine, and increased chance of gaining additional XX attraction.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -42,13 +42,13 @@ App.Encyclopedia.addArticle("Adores women", function() {
 App.Encyclopedia.addArticle("Advocate", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Advocate", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("liberated"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissive", "Submissives"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing");
- r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("public service", "Public Service"), "."));
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Advocate", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("liberated"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissive", "Submissives"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing");
+	r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("public service", "Public Service"), "."));
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -56,12 +56,12 @@ App.Encyclopedia.addArticle("Advocate", function() {
 App.Encyclopedia.addArticle("Confident", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Confident", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("arrogant"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("doms"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Confident", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("arrogant"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("doms"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -69,12 +69,12 @@ App.Encyclopedia.addArticle("Confident", function() {
 App.Encyclopedia.addArticle("Cutting", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Cutting", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("bitchy"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("doms"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("whoring"), "."));
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Cutting", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("bitchy"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("doms"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("whoring"), "."));
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -82,11 +82,11 @@ App.Encyclopedia.addArticle("Cutting", function() {
 App.Encyclopedia.addArticle("Fitness", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Fitness", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("gluttonous"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissive", "Submissives"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they gain additional sex drive each week, and are better at working out.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Fitness", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("gluttonous"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissive", "Submissives"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they gain additional sex drive each week, and are better at working out.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -94,12 +94,12 @@ App.Encyclopedia.addArticle("Fitness", function() {
 App.Encyclopedia.addArticle("Funny", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Funny", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("odd"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Masochists"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("public service", "Public Service"), "."));
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Funny", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("odd"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Masochists"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("public service", "Public Service"), "."));
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -107,11 +107,11 @@ App.Encyclopedia.addArticle("Funny", function() {
 App.Encyclopedia.addArticle("Insecure", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Insecure", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("anorexic"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissive", "Submissives"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus", App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Insecure", ["bold"]), "is a behavioral", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("anorexic"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissive", "Submissives"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus", App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -131,13 +131,13 @@ App.Encyclopedia.addArticle("Sinful", function() {
 App.Encyclopedia.addArticle("Caring", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Caring", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("apathetic"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissive", "Submissives"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing");
- r.push("while", App.Encyclopedia.Dialog.linkDOM("whoring"), "and nannying.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Caring", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("apathetic"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissive", "Submissives"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing");
+	r.push("while", App.Encyclopedia.Dialog.linkDOM("whoring"), "and nannying.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -145,11 +145,11 @@ App.Encyclopedia.addArticle("Caring", function() {
 App.Encyclopedia.addArticle("Gagfuck Queen", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Gagfuck Queen", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("Hates oral"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("cumsluts"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they enjoy living in a penthouse upgraded with phallic food dispensers.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Gagfuck Queen", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("Hates oral"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("cumsluts"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they enjoy living in a penthouse upgraded with phallic food dispensers.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -157,11 +157,11 @@ App.Encyclopedia.addArticle("Gagfuck Queen", function() {
 App.Encyclopedia.addArticle("Painal Queen", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Painal Queen", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("Hates anal"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("humiliation fetishists", "Humiliation Fetishists"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they enjoy living in a penthouse upgraded with dildo drug dispensers.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Painal Queen", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("Hates anal"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("humiliation fetishists", "Humiliation Fetishists"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they enjoy living in a penthouse upgraded with dildo drug dispensers.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -169,12 +169,12 @@ App.Encyclopedia.addArticle("Painal Queen", function() {
 App.Encyclopedia.addArticle("Perverted", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Perverted", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("repressed"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissives"), ".")));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "when in incestuous relationships, and gain additional sex drive each week.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Perverted", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("repressed"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("submissives"), ".")));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "when in incestuous relationships, and gain additional sex drive each week.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -182,12 +182,12 @@ App.Encyclopedia.addArticle("Perverted", function() {
 App.Encyclopedia.addArticle("Romantic", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Romantic", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("idealistic"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("pregnancy fetishists", "Pregnancy Fetishists"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Romantic", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("idealistic"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("pregnancy fetishists", "Pregnancy Fetishists"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "mediumaquamarine"), "on", App.Encyclopedia.Dialog.linkDOM("fucktoy"), "duty.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -195,12 +195,12 @@ App.Encyclopedia.addArticle("Romantic", function() {
 App.Encyclopedia.addArticle("Size Queen", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Size Queen", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("judgemental"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("buttsluts"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they will enjoy relationships with well-endowed, virile slaves so much their partners will get");
- r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "benefits, too.");
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Size Queen", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("judgemental"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("buttsluts"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they will enjoy relationships with well-endowed, virile slaves so much their partners will get");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "benefits, too.");
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -208,13 +208,13 @@ App.Encyclopedia.addArticle("Size Queen", function() {
 App.Encyclopedia.addArticle("Strugglefuck Queen", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Strugglefuck Queen", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("hates penetration"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Masochists"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, this Quirk avoids");
- r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "losses if the slave is assigned to be a");
- r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("sexual servant", "Sexual Servitude"), "."));
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Strugglefuck Queen", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("hates penetration"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Masochists"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, this Quirk avoids");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "losses if the slave is assigned to be a");
+	r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("sexual servant", "Sexual Servitude"), "."));
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -222,13 +222,13 @@ App.Encyclopedia.addArticle("Strugglefuck Queen", function() {
 App.Encyclopedia.addArticle("Tease", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Tease", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("shamefast"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("humiliation fetishists", "Humiliation Fetishists"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
- r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing");
- r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("public service", "Public Service"), "."));
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Tease", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("shamefast"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("humiliation fetishists", "Humiliation Fetishists"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they get bonus");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "hotpink"), "while performing");
+	r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("public service", "Public Service"), "."));
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -236,12 +236,12 @@ App.Encyclopedia.addArticle("Tease", function() {
 App.Encyclopedia.addArticle("Unflinching", function() {
 	const f = new DocumentFragment();
 	const r = new SpacedTextAccumulator(f);
- r.push(App.UI.DOM.makeElement("span", "Unflinching", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
- r.push(App.Encyclopedia.Dialog.linkDOM("crude"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
- r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Masochists"), "."));
- r.push("In addition to the standard value and sexual assignment advantages, they will experience a partial rebound during weeks in which they lose");
- r.push(App.Encyclopedia.Dialog.linkDOM("devotion.", "From Rebellious to Devoted", "hotpink"));
- r.toNode("div");
+	r.push(App.UI.DOM.makeElement("span", "Unflinching", ["bold"]), "is a sexual", App.Encyclopedia.Dialog.linkDOM("quirk", "Quirks"), "developed from the");
+	r.push(App.Encyclopedia.Dialog.linkDOM("crude"), App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("flaw", "Flaws"), "."));
+	r.push("Slaves may naturally become", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Masochists"), "."));
+	r.push("In addition to the standard value and sexual assignment advantages, they will experience a partial rebound during weeks in which they lose");
+	r.push(App.Encyclopedia.Dialog.linkDOM("devotion.", "From Rebellious to Devoted", "hotpink"));
+	r.toNode("div");
 
 	return f;
 }, "slaveQuirks");
@@ -259,7 +259,7 @@ App.Encyclopedia.addCategory("slaveQuirks", function() {
 	r.push(App.Encyclopedia.Dialog.linkDOM("Insecure"));
 	r.push(App.Encyclopedia.Dialog.linkDOM("Sinful"));
 	App.Events.addNode(f, ["Behavioral ", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("Quirks"), ":"), App.UI.DOM.generateLinksStrip(r)], "div");
- 
+
 	r = [];
 	r.push(App.Encyclopedia.Dialog.linkDOM("Caring"));
 	r.push(App.Encyclopedia.Dialog.linkDOM("Gagfuck Queen"));
diff --git a/src/gui/Encyclopedia/encyclopediaTerrain.js b/src/gui/Encyclopedia/encyclopediaTerrain.js
index 8e00670606cf5277a94fe840917ba736e48ff19e..44fe945a1735240aa3cd8189eca13d7fc0df4b33 100644
--- a/src/gui/Encyclopedia/encyclopediaTerrain.js
+++ b/src/gui/Encyclopedia/encyclopediaTerrain.js
@@ -1,70 +1,70 @@
 App.Encyclopedia.addArticle("Terrain Types", function() {
- const f = new DocumentFragment();
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Future room for lore text", ["note"])], "div");
- App.Events.addNode(f, ["Choose a more particular entry below:"], "div");
- return f;
+	const f = new DocumentFragment();
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Future room for lore text", ["note"])], "div");
+	App.Events.addNode(f, ["Choose a more particular entry below:"], "div");
+	return f;
 }, "Terrain");
 
 App.Encyclopedia.addArticle("Urban Terrain", function() {
- const f = new DocumentFragment();
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Urban", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bear market", ["yellow"]), "for slaves."], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "ease of commerce with the old world."], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "access to refugees and other desperate people."], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["red"]), "cultural independence."], "div", ["indent"]);
- return f;
+	const f = new DocumentFragment();
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Urban", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bear market", ["yellow"]), "for slaves."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "ease of commerce with the old world."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "access to refugees and other desperate people."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["red"]), "cultural independence."], "div", ["indent"]);
+	return f;
 }, "Terrain");
 
 App.Encyclopedia.addArticle("Rural Terrain", function() {
- const f = new DocumentFragment();
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Rural", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bull market", ["yellow"]), "for slaves."], "div", ["indent"]);
- App.Events.addNode(f, ["Moderate ease of commerce with the old world."], "div", ["indent"]);
- App.Events.addNode(f, ["Moderate access to refugees and other desperate people."], "div", ["indent"]);
- App.Events.addNode(f, ["Moderate cultural independence."], "div", ["indent"]);
- return f;
+	const f = new DocumentFragment();
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Rural", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bull market", ["yellow"]), "for slaves."], "div", ["indent"]);
+	App.Events.addNode(f, ["Moderate ease of commerce with the old world."], "div", ["indent"]);
+	App.Events.addNode(f, ["Moderate access to refugees and other desperate people."], "div", ["indent"]);
+	App.Events.addNode(f, ["Moderate cultural independence."], "div", ["indent"]);
+	return f;
 }, "Terrain");
 
 App.Encyclopedia.addArticle("Ravine Terrain", function() {
- const f = new DocumentFragment();
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Ravine", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bull market", ["yellow"]), "for slaves."], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["red"]), "ease of commerce with the old world."], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Very low", ["red"]), "access to refugees and other desperate people."], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "cultural independence."], "div", ["indent"]);
- return f;
+	const f = new DocumentFragment();
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Ravine", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bull market", ["yellow"]), "for slaves."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["red"]), "ease of commerce with the old world."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Very low", ["red"]), "access to refugees and other desperate people."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "cultural independence."], "div", ["indent"]);
+	return f;
 }, "Terrain");
 
 App.Encyclopedia.addArticle("Marine Terrain", function() {
- const f = new DocumentFragment();
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Marine", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Moderate minimum slave value and initially balanced market for slaves.")], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Moderate ease of commerce with the old world.")], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["red"]), "access to refugees and other desperate people."], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "cultural independence."], "div", ["indent"]);
- return f;
+	const f = new DocumentFragment();
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Marine", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Moderate minimum slave value and initially balanced market for slaves.")], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Moderate ease of commerce with the old world.")], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["red"]), "access to refugees and other desperate people."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "cultural independence."], "div", ["indent"]);
+	return f;
 }, "Terrain");
 
 App.Encyclopedia.addArticle("Oceanic Terrain", function() {
- const f = new DocumentFragment();
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Oceanic", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bull market", ["yellow"]), "for slaves."], "div", ["indent"]);
- App.Events.addNode(f, ["Moderate ease of commerce with the old world."], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Very low", ["red"]), "access to refugees and other desperate people."], "div", ["indent"]);
- App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Very high", ["green"]), "cultural independence."], "div", ["indent"]);
- App.Events.addNode(f, ["Ensures access to slaves from all over the world and will not associate the arcology with a continent."], "div", ["indent"]);
- return f;
+	const f = new DocumentFragment();
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Oceanic", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bull market", ["yellow"]), "for slaves."], "div", ["indent"]);
+	App.Events.addNode(f, ["Moderate ease of commerce with the old world."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Very low", ["red"]), "access to refugees and other desperate people."], "div", ["indent"]);
+	App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Very high", ["green"]), "cultural independence."], "div", ["indent"]);
+	App.Events.addNode(f, ["Ensures access to slaves from all over the world and will not associate the arcology with a continent."], "div", ["indent"]);
+	return f;
 }, "Terrain");
 
 App.Encyclopedia.addCategory("Terrain", function() {
- const f = new DocumentFragment();
- const r = [];
- r.push(App.Encyclopedia.Dialog.linkDOM("Types", "Terrain Types"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Urban", "Urban Terrain"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Rural", "Rural Terrain"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Ravine", "Ravine Terrain"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Marine", "Marine Terrain"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Oceanic", "Oceanic Terrain"));
- App.Events.addNode(f, ["Terrain:", App.UI.DOM.generateLinksStrip(r)], "div");
- return f;
+	const f = new DocumentFragment();
+	const r = [];
+	r.push(App.Encyclopedia.Dialog.linkDOM("Types", "Terrain Types"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Urban", "Urban Terrain"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Rural", "Rural Terrain"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Ravine", "Ravine Terrain"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Marine", "Marine Terrain"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Oceanic", "Oceanic Terrain"));
+	App.Events.addNode(f, ["Terrain:", App.UI.DOM.generateLinksStrip(r)], "div");
+	return f;
 });
diff --git a/src/gui/Encyclopedia/encyclopediaX-SeriesArcology.js b/src/gui/Encyclopedia/encyclopediaX-SeriesArcology.js
index 05ed03f29e8badbf12bf0dbfa65b1060e4fb1586..88ea134a6f33de76dd38addf57ed0fc0c461c2f4 100644
--- a/src/gui/Encyclopedia/encyclopediaX-SeriesArcology.js
+++ b/src/gui/Encyclopedia/encyclopediaX-SeriesArcology.js
@@ -15,19 +15,19 @@ App.Encyclopedia.addArticle("The X-Series Arcology", function() {
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("What the Upgrades Do", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
- /**
+	/**
 	 * @param {string} text
 	 * @param {string} [article]
 	 * @param {string} [className]
 	 */
-  const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
- /**
+	const link = (text, article, className) => App.Encyclopedia.Dialog.linkDOM(text, article, className);
+	/**
 	 * @param {string|HTMLSpanElement} text
 	 * @param {string[]} [tag]
 	 */
-  const highlight = (text, tag=["bold"]) => App.UI.DOM.makeElement("span", text, tag);
+	const highlight = (text, tag = ["bold"]) => App.UI.DOM.makeElement("span", text, tag);
 
 	App.Events.addNode(t, [`There are a lot of upgrades available for your arcology, ${properTitle()}. Please relax; some panic upon reviewing the options is normal. This list should familiarize you with your choices.`], "div", "note");
 
@@ -59,11 +59,11 @@ App.Encyclopedia.addArticle("What the Upgrades Do", function() {
 	App.Events.addNode(t, [highlight("65:"), "Giving your established mercs a unique title."], "div", ["indent"]);
 	App.Events.addNode(t, [highlight("72 or later:"), "Establish the", link("Special Force"), "(if the mod is enabled)."], "div", ["indent"]);
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("Personal Assistant", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
 	App.Events.addNode(t, [`${properTitle()}, "I am your personal assistant."`], "p", "note");
@@ -79,11 +79,11 @@ App.Encyclopedia.addArticle("Personal Assistant", function() {
 	r.push("I would say that it is a pleasure to serve, but you are no doubt", App.UI.DOM.makeElement("span", "intelligent", ["cyan"]), `enough to know that I cannot feel pleasure, making that a pointless pleasantry. Good day, ${properTitle()}.`);
 	r.toNode("p", ["note"]);
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("The Wardrobe", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
 	r.push("The Wardrobe is a dressing area for all of your slaves, and a place where unused outfits are stored. Tailoring is available to make sure outfits fit each slave to your specifications. Here, players make choices about how slaves will appear in their dress, or lack of it. Choose outfits wisely to correspond to the culture that your citizens approve of, and your", App.Encyclopedia.Dialog.linkDOM("reputation", "Arcologies and Reputation", "green"), "will increase more quickly. Items that stretch or constrict such as plugs or corsets will eventually have a lasting impact on slaves anatomy.");
@@ -92,11 +92,11 @@ App.Encyclopedia.addArticle("The Wardrobe", function() {
 	r.push("The wardrobe has two functions: First, individual slaves can be selected and then dressed in the wardrobe with anything from the basic clothing or shoes to the more exotic plugs and corsets. Secondly, players can access the wardrobe directly from the penthouse, and unlock collections of new outfits with ¤.");
 	r.toParagraph();
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("The Auto Salon", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
 	r.push("Your auto salon is similar to the studio and the remote surgery, but is far less intimidating.");
@@ -109,11 +109,11 @@ App.Encyclopedia.addArticle("The Auto Salon", function() {
 	r.push("The auto salon is mostly available for the player's experimentation. Some combinations of cosmetic options can have minor effects on some assignments and events, but these are very marginal. Slaves' appearances will differ in many scenes and events based on the player's cosmetic choices, but these details are for flavor only. As usual, gameplay effects are usually called out in explicit colored text; if they aren't, no major gameplay effects are happening.");
 	r.toParagraph();
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("The Body Mod Studio", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
 	r.push("Your studio was sadly neglected by the previous owner of the arcology, but is in great shape and ready for use.");
@@ -125,11 +125,11 @@ App.Encyclopedia.addArticle("The Body Mod Studio", function() {
 	r.push("Your equipment will cost", App.UI.DOM.makeElement("span", `${cashFormat(V.modCost)}`, ["yellowgreen"]), "per use. These procedures are not especially invasive, and you can perform as many of them as you wish during a single week without fear for your slave's health.");
 	r.toNode("p", ["note"]);
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("The Remote Surgery", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
 	r.push("Congratulations on your purchase of a Caduceus model remote surgical unit. This is the very last word in slave surgical alteration.");
@@ -144,11 +144,11 @@ App.Encyclopedia.addArticle("The Remote Surgery", function() {
 	r.push("It will cost", App.UI.DOM.makeElement("span", `${cashFormat(V.surgeryCost)}`, ["yellowgreen"]), "to purchase a doctor's telepresence and keep the equipment charged with the necessary materials. These procedures are invasive and will reduce a slave's health. Use drugs or rest to counteract this.");
 	r.toNode("p", ["note"]);
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("The Pharmaceutical Fab", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
 	r.push("Pharmaceutical fabricators are the cutting edge of modern medicine. They are in short supply and are therefore ruinously expensive, but can greatly reduce the cost of maintaining a large stable of slaves by cutting drug overhead. They are also the only source of a new generation of advanced drugs that must be tailored to the individual patient's biochemistry.");
@@ -157,11 +157,11 @@ App.Encyclopedia.addArticle("The Pharmaceutical Fab", function() {
 	r.push("— Dodgson, Jane Elizabeth,", App.UI.DOM.makeElement("span", "Pharmaceutical Review '32", ["note"]));
 	r.toNode("div");
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("Security Drones", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
 	r.push("As built, X-Series arcologies are equipped with basic security systems, and a complement of maintenance and cleaning drones.");
@@ -182,11 +182,11 @@ App.Encyclopedia.addArticle("Security Drones", function() {
 	r.push("—", App.UI.DOM.makeElement("span", "X-Series Arcology Owners' Manual", ["note"]));
 	r.toParagraph();
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("Water Filtration", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
 	r.push(`X-Series arcologies are, in many ways, comparable to massive organisms. Under this metaphor, their circulatory systems include thousands of ${V.showInches === 2 ? 'miles' : 'kilometers'} of plumbing for water distribution and waste removal.`);
@@ -204,11 +204,11 @@ App.Encyclopedia.addArticle("Water Filtration", function() {
 	r.push("—", App.UI.DOM.makeElement("span", "X-Series Arcology Owners' Manual", ["note"]));
 	r.toParagraph();
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("Slave Nutrition", function() {
- const t = new DocumentFragment();
+	const t = new DocumentFragment();
 	const r = new SpacedTextAccumulator(t);
 
 	r.push("Your X-Series arcology is designed to produce large quantities of high quality foodstuffs, from fresh vegetables to basic nutritive protein. The X-Series also produces the most advanced nutrition in the world. Our proprietary special slave nutrition system has been designed by slaveowners, for slaveowners, and truly makes the X-Series special.");
@@ -226,7 +226,7 @@ App.Encyclopedia.addArticle("Slave Nutrition", function() {
 	r.push("—", App.UI.DOM.makeElement("span", "X-Series Arcology Owners' Manual", ["note"]));
 	r.toParagraph();
 
- return t;
+	return t;
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addArticle("Media Hub", function() {
@@ -258,20 +258,20 @@ App.Encyclopedia.addArticle("Media Hub", function() {
 }, "X-SeriesArcology");
 
 App.Encyclopedia.addCategory("X-SeriesArcology", function() {
- const r = [];
+	const r = [];
 	if (V.encyclopedia !== "The X-Series Arcology") {
 		r.push(App.Encyclopedia.Dialog.linkDOM("The X-Series Arcology"));
 	}
- r.push(App.Encyclopedia.Dialog.linkDOM("What the Upgrades Do"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Personal Assistant"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Wardrobe"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Auto Salon"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Body Mod Studio"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Remote Surgery"));
- r.push(App.Encyclopedia.Dialog.linkDOM("The Pharmaceutical Fab"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Security Drones"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Water Filtration"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Slave Nutrition"));
- r.push(App.Encyclopedia.Dialog.linkDOM("Media Hub"));
- return App.UI.DOM.generateLinksStrip(r);
-}); 
+	r.push(App.Encyclopedia.Dialog.linkDOM("What the Upgrades Do"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Personal Assistant"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Wardrobe"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Auto Salon"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Body Mod Studio"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Remote Surgery"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("The Pharmaceutical Fab"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Security Drones"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Water Filtration"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Slave Nutrition"));
+	r.push(App.Encyclopedia.Dialog.linkDOM("Media Hub"));
+	return App.UI.DOM.generateLinksStrip(r);
+});