:root{
  --bg-dark:#0f172a;
  --bg-darker:#0b1120;
  --primary:#22c55e;
  --primary-light:#4ade80;
  --text-main:#f1f5f9;
  --text-muted:#94a3b8;
  --radius:12px;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  font-family:"Inter",system-ui,sans-serif;
  background:
    radial-gradient(circle at 20% 20%, #1e293b 0%, transparent 40%),
    radial-gradient(circle at 80% 80%, #064e3b 0%, transparent 40%),
    linear-gradient(135deg,var(--bg-dark),var(--bg-darker));
  color:var(--text-main);
  gap:10px;
  overflow:hidden;
}

h1{
  font-size:32px;
  font-weight:800;
  background:linear-gradient(90deg,#ffffff,#86efac);
  -webkit-background-clip:text;
  color:transparent;
  text-align:center;
}

p{
  font-size:16px;
  color:var(--text-muted);
}

.score{
  color:var(--primary-light);
  font-weight:700;
}

.grid-container{
  display:grid;
  grid-template-columns:repeat(4,70px);
  gap:10px;
  justify-content:center;
}

.card{
  width:70px;
  aspect-ratio:2/3;
  position:relative;
  border-radius:var(--radius);
  transform-style:preserve-3d;
  transition:transform .5s;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(0,0,0,.4);
}

.card.flipped{
  transform:rotateY(180deg);
}

.front,.back{
  position:absolute;
  inset:0;
  border-radius:var(--radius);
  display:flex;
  justify-content:center;
  align-items:center;
  backface-visibility:hidden;
}

.card .back{
  background:linear-gradient(145deg,#1e293b,#0f172a);
}

.card .front{
  background:linear-gradient(145deg,#ffffff,#e2e8f0);
  transform:rotateY(180deg);
}

.front-image{
  width:40px;
  height:40px;
  object-fit:contain;
}

.actions button{
  padding:8px 20px;
  font-size:14px;
  border:none;
  border-radius:20px;
  background:linear-gradient(90deg,var(--primary),var(--primary-light));
  color:#052e16;
  cursor:pointer;
}
