body
	{
	background-color: black;
	background-image: url("images/starfield.jpg");
	color: #9AD;
	}

a
	{
	color: #99F;
	text-decoration: underline;
	}
	
a:hover
	{
	color: #99F;
	text-decoration: none;
	}

input[type=text] {
	background-color: white;
}

input[type=password] {
	background-color: white;
}

select {
  background-color: white;
}

select option {
  background-color: white;
}

textarea {
 background-color: white;
}

tr.top td
	{
	vertical-align: top;	
	}

tr.center td { text-align: center;	 }
	
th
	{
	text-align: center;
	font-weight: bold;
	}

td { text-align: left; }


img { border: 0pt; }

.updateHeader			{ text-align: left; font-size: 10pt; font-weight: bold; color: white; }
.updateText				{ text-align: left; font-size: 10pt; margin-top: 10pt; margin-bottom: 10pt; }
.updateColonize			{ color: #AAFFAA; }
.updateTerraform		{ color: #FFFFAA; }
.updateEngineer			{ color: #60FFFF; }
.updateDestroy			{ color: #FFAAAA; }
.updateExplore			{ color: #AAAAAA; }
.updateNuke				{ color: red; }
.updateInvade			{ color: red; }
.updateFailedInvasion	{ color: #AAAAAA; }
.updateFirstContact		{ color: #FFFF60; }
.updateUncloak			{ color: #FF99FF; }

.messageHeader
	{
	font-size: 10pt;
	font-weight: bold;
	color: white;
	}

.messageText
	{
	font: 10pt Courier;
	margin-top: 10pt;
	margin-bottom: 10pt;
	white-space: pre;
	}

.messageTextPrivate
	{
	font: 10pt Courier;
	color: #BBB;
	margin-top: 10pt;
	margin-bottom: 10pt;
	white-space: pre;
	}

.messageTextTeam
	{
	font: 10pt Courier;
	color: #EFE;
	margin-top: 10pt;
	margin-bottom: 10pt;
	white-space: pre;
	}

.scoutReport
	{
	font-size: 10pt;
	margin-top: 10pt;
	margin-bottom: 10pt;
	}

.tableCaption
	{
	font-size: 12pt;
	font-weight: bold;
	text-align: center;
	margin-bottom: 5pt;
	}

.message
	{
	font-size: 10pt;
	text-align: center;
	margin-top: 10pt;
	}

.white { color: white; }

.whiteBold
	{
	color: white;
	font-weight: bold;
	}
	
.red
	{
	color: red;
	}
	
.redBold
	{
	color: red;
	font-weight: bold;
	}

.green
	{
	color: lime;
	}

.greenBold
	{
	color: lime;
	font-weight: bold;
	}
	
.blue
	{
	color: #47F;
	}
	
.blueBold
	{
	color: #47F;
	font-weight: bold;
	}

.yellow	{ color: yellow; }
.grey	{ color: #808080; }
.pink	{ color: #FF9999; }

.requestStats	{ text-align: center; color: white; font-size: 7pt; }
.quickStats		{ text-align: center; color: white; font-size: 9pt; margin-top: 10pt; }
.pageTitle		{ font-size: 24pt; font-weight: bold; text-align: center; }
.smallTitleLeft	{ font-size: 13pt; font-weight: bold; text-align: left; }
.smallTitle		{ font-size: 13pt; font-weight: bold; text-align: center; }
.tableTitle			{ font-size: 12pt; font-weight: bold; text-align: center; }
.gameMessage			{ font-size: 10pt; text-align: center; }
.messageBold		{ font-size: 10pt; font-weight: bold; text-align: center; }
.center			{ text-align: center; }
.smallText		{ font-size: 8pt; }

.spacerule
	{
	height: 10px;
	width: 100%;
	clear: both;
	margin-left: 0pt;
	margin-right: 0pt;
	margin-top: 10pt;
	margin-bottom: 10pt;
	}

.spaceruleThin
	{
	height: 3px;
	width: 100%;
	clear: both;
	margin-left: 0pt;
	margin-right: 0pt;
	margin-top: 10pt;
	margin-bottom: 10pt;
	}
	
.playerListing
	{
	font-size: 8pt;
	color: yellow;
	position: relative;
	z-index: 0;
	text-align: left;
	}

.playerListing a
	{
	color: yellow;
	text-decoration: none;
	font-weight: bold;
	}

.playerListing a:hover
	{
	color: red;
	cursor: help;
	}

.playerListing a:focus,
.playerListing a.tooltipOpen
	{
	color: red;
	cursor: help;
	outline: none;
	}

.playerListing a span
	{
	display: none;
	}

.playerListing a:hover span,
.playerListing a:focus span,
.playerListing a.tooltipOpen span
	{
	display: block;
	
	position: absolute;
	top: 0px;
	left: 175px;
	
	color: white;
	background: black;
	
	padding: 5px;
	border: 3px groove #90A0CC;
	
	text-align: left;
	text-decoration: none;
	
	z-index: 10;
	}
	
div.motdBox
	{
	background-color: #446;
	color: #CCF;
	
	border: 2pt groove #CCF;
	
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	
	padding-left: 10pt;
	padding-right: 10pt;
	
	text-align: left;
	font-size: 8pt;
	}
	
div.motd_subject_red
	{
	color: red;
	
	margin-top: 10pt;
	
	font-size: 9pt;
	font-weight: bold;
	}
div.motd_subject_yellow
	{
	color: yellow;
	
	margin-top: 10pt;
	
	font-size: 9pt;
	font-weight: bold;
	}
div.motd_subject_green
	{
	color: lime;
	
	margin-top: 10pt;
	
	font-size: 9pt;
	font-weight: bold;
	}

div.motd_text
	{
	margin-top: 5pt;
	margin-bottom: 15pt;
	
	padding-left: 10pt;
	
	font-size: 8pt;
	}

/* ---- Shared chrome helpers (desktop-safe defaults) ---- */

.buttonBar
	{
	text-align: center;
	margin-top: 10pt;
	}

.navDangerGroup
	{
	display: inline;
	}

.mapScroll
	{
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
	}

.localMapWrap
	{
	text-align: center;
	margin: 8pt auto 4pt auto;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
	}

table.localMap
	{
	margin-left: auto;
	margin-right: auto;
	font-size: 8pt;
	}

td.localMapCell
	{
	text-align: center;
	vertical-align: top;
	padding: 2px;
	}

td.localMapEmpty
	{
	min-width: 48px;
	min-height: 48px;
	}

table.localMapSystem
	{
	margin-left: auto;
	margin-right: auto;
	font-size: 8pt;
	}

.localMapActions
	{
	text-align: center;
	margin: 0 0 8pt 0;
	}

.localOrders
	{
	margin: 12pt auto 0 auto;
	max-width: 100%;
	}

.localOrdersTitle
	{
	text-align: center;
	font-weight: bold;
	color: white;
	margin-bottom: 6pt;
	}

.localOrdersActions
	{
	text-align: center;
	margin-top: 8pt;
	}

.fluidTextarea
	{
	max-width: 95%;
	box-sizing: border-box;
	}

/* ---- Mobile usability (Package 3; breakpoint ~768px) ---- */

@media screen and (max-width: 768px)
	{
	.pageTitle
		{
		font-size: 18pt;
		}

	.requestStats,
	.smallText,
	.playerListing,
	div.motdBox,
	div.motd_text
		{
		font-size: 9pt;
		}

	.messageText,
	.messageTextPrivate,
	.messageTextTeam
		{
		white-space: pre-wrap;
		word-wrap: break-word;
		}

	.buttonBar
		{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 6px;
		}

	.buttonBar input[type=submit],
	.buttonBar input[type=button]
		{
		min-height: 36px;
		padding: 6px 10px;
		margin: 0;
		}

	.navDangerGroup
		{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 8px;
		flex-basis: 100%;
		margin-top: 10px;
		padding-top: 8px;
		border-top: 1px solid #446;
		}

	.navDangerGroup input[type=submit]
		{
		min-height: 40px;
		padding: 8px 14px;
		}

	input[type=text],
	input[type=password],
	select,
	textarea
		{
		font-size: 16px;
		max-width: 100%;
		box-sizing: border-box;
		}

	table.loginLayout,
	table.loginLayout tbody,
	table.loginLayout tr,
	table.loginLayout td.loginFormCell,
	table.loginLayout th.loginBlurbCell
		{
		display: block;
		width: 100% !important;
		}

	table.loginLayout td.loginFormCell
		{
		margin-bottom: 10pt;
		}

	table.ratiosTable,
	table.ratiosTable tbody,
	table.ratiosTable tr
		{
		display: block;
		width: 100%;
		}

	table.ratiosTable td
		{
		display: inline-block;
		padding: 2px 4px;
		}

	table.ratiosTable td:nth-child(odd)
		{
		min-width: 8em;
		}

	input.mapIcon
		{
		width: 28px !important;
		height: 28px !important;
		}

	/* System-screen 3×3 keeps full-map icon size; room exists on phones. */
	table.localMap input.mapIcon,
	table.localMap img.mapIcon
		{
		width: 40px !important;
		height: 40px !important;
		}

	input.mapIconMini
		{
		width: 16px !important;
		height: 16px !important;
		}

	.playerListing a:hover span,
	.playerListing a:focus span,
	.playerListing a.tooltipOpen span
		{
		left: 0;
		right: auto;
		max-width: 90vw;
		box-sizing: border-box;
		}

	table.shipsTable tr.shipsTableHeader
		{
		display: none;
		}

	table.shipsTable tr.shipRow
		{
		display: block;
		margin: 0 0 12px 0;
		padding: 8px;
		border: 1px solid #446;
		text-align: left;
		}

	table.shipsTable tr.shipRow td
		{
		display: block;
		text-align: left !important;
		padding: 4px 0;
		}

	table.shipsTable tr.shipRow td[data-label]:before
		{
		content: attr(data-label) ": ";
		color: white;
		font-weight: bold;
		display: inline-block;
		min-width: 6.5em;
		}

	table.shipsTable tr.shipRow td select,
	table.shipsTable tr.shipRow td input[type=text]
		{
		width: 100%;
		max-width: 100%;
		}

	table.fleetBlock
		{
		margin-bottom: 12px;
		}
	}
