.g2048{direction:ltr;color:#776e65;font-size:18px;max-width:500px;margin:0 auto;user-select:none;-webkit-user-select:none}
.g2048-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.g2048-scores{display:flex;gap:8px}
.g2048-score,.g2048-best{position:relative;min-width:76px;padding:8px 14px 6px;background:#bbada0;border-radius:6px;color:#fff;text-align:center;line-height:1.1}
.g2048-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#eee4da}
.g2048-value{display:block;font-size:24px;font-weight:700;position:relative}
.g2048-addition{position:absolute;right:0;left:0;top:-4px;color:rgba(119,110,101,.9);font-size:22px;font-weight:700;z-index:2;animation:g2048-move-up .6s ease-in both;pointer-events:none}
.g2048-restart{display:inline-block;background:#8f7a66;color:#f9f6f2;border-radius:6px;padding:10px 18px;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.2;white-space:nowrap}
.g2048-restart:hover,.g2048-restart:focus{background:#9f8b77;color:#f9f6f2;text-decoration:none}
.g2048-board{position:relative;width:500px;height:500px;padding:15px;background:#bbada0;border-radius:6px;box-sizing:border-box;touch-action:none}
.g2048-grid{position:absolute;left:15px;top:15px;z-index:1}
.g2048-row{display:flex;margin-bottom:15px}
.g2048-row:last-child{margin-bottom:0}
.g2048-cell{width:106.25px;height:106.25px;margin-right:15px;border-radius:3px;background:rgba(238,228,218,.35)}
.g2048-cell:last-child{margin-right:0}
.g2048-tiles{position:absolute;left:15px;top:15px;z-index:2}
.g2048-tile{position:absolute;transition:transform .1s ease-in-out;will-change:transform}
.g2048-tile-inner{width:106.25px;height:106.25px;line-height:106.25px;border-radius:3px;background:#eee4da;text-align:center;font-weight:700;font-size:55px;color:#776e65}
.g2048-tile.g2048-pos-1-1{transform:translate(0.0px,0.0px)}
.g2048-tile.g2048-pos-1-2{transform:translate(0.0px,121.25px)}
.g2048-tile.g2048-pos-1-3{transform:translate(0.0px,242.5px)}
.g2048-tile.g2048-pos-1-4{transform:translate(0.0px,363.75px)}
.g2048-tile.g2048-pos-2-1{transform:translate(121.25px,0.0px)}
.g2048-tile.g2048-pos-2-2{transform:translate(121.25px,121.25px)}
.g2048-tile.g2048-pos-2-3{transform:translate(121.25px,242.5px)}
.g2048-tile.g2048-pos-2-4{transform:translate(121.25px,363.75px)}
.g2048-tile.g2048-pos-3-1{transform:translate(242.5px,0.0px)}
.g2048-tile.g2048-pos-3-2{transform:translate(242.5px,121.25px)}
.g2048-tile.g2048-pos-3-3{transform:translate(242.5px,242.5px)}
.g2048-tile.g2048-pos-3-4{transform:translate(242.5px,363.75px)}
.g2048-tile.g2048-pos-4-1{transform:translate(363.75px,0.0px)}
.g2048-tile.g2048-pos-4-2{transform:translate(363.75px,121.25px)}
.g2048-tile.g2048-pos-4-3{transform:translate(363.75px,242.5px)}
.g2048-tile.g2048-pos-4-4{transform:translate(363.75px,363.75px)}
.g2048-tile.g2048-tile-2 .g2048-tile-inner{background:#eee4da;color:#776e65}
.g2048-tile.g2048-tile-4 .g2048-tile-inner{background:#ede0c8;color:#776e65}
.g2048-tile.g2048-tile-8 .g2048-tile-inner{background:#f2b179;color:#f9f6f2}
.g2048-tile.g2048-tile-16 .g2048-tile-inner{background:#f59563;color:#f9f6f2}
.g2048-tile.g2048-tile-32 .g2048-tile-inner{background:#f67c5f;color:#f9f6f2}
.g2048-tile.g2048-tile-64 .g2048-tile-inner{background:#f65e3b;color:#f9f6f2}
.g2048-tile.g2048-tile-128 .g2048-tile-inner{background:#edcf72;color:#f9f6f2;font-size:45px;box-shadow:0 0 30px 10px rgba(243,215,116,0.2381),inset 0 0 0 1px rgba(255,255,255,0.14286)}
.g2048-tile.g2048-tile-256 .g2048-tile-inner{background:#edcc61;color:#f9f6f2;font-size:45px;box-shadow:0 0 30px 10px rgba(243,215,116,0.31746),inset 0 0 0 1px rgba(255,255,255,0.19048)}
.g2048-tile.g2048-tile-512 .g2048-tile-inner{background:#edc850;color:#f9f6f2;font-size:45px;box-shadow:0 0 30px 10px rgba(243,215,116,0.39683),inset 0 0 0 1px rgba(255,255,255,0.2381)}
.g2048-tile.g2048-tile-1024 .g2048-tile-inner{background:#edc53f;color:#f9f6f2;font-size:35px;box-shadow:0 0 30px 10px rgba(243,215,116,0.47619),inset 0 0 0 1px rgba(255,255,255,0.28571)}
.g2048-tile.g2048-tile-2048 .g2048-tile-inner{background:#edc22e;color:#f9f6f2;font-size:35px;box-shadow:0 0 30px 10px rgba(243,215,116,0.55556),inset 0 0 0 1px rgba(255,255,255,0.33333)}
.g2048-tile.g2048-tile-super .g2048-tile-inner{background:#3c3a32;color:#f9f6f2;font-size:30px}
.g2048-tile-new .g2048-tile-inner{animation:g2048-appear .2s ease .1s both}
.g2048-tile-merged .g2048-tile-inner{z-index:20;animation:g2048-pop .2s ease .1s both}
.g2048-message{display:none;position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(238,228,218,.73);z-index:100;text-align:center;border-radius:6px;animation:g2048-fade-in .8s ease .8s both;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.g2048-message p{font-size:60px;font-weight:700;margin:0;line-height:1.1}
.g2048-message .g2048-lower{display:flex;gap:10px}
.g2048-message .g2048-keep{display:none}
.g2048-message.g2048-won,.g2048-message.g2048-over{display:flex}
.g2048-message.g2048-won{background:rgba(237,194,46,.5);color:#f9f6f2}
.g2048-message.g2048-won .g2048-keep{display:inline-block}
.g2048-hint{margin-top:14px;font-size:15px;color:#776e65;text-align:center}
[data-theme="dark"] .g2048,[data-theme="dark"] .g2048-hint{color:#e0d7cc}
[data-theme="dark"] .g2048-board{background:#8a7d70}
[data-theme="dark"] .g2048-score,[data-theme="dark"] .g2048-best{background:#8a7d70}
[data-theme="dark"] .g2048-message{background:rgba(58,59,60,.85);color:#fff}
[data-theme="dark"] .g2048-message.g2048-won{background:rgba(237,194,46,.7)}
.g2048-lb table{margin-bottom:0}
.g2048-lb .flag-icon{margin-right:6px}
@keyframes g2048-move-up{0%{top:0;opacity:1}100%{top:-40px;opacity:0}}
@keyframes g2048-appear{0%{opacity:0;transform:scale(0)}100%{opacity:1;transform:scale(1)}}
@keyframes g2048-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}100%{transform:scale(1)}}
@keyframes g2048-fade-in{0%{opacity:0}100%{opacity:1}}
@media screen and (max-width:540px){
.g2048{font-size:15px;max-width:280px}
.g2048-board{width:280px;height:280px;padding:10px}
.g2048-grid,.g2048-tiles{left:10px;top:10px}
.g2048-row{margin-bottom:10px}
.g2048-cell{width:57.5px;height:57.5px;margin-right:10px}
.g2048-tile-inner{width:57.5px;height:57.5px;line-height:57.5px;font-size:35px}
.g2048-tile.g2048-tile-128 .g2048-tile-inner,.g2048-tile.g2048-tile-256 .g2048-tile-inner,.g2048-tile.g2048-tile-512 .g2048-tile-inner{font-size:25px}
.g2048-tile.g2048-tile-1024 .g2048-tile-inner,.g2048-tile.g2048-tile-2048 .g2048-tile-inner{font-size:15px}
.g2048-tile.g2048-tile-super .g2048-tile-inner{font-size:10px}
.g2048-message p{font-size:30px}
.g2048-value{font-size:20px}
.g2048-tile.g2048-pos-1-1{transform:translate(0.0px,0.0px)}
.g2048-tile.g2048-pos-1-2{transform:translate(0.0px,67.5px)}
.g2048-tile.g2048-pos-1-3{transform:translate(0.0px,135.0px)}
.g2048-tile.g2048-pos-1-4{transform:translate(0.0px,202.5px)}
.g2048-tile.g2048-pos-2-1{transform:translate(67.5px,0.0px)}
.g2048-tile.g2048-pos-2-2{transform:translate(67.5px,67.5px)}
.g2048-tile.g2048-pos-2-3{transform:translate(67.5px,135.0px)}
.g2048-tile.g2048-pos-2-4{transform:translate(67.5px,202.5px)}
.g2048-tile.g2048-pos-3-1{transform:translate(135.0px,0.0px)}
.g2048-tile.g2048-pos-3-2{transform:translate(135.0px,67.5px)}
.g2048-tile.g2048-pos-3-3{transform:translate(135.0px,135.0px)}
.g2048-tile.g2048-pos-3-4{transform:translate(135.0px,202.5px)}
.g2048-tile.g2048-pos-4-1{transform:translate(202.5px,0.0px)}
.g2048-tile.g2048-pos-4-2{transform:translate(202.5px,67.5px)}
.g2048-tile.g2048-pos-4-3{transform:translate(202.5px,135.0px)}
.g2048-tile.g2048-pos-4-4{transform:translate(202.5px,202.5px)}
}
