:root {
	--color-bg: #121213;
	--color-win: #6c6;
	--color-bright: #ddd;
	--color-bright-a: #ddd8;
	--color-main: #a5e;
	--color-main-a: #a5e8;
	--color-normal: #888;
	--color-normal-a: #8888;
	--color-error: #e44;
	--color-overlay-bg: #0008;
	--color-btn: #ccc;
	--color-btn-h: #888;
	--color-btn-share-bg: #ea58;
	--color-btn-share-bg-h: #f6cd9e88;
	--color-btn-share-b: #ea5;
	--color-btn-share-b-h: #f6cd9e;
	--color-distr-b: #444;
	--color-distr-bg: #333;
	--color-text-stroke: #000;
	--anim-osc-dur: 2s;
	--anim-osc-amt: 4px;
}
body {
	margin: 8px 8px;
	background-color: var(--color-bg);
	color: var(--color-bright);
	font-size: 20px;
	font-family: sans-serif;
	-webkit-text-stroke: 4px var(--color-text-stroke);
	paint-order: stroke fill;
}
.le {
	color: var(--color-main);
}
nav {
	margin: 1em 0;
	/* position: fixed; 
	bottom: 0;*/
	text-align: center;
}
.center {
	text-align: center;
	margin: auto;
}
.overlayContainer {
	text-align: center;
	margin: auto;
	background-color: var(--color-bg);
	padding: 1em;
	border: 2px solid var(--color-normal);
	border-radius: 0.8em;
}
canvas {
	-webkit-user-drag: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}
a {
	color: var(--color-normal);
}
nav a {
	font-weight: bold;
	text-decoration: none;
}
a:visited {
	color: var(--color-normal);
}
a:hover {
	color: var(--color-bright);
}
.rowButtons {
	display: flex;
	justify-content: center;
	gap: 0.5em;
}
svg {
	pointer-events: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}
.svgButton {
	width: 32px;
	height: 32px;
	cursor: pointer;
	fill: var(--color-normal);
	stroke: var(--color-normal);
}
.svgButton:hover {
	fill: var(--color-bright);
	stroke: var(--color-bright);
}
#result {
	display: flex;
	vertical-align: bottom;
	align-items: center;
	justify-content: center;
	height: 1em;
	font-size: 2em;
	font-weight: bold;
	margin: 0 0 0.75em 0;
}
.result_50,
.result_49,
.result_48,
.result_47,
.result_46,
.result_45,
.result_eh {
	animation: vertical-shaking 0.3s;
}
.win_emoji {
	display: inline-block;
	margin: 0 0.5em;
}
.win_emoji_R {
	animation: oscillate calc(var(--anim-osc-dur) / 2) ease-in-out infinite alternate-reverse;
	animation-delay: calc(var(--anim-osc-dur) * -0.25);
}
.win_emoji_L {
	animation: oscillate calc(var(--anim-osc-dur) / 2) ease-in-out infinite alternate-reverse;
	animation-delay: calc(var(--anim-osc-dur) * -0.75);
}
.w {
	/* 	color: var(--color-win); */
	font-weight: bold;
}
.error {
	font-size: 0.6em;
	animation: horizontal-shaking 0.3s;
	color: var(--color-error);
}
.intro {
	font-size: 0.75em;
}
#info ul {
	padding: 0;
	display: flex;
	/* width: 60%; */
	list-style: none;
	margin: auto;
}
.distribution ul {
	flex-direction: column;
}
#info li {
	flex: 1;
}
#tutorial li {
	text-align: left;
}
ul {
	padding: 0 0 0 1em;
	margin: 0.3em 0 0.5em 0;
}
li {
	margin: 0 0 0.2em 0;
}
.statistics li .h {
	font-size: 1.5em;
	font-weight: bold;
}
.statistics li div {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.distribution li {
	margin: 0.2em;
}
.distribution li div {
	display: inline-block;
	text-align: left;
}
.distribution li div.h {
	width: 10%;
}
.distribution li div.c {
	width: 90%;
}
.distribution li div.bar {
	border: 3px solid #444;
	background-color: #333;
	text-align: right;
	justify-content: right;
	border-radius: 0.4em;
	padding-right: 0.2em;
	box-sizing: border-box;
	width: 100%;
}
.distribution li div.current {
	border: 3px solid var(--color-main);
	background-color: var(--color-main-a);
}
h1 {
	margin: 0.5em 0 0.25em 0;
}
h2 {
	display: inline-block;
	font-size: 2em;
	margin: 0 0 0.2em 0;
}
h3 {
	margin: 0.5em 0 0.25em 0;
}
#overlay {
	position: fixed;
	display: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--color-overlay-bg);
	z-index: 2;
	align-items: center;
	justify-content: center;
	/*flex-flow: column;*/
}
.closeButton {
	text-align: right;
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
}
hr {
	border-width: 0;
}
#btnShare {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.4em;
}
#btnShare div {
	margin: 0 0.5em;
	display: inline-block;
	pointer-events: none;
}
.svgShare circle.normal {
	fill: var(--color-bright);
}
.svgShare line.normal {
	stroke: var(--color-bright);
}
.svgShare circle.outline {
	fill: var(--color-text-stroke);
}
.svgShare line.outline {
	stroke: var(--color-text-stroke);
}
button {
	color: var(--color-bright);
	margin: 0;
	padding: 0.4em;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-weight: bold;
	font-size: 1.0em;
	cursor: pointer;
	border: 2px solid var(--color-btn-share-b);
	background-color: var(--color-btn-share-bg);
	border-radius: 0.4em;
}
button:hover {
	border: 2px solid var(--color-btn-share-b-h);
	background-color: var(--color-btn-share-bg-h);
}
button:disabled {
	border: 2px solid var(--color-bright);
	background-color: var(--color-normal);
	cursor: default;
	opacity: 0.1;
}
.content {
	margin-top: 0.2em;
	max-width: 600px;
	max-height: 600px;
	text-align: left;
	overflow-y: scroll;
}
@media (max-width: 599px) {
	canvas {
		zoom: 0.8;
	}
}
@media (max-width: 480px) {
	canvas {
		zoom: 0.6;
	}
}
@media (max-width: 360px) {
	body {
		font-size: 16px;
	}
	canvas {
		zoom: 0.4;
	}
}
@media (max-width: 240px) {
	body {
		font-size: 12px;
	}
	canvas {
		zoom: 0.2;
	}
}
@media (max-width: 120px) {
	body {
		font-size: 8px;
	}
	canvas {
		zoom: 0.1;
	}
}