@font-face{font-family:Clear Sans;src:url(/fonts/ClearSans-Light-webfont.eot);src:url(/fonts/ClearSans-Light-webfont.eot?#iefix)format("embedded-opentype"),url(/fonts/ClearSans-Light-webfont.svg#clear_sans_lightregular)format("svg"),url(/fonts/ClearSans-Light-webfont.woff)format("woff");font-weight:200;font-style:normal}@font-face{font-family:Clear Sans;src:url(/fonts/ClearSans-Regular-webfont.eot);src:url(/fonts/ClearSans-Regular-webfont.eot?#iefix)format("embedded-opentype"),url(/fonts/ClearSans-Regular-webfont.svg#clear_sansregular)format("svg"),url(/fonts/ClearSans-Regular-webfont.woff)format("woff");font-weight:400;font-style:normal}@font-face{font-family:Clear Sans;src:url(/fonts/ClearSans-Bold-webfont.eot);src:url(/fonts/ClearSans-Bold-webfont.eot?#iefix)format("embedded-opentype"),url(/fonts/ClearSans-Bold-webfont.svg#clear_sansbold)format("svg"),url(/fonts/ClearSans-Bold-webfont.woff)format("woff");font-weight:700;font-style:normal}:root{--bg-color:#080d0a;--panel-bg:#101a14a6;--border-color:#00ff8826;--border-active:#0f86;--primary-glow:#0f8c;--primary-dim:#0f8;--text-main:#e0e6e3;--text-dim:#889e93;--font-cyber:"Clear Sans", "Helvetica Neue", Arial, sans-serif}html,body{background:var(--bg-color);color:var(--text-main);font-family:var(--font-cyber);background-image:radial-gradient(at 0 0,#00ff880d 0,#0000 50%),radial-gradient(at 100% 100%,#00ff8808 0,#0000 50%),linear-gradient(#121e1666 1px,#0000 1px),linear-gradient(90deg,#121e1666 1px,#0000 1px);background-size:100% 100%,100% 100%,40px 40px,40px 40px;min-height:100vh;margin:0;padding:0;font-size:18px}body{margin:60px 0}.container{z-index:10;width:500px;margin:0 auto;position:relative}.heading{margin-bottom:25px}.heading:after{content:"";clear:both;display:block}h1.title{float:left;color:#fff;text-shadow:0 0 15px var(--primary-glow);letter-spacing:-2px;margin:0;font-size:64px;font-weight:800;display:block}.scores-container{float:right;text-align:right;gap:12px;margin-top:15px;display:flex}.score-container,.best-container{background:var(--panel-bg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;text-align:center;border-radius:6px;min-width:60px;height:25px;padding:15px 22px;font-size:24px;font-weight:700;line-height:47px;transition:all .3s;display:inline-block;position:relative;box-shadow:0 4px 20px #0006}.score-container:hover,.best-container:hover{border-color:var(--border-active);box-shadow:0 0 15px #00ff8826}.score-container:after,.best-container:after{text-transform:uppercase;text-align:center;width:100%;color:var(--primary-dim);letter-spacing:2px;font-size:11px;font-weight:600;line-height:11px;position:absolute;top:8px;left:0}.score-container:after{content:"SCORE"}.best-container:after{content:"BEST"}.score-container .score-addition,.best-container .score-addition{color:var(--primary-dim);text-shadow:0 0 10px var(--primary-glow);z-index:100;font-size:24px;font-weight:700;line-height:25px;animation:.6s ease-in both move-up;position:absolute;right:20px}@keyframes move-up{0%{opacity:1;top:25px}to{opacity:0;top:-50px}}.above-game{justify-content:space-between;gap:10px;margin-bottom:20px;display:flex}.ai-button,.hint-button,.restart-button{background:var(--panel-bg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-main);text-align:center;cursor:pointer;box-sizing:border-box;text-transform:uppercase;letter-spacing:1px;-webkit-user-select:none;user-select:none;border-radius:4px;flex:1;height:44px;font-size:14px;font-weight:700;line-height:44px;text-decoration:none;transition:all .2s;display:inline-block}.ai-button:hover,.hint-button:hover,.restart-button:hover{border-color:var(--primary-dim);color:#fff;transform:translateY(-1px);box-shadow:0 0 12px #00ff8840}.ai-button:active,.hint-button:active,.restart-button:active{transform:translateY(1px)}.ai-button.running{border-color:var(--primary-dim);color:var(--primary-dim);text-shadow:0 0 8px var(--primary-glow);background:#00ff8826}.game-container{cursor:default;border:2px solid var(--border-color);box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:none;background:#0f1612;border-radius:8px;width:500px;height:500px;padding:15px;position:relative;box-shadow:0 8px 32px #0009,0 0 20px #00ff880d}.grid-container{z-index:1;position:absolute}.grid-row{margin-bottom:15px}.grid-row:last-child{margin-bottom:0}.grid-row:after{content:"";clear:both;display:block}.grid-cell{float:left;box-sizing:border-box;background:#00ff8808;border:1px solid #00ff880f;border-radius:4px;width:106.25px;height:106.25px;margin-right:15px}.grid-cell:last-child{margin-right:0}.tile-container{z-index:2;position:absolute}.tile,.tile .tile-inner{width:107px;height:107px;line-height:107px}.tile.tile-position-1-1{transform:translate(0)}.tile.tile-position-1-2{transform:translateY(121px)}.tile.tile-position-1-3{transform:translateY(242px)}.tile.tile-position-1-4{transform:translateY(363px)}.tile.tile-position-2-1{transform:translate(121px)}.tile.tile-position-2-2{transform:translate(121px,121px)}.tile.tile-position-2-3{transform:translate(121px,242px)}.tile.tile-position-2-4{transform:translate(121px,363px)}.tile.tile-position-3-1{transform:translate(242px)}.tile.tile-position-3-2{transform:translate(242px,121px)}.tile.tile-position-3-3{transform:translate(242px,242px)}.tile.tile-position-3-4{transform:translate(242px,363px)}.tile.tile-position-4-1{transform:translate(363px)}.tile.tile-position-4-2{transform:translate(363px,121px)}.tile.tile-position-4-3{transform:translate(363px,242px)}.tile.tile-position-4-4{transform:translate(363px,363px)}.tile{transition:transform .1s ease-in-out;position:absolute}.tile .tile-inner{text-align:center;z-index:10;box-sizing:border-box;border:1px solid #ffffff1a;border-radius:4px;font-size:48px;font-weight:800;transition:all .15s}.tile.tile-2 .tile-inner{color:#e0e6e3;background:#e0e6e314;border-color:#e0e6e326}.tile.tile-4 .tile-inner{color:#0f8;text-shadow:0 0 8px #00ff884d;background:#00ff8814;border-color:#0f83}.tile.tile-8 .tile-inner{color:#00e5ff;text-shadow:0 0 10px #00e5ff66;background:#00e5ff1f;border-color:#00e5ff4d}.tile.tile-16 .tile-inner{color:#2979ff;text-shadow:0 0 10px #2979ff66;background:#2979ff26;border-color:#2979ff66}.tile.tile-32 .tile-inner{color:#651fff;text-shadow:0 0 12px #651fff80;background:#651fff2e;border-color:#651fff80}.tile.tile-64 .tile-inner{color:#f50057;text-shadow:0 0 12px #f5005780;background:#f5005733;border-color:#f5005799}.tile.tile-128 .tile-inner{color:#ffeb3b;text-shadow:0 0 14px #ffeb3b99;background:#ffeb3b38;border-color:#ffeb3bb3;font-size:40px}.tile.tile-256 .tile-inner{color:#ff6d00;text-shadow:0 0 15px #ff6d00b3;background:#ff6d0040;border-color:#ff6d00cc;font-size:40px}.tile.tile-512 .tile-inner{color:#00e676;text-shadow:0 0 18px #00e676cc;background:#00e67647;border-color:#00e676;font-size:40px}.tile.tile-1024 .tile-inner{color:#00b0ff;text-shadow:0 0 20px #00b0ffe6;background:#00b0ff52;border-color:#00b0ff;font-size:32px}.tile.tile-2048 .tile-inner{color:#d500f9;text-shadow:0 0 25px #d500f9;background:#d500f959;border-color:#d500f9;font-size:32px}.tile.tile-super .tile-inner{color:#fff;text-shadow:0 0 30px #fff;background:#ffffff26;border-color:#fff;font-size:28px}@keyframes appear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.tile-new .tile-inner{animation:.2s .1s backwards appear}@keyframes pop{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1)}}.tile-merged .tile-inner{z-index:20;animation:.2s .1s backwards pop}.game-container .game-message{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;text-align:center;background:#080d0ad9;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;animation:.4s both fade-in;display:none;position:absolute;inset:0}.game-container .game-message.show{display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.game-container .game-message p{letter-spacing:-1px;margin:0 0 30px;font-size:48px;font-weight:800}.game-container .game-message.game-won p{color:var(--primary-dim);text-shadow:0 0 15px var(--primary-glow)}.game-container .game-message.game-over p{color:#f50057;text-shadow:0 0 15px #f5005799}.game-container .game-message .lower{gap:15px;display:flex}.game-container .game-message a{background:var(--panel-bg);border:1px solid var(--border-color);color:var(--text-main);text-transform:uppercase;letter-spacing:1px;cursor:pointer;border-radius:4px;height:46px;padding:0 24px;font-size:13px;font-weight:700;line-height:46px;text-decoration:none;transition:all .2s;display:inline-block}.game-container .game-message a:hover{border-color:var(--primary-dim);color:#fff;box-shadow:0 0 12px #00ff884d}hr{border:none;border-bottom:1px solid #00ff881a;margin-top:25px;margin-bottom:25px}p{color:var(--text-dim);font-size:14px;line-height:1.6}a{color:var(--primary-dim);border-bottom:1px dotted var(--primary-dim);font-weight:700;text-decoration:none;transition:all .2s}a:hover{color:#fff;text-shadow:0 0 8px var(--primary-glow);border-bottom-color:#fff}@media screen and (max-width:520px){body{margin:20px 0;padding:0 15px}h1.title{margin-top:5px;font-size:36px}.container{width:280px}.scores-container{gap:8px;margin-top:5px}.score-container,.best-container{height:18px;padding:10px 14px;font-size:16px;line-height:32px}.score-container:after,.best-container:after{font-size:9px;top:4px}.above-game{gap:6px;margin-bottom:15px}.ai-button,.hint-button,.restart-button{letter-spacing:0;height:38px;font-size:11px;line-height:38px}.game-container{border-width:1px;width:280px;height:280px;margin-top:10px;padding:10px}.grid-row{margin-bottom:10px}.grid-cell{width:57.5px;height:57.5px;margin-right:10px}.tile,.tile .tile-inner{width:58px;height:58px;line-height:58px}.tile.tile-position-1-1{transform:translate(0)}.tile.tile-position-1-2{transform:translateY(67px)}.tile.tile-position-1-3{transform:translateY(135px)}.tile.tile-position-1-4{transform:translateY(202px)}.tile.tile-position-2-1{transform:translate(67px)}.tile.tile-position-2-2{transform:translate(67px,67px)}.tile.tile-position-2-3{transform:translate(67px,135px)}.tile.tile-position-2-4{transform:translate(67px,202px)}.tile.tile-position-3-1{transform:translate(135px)}.tile.tile-position-3-2{transform:translate(135px,67px)}.tile.tile-position-3-3{transform:translate(135px,135px)}.tile.tile-position-3-4{transform:translate(135px,202px)}.tile.tile-position-4-1{transform:translate(202px)}.tile.tile-position-4-2{transform:translate(202px,67px)}.tile.tile-position-4-3{transform:translate(202px,135px)}.tile.tile-position-4-4{transform:translate(202px,202px)}.tile .tile-inner{font-size:26px}.tile.tile-128 .tile-inner,.tile.tile-256 .tile-inner,.tile.tile-512 .tile-inner{font-size:22px}.tile.tile-1024 .tile-inner,.tile.tile-2048 .tile-inner{font-size:18px}.tile.tile-super .tile-inner{font-size:16px}.game-container .game-message p{margin-bottom:20px;font-size:32px}.game-container .game-message a{height:38px;padding:0 16px;font-size:11px;line-height:38px}}
