body { background-color: #1a202c; color: #e2e8f0; font-family: 'Inter', sans-serif; display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100vh; margin: 0; overflow: hidden; } .game-container { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; max-width: 900px; padding: 1rem; } canvas { border: 4px solid #4a5568; border-radius: 12px; box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3); background-color: #2d3748; touch-action: none; } .controls { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.5rem; width: 100%; max-width: 400px; } .button { padding: 0.75rem 1.5rem; border-radius: 9999px; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; cursor: pointer; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08); } .button.primary { background-image: linear-gradient(to right, #4c51bf, #667eea); color: white; } .button.secondary { background-color: #a0aec0; color: #1a202c; } .button:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1); } .status-message { font-size: 1.25rem; font-weight: bold; margin-bottom: 1rem; text-align: center; min-height: 2rem; } @media (max-width: 640px) { .controls { flex-direction: column; } } .piece-promotion-menu { position: absolute; background-color: rgba(0, 0, 0, 0.7); top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; z-index: 100; } .promotion-options { background-color: #2d3748; padding: 1.5rem; border-radius: 12px; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5); display: flex; gap: 1rem; } .promotion-option { background-color: #4a5568; padding: 1rem; border-radius: 8px; cursor: pointer; font-size: 2.5rem; transition: transform 0.2s; } .promotion-option:hover { transform: scale(1.1); }