.bases-panel { position:absolute; z-index:8; right:12px; bottom:14px; width:330px; max-width:calc(100% - 24px); padding:12px; color:#e9eef5; background:#101b29f5; border:1px solid #c5a56a; border-radius:10px; box-shadow:0 8px 24px #0006; font:12px system-ui; }
.bases-panel header { display:flex; justify-content:space-between; align-items:center; color:#ffdb87; }
.bases-panel button { border:1px solid #586c80; border-radius:5px; background:#253548; color:#eef4ff; padding:8px; cursor:pointer; }
.bases-panel button:disabled { opacity:.45; cursor:not-allowed; }
.bases-panel p { margin:8px 0; } .bases-panel small { color:#b5c2d1; line-height:1.5; display:block; }
.bases-build-list { display:grid; gap:5px; margin-bottom:8px; } .bases-build-list button { display:flex; justify-content:space-between; }
.bases-production { display:flex; align-items:center; gap:14px; margin-top:12px; }
.bases-unit { width:100px; display:grid; justify-items:center; text-align:center; gap:5px; } .bases-unit img { width:70px; height:70px; object-fit:contain; }
.bases-lanes { display:flex; gap:6px; flex:1; } .bases-lanes button { flex:1; min-width:47px; } .bases-lanes strong { display:block; font-size:20px; margin-top:5px; }
.bases-lanes .on { border-color:#e8bd65; background:#57451e; color:#ffe2a0; }
.bases-eco { position:absolute; z-index:6; left:12px; bottom:14px; background:#152333ed; color:#ffd882; padding:6px 9px; border:1px solid #66748b; border-radius:5px; font:600 11px system-ui; pointer-events:none; }
.bases-node-layer { position:absolute; inset:0; pointer-events:none; z-index:4; }
.bases-node-layer button { position:absolute; top:0; left:0; pointer-events:auto; border:1px solid #7896a5; border-radius:20px; background:#172936e8; color:#e8f2fa; font:600 10px system-ui; padding:5px 9px; cursor:pointer; white-space:nowrap; }
.bases-node-layer button[data-action="amass"] { color:#ffe2a0; border-color:#f1bd57; background:#4e3c19ed; }
.bases-panel[hidden],.bases-eco[hidden],.bases-node-layer[hidden],.bases-node-layer button[hidden] { display:none; }
#stage.bases-map #squad, #stage.bases-map #autod, #stage.bases-map #towers, #stage.bases-map #rosterbtn { display:none; }
#menu.bases-menu #pauto, #menu.bases-menu #phorde, #menu.bases-menu .panel.mission, #menu.bases-menu .panel.comp { display:none; }
#bases-menu-help { padding:12px; border:1px solid #ad8a48; border-radius:8px; line-height:1.6; }
@media(max-width:780px) { .bases-panel { width:300px; bottom:8px; right:6px; } .bases-node-layer button { padding:7px 9px; } .bases-eco { bottom:8px; left:6px; max-width:calc(100% - 340px); font-size:10px; } }
