#root{flex-direction:column;width:100%;min-height:100vh;display:flex}*{box-sizing:border-box}.home-container{color:#f8fafc;box-sizing:border-box;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);width:100vw;min-height:100vh;padding:60px 20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.home-header{text-align:center;margin-bottom:60px;animation:.8s ease-out fadeInDown}.home-header h1{background:linear-gradient(90deg,#38bdf8,#818cf8);-webkit-text-fill-color:transparent;letter-spacing:-1.5px;-webkit-background-clip:text;margin:0;font-size:4rem;font-weight:800}.home-header p{color:#94a3b8;margin-top:15px;font-size:1.2rem}.games-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;max-width:1100px;margin:0 auto;display:grid}.game-card{color:inherit;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff14;border-radius:24px;flex-direction:column;gap:20px;padding:30px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.8s ease-out fadeInUp;display:flex}.game-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-8px);box-shadow:0 20px 40px -10px #00000080}.game-card-icon{color:#fff;text-shadow:0 2px 4px #0003;background:linear-gradient(135deg,#edc22e,#f59563);border-radius:18px;justify-content:center;align-items:center;width:80px;height:80px;font-size:1.8rem;font-weight:900;display:flex;box-shadow:0 10px 20px -5px #edc22e66}.game-card-info h2{margin:0 0 10px;font-size:1.5rem;font-weight:700}.game-card-info p{color:#cbd5e1;margin:0;font-size:1rem;line-height:1.5}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.game-2048-page{touch-action:none;background-color:#faf8ef;justify-content:center;align-items:center;width:100vw;height:100dvh;font-family:Clear Sans,Helvetica Neue,Arial,sans-serif;display:flex;overflow:hidden}.game-container{color:#776e65;box-sizing:border-box;flex-direction:column;width:100%;min-width:320px;max-width:500px;height:100%;max-height:900px;padding:15px;display:flex}.game-top-nav{flex-shrink:0;margin-bottom:10px}.back-link{color:#776e65;font-size:16px;font-weight:700;text-decoration:none;transition:color .2s}.back-link:hover{color:#8f7a66}.header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.header h1{color:#776e65;margin:0;font-size:40px;font-weight:700;line-height:1}@media (width>=400px){.header h1{font-size:50px}}.score-container{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.score-box{background:#bbada0;border-radius:6px;flex-direction:column;align-items:center;min-width:60px;padding:4px 15px;display:flex}.score-label{color:#eee4da;font-size:11px;font-weight:700}.score-value{color:#fff;font-size:20px;font-weight:700}.reset-button{color:#fff;cursor:pointer;background:#8f7a66;border:none;border-radius:6px;padding:8px 16px;font-size:16px;font-weight:700}.board-container-wrapper{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.board-wrapper{aspect-ratio:1;box-sizing:border-box;background:#bbada0;border-radius:10px;width:auto;max-width:100%;height:100%;max-height:500px;margin:0 auto;padding:10px;position:relative}.board{flex-direction:column;gap:10px;width:100%;min-width:0;height:100%;min-height:0;display:flex}.row{flex:1;gap:10px;min-width:0;min-height:0;display:flex}.cell{-webkit-user-select:none;user-select:none;background:#cdc1b4;border-radius:6px;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;font-weight:700;display:flex;overflow:hidden}@media (width>=400px){.cell{font-size:40px}}.game-over-overlay{z-index:10;background:#eee4daba;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.game-over-overlay h2{margin-bottom:15px;font-size:36px}.instructions{color:#776e65;flex-shrink:0;margin-top:15px;font-size:13px;line-height:1.4}@media (height<=600px){.instructions{display:none}.header h1{font-size:32px}}body,html{background-color:#0f172a;width:100%;height:100%;margin:0;padding:0}
