:root {
	--text-color: #fff;
	--background-color-a: #4bcffa;
	--background-color-b: #1e272e;
	--background-color-c: #485460;

	--red: #ff5e57;
	--yellow: #ffc048;
	--green: #0be881;
	--blue: #575fcf;

	--grass-hover: #3cf69f;
	--grass-a: #0be881;
	--grass-b: #05c46b;

	--sand-a: #ffdd59;
	--sand-b: #ffd32a;

	--font-family: "Akshar", sans-serif;
	--header-height: 75px;
	--grid-margin: 50px;

	--flag: "\f024";
	--bomb: "\f111";
}

html {
	color: var(--text-color);
	background-color: var(--background-color-a);
	font-size: 16px;
	font-family: var(--font-family);
}

body {
	margin: 0;
	overflow: hidden;
}

/* #region HEADER */

header {
	display: flex;
	gap: 15px;
	flex-direction: row;
	align-items: center;
	width: 100%;
	height: var(--header-height);
	padding: 10px 20px;
    box-sizing: border-box;
}

#difficulty {
	position: relative;
	width: 75px;
	display: flex;
	gap: 10px;
	flex-direction: row;
	align-items: center;
	color: var(--text-color);
	background-color: var(--background-color-b);
	border-radius: 5px;
	padding: 10px;
	cursor: pointer;
}

#difficulty:after {
	content: "\f0d7";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-left: 65px;
}

#difficulty select {
	position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
	padding-left: 10px;
	appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
	color: inherit;
	background: none;
	border: none;
	outline: none;
	font-family: var(--font-family);
	font-size: 1rem;
	cursor: inherit;
}

#difficulty select * {
	background: var(--background-color-b);
}

#difficulty select::-ms-expand {
	display: none;
}

.counter {
	display: flex;
	gap: 5px;
	flex-direction: row;
	align-items: center;
}

.counter i {
	font-size: 1.25rem;
}

.counter p {
	color: var(--background-color-b);
	font-weight: 900;
}

.counter#flag-counter i {
	color: var(--red);
}

.counter#timer i {
	color: var(--yellow);
}

#reset {
	color: var(--text-color);
	background-color: var(--background-color-b);
	border: none;
	border-radius: 5px;
	padding: 10px;
	outline: none;
	cursor: pointer;
}

/* #endregion */

/* #region GRID */

main {
	display: flex;
    justify-content: center;
    height: calc(100% - var(--header-height));
}

#grid {
	display: grid;
	width: 75%;
	background-color: var(--grass-a);
	/* outline: 3px var(--green) solid; */
}

.tile {
	position: relative;
	aspect-ratio: 1;
	background-color: var(--grass-a);
	z-index: 1;

	user-select: none;
		-moz-user-select: none;
		-khtml-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		-webkit-touch-callout: none;

	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

.tile.odd {
	background-color: var(--grass-b);
}

.tile:not(.dug) {
	cursor: pointer;
}

.tile:not(.dug):hover {
	background-color: var(--grass-hover);
}

.tile.dug {
	color: var(--blue);
	background-color: var(--sand-a);
	font-size: calc(var(--icon-size) * 2);
	font-weight: 900;
}

.tile.dug.odd {
	background-color: var(--sand-b);
}

.tile.dug, .tile.bomb, .tile.flag {
	display: flex;
	justify-content: center;
    align-items: center;
}

.tile.bomb {
	background-color: var(--background-color-c) !important;
}

.tile.bomb:before {
	content: var(--bomb);
	color: var(--background-color-b);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: calc(var(--icon-size) * 1.5);
}

.tile.flag:before {
	content: var(--flag);
	color: var(--red);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: calc(var(--icon-size) * 1.25);
}

.title.flag.correct:before {
	color: var(--background-color-b);
}

/* #endregion */

/* #region PARTICLES */

canvas {
	position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
	z-index: 999;
}

/* #endregion */

/* #region RESPONSIVENESS */

@media screen and (max-width: 660px) {
	:root {
		--grid-margin: 20px;
	}
}

/* #endregion */