.mg2048{--mg-ink:#21103f;--mg-purple:#32145a;--mg-pink:#ff4f95;--mg-teal:#41e0c1;--mg-gold:#ffd166;--mg-paper:#fff6e5;max-width:760px;margin:24px auto 48px;padding:clamp(20px,5vw,46px);background:radial-gradient(circle at top right,#56308b 0,#32145a 38%,#21103f 100%);color:var(--mg-paper);border:3px solid #6e43a2;border-radius:20px;box-shadow:0 14px 40px #170c2b33;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.mg2048 *{box-sizing:border-box}.mg2048-head{max-width:540px;margin:0 auto 20px}.mg2048-back{display:inline-block;color:var(--mg-teal);font:800 12px/1 monospace;letter-spacing:1px;text-decoration:none}.mg2048-back:hover{color:var(--mg-gold)}.mg2048-kicker{margin:24px 0 8px;color:var(--mg-gold);font:800 11px/1.4 monospace;letter-spacing:2px}.mg2048 h1{margin:0;color:var(--mg-pink);font:1000 clamp(64px,13vw,106px)/.9 Impact,"Arial Black",sans-serif;letter-spacing:2px;text-shadow:4px 4px 0 #170c2b}.mg2048-tagline{margin:12px 0 22px;color:#f4e5ff;font-size:clamp(15px,3vw,19px)}.mg2048-scores{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.mg2048-scores>div{min-width:92px;padding:9px 14px;text-align:center;background:#1b1038;border:1px solid #8058ad;border-radius:10px}.mg2048-scores span{display:block;color:#bca9d3;font:800 10px/1.4 monospace;letter-spacing:1px}.mg2048-scores strong{display:block;color:var(--mg-gold);font:900 22px/1.2 monospace}.mg2048-button{padding:0 18px;border:0;border-radius:10px;background:var(--mg-teal);color:#170c2b;font:900 12px/1 monospace;letter-spacing:1px;cursor:pointer}.mg2048-button:hover{background:#6df0d2;transform:translateY(-1px)}.mg2048-button:focus-visible,.mg2048-mobile-controls button:focus-visible,.mg2048-back:focus-visible{outline:3px solid var(--mg-gold);outline-offset:3px}.mg2048-undo{background:#ff8eb8}.mg2048-undo:disabled{opacity:.45;cursor:not-allowed;transform:none}.mg2048-play{max-width:540px;margin:0 auto}.mg2048-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(6px,1.6vw,11px);width:100%;aspect-ratio:1;padding:clamp(8px,2vw,14px);background:#1b1038;border:2px solid #8058ad;border-radius:14px;touch-action:none;user-select:none}.mg2048-cell{display:grid;place-items:center;min-width:0;aspect-ratio:1;border-radius:9px;background:#392b52;color:#d8cce7;font:900 clamp(18px,6vw,38px)/1 system-ui,sans-serif;transition:background-color .12s ease,transform .12s ease}.mg2048-cell[data-value="2"]{background:#fff0d2;color:#4a2e5c}.mg2048-cell[data-value="4"]{background:#ffe0a0;color:#4a2e5c}.mg2048-cell[data-value="8"]{background:#ffc16b;color:#35164d}.mg2048-cell[data-value="16"]{background:#ff956f;color:#35164d}.mg2048-cell[data-value="32"]{background:#ff7091;color:#35164d}.mg2048-cell[data-value="64"]{background:#ff4f95;color:#fff}.mg2048-cell[data-value="128"]{background:#bb71ed;color:#fff;font-size:clamp(16px,5vw,30px)}.mg2048-cell[data-value="256"]{background:#8f61dd;color:#fff;font-size:clamp(16px,5vw,30px)}.mg2048-cell[data-value="512"]{background:#5e6be8;color:#fff;font-size:clamp(16px,5vw,30px)}.mg2048-cell[data-value="1024"],.mg2048-cell[data-value="2048"]{background:var(--mg-teal);color:#17102f;font-size:clamp(14px,4.2vw,26px)}.mg2048-cell[data-value="2048"]{box-shadow:inset 0 0 0 3px #fff6e5}.mg2048-message{min-height:28px;padding:12px 2px;color:var(--mg-gold);font:700 13px/1.4 monospace;text-align:center}.mg2048-help{max-width:540px;margin:10px auto 0;color:#e5d8f2;font-size:14px;line-height:1.6}.mg2048-help strong{color:var(--mg-gold)}.mg2048-mobile-controls{display:none}.mg2048-mobile-controls button{width:54px;height:46px;border:1px solid #8058ad;border-radius:10px;background:#29144a;color:var(--mg-paper);font:900 18px monospace;touch-action:manipulation}.mg2048-mobile-controls button:active{background:var(--mg-pink);color:#21103f}@media(max-width:600px){.mg2048{margin:10px auto 26px;padding:18px 14px;border-radius:14px}.mg2048-kicker{margin-top:18px}.mg2048-scores{gap:7px}.mg2048-scores>div{flex:1;min-width:72px;padding:7px 8px}.mg2048-button{min-height:44px;flex:1;padding:0 10px}.mg2048-board{gap:7px;padding:8px}.mg2048-cell{border-radius:7px}.mg2048-mobile-controls{display:grid;justify-items:center;gap:7px;margin:8px auto 0}.mg2048-mobile-controls>div{display:flex;gap:7px}.mg2048-mobile-controls button{min-width:54px;min-height:48px}}@media(prefers-reduced-motion:reduce){.mg2048-cell,.mg2048-button{transition:none}}