.confetti-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:999}.confetti-piece{--hue:calc(var(--seed, 0)*360);animation:fall 2s linear 0s forwards;animation:fall var(--duration,2s) linear calc(var(--delay, 0s)*1) forwards;background-color:hsl(var(--hue),100%,50%);height:10px;position:absolute;transform-origin:center;width:10px}.confetti-piece:first-child{--hue:0}.confetti-piece:nth-child(2){--hue:40}.confetti-piece:nth-child(3){--hue:80}.confetti-piece:nth-child(4){--hue:120}.confetti-piece:nth-child(5){--hue:160}.confetti-piece:nth-child(6){--hue:200}.confetti-piece:nth-child(7){--hue:240}.confetti-piece:nth-child(8){--hue:280}.confetti-piece:nth-child(9){--hue:320}.confetti-piece:nth-child(10){--hue:0}.confetti-piece:nth-child(11){--hue:40}.confetti-piece:nth-child(12){--hue:80}.confetti-piece:nth-child(13){--hue:120}.confetti-piece:nth-child(14){--hue:160}.confetti-piece:nth-child(15){--hue:200}.confetti-piece:nth-child(16){--hue:240}.confetti-piece:nth-child(17){--hue:280}.confetti-piece:nth-child(18){--hue:320}.confetti-piece:nth-child(19){--hue:0}.confetti-piece:nth-child(20){--hue:40}.confetti-piece:nth-child(21){--hue:80}.confetti-piece:nth-child(22){--hue:120}.confetti-piece:nth-child(23){--hue:160}.confetti-piece:nth-child(24){--hue:200}.confetti-piece:nth-child(25){--hue:240}.confetti-piece:nth-child(26){--hue:280}.confetti-piece:nth-child(27){--hue:320}.confetti-piece:nth-child(28){--hue:0}.confetti-piece:nth-child(29){--hue:40}.confetti-piece:nth-child(30){--hue:80}.confetti-piece:nth-child(31){--hue:120}.confetti-piece:nth-child(32){--hue:160}.confetti-piece:nth-child(33){--hue:200}.confetti-piece:nth-child(34){--hue:240}.confetti-piece:nth-child(35){--hue:280}.confetti-piece:nth-child(36){--hue:320}.confetti-piece:nth-child(37){--hue:0}.confetti-piece:nth-child(38){--hue:40}.confetti-piece:nth-child(39){--hue:80}.confetti-piece:nth-child(40){--hue:120}.confetti-piece:nth-child(41){--hue:160}.confetti-piece:nth-child(42){--hue:200}.confetti-piece:nth-child(43){--hue:240}.confetti-piece:nth-child(44){--hue:280}.confetti-piece:nth-child(45){--hue:320}.confetti-piece:nth-child(46){--hue:0}.confetti-piece:nth-child(47){--hue:40}.confetti-piece:nth-child(48){--hue:80}.confetti-piece:nth-child(49){--hue:120}.confetti-piece:nth-child(50){--hue:160}@keyframes fall{0%{opacity:1;transform:translateY(-10px) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(1turn)}}@keyframes celebrate{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-overflow-scrolling:touch;background-color:#faf8ef;color:#776e65;font-family:Arial,sans-serif;overflow-x:hidden;overscroll-behavior:none;touch-action:pan-x pan-y}.game-container{margin:0 auto;max-width:500px;overscroll-behavior:contain;-webkit-overscroll-behavior:contain;padding:20px;text-align:center}.game-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:20px}.game-title{color:#776e65;font-size:48px;font-weight:700;margin:0}.score-container{display:flex;gap:10px}.score-box{background-color:#bbada0;border-radius:6px;color:#fff;font-weight:700;min-width:80px;padding:10px 15px}.score-label{display:block;font-size:12px;margin-bottom:5px;text-transform:uppercase}.score-value{display:block;font-size:18px}.game-info{margin-bottom:20px}.game-info p{font-size:16px;line-height:1.4;margin-bottom:15px}.restart-button{background-color:#8f7a66;border:none;border-radius:6px;color:#f9f6f2;cursor:pointer;font-size:16px;font-weight:700;padding:12px 24px;transition:background-color .2s}.restart-button:hover{background-color:#9f8a76}.celebration-overlay{align-items:center;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:998}.celebration-message{animation:celebratePulse 2.5s ease-out;color:#fff;font-size:48px;font-weight:700;text-shadow:2px 2px 8px #00000080}@keyframes celebratePulse{0%{opacity:1;transform:scale(0) rotate(0deg)}50%{transform:scale(1.2) rotate(5deg)}to{opacity:0;transform:scale(1) rotate(0deg)}}.game-board{background-color:#bbada0;border-radius:10px;margin-bottom:20px;overscroll-behavior:none;padding:10px;position:relative;touch-action:manipulation}.grid-container{grid-gap:8px;aspect-ratio:1;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);width:100%}.tile{align-items:center;background-color:#cdc1b4;border-radius:6px;display:flex;font-size:35px;font-weight:700;justify-content:center;position:relative;transform-origin:center;transition:all .15s ease-in-out}.tile-new{animation:tileAppear .2s ease-in-out}.tile-merged{animation:tileMerge .3s ease-in-out}.tile-moving{transition:transform .15s ease-in-out}@keyframes tileAppear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes tileMerge{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes scoreIncrease{0%{transform:scale(1)}50%{color:#f67c5f;transform:scale(1.1)}to{transform:scale(1)}}.tile-empty{background-color:#cdc1b4}.controls-info{color:#776e65;font-size:14px;line-height:1.4;margin-bottom:20px}.mobile-controls{display:none;margin-top:20px}.control-row{display:flex;gap:10px;justify-content:center;margin-bottom:10px}.control-button{background-color:#8f7a66;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:24px;font-weight:700;height:60px;transition:background-color .2s;-webkit-user-select:none;user-select:none;width:60px}.control-button:hover{background-color:#9f8a76}.control-button:active{background-color:#7f6a56}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background-color:#fff;border-radius:10px;box-shadow:0 4px 20px #0000004d;max-width:300px;padding:30px;text-align:center;width:90%}.modal h2{font-size:24px}.modal h2,.modal p{color:#776e65;margin-bottom:15px}.modal p{line-height:1.4}.modal-buttons{display:flex;gap:10px;justify-content:center}.modal-buttons button{background-color:#8f7a66;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:background-color .2s}.modal-buttons button:hover{background-color:#9f8a76}.win-overlay{animation:fadeInOverlay .3s ease-out}.win-modal{animation:winModalPopIn .5s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#f7e26b,#ffeb3b);border:3px solid #fbc02d;box-shadow:0 10px 40px #fbc02d66}.win-modal h2{animation:bounce .6s cubic-bezier(.34,1.56,.64,1);color:#d32f2f;font-size:32px;margin-bottom:20px}.win-modal p{color:#333;font-size:16px}.win-modal .win-score{color:#d32f2f;font-size:18px;font-weight:700;margin:15px 0!important}.continue-btn{background-color:#4caf50!important;border:none;font-size:15px!important;font-weight:700!important;padding:12px 24px!important}.continue-btn:hover{background-color:#45a049!important}.restart-btn{background-color:#ff9800!important;border:none;font-size:15px!important;font-weight:700!important;padding:12px 24px!important}.restart-btn:hover{background-color:#e68900!important}@keyframes fadeInOverlay{0%{background-color:#0000}to{background-color:#00000080}}@keyframes winModalPopIn{0%{opacity:0;transform:scale(.7) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loading{color:#776e65;font-size:18px;padding:50px;text-align:center}@media (max-width:600px){.game-container{height:100vh;overflow-y:auto;overscroll-behavior:none;padding:15px}.game-header{flex-direction:column;gap:15px}.game-title{font-size:36px}.score-container{justify-content:center}.tile{font-size:28px}.mobile-controls{display:block}.controls-info{font-size:13px}.controls-info strong{display:none}}@media (max-width:400px){.game-container{height:100vh;overflow-y:auto;padding:10px}.game-title{font-size:30px}.tile{font-size:24px}.tile[style*="28px"]{font-size:20px!important}.tile[style*="32px"]{font-size:22px!important}.control-button{font-size:20px;height:50px;width:50px}.score-box{min-width:70px;padding:8px 12px}.score-value{font-size:16px}}@media (hover:none) and (pointer:coarse){.control-button:hover{background-color:#8f7a66}.control-button:active{background-color:#7f6a56}.restart-button:hover{background-color:#8f7a66}}
/*# sourceMappingURL=main.87910875.css.map*/