@font-face{font-family:'CustomFont';src:url('../assets/fonts/font.ttf') format('truetype')}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'CustomFont',sans-serif;background:linear-gradient(135deg,#e0e0e0,#34495e);color:#e0e0e0;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;overflow-y:auto;touch-action:none;padding:16px 0 120px}
.game-container{width:88vw;max-width:390px;background:#1e1e1e;border-radius:15px;padding:16px;box-shadow:0 10px 20px rgba(0,0,0,.6);text-align:center;position:relative;font-family:'CustomFont',sans-serif}
.home-link{position:absolute;top:12px;right:12px;width:32px;height:32px;background:#333;border:2px solid #444;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#ecf0f1;font-size:.9em;z-index:10}
.home-link:active{background:#1EE6FF;border-color:#1EE6FF;transform:scale(.9)}
.score-bar{display:flex;justify-content:center;gap:10px;margin-bottom:12px}
.score-box{background:#2a2a2a;padding:8px 14px;border-radius:10px;font-size:.95rem;color:#e6e6e6;min-width:70px;text-align:center}
.board{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#333;border-radius:10px;padding:8px;margin-bottom:12px}
.tile{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.6em;font-weight:bold;transition:transform .1s;background:#444;color:#e0e0e0}
.tile[data-val="2"]{background:#eee4da;color:#776e65}
.tile[data-val="4"]{background:#ede0c8;color:#776e65}
.tile[data-val="8"]{background:#f2b179;color:#fff}
.tile[data-val="16"]{background:#f59563;color:#fff}
.tile[data-val="32"]{background:#f67c5f;color:#fff}
.tile[data-val="64"]{background:#f65e3b;color:#fff}
.tile[data-val="128"]{background:#edcf72;color:#fff;font-size:1.3em}
.tile[data-val="256"]{background:#edcc61;color:#fff;font-size:1.3em}
.tile[data-val="512"]{background:#edc850;color:#fff;font-size:1.3em}
.tile[data-val="1024"]{background:#edc53f;color:#fff;font-size:1.1em}
.tile[data-val="2048"]{background:#edc22e;color:#fff;font-size:1.1em}
.tile[data-val="4096"]{background:#3c3a32;color:#f9f6f2;font-size:1em}
.tile[data-val="8192"]{background:#3c3a32;color:#f9f6f2;font-size:1em}
.tile.new{animation:popIn .2s ease}
@keyframes popIn{0%{transform:scale(0)}60%{transform:scale(1.1)}100%{transform:scale(1)}}
.status{font-size:.95rem;margin-bottom:8px;color:#ecf0f1}
.result{font-size:1.2em;font-weight:bold;display:none;color:#ecf0f1;margin-bottom:8px;min-height:1.4em}
.result.win{color:#66FF0E;transform:scale(1.1)}
.result.lose{color:#F50055}
.button-container{display:flex;justify-content:center}
.play-again{border-radius:8px;padding:10px 20px;font-size:1em;cursor:pointer;font-family:'CustomFont',sans-serif;background:#1EE6FF;color:#1e1e1e;border:none;font-weight:bold}
.play-again:active{transform:scale(.95)}
*:focus,*:active{outline:none;-webkit-tap-highlight-color:transparent}
footer{display:flex;flex-direction:column;justify-content:center;align-items:center;color:#ecf0f1;font-size:.8em;position:fixed;bottom:4px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);padding:10px 20px;box-sizing:border-box;background:#1e1e1e;border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.5);z-index:1000;font-family:'CustomFont',sans-serif}
.footer-content{text-align:center;border-top:1px solid #444;padding-top:10px}
.footer-links{text-align:center;margin-top:10px}
.terms-link{color:#8a2be2;text-decoration:none}
@media(max-width:420px){.game-container{padding:12px}.tile{font-size:1.3em}.score-box{padding:6px 10px;min-width:60px;font-size:.85rem}}
