:root {
  --grid: rgba(255,255,255,.06);
}

.map-shell { display: grid; grid-template-columns: 360px 1fr; gap: 12px; }
.map-controls summary { font-weight: 800; margin-bottom: 8px; cursor: pointer; }
.map-controls .row { display: grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: center; margin-bottom: 10px; }
.map-controls .row.small { grid-template-columns: 1fr; }
.map-stage { position: relative; height: 70vh; }
#map { width: 100%; height: 100%; display: block; background: radial-gradient(1200px 800px at 120% -20%, #102035, transparent), radial-gradient(900px 600px at -10% -20%, #0d1a2b, transparent), #0b0d10; border: 1px solid #273248; border-radius: 10px; }

/* HUD text */
#hud { color: var(--muted); }

/* PDS feed overlay */
.pds-feed { position: absolute; right: 12px; top: 12px; width: 360px; height: calc(100% - 24px); background: rgba(15,18,24,.9); border: 1px solid #273248; border-radius: 10px; display: grid; grid-template-rows: max-content 1fr; overflow: hidden; }
.pds-feed .close-feed { position: absolute; top: 4px; right: 4px; background: none; border: 0; color: var(--muted); font-size: 20px; cursor: pointer; }
.pds-feed .feed-head { display: flex; gap: 8px; align-items: baseline; padding: 8px 10px; border-bottom: 1px solid #273248; }
.pds-feed .title { font-weight: 800; }
.pds-feed .host { color: var(--muted); }
.feed-log { margin: 0; padding: 10px; overflow: auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell; font-size: 13px; }
.feed-section { margin-bottom: 10px; }
.feed-section summary { font-weight: 800; margin-bottom: 6px; cursor: pointer; }
.lex-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lex-tag { padding: 4px 8px; border-radius: 999px; background: #1a2536; border: 1px solid #273248; font-weight: 700; font-size: 12px; }
.feed-list { display: grid; gap: 8px; }
.feed-item { background: #0f1218; border: 1px solid #273248; border-radius: 8px; padding: 8px; }
.feed-item .meta { display: flex; gap: 8px; color: var(--muted); font-size: 12px; margin-bottom: 4px; }
.feed-item .link { color: var(--accent); text-decoration: none; }

.hover-tip { position: absolute; pointer-events: none; background: rgba(20,25,34,.95); border: 1px solid #273248; color: var(--text); border-radius: 8px; padding: 4px 8px; font-size: 12px; transform: translate(8px, -24px); }

@media (max-width: 820px) {
  .map-shell { grid-template-columns: 1fr; }
  .map-stage { height: 66vh; }
  .pds-feed { width: calc(100% - 24px); right: 12px; left: 12px; }
}
