.dorf-field-node img.dorf-tier-overlay,
.dorf-building-node img.dorf-tier-overlay,
.field-atlas__slot img.dorf-tier-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: 1;
  object-fit: contain;
  filter: none;
  pointer-events: none;
}

.dorf-field-node:hover img.dorf-tier-overlay,
.dorf-building-node:hover img.dorf-tier-overlay,
.field-atlas__slot:hover img.dorf-tier-overlay {
  transform: none;
  filter: none;
}

/* Interim massing cue: preserve each source sprite while its on-map size grows. */
.dorf-field-node > img:not(.dorf-tier-overlay),
.dorf-building-node > img:not(.dorf-tier-overlay),
.field-atlas__slot > img:not(.dorf-tier-overlay) {
  transform-origin: 50% 85%;
}

.dorf-field-node[data-visual-tier="foundation"] > img:not(.dorf-tier-overlay),
.dorf-building-node[data-visual-tier="foundation"] > img:not(.dorf-tier-overlay),
.field-atlas__slot[data-visual-tier="foundation"] > img:not(.dorf-tier-overlay) { transform: scale(.78); }
.dorf-field-node[data-visual-tier="established"] > img:not(.dorf-tier-overlay),
.dorf-building-node[data-visual-tier="established"] > img:not(.dorf-tier-overlay),
.field-atlas__slot[data-visual-tier="established"] > img:not(.dorf-tier-overlay) { transform: scale(.9); }
.dorf-field-node[data-visual-tier="advanced"] > img:not(.dorf-tier-overlay),
.dorf-building-node[data-visual-tier="advanced"] > img:not(.dorf-tier-overlay),
.field-atlas__slot[data-visual-tier="advanced"] > img:not(.dorf-tier-overlay) { transform: scale(1); }
.dorf-field-node[data-visual-tier="landmark"] > img:not(.dorf-tier-overlay),
.dorf-building-node[data-visual-tier="landmark"] > img:not(.dorf-tier-overlay),
.field-atlas__slot[data-visual-tier="landmark"] > img:not(.dorf-tier-overlay) { transform: scale(1.1); }

.field-atlas__slot .field-atlas__level {
  top: auto;
  left: auto;
  right: 5px;
  bottom: 4px;
  color: var(--amber);
  font-weight: 700;
}

.dorf-field-empty {
  position: relative;
  z-index: 1;
  max-width: 60px;
  color: var(--cyan);
  font: 700 0.6rem var(--font-ui);
  text-align: center;
  text-shadow: 0 1px 3px #000;
  pointer-events: none;
}

#dorf2-wall-perimeter[data-visual-tier="empty"] .dorf2-wall-polygon {
  stroke: #7c94a1;
  stroke-dasharray: 12 8;
  fill: transparent;
}

#dorf2-wall-perimeter[data-visual-tier="established"] .dorf2-wall-polygon {
  stroke-width: 4;
  stroke: #63d8e6;
}

#dorf2-wall-perimeter[data-visual-tier="advanced"] .dorf2-wall-polygon {
  stroke-width: 5;
  stroke: #8ce8f2;
}

#dorf2-wall-perimeter[data-visual-tier="landmark"] .dorf2-wall-polygon {
  stroke-width: 6;
  stroke: #f7d788;
  filter: drop-shadow(0 0 9px rgba(247, 215, 136, .8));
}
