.s2048-leaderboard{background:#f9f9f9;padding:15px;border-radius:8px;}
.s2048-leaderboard h3{text-align:center;margin-bottom:10px;}
.leaderboard-table {
    width:100%;
    border-collapse: collapse;
    margin-top:15px;
}

.leaderboard-table th,
.leaderboard-table td {
    border:1px solid #ddd;
    padding:8px;
}

.leaderboard-table th {
    background:#f4f4f4;
}

.wp2048-wrapper {
    max-width: 500px;
    margin: auto;
    text-align: center;
}
#s2048-board {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:5px;
    background:#bbada0;
    padding:10px;
    border-radius:8px;
    touch-action: none;   /* stops browser gesture */
    overscroll-behavior: contain;
}
.s2048-tile {
    height:80px;
    font-size:24px;
    font-weight:bold;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:6px;
    background:#cdc1b4;
    transition: transform 0.15s ease, background 0.15s ease;
}

.s2048-tile.merged {
    animation: pop 0.2s ease;
}

@keyframes pop {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.s2048-tile:not(:empty) {
    background:#f2b179;
    color:#fff;
    transform: scale(1.05);
}

.s2048-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.75);
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}