:root{
  --bg:#0f1115;
  --panel:#151a22;
  --panel2:#10141b;
  --text:#e7eaf0;
  --muted:#9aa3b2;
  --line:#253044;
  --accent:#6aa6ff;
  --danger:#ff5a6f;
  --good:#7bffb0;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
}

#app{min-height:100%; display:flex; flex-direction:column}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, #121622, #0f1115);
}
.brand{font-weight:700; letter-spacing:.2px}
.topbar-right{display:flex; gap:12px; align-items:center}
.link{color:var(--muted); text-decoration:none}
.link:hover{color:var(--text)}

.main{flex:1; display:grid; grid-template-columns: 340px 1fr; gap:12px; padding:12px}
.left{min-width:320px}
.center{position:relative}

.panel{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.panel-title{margin:10px 0 6px; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em}
.status{font-variant-numeric: tabular-nums; line-height:1.4}
.unitInfo{font-variant-numeric: tabular-nums; line-height:1.4; color:var(--text)}
.help{margin:8px 0 0 18px; color:var(--muted); padding:0}
.help li{margin:6px 0}

.canvasWrap{
  background:var(--panel2);
  border:1px solid var(--line);
  border-radius:12px;
  height:100%;
  overflow:hidden;
  position:relative;
}
#game{display:block; width:100%; height:100%}

.overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,17,21,.82);
  backdrop-filter: blur(6px);
  z-index:10;
}
.overlay-card{
  width:min(560px, calc(100% - 24px));
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.overlay-card h1{margin:0 0 8px; font-size:22px}
.overlay-card p{margin:8px 0; color:var(--muted); line-height:1.5}
.row{display:flex; gap:10px; margin:12px 0 6px}

.btn{
  appearance:none;
  border:1px solid var(--line);
  background:#0e1320;
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  font-weight:600;
}
.btn:hover{border-color:#3b4b67}
.btn:active{transform: translateY(1px)}
.btn.primary{background:rgba(106,166,255,.14); border-color:rgba(106,166,255,.35)}

.tacticalActions{margin-top:10px}
.hidden{display:none}
.small{font-size:12px}

.footer{
  padding:10px 16px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
}
