:root{font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--background-light: #faf8ef;--text-light: #776e65;--background-dark: #1c1c1c;--text-dark: #d8d4cf}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--background-light);color:var(--text-light);overflow:hidden;transition:background-color .3s ease,color .3s ease}@media (prefers-color-scheme: dark){body{background-color:var(--background-dark);color:var(--text-dark)}}body.dark-theme{background-color:var(--background-dark);color:var(--text-dark)}body.light-theme{background-color:var(--background-light);color:var(--text-light)}@keyframes pop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes slide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.cell-new,.cell-merge{animation:pop .2s ease-in-out}.score-change{animation:slide .3s ease-out}@keyframes scale{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}.cell-scale{animation:scale .15s ease-in-out}@media (hover: none){.board{touch-action:none}button:active{transform:scale(.95)}}
