html,body{
	height:100%;
}

body{
	background:
    radial-gradient(circle at top left, #ff7b00 0%, transparent 30%),
    radial-gradient(circle at bottom right, #ff0055 0%, transparent 30%),
    linear-gradient(135deg, #1a0f0a, #111827, #000000);
	margin:0;
	padding:0;
	position: relative;
	font-family: 'American Typewriter','Marker Felt';
}

#tetris{
	left:50%;
	top:50%;
	position: absolute;
	background: #555;
    border-radius: 28px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 0 40px rgb(183 1 63 / 14%), 0 0 80px rgb(204 100 3 / 10%);
	
}

#scene{
	height:100%;
	position: absolute;
	background: #2f2f2f;
}



#side{
	height:100%;
	position: absolute;
	top:0;
	right:0;
	text-align: center;
	background: #040e25;
}

#info{
	width:120px;
	margin:0 auto;
}

#preview{
	width:80px;
	height:80px;
	margin:10px auto;
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02));
    border: 1px solid rgba(255, 255, 255, .1);
    box-shadow: inset 0 0 15px rgba(255, 255, 255, .05), 0 0 20px rgba(0, 255, 255, .12);
}

#levelInfo{
	color:#fff;
	font-size:18px;
	margin:10px 0;
}
#level{
	color:orange;
	font-size:32px;
}

#scoreInfo{
	color:#fff;
	font-size: 18px;
	margin-top:0;
}

#level, #score {
    display: inline-block;
    margin-top: 10px;
    font-size: 42px;
    font-weight: 700;
	background: linear-gradient(
		45deg,
		#ff7b00,
		#ff3d81,
		#ff0055
	);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow:
		0 0 10px rgba(255,123,0,.5),
		0 0 20px rgba(255,0,85,.5);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		text-shadow: 0 0 10px rgba(0, 255, 255, .5), 0 0 20px rgba(140, 92, 246, .5);
}


#rewardInfo{
	color:yellow;
	font-weight: bold;
	height:20px;
}


/* ===== Game Over Screen ===== */
#gameOver{
    position:absolute;
    inset:0;
    z-index:999;

    display:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,.82);
    backdrop-filter:blur(8px);

    text-align:center;
}

#gameOver h1{
    
    font-size:38px;
    color: #c40142;
    text-shadow: 0 0 20px rgb(184 1 63), 0 0 40px rgb(206 1 70 / 48%);
}

#gameOver h3{
    color:#fff;
    font-size:28px;
    margin:20px 0;
}

#finalScore{
    color:#da6a02;
    font-size:42px;
}

/* ===== Restart Button ===== */
#restart{
    display:inline-block;
    padding:14px 34px;
    border-radius:50px;

    background:linear-gradient(45deg, #db6b02, #d8004a);
    color:#fff !important;

    text-decoration:none;
    font-size:20px;
    font-weight:700;

    transition:.3s ease;
    box-shadow:0 0 20px rgb(129 66 11);
}





.invisible{
	visibility: hidden;
}

.animated {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}


@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    -ms-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}