.g2048{color:#233e36;width:min(100%,520px);margin:0 auto;font-size:15px}.g2048-stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:10px 0 16px;display:flex}.g2048-stats strong{font-size:1.35em}.g2048-grid{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#7d9a83;border-radius:16px;outline:none;grid-template-rows:repeat(4,minmax(0,1fr));gap:10px;padding:10px;display:grid}.g2048-grid:focus-visible{outline-offset:3px;outline:3px solid #de861b}.g2048-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.g2048-cell{color:#24453a;font-variant-numeric:tabular-nums;background:#dfe7d6;border-radius:10px;place-items:center;font:700 clamp(20px,7.5vw,42px)/1 system-ui,sans-serif;transition:background-color .12s;display:grid}.g2048-level-0{background:#c9d6c3}.g2048-level-1{background:#f4f1df}.g2048-level-2{background:#efdc9f}.g2048-level-3{background:#f6c98a}.g2048-level-4{background:#f2a873}.g2048-level-5{color:#fffaf0;background:#ec8a6c}.g2048-level-6{color:#fffaf0;background:#e0645a}.g2048-level-7{background:#a9cf7d;font-size:clamp(18px,6.5vw,36px)}.g2048-level-8{background:#7fbe6a;font-size:clamp(18px,6.5vw,36px)}.g2048-level-9{color:#fffaf0;background:#4e9f5b;font-size:clamp(18px,6.5vw,36px)}.g2048-level-10{color:#fffaf0;background:#2f7d55;font-size:clamp(16px,5.5vw,30px)}.g2048-level-11{color:#1d3b30;background:#e9b14c;font-size:clamp(16px,5.5vw,30px);box-shadow:inset 0 0 0 3px #fff4cf}.g2048-pad{grid-template-columns:repeat(3,56px);grid-template-areas:".up.""left down right";justify-content:center;gap:8px;margin:18px 0 8px;display:grid}.g2048-pad button{color:#244a38;cursor:pointer;touch-action:manipulation;background:#edf2e6;border:1px solid #9bab99;border-radius:10px;min-height:48px;font:600 22px system-ui}.g2048-pad button:disabled{opacity:.55;cursor:default}.g2048-pad button:focus-visible{outline-offset:3px;outline:3px solid #de861b}.g2048-up{grid-area:up}.g2048-left{grid-area:left}.g2048-down{grid-area:down}.g2048-right{grid-area:right}.g2048-status{text-align:center;min-height:3em;line-height:1.5}@media (max-width:600px){.g2048-grid,.g2048-row{gap:7px}.g2048-grid{padding:7px}}
