@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");:root{--primary:#3b82f6;--primary-hover:#2563eb;--bg-color:#f9fafb;--text-primary:#111827;--text-secondary:#6b7280;--tile-bg:#cdc1b4;--grid-bg:#bbada0;--empty-bg:#cdc1b4;--tile-2-bg:#eee4da;--tile-4-bg:#ede0c8;--tile-8-bg:#f2b179;--tile-16-bg:#f59563;--tile-32-bg:#f67c5f;--tile-64-bg:#f65e3b;--tile-128-bg:#edcf72;--tile-256-bg:#edcc61;--tile-512-bg:#edc850;--tile-1024-bg:#edc53f;--tile-2048-bg:#edc22e;--tile-super-bg:#3c3a32;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--radius:0.5rem}body{background-color:var(--bg-color);margin:0;padding:0}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.game-header-wrapper{position:relative;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:center}.game-header-wrapper>:first-child{position:absolute;left:0;top:1rem;align-self:flex-start}.scores{display:flex;gap:1rem}.score-box{background-color:#6b7280;color:white;padding:.5rem 1rem;border-radius:var(--radius);display:flex;flex-direction:column;min-width:80px;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:transform .2s ease}.score-box:hover{transform:translateY(-3px)}.score-box.best{background-color:#4b5563;position:relative;overflow:hidden}.score-box.best:before{content:"";position:absolute;top:-20px;right:-20px;width:40px;height:40px;background-color:rgba(255,255,255,.1);transform:rotate(45deg)}.score-title{font-size:.75rem;font-weight:500;text-transform:uppercase}.score-value{font-size:1.25rem;font-weight:600}.continue-button,.restart-button,.start-button{background-color:#f59e0b;color:#7c2d12;font-weight:600;padding:.6rem 1.2rem;border-radius:var(--radius);border:none;cursor:pointer;transition:all .3s ease;font-size:.95rem;box-shadow:0 4px 6px rgba(0,0,0,.1)}.continue-button:hover,.restart-button:hover,.start-button:hover{background-color:#d97706;transform:translateY(-2px);box-shadow:0 6px 8px rgba(0,0,0,.15)}.continue-button:active,.restart-button:active,.start-button:active{transform:translateY(1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.puzzle-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:10px;background-color:#bbada0;border-radius:6px;padding:10px;margin-bottom:1.5rem;aspect-ratio:1/1;width:100%;max-width:500px;margin-left:auto;margin-right:auto;user-select:none;touch-action:none;box-shadow:0 8px 16px rgba(0,0,0,.15);transition:transform .3s ease}.puzzle-grid:hover{transform:scale(1.02)}.tile{display:flex;align-items:center;justify-content:center;font-weight:700;border-radius:3px;box-shadow:var(--shadow-sm);transition:all .2s ease;position:relative;overflow:hidden}.tile:not(.empty):after{content:"";position:absolute;top:0;left:0;right:0;height:30%;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent);border-radius:3px 3px 0 0}.empty{background-color:#cdc1b4;opacity:.7}.virtual-controls{display:flex;flex-direction:column;align-items:center;margin-top:1.5rem}.horizontal-keys{display:flex;gap:1rem;margin:.5rem 0}.virtual-key{width:55px;height:55px;border-radius:50%;background-color:var(--primary);color:white;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:all .3s ease;box-shadow:0 4px 6px rgba(0,0,0,.15)}.virtual-key:hover{background-color:var(--primary-hover);transform:translateY(-3px);box-shadow:0 6px 10px rgba(0,0,0,.2)}.virtual-key:active{transform:translateY(1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.game-instructions{margin-top:1.5rem;color:var(--text-secondary);font-size:.875rem;background-color:rgba(255,255,255,.7);padding:.8rem;border-radius:var(--radius);box-shadow:var(--shadow)}.start-screen{background:linear-gradient(to bottom right,#ffffff,#f3f4f6);border-radius:var(--radius);padding:2.5rem;margin-top:2rem;box-shadow:var(--shadow-md);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.start-screen:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#f59e0b,#d97706);border-radius:var(--radius) var(--radius) 0 0}.start-screen:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.15)}.start-screen h2{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;text-align:center;position:relative;display:inline-block}.start-screen h2:after{content:"";position:absolute;bottom:-8px;left:0;width:100%;height:3px;background:linear-gradient(90deg,#f59e0b,transparent);border-radius:1.5px}.start-screen p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.start-button{display:block;width:80%;margin:2rem auto 0;padding:.8rem;font-size:1.1rem;letter-spacing:1px;position:relative;overflow:hidden;z-index:1}.start-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease;z-index:-1}.start-button:hover:before{left:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(to bottom right,#ffffff,#f8fafc);padding:2.5rem;border-radius:var(--radius);text-align:center;max-width:90%;width:400px;box-shadow:0 10px 25px rgba(0,0,0,.2);transform:scale(.9);animation:scaleIn .3s ease forwards}@keyframes scaleIn{to{transform:scale(1)}}.modal-content h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;position:relative;display:inline-block}.modal-content h2:after{content:"";position:absolute;bottom:-8px;left:10%;width:80%;height:3px;background:linear-gradient(to right,var(--primary),transparent);border-radius:1.5px}.modal-content p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.modal-buttons{display:flex;justify-content:center;gap:1rem}.continue-button{background-color:var(--primary);color:white}.continue-button:hover{background-color:var(--primary-hover)}@media (max-width:650px){.puzzle-grid{gap:8px;padding:8px}.tile{font-size:1.25rem!important}.virtual-key{width:45px;height:45px;font-size:1.25rem}.game-header{flex-direction:column;gap:1rem}.start-screen{padding:1.5rem}.start-screen h2{font-size:1.5rem}.start-button{width:100%}}