html,
body {
	font: message-box;
	font-size: 13.333px;
	line-height: 1.5;
	background-color: #f2f1f0;
	height: 100%;
}
body {
	display: flex;
	height: calc(100% - 16px);
	margin: 8px;
	justify-content: center;
}
a {
	white-space: nowrap;
}
button {
	font-size: 13.333px;
}
a > img {
	-webkit-margin-end: 4px;
	margin-inline-end: 4px;
}
div#left {
	width: 30em;
	-webkit-margin-end: 16px;
	margin-inline-end: 16px;
	display: flex;
	flex-direction: column;
	transition: filter 125ms;
}
div#install,
div#meta {
	margin: 8px 0;
	border: 1px #999 solid;
	padding: 8px;
	background-color: #f7f7f7;
}
div#install ol {
	padding-left: 1.5em;
}
div#install li {
	margin: 4px 0;
	padding-left: 4px;
}
div#install pre {
	margin: 4px 0;
	color: #0c7944;
}
div#result {
	display: none;
	margin: 8px;
}
div#resulttext {
	flex: 1;
	-webkit-margin-start: 8px;
	margin-inline-start: 8px;
	white-space: pre-wrap;
}
div#menu_contexts {
	margin-top: 8px;
}
div#menu_contexts label {
	display: inline;
	white-space: nowrap;
}
div#menu_contexts input {
	vertical-align: middle;
}
div#meta {
	margin-bottom: 0;
}
div#meta p {
	margin: 2px 0;
}
div#meta a + a {
	-webkit-margin-start: 8px;
	margin-inline-start: 8px;
}
ul#browsers {
	width: 45em;
	margin: 0;
	border: 1px #999 solid;
	padding: 0.5em;
	list-style: none;
	background-color: white;
	flex-shrink: 0;
	overflow-y: auto;
	transition: filter 125ms;
}
ul#browsers li {
	display: flex;
	padding: 0.5em;
}
ul#browsers li:not(:first-of-type) {
	border-top: 1px #999 dotted;
}
.iconHolder {
	line-height: 0;
}
.configHolder {
	-webkit-margin-start: 1em;
	margin-inline-start: 1em;
	flex-grow: 1;
	line-height: 1.5;
}
.name {
	font-weight: bold;
}
.controls {
	text-align: right;
}
li.hiddenBrowser img {
	filter: saturate(0) contrast(0.5);
	opacity: 0.5;
}
li.hiddenBrowser .name,
li.hiddenBrowser .command {
	opacity: 0.5;
}
li.hiddenBrowser .hideBrowser,
li:not(.hiddenBrowser) .showBrowser {
	display: none;
}
#bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0);
	visibility: hidden;
	transition: background-color 125ms, visibility 0s 125ms;
}
form[name="details"],
form[name="userIcons"] {
	position: fixed;
	background: #fff;
	padding: 1em;
	width: 30em;
	box-sizing: border-box;
	left: 50%;
	top: 5em;
	border: 1px #999 solid;
	transform: translate(-15em);
	display: none;
}
:root[data-mode] #left,
:root[data-mode] #browsers {
	filter: blur(2px);
}
:root[data-mode] #bg {
	background-color: rgba(0, 0, 0, 0.25);
	visibility: visible;
	transition: background-color 125ms, visibility 0s;
}
:root[data-mode="adding"] form[name="details"],
:root[data-mode="editing"] form[name="details"],
:root[data-mode="icons"] form[name="userIcons"] {
	display: block;
}
h1 {
	margin: 0;
}
h2 {
	margin: 0;
	font-size: 1.5em;
	font-weight: 100;
	line-height: 1;
}
a {
	color: #0454d4;
}
:root:not([data-mode="adding"]) .adding,
:root:not([data-mode="editing"]) .editing {
	display: none;
}
label:not([hidden]) {
	display: block;
	margin-top: 0.5em;
	line-height: 1.5;
}
input[type="text"] {
	display: block;
	box-sizing: border-box;
	width: 100%;
}
ul#icons {
	margin: 0;
	border: 1px #999 solid;
	padding: 2px;
	list-style: none;
	background-color: white;
}
ul#icons li {
	display: inline-block;
	padding: 4px;
	line-height: 0;
}
.selected {
	background-color: highlight;
	color: highlighttext;
}
#iconsCredit {
	text-align: right;
	font-size: smaller;
}
.submit {
	margin-top: 1em;
	text-align: center;
}
form[name="userIcons"] ul {
	list-style: none;
	padding: 0;
	text-align: center;
}
form[name="userIcons"] li {
	display: inline-block;
	margin: 0.5em;
}
