<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://cmp.wiki/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Maintenance+script</id>
	<title>CMP Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://cmp.wiki/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Maintenance+script"/>
	<link rel="alternate" type="text/html" href="https://cmp.wiki/wiki/Special:Contributions/Maintenance_script"/>
	<updated>2026-10-31T23:59:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=438</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=438"/>
		<updated>2026-10-30T09:45:59Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: list tables fit 1440&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
/* Citizen&#039;s own header is a bottom bar below 1120 px and a left rail from 1120 px: only the rail starts under our bar */&lt;br /&gt;
@media (min-width: 1120px) {&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables at every width (wiki lane): header cells on one line, words never split, wide tables scroll inside&lt;br /&gt;
   their own box (Citizen wraps wikitables in .citizen-overflow-content; Cargo&#039;s DataTables output is made its own&lt;br /&gt;
   scroller below), and the page itself never scrolls sideways ---------- */&lt;br /&gt;
.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; *,&lt;br /&gt;
.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; *,&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; * {&lt;br /&gt;
	overflow-wrap: normal;&lt;br /&gt;
	word-break: normal;&lt;br /&gt;
	hyphens: manual;&lt;br /&gt;
}&lt;br /&gt;
/* DataTables writes table-layout: fixed and overflow-wrap: break-word inline, which splits words */&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
	display: block;&lt;br /&gt;
	width: 100% !important;&lt;br /&gt;
	max-width: 100%;&lt;br /&gt;
	overflow-x: auto;&lt;br /&gt;
	table-layout: auto !important;&lt;br /&gt;
	overflow-wrap: normal !important;&lt;br /&gt;
}&lt;br /&gt;
/* one-line cells for long free text: ellipsis, full value in the tooltip (title) and on the page */&lt;br /&gt;
.cmpw-clip {&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
	max-width: 14em;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	text-overflow: ellipsis;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
/* the list tables (All recipes, All platforms, the list on Unlocks): every text value on one line with an ellipsis&lt;br /&gt;
   (full value in its tooltip), the name column at most two lines, so rows stay one or two lines high */&lt;br /&gt;
.cmpw-clip2 {&lt;br /&gt;
	display: -webkit-box;&lt;br /&gt;
	-webkit-box-orient: vertical;&lt;br /&gt;
	-webkit-line-clamp: 2;&lt;br /&gt;
	line-clamp: 2;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output table.cmpw-listtable { font-size: 0.85em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td { white-space: nowrap; padding-left: 0.4em; padding-right: 0.4em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; th { padding-left: 0.45em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { white-space: normal; min-width: 15em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable .cmpw-clip { max-width: 8em; }&lt;br /&gt;
/* All recipes column caps: cards, context, power cap (5, 6, 9); tested by, tested on (11, 12) */&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(5) .cmpw-clip,&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(6) .cmpw-clip,&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(9) .cmpw-clip,&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(12) .cmpw-clip { max-width: 6em; }&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(11) .cmpw-clip { max-width: 7em; }&lt;br /&gt;
/* All platforms has room for longer result columns */&lt;br /&gt;
.cmpw-list--platforms table.cmpw-listtable .cmpw-clip { max-width: 11em; }&lt;br /&gt;
/* list pages use the full width Citizen allows instead of its 1080px reading measure */&lt;br /&gt;
body.page-All_recipes,&lt;br /&gt;
body.page-All_platforms,&lt;br /&gt;
body.page-Unlocks {&lt;br /&gt;
	--width-layout: 1680px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	/* the list tables keep their key columns and fit a phone; header cells may wrap there */&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 0; }&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 7em; white-space: normal; }&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; th { white-space: normal; }&lt;br /&gt;
	/* All recipes: Recipe, Cards, Decode tok/s, Status (columns 1, 5, 7, 10) */&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(9),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status (columns 1, 2, 4, 5, 6, 8) */&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(9),&lt;br /&gt;
	/* Unlocks list: Unlock, Unlocks, Variant, Status (columns 1, 2, 3, 5) */&lt;br /&gt;
	.cmpw-list--unlocks table.cmpw-listtable tr &amp;gt; :nth-child(4) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable .cmpw-clip,&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable .cmpw-clip { max-width: 8em; }&lt;br /&gt;
	.cmpw-clip2 { -webkit-line-clamp: 3; line-clamp: 3; }&lt;br /&gt;
	/* PageForms&#039; &amp;quot;Add a ...&amp;quot; boxes (size=50) stay inside the column */&lt;br /&gt;
	.mw-parser-output .pfFormInput,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper .oo-ui-widget,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper input { max-width: 100%; box-sizing: border-box; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=437</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=437"/>
		<updated>2026-10-30T09:45:15Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: list tables fit 1440&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
/* Citizen&#039;s own header is a bottom bar below 1120 px and a left rail from 1120 px: only the rail starts under our bar */&lt;br /&gt;
@media (min-width: 1120px) {&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables at every width (wiki lane): header cells on one line, words never split, wide tables scroll inside&lt;br /&gt;
   their own box (Citizen wraps wikitables in .citizen-overflow-content; Cargo&#039;s DataTables output is made its own&lt;br /&gt;
   scroller below), and the page itself never scrolls sideways ---------- */&lt;br /&gt;
.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; *,&lt;br /&gt;
.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; *,&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; * {&lt;br /&gt;
	overflow-wrap: normal;&lt;br /&gt;
	word-break: normal;&lt;br /&gt;
	hyphens: manual;&lt;br /&gt;
}&lt;br /&gt;
/* DataTables writes table-layout: fixed and overflow-wrap: break-word inline, which splits words */&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
	display: block;&lt;br /&gt;
	width: 100% !important;&lt;br /&gt;
	max-width: 100%;&lt;br /&gt;
	overflow-x: auto;&lt;br /&gt;
	table-layout: auto !important;&lt;br /&gt;
	overflow-wrap: normal !important;&lt;br /&gt;
}&lt;br /&gt;
/* one-line cells for long free text: ellipsis, full value in the tooltip (title) and on the page */&lt;br /&gt;
.cmpw-clip {&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
	max-width: 14em;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	text-overflow: ellipsis;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
/* the list tables (All recipes, All platforms, the list on Unlocks): every text value on one line with an ellipsis&lt;br /&gt;
   (full value in its tooltip), the name column at most two lines, so rows stay one or two lines high */&lt;br /&gt;
.cmpw-clip2 {&lt;br /&gt;
	display: -webkit-box;&lt;br /&gt;
	-webkit-box-orient: vertical;&lt;br /&gt;
	-webkit-line-clamp: 2;&lt;br /&gt;
	line-clamp: 2;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output table.cmpw-listtable { font-size: 0.85em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td { white-space: nowrap; padding-left: 0.45em; padding-right: 0.45em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; th { padding-left: 0.45em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { white-space: normal; min-width: 15em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable .cmpw-clip { max-width: 8em; }&lt;br /&gt;
/* All recipes column caps: cards, context, power cap (5, 6, 9); tested by, tested on (11, 12) */&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(5) .cmpw-clip,&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(6) .cmpw-clip,&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(9) .cmpw-clip,&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(12) .cmpw-clip { max-width: 6em; }&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(11) .cmpw-clip { max-width: 7em; }&lt;br /&gt;
/* All platforms has room for longer result columns */&lt;br /&gt;
.cmpw-list--platforms table.cmpw-listtable .cmpw-clip { max-width: 11em; }&lt;br /&gt;
/* list pages use the full width Citizen allows instead of its 1080px reading measure */&lt;br /&gt;
body.page-All_recipes,&lt;br /&gt;
body.page-All_platforms,&lt;br /&gt;
body.page-Unlocks {&lt;br /&gt;
	--width-layout: 1680px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	/* the list tables keep their key columns and fit a phone; header cells may wrap there */&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 0; }&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 7em; white-space: normal; }&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; th { white-space: normal; }&lt;br /&gt;
	/* All recipes: Recipe, Cards, Decode tok/s, Status (columns 1, 5, 7, 10) */&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(9),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status (columns 1, 2, 4, 5, 6, 8) */&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(9),&lt;br /&gt;
	/* Unlocks list: Unlock, Unlocks, Variant, Status (columns 1, 2, 3, 5) */&lt;br /&gt;
	.cmpw-list--unlocks table.cmpw-listtable tr &amp;gt; :nth-child(4) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable .cmpw-clip,&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable .cmpw-clip { max-width: 8em; }&lt;br /&gt;
	.cmpw-clip2 { -webkit-line-clamp: 3; line-clamp: 3; }&lt;br /&gt;
	/* PageForms&#039; &amp;quot;Add a ...&amp;quot; boxes (size=50) stay inside the column */&lt;br /&gt;
	.mw-parser-output .pfFormInput,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper .oo-ui-widget,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper input { max-width: 100%; box-sizing: border-box; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=430</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=430"/>
		<updated>2026-10-30T09:42:58Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: one- and two-line rows in the list tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
/* Citizen&#039;s own header is a bottom bar below 1120 px and a left rail from 1120 px: only the rail starts under our bar */&lt;br /&gt;
@media (min-width: 1120px) {&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables at every width (wiki lane): header cells on one line, words never split, wide tables scroll inside&lt;br /&gt;
   their own box (Citizen wraps wikitables in .citizen-overflow-content; Cargo&#039;s DataTables output is made its own&lt;br /&gt;
   scroller below), and the page itself never scrolls sideways ---------- */&lt;br /&gt;
.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; *,&lt;br /&gt;
.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; *,&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; * {&lt;br /&gt;
	overflow-wrap: normal;&lt;br /&gt;
	word-break: normal;&lt;br /&gt;
	hyphens: manual;&lt;br /&gt;
}&lt;br /&gt;
/* DataTables writes table-layout: fixed and overflow-wrap: break-word inline, which splits words */&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
	display: block;&lt;br /&gt;
	width: 100% !important;&lt;br /&gt;
	max-width: 100%;&lt;br /&gt;
	overflow-x: auto;&lt;br /&gt;
	table-layout: auto !important;&lt;br /&gt;
	overflow-wrap: normal !important;&lt;br /&gt;
}&lt;br /&gt;
/* one-line cells for long free text: ellipsis, full value in the tooltip (title) and on the page */&lt;br /&gt;
.cmpw-clip {&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
	max-width: 14em;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	text-overflow: ellipsis;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
/* the list tables (All recipes, All platforms, the list on Unlocks): every text value on one line with an ellipsis&lt;br /&gt;
   (full value in its tooltip), the name column at most two lines, so rows stay one or two lines high */&lt;br /&gt;
.cmpw-clip2 {&lt;br /&gt;
	display: -webkit-box;&lt;br /&gt;
	-webkit-box-orient: vertical;&lt;br /&gt;
	-webkit-line-clamp: 2;&lt;br /&gt;
	line-clamp: 2;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output table.cmpw-listtable { font-size: 0.85em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td { white-space: nowrap; padding-left: 0.45em; padding-right: 0.45em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; th { padding-left: 0.45em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { white-space: normal; min-width: 16em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable .cmpw-clip { max-width: 8em; }&lt;br /&gt;
/* All recipes column caps: cards, context, power cap (5, 6, 9); tested by, tested on (11, 12) */&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(5) .cmpw-clip,&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(6) .cmpw-clip,&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(9) .cmpw-clip,&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(12) .cmpw-clip { max-width: 6em; }&lt;br /&gt;
.cmpw-list--recipes table.cmpw-listtable td:nth-child(11) .cmpw-clip { max-width: 7em; }&lt;br /&gt;
/* All platforms has room for longer result columns */&lt;br /&gt;
.cmpw-list--platforms table.cmpw-listtable .cmpw-clip { max-width: 11em; }&lt;br /&gt;
/* list pages use the full width Citizen allows instead of its 1080px reading measure */&lt;br /&gt;
body.page-All_recipes,&lt;br /&gt;
body.page-All_platforms,&lt;br /&gt;
body.page-Unlocks {&lt;br /&gt;
	--width-layout: 1680px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	/* the list tables keep their key columns and fit a phone; header cells may wrap there */&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 0; }&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 7em; white-space: normal; }&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; th { white-space: normal; }&lt;br /&gt;
	/* All recipes: Recipe, Cards, Decode tok/s, Status (columns 1, 5, 7, 10) */&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(9),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status (columns 1, 2, 4, 5, 6, 8) */&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(9),&lt;br /&gt;
	/* Unlocks list: Unlock, Unlocks, Variant, Status (columns 1, 2, 3, 5) */&lt;br /&gt;
	.cmpw-list--unlocks table.cmpw-listtable tr &amp;gt; :nth-child(4) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable .cmpw-clip,&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable .cmpw-clip { max-width: 8em; }&lt;br /&gt;
	.cmpw-clip2 { -webkit-line-clamp: 3; line-clamp: 3; }&lt;br /&gt;
	/* PageForms&#039; &amp;quot;Add a ...&amp;quot; boxes (size=50) stay inside the column */&lt;br /&gt;
	.mw-parser-output .pfFormInput,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper .oo-ui-widget,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper input { max-width: 100%; box-sizing: border-box; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=425</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=425"/>
		<updated>2026-10-30T09:40:29Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: readable list tables (fewer columns, one-line cells), Cards per host on platforms&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
/* Citizen&#039;s own header is a bottom bar below 1120 px and a left rail from 1120 px: only the rail starts under our bar */&lt;br /&gt;
@media (min-width: 1120px) {&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables at every width (wiki lane): header cells on one line, words never split, wide tables scroll inside&lt;br /&gt;
   their own box (Citizen wraps wikitables in .citizen-overflow-content; Cargo&#039;s DataTables output is made its own&lt;br /&gt;
   scroller below), and the page itself never scrolls sideways ---------- */&lt;br /&gt;
.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; *,&lt;br /&gt;
.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; *,&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; * {&lt;br /&gt;
	overflow-wrap: normal;&lt;br /&gt;
	word-break: normal;&lt;br /&gt;
	hyphens: manual;&lt;br /&gt;
}&lt;br /&gt;
/* DataTables writes table-layout: fixed and overflow-wrap: break-word inline, which splits words */&lt;br /&gt;
.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
	display: block;&lt;br /&gt;
	width: 100% !important;&lt;br /&gt;
	max-width: 100%;&lt;br /&gt;
	overflow-x: auto;&lt;br /&gt;
	table-layout: auto !important;&lt;br /&gt;
	overflow-wrap: normal !important;&lt;br /&gt;
}&lt;br /&gt;
/* one-line cells for long free text: ellipsis, full value in the tooltip (title) and on the page */&lt;br /&gt;
.cmpw-clip {&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
	max-width: 14em;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	text-overflow: ellipsis;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
	vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
/* the list tables (All recipes, All platforms, the list on Unlocks): one line per value, the name column may wrap&lt;br /&gt;
   once; rows stay one or two lines high */&lt;br /&gt;
.mw-parser-output table.cmpw-listtable { font-size: 0.9em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td { white-space: nowrap; padding-left: 0.5em; padding-right: 0.5em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { white-space: normal; min-width: 12em; max-width: 19em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; th { padding-left: 0.5em; }&lt;br /&gt;
.mw-parser-output table.cmpw-listtable .cmpw-clip { max-width: 11em; }&lt;br /&gt;
/* list pages use the full width Citizen allows instead of its 1080px reading measure */&lt;br /&gt;
body.page-All_recipes,&lt;br /&gt;
body.page-All_platforms,&lt;br /&gt;
body.page-Unlocks {&lt;br /&gt;
	--width-layout: 1680px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	/* the list tables keep their key columns and fit a phone; header cells may wrap there */&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 0; }&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 7em; white-space: normal; }&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable &amp;gt; * &amp;gt; tr &amp;gt; th { white-space: normal; }&lt;br /&gt;
	/* All recipes: Recipe, Cards, Decode tok/s, Status (columns 1, 5, 7, 10) */&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(9),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cmpw-listtable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status (columns 1, 2, 4, 5, 6, 8) */&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cmpw-listtable tr &amp;gt; :nth-child(9),&lt;br /&gt;
	/* Unlocks list: Unlock, Unlocks, Variant, Status (columns 1, 2, 3, 5) */&lt;br /&gt;
	.cmpw-list--unlocks table.cmpw-listtable tr &amp;gt; :nth-child(4) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.cmpw-listtable .cmpw-clip { max-width: 8em; }&lt;br /&gt;
	/* PageForms&#039; &amp;quot;Add a ...&amp;quot; boxes (size=50) stay inside the column */&lt;br /&gt;
	.mw-parser-output .pfFormInput,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper .oo-ui-widget,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper input { max-width: 100%; box-sizing: border-box; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=329</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=329"/>
		<updated>2026-10-30T08:29:38Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: phone-width form boxes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
/* Citizen&#039;s own header is a bottom bar below 1120 px and a left rail from 1120 px: only the rail starts under our bar */&lt;br /&gt;
@media (min-width: 1120px) {&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables below 720 px (phones): every table scrolls sideways inside its own box instead of squashing its&lt;br /&gt;
   columns, header cells stay on one line, and the page itself never scrolls sideways. Covers wikitables and Cargo&#039;s&lt;br /&gt;
   query tables (cargoTable, and cargoDynamicTable, which Citizen leaves out of its overflow wrapper). ---------- */&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
		white-space: nowrap;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output .dataTables_wrapper { max-width: 100%; }&lt;br /&gt;
	/* PageForms&#039; &amp;quot;Add a ...&amp;quot; boxes (size=50) stay inside the column */&lt;br /&gt;
	.mw-parser-output .pfFormInput,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper .oo-ui-widget,&lt;br /&gt;
	.mw-parser-output .pfFormInputWrapper input { max-width: 100%; box-sizing: border-box; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
	/* All recipes: Recipe, Variant, Decode tok/s, Status on phones (columns 1, 5, 9, 14) */&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(10),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(13),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(15),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(16),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status on phones (columns 1, 5, 8, 9, 10, 11) */&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(12) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	/* the trimmed list tables fit a phone: their header cells may wrap (never below 4.5em), the name column keeps 8em */&lt;br /&gt;
	/* DataTables sets table-layout: fixed inline and reserves 31px per header for its sort arrows; on phones the&lt;br /&gt;
	   trimmed list tables size their columns to the content instead */&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable { table-layout: auto !important; font-size: 0.92em; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th { white-space: normal; min-width: 0; padding: 6px 18px 6px 6px; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td { padding: 6px 5px; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 6.5em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=328</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=328"/>
		<updated>2026-10-30T08:28:41Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: phone-width list tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
/* Citizen&#039;s own header is a bottom bar below 1120 px and a left rail from 1120 px: only the rail starts under our bar */&lt;br /&gt;
@media (min-width: 1120px) {&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables below 720 px (phones): every table scrolls sideways inside its own box instead of squashing its&lt;br /&gt;
   columns, header cells stay on one line, and the page itself never scrolls sideways. Covers wikitables and Cargo&#039;s&lt;br /&gt;
   query tables (cargoTable, and cargoDynamicTable, which Citizen leaves out of its overflow wrapper). ---------- */&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
		white-space: nowrap;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output .dataTables_wrapper { max-width: 100%; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
	/* All recipes: Recipe, Variant, Decode tok/s, Status on phones (columns 1, 5, 9, 14) */&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(10),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(13),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(15),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(16),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status on phones (columns 1, 5, 8, 9, 10, 11) */&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(12) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	/* the trimmed list tables fit a phone: their header cells may wrap (never below 4.5em), the name column keeps 8em */&lt;br /&gt;
	/* DataTables sets table-layout: fixed inline and reserves 31px per header for its sort arrows; on phones the&lt;br /&gt;
	   trimmed list tables size their columns to the content instead */&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable { table-layout: auto !important; font-size: 0.92em; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th { white-space: normal; min-width: 0; padding: 6px 18px 6px 6px; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td { padding: 6px 5px; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 6.5em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=327</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=327"/>
		<updated>2026-10-30T08:28:14Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: phone-width list tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
/* Citizen&#039;s own header is a bottom bar below 1120 px and a left rail from 1120 px: only the rail starts under our bar */&lt;br /&gt;
@media (min-width: 1120px) {&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables below 720 px (phones): every table scrolls sideways inside its own box instead of squashing its&lt;br /&gt;
   columns, header cells stay on one line, and the page itself never scrolls sideways. Covers wikitables and Cargo&#039;s&lt;br /&gt;
   query tables (cargoTable, and cargoDynamicTable, which Citizen leaves out of its overflow wrapper). ---------- */&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
		white-space: nowrap;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output .dataTables_wrapper { max-width: 100%; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
	/* All recipes: Recipe, Variant, Decode tok/s, Status on phones (columns 1, 5, 9, 14) */&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(10),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(13),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(15),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(16),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status on phones (columns 1, 5, 8, 9, 10, 11) */&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(12) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	/* the trimmed list tables fit a phone: their header cells may wrap (never below 4.5em), the name column keeps 8em */&lt;br /&gt;
	/* DataTables sets table-layout: fixed inline and reserves 31px per header for its sort arrows; on phones the&lt;br /&gt;
	   trimmed list tables size their columns to the content instead */&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable { table-layout: auto !important; font-size: 0.92em; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th { white-space: normal; min-width: 0; padding: 6px 18px 6px 6px; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td { padding: 6px; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 7em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=326</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=326"/>
		<updated>2026-10-30T08:27:26Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: phone-width list tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
/* Citizen&#039;s own header is a bottom bar below 1120 px and a left rail from 1120 px: only the rail starts under our bar */&lt;br /&gt;
@media (min-width: 1120px) {&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables below 720 px (phones): every table scrolls sideways inside its own box instead of squashing its&lt;br /&gt;
   columns, header cells stay on one line, and the page itself never scrolls sideways. Covers wikitables and Cargo&#039;s&lt;br /&gt;
   query tables (cargoTable, and cargoDynamicTable, which Citizen leaves out of its overflow wrapper). ---------- */&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
		white-space: nowrap;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output .dataTables_wrapper { max-width: 100%; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
	/* All recipes: Recipe, Variant, Decode tok/s, Status on phones (columns 1, 5, 9, 14) */&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(10),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(13),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(15),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(16),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status on phones (columns 1, 5, 8, 9, 10, 11) */&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(12) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	/* the trimmed list tables fit a phone: their header cells may wrap (never below 4.5em), the name column keeps 8em */&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th { white-space: normal; min-width: 4.5em; }&lt;br /&gt;
	.mw-parser-output .cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 8em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=325</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=325"/>
		<updated>2026-10-30T08:25:31Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: phone-width tables and infobox, header v2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
/* Citizen&#039;s own header is a bottom bar below 1120 px and a left rail from 1120 px: only the rail starts under our bar */&lt;br /&gt;
@media (min-width: 1120px) {&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables below 720 px (phones): every table scrolls sideways inside its own box instead of squashing its&lt;br /&gt;
   columns, header cells stay on one line, and the page itself never scrolls sideways. Covers wikitables and Cargo&#039;s&lt;br /&gt;
   query tables (cargoTable, and cargoDynamicTable, which Citizen leaves out of its overflow wrapper). ---------- */&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
		white-space: nowrap;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output .dataTables_wrapper { max-width: 100%; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
	/* All recipes: Recipe, Variant, Decode tok/s, Status on phones (columns 1, 5, 9, 14) */&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(10),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(13),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(15),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(16),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status on phones (columns 1, 5, 8, 9, 10, 11) */&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(12) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	.cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 9em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=322</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=322"/>
		<updated>2026-10-30T08:22:36Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: phone-width tables and infobox, category pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: 96px; }&lt;br /&gt;
@media (min-width: 980px) {&lt;br /&gt;
	body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;br /&gt;
&lt;br /&gt;
/* ---------- tables below 720 px (phones): every table scrolls sideways inside its own box instead of squashing its&lt;br /&gt;
   columns, header cells stay on one line, and the page itself never scrolls sideways. Covers wikitables and Cargo&#039;s&lt;br /&gt;
   query tables (cargoTable, and cargoDynamicTable, which Citizen leaves out of its overflow wrapper). ---------- */&lt;br /&gt;
.cmpw-phone-only { display: none; }&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
	.mw-parser-output table.wikitable,&lt;br /&gt;
	.mw-parser-output table.cargoTable,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable {&lt;br /&gt;
		display: block;&lt;br /&gt;
		max-width: 100%;&lt;br /&gt;
		overflow-x: auto;&lt;br /&gt;
		-webkit-overflow-scrolling: touch;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
		white-space: nowrap;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output table.wikitable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoTable &amp;gt; * &amp;gt; tr &amp;gt; td,&lt;br /&gt;
	.mw-parser-output table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
		min-width: 9em;&lt;br /&gt;
	}&lt;br /&gt;
	.mw-parser-output .dataTables_wrapper { max-width: 100%; }&lt;br /&gt;
	.cmpw-phone-only { display: block; margin: 0.5em 0; color: var( --color-subtle, #a6acb4 ); font-size: 0.9em; }&lt;br /&gt;
	/* All recipes: Recipe, Variant, Cards, Decode tok/s, Status on phones (columns 1, 5, 6, 9, 14) */&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(8),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(10),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(11),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(12),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(13),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(15),&lt;br /&gt;
	.cmpw-list--recipes table.cargoDynamicTable tr &amp;gt; :nth-child(16),&lt;br /&gt;
	/* All platforms: Platform, Variant, Gen2, ReBAR / BAR1, P2P, Status on phones (columns 1, 5, 8, 9, 10, 11) */&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(2),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(3),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(4),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(6),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(7),&lt;br /&gt;
	.cmpw-list--platforms table.cargoDynamicTable tr &amp;gt; :nth-child(12) {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	.cmpw-list table.cargoDynamicTable &amp;gt; * &amp;gt; tr &amp;gt; td:first-child { min-width: 11em; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=57</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=57"/>
		<updated>2026-10-30T07:08:45Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: site structure (templates, forms, help pages)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
/* header.css (loaded after the site CSS) sets position: relative, hence the higher specificity */&lt;br /&gt;
body .cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: 96px; }&lt;br /&gt;
@media (min-width: 980px) {&lt;br /&gt;
	body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen-preferences.json&amp;diff=38</id>
		<title>MediaWiki:Citizen-preferences.json</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen-preferences.json&amp;diff=38"/>
		<updated>2026-10-30T07:01:07Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: site structure (templates, forms, help pages)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{&lt;br /&gt;
	&amp;quot;preferences&amp;quot;: {&lt;br /&gt;
		&amp;quot;skin-theme&amp;quot;: {&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;night&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=37</id>
		<title>MediaWiki:Citizen.css</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Citizen.css&amp;diff=37"/>
		<updated>2026-10-30T07:01:05Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: site structure (templates, forms, help pages)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* cmp.wiki palette for the Citizen skin (wiki lane, 2026-10-30).&lt;br /&gt;
   Fonts (Unbounded, Inter, JetBrains Mono) and the shared header come from /shared/header.css, loaded on every page. */&lt;br /&gt;
:root {&lt;br /&gt;
	--font-family-citizen-base: &amp;quot;Inter&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, sans-serif;&lt;br /&gt;
	--font-family-citizen-monospace: &amp;quot;JetBrains Mono&amp;quot;, ui-monospace, monospace;&lt;br /&gt;
	/* teal accent #5ef2e8 = oklch(87.97% 0.1261 188.85); darker on the day theme so links stay readable */&lt;br /&gt;
	--color-progressive-oklch__h: 188.85;&lt;br /&gt;
	--color-progressive-oklch__c: 0.1261;&lt;br /&gt;
	--color-progressive-oklch__l: 52%;&lt;br /&gt;
}&lt;br /&gt;
:root.skin-theme-clientpref-night {&lt;br /&gt;
	--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
	--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
	--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
	--color-base: #e9e6df;&lt;br /&gt;
	--color-emphasized: #ffffff;&lt;br /&gt;
	--color-subtle: #a6acb4;&lt;br /&gt;
	--border-color-base: #222830;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	:root.skin-theme-clientpref-os {&lt;br /&gt;
		--color-progressive-oklch__l: 87.97%;&lt;br /&gt;
		--color-surface-0-oklch__l: 13.4%;&lt;br /&gt;
		--color-surface-0-oklch__c: 0.005;&lt;br /&gt;
		--color-base: #e9e6df;&lt;br /&gt;
		--color-emphasized: #ffffff;&lt;br /&gt;
		--color-subtle: #a6acb4;&lt;br /&gt;
		--border-color-base: #222830;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
/* display type for titles and section headings */&lt;br /&gt;
#firstHeading,&lt;br /&gt;
.mw-parser-output .mw-heading2 h2,&lt;br /&gt;
.mw-parser-output &amp;gt; h2 {&lt;br /&gt;
	font-family: &amp;quot;Unbounded&amp;quot;, system-ui, sans-serif;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: -0.01em;&lt;br /&gt;
}&lt;br /&gt;
/* orange for the secondary accent */&lt;br /&gt;
.mw-parser-output .cmpw-accent { color: #ff8a3d; }&lt;br /&gt;
&lt;br /&gt;
/* shared site header (design lane): pinned on top of every page, Citizen&#039;s own header starts below it */&lt;br /&gt;
.cmp-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }&lt;br /&gt;
body { padding-top: 96px; }&lt;br /&gt;
@media (min-width: 980px) {&lt;br /&gt;
	body { padding-top: var(--cmp-header-h, 60px); }&lt;br /&gt;
	.citizen-header { top: var(--cmp-header-h, 60px); }&lt;br /&gt;
}&lt;br /&gt;
/* the header markup arrives through the site notice slot; keep that slot from adding its own spacing */&lt;br /&gt;
#siteNotice:has(&amp;gt; .cmp-header) { margin: 0; padding: 0; }&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Uploadtext&amp;diff=36</id>
		<title>MediaWiki:Uploadtext</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Uploadtext&amp;diff=36"/>
		<updated>2026-10-30T07:01:04Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: site structure (templates, forms, help pages)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Uploads on CMP Wiki&#039;&#039;&#039; are configs, patches, scripts, logs, photos and, from the trusted group, the builds that go with an unlock.&lt;br /&gt;
&lt;br /&gt;
* Anyone signed in: txt, md, json, yaml, yml, toml, patch, diff, log, csv, png, jpg, jpeg, webp, svg, pdf.&lt;br /&gt;
* [[CMP Wiki:Trusted uploaders|Trusted group]] only: sh, py, zip, gz, tgz, xz, run, deb, bin, rom (binaries, drivers, archives, scripts, VBIOS images). Their file page must carry &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Download|version=...|source=https://...}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;; the wiki adds the sha256 and the uploader itself. Upload only what the upstream author publishes, and link the upstream release.&lt;br /&gt;
* Never model weights (link Hugging Face), never secrets, tokens, passwords, internal hostnames or IP addresses.&lt;br /&gt;
* Web uploads go up to 100 MB through the site&#039;s firewall; an admin imports larger files from the server.&lt;br /&gt;
* New accounts pass a short human check below before uploading.&lt;br /&gt;
&lt;br /&gt;
To use a file on a page: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[File:Name.png|thumb|caption]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for images, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Media:Name.patch]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for a direct link.&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Copyrightwarning&amp;diff=35</id>
		<title>MediaWiki:Copyrightwarning</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Copyrightwarning&amp;diff=35"/>
		<updated>2026-10-30T07:01:03Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: site structure (templates, forms, help pages)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Your edit is published under $2. Imported Discord material on this wiki is rewritten as credited summaries with short quotes, and anyone can ask on the Discord to have their contribution removed. Credit what you add with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Source|handle|date|link}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, and never paste secrets, tokens, passwords, internal hostnames or IP addresses.&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=MediaWiki:Sidebar&amp;diff=34</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=MediaWiki:Sidebar&amp;diff=34"/>
		<updated>2026-10-30T07:01:01Z</updated>

		<summary type="html">&lt;p&gt;Maintenance script: Wiki lane: site structure (templates, forms, help pages)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** Start here|Start here&lt;br /&gt;
** Unlocks|Unlocks&lt;br /&gt;
** All recipes|Recipes&lt;br /&gt;
** All platforms|Platforms&lt;br /&gt;
** Cooling and power|Cooling and power&lt;br /&gt;
** Troubleshooting|Troubleshooting&lt;br /&gt;
** Buying|Buying&lt;br /&gt;
** Tools|Tools&lt;br /&gt;
** https://cmp.wiki/board/|Board&lt;br /&gt;
** https://cmp.wiki/credits/|Credits&lt;br /&gt;
* Wiki&lt;br /&gt;
** Contributing|Contributing&lt;br /&gt;
** Status taxonomy|Status taxonomy&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>