.profile-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: 1000; display: flex; flex-direction: column; justify-content: flex-end; } .profile-sheet { background: #FFFFFF; border-radius: 32rpx 32rpx 0 0; padding-bottom: env(safe-area-inset-bottom); animation: slideUp 0.3s ease; max-height: 85vh; overflow-y: auto; display: flex; flex-direction: column; } @keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } } .profile-header { display: flex; align-items: center; justify-content: center; padding: 32rpx; position: relative; border-bottom: 1rpx solid #F5F5F5; flex-shrink: 0; } .profile-title { font-size: 32rpx; font-weight: 600; color: #1A1A1A; } .profile-close { position: absolute; right: 32rpx; top: 50%; transform: translateY(-50%); padding: 8rpx; } .profile-body { padding: 0 32rpx; flex: 1; overflow-y: auto; } .profile-item { display: flex; align-items: center; justify-content: space-between; min-height: 100rpx; border-bottom: 1rpx solid #F5F5F5; } .profile-item-avatar { justify-content: space-between; } .profile-item-last { border-bottom: none; } .profile-label { font-size: 30rpx; color: #1A1A1A; font-weight: 500; flex-shrink: 0; margin-right: 24rpx; } .profile-input { flex: 1; text-align: right; font-size: 30rpx; color: #1A1A1A; } .picker { flex: 1; text-align: right; font-size: 30rpx; color: #666666; } .profile-value { font-size: 30rpx; color: #666666; } .profile-avatar-wrap { display: flex; align-items: center; gap: 16rpx; } .profile-avatar { width: 96rpx; height: 96rpx; border-radius: 50%; background: #F5F5F5; } .profile-sex-wrap { display: flex; gap: 20rpx; } .profile-sex-tag { padding: 10rpx 48rpx; border-radius: 8rpx; background: #F5F5F5; } .profile-sex-tag-active { background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%); } .profile-sex-text { font-size: 28rpx; color: #666666; } .profile-sex-tag-active .profile-sex-text { color: #FFFFFF; } .profile-footer { padding: 4rpx 32rpx 48rpx; flex-shrink: 0; } .profile-save-btn { background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%); color: #FFFFFF; font-size: 30rpx; font-weight: 600; padding: 28rpx; border-radius: 20rpx; border: none; line-height: 1.5; } .profile-save-btn::after { border: none; }