:root{--bg:#0b0f1a;--panel:#141a2b;--panel-2:#1b2236;--border:#263150;--text:#e6ecff;--muted:#8a96b8;--accent:#5b8cff;--good:#38d39f;--warn:#ffb454}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:16px;padding:20px 28px;display:flex}header h1{letter-spacing:.3px;margin:0;font-size:20px;font-weight:600}header .sub{color:var(--muted);font-size:13px}header .updated{color:var(--muted);margin-left:auto;font-size:12px}.era-badge{color:var(--accent);background:#5b8cff2e;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.universe-canvas{background:var(--bg);cursor:grab;touch-action:none;width:100%;height:620px;display:block}.universe-canvas:active{cursor:grabbing}.map-legend{color:var(--muted);margin-left:auto;font-size:12px}.tabs{border-bottom:1px solid var(--border);background:var(--bg);gap:4px;padding:0 28px;display:flex}.tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:13px;font-weight:600;text-decoration:none}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.wrap{max-width:1200px;margin:0 auto;padding:24px 28px 60px}.tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tag{color:var(--good);font-variant-numeric:tabular-nums;background:#38d39f29;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:12px}.card .value{margin-top:6px;font-size:26px;font-weight:650}.card .value.credits{color:var(--good)}.card .value.networth{color:var(--accent)}section{margin-top:28px}section h2{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin:0 0 12px;font-size:15px;font-weight:600}.section-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-head h2{margin:0}.toggle{background:var(--panel-2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:5px 14px;font-size:12px;font-weight:600}.toggle:hover{border-color:var(--accent)}.chartbox{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px 12px 8px}.note{color:var(--muted);padding:0 6px 10px;font-size:12px;line-height:1.5}.note strong{color:var(--text);font-weight:600}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:13px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}tr:last-child td{border-bottom:none}td.mono,th.mono{font-variant-numeric:tabular-nums}.pill{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.pill.DOCKED{color:var(--accent);background:#5b8cff2e}.pill.IN_ORBIT{color:var(--good);background:#38d39f2e}.pill.IN_TRANSIT{color:var(--warn);background:#ffb4542e}.select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.select:hover{border-color:var(--accent)}.market-card{text-align:left;cursor:pointer;color:var(--text);font:inherit;transition:border-color .12s}.market-card:hover{border-color:var(--accent)}.market-card.selected{border-color:var(--accent);background:var(--panel-2)}tr.row-click{cursor:pointer}tr.row-click:hover td{background:var(--panel-2)}tr.row-selected{cursor:pointer}tr.row-selected td{background:#5b8cff1f}.bar{background:var(--panel-2);vertical-align:middle;border-radius:6px;width:90px;height:6px;display:inline-block;overflow:hidden}.bar>span{height:100%;display:block}
