body{font-family:Poppins,sans-serif;background-color:#f0f4f8;color:#333;margin:0;padding:20px;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;box-sizing:border-box}#root{width:100%;max-width:1200px}.app-container{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001a;padding:24px}.header{text-align:center;border-bottom:1px solid #e2e8f0;padding-bottom:16px;margin-bottom:20px}.header h1{font-size:2.5rem;font-weight:700;color:#2d3748;margin:0}.top-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px}.piece-selector,.game-controls{display:flex;gap:10px;flex-wrap:wrap}.main-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}@media (min-width: 952px){.main-layout{grid-template-columns:1fr 300px;gap:32px}}.board-container{position:relative;aspect-ratio:1 / 1;min-width:0}.player-turn-indicator{position:absolute;top:12px;left:12px;background:#ffffffe6;padding:5px 10px;border-radius:6px;font-weight:700;box-shadow:0 1px 3px #00000040;z-index:1}.sidebar{display:flex;flex-direction:column;gap:20px}.info-panel{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px}.info-panel h3,.info-panel h4{text-align:center;margin:0;color:#2d3748}.game-status{font-size:1.2rem;font-weight:700;text-align:center;padding:12px;border-radius:6px;background-color:#e2e8f0}.game-status.game-over{color:#c53030;background-color:#fed7d7}.info-item{font-size:1rem;text-align:center}.moves-history{list-style:none;padding:8px;margin:0;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:4px}.moves-history li{padding:2px 4px;font-size:.9rem}.button{font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;padding:10px 20px;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;align-items:center;gap:8px}.button-primary{background-color:#4a90e2}.button-primary:hover{background-color:#357abd;box-shadow:0 7px 14px #0000001a;transform:translateY(-2px)}.button-secondary{background-color:#6c757d}.button-secondary:hover{background-color:#5a6268;box-shadow:0 7px 14px #0000001a;transform:translateY(-2px)}.piece-button{background-color:#e2e8f0;color:#2d3748;border:2px solid transparent}.piece-button.selected{border-color:#4a90e2;background-color:#caddf7;transform:translateY(-2px)}.game-info{text-align:center;font-size:1.1rem;font-weight:600;padding:12px;background-color:#e2e8f0;border-radius:8px;color:#4a5568;margin-bottom:20px}.speed-selector{font-family:Poppins,sans-serif;font-size:.9rem;padding:4px 8px;border-radius:4px;border:1px solid #cbd5e0;background-color:#fff;margin-left:8px;cursor:pointer}.speed-selector:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.batch-controls{display:flex;flex-direction:column;gap:8px;margin:10px 0}.batch-controls button{width:100%;padding:8px;font-size:.9em}.batch-progress{margin:10px 0}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin:5px 0}.progress-fill{height:100%;background-color:#4caf50;transition:width .3s ease}.batch-results{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;font-size:.9em}.batch-results div{padding:4px;background-color:#f5f5f5;border-radius:4px;text-align:center}.button-danger{background-color:#f44336;color:#fff}.button-danger:hover{background-color:#d32f2f}
