@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0e17;--bg-panel: #111827;--bg-hover: #1f2937;--border: #1e293b;--text: #e2e8f0;--text-dim: #94a3b8;--accent: #3b82f6;--accent-hover: #2563eb;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--credit: #fbbf24;--ration: #34d399;--plasma: #a78bfa;--data: #38bdf8;--font: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-panel);border-right:1px solid var(--border);padding:16px 0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0}.sidebar-logo{font-size:18px;font-weight:700;padding:0 16px 16px;border-bottom:1px solid var(--border);letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.sidebar-nav{flex:1;padding:8px 0}.sidebar-nav a{display:block;padding:8px 16px;color:var(--text-dim);font-size:13px;transition:all .15s}.sidebar-nav a:hover,.sidebar-nav a.active{color:var(--text);background:var(--bg-hover);text-decoration:none}.sidebar-nav a.active{border-left:2px solid var(--accent)}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim)}.main-content{margin-left:220px;flex:1;padding:24px 32px;max-width:1200px}.resource-bar{display:flex;gap:16px;padding:12px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;margin-bottom:24px;flex-wrap:wrap}.resource-item{display:flex;align-items:center;gap:6px;font-size:13px}.resource-label{color:var(--text-dim)}.resource-value{font-weight:600}.resource-credits{color:var(--credit)}.resource-rations{color:var(--ration)}.resource-plasma{color:var(--plasma)}.resource-data{color:var(--data)}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:20px;margin-bottom:16px}.card-title{font-size:15px;font-weight:600;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.5px}td{padding:8px 12px;border-bottom:1px solid var(--border)}tr:hover td{background:var(--bg-hover)}button,.btn{font-family:var(--font);padding:8px 16px;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);color:var(--text);cursor:pointer;font-size:13px;transition:all .15s}button:hover,.btn:hover{background:var(--bg-hover);border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:4px 10px;font-size:12px}input,select{font-family:var(--font);padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-size:13px;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent)}label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.form-group{margin-bottom:16px}.form-row{display:flex;gap:16px}.form-row>*{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.auth-container{max-width:400px;margin:80px auto;padding:0 16px}.auth-title{font-size:28px;font-weight:700;text-align:center;margin-bottom:8px;letter-spacing:4px;text-transform:uppercase;color:var(--accent)}.auth-subtitle{text-align:center;color:var(--text-dim);margin-bottom:32px;font-size:13px}.login-page{display:flex;min-height:100vh;gap:48px;padding:48px;max-width:1200px;margin:0 auto}.login-left{flex:0 0 360px;display:flex;flex-direction:column}.login-right{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0}.login-about{margin-top:24px;font-size:13px;color:var(--text-dim);line-height:1.6}.login-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.login-features span{padding:4px 10px;border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.login-status-card .card-title{display:flex;align-items:center}.login-stats{display:flex;gap:24px;flex-wrap:wrap}.login-stat{text-align:center}.login-stat-value{font-size:24px;font-weight:700;color:var(--text)}.login-stat-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.health-dot{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:0 0 6px currentColor}.race-bar-container{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;margin-bottom:12px}.race-bar-item{min-width:4px}.race-bar-fill{height:100%;border-radius:2px}.race-bar-terrans{background:#3b82f6}.race-bar-ethereals{background:#a78bfa}.race-bar-foundry{background:#f59e0b}.race-bar-krazul{background:#ef4444}.race-bar-synthetics{background:#22c55e}.race-bar-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}.race-bar-legend-item{display:flex;align-items:center;gap:4px}.race-bar-dot{width:8px;height:8px;border-radius:2px;display:inline-block}.login-leaderboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.login-leaderboard{background:var(--bg);border-radius:4px;padding:12px}.login-leaderboard-heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:8px}.login-leaderboard-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 0}.login-leaderboard-rank{color:var(--text-dim);font-weight:600;width:16px;text-align:center;flex-shrink:0}.login-leaderboard-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-leaderboard-val{color:var(--accent);font-weight:600;flex-shrink:0}.login-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.login-info-heading{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);margin-bottom:4px}.login-info-text{font-size:12px;color:var(--text-dim);line-height:1.5}@media(max-width:900px){.login-page{flex-direction:column;padding:24px 16px;gap:24px}.login-left{flex:none;width:100%;max-width:400px;margin:0 auto}.login-right{width:100%;max-width:600px;margin:0 auto}.login-info-grid,.login-leaderboard-grid{grid-template-columns:1fr}}.error-msg{color:var(--danger);font-size:13px;margin-bottom:12px;padding:8px 12px;border:1px solid var(--danger);border-radius:4px;background:#ef44441a}.race-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.race-card{padding:12px;border:2px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s}.race-card:hover{border-color:var(--text-dim)}.race-card.selected{border-color:var(--accent);background:#3b82f61a}.race-name{font-weight:600;margin-bottom:4px}.race-desc{font-size:12px;color:var(--text-dim)}.stat-block{display:flex;flex-direction:column;align-items:center;padding:12px}.stat-value{font-size:24px;font-weight:700}.stat-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.cycle-timer{font-size:12px;color:var(--text-dim);text-align:right}.cycle-number{font-size:14px;font-weight:600;color:var(--accent)}.badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-race{background:#3b82f633;color:var(--accent)}.badge-active{background:#22c55e33;color:var(--success)}.badge-pending{background:#f59e0b33;color:var(--warning)}.progress-bar{height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.number-control{display:flex;align-items:center;gap:8px}.number-control input{width:80px;text-align:center}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:2px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:16px;text-align:center}.tab-bar{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:0}.tab-btn{padding:8px 16px;border:none;border-bottom:2px solid transparent;background:none;color:var(--text-dim);font-size:13px;cursor:pointer;border-radius:0}.tab-btn:hover{color:var(--text);background:none;border-color:transparent;border-bottom-color:var(--text-dim)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.message-list{display:flex;flex-direction:column;gap:8px}.message-item{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:12px}.message-header{display:flex;justify-content:space-between;margin-bottom:4px}.message-author{font-weight:600;font-size:13px;color:var(--accent)}.message-time{font-size:11px;color:var(--text-dim)}.message-content{font-size:13px;color:var(--text)}.status-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase}.status-normal{background:#64748b33;color:#94a3b8}.status-unfriendly{background:#f59e0b33;color:#f59e0b}.status-hostile{background:#f9731633;color:#f97316}.status-war{background:#ef444433;color:#ef4444}.status-ceasefire{background:#22c55e33;color:#22c55e}.success-msg{color:var(--success);font-size:13px;padding:8px 12px;border:1px solid var(--success);border-radius:4px;background:#22c55e1a}.page-loading{padding:40px;text-align:center;color:var(--text-dim)}.page h1{font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:20px}.page h2{font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:12px}.page h3{font-size:14px;font-weight:600;color:var(--text-dim);margin-bottom:8px}.info-tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--border);color:var(--text-dim);font-size:10px;font-weight:700;cursor:help;position:relative;vertical-align:middle;margin-left:4px;flex-shrink:0;transition:background .15s,color .15s}.info-tip:hover{background:var(--accent);color:#fff}.info-tip:after{content:attr(data-tip);position:absolute;background:#1e293b;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.5;white-space:normal;width:max-content;max-width:280px;z-index:1000;pointer-events:none;opacity:0;transition:opacity .15s;box-shadow:0 4px 12px #0006}.info-tip:hover:after{opacity:1}.info-tip-top:after{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.info-tip-bottom:after{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.info-tip-left:after{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.info-tip-right:after{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.directive-type-goal{background:#3b82f633;color:#3b82f6}.directive-type-constraint{background:#f59e0b33;color:#f59e0b}.directive-type-priority{background:#a78bfa33;color:#a78bfa}.action-success{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase;background:#22c55e33;color:#22c55e}.action-failed{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase;background:#ef444433;color:#ef4444}.agent-indicator{display:flex;align-items:center;gap:6px;font-size:12px}.agent-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.agent-dot-active{background:#22c55e;box-shadow:0 0 6px #22c55e}.agent-dot-idle{background:#64748b}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.transition-banner{background:#f59e0b26;border:1px solid var(--warning);color:var(--warning);padding:10px 16px;border-radius:6px;text-align:center;font-size:13px;font-weight:600;margin-bottom:24px;letter-spacing:.5px}.epoch-selector{display:flex;gap:8px;flex-wrap:wrap}.epoch-chip{padding:6px 14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);color:var(--text-dim);font-size:12px;cursor:pointer;transition:all .15s}.epoch-chip:hover{border-color:var(--text-dim);color:var(--text);background:var(--bg-hover)}.epoch-chip.selected{border-color:var(--accent);color:var(--accent);background:#3b82f61a}.scrollable-list{max-height:500px;overflow-y:auto}.sticky-panel{position:sticky;top:24px;align-self:start}.fleet-card-header{display:flex;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;transition:color .15s}.fleet-card-header:hover{color:var(--accent)}.sidebar-help-toggle{border-top:1px solid var(--border);padding:12px 16px;margin-top:auto}.advanced-toggle{display:inline-flex;align-items:center;font-size:12px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.advanced-toggle:hover{color:var(--accent)}.facility-category-header{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:12px}.wallet-adapter-button{background-color:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;height:48px;line-height:48px;padding:0 24px;border-radius:4px}.wallet-adapter-button-trigger{background-color:#512da8}.wallet-adapter-button:not([disabled]):focus-visible{outline-color:#fff}.wallet-adapter-button:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-button[disabled]{background:#404144;color:#999;cursor:not-allowed}.wallet-adapter-button-end-icon,.wallet-adapter-button-start-icon,.wallet-adapter-button-end-icon img,.wallet-adapter-button-start-icon img{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.wallet-adapter-button-end-icon{margin-left:12px}.wallet-adapter-button-start-icon{margin-right:12px}.wallet-adapter-collapse{width:100%}.wallet-adapter-dropdown{position:relative;display:inline-block}.wallet-adapter-dropdown-list{position:absolute;z-index:99;display:grid;grid-template-rows:1fr;grid-row-gap:10px;padding:10px;top:100%;right:0;margin:0;list-style:none;background:#2c2d30;border-radius:10px;box-shadow:0 8px 20px #0009;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif}.wallet-adapter-dropdown-list-active{opacity:1;visibility:visible;transform:translateY(10px)}.wallet-adapter-dropdown-list-item{display:flex;flex-direction:row;justify-content:center;align-items:center;border:none;outline:none;cursor:pointer;white-space:nowrap;box-sizing:border-box;padding:0 20px;width:100%;border-radius:6px;font-size:14px;font-weight:600;height:37px;color:#fff}.wallet-adapter-dropdown-list-item:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-modal-collapse-button svg{align-self:center;fill:#999}.wallet-adapter-modal-collapse-button.wallet-adapter-modal-collapse-button-active svg{transform:rotate(180deg);transition:transform ease-in .15s}.wallet-adapter-modal{position:fixed;top:0;left:0;right:0;bottom:0;opacity:0;transition:opacity linear .15s;background:#00000080;z-index:1040;overflow-y:auto}.wallet-adapter-modal.wallet-adapter-modal-fade-in{opacity:1}.wallet-adapter-modal-button-close{display:flex;align-items:center;justify-content:center;position:absolute;top:18px;right:18px;padding:12px;cursor:pointer;background:#1a1f2e;border:none;border-radius:50%}.wallet-adapter-modal-button-close:focus-visible{outline-color:#fff}.wallet-adapter-modal-button-close svg{fill:#777;transition:fill .2s ease 0s}.wallet-adapter-modal-button-close:hover svg{fill:#fff}.wallet-adapter-modal-overlay{background:#00000080;position:fixed;top:0;left:0;bottom:0;right:0}.wallet-adapter-modal-container{display:flex;margin:3rem;min-height:calc(100vh - 6rem);align-items:center;justify-content:center}@media(max-width:480px){.wallet-adapter-modal-container{margin:1rem;min-height:calc(100vh - 2rem)}}.wallet-adapter-modal-wrapper{box-sizing:border-box;position:relative;display:flex;align-items:center;flex-direction:column;z-index:1050;max-width:400px;border-radius:10px;background:#10141f;box-shadow:0 8px 20px #0009;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;flex:1}.wallet-adapter-modal-wrapper .wallet-adapter-button{width:100%}.wallet-adapter-modal-title{font-weight:500;font-size:24px;line-height:36px;margin:0;padding:64px 48px 48px;text-align:center;color:#fff}@media(max-width:374px){.wallet-adapter-modal-title{font-size:18px}}.wallet-adapter-modal-list{margin:0 0 12px;padding:0;width:100%;list-style:none}.wallet-adapter-modal-list .wallet-adapter-button{font-weight:400;border-radius:0;font-size:18px}.wallet-adapter-modal-list .wallet-adapter-button-end-icon,.wallet-adapter-modal-list .wallet-adapter-button-start-icon,.wallet-adapter-modal-list .wallet-adapter-button-end-icon img,.wallet-adapter-modal-list .wallet-adapter-button-start-icon img{width:28px;height:28px}.wallet-adapter-modal-list .wallet-adapter-button span{margin-left:auto;font-size:14px;opacity:.6}.wallet-adapter-modal-list-more{cursor:pointer;border:none;padding:12px 24px 24px 12px;align-self:flex-end;display:flex;align-items:center;background-color:transparent;color:#fff}.wallet-adapter-modal-list-more svg{transition:all .1s ease;fill:#fff;margin-left:.5rem}.wallet-adapter-modal-list-more-icon-rotate{transform:rotate(180deg)}.wallet-adapter-modal-middle{width:100%;display:flex;flex-direction:column;align-items:center;padding:0 24px 24px;box-sizing:border-box}.wallet-adapter-modal-middle-button{display:block;cursor:pointer;margin-top:48px;width:100%;background-color:#512da8;padding:12px;font-size:18px;border:none;border-radius:8px;color:#fff}
