*{box-sizing:border-box;margin:0;padding:0}:root{--vh:1vh}.game-root{justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 64px);display:flex;position:relative}.svg-filters{pointer-events:none;width:0;height:0;position:absolute}@media (prefers-color-scheme:light){h1{color:#000000d9;text-shadow:0 2px 10px #0000001a}.score-label{color:#0009}.score,.best-score{color:#000000d9;text-shadow:0 1px 2px #0000001a}.score-box .liquidGlass-tint,.btn-new .liquidGlass-tint,.btn-undo .liquidGlass-tint{background:#0000000f}.btn-new .liquidGlass-content,.btn-undo .liquidGlass-content{color:#000000d9;text-shadow:0 1px 2px #0000001a}.btn-new:hover .liquidGlass-tint,.btn-undo:hover .liquidGlass-tint{background:#0000001a}.btn-undo.disabled .liquidGlass-tint,.btn-undo.disabled:hover .liquidGlass-tint{background:#00000008}.game-container:before{background:#00000014}.game-container:after{box-shadow:inset 2px 2px 4px #ffffff80,inset -2px -2px 4px #0000000d}.instructions{color:#0009;background:#0000000a;border:1px solid #00000014}.liquidGlass-shine{box-shadow:inset 0 1px 1px #fffc,inset 1px 0 1px #fffc,inset -.5px -.5px 1px #ffffff4d}}.container{width:100%;max-width:100vw;height:100%;padding:20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));z-index:1;flex-direction:column;justify-content:space-between;display:flex;position:relative}.main-content{flex-grow:1;justify-content:center;align-items:center;display:flex;position:relative}.heading{justify-content:space-between;align-items:center;width:100%;margin-bottom:12px;display:flex}.header{flex-shrink:0;justify-content:space-between;align-items:center;width:100%;padding:0 10px;display:flex}.header .score-container{flex-grow:1;justify-content:flex-end;gap:15px;display:flex}.footer{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:15px;display:flex}.footer .controls{justify-content:center;gap:20px;width:100%;display:flex}.footer .btn-new,.footer .btn-undo{margin-right:0}h1,.game-title{color:#ffffffe6;text-shadow:0 4px 20px #00000080;flex-shrink:0;margin:0;font-size:60px;font-weight:700}.header .btn-new{flex-shrink:0}.score-container{align-items:flex-start;gap:15px;display:flex}.score-box{--ui-border-radius:10px;border-radius:var(--ui-border-radius);-webkit-backdrop-filter:none;width:120px;box-shadow:none;background:0 0;border:none;margin-left:0;padding:0;display:block;position:relative;overflow:hidden}.score-box .liquidGlass-effect{border-radius:var(--ui-border-radius)}.score-box .liquidGlass-tint{border-radius:var(--ui-border-radius);background:#ffffff14}.score-box .liquidGlass-shine{border-radius:var(--ui-border-radius)}.score-box .liquidGlass-content{z-index:3;text-align:center;padding:10px 20px;position:relative}.score-label{color:#ffffffb3;text-transform:none;font-size:12px;font-weight:500}.game-instructions{width:100%;margin-top:20px;padding:0 10px}.instructions-text{color:#ffffffbf;text-align:center;margin:0;font-size:14px;line-height:1.6}.instructions-text strong{color:#ffffffe6;font-weight:600}.score,.best-score{color:#fff;text-shadow:0 1px 3px #0006;margin-top:5px;font-size:25px;font-weight:700}.controls{display:none}.game-root .controls{z-index:5;justify-content:center;gap:20px;margin-top:12px;display:flex}.btn-new,.btn-undo{--ui-border-radius:10px;border-radius:var(--ui-border-radius);cursor:pointer;-webkit-backdrop-filter:none;min-width:120px;box-shadow:none;background:0 0;border:none;margin-right:10px;padding:0;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.btn-new.liquidGlass-wrapper,.btn-undo.liquidGlass-wrapper{display:inline-flex}.btn-new .liquidGlass-effect,.btn-undo .liquidGlass-effect{border-radius:var(--ui-border-radius)}.btn-new .liquidGlass-tint,.btn-undo .liquidGlass-tint{border-radius:var(--ui-border-radius);background:#ffffff14;transition:background .3s}.btn-new .liquidGlass-shine,.btn-undo .liquidGlass-shine{border-radius:var(--ui-border-radius)}.btn-new .liquidGlass-content,.btn-undo .liquidGlass-content{z-index:3;color:#ffffffe6;text-shadow:0 1px 3px #0006;padding:10px 20px;font-size:16px;font-weight:600;position:relative}.btn-new:hover .liquidGlass-tint,.btn-undo:hover .liquidGlass-tint{background:#ffffff1f}.btn-new:hover,.btn-undo:hover{transform:translateY(-1px)}.btn-undo.disabled{cursor:not-allowed;opacity:.5}.btn-undo.disabled .liquidGlass-tint{background:#ffffff08}.btn-undo.disabled:hover{transform:none}.btn-undo.disabled:hover .liquidGlass-tint{background:#ffffff08}.game-container{aspect-ratio:1;background:0 0;border-radius:20px;flex:none;width:100%;max-width:min(450px,90vw,80vh);margin:0 auto;padding:10px;position:relative;overflow:visible}.liquid-glass-effect{display:none}.game-container:before{content:"";z-index:1;pointer-events:none;background:#ffffff1a;border-radius:20px;position:absolute;inset:0}.game-container:after{content:"";z-index:2;pointer-events:none;border-radius:20px;position:absolute;inset:0;box-shadow:inset 2px 2px 4px #fff3,inset -2px -2px 4px #0000001a}.grid-container{aspect-ratio:1;z-index:3;background:0 0;border-radius:10px;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:10px;width:100%;padding:10px;display:grid;position:relative}.grid-row{display:contents}.grid-cell{display:none}.tile-container{z-index:4;position:absolute;inset:10px}.liquidGlass-wrapper{cursor:pointer;box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:all .3s;display:inline-flex;position:relative;overflow:hidden}.liquidGlass-wrapper>.liquidGlass-effect,.liquidGlass-wrapper>.liquidGlass-tint,.liquidGlass-wrapper>.liquidGlass-shine,.liquidGlass-wrapper>.liquidGlass-content{border-radius:var(--ui-border-radius,10px);position:absolute;inset:0}.liquidGlass-wrapper>.liquidGlass-effect{z-index:0;-webkit-backdrop-filter:blur(5px)saturate(120%);filter:url(#glass-distortion)}.liquidGlass-wrapper>.liquidGlass-tint{z-index:1;background:#ffffff14;transition:background .3s}.liquidGlass-wrapper>.liquidGlass-shine{z-index:2;box-shadow:inset 0 1px 1px #fff9,inset 1px 0 1px #fff9,inset -.5px -.5px 1px #ffffff26}.liquidGlass-wrapper>.liquidGlass-content{z-index:3;flex-direction:column;justify-content:center;align-items:center;padding:10px 20px;display:flex;position:relative}.tile{--tile-border-radius:18px;border-radius:var(--tile-border-radius);cursor:pointer;will-change:transform;background:0 0;border:none;width:calc(25% - 7.5px);height:calc(25% - 7.5px);font-weight:600;line-height:1;transition:top .12s cubic-bezier(.25,.46,.45,.94),left .12s cubic-bezier(.25,.46,.45,.94),transform 80ms ease-out,border-radius .4s cubic-bezier(.175,.885,.32,2.2);display:flex;position:absolute;overflow:hidden;transform:translateZ(0)}.tile.dragging{will-change:transform;transition:transform 50ms linear!important}.tile.moving{transition:top .12s cubic-bezier(.25,.46,.45,.94),left .12s cubic-bezier(.25,.46,.45,.94),transform .12s cubic-bezier(.25,.46,.45,.94)!important}.tile-container.dragging-active{transition:opacity .2s}@media (max-width:520px){.tile.dragging{transition:none!important}.tile.dragging .liquidGlass-effect{filter:url(#glass-distortion)}}.tile.dragging{z-index:100}.tile.dragging .liquidGlass-effect{filter:url(#glass-distortion)drop-shadow(0 8px 20px #0000004d)}.tile.dragging .liquidGlass-shine{box-shadow:inset 0 1px 2px #fffc,inset 1px 0 2px #fffc,inset -.5px -.5px 1px #ffffff4d}.tile .liquidGlass-effect{z-index:0;-webkit-backdrop-filter:blur(3px);filter:url(#glass-distortion);isolation:isolate;border-radius:var(--tile-border-radius);transition:border-radius .4s cubic-bezier(.175,.885,.32,2.2);position:absolute;inset:0;overflow:hidden;display:block!important}.tile .liquidGlass-tint{z-index:1;border-radius:var(--tile-border-radius);transition:border-radius .4s cubic-bezier(.175,.885,.32,2.2);position:absolute;inset:0}.tile .liquidGlass-shine{z-index:2;border-radius:var(--tile-border-radius);transition:border-radius .4s cubic-bezier(.175,.885,.32,2.2);position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px 1px #fff9,inset 1px 0 1px #fff9,inset -.5px -.5px 1px #ffffff26}.tile .liquidGlass-shine:before{display:none}.tile .liquidGlass-text{z-index:3;color:#fff;text-shadow:0 1px 3px #0006;border-radius:var(--tile-border-radius);justify-content:center;align-items:center;width:100%;height:100%;font-size:55px;font-weight:700;transition:border-radius .4s cubic-bezier(.175,.885,.32,2.2);display:flex}.tile:before,.tile:after{display:none}.tile-2 .liquidGlass-tint{background:#eee4da40}.tile-4 .liquidGlass-tint{background:#ede0c840}.tile-8 .liquidGlass-tint{background:#f2b17959}.tile-16 .liquidGlass-tint{background:#f5956373}.tile-32 .liquidGlass-tint{background:#f67c5f8c}.tile-64 .liquidGlass-tint{background:#f65e3ba6}.tile-128 .liquidGlass-tint{background:#edcf7273}.tile-256 .liquidGlass-tint{background:#edcc618c}.tile-512 .liquidGlass-tint{background:#edc850a6}.tile-1024 .liquidGlass-tint{background:#edc53fbf}.tile-2048 .liquidGlass-tint{background:#edc22ed9}.tile-8 .liquidGlass-text,.tile-16 .liquidGlass-text,.tile-32 .liquidGlass-text,.tile-64 .liquidGlass-text,.tile-128 .liquidGlass-text,.tile-256 .liquidGlass-text,.tile-512 .liquidGlass-text,.tile-1024 .liquidGlass-text,.tile-2048 .liquidGlass-text{color:#f9f6f2}.tile-128 .liquidGlass-text,.tile-256 .liquidGlass-text,.tile-512 .liquidGlass-text{font-size:45px}.tile-1024 .liquidGlass-text,.tile-2048 .liquidGlass-text{font-size:35px}.tile-2,.tile-4,.tile-8,.tile-16,.tile-32,.tile-64,.tile-128,.tile-256,.tile-512,.tile-1024,.tile-2048{color:#0000;text-shadow:none;background:0 0}.tile-new{animation:.2s ease-in-out appear}@keyframes appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.tile-merged{animation:.2s ease-in-out pop}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.tile-disappear{animation:.15s ease-in-out disappear}@keyframes disappear{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.tile-reappear{animation:.2s ease-in-out reappear}@keyframes reappear{0%{opacity:0;transform:scale(1.2)rotate(180deg)}50%{opacity:.8;transform:scale(.9)rotate(90deg)}to{opacity:1;transform:scale(1)rotate(0)}}.game-message{-webkit-backdrop-filter:blur(20px);z-index:100;text-align:center;background:#000000d9;border-radius:20px;width:100%;max-width:none;height:100%;max-height:none;display:none;position:absolute;top:0;left:0}.game-message p{text-shadow:0 4px 20px #00000080;height:48px;margin-top:200px;font-size:48px;font-weight:700;line-height:48px}.game-message.game-won{-webkit-backdrop-filter:blur(25px)saturate(160%);color:#ffd400;background:#edc22e1a}.game-message.game-over,.game-message.game-stuck{-webkit-backdrop-filter:blur(25px);color:#ffffffe6;background:#1e283c26}.game-message.game-stuck .restart-button{display:inline-block}.message-buttons{gap:15px;margin-top:20px;display:flex}.restart-button{-webkit-backdrop-filter:blur(20px);color:#ffffffe6;cursor:pointer;background:#ffffff26;border:1px solid #fff3;border-radius:10px;margin-top:30px;padding:10px 30px;font-size:18px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block;box-shadow:0 4px 20px #0000004d}.restart-button:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 6px 30px #0006}.instructions{color:#ffffffb3;text-align:center;-webkit-backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;flex-shrink:0;margin-top:20px;padding:15px;font-size:16px;line-height:1.6}@media screen and (max-width:520px){.container{padding:10px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.header{flex-wrap:wrap;justify-content:center;gap:15px}h1{font-size:35px}.score-container{gap:8px}.score-box{--ui-border-radius:8px;width:85px;margin-left:0}.score-box .liquidGlass-content{padding:6px 10px}.score-label{font-size:10px}.score,.best-score{font-size:18px}.controls{margin-bottom:15px}.btn-new,.btn-undo{--ui-border-radius:8px;min-width:100px;margin-right:5px}.btn-new .liquidGlass-content,.btn-undo .liquidGlass-content{padding:8px 15px;font-size:14px}.game-container{padding:8px}.grid-container{gap:8px}.tile{--tile-border-radius:12px;width:calc(25% - 6px);height:calc(25% - 6px)}.liquidGlass-text{font-size:35px}.tile-128 .liquidGlass-text,.tile-256 .liquidGlass-text,.tile-512 .liquidGlass-text{font-size:30px}.tile-1024 .liquidGlass-text,.tile-2048 .liquidGlass-text{font-size:25px}.game-message p{margin-top:150px;font-size:32px}.instructions{margin-top:15px;padding:10px;font-size:13px}@media screen and (max-height:700px){.instructions{display:none}}}@media screen and (max-width:400px){h1{font-size:32px}.score-box{width:80px}.score-box .liquidGlass-content{padding:5px 8px}.score-label{font-size:9px}.score,.best-score{font-size:16px}}@media (hover:none){.btn-new:hover .liquidGlass-tint,.btn-undo:hover .liquidGlass-tint{background:#ffffff14}.btn-new:hover,.btn-undo:hover{transform:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.tile{-webkit-backdrop-filter:none!important;background:#ffffff26!important}.score-box .liquidGlass-tint,.btn-new .liquidGlass-tint,.btn-undo .liquidGlass-tint{background:#1e1e1ee6!important}.game-container,.instructions{-webkit-backdrop-filter:none!important;background:#1e1e1ee6!important}}@media (prefers-reduced-motion:reduce){.tile{transition:none!important;animation-play-state:paused!important}}.game-container{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.score-addition{color:#776e65;z-index:20;font-size:20px;font-weight:700;animation:.8s ease-in-out score-addition;position:absolute;right:20px}@keyframes score-addition{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}.undo-reward{-webkit-backdrop-filter:blur(20px);color:#ffffffe6;z-index:30;background:#ffffff26;border:1px solid #fff3;border-radius:10px;padding:8px 16px;font-size:16px;font-weight:600;animation:1s ease-in-out undo-reward;position:absolute;top:80px;right:20px;box-shadow:0 4px 20px #0000004d}@keyframes undo-reward{0%{opacity:0;transform:translateY(20px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes liquidMerge{0%{transform:scale(1)rotate(0)}50%{transform:scale(1.3)rotate(180deg)}to{transform:scale(1)rotate(360deg)}}.ui-liquid-wrapper{cursor:pointer;box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:all .3s;display:inline-flex;position:relative;overflow:hidden}.ui-liquid-wrapper>.liquidGlass-effect,.ui-liquid-wrapper>.liquidGlass-tint,.ui-liquid-wrapper>.liquidGlass-shine,.ui-liquid-wrapper>.liquidGlass-content{border-radius:var(--ui-border-radius,10px);position:absolute;inset:0}.ui-liquid-wrapper>.liquidGlass-effect{z-index:0;-webkit-backdrop-filter:blur(5px)saturate(120%);filter:url(#glass-distortion)}.ui-liquid-wrapper>.liquidGlass-tint{z-index:1;background:#ffffff14;transition:background .3s}.ui-liquid-wrapper>.liquidGlass-shine{z-index:2;box-shadow:inset 0 1px 1px #fff9,inset 1px 0 1px #fff9,inset -.5px -.5px 1px #ffffff26}.ui-liquid-wrapper>.liquidGlass-content{z-index:3;flex-direction:column;justify-content:center;align-items:center;padding:10px 20px;display:flex;position:relative}
.CookieConsent-module__ORNcuG__banner{z-index:9999;-webkit-backdrop-filter:blur(20px);background:#000000f2;border-top:1px solid #ffffff1a;padding:20px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 30px #00000080}.CookieConsent-module__ORNcuG__content{justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:0 auto;display:flex}.CookieConsent-module__ORNcuG__text{color:#ffffffe6;flex:1;margin:0;font-size:14px;line-height:1.6}.CookieConsent-module__ORNcuG__button{-webkit-backdrop-filter:blur(20px);color:#ffffffe6;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1px solid #fff3;border-radius:8px;flex-shrink:0;padding:10px 24px;font-size:14px;font-weight:600;transition:all .3s}.CookieConsent-module__ORNcuG__button:hover{background:#ffffff40;transform:translateY(-1px)}@media (max-width:768px){.CookieConsent-module__ORNcuG__content{text-align:center;flex-direction:column}.CookieConsent-module__ORNcuG__button{width:100%}.CookieConsent-module__ORNcuG__text{font-size:13px}}
