:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#233130;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#233130;--muted:#71817d;--paper:#fff;--surface:#eef5f1;--line:#2331301f;--board:#304847;--board-cell:#ffffff2b;--accent:#ff896f;--accent-strong:#ef5f4d;--mint:#71d6a6;--sky:#72bdf1;--sun:#ffd15c;--violet:#aa92f2;background:#eef5f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{background:linear-gradient(135deg,#71d6a62e 0 25%,#0000 25% 100%),linear-gradient(315deg,#72bdf124 0 22%,#0000 22% 100%),#eef5f1;min-width:320px;position:fixed;inset:0}button{font:inherit;-webkit-tap-highlight-color:transparent}.app{width:100%;height:100dvh;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 12px);place-items:start center;display:grid;overflow:hidden}.app.has-banner{padding-bottom:calc(env(safe-area-inset-bottom) + 72px)}.app.has-public-links{padding-bottom:calc(env(safe-area-inset-bottom) + 42px)}.app.has-banner.has-public-links{padding-bottom:calc(env(safe-area-inset-bottom) + 104px)}.game-shell{grid-template-rows:minmax(126px,1fr) auto;gap:8px;width:min(100%,460px);height:100%;min-height:0;display:grid}.top-panel{align-content:center;gap:8px;min-height:0;display:grid}.title-row{place-items:center;min-height:60px;display:grid;position:relative}.title-controls{align-items:center;gap:4px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.title-controls-left{left:0}.title-controls-right{right:0}.game-title{color:var(--ink);text-align:center;letter-spacing:0;white-space:nowrap;margin:0;font-size:clamp(2.85rem,12vw,3.55rem);font-weight:950;line-height:.92}.title-center{justify-items:center;gap:2px;max-width:calc(100% - 176px);display:grid}.best-score-label{color:var(--muted);font-size:.72rem;font-weight:950;line-height:1}.icon-button{width:38px;height:38px;color:var(--ink);cursor:pointer;background:#f7fbf8e6;border:1px solid #2331301a;border-radius:8px;place-items:center;transition:transform .12s,filter .12s;display:grid;box-shadow:0 10px 26px #2331301a}.icon-button:active{transform:scale(.96)}.remove-ads-button{color:var(--accent-strong)}.no-ads-glyph{width:24px;height:24px;color:var(--ink);background:#fff;border:3px solid #ef3d37;border-radius:50%;place-items:center;display:grid;position:relative}.no-ads-glyph>span{font-size:.48rem;font-weight:950;line-height:1}.no-ads-glyph:after{content:"";background:#ef3d37;border-radius:999px;width:4px;height:28px;position:absolute;transform:rotate(42deg)}.no-ads-glyph.large{border-width:5px;width:42px;height:42px}.no-ads-glyph.large>span{font-size:.78rem}.no-ads-glyph.large:after{width:6px;height:50px}.top-bar{align-items:center;display:grid}.score-card span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.64rem;font-weight:900}.score-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.score-card{background:#f7fbf8;border:1px solid #2331301a;border-radius:8px;place-items:center;gap:2px;min-width:0;min-height:52px;display:grid;position:relative}.score-card strong{color:var(--ink);text-overflow:ellipsis;max-width:100%;font-size:1.12rem;line-height:1;overflow:hidden}.score-pop{color:var(--accent-strong);pointer-events:none;text-shadow:0 1px #ffffffb3;font-size:.9rem;font-style:normal;font-weight:950;line-height:1;animation:.68s ease-out forwards scorePop;position:absolute;top:-14px;right:14px}.board{--gap:10px;--board-padding:10px;--tile-size:calc((100% - (var(--board-padding) * 2) - (var(--gap) * 3)) / 4);width:min(100%, 460px, calc(100dvh - 136px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));aspect-ratio:1;place-self:end center;gap:var(--gap);min-width:min(100%,304px);padding:var(--board-padding);background:linear-gradient(180deg, #ffffff14, #00000014), var(--board);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);display:grid;position:relative;box-shadow:0 18px 44px #23313033,inset 0 1px #ffffff29}.app.has-banner .board{width:min(100%, 460px, calc(100dvh - 208px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.app.has-public-links .board{width:min(100%, 460px, calc(100dvh - 172px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.app.has-banner.has-public-links .board{width:min(100%, 460px, calc(100dvh - 236px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cell{background:var(--board-cell);border-radius:8px;box-shadow:inset 0 1px #ffffff14}.tile-layer{pointer-events:none;position:absolute;inset:0}.tile{left:calc(var(--board-padding) + (var(--col) * (var(--tile-size) + var(--gap))));top:calc(var(--board-padding) + (var(--row) * (var(--tile-size) + var(--gap))));width:var(--tile-size);height:var(--tile-size);color:var(--tile-ink,#233130);background:var(--tile-bg,#e9f5ef);font-size:var(--tile-font,2.05rem);letter-spacing:0;will-change:left, top, transform, filter;border-radius:8px;place-items:center;font-weight:950;line-height:1;transition:left .115s,top .115s,transform .115s,filter .115s;display:grid;position:absolute;transform:translate(0,0);box-shadow:0 10px 18px #101b1a29,inset 0 1px #ffffff57}.tile.is-new{animation:.15s ease-out tileIn}.tile.just-merged{z-index:3;animation:.26s cubic-bezier(.18,.9,.22,1.2) tileMerge}.tile.just-merged:after{border-radius:inherit;content:"";pointer-events:none;border:2px solid #ffd15cb8;animation:.32s ease-out forwards mergeRing;position:absolute;inset:-8px}.tile-2{--tile-bg:#e9f5ef}.tile-4{--tile-bg:#dceff8}.tile-8{--tile-bg:#ffd98a}.tile-16{--tile-bg:#ffb172}.tile-32{--tile-bg:#ff896f;--tile-ink:#fff}.tile-64{--tile-bg:#ef5f4d;--tile-ink:#fff}.tile-128{--tile-bg:#b7e875;--tile-font:1.74rem}.tile-256{--tile-bg:#71d6a6;--tile-font:1.74rem}.tile-512{--tile-bg:#72bdf1;--tile-font:1.74rem}.tile-1024{--tile-bg:#aa92f2;--tile-ink:#fff;--tile-font:1.45rem}.tile-2048{--tile-bg:#243333;--tile-ink:#ffd15c;--tile-font:1.45rem}.tile-4096,.tile-8192,.tile-16384{--tile-bg:linear-gradient(135deg, #243333, #ef5f4d);--tile-ink:#fff;--tile-font:1.18rem}.result-overlay{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eef5f1ad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.result-panel{border:1px solid var(--line);text-align:center;background:#fffffff0;border-radius:8px;justify-items:center;gap:12px;width:min(100%,350px);padding:24px;display:grid;box-shadow:0 28px 80px #2331302e}.result-panel p,.result-panel h2{margin:0}.result-panel p{color:var(--muted);font-weight:800}.result-panel h2{color:var(--ink);letter-spacing:0;font-size:3rem;line-height:.95}.result-stats{width:100%;color:var(--ink);background:linear-gradient(135deg,#71d6a62e,#0000 62%),#f7fbf8;border:1px solid #71d6a657;border-radius:8px;gap:10px;padding:16px 14px 13px;display:grid;box-shadow:inset 0 1px #ffffffb8}.result-stat{justify-items:center;gap:4px;min-width:0;display:grid}.result-stat span{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:950}.result-stat strong{color:var(--accent-strong);text-overflow:ellipsis;font-size:2.45rem;line-height:1;overflow:hidden}.result-stat+.result-stat{border-top:1px solid #2331301a;grid-template-columns:1fr auto;place-items:center stretch;padding-top:10px}.result-stat+.result-stat span{text-align:left}.result-stat+.result-stat strong{color:var(--ink);text-align:right;font-size:1.25rem}.web-ad-placeholder{color:#23313073;background:linear-gradient(135deg,#71d6a61f 0 25%,#0000 25% 100%),#f7fbf8}.web-ad-placeholder span{letter-spacing:0;border:1px solid #23313029;border-radius:8px;place-items:center;width:44px;height:28px;font-size:.72rem;font-weight:950;display:grid}.web-banner-ad{z-index:10;left:50%;bottom:max(8px, env(safe-area-inset-bottom));background:#f7fbf8f5;border:1px solid #2331301a;border-radius:8px;place-items:center;width:min(100vw - 20px,460px);min-height:50px;display:grid;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 14px 36px #23313029}.web-banner-ad.web-ad-placeholder{min-height:50px}.public-links{z-index:11;left:50%;bottom:max(8px, env(safe-area-inset-bottom));color:#2331309e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f7fbf8c7;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:28px;padding:0 10px;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 28px #23313014}.app.has-banner .public-links{bottom:calc(env(safe-area-inset-bottom) + 66px)}.public-links a{color:inherit;font-size:.72rem;font-weight:900;line-height:1;text-decoration:none}.public-links a:focus-visible{outline-offset:4px;border-radius:999px;outline:2px solid #ef5f4d7a}.result-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.result-actions button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong));cursor:pointer;border:0;border-radius:8px;min-width:112px;min-height:48px;padding:0 16px;font-weight:950}.result-actions .secondary-result{color:var(--ink);background:#eef5f1}.result-actions button:active{transform:scale(.96)}.web-interstitial-overlay{z-index:45;padding:calc(env(safe-area-inset-top) + 14px) 14px calc(env(safe-area-inset-bottom) + 14px);color:var(--ink);background:linear-gradient(135deg,#71d6a633 0 25%,#0000 25% 100%),linear-gradient(315deg,#ffd15c2e 0 22%,#0000 22% 100%),#f7fbf8;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;display:grid;position:fixed;inset:0}.web-interstitial-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.web-interstitial-top>span,.web-interstitial-bottom span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:950}.web-interstitial-top button{min-width:92px;min-height:42px;color:var(--ink);cursor:pointer;background:#ffffffdb;border:1px solid #2331301f;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:950;display:inline-flex;box-shadow:0 10px 24px #2331301a}.web-interstitial-top button:disabled{color:#2331307a;cursor:default}.web-interstitial-creative{min-width:0;min-height:0;color:inherit;background:linear-gradient(#ffffffa3,#ffffff52),#eef5f1;border:1px solid #2331301f;border-radius:8px;place-items:center;text-decoration:none;display:grid;overflow:hidden;box-shadow:0 22px 60px #2331302e}.web-interstitial-creative img{object-fit:cover;width:100%;height:100%;display:block}.web-interstitial-placeholder{aspect-ratio:1;background:linear-gradient(135deg,#71d6a647,#0000 56%),#fff;border:2px dashed #23313029;border-radius:8px;align-content:center;place-items:center;gap:10px;width:min(78vw,360px);display:grid}.web-interstitial-placeholder strong{color:var(--accent-strong);font-size:clamp(4.25rem,22vw,7.5rem);font-weight:950;line-height:.9}.web-interstitial-placeholder span{color:var(--muted);font-size:1rem;font-weight:950}.web-interstitial-bottom{place-items:center;min-height:24px;display:grid}.modal-overlay{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#23313042;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--line);width:min(100%,360px);color:var(--ink);text-align:center;background:#fffffff5;border-radius:8px;justify-items:center;gap:14px;padding:26px 22px 22px;display:grid;position:relative;box-shadow:0 28px 80px #23313038}.compact-modal{width:min(100%,320px)}.modal-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.modal-icon{color:var(--board)}.modal-panel h2,.settings-purchase h3,.settings-purchase p{margin:0}.modal-panel h2{letter-spacing:0;font-size:2rem;line-height:1}.language-list{gap:8px;width:100%;display:grid}.language-option{min-height:50px;color:var(--ink);cursor:pointer;background:#eef5f1;border:1px solid #2331301a;border-radius:8px;justify-content:space-between;align-items:center;padding:0 14px;font-weight:950;display:flex}.language-option.is-selected{color:var(--accent-strong);background:#ff896f1f;border-color:#ef5f4d61}.settings-panel{text-align:left;place-items:stretch stretch}.settings-panel>.modal-icon,.settings-panel>h2{text-align:center;justify-self:center}.settings-list{gap:8px;display:grid}.setting-row{background:#f7fbf8;border:1px solid #2331301a;border-radius:8px;grid-template-columns:30px minmax(0,1fr) 54px;align-items:center;gap:10px;min-height:54px;padding:0 10px;display:grid}.setting-icon{width:30px;height:30px;color:var(--board);place-items:center;display:grid}.setting-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:950;overflow:hidden}.haptic-mark{border:3px solid;border-radius:50%;width:20px;height:20px;box-shadow:0 0 0 5px #3048471a,0 0 0 10px #3048470f}.switch{cursor:pointer;background:#23313029;border:0;border-radius:999px;width:54px;height:32px;transition:background .14s;position:relative}.switch.is-on{background:var(--mint)}.switch-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .14s;position:absolute;top:4px;left:4px;box-shadow:0 4px 12px #2331302e}.switch.is-on .switch-knob{transform:translate(22px)}.settings-purchase{background:#f7fbf8;border:1px solid #2331301a;border-radius:8px;grid-template-columns:48px minmax(0,1fr);gap:10px;padding:12px;display:grid}.settings-purchase h3{font-size:1.08rem;line-height:1.1}.settings-purchase p{color:var(--muted);font-size:.84rem;font-weight:800;line-height:1.25}.settings-purchase .purchase-message,.settings-purchase .purchase-actions{grid-column:1/-1}.settings-link{min-height:42px;color:var(--muted);background:#f7fbf8;border:1px solid #2331301a;border-radius:8px;place-items:center;font-size:.86rem;font-weight:900;text-decoration:none;display:grid}.purchase-overlay{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#23313042;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.purchase-panel{border:1px solid var(--line);width:min(100%,340px);color:var(--ink);text-align:center;background:#fffffff5;border-radius:8px;justify-items:center;gap:12px;padding:26px 22px 22px;display:grid;position:relative;box-shadow:0 28px 80px #23313038}.purchase-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.purchase-icon{color:var(--sun);fill:color-mix(in srgb, var(--sun) 30%, transparent)}.purchase-panel h2,.purchase-panel p{margin:0}.purchase-panel h2{letter-spacing:0;font-size:2rem;line-height:1}.purchase-panel p{color:var(--muted);font-weight:800}.purchase-message{min-height:20px;color:var(--accent-strong);font-size:.82rem;font-weight:900}.purchase-actions{gap:8px;width:100%;display:grid}.purchase-actions button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong));cursor:pointer;border:0;border-radius:8px;min-height:48px;padding:0 14px;font-weight:950}.purchase-actions button:disabled{color:#23313080;cursor:default;background:#eef5f1}.purchase-actions .restore-button{color:var(--ink);background:#eef5f1}.purchase-actions button:active,.purchase-close:active{transform:scale(.96)}.purchase-actions button:disabled:active{transform:none}@keyframes tileIn{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes tileMerge{0%{filter:brightness();transform:scale(1)}42%{filter:brightness(1.16)saturate(1.18);transform:scale(1.18)}to{filter:brightness();transform:scale(1)}}@keyframes mergeRing{0%{opacity:.9;transform:scale(.92)}to{opacity:0;transform:scale(1.18)}}@keyframes scorePop{0%{opacity:0;transform:translateY(8px)scale(.88)}18%{opacity:1}to{opacity:0;transform:translateY(-20px)scale(1.08)}}@media (width<=420px){.app{padding:calc(env(safe-area-inset-top) + 10px) 10px calc(env(safe-area-inset-bottom) + 8px)}.app.has-banner{padding-bottom:calc(env(safe-area-inset-bottom) + 64px)}.app.has-public-links{padding-bottom:calc(env(safe-area-inset-bottom) + 38px)}.app.has-banner.has-public-links{padding-bottom:calc(env(safe-area-inset-bottom) + 96px)}.game-shell{gap:7px}.game-title{font-size:2.95rem}.icon-button{width:36px;height:36px}.title-controls{gap:3px}.score-strip{gap:7px}.score-card{min-height:50px}.score-card strong{font-size:1.06rem}.board{--gap:8px;--board-padding:8px;width:min(100%, calc(100vw - 20px), calc(100dvh - 138px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.app.has-banner .board{width:min(100%, calc(100vw - 20px), calc(100dvh - 196px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.app.has-public-links .board{width:min(100%, calc(100vw - 20px), calc(100dvh - 170px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.app.has-banner.has-public-links .board{width:min(100%, calc(100vw - 20px), calc(100dvh - 226px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.public-links{min-height:26px;padding:0 9px}.app.has-banner .public-links{bottom:calc(env(safe-area-inset-bottom) + 60px)}.public-links a{font-size:.68rem}.tile{font-size:var(--tile-font,1.74rem)}.tile-128,.tile-256,.tile-512{--tile-font:1.48rem}.tile-1024,.tile-2048{--tile-font:1.18rem}}@media (display-mode:standalone){.app{padding-bottom:calc(env(safe-area-inset-bottom) + 22px)}.app.has-banner{padding-bottom:calc(env(safe-area-inset-bottom) + 72px)}.app.has-public-links{padding-bottom:calc(env(safe-area-inset-bottom) + 42px)}.app.has-banner.has-public-links{padding-bottom:calc(env(safe-area-inset-bottom) + 104px)}}
