#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;max-width:1200px;margin:0 auto;padding:20px}h1{text-align:center;margin-bottom:40px}.section{background:#f5f5f5;border-radius:8px;padding:20px;margin-bottom:30px}.section h2{margin-top:0;margin-bottom:15px}.btn{background-color:var(--bg-primary, #2c3e50);color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;margin:5px;transition:opacity .2s}.btn:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background-color:#f44336}.btn-danger:hover:not(:disabled){background-color:#d32f2f}.result-box{margin-top:15px;padding:15px;background:#fff;border-radius:4px;text-align:left}.result-box pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.ws-controls{margin-bottom:15px}.status{display:inline-block;padding:5px 15px;border-radius:4px;font-weight:700;margin-bottom:15px}.status.connected{background-color:#4caf50;color:#fff}.status.disconnected{background-color:#f44336;color:#fff}.ws-input-section{margin-top:20px}.input-group{display:flex;gap:10px;margin-bottom:15px}.input-field{flex:1;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.input-field:focus{outline:none;border-color:var(--bg-primary, #2c3e50)}.ws-messages{margin-top:20px}.ws-messages h3{margin-bottom:10px}.messages-container{max-height:300px;overflow-y:auto;background:#fff;border-radius:4px;padding:10px;text-align:left}.message{padding:8px;margin-bottom:5px;border-bottom:1px solid #eee;font-size:13px}.message:last-child{border-bottom:none}.message-time{color:#999;font-size:11px;margin-right:8px}.message-type{font-weight:700;margin-right:8px}.message-type.sent{color:#2196f3}.message-type.received{color:#4caf50}.message-type.error{color:#f44336}.message-type.system{color:#ff9800}.message-content{word-wrap:break-word}.command-section{margin-top:20px;padding:15px;background:#fff;border-radius:4px;border:1px solid #ddd}.command-section h4{margin-top:0;margin-bottom:10px;color:var(--bg-primary, #2c3e50)}.command-group{margin-bottom:15px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.command-group label{font-weight:700;margin-right:5px}.input-field-small{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;width:100px}.input-field-small:focus{outline:none;border-color:var(--bg-primary, #2c3e50)}.power-inputs{display:flex;flex-direction:column;gap:8px;width:100%}.power-input-item{display:flex;align-items:center;gap:8px}.power-input-item label{min-width:100px;font-weight:400}.shield-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}.shield-input-item{display:flex;align-items:center;gap:8px}.shield-input-item label{min-width:80px;font-weight:400}.command-message{padding:10px 15px;border-radius:4px;margin-bottom:15px;font-weight:700}.command-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.command-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.universe-controls{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover{background-color:#d32f2f}.parameters-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;margin-top:20px}.parameters-section h3{margin-top:0;color:var(--bg-primary, #2c3e50);border-bottom:2px solid var(--bg-primary, #2c3e50);padding-bottom:10px}.parameters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:20px}.parameter-group{background:#f5f5f5;border-radius:8px;padding:15px}.parameter-group h4{margin-top:0;margin-bottom:15px;color:var(--bg-primary, #2c3e50);font-size:16px}.parameter-group .input-group{margin-bottom:15px}.parameter-group label{display:block;margin-bottom:5px;font-weight:500;font-size:14px;color:#333}.parameter-group input[type=text],.parameter-group input[type=number]{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.parameter-group input[type=checkbox]{margin-right:8px}.error-message{background-color:#f44336;color:#fff;padding:10px;border-radius:4px;margin-bottom:15px}.universe-container{margin-top:20px}.universe-stats{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap;padding:15px;background:#fff;border-radius:4px}.stat-item{font-size:14px}.map-container{background:#1a1a2e;border-radius:8px;padding:20px;margin-bottom:20px;overflow:hidden;position:relative}.universe-map{display:block;background:radial-gradient(circle at center,#16213e,#0f0f1e);border-radius:4px;cursor:grab;-webkit-user-select:none;user-select:none}.universe-map.panning{cursor:grabbing}.zoom-controls{position:absolute;top:30px;right:30px;display:flex;flex-direction:column;gap:5px;z-index:10}.zoom-button{background:#1a1a2ee6;border:2px solid #4a90e2;color:#4a90e2;width:40px;height:40px;border-radius:4px;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-user-select:none;user-select:none}.zoom-button:hover{background:#4a90e233;border-color:#5aa0f2;color:#5aa0f2;transform:scale(1.1)}.zoom-button:active{transform:scale(.95)}.star-gate-line{stroke:#4a90e2;stroke-width:2;opacity:.4;transition:opacity .2s}.star-gate-line.highlighted{opacity:.8;stroke-width:3}.solar-system-node{fill:gold;stroke:#ffed4e;stroke-width:2;cursor:pointer;transition:all .2s}.solar-system-node:hover{fill:#ffed4e;r:10}.solar-system-node.highlighted{fill:#ffed4e;r:10;filter:drop-shadow(0 0 8px #ffd700)}.solar-system-node.selected{fill:#ff6b6b;stroke:#ff5252;r:12;filter:drop-shadow(0 0 12px #ff5252)}.solar-system-label{fill:#fff;font-size:12px;font-weight:700;pointer-events:none;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.system-details{background:#fff;border-radius:8px;padding:20px;margin-top:20px}.system-details h3{margin-top:0;color:var(--bg-primary, #2c3e50);border-bottom:2px solid var(--bg-primary, #2c3e50);padding-bottom:10px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.detail-item{font-size:14px}.system-entities{margin-top:20px}.system-entities h4{color:var(--bg-primary, #2c3e50);margin-bottom:10px}.entity-list{display:flex;flex-direction:column;gap:10px}.entity-item{padding:10px;background:#f9f9f9;border-radius:4px;border-left:3px solid var(--bg-primary, #2c3e50);font-size:13px}.moons-list{margin-top:5px;display:flex;flex-wrap:wrap;gap:5px}.moon-tag{display:inline-block;padding:2px 8px;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:11px;font-weight:500}.orbital-view-container{margin:20px 0;background:#1a1a2e;border-radius:8px;padding:15px}.orbital-view-container h4{color:#fff;margin:0 0 15px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.orbital-view{display:block;margin:0 auto;border-radius:50%;border:2px solid #2a3a5a}.orbital-star{filter:drop-shadow(0 0 10px currentColor)}.orbital-planet{cursor:pointer;transition:all .2s}.orbital-planet:hover{filter:brightness(1.3);transform:scale(1.2)}.orbital-label{fill:#fff;font-size:10px;font-weight:700;pointer-events:none;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.orbital-stargate{filter:drop-shadow(0 0 5px #4a90e2)}.ship-info{background:#fff;border-radius:8px;padding:15px;margin-bottom:20px;display:flex;gap:20px;flex-wrap:wrap}.ship-info .info-item{font-size:14px}.system-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;border-left:4px solid var(--bg-primary, #2c3e50)}.system-section h3{margin-top:0;margin-bottom:15px;color:var(--bg-primary, #2c3e50);font-size:20px;border-bottom:2px solid var(--bg-primary, #2c3e50);padding-bottom:10px}.system-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:15px}.system-group{background:#f5f5f5;border-radius:8px;padding:15px;border:1px solid #e0e0e0}.system-group h4{margin-top:0;margin-bottom:12px;color:var(--bg-primary, #2c3e50);font-size:16px;font-weight:600}.system-group .info-item{margin-bottom:10px;font-size:14px;display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #e0e0e0}.system-group .info-item:last-child{border-bottom:none}.system-group .info-item strong{color:#555;font-weight:600}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;background:#e3f2fd;color:#1976d2}.status-badge.warning{background:#fff3cd;color:#856404}.status-badge.error{background:#f8d7da;color:#721c24}.status-badge.success{background:#d4edda;color:#155724}.warning{color:#ff9800;font-weight:600}.error{color:#f44336;font-weight:600}.success{color:#4caf50;font-weight:600}.admin-section{background:#f8f9fa;border:2px solid var(--bg-primary, #2c3e50);border-radius:8px;padding:20px;margin-top:30px}.admin-section h2{color:var(--bg-primary, #2c3e50);margin-bottom:20px;border-bottom:2px solid var(--bg-primary, #2c3e50);padding-bottom:10px}.admin-controls{display:flex;gap:10px;margin-bottom:20px}.admin-stats{background:#fff;padding:15px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.stat-item{padding:10px;background:#f5f5f5;border-radius:4px}.entity-counts h4{margin-bottom:10px;color:var(--bg-primary, #2c3e50)}.type-counts{display:flex;flex-wrap:wrap;gap:8px}.type-badge{background:var(--bg-primary, #2c3e50);color:#fff;padding:4px 12px;border-radius:15px;font-size:12px}.entity-filter{margin-bottom:15px;display:flex;align-items:center;gap:10px}.entity-filter select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.admin-entity-list{background:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.entity-table{max-height:400px;overflow-y:auto}.admin-entity-row{display:flex;align-items:center;gap:15px;padding:10px;border-bottom:1px solid #eee;cursor:pointer;transition:background .2s}.admin-entity-row:hover{background:#f0f0f0}.entity-id{font-family:monospace;color:#666;min-width:80px}.entity-type-badge{background:#e3f2fd;color:#1976d2;padding:2px 8px;border-radius:4px;font-size:11px;min-width:80px;text-align:center}.entity-name{flex:1;font-weight:500}.entity-overflow{padding:10px;text-align:center;color:#666;font-style:italic}.selected-entity-panel{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #00000026;border-left:4px solid var(--bg-primary, #2c3e50)}.entity-details{margin-bottom:20px}.detail-row{padding:8px 0;border-bottom:1px solid #eee}.entity-actions h4,.quick-actions h4{margin:15px 0 10px;color:var(--bg-primary, #2c3e50)}.action-buttons,.action-row{display:flex;flex-wrap:wrap;gap:8px}.btn-success{background:#4caf50;color:#fff}.btn-success:hover{background:#388e3c}.btn-warning{background:#ff9800;color:#fff}.btn-warning:hover{background:#f57c00}.btn-close{margin-top:15px;background:#9e9e9e;color:#fff}.btn-close:hover{background:#757575}.admin-result{padding:12px;background:#d4edda;color:#155724;border-radius:4px;margin-top:15px}.admin-result.error{background:#f8d7da;color:#721c24}.admin-game-controls{background:#fff;border-radius:8px;padding:15px;margin-bottom:20px;border-left:4px solid #4caf50}.admin-game-controls h3{margin:0 0 15px;color:var(--bg-primary, #2c3e50)}.game-control-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.game-state-display{display:flex;gap:15px;flex-wrap:wrap;padding:10px;background:#f5f5f5;border-radius:4px}.game-state-display span{padding:4px 12px;border-radius:4px;font-size:13px;font-weight:500}.status-active{background:#c8e6c9;color:#2e7d32}.status-inactive{background:#ffccbc;color:#bf360c}.status-warning{background:#fff3e0;color:#e65100}.status-alert{background:#ffcdd2;color:#c62828}.action-list{display:flex;flex-direction:column;gap:15px}.action-item{background:#f5f5f5;border-radius:8px;padding:12px;border:1px solid #e0e0e0}.action-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.action-header strong{color:var(--bg-primary, #2c3e50);font-size:14px}.action-params{display:flex;flex-wrap:wrap;gap:10px;padding-top:10px;border-top:1px solid #e0e0e0}.param-input{display:flex;flex-direction:column;gap:4px;min-width:120px}.param-input label{font-size:11px;color:#666;font-weight:500}.input-small{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;width:100%}.input-small:focus{outline:none;border-color:var(--bg-primary, #2c3e50)}.btn-small{padding:6px 12px;font-size:12px}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover{background:#d32f2f}
