.board-wrap{position:relative;width:min(100%,460px);margin:auto;overflow:hidden;border:1px solid #294756;border-radius:18px;background:#081521}.number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;touch-action:none;user-select:none;outline-offset:-4px}.tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:11px;background:#132a39;color:#dcfff4;font-size:clamp(23px,6.5vw,36px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;border:1px solid rgba(133,207,212,.06)}.tile[data-value="2"]{background:#214354;color:#d8f0fb}.tile[data-value="4"]{background:#225467;color:#d4fcff}.tile[data-value="8"]{background:#26726e;color:#e4ffef}.tile[data-value="16"]{background:#298b79;color:#f0fff9}.tile[data-value="32"]{background:#36ac8a;color:#031b1a}.tile[data-value="64"]{background:#68d6a2;color:#092c2a}.tile[data-value="128"]{background:#69b9ed;color:#102441}.tile[data-value="256"]{background:#9cacf6;color:#162043}.tile[data-value="512"]{background:#caaaf6;color:#251547}.tile[data-value="1024"]{background:#f0c6ef;color:#341833;font-size:clamp(21px,5.5vw,32px)}.tile[data-value="2048"]{background:#ffe08d;color:#3e3010;box-shadow:inset 0 0 18px #fff8bc55;font-size:clamp(21px,5.5vw,32px)}.tile.large{background:#f8eabc;color:#483011;font-size:clamp(15px,4.1vw,28px)}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px;background:rgba(5,15,26,.84);backdrop-filter:blur(4px);pointer-events:none;text-align:center}.game-overlay[hidden]{display:none}.game-overlay strong{font-size:clamp(25px,6vw,36px);color:#ddfff3}.game-overlay span{font-size:14px;color:#b5ccda;line-height:1.8}.touch-controls{display:grid!important;grid-template-columns:repeat(3,58px);gap:8px;justify-content:center;margin:22px auto 10px}.touch-controls button{min-height:48px;padding:8px;font-size:22px}.up{grid-column:2}.left{grid-column:1;grid-row:2}.down{grid-column:2;grid-row:2}.right{grid-column:3;grid-row:2}.instructions{color:#97aebf;font-size:13px;line-height:1.85;margin:18px 0 0}.control-row{flex-wrap:wrap}button:disabled{opacity:.42;cursor:default}button{touch-action:manipulation}@media(max-width:400px){.number-grid{gap:7px;padding:10px}.tile{border-radius:8px}}
