.friends-page { min-height: 100vh; background: #ffffff; display: flex; flex-direction: column; } .navbar { display: flex; align-items: center; padding-left: 28rpx; flex-shrink: 0; box-sizing: border-box; } .subbar { display: flex; align-items: center; padding: 8rpx 28rpx 12rpx; gap: 20rpx; flex-shrink: 0; } .topbar-logo { font-size: 46rpx; font-weight: 800; letter-spacing: -0.5rpx; color: #2b2438; } .logo-accent { background: linear-gradient(120deg, #ff2d6e, #ff7a1a); -webkit-background-clip: text; background-clip: text; color: transparent; } .topbar-tabs { flex: 1; display: flex; gap: 6rpx; } .ftab { font-size: 28rpx; font-weight: 700; color: #a59cb5; padding: 10rpx 20rpx; border-radius: 999rpx; } .ftab-active { color: #ff2d6e; background: rgba(255, 45, 110, 0.12); font-weight: 900; } .ftab-count { font-size: 22rpx; font-weight: 800; } .topbar-btn { width: 64rpx; height: 64rpx; border-radius: 26rpx; background: linear-gradient(135deg, #ff2d6e, #ff7a1a); color: #fff; font-size: 40rpx; font-weight: 200; display: flex; align-items: center; justify-content: center; box-shadow: 0 12rpx 24rpx rgba(255, 45, 110, 0.30); } /* 空态 */ .empty-wrap { flex: 1; display: flex; align-items: center; justify-content: center; } .empty-inner { display: flex; flex-direction: column; align-items: center; gap: 18rpx; padding: 48rpx 60rpx; text-align: center; } .empty-emoji { font-size: 64rpx; color: #8b5cf6; background: var(--glass); backdrop-filter: blur(28rpx) saturate(170%); -webkit-backdrop-filter: blur(28rpx) saturate(170%); border: 1rpx solid var(--glass-edge); border-radius: 40rpx; padding: 28rpx; box-shadow: var(--shadow-soft); } .empty-title { font-size: 34rpx; font-weight: 900; color: #2b2438; } .empty-desc { font-size: 26rpx; color: #6e6480; text-align: center; line-height: 1.6; } .go-btn { margin-top: 12rpx; padding: 22rpx 60rpx; font-size: 26rpx; font-weight: 800; border: 1.5rpx solid rgba(255, 255, 255, 0.7); background: linear-gradient(135deg, #ff2d6e, #8b5cf6); box-shadow: 0 18rpx 36rpx rgba(139, 92, 246, 0.32); } /* 好友列表 */ .friends-scroll { flex: 1; } .friend-item { display: flex; align-items: center; gap: 20rpx; padding: 22rpx; margin: 0 28rpx 20rpx; background: var(--glass); backdrop-filter: blur(28rpx) saturate(170%); -webkit-backdrop-filter: blur(28rpx) saturate(170%); border: 1rpx solid var(--glass-edge); border-radius: 44rpx; box-shadow: var(--shadow-soft), inset 0 1rpx 0 rgba(255, 255, 255, 0.6); } .friend-avatar { width: 92rpx; height: 92rpx; border-radius: 32rpx; display: flex; align-items: center; justify-content: center; font-size: 36rpx; font-weight: 800; color: rgba(43, 36, 56, 0.72); border: 3rpx solid rgba(255, 255, 255, 0.8); flex-shrink: 0; } .friend-info { flex: 1; min-width: 0; } .friend-name-row { display: flex; align-items: center; gap: 12rpx; margin-bottom: 6rpx; } .friend-name { font-size: 28rpx; font-weight: 800; color: #2b2438; } .online-tag { font-size: 20rpx; font-weight: 800; color: #00a87a; background: rgba(0, 217, 160, 0.14); border-radius: 999rpx; padding: 4rpx 12rpx; } .friend-bio { font-size: 24rpx; color: #a59cb5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; } .follow-btn { background: linear-gradient(135deg, #ff2d6e, #ff7a1a); color: #fff; border: 1.5rpx solid rgba(255, 255, 255, 0.7); border-radius: 999rpx; padding: 14rpx 28rpx; font-size: 24rpx; font-weight: 800; flex-shrink: 0; box-shadow: 0 12rpx 24rpx rgba(255, 45, 110, 0.28); transition: transform 0.18s ease; } .follow-btn:active { transform: scale(0.94); } .follow-btn.following { background: rgba(255, 255, 255, 0.55); border: 1rpx solid rgba(43, 36, 56, 0.12); color: #a59cb5; box-shadow: none; }