/* 地图场景 */
#map-scene { position:relative; }
#map-container { flex:1; z-index:1; }

/* 用户位置标记 */
.user-dot {
  width:16px; height:16px; border-radius:50%;
  background:#4488ff; border:3px solid #fff;
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  box-shadow: 0 0 10px #4488ff88;
}
.user-pulse {
  width:40px; height:40px; border-radius:50%;
  background:rgba(68,136,255,0.2);
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0% { transform:translate(-50%,-50%) scale(0.5); opacity:1; }
  100% { transform:translate(-50%,-50%) scale(2); opacity:0; }
}

/* 妖灵标记 */
.monster-icon {
  width:48px; height:48px; border-radius:50%;
  background:rgba(0,0,0,0.6);
  border:2px solid;
  display:flex; align-items:center; justify-content:center;
  animation: monsterBob 2s ease-in-out infinite;
}
.monster-emoji { font-size:24px; }
.monster-name-tag {
  position:absolute; bottom:-18px; left:50%; transform:translateX(-50%);
  font-size:10px; white-space:nowrap; font-weight:bold;
  text-shadow: 0 1px 3px #000;
}
@keyframes monsterBob {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-4px); }
}

/* 地图顶部信息 */
.map-top-bar {
  position:absolute; top:0; left:0; right:0; z-index:10;
  padding:12px 16px;
  background:linear-gradient(180deg, rgba(10,10,26,0.9) 0%, transparent 100%);
  display:flex; justify-content:space-between; align-items:center;
}
.map-top-bar h2 {
  font-size:16px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.map-stats { font-size:12px; color:var(--text2); }
.map-stats span { margin-left:12px; }
