@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap);*{box-sizing:border-box;margin:0;padding:0}body{background:#0a0a0a;color:#fff;font-family:Press Start\ 2P,Courier New,monospace;font-size:10px;line-height:1.8}.App,body{min-height:100vh}.App{display:flex;flex-direction:column}.App-header{background:#0a0a0a;border-bottom:2px solid #0f0;box-shadow:0 2px 10px #00ff004d;padding:1.5rem 2rem;text-align:center}.App-header h1{color:#0f0;font-size:1.8rem;font-weight:800;letter-spacing:2px;margin-bottom:.5rem;text-shadow:0 0 10px #00ff004d}.App-header p{color:#ccc;font-size:1.1rem;font-weight:400}main{align-items:flex-start;display:flex;flex:1 1;justify-content:center;padding:2rem}.lobby{max-width:800px;width:100%}.lobby-container{background:#1a1a1a;border:2px solid #fff;border-radius:12px;box-shadow:0 4px 16px #ffffff1a;padding:2rem;transition:all .3s ease}.lobby-container:hover{border-color:#0f0;box-shadow:0 4px 16px #0f03}.game-description{margin-bottom:2rem}.game-description h2{color:#fff;font-weight:600;margin-bottom:1rem}.game-description ul{list-style:none;padding:0}.game-description li{border-bottom:1px solid #333;color:#ccc;padding:.75rem 0}.game-description li:last-child{border-bottom:none}.lobby-actions{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr 1fr}.create-room-section,.join-room-section,.play-vs-ai-section{text-align:center}.create-room-section h3,.join-room-section h3,.play-vs-ai-section h3{color:#fff;font-weight:500;margin-bottom:1.5rem}.created-room{background:#0f0f0f;border:1px solid #333;border-radius:6px;margin-top:1rem;padding:1rem}.created-room p{color:#ccc;font-size:.9rem;margin-bottom:.5rem}.room-code-display{align-items:center;display:flex;gap:.5rem;justify-content:center}.room-code-text{background:#000;border:1px solid #444;border-radius:4px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:1.2rem;font-weight:600}.copy-btn,.room-code-text{color:#fff;padding:.5rem 1rem}.copy-btn{background:#333;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.copy-btn:hover{background:#444;border-color:#666}.input-group{margin-bottom:1rem}.message-input,.player-name-input,.room-code-input{background:#1a1a1a;border:2px solid #fff;border-radius:8px;color:#fff;font-family:Press Start\ 2P,monospace;font-size:1rem;padding:.8rem;transition:all .3s ease;width:100%}.message-input:focus,.player-name-input:focus,.room-code-input:focus{background:#0f0f0f;border-color:#0f0;box-shadow:0 0 10px #00ff004d;outline:none}.message-input::placeholder,.player-name-input::placeholder,.room-code-input::placeholder{color:#666;font-family:Orbitron,monospace}.back-btn,.create-room-btn,.join-room-btn,.send-button{background:#1a1a1a;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:1rem;font-weight:600;letter-spacing:1px;padding:.8rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.create-room-btn:hover,.join-room-btn:hover,.send-button:hover{background:#0f0;border-color:#0f0;box-shadow:0 0 15px #0f06;color:#000;transform:translateY(-2px)}.back-btn:hover{background:red;border-color:red;box-shadow:0 0 15px #f006;color:#000;transform:translateY(-2px)}.create-room-btn:disabled,.exit-room-btn:disabled,.join-room-btn:disabled,.play-again-btn:disabled,.send-button:disabled{background:#333;border-color:#333;box-shadow:none;color:#666;cursor:not-allowed;transform:none}.game{max-width:1200px;width:100%}.game-board-container.ai-mode{grid-column:1/-1;margin:0 auto;max-width:600px}.game-header{background:#1a1a1a;border:1px solid #333;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.room-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.room-info h2{color:#fff;font-weight:500}.game-content{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.game-board-container{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:2rem}.board-grid{grid-gap:6px;background:#0f0f0f;border-radius:4px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);margin:0 auto 2rem;max-width:400px;min-width:320px;padding:6px;width:400px}.game-cell{align-items:center;aspect-ratio:1;background:#262626;border:1px solid #404040;border-radius:4px;cursor:default;display:flex;font-size:1.2rem;font-weight:700;justify-content:center;min-height:80px;transition:all .2s}.game-cell.clickable{border-color:#666;cursor:pointer}.game-cell.clickable:hover{background:#333;border-color:#888;transform:scale(1.02)}.game-cell.empty{color:#666}.game-cell.placed{background:#1f2937;border-color:#4b5563}.game-cell.revealed{background:#0f172a;border-color:#1e293b}.game-cell.revealed-o,.game-cell.revealed-x{background:#1f2937;border-color:#6b7280;color:#fff}.game-cell.winning-cell{animation:winner-glow 1s ease-in-out infinite alternate;background:#fbbf24;border-color:#f59e0b;color:#000}@keyframes winner-glow{0%{box-shadow:0 0 10px #fbbf24}to{box-shadow:0 0 20px #fbbf24}}.piece-empty{color:#666;font-size:1.5rem}.piece-revealed{color:#fff;font-size:2.5rem;font-weight:700}.piece-revealed.piece-o,.piece-revealed.piece-x{color:#fff}.piece-probability{align-items:center;color:#fff;display:flex;flex-direction:column;font-size:.9rem;line-height:1}.piece-probability.center-hidden{color:#666}.prob-line{font-weight:600}.prob-divider{color:#888;font-size:.8rem;margin:2px 0}.game-instructions{background:#0f0f0f;border:1px solid #333;border-radius:4px;color:#ccc;padding:1rem;text-align:center}.waiting-overlay{align-items:center;background:#000c;border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:100}.waiting-message{color:#fff;font-family:Press Start\ 2P,monospace;text-align:center}.waiting-message h3{color:#fa0;font-size:16px;margin-bottom:1rem}.waiting-message p{color:#ccc;font-size:12px;margin-bottom:2rem}.game-board{display:flex;flex-direction:column;min-height:600px;position:relative}.rules-button{align-items:center;background:#1a1a1a;border:2px solid #fff;border-radius:50%;bottom:20px;color:#fff;cursor:pointer;display:flex;font-family:Press Start\ 2P,monospace;font-size:14px;height:50px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:50px;z-index:999}.rules-button:hover{background:#0f0;border-color:#0f0;box-shadow:0 0 15px #0f06;color:#000}.rules-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.rules-popup{background:#1a1a1a;border:2px solid #fff;border-radius:12px;font-family:Press Start\ 2P,monospace;font-size:10px;max-height:80vh;max-width:600px;overflow-y:auto;width:90%}.rules-header{align-items:center;background:#0f0f0f;border-bottom:2px solid #333;display:flex;justify-content:space-between;padding:1rem}.rules-header h3{color:#0f0;font-size:12px;margin:0}.close-btn{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;padding:0;width:24px}.close-btn:hover{color:red}.rules-content{line-height:1.6;padding:1.5rem}.rule-section{margin-bottom:1.5rem}.rule-section h4{color:#fa0;font-size:10px;margin-bottom:.8rem}.rule-section ul{list-style:none;padding-left:0}.rule-section li{color:#ccc;margin-bottom:.5rem;padding-left:1rem;position:relative}.rule-section li:before{color:#0f0;content:">";left:0;position:absolute}.rule-section p{color:#ccc;margin:0}.turn-timer{background:#1a1a1a;border:2px solid #fa0;border-radius:8px;color:#fa0;font-family:Press Start\ 2P,monospace;font-size:10px;margin:.5rem 0;padding:.5rem 1rem;text-align:center}.turn-timer.urgent{animation:pulse 1s infinite;border-color:red;color:red}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.game-end{background:#0f0f0f;border:2px solid #333;border-radius:8px;margin-top:1rem;padding:2rem;text-align:center}.winner-message{color:#0f0;text-shadow:0 0 10px #00ff004d}.draw-message,.winner-message{font-size:1.2rem;margin-bottom:1.5rem}.draw-message{color:#fa0;text-shadow:0 0 10px #ffaa004d}.game-end-actions{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem}.play-again-btn{background:#1a1a1a;border:2px solid #0f0;border-radius:8px;color:#0f0;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:.9rem;letter-spacing:1px;min-width:150px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease}.play-again-btn:hover{background:#0f0;box-shadow:0 0 20px #00ff0080;color:#000;transform:translateY(-2px)}.exit-room-btn{background:#1a1a1a;border:2px solid red;border-radius:8px;color:red;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:.9rem;letter-spacing:1px;min-width:150px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease}.exit-room-btn:hover{background:red;box-shadow:0 0 20px #ff000080;color:#000;transform:translateY(-2px)}.play-again-status{color:#888;font-size:.9rem}.game-status-bar{display:flex;flex-direction:column;gap:1.5rem}.status-section{text-align:center}.phase-info{color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.game-status{border:1px solid #333;border-radius:4px;font-weight:500;padding:.75rem}.game-status.my-turn{background:#0f2027;border-color:#4ade80;color:#fff}.game-status.opponent-turn{background:#1f1f1f;border-color:#666;color:#ccc}.game-status.ai-turn{animation:ai-thinking 2s ease-in-out infinite alternate;background:#1a0f2a;border-color:#8b5cf6;color:#c084fc}@keyframes ai-thinking{0%{opacity:.8}to{opacity:1}}.game-status.winner{background:#fbbf24;border-color:#f59e0b;color:#000}.game-status.draw,.game-status.loser{background:#1f1f1f;border-color:#666;color:#ccc}.players-section h4{color:#fff;font-weight:500;margin-bottom:.5rem}.players-list{display:flex;flex-direction:column;gap:.5rem}.player-info{align-items:center;background:#0f0f0f;border:1px solid #333;border-radius:4px;display:flex;gap:.5rem;padding:.5rem}.player-info.current-player{background:#1f2937;border-color:#4b5563}.player-symbol{color:#fff;font-size:1.1rem;font-weight:700;text-align:center;width:20px}.player-name{color:#ccc;flex:1 1}.turn-indicator{color:#4ade80;font-size:1.2rem}.waiting-for-player{background:#1f1f1f;border:1px solid #333;border-radius:4px;color:#888;margin-top:1rem;padding:1rem;text-align:center}.game-info{display:flex;flex-direction:column;gap:.5rem}.info-item{background:#0f0f0f;border:1px solid #333;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.info-label{color:#888;font-weight:500}.info-value{color:#fff;font-weight:600}.chat-container{background:#1a1a1a;border:1px solid #333;border-radius:8px;height:-webkit-fit-content;height:fit-content;max-height:600px}.chat-container,.chat-panel{display:flex;flex-direction:column}.chat-panel{height:100%}.chat-header{background:#0f0f0f;border-bottom:1px solid #333;border-radius:8px 8px 0 0;padding:1rem}.chat-header h3{color:#fff;font-weight:500;margin:0}.chat-messages{-webkit-scrollbar:none;-ms-overflow-style:none;background:#1a1a1a;display:flex;flex:1 1;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding:1rem;scrollbar-width:none}.chat-messages::-webkit-scrollbar{display:none}.no-messages{color:#666;font-style:italic;text-align:center}.chat-message{border-radius:4px;display:flex;flex-direction:column;max-width:80%;padding:.75rem}.chat-message.own-message{align-self:flex-end;background:#fff;color:#000}.chat-message.other-message{align-self:flex-start;background:#0f0f0f;border:1px solid #333;color:#fff}.message-header{align-items:center;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:.25rem}.player-name{font-size:1rem;font-weight:600}.message-time{opacity:.7}.message-content{font-size:.8rem;line-height:1.4}.chat-input{background:#0f0f0f;border-radius:0 0 8px 8px;border-top:1px solid #333;display:flex;gap:.5rem;padding:1rem}.message-input{flex:1 1;margin-bottom:0}.send-button{min-width:50px;padding:.75rem}.game-error,.game-loading{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:3rem;text-align:center}.game-error h2,.game-loading h2{color:#fff;margin-bottom:1rem}.game-error p{color:#ccc;margin-bottom:2rem}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #333;border-radius:50%;border-top-color:#fff;height:40px;margin:2rem auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.notifications-container{display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;top:20px;z-index:1000}.notification{animation:slideInRight .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #0009;font-family:Press Start\ 2P,monospace;font-size:8px;max-width:500px;min-width:300px}.notification-success{background:#1a1a1a;border:2px solid #0f0;color:#0f0}.notification-error{background:#1a1a1a;border:2px solid red;color:red}.notification-info{background:#1a1a1a;border:2px solid #fff;color:#fff}.notification-warning{background:#1a1a1a;border:2px solid #fa0;color:#fa0}.notification-content{align-items:center;display:flex;justify-content:space-between;padding:1rem}.notification-message{flex:1 1;font-size:.9rem;font-weight:500}.notification-close{align-items:center;background:none;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;margin-left:1rem;padding:0;transition:background-color .2s ease;width:24px}.notification-close:hover{background:#ffffff1a}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.play-again-status{animation:pulse-status 2s ease-in-out infinite alternate;background:#1a1a1a;border:2px solid #0f0;border-radius:8px;color:#0f0;font-family:Press Start\ 2P,monospace;font-size:.8rem;margin:1rem 0;padding:1rem;text-align:center}@keyframes pulse-status{0%{border-color:#0f0;box-shadow:0 0 5px #00ff004d}to{border-color:#0f0;box-shadow:0 0 15px #0f09}}.play-again-status.waiting{border-color:#fa0;color:#fa0}.play-again-status.ready{border-color:#0f0;color:#0f0}.play-again-votes{gap:2rem;justify-content:center;margin-top:1rem}.play-again-votes,.vote-status{align-items:center;display:flex}.vote-status{color:#ccc;font-size:.7rem;gap:.8rem}.vote-indicator{background:#333;border:2px solid #666;border-radius:50%;height:16px;transition:all .3s ease;width:16px}.vote-indicator.voted{background:#0f0;border-color:#0f0;box-shadow:0 0 10px #0f06}@media (max-width:768px){.App-header{padding:1rem}.App-header h1{font-size:2rem}main{padding:1rem}.lobby-actions{gap:1.5rem;grid-template-columns:1fr}.game-content{gap:1rem;grid-template-columns:1fr}.room-info{flex-direction:column;gap:1rem;text-align:center}.board-grid{max-width:300px;min-width:280px;width:300px}.game-cell{font-size:1rem;min-height:60px}.piece-revealed{font-size:2rem}.piece-probability{font-size:.8rem}.game-end-actions{align-items:center;flex-direction:column;gap:1rem}.exit-room-btn,.play-again-btn{font-size:.8rem;min-width:200px;padding:.8rem 1.5rem}.play-again-votes{flex-direction:column;gap:1rem}.notifications-container{left:10px;right:10px;top:10px}.notification{min-width:auto}}.monty-hall-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.monty-hall-popup{background:#1a1a1a;border:2px solid #0f0;border-radius:12px;box-shadow:0 0 20px #00ff004d;max-width:500px;padding:2rem;width:90%}.monty-hall-header{margin-bottom:1.5rem;text-align:center}.monty-hall-header h3{color:#0f0;font-size:1.2rem;margin:0;text-shadow:0 0 10px #00ff0080}.monty-hall-content{color:#fff;text-align:center}.monty-hall-content p{line-height:1.6;margin-bottom:1rem}.revealed-info{background:#0f0f0f;border:1px solid #0f0;border-radius:8px;margin:1.5rem 0;padding:1rem}.revealed-info strong{color:#0f0;font-size:1.1rem}.monty-hall-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:2rem}.choice-btn{background:#1a1a1a;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-family:Press Start\ 2P,monospace;font-size:.8rem;gap:.5rem;padding:1rem;transition:all .3s ease}.original-btn:hover{background:#06f;border-color:#06f;box-shadow:0 0 15px #06f6}.monty-btn:hover,.original-btn:hover{color:#000;transform:translateY(-2px)}.monty-btn:hover{background:#0f0;border-color:#0f0;box-shadow:0 0 15px #0f06}.choice-desc{font-size:.6rem;font-weight:400;opacity:.8}.monty-original{animation:pulse-blue 1s infinite alternate;border:3px solid #06f!important;box-shadow:0 0 15px #06f9}.monty-choice{animation:pulse-green 1s infinite alternate;border:3px solid #0f0!important;box-shadow:0 0 15px #0f09}.monty-hall-instructions{background:#0f0f0f;border:2px solid #0f0;border-radius:8px;margin-bottom:1rem;padding:1rem;text-align:center}.monty-hall-instructions p{color:#fff;margin:.5rem 0}.original-choice{color:#06f;font-weight:700}.monty-choice{color:#0f0;font-weight:700}@keyframes pulse-blue{0%{box-shadow:0 0 15px #06f9}to{box-shadow:0 0 25px #0066ffe6}}@keyframes pulse-green{0%{box-shadow:0 0 15px #0f09}to{box-shadow:0 0 25px #00ff00e6}}.ai-btn{background:#1a1a1a;border:2px solid #0f0;border-radius:6px;color:#0f0;cursor:pointer;font-family:Press Start\ 2P,monospace;font-size:.8rem;letter-spacing:.5px;margin-top:2rem;padding:.8rem 1.5rem;text-transform:uppercase;transition:all .3s ease;width:100%}.ai-btn:hover:not(:disabled){background:#0f0;box-shadow:0 0 15px #0f06;color:#000;transform:translateY(-1px)}.ai-btn:disabled{background:#333;border-color:#333;box-shadow:none;color:#666;cursor:not-allowed;transform:none}.share-instruction{color:#888;font-size:.7rem;font-style:italic;margin-top:.5rem}@media (max-width:768px){.lobby-actions{gap:1.5rem;grid-template-columns:1fr}.ai-btn{font-size:.7rem;padding:.6rem 1.2rem}}
/*# sourceMappingURL=main.1fad29a4.css.map*/