*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden;touch-action:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#faf8ef;-webkit-user-select:none;user-select:none}@media (prefers-color-scheme: dark){body{background:#1a1a1a;color:#faf8ef}.title{color:#faf8ef}.score-label,.instructions{color:#d6cdc4}.game-over-text{color:#faf8ef}}:root{--bg-color: #faf8ef;--text-color: #776e65;--cell-bg: #cdc1b4;--grid-bg: #bbada0}@media (prefers-color-scheme: dark){:root{--bg-color: #1a1a1a;--text-color: #faf8ef;--cell-bg: #4a4a4a;--grid-bg: #2a2a2a}body{background:var(--bg-color);color:var(--text-color)}.title{color:var(--text-color)}.score-box{background:#4a4a4a}.score-label{color:#d6cdc4}.score-value{color:#faf8ef}.best-score{background:#6a5a4a}.game-board{background:var(--grid-bg)}.cell{background:var(--cell-bg)}.btn{background:#6a5a4a}.btn:hover{background:#7a6a5a}.instructions{color:#aaa}.game-over{background:#1e1e1ed9}.game-over-text{color:#faf8ef}}.game-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px;max-width:500px;margin:0 auto}.header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:20px}.title{font-size:36px;font-weight:700;color:#776e65}.score-container{display:flex;gap:10px;align-items:center}.btn-settings{background:#bbada0;border:none;width:40px;height:40px;border-radius:6px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.settings-panel{background:#bbada0;padding:15px;border-radius:6px;margin-bottom:15px;width:100%}.setting-item{display:flex;justify-content:space-between;align-items:center;color:#f9f6f2;font-size:16px}.setting-item input{width:24px;height:24px;cursor:pointer}.setting-item select{padding:5px 10px;border-radius:4px;border:none;font-size:14px;cursor:pointer}.stats-display{display:flex;justify-content:space-around;margin-top:10px;padding-top:10px;border-top:1px solid #8f7a66;color:#f9f6f2;font-size:14px}.theme-midnight .game-container{background:#1a1a2e}.theme-midnight .title{color:#eaeaea}.theme-midnight .score-box,.theme-midnight .game-board{background:#16213e}.theme-midnight .cell{background:#0f3460}.theme-midnight .tile-2{background:#1e3a5f}.theme-midnight .tile-4{background:#2a4a7f}.theme-midnight .tile-8{background:#3a5a9f}.theme-midnight .btn,.theme-midnight .btn-settings{background:#16213e}.theme-forest .game-container{background:#f0f5e5}.theme-forest .title{color:#2d5a27}.theme-forest .score-box,.theme-forest .game-board{background:#8fbc8f}.theme-forest .cell{background:#c8e6c9}.theme-forest .tile-2{background:#a5d6a7}.theme-forest .tile-4{background:#81c784}.theme-forest .tile-8{background:#66bb6a}.theme-forest .btn{background:#4caf50}.theme-forest .btn-settings{background:#8fbc8f}.score-box{background:#bbada0;padding:10px 20px;border-radius:6px;text-align:center;min-width:80px}.score-label{font-size:12px;color:#eee4da;text-transform:uppercase}.score-value{font-size:20px;font-weight:700;color:#fff}.best-score{background:#f1b279}.game-board{background:#bbada0;border-radius:6px;padding:10px;position:relative}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cell{width:70px;height:70px;background:#cdc1b4;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;color:#776e65}.tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:3px;font-weight:700;animation:appear .2s ease-in-out}@keyframes appear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.tile-new{animation:pop .2s ease-in-out}.tile-2{background:#eee4da}.tile-4{background:#ede0c8}.tile-8{background:#f2b179;color:#f9f6f2}.tile-16{background:#f59563;color:#f9f6f2}.tile-32{background:#f67c5f;color:#f9f6f2}.tile-64{background:#f65e3b;color:#f9f6f2}.tile-128{background:#edcf72;color:#f9f6f2;font-size:26px}.tile-256{background:#edcc61;color:#f9f6f2;font-size:26px}.tile-512{background:#edc850;color:#f9f6f2;font-size:26px}.tile-1024{background:#edc53f;color:#f9f6f2;font-size:22px}.tile-2048{background:#edc22e;color:#f9f6f2;font-size:22px}.tile-super{background:#3c3a32;color:#f9f6f2;font-size:18px}.controls{margin-top:20px;display:flex;gap:10px}.btn{background:#8f7a66;color:#f9f6f2;border:none;padding:12px 24px;border-radius:3px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s}.btn:hover{background:#9c8672}.btn:active{transform:scale(.98)}.btn-share{background:#5cb85c}.btn-share:hover{background:#6cc76c}.btn-undo{background:#6a8caf}.btn-undo:hover{background:#7a9cbf}.btn:disabled{opacity:.5;cursor:not-allowed}.game-over{position:absolute;top:0;left:0;right:0;bottom:0;background:#eee4daba;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px}.game-over-text{font-size:40px;font-weight:700;color:#776e65;margin-bottom:20px}.instructions{margin-top:20px;color:#776e65;font-size:14px;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px}.btn-help,.btn-about{background:#bbada0;border:none;width:24px;height:24px;border-radius:50%;font-size:14px;font-weight:700;color:#f9f6f2;cursor:pointer}.about-version{font-size:12px;color:#999}.about-credits{font-size:14px;color:#776e65;margin-bottom:15px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal-content{background:#faf8ef;padding:25px;border-radius:8px;max-width:320px;text-align:center}.modal-content h2,.modal-content p{color:#776e65;margin-bottom:15px}.modal-content ul{text-align:left;color:#776e65;margin-bottom:20px;padding-left:20px}.modal-content li{margin-bottom:8px}.shortcuts-hint{font-size:11px;color:#999;margin-top:5px}@media (max-width: 400px){.cell{width:60px;height:60px;font-size:24px}.title{font-size:28px}}@supports (padding-top: env(safe-area-inset-top)){.game-container{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}
