
:root {
  --bg: #0d1117;
  --panel: #161b22;
  --panel2: #1f2630;
  --text: #d7dde5;
  --muted: #97a3b4;
  --accent: #54aeff;
  --border: #2d3643;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, system-ui, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
}
.app { padding: 16px; }
.topbar {
  display: flex; justify-content: space-between; gap: 12px; align-items: start;
  margin-bottom: 14px;
}
h1 { margin: 0 0 4px 0; font-size: 28px; }
.subtitle { margin: 0; color: var(--muted); }
.layout {
  display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 14px;
}
.view-panel, .side-panel, .panel-block {
  background: var(--panel); border: 1px solid var(--border); border-radius: 16px;
}
.view-panel { padding: 12px; position: relative; }
#view { width: 100%; height: auto; border-radius: 12px; display: block; background: black; }
.overlay-help {
  position: absolute; left: 22px; bottom: 20px; font-size: 13px;
  color: rgba(255,255,255,.85); background: rgba(0,0,0,.36);
  padding: 6px 10px; border-radius: 999px;
}
.side-panel { padding: 12px; display: grid; gap: 12px; }
#minimap { width: 100%; height: auto; background: #0a0d13; border-radius: 10px; border: 1px solid var(--border); }
.panel-block { padding: 12px; }
.panel-block h2 { margin: 0 0 8px 0; font-size: 16px; }
.log {
  display: grid; gap: 8px; max-height: 220px; overflow: auto;
}
.log-entry {
  background: var(--panel2); border-radius: 10px; padding: 8px 10px; line-height: 1.35;
  border: 1px solid var(--border);
}
.meta {
  margin: 0; white-space: pre-wrap; color: #b8c2cf; font-size: 12px;
}
.pillrow { display: flex; flex-wrap: wrap; gap: 8px; }
.pill {
  background: var(--panel); border: 1px solid var(--border); color: var(--text);
  padding: 8px 10px; border-radius: 999px; font-size: 13px;
}
code { color: #9dd0ff; }
@media (max-width: 1050px) {
  .layout { grid-template-columns: 1fr; }
}
