body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh}.app{max-width:500px;padding:20px;text-align:center;width:100%}h1{color:#fff;font-size:2.5rem;margin-bottom:30px;text-shadow:2px 2px 4px #0000004d}h2{color:#333;font-size:1.5rem}.error,h2{margin-bottom:20px}.error{animation:slideIn .3s ease-out;background-color:#f44;border-radius:8px;color:#fff;padding:12px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-container,.matchmaking-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:40px}input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;margin-bottom:16px;padding:12px 16px;transition:border-color .3s;width:100%}input:focus{border-color:#667eea;outline:none}button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;margin:8px;padding:12px 24px;transition:all .3s}button:disabled{cursor:not-allowed;opacity:.5}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:18px;padding:16px 32px}.primary-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.secondary-button{background-color:#4caf50;color:#fff}.secondary-button:hover:not(:disabled){background-color:#45a049}.danger-button{background-color:#f44336;color:#fff}.danger-button:hover:not(:disabled){background-color:#da190b}.game-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:30px}.status{animation:fadeIn .5s;border-radius:8px;font-size:1.5rem;font-weight:700;margin-bottom:20px;padding:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.status.waiting{background-color:#fff3cd;color:#856404}.status.your-turn{background-color:#d4edda;color:#155724}.status.opponent-turn{background-color:#cce5ff;color:#004085}.status.win{animation:pulse .5s ease-in-out;background-color:#d4edda;color:#155724}.status.lose{background-color:#f8d7da;color:#721c24}.status.draw{background-color:#e2e3e5;color:#383d41}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.board{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin:0 auto 20px;max-width:300px}.cell{align-items:center;aspect-ratio:1;background-color:#f0f0f0;border:3px solid #ddd;border-radius:12px;color:#333;display:flex;font-size:3rem;font-weight:700;justify-content:center;transition:all .3s;-webkit-user-select:none;user-select:none}.cell.clickable{background-color:#fff;cursor:pointer}.cell.clickable:hover{background-color:#e3f2fd;border-color:#667eea;transform:scale(1.05)}.cell.filled{animation:cellFill .3s ease-out}@keyframes cellFill{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.game-controls{display:flex;gap:10px;justify-content:center;margin-top:20px}.player-info{background-color:#f5f5f5;border-radius:8px;color:#555;margin-top:20px;padding:12px}.player-info strong{color:#667eea;font-size:1.2em}@media (max-width:600px){h1{font-size:2rem}.board{max-width:250px}.cell{font-size:2.5rem}.game-container,.login-container,.matchmaking-container{padding:20px}button{margin:5px 0;width:100%}.game-controls{flex-direction:column}}
/*# sourceMappingURL=main.097d6131.css.map*/