@import "https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&display=swap";
html,body{margin:0;padding:0;background:#faf8ef;color:#776e65;font-family:"Roboto","Helvetica Neue",Arial,sans-serif;font-size:18px}
body{margin:20px 0}
.heading:after{content:"";display:block;clear:both}
h1.title{font-size:50px;font-weight:700;margin:0;display:block;float:left}
@-webkit-keyframes move-up {
0%{top:25px;opacity:1}
100%{top:-50px;opacity:0}
}
@-moz-keyframes move-up {
0%{top:25px;opacity:1}
100%{top:-50px;opacity:0}
}
@keyframes move-up {
0%{top:25px;opacity:1}
100%{top:-50px;opacity:0}
}
.score-container{position:relative;float:right;background:#bbada0;padding:15px 25px;font-size:25px;height:25px;line-height:47px;font-weight:700;border-radius:3px;color:#fff;margin-top:8px}
.score-container:after{position:absolute;width:100%;top:10px;left:0;content:"スコア";text-transform:uppercase;font-size:13px;line-height:13px;text-align:center;color:#eee4da}
.score-container .score-addition{position:absolute;right:30px;color:red;font-size:25px;line-height:25px;font-weight:700;color:#776e65e6;z-index:100;-webkit-animation:move-up 600ms ease-in;-moz-animation:move-up 600ms ease-in;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both}
p{margin-top:0;margin-bottom:10px;line-height:1.65}
a{color:#776e65;font-weight:700;text-decoration:underline;cursor:pointer}
strong.important{text-transform:uppercase}
hr{border:none;border-bottom:1px solid #d8d4d0;margin-top:20px;margin-bottom:30px}
.container{width:500px;margin:0 auto}
@-webkit-keyframes fade-in {
0%{opacity:0}
100%{opacity:1}
}
@-moz-keyframes fade-in {
0%{opacity:0}
100%{opacity:1}
}
@keyframes fade-in {
0%{opacity:0}
100%{opacity:1}
}
.game-container{margin-top:40px;position:relative;padding:15px;cursor:default;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;background:#bbada0;border-radius:6px;width:500px;height:500px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
.game-container .game-message{display:none;position:absolute;top:0;right:0;bottom:0;left:0;background:#eee4da80;z-index:100;text-align:center;-webkit-animation:fade-in 800ms ease 1200ms;-moz-animation:fade-in 800ms ease 1200ms;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both}
.game-container .game-message p{font-size:60px;font-weight:700;height:60px;line-height:60px;margin-top:222px}
.game-container .game-message .lower{display:block;margin-top:59px}
.game-container .game-message a{display:inline-block;background:#8f7a66;border-radius:3px;padding:0 20px;text-decoration:none;color:#f9f6f2;height:40px;line-height:42px;margin-left:9px}
.game-container .game-message .score-sharing{display:inline-block;vertical-align:middle;margin-left:10px}
.game-container .game-message.game-won{background:#edc22e80;color:#f9f6f2}
.game-container .game-message.game-won,.game-container .game-message.game-over{display:block}
.grid-container{position:absolute;z-index:1}
.grid-row{margin-bottom:15px}
.grid-row:last-child{margin-bottom:0}
.grid-row:after{content:"";display:block;clear:both}
.grid-cell{width:106.25px;height:106.25px;margin-right:15px;float:left;border-radius:3px;background:#eee4da59}
.grid-cell:last-child{margin-right:0}
.tile-container{position:absolute;z-index:2}
.tile{width:106.25px;height:106.25px;line-height:116.25px}
.tile.tile-position-1-1{position:absolute;left:0;top:0}
.tile.tile-position-1-2{position:absolute;left:0;top:121px}
.tile.tile-position-1-3{position:absolute;left:0;top:243px}
.tile.tile-position-1-4{position:absolute;left:0;top:364px}
.tile.tile-position-2-1{position:absolute;left:121px;top:0}
.tile.tile-position-2-2{position:absolute;left:121px;top:121px}
.tile.tile-position-2-3{position:absolute;left:121px;top:243px}
.tile.tile-position-2-4{position:absolute;left:121px;top:364px}
.tile.tile-position-3-1{position:absolute;left:243px;top:0}
.tile.tile-position-3-2{position:absolute;left:243px;top:121px}
.tile.tile-position-3-3{position:absolute;left:243px;top:243px}
.tile.tile-position-3-4{position:absolute;left:243px;top:364px}
.tile.tile-position-4-1{position:absolute;left:364px;top:0}
.tile.tile-position-4-2{position:absolute;left:364px;top:121px}
.tile.tile-position-4-3{position:absolute;left:364px;top:243px}
.tile.tile-position-4-4{position:absolute;left:364px;top:364px}
.tile{border-radius:3px;background:#eee4da;text-align:center;font-weight:700;z-index:10;font-size:55px;-webkit-transition:100ms ease-in-out;-moz-transition:100ms ease-in-out;-webkit-transition-property:top,left;-moz-transition-property:top,left}
.tile.tile-2{background:#eee4da;box-shadow:0 0 30px 10px #f3d77400 inset 0 0 0 1px #fff0}
.tile.tile-4{background:#ede0c8;box-shadow:0 0 30px 10px #f3d77400 inset 0 0 0 1px #fff0}
.tile.tile-8{color:#f9f6f2;background:#f2b179}
.tile.tile-16{color:#f9f6f2;background:#f59563}
.tile.tile-32{color:#f9f6f2;background:#f67c5f}
.tile.tile-64{color:#f9f6f2;background:#f65e3b}
.tile.tile-128{color:#f9f6f2;background:#edcf72;box-shadow:0 0 30px 10px #f3d7743d inset 0 0 0 1px #ffffff24;font-size:45px}
@media screen and (max-width: 480px) {
.tile.tile-128{font-size:25px}
}
.tile.tile-256{color:#f9f6f2;background:#edcc61;box-shadow:0 0 30px 10px #f3d77451 inset 0 0 0 1px #ffffff31;font-size:45px}
@media screen and (max-width: 480px) {
.tile.tile-256{font-size:25px}
}
.tile.tile-512{color:#f9f6f2;background:#edc850;box-shadow:0 0 30px 10px #f3d77465 inset 0 0 0 1px #ffffff3d;font-size:45px}
@media screen and (max-width: 480px) {
.tile.tile-512{font-size:25px}
}
.tile.tile-1024{color:#f9f6f2;background:#edc53f;box-shadow:0 0 30px 10px #f3d77479 inset 0 0 0 1px #ffffff49;font-size:35px}
@media screen and (max-width: 480px) {
.tile.tile-1024{font-size:15px}
}
.tile.tile-2048{color:#f9f6f2;background:#edc22e;box-shadow:0 0 30px 10px #f3d7748e inset 0 0 0 1px #fff5;font-size:35px}
@media screen and (max-width: 480px) {
.tile.tile-2048{font-size:15px}
}
@-webkit-keyframes appear {
0%{opacity:0;-webkit-transform:scale(0);-moz-transform:scale(0)}
100%{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1)}
}
@-moz-keyframes appear {
0%{opacity:0;-webkit-transform:scale(0);-moz-transform:scale(0)}
100%{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1)}
}
@keyframes appear {
0%{opacity:0;-webkit-transform:scale(0);-moz-transform:scale(0)}
100%{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1)}
}
.tile-new{-webkit-animation:appear 200ms ease 100ms;-moz-animation:appear 200ms ease 100ms;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both}
@-webkit-keyframes pop {
0%{-webkit-transform:scale(0);-moz-transform:scale(0)}
50%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2)}
100%{-webkit-transform:scale(1);-moz-transform:scale(1)}
}
@-moz-keyframes pop {
0%{-webkit-transform:scale(0);-moz-transform:scale(0)}
50%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2)}
100%{-webkit-transform:scale(1);-moz-transform:scale(1)}
}
@keyframes pop {
0%{-webkit-transform:scale(0);-moz-transform:scale(0)}
50%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2)}
100%{-webkit-transform:scale(1);-moz-transform:scale(1)}
}
.tile-merged{z-index:20;-webkit-animation:pop 200ms ease 100ms;-moz-animation:pop 200ms ease 100ms;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both}
.game-intro{margin-bottom:0}
.game-explanation{margin-top:50px}
.sharing{margin-top:20px;text-align:center}
.sharing > iframe,.sharing span{display:inline-block;vertical-align:middle}
@media screen and (max-width: 480px) {
html,body{font-size:15px}
body{margin:20px 0;padding:0 20px}
h1.title{font-size:50px}
.container{width:280px;margin:0 auto}
.score-container{margin-top:0}
.heading{margin-bottom:10px}
.game-container{margin-top:40px;position:relative;padding:10px;cursor:default;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;background:#bbada0;border-radius:6px;width:280px;height:280px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
.game-container .game-message{display:none;position:absolute;top:0;right:0;bottom:0;left:0;background:#eee4da80;z-index:100;text-align:center;-webkit-animation:fade-in 800ms ease 1200ms;-moz-animation:fade-in 800ms ease 1200ms;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both}
.game-container .game-message p{font-size:60px;font-weight:700;height:60px;line-height:60px;margin-top:222px}
.game-container .game-message .lower{display:block;margin-top:59px}
.game-container .game-message a{display:inline-block;background:#8f7a66;border-radius:3px;padding:0 20px;text-decoration:none;color:#f9f6f2;height:40px;line-height:42px;margin-left:9px}
.game-container .game-message .score-sharing{display:inline-block;vertical-align:middle;margin-left:10px}
.game-container .game-message.game-won{background:#edc22e80;color:#f9f6f2}
.game-container .game-message.game-won,.game-container .game-message.game-over{display:block}
.grid-container{position:absolute;z-index:1}
.grid-row{margin-bottom:10px}
.grid-row:last-child{margin-bottom:0}
.grid-row:after{content:"";display:block;clear:both}
.grid-cell{width:57.5px;height:57.5px;margin-right:10px;float:left;border-radius:3px;background:#eee4da59}
.grid-cell:last-child{margin-right:0}
.tile-container{position:absolute;z-index:2}
.tile{width:57.5px;height:57.5px;line-height:67.5px}
.tile.tile-position-1-1{position:absolute;left:0;top:0}
.tile.tile-position-1-2{position:absolute;left:0;top:68px}
.tile.tile-position-1-3{position:absolute;left:0;top:135px}
.tile.tile-position-1-4{position:absolute;left:0;top:203px}
.tile.tile-position-2-1{position:absolute;left:68px;top:0}
.tile.tile-position-2-2{position:absolute;left:68px;top:68px}
.tile.tile-position-2-3{position:absolute;left:68px;top:135px}
.tile.tile-position-2-4{position:absolute;left:68px;top:203px}
.tile.tile-position-3-1{position:absolute;left:135px;top:0}
.tile.tile-position-3-2{position:absolute;left:135px;top:68px}
.tile.tile-position-3-3{position:absolute;left:135px;top:135px}
.tile.tile-position-3-4{position:absolute;left:135px;top:203px}
.tile.tile-position-4-1{position:absolute;left:203px;top:0}
.tile.tile-position-4-2{position:absolute;left:203px;top:68px}
.tile.tile-position-4-3{position:absolute;left:203px;top:135px}
.tile.tile-position-4-4{position:absolute;left:203px;top:203px}
.game-container{margin-top:20px}
.tile{font-size:35px}
.game-message p{font-size:30px!important;height:30px!important;line-height:30px!important;margin-top:90px!important}
.game-message .lower{margin-top:30px!important}
}
.btc-donate{position:relative;margin-left:20px;display:inline-block;background:#8f7a66;border-radius:3px;padding:0 20px;text-decoration:none;color:#f9f6f2;height:40px;line-height:42px;cursor:pointer}
.btc-donate img{vertical-align:-4px;margin-right:8px}
.btc-donate a{color:#f9f6f2;text-decoration:none;font-weight:400}
.btc-donate .address{cursor:auto;position:absolute;width:340px;right:50%;margin-right:-170px;padding-bottom:7px;top:-30px;opacity:0;pointer-events:none;-webkit-transition:400ms ease;-moz-transition:400ms ease;-webkit-transition-property:top,opacity;-moz-transition-property:top,opacity}
.btc-donate .address:after{position:absolute;border-top:10px solid #bbada0;border-right:7px solid transparent;border-left:7px solid transparent;content:"";bottom:0;left:50%;margin-left:-7px}
.btc-donate .address code{background-color:#bbada0;padding:10px 15px;width:100%;border-radius:3px;line-height:1;font-weight:400;font-size:15px;font-family:Consolas,"Liberation Mono",Courier,monospace;text-align:center}
.btc-donate:hover .address,.btc-donate .address:hover .address{opacity:1;top:-45px;pointer-events:auto}
.block{display:flex;justify-content:center;align-items:center;margin:0 auto}
.block-300{display:none;width:100%;height:250px;background-color:#181818}
.block-728{display:none;width:100%;max-width:728px;height:90px;background-color:#292929}
@media only screen and (max-width: 738px) {
.block-300{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:10px;border-radius:10px;margin-top:10px}
.block-728{display:none}
}
@media only screen and (min-width: 739px) {
.block-728{display:flex;justify-content:center;align-items:center;margin-bottom:10px;border-radius:10px;margin-top:10px}
.block-300{display:none}
}
.controls{margin-top:1em;padding:.5em 0;overflow:auto}
.controls button{background:#8f7a66;border:0;border-radius:3px;padding:0 20px;color:#f9f6f2;height:40px;line-height:42px;font-family:"Clear Sans","Helvetica Neue",Arial,sans-serif;font-size:18px;font-weight:700;cursor:pointer}
.controls button:hover{background:#ad957f}
.ai-button,#feedback-container{line-height:40px;font-size:36px}
#run-button-container{float:right}
#hint-button-container,#feedback-container{float:left}
#feedback-container{background:#8f7a66;color:#f9f6f2;margin-left:1em;font-weight:700}