div.stage {
	width: 100vw;
	height: 100vh;
	background-color: #22ee99;
	> .card {
		padding-top: min(1vw,1vh);
		> table {
			border-collapse: collapse;
			width: min(90vw,90vh);
			height: min(90vw,90vh);
			border: solid 2px #37a776;
			margin: 0 auto;
			box-shadow: 5px 20px 20px rgba(0,0,0,0.3);
			> thead {
				> tr {
					> th {
						background-image: linear-gradient(#97691A,#CA9C57);
						font-size: min(8vw,8vh);
						line-height: 1;
						color: #fff;
						font-weight: 500;
						padding: 5px;
						border: solid 4px #715118;
						text-align: center;
						font-family: Anton, sans-serif;
						width: 20%;
					}
				}
			}
			> tbody {
				> tr {
					> td {
						background-color: #fff;
						padding: 10px;
						border: solid 4px #715118;
						text-align: center;
						> div {
							border-style: dashed dashed solid dashed;
							border-width: 1px;
							border-color: #ccc #ccc #eee #ccc;
							border-radius: 1000px 1000px 0 0;
							background-color: #22ee99;
							box-shadow: 5px 20px 20px rgba(0,0,0,0.3) inset;
							> div {
								background-color: #fff;
								font-size: min(8vw,8vh);
								line-height: min(13vw,13vh);
								color: #333;
								font-family: Anton, sans-serif;
								font-weight: 500;
								border-radius: 1000px 1000px 0 0;
								transform-origin: bottom center;
								border-bottom: solid 1px #fff;
								cursor: pointer;
								transition: 0.6s;
								background-image: linear-gradient(#fff,#fff);
							}
							&.open {
								& > div {
									background-image: linear-gradient(#ccc,#fff);
									transform: scaleY(0.5);
								}
							}
							&.bingo {
								& > div {
									background-image: linear-gradient(#ff7b0a,#fff);
									transform: scaleY(0.5);
								}
							}
						}
					}
				}
			}
		}
	}
}
section.config {
	> div:nth-of-type(2) {
		padding: 15px;
		font-size: 0.9rem;
		line-height: 1.3;
		color: #7b6246;
		font-weight: 400;
		> .ranges {
			display: flex;
			align-items: center;
			column-gap: 5px;
			@media (width < 890px) {
				flex-direction: column;
			}
			> span {
				margin: 5px;
				display: flex;
				align-items: center;
				font-size: 0.9rem;
				line-height: 1.2;
			}
		}
		select {
			font-size: 0.75rem !important;
		}
		> .button {
			margin-top: 3px;
		}
		> .spacer {
			margin-top: 10px;
		}
	}
	&:nth-of-type(4n - 4) {
		> div:nth-of-type(1) {
			background-color: rgba(100,100,255,0.1);
		}
	}
	&:nth-of-type(4n - 3) {
		> div:nth-of-type(3) {
			background-color: rgba(255,200,150,0.1);
		}
	}
	&:nth-of-type(4n - 2) {
		> div:nth-of-type(1) {
			background-color: rgba(200,200,255,0.1);
		}
	}
	&:nth-of-type(4n -1) {
		> div:nth-of-type(3) {
			background-color: rgba(200,255,100,0.1);
		}
	}
}

div#additional {
	display: none;
	&.visible {
		display: block;
	}
}
