body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App,body{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;margin:0;min-height:100vh;padding:0}.App{margin-top:10px;padding:0;text-align:center}.game-container{align-items:flex-start;background:none;border-radius:10px;box-shadow:0 0 20px #0000004d;display:flex;gap:2rem;justify-content:center;padding:2rem}.game-board{align-items:center;gap:1rem}.game-board,.game-controls{display:flex;flex-direction:column}.game-controls{background-color:#ffffff1a;border-radius:8px;gap:1.5rem;min-width:200px;padding:1rem}.hint-control{align-items:center;color:#111;display:flex;gap:.5rem}.hint-control input[type=checkbox]{cursor:pointer;height:18px;width:18px}.board-size-control{color:#111;display:flex;flex-direction:column;gap:.5rem}.board-size-selector,.difficulty-selector{margin-bottom:10px}.board-size-selector label,.difficulty-selector label{color:#2c3e50;font-weight:700;margin-right:10px}.board-size-selector select,.difficulty-selector select{background-color:#fff;border:2px solid #3498db;border-radius:5px;cursor:pointer;font-size:16px;padding:5px 10px;transition:border-color .2s}.board-size-selector select:hover,.difficulty-selector select:hover{border-color:#2980b9}.board-size-select{background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:1rem;padding:.5rem;width:100%}.board-size-select:hover{border-color:#06c}.board-size-select:focus{border-color:#06c;box-shadow:0 0 0 2px #06c3;outline:none}.board{background-color:#f0f0f0;border-radius:5px;display:inline-block;padding:10px}.board-row,.cell{display:flex}.cell{align-items:center;background-color:#fff;border:1px solid #999;cursor:pointer;font-size:20px;font-weight:700;height:30px;justify-content:center;margin:1px;transition:background-color .3s ease;width:30px}.cell:hover{background-color:#e0e0e0}.cell[data-value=X]{color:#06c}.cell[data-value=O]{color:#c00}.hint-cell{animation:pulse 1.5s infinite;background-color:#90ee90!important}@keyframes pulse{0%{background-color:#90ee90}50%{background-color:#98fb98}to{background-color:#90ee90}}.probabilities-table{background-color:#f8f8f8;border-radius:5px;box-shadow:0 2px 4px #0000001a;padding:20px}.probabilities-table h2{color:#333;font-size:1.2em;margin-bottom:15px;margin-top:0}.probabilities-table table{border-collapse:collapse;width:100%}.probabilities-table td{border-bottom:1px solid #ddd;padding:8px;text-align:left}.probabilities-table td:last-child{font-weight:700;text-align:right}.probability-value{font-size:1.2em}.status{font-size:20px;font-weight:700;margin-top:20px}h1{margin:20px 0 25px;padding:0;text-shadow:2px 2px 4px #00000080}.game-over{align-items:center;display:flex;flex-direction:column;gap:15px}.winner-message{background-color:#ecf0f1;border-radius:5px;box-shadow:0 2px 4px #0000001a;color:#2c3e50;font-size:24px}.reset-button,.winner-message{font-weight:700;padding:10px 20px}.reset-button{background-color:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;transition:background-color .2s}.reset-button:hover{background-color:#2980b9}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{animation:modal-appear .3s ease-out;background-color:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;padding:30px;text-align:center}.modal-buttons{display:flex;gap:20px;justify-content:center;margin-top:20px}.modal-button{align-items:center;background-color:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:8px;padding:10px 20px;transition:background-color .2s}.modal-button:hover{background-color:#2980b9}.modal-button.new-game{background-color:#2ecc71}.modal-button.new-game:hover{background-color:#27ae60}.modal h2{color:#2c3e50;font-size:24px;margin:0 0 20px}.download-icon{margin-right:4px}@keyframes modal-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.winning-cell{animation:winning-pulse 1s infinite;background-color:gold!important}@keyframes winning-pulse{0%{background-color:gold}50%{background-color:orange}to{background-color:gold}}.commentator{bottom:20px;height:300px;position:fixed;right:20px;width:200px;z-index:1000}.commentator img{height:100%;object-fit:contain;width:100%}.commentator-container{align-items:flex-end;bottom:20px;display:flex;flex-direction:column;position:fixed;right:20px;z-index:1000}.commentator-image{height:150px;object-fit:contain;width:150px}.speech-bubble{background:#fff;border-radius:20px;box-shadow:0 2px 5px #0003;font-size:14px;line-height:1.4;margin-bottom:10px;max-width:200px;opacity:0;padding:15px;position:relative;text-align:center;transform:translateY(20px);transition:all .3s ease}.speech-bubble.show{opacity:1;transform:translateY(0)}.speech-bubble:after{border-color:#fff #0000;border-style:solid;border-width:10px 10px 0;bottom:-10px;content:"";display:block;position:absolute;right:20px;width:0}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.commentator-image{animation:bounce 2s infinite}.fireworks{height:100vh;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100vw;z-index:1000}.firework{height:1px;position:absolute;transform:translate(-50%,-50%);width:1px}.rocket{animation:rocket-trail 2s ease-out forwards;border-radius:2px;box-shadow:0 0 10px var(--color);height:20px;width:4px}.particle,.rocket{background:var(--color);position:absolute}.particle{animation:firework-particle 4s cubic-bezier(.2,.7,.4,1) forwards;animation:firework-particle var(--duration,4s) cubic-bezier(.2,.7,.4,1) forwards;animation-delay:0s;animation-delay:var(--delay,0s);box-shadow:0 0 16px 4px var(--color),0 0 32px 8px var(--color);left:0;opacity:0;top:0;transform:rotate(var(--angle)) translateY(0)}.particle,.particle-trail{border-radius:50%;height:var(--size);width:var(--size)}.particle-trail{animation:particle 1s ease-out forwards;animation-delay:calc(1s + var(--delay));background:radial-gradient(circle,var(--color) 0,#0000 70%);box-shadow:0 0 10px var(--color),0 0 20px var(--color),0 0 30px var(--color);position:absolute}@keyframes launch{0%{transform:translateY(0) rotate(var(--angle))}50%{transform:translateY(-50vh) rotate(var(--angle))}51%{transform:translateY(-50vh) rotate(var(--angle)) scale(0)}52%{transform:translateY(-50vh) rotate(var(--angle)) scale(1)}to{transform:translateY(-50vh) rotate(var(--angle)) scale(1)}}@keyframes rocket-trail{0%{opacity:1;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1)}51%{opacity:0;transform:scaleY(0)}to{opacity:0;transform:scaleY(0)}}@keyframes show-particles{0%{opacity:0}50%{opacity:0}51%{opacity:1}to{opacity:1}}@keyframes particle{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) translateZ(0) scale(0)}10%{opacity:.9;transform:rotate(var(--angle)) translateY(calc(var(--distance)*.1)) translateZ(50px) scale(1.5)}30%{opacity:.8;transform:rotate(var(--angle)) translateY(calc(var(--distance)*.3)) translateZ(100px) scale(1.2)}60%{opacity:.6;transform:rotate(var(--angle)) translateY(calc(var(--distance)*.6)) translateZ(150px) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(var(--distance)) translateZ(200px) scale(.5)}}@keyframes firework-particle{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scale(1)}5%{opacity:1}80%{opacity:1;transform:rotate(var(--angle)) translateY(var(--distance)) scale(1.1)}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--distance)*1.2)) scale(.5)}}
/*# sourceMappingURL=main.24c34893.css.map*/