@charset "UTF-8";/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}#number-merge-puzzle-wrapper{font-size:4.4444444444444444vw;max-width:600px;margin:0 auto;padding:1em;font-family:Clear Sans,Helvetica Neue,Arial,sans-serif}#number-merge-puzzle-wrapper h1{font-size:1.5em;text-align:center;margin:.5em 0}#game-container{margin-top:1em}.game-board-container{position:relative;touch-action:none;overscroll-behavior:contain}.game-header{display:flex;flex-direction:column;align-items:center;margin-bottom:1em;gap:.75em}.scores{display:flex;gap:.5em}.score-container{background:#bbada0;padding:.5em .8em;border-radius:.25em;color:#fff;text-align:center;min-width:4em;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;transition:opacity .2s;z-index:10}.score-container:hover{opacity:.9}.theme-blue .score-container{background:#8a9fb0}.theme-green .score-container{background:#8ab09f}.theme-purple .score-container{background:#9f8ab0}.score-label{font-size:.75em;text-transform:uppercase;font-weight:700;margin-bottom:.2em}.score-info-popup{position:absolute;top:calc(100% + .5em);left:50%;transform:translate(-50%);background:#fff;color:#776e65;border-radius:.5em;box-shadow:0 .25em 1em #0003;padding:.75em 1em;z-index:10001;white-space:nowrap;font-size:.9em;font-weight:400;text-transform:none;animation:popupFadeIn .2s ease-in-out}.score-info-popup:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:.5em solid transparent;border-right:.5em solid transparent;border-bottom:.5em solid white}@keyframes popupFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-.5em)}to{opacity:1;transform:translate(-50%) translateY(0)}}.score-value{font-size:1.2em;font-weight:700}.game-controls{display:flex;gap:.5em}.game-controls>button{background:#8f7a66;color:#fff;border:none;padding:.5em 1em;border-radius:.25em;font-weight:700;cursor:pointer;font-size:.9em;transition:background .2s}.game-controls>button:hover:not(:disabled){background:#9f8a76}.theme-blue .game-controls>button{background:#667a8f}.theme-blue .game-controls>button:hover:not(:disabled){background:#768a9f}.theme-green .game-controls>button{background:#668f7a}.theme-green .game-controls>button:hover:not(:disabled){background:#769f8a}.theme-purple .game-controls>button{background:#7a668f}.theme-purple .game-controls>button:hover:not(:disabled){background:#8a769f}.game-controls>button:disabled{opacity:.5;cursor:not-allowed}#mode-toggle-btn{min-width:3em;font-size:1.1em}#mode-toggle-btn.active{background:#776e65}#mode-toggle-btn.active:hover{background:#8a7e75}#theme-toggle-btn{position:relative}.theme-popup{position:absolute;top:calc(100% + .5em);right:0;background:#fff;border-radius:2em;box-shadow:0 .25em 1em #0003;padding:.5em;display:flex;flex-direction:row;gap:.5em;z-index:1000}.theme-popup:before{content:"";position:absolute;bottom:100%;right:1em;width:0;height:0;border-left:.5em solid transparent;border-right:.5em solid transparent;border-bottom:.5em solid white}.theme-option{width:2em;height:2em;padding:0;border:3px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s;position:relative;flex-shrink:0;border:none}.theme-option:hover{transform:scale(1.15);box-shadow:0 .2em .5em #0003}.theme-option.active{border-color:#8f7a66;box-shadow:0 0 0 .2em #000,0 .2em .5em #0000004d}.theme-option.active:hover{transform:scale(1.15)}.theme-option.theme-classic{background:linear-gradient(135deg,#edc22e,#f59563)}.theme-option.theme-blue{background:linear-gradient(135deg,#2ec2ed,#5f7cf6)}.theme-option.theme-green{background:linear-gradient(135deg,#2eedc2,#5ff67c)}.theme-option.theme-purple{background:linear-gradient(135deg,#c22eed,#7c5ff6)}.theme-option.theme-ocean{background:linear-gradient(135deg,#003d7a,#03a9f4)}.theme-option.theme-forest{background:linear-gradient(135deg,#0d3b0f,#4caf50)}.theme-option.theme-sunset{background:linear-gradient(135deg,#bf360c,#ffa726)}.game-board{background:#bbada0;border-radius:.5em;padding:.5em;display:grid;grid-template-columns:repeat(4,1fr);gap:.5em;position:relative;aspect-ratio:1}.theme-blue .game-board{background:#8a9fb0}.theme-green .game-board{background:#8ab09f}.theme-purple .game-board{background:#9f8ab0}.tile-container{position:absolute;top:0;left:0;right:.5em;bottom:.5em;z-index:2;font-size:1em;padding:.5em 0 0 .5em}.tile{background:#cdc1b4;border-radius:.25em;display:flex;align-items:center;justify-content:center;font-weight:700;color:#776e65;transition:all .15s ease-in-out}.tile-container .tile{position:absolute;width:calc(25% - .5em);height:calc(25% - .5em);margin-top:.5em;margin-left:.5em}.tile-container .tile span{font-size:1.8em}.tile-move{animation:move .15s ease-in-out forwards}.tile-merge{animation:move .15s ease-in-out forwards,merge .15s ease-in-out .15s}.tile-new{animation:appear .2s ease-in-out}@keyframes move{0%{top:var(--from-top);left:var(--from-left)}to{top:var(--to-top);left:var(--to-left)}}@keyframes merge{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes appear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.tile-empty{background:#eee4da59}.tile-2{background:#eee4da;color:#776e65}.tile-4{background:#ede0c8;color:#776e65}.tile-8{background:#f2b179;color:#f9f6f2}.tile-16{background:#f59563;color:#f9f6f2}.tile-32{background:#f67c5f;color:#f9f6f2}.tile-64{background:#f65e3b;color:#f9f6f2}.tile-128{background:#edcf72;color:#f9f6f2}.tile-256{background:#edcc61;color:#f9f6f2}.tile-512{background:#edc850;color:#f9f6f2}.tile-1024{background:#edc53f;color:#f9f6f2}.tile-2048{background:#edc22e;color:#f9f6f2}.tile-4096,.tile-8192{background:#3c3a32;color:#f9f6f2}.tile-128 span,.tile-256 span,.tile-512 span{font-size:1.5em}.tile-1024 span,.tile-2048 span,.tile-4096 span{font-size:1.2em}.tile-8192 span{font-size:1em}.game-message{position:absolute;top:0;left:0;right:0;bottom:0;background:#eee4dae6;border-radius:.5em;display:flex;align-items:center;justify-content:center;color:#776e65;z-index:100;cursor:pointer}.game-message-content{display:flex;flex-direction:column;align-items:center;gap:1em}.game-message-title{font-size:2em;font-weight:700}.game-message-button{background:#8f7a66;color:#fff;border:none;padding:.5em 2em;border-radius:.5em;font-size:1em;font-weight:700;cursor:pointer;transition:background .2s}.game-message-button:hover{background:#9f8a76}.game-message-hint{font-size:.7em;opacity:.7}.game-over{background:#eee4daf2;color:#776e65}.game-won{background:#edc22ee6;color:#f9f6f2}.game-won .game-message-button{background:#f9f6f2;color:#776e65}.game-won .game-message-button:hover{background:#fff}.theme-blue .tile-2{background:#dae4ee;color:#65707e}.theme-blue .tile-4{background:#c8dce0;color:#65707e}.theme-blue .tile-8{background:#79b1f2;color:#f2f6f9}.theme-blue .tile-16{background:#6395f5;color:#f2f6f9}.theme-blue .tile-32{background:#5f7cf6;color:#f2f6f9}.theme-blue .tile-64{background:#3b5ef6;color:#f2f6f9}.theme-blue .tile-128{background:#72cfed;color:#f2f6f9}.theme-blue .tile-256{background:#61cced;color:#f2f6f9}.theme-blue .tile-512{background:#50c8ed;color:#f2f6f9}.theme-blue .tile-1024{background:#3fc5ed;color:#f2f6f9}.theme-blue .tile-2048{background:#2ec2ed;color:#f2f6f9}.theme-blue .tile-4096,.theme-blue .tile-8192{background:#323a3c;color:#f2f6f9}.theme-green .tile-2{background:#daeee4;color:#657e70}.theme-green .tile-4{background:#c8e0dc;color:#657e70}.theme-green .tile-8{background:#79f2b1;color:#f2f9f6}.theme-green .tile-16{background:#63f595;color:#f2f9f6}.theme-green .tile-32{background:#5ff67c;color:#f2f9f6}.theme-green .tile-64{background:#3bf65e;color:#f2f9f6}.theme-green .tile-128{background:#72edcf;color:#f2f9f6}.theme-green .tile-256{background:#61edcc;color:#f2f9f6}.theme-green .tile-512{background:#50edc8;color:#f2f9f6}.theme-green .tile-1024{background:#3fedc5;color:#f2f9f6}.theme-green .tile-2048{background:#2eedc2;color:#f2f9f6}.theme-green .tile-4096,.theme-green .tile-8192{background:#323c3a;color:#f2f9f6}.theme-purple .tile-2{background:#e4daee;color:#70657e}.theme-purple .tile-4{background:#dcc8e0;color:#70657e}.theme-purple .tile-8{background:#b179f2;color:#f6f2f9}.theme-purple .tile-16{background:#9563f5;color:#f6f2f9}.theme-purple .tile-32{background:#7c5ff6;color:#f6f2f9}.theme-purple .tile-64{background:#5e3bf6;color:#f6f2f9}.theme-purple .tile-128{background:#cf72ed;color:#f6f2f9}.theme-purple .tile-256{background:#cc61ed;color:#f6f2f9}.theme-purple .tile-512{background:#c850ed;color:#f6f2f9}.theme-purple .tile-1024{background:#c53fed;color:#f6f2f9}.theme-purple .tile-2048{background:#c22eed;color:#f6f2f9}.theme-purple .tile-4096,.theme-purple .tile-8192{background:#3a323c;color:#f6f2f9}.theme-ocean .score-container,.theme-ocean .game-board{background:#0077be}.theme-ocean .game-controls>button{background:#005a8f}.theme-ocean .game-controls>button:hover:not(:disabled){background:#006aa5}.theme-ocean .tile-2{background:#e0f7ff;color:#004d73}.theme-ocean .tile-4{background:#b3e5fc;color:#004d73}.theme-ocean .tile-8{background:#4fc3f7;color:#fff}.theme-ocean .tile-16{background:#29b6f6;color:#fff}.theme-ocean .tile-32{background:#03a9f4;color:#fff}.theme-ocean .tile-64{background:#039be5;color:#fff}.theme-ocean .tile-128{background:#0288d1;color:#fff}.theme-ocean .tile-256{background:#0277bd;color:#fff}.theme-ocean .tile-512{background:#01579b;color:#fff}.theme-ocean .tile-1024{background:#004c8c;color:#fff}.theme-ocean .tile-2048{background:#003d7a;color:#fff}.theme-ocean .tile-4096{background:#002147;color:#fff}.theme-ocean .tile-8192{background:#001529;color:#fff}.theme-forest .score-container,.theme-forest .game-board{background:#2e7d32}.theme-forest .game-controls>button{background:#1b5e20}.theme-forest .game-controls>button:hover:not(:disabled){background:#256e28}.theme-forest .tile-2{background:#e8f5e9;color:#1b5e20}.theme-forest .tile-4{background:#c8e6c9;color:#1b5e20}.theme-forest .tile-8{background:#81c784;color:#fff}.theme-forest .tile-16{background:#66bb6a;color:#fff}.theme-forest .tile-32{background:#4caf50;color:#fff}.theme-forest .tile-64{background:#43a047;color:#fff}.theme-forest .tile-128{background:#388e3c;color:#fff}.theme-forest .tile-256{background:#2e7d32;color:#fff}.theme-forest .tile-512{background:#1b5e20;color:#fff}.theme-forest .tile-1024{background:#194d1c;color:#fff}.theme-forest .tile-2048{background:#0d3b0f;color:#fff}.theme-forest .tile-4096{background:#0a2e0c;color:#fff}.theme-forest .tile-8192{background:#052106;color:#fff}.theme-sunset .score-container,.theme-sunset .game-board{background:#d84315}.theme-sunset .game-controls>button{background:#bf360c}.theme-sunset .game-controls>button:hover:not(:disabled){background:#d84315}.theme-sunset .tile-2{background:#fff3e0;color:#bf360c}.theme-sunset .tile-4{background:#ffe0b2;color:#bf360c}.theme-sunset .tile-8{background:#ffb74d;color:#fff}.theme-sunset .tile-16{background:#ffa726;color:#fff}.theme-sunset .tile-32{background:#ff9800;color:#fff}.theme-sunset .tile-64{background:#fb8c00;color:#fff}.theme-sunset .tile-128{background:#f57c00;color:#fff}.theme-sunset .tile-256{background:#ef6c00;color:#fff}.theme-sunset .tile-512{background:#e65100;color:#fff}.theme-sunset .tile-1024{background:#d84315;color:#fff}.theme-sunset .tile-2048{background:#bf360c;color:#fff}.theme-sunset .tile-4096{background:#b71c1c;color:#fff}.theme-sunset .tile-8192{background:#880e4f;color:#fff}.tutorial-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .5s ease-in-out}.tutorial-overlay.fade-out{animation:fadeOut .5s ease-in-out;opacity:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.tutorial-content{text-align:center;color:#fff}.tutorial-text{font-size:1.5em;font-weight:700;margin-top:1em;text-shadow:0 .1em .2em rgba(0,0,0,.5)}.swipe-animation{display:flex;align-items:center;justify-content:center;gap:1em;font-size:3em}.hand-icon{font-size:2em;animation:swipeHand 2s ease-in-out infinite}.swipe-arrow{font-size:2em;font-weight:700;animation:swipeArrow 2s ease-in-out infinite}@keyframes swipeHand{0%,to{transform:translate(0)}50%{transform:translate(2em)}}@keyframes swipeArrow{0%,to{opacity:.3}50%{opacity:1}}.keyboard-animation{display:flex;justify-content:center;align-items:center}.arrow-keys{display:flex;flex-direction:column;align-items:center;gap:.5em}.arrow-row{display:flex;gap:.5em}.arrow-key{width:3em;height:3em;background:#fff;color:#333;display:flex;justify-content:center;align-items:center;border-radius:.5em;font-size:2em;font-weight:700;box-shadow:0 .2em .5em #0000004d}.arrow-key.arrow-up{animation:pulseUp 2s ease-in-out infinite}.arrow-key.arrow-left{animation:pulseLeft 2s ease-in-out infinite .5s}.arrow-key.arrow-down{animation:pulseDown 2s ease-in-out infinite 1s}.arrow-key.arrow-right{animation:pulseRight 2s ease-in-out infinite 1.5s}@keyframes pulseUp{0%,to{transform:translateY(0);box-shadow:0 .2em .5em #0000004d}50%{transform:translateY(-.5em);box-shadow:0 .5em 1em #00000080}}@keyframes pulseLeft{0%,to{transform:translate(0);box-shadow:0 .2em .5em #0000004d}50%{transform:translate(-.5em);box-shadow:0 .5em 1em #00000080}}@keyframes pulseDown{0%,to{transform:translateY(0);box-shadow:0 .2em .5em #0000004d}50%{transform:translateY(.5em);box-shadow:0 .5em 1em #00000080}}@keyframes pulseRight{0%,to{transform:translate(0);box-shadow:0 .2em .5em #0000004d}50%{transform:translate(.5em);box-shadow:0 .5em 1em #00000080}}@media screen and (min-width: 720px){#number-merge-puzzle-wrapper{font-size:16px}#number-merge-puzzle-wrapper h1{font-size:2em}.game-header{flex-direction:row;justify-content:space-between;align-items:center;gap:1em}.tile-container .tile span{font-size:2em}.tile-128 span,.tile-256 span,.tile-512 span{font-size:1.8em}.tile-1024 span,.tile-2048 span,.tile-4096 span{font-size:1.5em}.tile-8192 span{font-size:1.2em}}
