:root{--ad-slot-width:160px}@media (width<=1200px){aside.ad{display:none}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f8fafc;--panel:#fff;--line:#e2e8f0;--text:#1e293b;--muted:#64748b;--accent:#1e293b;--accent-strong:#0f172a;--radius:8px;--radius-lg:12px;--shadow-card:0 12px 32px #0f172a1f;--column-max:900px;--board-max:min(100vw - 24px, 100dvh - 180px)}body{background-color:var(--bg);color:var(--text);overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent;min-height:100dvh;font-family:system-ui,-apple-system,Segoe UI,sans-serif}a,button,select,[role=button]{touch-action:manipulation}.board-wrap{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hidden{display:none!important}header{padding:12px 20px;padding:calc(12px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) 12px calc(20px + env(safe-area-inset-left));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.header-brand{align-items:center;gap:10px;display:flex}.header-logo{width:32px;height:32px}.header-title{font-size:1.2rem;font-weight:700}.header-home{color:var(--muted);font-size:.9rem;text-decoration:none}@media (hover:hover){.header-home:hover{color:var(--text)}}.header-actions{align-items:center;gap:12px;display:flex}.header-sound{background-color:var(--panel);width:36px;height:36px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1.05rem;display:inline-flex}@media (hover:hover){.header-sound:hover{border-color:var(--accent)}}main{grid-template-columns:var(--ad-slot-width) minmax(0, var(--column-max)) var(--ad-slot-width);padding:24px 16px 48px;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));justify-content:center;gap:24px;display:grid}main .game-column{flex-direction:column;align-items:center;gap:16px;display:flex}@media (width<=1200px){main{grid-template-columns:minmax(0, var(--column-max))}}.controls,.toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.controls select,.controls button,.toolbar button{background-color:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:8px 14px;font-family:inherit;font-size:.9rem}@media (hover:hover){.controls select:hover,.controls button:hover:not(:disabled),.toolbar button:hover:not(:disabled){border-color:var(--accent)}}.controls button:disabled,.toolbar button:disabled{color:var(--muted);cursor:default;opacity:.55}.controls button[aria-pressed=true],.toolbar button.active,.mode-tabs button[aria-selected=true]{border-color:var(--text);background-color:#f1f5f9}.controls button.primary,.toolbar button.primary{background-color:var(--text);border-color:var(--text);color:var(--panel);font-weight:600}@media (hover:hover){.controls button.primary:hover:not(:disabled),.toolbar button.primary:hover:not(:disabled){background-color:var(--accent-strong);border-color:var(--accent-strong)}}.icon{vertical-align:-.15em;width:1em;height:1em}.controls .check-label{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.9rem;display:flex}.controls .check-label input{accent-color:var(--accent)}.hud{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:18px;font-size:.9rem;display:flex}.hud strong{color:var(--text);font-variant-numeric:tabular-nums}.result{width:min(100%,520px);padding:18px 20px;padding-bottom:calc(18px + env(safe-area-inset-bottom));text-align:center;background-color:var(--panel);border:1px solid var(--line);z-index:20;border-bottom:none;border-radius:16px 16px 0 0;flex-direction:column;align-items:center;gap:10px;line-height:1.5;animation:.2s ease-out result-rise;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -12px 32px #0f172a24}@keyframes result-rise{0%{opacity:0;transform:translate(-50%,24px)}}.result h2{color:var(--text);font-size:1.5rem}.result p{color:var(--muted);font-variant-numeric:tabular-nums}.result .stat-grid{justify-content:center;gap:18px;display:flex}.result .stat-grid div{flex-direction:column;display:flex}.result .stat-grid strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.2rem}.result .stat-grid span{color:var(--muted);font-size:.72rem}.overlay-actions,.overlay-buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}.result button{background-color:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;cursor:pointer;padding:9px 18px;font-family:inherit;font-size:.95rem}@media (hover:hover){.result button:hover{border-color:var(--text)}}.result button.primary{background-color:var(--text);border-color:var(--text);color:var(--panel);font-weight:600}@media (hover:hover){.result button.primary:hover{background-color:var(--accent-strong)}}article{width:100%;max-width:680px;color:var(--muted);flex-direction:column;gap:20px;margin-top:24px;font-size:.95rem;line-height:1.7;display:flex}article h2{color:var(--text);border-bottom:1px solid var(--line);padding-bottom:6px;font-size:1.2rem}article ul{padding-left:20px}article table{border-collapse:collapse;width:100%;max-width:440px}article td,article th{border:1px solid var(--line);text-align:left;padding:6px 12px}article kbd{background-color:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:4px;padding:1px 6px;font-size:.85em}article a{color:var(--accent-strong)}footer{text-align:center;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));color:var(--muted);border-top:1px solid var(--line);font-size:.85rem}footer a{color:var(--accent-strong)}@media (pointer:coarse){.controls select,.controls button,.toolbar button,.result button{min-height:44px;font-size:1rem}.controls .check-label{min-height:44px}.header-home{align-items:center;min-height:44px;display:inline-flex}.header-sound{width:44px;height:44px}}@media (width<=640px){header{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:6px;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}main{padding:12px 12px 40px;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}main .game-column{gap:12px}main .game-column>.hud{order:-3;gap:8px 16px}main .game-column>.board-wrap{order:-2}main .game-column>.controls{order:1}main .game-column>article{order:2}.footer-more{display:none}.controls{gap:8px}.controls select,.controls button{padding:8px 12px}}:root{--board:#fff;--slot:#f1f5f9}.hud{position:relative}#gain{color:var(--text);opacity:0;pointer-events:none;font-weight:700;position:absolute;top:-4px;left:50%;transform:translate(-50%)}#gain.show{animation:.7s ease-out float-up}@keyframes float-up{0%{opacity:.9;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-26px)}}.board-wrap{position:relative}#board{--n:4;--gap:clamp(6px, 1.7vmin, 12px);--board-px:min(460px, var(--board-max));--tile-size:calc((var(--board-px) - 2px - (var(--n) + 1) * var(--gap)) / var(--n));width:var(--board-px);height:var(--board-px);padding:var(--gap);border-radius:var(--radius-lg);background-color:var(--board);border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;position:relative}#cells{grid-template-columns:repeat(var(--n), var(--tile-size));grid-auto-rows:var(--tile-size);gap:var(--gap);display:grid}.cell{background-color:var(--slot);border-radius:8px}#tiles{top:var(--gap);left:var(--gap);position:absolute}.tile{width:var(--tile-size);height:var(--tile-size);transform:translate(calc(var(--c) * (var(--tile-size) + var(--gap))), calc(var(--r) * (var(--tile-size) + var(--gap))));transition:transform .11s ease-in-out;position:absolute;top:0;left:0}.tile-face{background-color:var(--tile-bg,#64748b);width:100%;height:100%;color:var(--tile-fg,#fff);font-variant-numeric:tabular-nums;font-weight:700;line-height:1;font-size:calc(var(--tile-size) * var(--tile-font,.44));border-radius:8px;justify-content:center;align-items:center;display:flex}.tile-new>.tile-face{animation:.18s ease-out .11s backwards appear}.tile-merged>.tile-face{animation:.2s ease-out .11s backwards pop}@keyframes appear{0%{opacity:0;transform:scale(.3)}}@keyframes pop{0%{transform:scale(.5)}60%{transform:scale(1.14)}to{transform:scale(1)}}.tile[data-len="3"]{--tile-font:.36}.tile[data-len="4"]{--tile-font:.29}.tile[data-len="5"]{--tile-font:.23}.tile[data-value="2"]{--tile-bg:#e2e8f0;--tile-fg:#334155}.tile[data-value="4"]{--tile-bg:#cbd5e1;--tile-fg:#1e293b}.tile[data-value="8"]{--tile-bg:#94a3b8;--tile-fg:#0f172a}.tile[data-value="16"]{--tile-bg:#64748b}.tile[data-value="32"]{--tile-bg:#475569}.tile[data-value="64"]{--tile-bg:#334155}.tile[data-value="128"]{--tile-bg:#1e293b}.tile[data-value="256"]{--tile-bg:#0f172a}.tile[data-value="512"]{--tile-bg:#a855f7}.tile[data-value="1024"]{--tile-bg:#9333ea}.tile[data-value="2048"]{--tile-bg:#7e22ce}.tile[data-value="4096"]{--tile-bg:#6b21a8}.tile[data-value="8192"],.tile[data-value=max]{--tile-bg:#581c87}
