.game-page.game2048-page{max-width:1100px}.game-page.game2048-page #game-content{max-width:none}.g2048{max-width:1000px;margin:0 auto}.g2048-top{display:flex;gap:12px;align-items:center;margin:16px 0 22px}.g2048-stat{background:#2b352a;border:1px solid #43523e;padding:12px 24px;border-radius:14px;min-width:110px;display:grid;gap:3px}.g2048-stat span{font-size:11px;letter-spacing:.12em;color:#b8c6ad}.g2048-stat strong{font-size:27px;font-variant-numeric:tabular-nums}.g2048-gain{color:#dfbc80;font-weight:700}.g2048-layout{display:grid;grid-template-columns:minmax(280px,510px) minmax(230px,1fr);gap:32px;align-items:start}.g2048-stage{position:relative}.g2048-board{position:relative;aspect-ratio:1;background:#46513e;border:1px solid #667358;border-radius:18px;padding:10px;touch-action:none;user-select:none;outline-offset:5px}.g2048-slots,.g2048-pieces{position:absolute;inset:10px}.g2048-slots{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:10px}.g2048-slots>div{border-radius:10px;background:#303b2b80}.g2048-piece{position:absolute;top:0;left:0;width:calc((100% - 30px)/4);height:calc((100% - 30px)/4);transition:transform 140ms cubic-bezier(.22,.7,.3,1);will-change:transform}.g2048-tile{height:100%;display:grid;place-items:center;border-radius:10px;background:#ded9bd;color:#33382b;font-size:clamp(28px,4vw,48px);font-weight:850;box-shadow:0 2px 4px #15200f25}.g2048-tile[data-power="2"]{background:#d9dba8}.g2048-tile[data-power="3"]{background:#e9c28b}.g2048-tile[data-power="4"]{background:#e9a779}.g2048-tile[data-power="5"]{background:#e58e6f}.g2048-tile[data-power="6"]{background:#d66f5d;color:#fff}.g2048-tile[data-power="7"],.g2048-tile[data-power="8"]{background:#caad58}.g2048-tile[data-power="9"],.g2048-tile[data-power="10"],.g2048-tile[data-power="11"]{background:#ead26c;box-shadow:0 0 22px #e4c96635}.g2048-tile.small-number{font-size:clamp(20px,3vw,35px)}.g2048-tile.spawn{animation:g2048-appear 180ms ease-out}.g2048-tile.merge{animation:g2048-merge 200ms ease-out}.g2048-side{display:grid;gap:16px;padding:26px;background:#242d23;border:1px solid #3c4939;border-radius:18px}.g2048-side p,.g2048-side h3{margin:0}.g2048-side h3{font-size:25px;line-height:1.3}.g2048-side p{line-height:1.65;color:#bac6b1}.g2048-side>.eyebrow{font-size:10px}.g2048-pad{display:grid;grid-template-columns:repeat(3,48px);gap:8px;justify-content:center}.g2048-pad button{height:46px;padding:0;font-size:24px}.g2048-pad button:first-child{grid-column:2}.g2048-pad button:nth-child(2){grid-column:1}.g2048-help{font-size:13px}.g2048-message{min-height:26px;color:#e7d69c!important}.g2048-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:16px;background:#1e281dec;backdrop-filter:blur(4px);border-radius:18px;padding:24px}.g2048-overlay[hidden],.g2048-confirm[hidden]{display:none}.g2048-overlay h3{font-size:28px;margin:0}.g2048-confirm{padding:14px;background:#423b2d;border-radius:12px;display:grid;gap:10px}@keyframes g2048-appear{from{transform:scale(.25);opacity:.1}to{transform:scale(1);opacity:1}}@keyframes g2048-merge{50%{transform:scale(1.1)}}@media(max-width:800px){.g2048{max-width:510px}.g2048-layout{grid-template-columns:1fr;gap:18px}.g2048-side{padding:18px}.g2048-side>.eyebrow,.g2048-side>h3,.g2048-side>p:not(.g2048-help):not(.g2048-message){display:none}.g2048-tile{font-size:clamp(28px,8vw,45px)}.g2048-tile.small-number{font-size:clamp(20px,6vw,32px)}}@media(prefers-reduced-motion:reduce){.g2048-piece{transition:none}.g2048-tile.spawn,.g2048-tile.merge{animation:none}}

/* Preserve tile geometry through merges; fade in only the newly spawned tile. */
@keyframes g2048-appear{from{opacity:0}to{opacity:1}}.g2048-tile.merge{animation:none}.g2048-stat strong{min-width:5ch}.g2048-gain{min-width:6ch}
