body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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{height:100%;text-align:center;width:100%}.ultimate-tic-tac-toe{align-items:center;animation:gradient-shift 15s ease infinite;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);background-size:400% 400%;color:#fff;display:flex;flex-direction:column;font-family:Roboto,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding-left:1rem;padding-right:1rem;width:100%}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.game-container{align-items:center;display:flex;flex-direction:column;gap:30px;justify-content:center;max-width:1200px;padding:20px;width:90%}@media (min-width:768px){.game-container{flex-direction:row}}.ultimate-board{grid-gap:10px;aspect-ratio:1;background-color:#ffffff14;border-radius:10px;box-shadow:0 10px 30px #0000004d;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);max-height:800px;max-width:800px;padding:10px;position:relative;width:95%}.board-wrapper{padding:5px}.board,.board-wrapper{height:100%;position:relative;width:100%}.board{align-items:center;background-color:#ffffff0d;border-radius:8px;display:flex;justify-content:center;overflow:hidden;transition:all .3s ease}.board.active{background-color:#ffffff1a}.board.next-board{animation:pulse 2s infinite;background-color:#ffffff26;box-shadow:0 0 10px #ffd70080}@keyframes pulse{0%{box-shadow:0 0 10px #ffd70080}50%{box-shadow:0 0 20px #ffd700cc}to{box-shadow:0 0 10px #ffd70080}}.board.winner-X{background-color:#ff525226}.board.winner-O{background-color:#4caf5026}.board-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.board-grid,.cell-wrapper{height:100%;position:relative;width:100%}.cell,.cell-wrapper{align-items:center;display:flex;justify-content:center}.cell{background-color:#ffffff0d;border-radius:4px;cursor:not-allowed;height:90%;transition:all .2s ease;width:90%}.cell.playable{cursor:pointer}.cell.playable:hover{background-color:#ffffff26;transform:scale(1.05)}.board-winner{align-items:center;display:flex;font-size:3rem;font-weight:700;height:100%;justify-content:center;width:100%}.winner-X{color:#ff5252}.winner-O{color:#4caf50}.mark{height:80%;width:80%}.x-mark{color:#ff5252}.o-mark{color:#4caf50}.win-line{left:0;pointer-events:none;top:0;z-index:2}.game-winner,.win-line{height:100%;position:absolute;width:100%}.game-winner{align-items:center;background-color:#000c;border-radius:10px;display:flex;flex-direction:column;gap:20px;justify-content:center;z-index:10}.game-winner h2{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#ff5252,#ff1493);-webkit-background-clip:text;font-size:3rem;margin:0;text-align:center;text-shadow:0 0 20px #ff525280}.winner-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.menu-btn,.play-again-btn,.reset-btn{background:linear-gradient(45deg,#ff5252,#ff1493);border:none;border-radius:8px;box-shadow:0 4px 8px #0000004d;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;margin:5px;padding:12px 24px;transition:all .3s ease}.menu-btn:hover,.play-again-btn:hover,.reset-btn:hover{box-shadow:0 8px 16px #ff525266;transform:translateY(-3px)}.menu-btn:active,.play-again-btn:active,.reset-btn:active{box-shadow:0 2px 4px #ff525266;transform:translateY(1px)}.game-info{background-color:#ffffff0d;border-radius:10px;box-shadow:0 4px 12px #0003;flex-direction:column;gap:15px;max-width:600px;padding:20px}.current-player,.game-info,.game-mode{align-items:center;display:flex;width:100%}.current-player,.game-mode{justify-content:center}.current-player h3,.game-mode h3{font-size:1.5rem;margin:0;text-align:center}.x-text{color:#ff5252}.o-text,.x-text{font-weight:700;margin-left:10px}.o-text{color:#4caf50}.thinking-indicator{animation:blink 1.5s infinite;color:gold;font-style:italic;margin-left:10px}@keyframes blink{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.game-controls{flex-wrap:wrap;gap:15px;margin-top:10px}.game-controls,.menu-container{display:flex;justify-content:center}.menu-container{align-items:center;background-color:#ffffff0d;border-radius:15px;box-shadow:0 10px 30px #0000004d;flex-direction:column;gap:40px;max-width:800px;padding:40px 20px;width:100%}.game-title{-webkit-text-fill-color:#0000;animation:glow 2s ease-in-out infinite alternate;background:linear-gradient(45deg,#ff5252,#ff1493);-webkit-background-clip:text;font-size:4rem;margin:0;text-align:center;text-shadow:0 0 20px #ff52524d}@keyframes glow{0%{text-shadow:0 0 5px #ff525280,0 0 10px #ff52524d}to{text-shadow:0 0 10px #ff5252b3,0 0 20px #ff525280}}.menu-buttons{display:flex;flex-direction:column;gap:20px;max-width:400px;width:100%}.menu-buttons .menu-btn{font-size:1.3rem;letter-spacing:1px;padding:16px;text-transform:uppercase;width:100%}.menu-btn.player-vs-player{background:linear-gradient(45deg,#3498db,#2980b9)}.menu-btn.player-vs-ai{background:linear-gradient(45deg,#9b59b6,#8e44ad)}.menu-btn.ai-vs-ai{background:linear-gradient(45deg,#e74c3c,#c0392b)}.game-instructions{max-width:600px;padding:0 20px;text-align:center}.game-instructions h3{font-size:1.5rem;margin-bottom:10px}.game-instructions p{font-size:1.1rem;line-height:1.6}@media (max-width:768px){.game-title{font-size:3rem}.game-info{padding:15px}.current-player h3,.game-mode h3{font-size:1.2rem}.menu-btn,.play-again-btn,.reset-btn{font-size:1rem;padding:10px 20px}.game-winner h2{font-size:2.5rem}}@media (max-width:480px){.game-title{font-size:2.5rem}.game-info{padding:10px}.current-player h3,.game-mode h3{font-size:1rem}.menu-btn,.play-again-btn,.reset-btn{font-size:.9rem;padding:8px 16px}.game-winner h2{font-size:2rem}.menu-buttons .menu-btn{font-size:1.1rem;padding:12px}}.confetti{animation:confetti-fall var(--fall-duration) ease-in forwards;background-color:var(--color);border-radius:50%;height:10px;position:absolute;width:10px;z-index:20}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(2turn)}}
/*# sourceMappingURL=main.74d91fb2.css.map*/