*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
min-height:100vh;
background:linear-gradient(135deg,#0b1f4b,#142b63,#1b3a7a,#142b63);
background-size:400% 400%;
animation:bgMove 12s ease infinite;
display:flex;
flex-direction:column;
align-items:center;
color:white;
position:relative;
overflow-x:hidden;
}

@keyframes bgMove{
0%{background-position:0% 50%;}
50%{background-position:100% 50%;}
100%{background-position:0% 50%;}
}


body::before{
content:"";
position:absolute;
width:100%;
height:100%;
background-image:
linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
background-size:60px 60px;
z-index:-2;
}


body::after{
content:"";
position:absolute;
width:700px;
height:700px;
background:radial-gradient(circle,rgba(0,120,255,0.35),transparent 70%);
top:-200px;
left:-200px;
filter:blur(140px);
z-index:-1;
}


.title{
margin-top:70px;
font-size:54px;
letter-spacing:2px;
text-shadow:0 0 20px #4fdcff;
text-align:center;
position:relative;
}


.title::before{
content:"";
position:absolute;
width:280px;
height:280px;
background:radial-gradient(circle,rgba(0,150,255,0.35),transparent 70%);
filter:blur(90px);
top:-100px;
left:50%;
transform:translateX(-50%);
z-index:-1;
}


.container{
display:flex;
gap:55px;
margin-top:95px;
flex-wrap:wrap;
justify-content:center;
align-items:center;
}


.card{
width:280px;
padding:45px 35px;
border-radius:22px;
background:rgba(255,255,255,0.12);
backdrop-filter:blur(12px);
text-align:center;
text-decoration:none;
color:white;
transition:0.4s;
box-shadow:0 18px 35px rgba(0,0,0,0.45);
}

.card h2{
margin-bottom:12px;
font-size:26px;
}

.card p{
font-size:17px;
opacity:0.85;
}

.card:hover{
transform:translateY(-12px) scale(1.07);
box-shadow:0 0 40px #4fdcff;
}


.icon{
font-size:60px;
margin-bottom:15px;
transition:0.3s;
}


.card:hover .icon{
transform:scale(1.2) rotate(5deg);
}


.board{
margin-top:50px;
display:grid;
grid-template-columns:repeat(3,110px);
gap:14px;
justify-content:center;
}


.tile{
height:110px;
width:110px;
background:rgba(255,255,255,0.15);
backdrop-filter:blur(8px);
border-radius:16px;
display:flex;
align-items:center;
justify-content:center;
font-size:32px;
cursor:pointer;
transition:all 0.3s ease;
box-shadow:0 0 15px rgba(0,0,0,0.3);
}

.tile:hover{
transform:scale(1.08);
background:rgba(255,255,255,0.3);
}


button{
margin-top:25px;
padding:12px 24px;
font-size:16px;
border:none;
border-radius:12px;
cursor:pointer;
background:linear-gradient(45deg,#00a8ff,#0066ff);
color:white;
transition:0.3s;
}

button:hover{
transform:scale(1.1);
box-shadow:0 0 18px #4fdcff;
}


.controls{
margin-top:35px;
display:flex;
gap:18px;
justify-content:center;
flex-wrap:wrap;
}


#status{
margin-top:18px;
font-size:18px;
opacity:0.9;
}


.scoreboard{
margin-top:20px;
font-size:20px;
background:rgba(255,255,255,0.1);
padding:12px 22px;
border-radius:12px;
backdrop-filter:blur(10px);
}

.game-info{
margin-top:25px;
font-size:20px;
background:rgba(255,255,255,0.1);
padding:12px 22px;
border-radius:12px;
backdrop-filter:blur(10px);
}


.back{
margin-top:30px;
display:inline-block;
color:white;
text-decoration:none;
opacity:0.8;
font-size:16px;
}

.back:hover{
opacity:1;
}