/**
 * @file src/ui/styles/map.css
 * @description The player's map (SPEC-REALM-019 §3, wired by #227).
 *
 * ABSENCE IS THE MECHANIC, so there is nothing here that could reintroduce a
 * grey box. `buildMapView` leaves an unknown place out of the projection
 * entirely and `MapPanel` has no branch that could draw one — wave A's whole
 * point is that the player is never shown the shape of what they have not
 * found. A stylesheet is the last place that could quietly undo it, with a
 * placeholder row or a count of hidden entries, so neither exists below.
 *
 * The one thing that IS marked is uncertainty: a place reported but not seen
 * reads differently from one the party has stood in, because "they told me it
 * is north" and "I have been there" are different claims and the player is
 * entitled to both.
 */

.map-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  font-family: var(--font-body);
}

.map-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.map-heading {
  margin: 0;
  font-family: var(--font-stats);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-accent);
}

.map-sites,
.map-places {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.map-site,
.map-place {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 5px 8px;
  border-radius: 4px;
  border: 1px solid transparent;
  background: var(--bg-surface-elevated);
  font-size: 13px;
  color: var(--text-secondary);
}

.map-site-name,
.map-place-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Where the party is standing. */
.map-site.is-here,
.map-place.is-here {
  border-color: var(--border-active);
  box-shadow: var(--glow-arcane);
  color: var(--text-primary);
  font-weight: 600;
}

/*
 * Reported, not seen. Dimmer and italic rather than hidden: the player KNOWS of
 * this place, and how they know is the distinction wave A exists to draw. This
 * is not the grey box — a place they have never heard of is not here at all.
 */
.map-place.is-uncertain {
  border-style: dashed;
  border-color: var(--border-subtle);
  font-style: italic;
  color: var(--text-muted);
}

.map-place-note {
  font-family: var(--font-stats);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-gold);
}

.map-site-count,
.map-place-exits {
  font-family: var(--font-stats);
  font-size: 11px;
  color: var(--text-muted);
}

.map-empty,
.map-legend {
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
  color: var(--text-muted);
}

.map-legend {
  padding-top: 2px;
  border-top: 1px solid var(--border-subtle);
}
