body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh}body,html{overflow-x:hidden}body,html{width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.App{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;overflow-x:hidden;width:100%}.landing-screen{max-width:500px;padding:20px;width:100%}.landing-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;box-shadow:0 8px 32px #0000004d;padding:40px}.title{font-size:3.5rem;font-weight:700;margin:0 0 10px;text-shadow:2px 2px 4px #0000004d}.subtitle,.title{text-align:center}.subtitle{font-size:1.2rem;margin:0 0 30px;opacity:.9}.error-message{background:#ff00004d;border:2px solid #ff000080;border-radius:10px;margin-bottom:20px;padding:15px;text-align:center}.join-form,.login-form{display:flex;flex-direction:column;gap:15px}.logged-in-section{display:flex;flex-direction:column;gap:20px}.welcome-text{font-size:1.3rem;margin:0;text-align:center}.action-section{display:flex;flex-direction:column;gap:10px}.divider{font-weight:700;margin:10px 0;opacity:.7;text-align:center}.input-field{background:#ffffffe6;border:none;border-radius:10px;color:#333;font-size:1.1rem;padding:15px}.input-field:focus{outline:3px solid #ffffff80}.btn{border:none;border-radius:10px;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 30px;transition:transform .2s,box-shadow .2s}.btn:hover:not(:disabled){box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#f093fb,#f5576c)}.btn-secondary{background:linear-gradient(135deg,#4facfe,#00f2fe)}.host-lobby-screen{max-width:800px;padding:20px;width:100%}.host-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;box-shadow:0 8px 32px #0000004d;padding:40px}.room-code-section{margin-bottom:40px;text-align:center}.room-code-label{font-size:1.2rem}.room-code{background:linear-gradient(135deg,#f093fb,#f5576c);font-size:4rem;letter-spacing:15px;text-shadow:0 0 20px #f093fb80}.players-section{margin-bottom:30px}.players-section h2{font-size:1.8rem;margin-bottom:20px}.players-list{display:flex;flex-direction:column;gap:10px}.no-players{font-style:italic;opacity:.7;text-align:center}.player-item{background:#ffffff1a;border-radius:10px;gap:15px;padding:15px}.player-item,.player-number{align-items:center;display:flex}.player-number{background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:50%;font-weight:700;height:30px;justify-content:center;width:30px}.player-name{font-size:1.2rem}.btn-start{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:15px;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:700;margin-bottom:20px;padding:20px;transition:transform .2s,box-shadow .2s;width:100%}.btn-start:hover:not(:disabled){box-shadow:0 6px 20px #11998e80;transform:translateY(-3px)}.btn-start:disabled{cursor:not-allowed;opacity:.5}.countdown-message{background:linear-gradient(135deg,#f093fb,#f5576c);font-size:2rem;margin-bottom:20px;padding:20px}.lobby-info{font-size:.9rem;opacity:.7;text-align:center}.lobby-info p{margin:5px 0}.player-lobby-screen{max-width:600px;padding:20px;width:100%}.player-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;box-shadow:0 8px 32px #0000004d;padding:40px}.game-title{font-size:2.5rem;font-weight:700;margin:0 0 30px;text-align:center}.room-info{margin-bottom:40px;text-align:center}.room-code-label{font-size:1rem;margin-bottom:10px;opacity:.9}.room-code{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;letter-spacing:10px}.status-section{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.player-status,.players-count{background:#ffffff1a;border-radius:15px;padding:20px;text-align:center}.count-label,.status-label{font-size:.9rem;margin-bottom:10px;opacity:.8}.player-name-display{font-size:1.8rem;font-weight:700;margin:0}.count-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin:0}.waiting-message{background:#ffffff1a;border-radius:15px;padding:30px;text-align:center}.waiting-message p{font-size:1.2rem;margin-bottom:10px}.loading-dots{font-size:2rem;letter-spacing:5px}.loading-dots span{animation:blink 1.4s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,20%,50%,80%,to{opacity:.3}40%{opacity:1}}.countdown-message{animation:pulse 1s infinite;background:linear-gradient(135deg,#11998e,#38ef7d);border-radius:15px;font-size:1.5rem;padding:30px;text-align:center}.tv-display-screen{-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh;overflow-y:auto;padding:40px 40px 60px;width:100%}@media (max-width:768px){.tv-display-screen{padding:20px 20px 60px}}.tv-header{border-bottom:3px solid #ffffff4d;margin-bottom:40px;padding-bottom:30px}.tv-game-title{font-size:4rem;font-weight:700;text-shadow:3px 3px 6px #0000004d}.tv-room-code{align-items:flex-end;display:flex;flex-direction:column}.tv-code-label{font-size:1.5rem;margin-bottom:10px;opacity:.9}.tv-code{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;background-clip:text;font-size:5rem;font-weight:700;letter-spacing:20px;text-shadow:0 0 30px #f093fb99}.tv-content{display:flex;flex:1 1;flex-direction:column}.tv-players-section{flex:1 1}.tv-section-title{font-size:2.5rem;margin-bottom:30px;text-align:center}.tv-no-players{background:#ffffff1a;border-radius:20px;padding:60px;text-align:center}.tv-no-players p{font-size:2rem;margin:10px 0}.tv-hint{font-size:1.5rem!important;opacity:.8}.tv-players-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:20px}.tv-player-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:20px;box-shadow:0 4px 16px #0003;display:flex;gap:20px;padding:30px;transition:transform .3s}.tv-player-card:hover{transform:translateY(-5px)}.tv-player-number{align-items:center;background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:50%;display:flex;flex-shrink:0;font-size:2rem;font-weight:700;height:60px;justify-content:center;width:60px}.tv-player-name{font-size:2rem;font-weight:700;word-break:break-word}.tv-status{background:#ffffff1a;border-radius:20px;margin-top:30px;padding:30px;text-align:center}.tv-status-text{font-size:2rem;margin:0}.tv-status-text.starting{-webkit-text-fill-color:#0000;animation:pulse 1s infinite;background:linear-gradient(135deg,#11998e,#38ef7d);-webkit-background-clip:text;background-clip:text;font-size:3rem}.game-screen{-webkit-overflow-scrolling:touch;min-height:100vh;overflow-y:auto;width:100%}.starbot-game{background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center}.starbot-game,.starbot-screen{-webkit-overflow-scrolling:touch;align-items:center;display:flex;min-height:100vh;overflow-y:auto;width:100%}.starbot-screen{flex-direction:column;justify-content:flex-start;padding:20px 20px 60px}@media (max-width:768px){.starbot-screen{padding:20px 15px 80px}}.tv-gameplay-view{display:flex;flex-direction:column;height:100%}.tv-header{background:#000000b3;margin-bottom:20px;padding:20px 40px}.tv-game-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text}.tv-round-info{color:#3498db;font-size:2rem;font-weight:700}.tv-map-container{align-items:center;background:#000014e6;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:20px}.starmap{height:100%;max-height:calc(100vh - 300px);width:100%}.planet{filter:drop-shadow(0 0 10px #4a9eff)}.asteroid,.planet{transition:all .3s ease}.base{filter:drop-shadow(0 0 15px #2ecc71)}.bot{filter:drop-shadow(0 0 8px #e74c3c);transition:all .2s linear}.tv-scoreboard{background:#000000b3;border-radius:15px;display:flex;gap:20px;justify-content:space-around;margin-top:20px;padding:20px}.player-card-tv{background:linear-gradient(135deg,#667eea4d,#764ba24d);border-radius:12px;flex:1 1;padding:15px 25px;text-align:center}.player-name-tv{color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:10px}.player-stats-tv{display:flex;font-size:1.4rem;gap:15px;justify-content:space-around}.player-stats-tv .score{color:#f39c12}.player-stats-tv .ore{color:#3498db}.player-stats-tv .bots{color:#e74c3c}.turn-phase-indicator{border-radius:12px;font-size:1.5rem;font-weight:700;margin:20px 0;padding:15px 30px;text-align:center}.phase-planning{animation:pulse 2s infinite;background:linear-gradient(135deg,#667eea,#764ba2)}.phase-execution{animation:pulse 2s infinite;background:linear-gradient(135deg,#f093fb,#f5576c)}.phase-results{background:linear-gradient(135deg,#4facfe,#00f2fe)}.lock-in-button{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:15px;color:#fff;cursor:pointer;font-size:1.8rem;font-weight:700;margin:30px 0;padding:20px;transition:all .3s ease;width:100%}.lock-in-button:hover:not(:disabled){box-shadow:0 10px 30px #38ef7d80;transform:scale(1.05)}.lock-in-button:disabled{background:#95a5a6;cursor:not-allowed}.lock-in-button.ready{animation:pulse 1.5s infinite;background:linear-gradient(135deg,#667eea,#764ba2)}.players-ready-status{background:#00000080;border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:20px}.player-ready{border-radius:8px;font-size:1.2rem;padding:10px 15px;transition:all .3s ease}.player-ready.ready{background:#2ecc714d;color:#2ecc71}.player-ready.waiting{background:#95a5a64d;color:#95a5a6}.execution-view,.results-view{padding:30px;text-align:center}.watch-tv-message{color:#3498db;font-size:1.5rem;font-style:italic;margin:20px 0}.countdown-screen{text-align:center}.countdown-overlay{background:#000c;border-radius:20px;max-width:800px;padding:60px}.countdown-title{-webkit-text-fill-color:#0000;animation:pulse 2s infinite;background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;background-clip:text;font-size:5rem;margin-bottom:30px}.countdown-text{font-size:3rem;font-weight:700;margin-bottom:20px}.countdown-subtitle{font-size:1.5rem;margin-bottom:30px;opacity:.9}.game-instructions{border-top:2px solid #ffffff4d;font-size:1.2rem;margin-top:30px;padding-top:30px;text-align:left}.game-instructions p{margin:10px 0;padding-left:20px}.gameplay-screen{-webkit-overflow-scrolling:touch;background:#0000004d;min-height:100vh;overflow-y:auto;padding-bottom:40px;width:100%}.tv-gameplay-view{max-width:1600px;width:100%}.tv-header{align-items:center;background:#000c;border-radius:15px;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.tv-game-title{font-size:3rem;margin:0}.tv-stats{display:flex;font-size:1.5rem;gap:30px}.tv-map-container{background:#000c;border-radius:20px;min-height:600px;padding:40px}.map-placeholder{padding:60px;text-align:center}.map-placeholder p{font-size:2rem;margin:20px 0}.map-desc{font-size:1.3rem!important;opacity:.8}.player-status-tv{background:#ffffff1a;border-radius:12px;display:flex;font-size:1.3rem;justify-content:space-around;margin:15px 0;padding:20px}.player-name{color:#4facfe;font-weight:700}.host-gameplay-view{max-width:900px;width:100%}.host-control-panel{background:#000c;border-radius:20px;padding:40px}.host-control-panel h2{font-size:2.5rem;margin-bottom:30px;text-align:center}.game-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stat-card{background:#ffffff1a;border-radius:15px;padding:25px}.stat-card h3{color:#4facfe;font-size:1.5rem;margin-bottom:15px}.stat-card p{font-size:1.2rem;margin:10px 0}.player-standing{border-bottom:1px solid #fff3;display:flex;justify-content:space-between;padding:10px 0}.player-gameplay-view{display:flex;flex-direction:column;gap:20px;max-width:600px;width:100%}.player-header{background:#000c;border-radius:15px;padding:20px}.player-header h3{font-size:1.8rem;margin:0 0 15px}.player-stats{display:flex;font-size:1.2rem;gap:20px}.stat{background:#ffffff1a;border-radius:8px;padding:10px 20px}.active-missions{background:#000c;border-radius:15px;padding:20px}.active-missions h4{color:#11998e;font-size:1.5rem;margin:0 0 15px}.mission-status{background:#ffffff1a;border-radius:10px;margin-bottom:10px;padding:15px}.mission-info{display:flex;font-weight:700;justify-content:space-between;margin-bottom:10px}.bot-status{color:#38ef7d;font-size:.9rem;text-transform:uppercase}.progress-bar{background:#fff3;border-radius:4px;height:8px;margin-bottom:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#11998e,#38ef7d);height:100%;transition:width .3s}.bot-stats-mini{display:flex;font-size:.9rem;justify-content:space-around;opacity:.9}.no-missions{font-style:italic;opacity:.7;padding:20px}.no-missions,.results-screen{text-align:center}.results-overlay{background:#000000e6;border-radius:20px;max-width:900px;padding:60px}.results-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#11998e,#38ef7d);-webkit-background-clip:text;background-clip:text;font-size:4rem;margin-bottom:40px}.winner-announcement{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:20px;margin-bottom:50px;padding:40px}.winner-crown{font-size:5rem;margin-bottom:20px}.winner-name{font-size:3rem;font-weight:700;margin:10px 0}.winner-score{font-size:2rem;opacity:.9}.results-leaderboard{background:#ffffff1a;border-radius:15px;padding:30px}.results-leaderboard h3{color:#4facfe;font-size:2rem;margin-bottom:25px}.leaderboard-entry{align-items:center;background:#ffffff0d;border-radius:12px;display:flex;font-size:1.3rem;justify-content:space-between;margin:10px 0;padding:20px}.leaderboard-entry.rank-1{background:linear-gradient(135deg,#ffd7004d,#ffd7001a);border:2px solid gold}.leaderboard-entry.rank-2{background:linear-gradient(135deg,#c0c0c04d,#c0c0c01a);border:2px solid silver}.leaderboard-entry.rank-3{background:linear-gradient(135deg,#cd7f324d,#cd7f321a);border:2px solid #cd7f32}.rank{font-size:1.8rem;font-weight:700;min-width:60px}.leaderboard-entry .player-name{flex:1 1;font-weight:700;text-align:left}.leaderboard-entry .player-ore,.leaderboard-entry .player-score{min-width:100px;text-align:right}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.bot-builder{background:#1a1a3ef2;border-radius:15px;color:#fff;max-width:600px;padding:20px;width:100%}.builder-header{align-items:center;border-bottom:2px solid #fff3;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.builder-header h2{font-size:1.8rem;margin:0}.ore-display{align-items:center;background:#ffffff1a;border-radius:10px;display:flex;font-size:1.5rem;font-weight:700;gap:10px;padding:10px 20px}.ore-icon{font-size:2rem}.part-slot,.parts-selection{margin-bottom:20px}.part-slot h3{color:#4facfe;font-size:1.2rem;margin-bottom:10px}.part-options{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.part-button{background:#ffffff1a;border:2px solid #0000;border-radius:10px;color:#fff;cursor:pointer;padding:12px;text-align:left;transition:all .3s}.part-button:hover{background:#ffffff26;transform:translateY(-2px)}.part-button.selected{background:linear-gradient(135deg,#4facfe,#00f2fe);border-color:#fff}.part-name{font-size:.95rem;font-weight:700;margin-bottom:5px}.part-desc{font-size:.8rem;opacity:.8}.mission-selection{margin:20px 0}.mission-selection h3{color:#f093fb;font-size:1.3rem;margin-bottom:15px}.mission-options{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.mission-button{background:#f093fb33;border:2px solid #0000;border-radius:10px;color:#fff;cursor:pointer;padding:15px;text-align:left;transition:all .3s}.mission-button:hover{background:#f093fb4d;transform:translateY(-2px)}.mission-button.selected{background:linear-gradient(135deg,#f093fb,#f5576c);border-color:#fff}.mission-name{font-size:1.1rem;font-weight:700;margin-bottom:5px}.mission-desc{font-size:.9rem;opacity:.9}.path-drawing{margin:20px 0}.path-drawing h3{color:#11998e;font-size:1.3rem;margin-bottom:15px}.path-canvas-container{background:#0000004d;border-radius:10px;padding:20px;text-align:center}.draw-path-button{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 30px;transition:transform .2s}.draw-path-button:hover{transform:translateY(-3px)}.path-info{display:flex;flex-direction:column;gap:10px}.path-info p{font-size:1.1rem;margin:0}.confirm-path-button,.redraw-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:700;padding:10px 20px;transition:transform .2s}.redraw-button{background:#f5576c;color:#fff}.confirm-path-button{background:#38ef7d;color:#fff}.confirm-path-button:hover,.redraw-button:hover{transform:translateY(-2px)}.launch-actions{display:flex;gap:10px;margin-top:20px}.launch-button{border:none;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:1.2rem;font-weight:700;padding:18px;transition:all .3s}.launch-button.full-bot{background:linear-gradient(135deg,#667eea,#764ba2)}.launch-button.replicant-bot{background:linear-gradient(135deg,#f093fb,#f5576c)}.launch-button:hover:not(:disabled){box-shadow:0 6px 20px #0006;transform:translateY(-3px)}.launch-button:disabled{cursor:not-allowed;filter:grayscale(50%);opacity:.5}.launch-button.disabled{background:#555}.path-drawing-active{width:100%}.path-canvas{background:#1a1a2e;border:3px solid #4facfe;border-radius:10px;cursor:crosshair;display:block;height:300px;margin-bottom:15px;touch-action:none;width:100%}.path-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.path-info-text{color:#4facfe;font-size:1.1rem;font-weight:700;margin:0}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 24px;transition:all .2s}.btn-primary{background:#38ef7d;color:#fff}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#f5576c;color:#fff}.btn-primary:hover:not(:disabled),.btn-secondary:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.builder-status{animation:fadeIn .3s;border-radius:10px;font-size:1.1rem;font-weight:700;margin-top:15px;padding:15px;text-align:center}.builder-status.error{background:#f5576c33;border:2px solid #f5576c;color:#ff8fa3}.builder-status.info{background:#4facfe33;border:2px solid #4facfe;color:#4facfe}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.path-canvas{height:250px}.path-controls{align-items:stretch;flex-direction:column}.btn-primary,.btn-secondary{width:100%}.launch-actions{flex-direction:column}}
/*# sourceMappingURL=main.9a764faa.css.map*/